From 8ee29132119363711d4ffb1e0a7bf119e6392f26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Stro=CC=88mbergson?= Date: Tue, 26 Jun 2018 16:34:52 +0200 Subject: 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() #------------------------------------------------------------------- -- cgit v1.2.3