summaryrefslogtreecommitdiff
path: root/python/genkat_aead.py
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@airbus.com>2019-03-14 17:17:50 +0100
committerKévin Le Gouguec <kevin.legouguec@airbus.com>2019-03-21 14:49:15 +0100
commit6d62f24fc34dae3c28f1b1cfed664bde3edbb1ec (patch)
tree85aff9aa33aacbe6a6c5d93abf56cb4332c30efb /python/genkat_aead.py
parent60707e26d3068a43e0caa7973a4fb88428443738 (diff)
downloadlilliput-ae-implem-6d62f24fc34dae3c28f1b1cfed664bde3edbb1ec.tar.xz
[implem-python] Ajustement de l'API externe
Utilisation d'une enum, pour que les valeurs possibles soient explicites. Renommage des points d'entrée pour qu'ils soient uniformes et interchangeables. Transformation du tag en liste plus bas pour que lilliput.py ne se soucie pas des détails d'implémentation des fonctions en-dessous.
Diffstat (limited to 'python/genkat_aead.py')
-rwxr-xr-xpython/genkat_aead.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/python/genkat_aead.py b/python/genkat_aead.py
index 5bce05f..daa48f8 100755
--- a/python/genkat_aead.py
+++ b/python/genkat_aead.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
-import lilliput
+from lilliput import encrypt, decrypt, LilliputAeMode
from os import makedirs, path
@@ -10,6 +10,12 @@ MAX_ADATA_LENGTH = 32
CRYPTO_NPUBBYTES = 120//8
+MODE_SUFFIXES = {
+ LilliputAeMode.lilliput_1: 'i',
+ LilliputAeMode.lilliput_2: 'ii'
+}
+
+
def bstr(buf):
return ''.join('{:02X}'.format(b) for b in buf)
@@ -37,7 +43,7 @@ def generate_test_vectors(mode, keylen):
print('generating for', mode, keylen)
directory = 'crypto_aead/lilliputae{mode}{keylen}v1'.format(
- mode=mode*'i', keylen=keylen
+ mode=MODE_SUFFIXES[mode], keylen=keylen
)
makedirs(directory, exist_ok=True)
@@ -64,11 +70,11 @@ def generate_test_vectors(mode, keylen):
print_bstr(output, 'PT', msg)
print_bstr(output, 'AD', ad)
- ct, tag = lilliput.mainEnc(msg, ad, key, nonce, mode)
+ ct, tag = encrypt(msg, ad, key, nonce, mode)
print_bstr(output, 'CT', ct+tag)
- msg2 = lilliput.mainDec(ct, tag, ad, key, nonce, mode)
+ msg2 = decrypt(ct, tag, ad, key, nonce, mode)
if msg != msg2:
raise DecryptionError(msg, msg2, mode, keylen)
@@ -79,6 +85,6 @@ def generate_test_vectors(mode, keylen):
if __name__ == '__main__':
- for mode in 1, 2:
+ for mode in LilliputAeMode:
for keylen in 128, 192, 256:
generate_test_vectors(mode, keylen)