Versteht hier jemand Kali linux?
Aufgabe: Erzeugen Sie sich eine Textdatei ” plain.txt“ mit Ihrem Namen und Studienfach und verschlüsseln Sie diese mittels RSA zur Datei ” cipher.bin“. Entschlüsseln Sie anschließend die Datei und vergleichen Sie den Klartext mit der ursprünglichen Textdatei.
Wieso kommt hier ein Error raus ? habe ich da etwas falsch gemacht ? Was ist hier mein Fehler ? Ich kriege es irgendwie nicht hin..
6 Antworten
-decrypt
Wird wohl was machen?
openssl rsautl -help
Könnte Dir eine Hilfe sein.
cipher.bin befindet sich offensichtlich nicht in deinem home-folder. Du musst also den korrekten Dateipfad für die Eingabe angeben.
Versuch mal "openssl rsautl -decrypt -inkey rsaprivkey.pem -in plain.txt -out cipher.bin"
Sieht so aus also ob du input und output irgendwie verwechselt hast.
Mir ist grad aufgefallen du verwendest -decrypt. Aber willst du nicht zuerst es encrypten? Dafür brauchst du -encrypt. Du kannst alle optionen ansehen mit "openssl rsautl --help"
Hab es gerade selber probiert. Mit diesen Commands funktioniert es:
Encrypt: "openssl rsautl -encrypt -inkey rsaprivkey.pem -in plain.txt -out cipher.bin"
Decrypt: "openssl rsautl -decrypt -inkey rsaprivkey.pem -in cipher.bin -out plain2.txt"
ES HAT FUNKTIONIERT !!! VIELEN VIELEN DANK WAR SEHR HILFREICH!!! :)
Überlege dir am besten als erstes auf, was der Befehl, den du eingegeben hast, überhaupt bedeutet. Schreib das auf. Dann schaue dir die Fehlermeldung an, und überlege, was die bedeutet. Schreibe auch das auf. Zum Beispiel unter diesen Kommentar, dann kann ich dir sagen, ob du das richtig verstehst, oder nicht.
Du hast in dem openssl Befehl die Attribute für -in und -out vertauscht.
Versuch es mal indem du vorher: "openssl rsautl -encrypt -inkey rsaprivkey.pem -in plain.txt -out cipher.bin" machst
Das sieht aber generell richtig aus (wegen decrypt, er scheint die Datei nicht zu encrypten wollen)
Stimmt, das habe ich wohl überlesen. Jetzt macht auch plain2.txt mehr Sinn :D
Das geht aber erst, wenn die verschlüsselte Datei da ist - das ist offensichtlich nicht der Fall.
Jup das hab ich auch schon bemerkt... Ich sage ja GENERELL ist es richtig, also der Befehl
Das ist wohl eine philosophische Frage, ob ein Befehl der etwas anderes tut als man eigentlich will, richtig ist.
Naja: Ein Computer tut immer das was man ihm aufträgt. Wenn du ihm sagst: Verschlüssele die Datei, dann versucht er es auch. Wenn sie nicht da ist, dann ist es nicht sein Problem (bzw. er gibt einen Fehler aus)
Mit der Argumentation ist jeder Befehl richtig. Auch sowas wie "sudo aösldkfjaöaösldkf"
Nein nach der Argumentation liegt der Fehler nie beim Computer selbst
Wenn die Syntax nicht stimmt ^^ Wenn du dem Computer einen unausführbaren Befehl gibst, welcher die Syntax beachtet und eigentlich korrekt wäre, dann ist es nicht direkt falsch
Was bedeutet es denn, wenn die Syntax nicht stimmt? Dann gibt es in keinem Ordner, der sich in PATH befindet ein Programm, dass mit der Syntax klar kommt. Essentiell ist das das selbe, was auch jetzt passiert ist.
Ich meine den Aufbau des Befehles, wenn der nicht stimmt, dann ist es ein Fehler
"openssl rsautl -encrypt -inkey rsaprivkey.pem -in plain.txt -out cipher.bin" der wäre richtig und ein fehler wäre:
"openssl rsautl -inkey rsaprivkey.pem -in plain.txt -out cipher.bin -encrypt" z.B.
Und wenn ich jetzt openssl gegen ein Programm ausgetauscht hätte, das mit dem Input klar kommt?
Genau. Deshalb meine ich ja, dass es schwierig ist, einen "korrekten Befehl" so zu definieren.
Ist auch egal ^^ Ich denke wir brauchen hier keine definition
Nein leider geht es immernoch nicht.. da kommt immernoch ein Error raus..