[Cryptech-Commits] [core/util/keywrap] 09/95: Added a simple test case to verify that the aes model is usable.

git at cryptech.is git at cryptech.is
Wed Mar 25 17:18:08 UTC 2020


This is an automated email from the git hooks/post-receive script.

paul at psgd.org pushed a commit to branch master
in repository core/util/keywrap.

commit 8ee29132119363711d4ffb1e0a7bf119e6392f26
Author: Joachim Strömbergson <joachim at secworks.se>
AuthorDate: Tue Jun 26 16:34:52 2018 +0200

    Added a simple test case to verify that the aes model is usable.
---
 src/model/aes.py     |  4 ++--
 src/model/keywrap.py | 26 ++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/src/model/aes.py b/src/model/aes.py
index 848ca85..86741c0 100755
--- a/src/model/aes.py
+++ b/src/model/aes.py
@@ -49,8 +49,8 @@ import sys
 #-------------------------------------------------------------------
 # Constants.
 #-------------------------------------------------------------------
-VERBOSE = True
-DUMP_VARS = True
+VERBOSE = False
+DUMP_VARS = False
 
 AES_128_ROUNDS = 10
 AES_256_ROUNDS = 14
diff --git a/src/model/keywrap.py b/src/model/keywrap.py
index e0bd5a6..08aac9a 100755
--- a/src/model/keywrap.py
+++ b/src/model/keywrap.py
@@ -43,6 +43,7 @@
 # Python module imports.
 #-------------------------------------------------------------------
 import sys
+import aes
 
 
 #-------------------------------------------------------------------
@@ -51,12 +52,37 @@ import sys
 VERBOSE = True
 
 
+#-------------------------------------------------------------------
+# aes_test
+#
+# Check that the AES functionality is available and works
+# as expected.
+#-------------------------------------------------------------------
+def keywrap_aes_test():
+    nist_aes128_key = (0x2b7e1516, 0x28aed2a6, 0xabf71588, 0x09cf4f3c)
+    nist_plaintext0 = (0x6bc1bee2, 0x2e409f96, 0xe93d7e11, 0x7393172a)
+    nist_exp128_0 = (0x3ad77bb4, 0x0d7a3660, 0xa89ecaf3, 0x2466ef97)
+    enc_result128_0 = aes.aes_encipher_block(nist_aes128_key, nist_plaintext0)
+
+    print("Test 0 for AES-128.")
+    print("Key:")
+    aes.print_key(nist_aes128_key)
+    print("Block in:")
+    aes.print_block(nist_plaintext0)
+    print("Expected block out:")
+    aes.print_block(nist_exp128_0)
+    print("Got block out:")
+    aes.print_block(enc_result128_0)
+    print("")
+
+
 #-------------------------------------------------------------------
 #-------------------------------------------------------------------
 def main():
     print("Testing the KEY WRAP model")
     print("===========================")
     print
+    keywrap_aes_test()
 
 
 #-------------------------------------------------------------------



More information about the Commits mailing list