Wie kann ich eine Zeichenfolge in der Shell verschlüsseln?


20

Kann ich eine Nachricht (Zeichenfolge) mit einem öffentlichen Schlüssel an der Eingabeaufforderung verschlüsseln? Wie kann ich das Ergebnis anschließend entschlüsseln?

Antworten:


28

Eine andere Option ist openssl:

# generate a 2048-bit RSA key and store it in key.txt
openssl genrsa -out key.txt 2048

# encrypt "hello world" using the RSA key in key.txt
echo "hello world" | openssl rsautl -inkey key.txt -encrypt >output.bin

# decrypt the message and output to stdout
openssl rsautl -inkey key.txt -decrypt <output.bin

+1 für OpenSSL, da es häufiger als
Doug Harris

Das ist perfekt - funktioniert auf Mac, Alpine, irgendetwas ... gute Arbeit!
Jeremy Iglehart

Ja, wie wäre es mit einem Beispiel, bei dem keine Datei, sondern ein Argument verwendet wird?
Alexander Mills

11

Wenn Sie gpginstalliert haben, handelt es sich um eine Verschlüsselungsmethode für den industriellen Einsatz.

gpg --encrypt -r recipient@example.com> tempfile

Geben Sie Daten in die Konsole ein und drücken Sie Ctrl+D, um den Text zu beenden. Dadurch erhalten Sie verschlüsselte Daten in tempfile. Zum Entschlüsseln:

gpg --decrypt <tempfile

Sie benötigen die Passphrase recipient@example.com, um die Nachricht zu entschlüsseln.


OK, wenn die Passphrase interaktiv eingegeben werden muss, wie geht das nicht interaktiv? Wie geht das nicht interaktiv?
Alexander Mills

gpg --encrypt -r recipient@example.com >tempfile gpg: error retrieving 'recipient@example.com' via WKD: No data gpg: recipient@example.com: skipped: No data gpg: [stdin]: encryption failed: No data (Ich bin auf einem Mac)
Alexander Mills

5
  1. Generieren Sie ein privates / öffentliches Schlüsselpaar

    $ openssl genrsa -out rsa_key.pri 2048; openssl rsa -in rsa_key.pri -out rsa_key.pub -outform PEM -pubout
    
  2. Verschlüsseln Sie die Zeichenfolge mit dem öffentlichen Schlüssel und speichern Sie sie in einer Datei

    $ echo "stockexchange.com" | openssl rsautl -encrypt -inkey rsa_key.pub -pubin -out secret.dat
    
  3. Mit privatem Schlüssel entschlüsseln

    $ string=`openssl rsautl -decrypt -inkey rsa_key.pri -in secret.dat `; echo $string
    stockexchange.com
    

4

Mann Gruft (1)

Hinweis:

Krypta implementiert eine Einrotor-Maschine, die nach dem Vorbild der deutschen Rätsel entwickelt wurde, aber einen Rotor mit 256 Elementen hat. Angriffsmethoden auf solche Maschinen sind allgemein bekannt, daher bietet die Krypta nur minimale Sicherheit.

Aber zu Demonstrationszwecken ist es in Ordnung.


"Oracle Solaris 10 8/11 Information Library"
Sebas
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.