commit e83abe9fdbab07e6df80443240d4d649303a3dd4
parent ba01ba773731cb2c906beb6855dfea588dc8cf09
Author: Kévin Le Gouguec <kevin.legouguec@airbus.com>
Date: Fri, 22 Mar 2019 16:41:34 +0100
[implem-python] Déplacement dans le dossier SOUMISSION_NIST
Et ajout d'un métascript pour vérifier la conformité.
Il ne reste plus qu'à… (bis)
Diffstat:
16 files changed, 60 insertions(+), 45 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,3 +1,4 @@
crypto_aead
results
+__pycache__
*.tgz
diff --git a/python/.gitignore b/python/.gitignore
@@ -1,2 +0,0 @@
-__pycache__
-results
-\ No newline at end of file
diff --git a/python/compare.sh b/python/compare.sh
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-# TODO: make sure reference crypto_aead exists
-# TODO: cleanup previous vectors and run genkat_aead.py
-
-set -eux
-
-mkdir -p results/crypto_aead_ref
-for d in ../../SOUMISSION_NIST/REFERENCE_IMPLEMENTATION/crypto_aead/lilliputaei*
-do
- mkdir -p results/crypto_aead_ref/$(basename $d)
- cp $d/LWC*.txt results/crypto_aead_ref/$(basename $d)/
-done
-
-diff -ru results/crypto_aead_ref results/crypto_aead
diff --git a/python/generate-vectors.sh b/python/generate-vectors.sh
@@ -1,27 +0,0 @@
-#!/bin/bash
-
-set -eu
-
-rm -rf results
-
-mkdir -p results/crypto_aead/lilliputae{i,ii}{128,192,256}v1
-
-declare -A names=([1]=lilliputaei [2]=lilliputaeii)
-
-for mode in 1 2
-do
- for keylen in 128 192 256
- do
- echo generating for ${mode} ${keylen}
-
- cat <<EOF > results/parameters.py
-MODE = ${mode}
-KEYBYTES = $((keylen/8))
-EOF
-
- PYTHONPATH=results ./genkat_aead.py
-
- dest=results/crypto_aead/${names[${mode}]}${keylen}v1
- mv LWC_AEAD_KAT_${keylen}_120.txt ${dest}
- done
-done
diff --git a/python/lilliput/__init__.py b/src/add_python/lilliput/__init__.py
diff --git a/python/lilliput/constants.py b/src/add_python/lilliput/constants.py
diff --git a/python/lilliput/helpers.py b/src/add_python/lilliput/helpers.py
diff --git a/python/lilliput/lilliput_ae_1.py b/src/add_python/lilliput/lilliput_ae_1.py
diff --git a/python/lilliput/lilliput_ae_2.py b/src/add_python/lilliput/lilliput_ae_2.py
diff --git a/python/lilliput/multiplications.py b/src/add_python/lilliput/multiplications.py
diff --git a/python/lilliput/tbc.py b/src/add_python/lilliput/tbc.py
diff --git a/test/python.sh b/test/python.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+set -eu
+
+TEST_DIR=$(dirname $0)
+ROOT_DIR=${TEST_DIR}/..
+
+make -C ${ROOT_DIR} nist
+
+./python/generate-vectors.sh
+./python/compare.sh
diff --git a/test/python/compare.sh b/test/python/compare.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+PYTHON_DIR=$(dirname $0)
+ROOT_DIR=${PYTHON_DIR}/../../
+RESULTS_DIR=${ROOT_DIR}/results
+CRYPTO_AEAD=${ROOT_DIR}/crypto_aead
+
+set -eu
+
+mkdir -p ${RESULTS_DIR}/crypto_aead_ref
+for d in ${CRYPTO_AEAD}/lilliputaei*
+do
+ mkdir -p ${RESULTS_DIR}/crypto_aead_ref/$(basename $d)
+ cp $d/LWC*.txt ${RESULTS_DIR}/crypto_aead_ref/$(basename $d)/
+done
+
+diff -ru ${RESULTS_DIR}/crypto_aead_ref ${RESULTS_DIR}/crypto_aead_py
diff --git a/python/crypto_aead.py b/test/python/crypto_aead.py
diff --git a/test/python/generate-vectors.sh b/test/python/generate-vectors.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+set -eu
+
+PYTHON_DIR=$(dirname $0)
+ROOT_DIR=${PYTHON_DIR}/../../
+SRC_DIR=${ROOT_DIR}/src/add_python
+RESULTS_DIR=${ROOT_DIR}/results
+CRYPTO_AEAD=${RESULTS_DIR}/crypto_aead_py
+
+mkdir -p ${CRYPTO_AEAD}/lilliputae{i,ii}{128,192,256}v1
+
+declare -A names=([1]=lilliputaei [2]=lilliputaeii)
+
+for mode in 1 2
+do
+ for keylen in 128 192 256
+ do
+ echo generating for ${mode} ${keylen}
+
+ cat <<EOF > ${RESULTS_DIR}/parameters.py
+MODE = ${mode}
+KEYBYTES = $((keylen/8))
+EOF
+
+ PYTHONPATH=${RESULTS_DIR}:${SRC_DIR} ${PYTHON_DIR}/genkat_aead.py
+
+ dest=${CRYPTO_AEAD}/${names[${mode}]}${keylen}v1
+ mv LWC_AEAD_KAT_${keylen}_120.txt ${dest}
+ done
+done
diff --git a/python/genkat_aead.py b/test/python/genkat_aead.py