H09 Determistische Verschlüsselung mit Tink und AAD-Daten mit einer Datei

Als ich auf der Google Tink-Projektseite auf Github von der „Determistischen Verschlüsselung“ gelesen hatte war mir klar – das hatte ich bislang noch nicht benutzt. Das Besondere an dieser Sonderform der symmetrischen Verschlüsselung ist, dass ein gleicher Plaintext bei demselben Schlüssel stets denselben Ciphertext ergibt, was zum Beispiel bei Datenbankanwendungen sinnvoll sein kann.

Da die Umstellung des „normalen“ symmetrischen Verfahrens auf die determistische Veriante aber nur ein paar Klicks bedeutete stelle ich diese Besonderheit hier vor.

Bitte beachtet, dass dieses Beispiel nur für Dateien bis zu einer Größe von 1 Megabyte genutzt werden sollte, da die gesamte (komplette) Datei in den Programmspeicher geladen wird, was insbesondere bei der späteren Entschlüsselung für Probleme und Kummer sorgen kann.

Bitte die nachfolgende Routine nur nach einer gründlichen Überprüfung für den Echteinsatz nutzen. Aus kryptographischer Sicht dürfte sie für viele Einsatzgebiete nutzbar sein.

Wie bei den anderen Verfahren auch zeige ich Euch hier die Konsolenausgabe:

Alle Quellcodes zu Google Tink findet Ihr zum Download in meinem Github-Repository, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/H-Google-Tink. Alle Programme sind sowohl unter Java 8 als auch unter Java 11 lauffähig.

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

Letzte Aktualisierung: 28.01.2019