Der AES-KEYWRAP KAT beinhaltet diverse Testdateien für den „AES Keywrapping Mode“ („AES KEYWRAP“) Modus, getrennt nach Verschlüsselung („KW_AE.txt“) und Entschlüsselung („KW_AD.txt“) und das Ganze in den Versionen 128, 192 und 256 Bit Schlüssellänge. Ihr erhaltet die Dateien über den Link https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/mac/kwtestvectors.zip. Erläuterungen findet Ihr im PDF-Dokument https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/mac/KWVS.pdf.
Zum besseren Verständnis des Testablaufes empfehle ich Euch, einen Blick in den Artikel KAT Erläuterungen hineinzuschauen. Weiterhin solltet Ihr vor den Tests die verfügbaren Block Cipher Algorithmen mit dem kleinen Programm in Block Cipher Algorithms ermitteln.
In diesem Beitrag zeige ich Euch nur die Ergebnisse der Tests an. Ich habe die „verbose“-Variable auf „false“ gesetzt.
Dieser Test hat die Besonderheit, das bei der Entschlüsselung einige Datensätze bewußt ein falsches Ergebnis liefern – diese Datensätze führe ich unter der Spalte „exp. failed“ („erwarteter Fehler“) auf. Unter dieser Prämisse wurden alle Tests von OpenJava 11 korrekt durchgeführt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
AES Keywrap Known Answer Test (KAT) for information see: https://csrc.nist.gov/Projects/cryptographic-algorithm-validation-program/CAVP-TESTING-BLOCK-CIPHER-MODES for tests see: https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/mac/KWVS.pdf get the testfiles: https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/mac/kwtestvectors.zip Test on 02.06.2020 10:38:21 with Java version: 11.0.6+8-b520.43 testing filename: kat/block_cipher/keywrap/KW_AE_128.txt readLines: 2516 header lines: 4 nr of test vectors: 500 testing the data ... Test results filename tests passed exp.failed failed kat/block_cipher/keywrap/KW_AE_128.txt 500 500 0 0 kat/block_cipher/keywrap/KW_AD_128.txt 500 400 100 100 kat/block_cipher/keywrap/KW_AE_192.txt 500 500 0 0 kat/block_cipher/keywrap/KW_AD_192.txt 500 400 100 100 kat/block_cipher/keywrap/KW_AE_256.txt 500 500 0 0 kat/block_cipher/keywrap/KW_AD_256.txt 500 400 100 100 |
Alle Quellcodes und die dazu gehörenden Testdateien zu den Known Answer Tests findet Ihr zum Download in meinem GitHub-Repository Known_Answer_Tests, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/Known_Answer_Tests. Alle Programme sind unter Java 11 lauffähig (vermutlich auch unter Java 8) und wurden mit intelliJ IDEA entwickelt, welches für dieses Programm aber nicht notwendig ist.
Noch ein Wort zum Thema „Lizenz“: Die von mir erstellten Beispiele stehen unter der „Unlicense“-Lizenz.
Letzte Bearbeitung: 02.06.2020