B09 AES Modus CBC PKCS5Padding Zufalls-Initvektor Datei

Da die verschlüsselten Daten sehr häufig per Mail oder eine Webseite verschickt werden oder die Datenmenge größer ist, ist die Verschlüsselung einer ganzen Datei wünschenswert. Das nachfolgende Beispiel zeigt Euch, wie Ihr das mit der bekannten Methode aus Beispiel B08 hin bekommt.

Noch ein kleiner aber wichtiger Hinweis: damit der Empfänger der verschlüsselten Nachricht diese auch entschlüsseln kann, benötigt er neben dem Passwort auch den genutzten Initialisierungsvektor (iV). Dieser ist (im Gegensatz zum Passwort) aber nicht geheim und kann somit zusammen mit den verschlüsselten Daten verschickt werden.

Zum Test solltet Ihr eine einfache Textdatei mit dem Namen „b09_test.txt“ anlegen, welche Ihr z.B. hier herunterladen könnt. Im Beispiel B05 ist beschrieben, wo die Datei in Eclipse liegen sollte.

Ich empfehle Euch den ergänzenden Blick in die 2. Seite, denn dort wird gezeigt, wie der Initialisierungsvektor mit in der verschlüsselten Datei gespeichert und bei der Entschlüsselung wieder eingelesen wird – das erspart Euch die mühevolle und fehlerträchtige manuelle Weitergabe des Initialisierungsvektors.

Hier der Steckbrief des Verfahrens:

Verschlüsselungssteckbrief
Name des Verfahrens AES/CBC/PKCS5PADDING
Langname CBC Cipher Block Chaining
Art der Chiffre Blockchiffre
Blocklänge (Byte) 16
Schlüssellänge (Byte/Bit) 16/128, 24/192, 32/256
Padding genutzt Ja
Sicherheit sicher bei Nutzung von unterschiedlichen Initialvektoren
Besonderes Benötigt einen Initialvektor, der als Zufallszahl erzeugt wird.

Bitte die nachfolgende Routine nicht für den Echteinsatz nutzen, da sie aus kryptographischer Sicht sehr angreifbar ist !

Die Konsole gibt Euch diese Ausgaben (bitte dran denken: der Initialisierungsvektor ist eine Zufallszahl, daher werden Eure Daten etwas anders aussehen als auf dem Screenshot:

Nun noch die Variante mit Nutzung von Methoden.
Bitte die nachfolgende Routine nicht für den Echteinsatz nutzen, da sie aus kryptographischer Sicht sehr angreifbar ist !

Die Lizenz zum obigen Beispiel findet Ihr auf der eigenen Lizenz-Seite.

Letzte Aktualisierung: 07.11.2018