- Alice verschlüsselt Daten mit 128bit, symmetrisch
(16Byte)
- Gegeben : Datei plainfile.txt und 16Byte
("abcdabcdabcdabcd") als Symmetrischer
Schlüssel
Verwendet : blowfish - Verschlüsselung im
CBC-Mode ( -bf )
openssl enc -e -bf -k "abcdabcdabcdabcd" -in plainfile.txt -out cipherfile.xtx
Streng gesehen wird aus der Zeichenkette
"abc..." erst ein 128-Schlüssel
erzeugt.
Die Zeichenkette kann auch kürzer oder länger
als 16 Byte sein.
Sie ist nicht der Schlüssel, wird aber wie
ein Schlüssel verwendet.
- Alice verschlüsselt den Symmetrischen Schlüssel
mit Bobs publickey
- Gegeben : Symmetrischer Schlüssel, 128 bit
( 16Byte), Bobs publickey bob_pub.pem
openssl rsautl -encrypt -pubin -in plain.key -inkey testpub.pem -out crypt.key
-encrypt : es wird verschlüsselt
-pubin : es wird mit einem öffentlichen
Schlüssel
verschlüsselt (-inkey)
-in : enthält den sym. Schlüssel im Klartext
(plain.key), STDIN-Eingabe möglich.
- Alice sendet Daten und den verschlüsselten
symmetrischen Schlüssel an Bob
- Übermittelt werden Dateien cipherfile.xtx
und crypt.key
- Bob entschlüsselt den symmetrischen Schlüssel
mit seinem privatekey
- Gegeben : Verschlüsselter sym. Schlüssel
(crypt.key) , Bobs privatekey
openssl rsautl -decrypt -in crypt.key -inkey bob_priv.pem -out plain.key
Der symmetrische Schlüssel liegt jetzt
im
Klartext in der Datei plain.key bei Bob
- Bob entschlüsselt die Daten mit dem symmetrischen
Schlüssel
- Gegeben : Verschlüsselte Daten in Datei cipherfile.xtx,
sym. Schlüssel in Datei plain.key
openssl enc -d -bf -kfile plain.key -in cipherfile.xtx -out plainfile.txt
Der Klartext liegt jetzt in der Datei plainfile.txt
vor
- Was übermittelt wird
- Dateien :
Die Datei cipherfile.xtx, die mit einem 128-bit
Schlüssel symmetrisch Verschlüsselt wurde
Die Datei crypt.key, die mit Bobs publickey
verschlüsselt wurde und nur mit seinem privatekey
entschlüsselt werden kann.
Übermittelt werden
- Informationen :
Das Verschlüsselungsverfahren ( hier
: Blowfish
CBC )
Die Schlüsselllänge ( es gibt Verfahren mit
variabler Schlüssellänge z.B. AES-Rijndael
)
- Bemerkung
- Der gezeigte Mechanismus beschränkt sich
auf die Schlüsselübergabe.
Um die Integrität der Daten zu gewährleisten,
kann ein Digest verwendet werden.
Um die Authentizität der Daten zu gewährleisten,
kann Alices privatekey verwendet werden
und
ihr publickey muß Bob bekannt sein.