summaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)Author
2019-03-21[implem-python] Extraction de fonctions communes aux deux modesKévin Le Gouguec
2019-03-21[implem-python] Retrait de A_BITS/M_BITS (1.1/2)Kévin Le Gouguec
2019-03-21[implem-python] Suppression d'affectations redondantesKévin Le Gouguec
Aurais dû les enlever dans 23d2fea280302c01a818e46e4a43c884eac03865.
2019-03-21[implem-python] Retrait de A_BITS/M_BITS (1/2)Kévin Le Gouguec
En passant : - remplacement de paramètres 0/1 par des booléens/des enums (pour TweakMessage en particulier, ça simplifie pas mal la logique) - construction de M (resp. C pour le déchiffrement) au fur et à mesure, i.e. avec des listes vides, plutôt qu'en pré-allouant des tableaux potentiellement trop gros en cas de padding
2019-03-21[implem-python] Renommage de variablesKévin Le Gouguec
Pour que le lien soit plus facile à faire avec la spec.
2019-03-21[implem-python] Déclaration de "alphas" dans multiplications.pyKévin Le Gouguec
2019-03-21[implem-python] Retrait des variables globales de lilliput_tbcKévin Le Gouguec
On peut tout déduire de len(tweak) / len(key) ; la seule raison d'utiliser autant de constantes en C est que les tableaux se dégradent en pointeurs, donc c'est où les constantes, où une tétrachiée d'arguments.
2019-03-21[implem-python] Dé-duplication de constantesKévin Le Gouguec
2019-03-21[implem-python] Confinement de la gestion des tours au module TBCKévin Le Gouguec
Retrait de quelques variables globales par la même occasion. Renommage de "round" en "i" pour 1) coller à la spec 2) éviter le conflit avec le builtin "round".
2019-03-21[implem-python] Retrait du main commentéKévin Le Gouguec
2019-03-21[implem-python] Ajout de NONCE_BYTES dans constants.pyKévin Le Gouguec
2019-03-21[implem-python] Suppression de paramètres redondantsKévin Le Gouguec
tweak_bits est constant pour un mode donné ; rounds se déduit de la taille de clé.
2019-03-21[implem-python] Suppression de paramètres redondantsKévin Le Gouguec
Création d'un nouveau module "helpers" qui contiendra les fonctions utilisées par les deux modes.
2019-03-21[implem-python] Simplification du contrôle des paramètresKévin Le Gouguec
Encore un peu de duplication sur les longueurs de clés valides. On y travaille.
2019-03-21[implem-python] Passage des clés et nonces par paramètresKévin Le Gouguec
2019-03-14Ajout d'un script pour vérifier l'implémentation PythonKévin Le Gouguec
2019-03-14Correction de la génération du tweak pour ΘCB3Kévin Le Gouguec
L'implémentation de référence se basait sur les indices figurant dans le papier de Deoxys. Deux questions à résoudre, que d'autres se sont sans doute déjà posées : - Est-ce que ce l-1 est normal dans le papier de Deoxys ? - Est-ce que nos changements d'indices sont bien tous corrects ? En tout cas, les implémentations Python et C sont maintenant d'accord.
2019-03-13Changement de la génération du nonce dans lilliput.pyKévin Le Gouguec
Pour correspondre à genkat_aead.c.
2019-03-13Génération de vecteurs Python selon la structure crypto_aeadKévin Le Gouguec
2019-03-13Traduction de genkat_aead.c en PythonKévin Le Gouguec
Et ré-adaptation de l'API de lilliput.py pour simplifier l'interfaçage ; et retrait des print() pour accélérer la génération des vecteurs (qui même comme ça prend 2 bonnes minutes). NB : pour le moment, les vecteurs ne correspondent pas…
2019-03-13Changement de l'API de l'implémentation PythonKévin Le Gouguec
Pour qu'on puisse plus facilement manipuler les entrées/sorties. Pour le moment le round-trip chiffrement/déchiffrement marche. import lilliput message = 'Hello 🌐!' adata = 'Signed: Kévin' for mode in 1,2: for keylen in 128, 192, 256: ct, tag = lilliput.mainEnc(message, adata, mode, keylen) pt = lilliput.mainDec(ct, tag, adata, mode, keylen) assert message == pt
2019-03-13Ajout de l'implémentation Pythonleo