aboutsummaryrefslogtreecommitdiff
path: root/src/model
diff options
context:
space:
mode:
authorJoachim StroĢˆmbergson <joachim@secworks.se>2018-06-26 16:34:52 +0200
committerJoachim StroĢˆmbergson <joachim@secworks.se>2018-06-26 16:34:52 +0200
commit8ee29132119363711d4ffb1e0a7bf119e6392f26 (patch)
treedf4ce40e2e28b47f43042db65f0ee4eada78e79f /src/model
parentfce71f2c0bfe9edb6d6ebeaae2bc7358edc3f50a (diff)
Added a simple test case to verify that the aes model is usable.
Diffstat (limited to 'src/model')
-rwxr-xr-xsrc/model/aes.py4
-rwxr-xr-xsrc/model/keywrap.py26
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
#-------------------------------------------------------------------
@@ -52,11 +53,36 @@ 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()
#-------------------------------------------------------------------