summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-20Ajout de l'implémentation "FELICS"Kévin Le Gouguec
Semblable en tout point à l'implémentation de référence, sauf pour des optimisations manuelles dans tweakey.c. Les gains sont significatifs même si surprenants : Lilliput-I-128 on AVR (vref with -O3) code_size: -3.21% (7420 ↘ 7182) code_ram: -2.08% (530 ↘ 519) code_time: -26.13% (176922 ↘ 130701) Lilliput-I-192 on AVR (vref with -O3) code_size: -3.66% (7550 ↘ 7274) code_ram: -1.90% (578 ↘ 567) code_time: -28.34% (228210 ↘ 163530) Lilliput-I-256 on AVR (vref with -O3) code_size: -4.05% (7698 ↘ 7386) code_ram: -1.71% (642 ↘ 631) code_time: -29.87% (301863 ↘ 211704) Lilliput-II-128 on AVR (vref with -O3) code_size: -3.04% (6704 ↘ 6500) code_ram: -2.94% (511 ↘ 496) code_time: -25.97% (181884 ↘ 134648) Lilliput-II-192 on AVR (vref with -O3) code_size: -3.56% (6682 ↘ 6444) code_ram: -1.97% (559 ↘ 548) code_time: -26.30% (264608 ↘ 195028) Lilliput-II-256 on AVR (vref with -O3) code_size: -4.06% (6804 ↘ 6528) code_ram: -1.77% (623 ↘ 612) code_time: -28.47% (354220 ↘ 253368) Lilliput-I-128 on MSP (vref with -O3) code_time: -17.72% (153285 ↘ 126129) Lilliput-I-192 on MSP (vref with -O3) code_size: -1.02% (8466 ↘ 8380) code_time: -19.77% (199203 ↘ 159828) Lilliput-I-256 on MSP (vref with -O3) code_time: -20.90% (268416 ↘ 212328) Lilliput-II-128 on MSP (vref with -O3) code_size: -2.49% (6336 ↘ 6178) code_time: -13.25% (172179 ↘ 149363) Lilliput-II-192 on MSP (vref with -O3) code_size: -1.22% (6406 ↘ 6328) code_time: -17.93% (227943 ↘ 187063) Lilliput-II-256 on MSP (vref with -O3) code_size: -1.30% (6600 ↘ 6514) code_time: -19.98% (307751 ↘ 246251) Lilliput-I-128 on ARM (vref with -O3) code_time: -16.94% (104944 ↘ 87170) Lilliput-I-192 on ARM (vref with -O3) code_time: -18.41% (132736 ↘ 108295) Lilliput-I-256 on ARM (vref with -O3) code_time: -18.74% (175979 ↘ 143001) Lilliput-II-128 on ARM (vref with -O3) code_time: -17.63% (114004 ↘ 93907) Lilliput-II-192 on ARM (vref with -O3) code_time: -17.55% (157405 ↘ 129780) Lilliput-II-256 on ARM (vref with -O3) code_time: -18.44% (206440 ↘ 168382) Lilliput-I-128 on PC (vref with -O3) code_time: -11.43% (11744 ↘ 10402) Lilliput-I-192 on PC (vref with -O3) code_time: -10.54% (14593 ↘ 13055) Lilliput-I-256 on PC (vref with -O3) code_time: -11.80% (18856 ↘ 16631) Lilliput-II-128 on PC (vref with -O3) code_size: -1.02% (7421 ↘ 7345) code_time: -9.11% (13080 ↘ 11889) Lilliput-II-192 on PC (vref with -O3) code_time: -10.51% (16809 ↘ 15043) Lilliput-II-256 on PC (vref with -O3) code_time: -10.96% (21970 ↘ 19561)
2019-03-15Nettoyage d'espacesKévin Le Gouguec
… En vrai je ne vois pas de bonne raison de se soucier des espaces en bout de ligne. Les outils de diff savent les ignorer, les éditeurs savent les ignorer… 🤷
2019-03-15[felics] Automatisation de la mise à jour des vecteurs FELICSKévin Le Gouguec
2019-03-15Ajout de commentaires pour decrire la TI de refAlexandre Adomnicai
2019-03-15[implem-threshold] Ajout du calcul de la S-box sans tablesKévin Le Gouguec
Fournie par @aadomn.
2019-03-14Ajout d'un script pour vérifier l'implémentation PythonKévin Le Gouguec
2019-03-14Ajustement des traces de Lilliput-ⅠKé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-13Merge branch 'implem-ti'Kévin Le Gouguec
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
2019-03-12Homogénéisation de la déclaration des auteurs des implémentationsKévin Le Gouguec
Ça m'embêtait qu'on liste plusieurs personnes, puis qu'on dise "the implementer has…" ; repompé le "hereby denoted…" de Keccak.
2019-03-12Utilisation d'un générateur d'aléa pour l'implémentation à seuilKévin Le Gouguec
Un peu de machinerie à mettre en place pour permettre l'ajout de fichiers arbitraires dans une implémentation.
2019-03-12Ajustements mineurs sur l'implémentation à seuilKévin Le Gouguec
- retrait de stdio.h (inutile) - "aération" du prototype de _state_init
2019-03-12Ajustement des caractères d'espacementKévin Le Gouguec
- fins de ligne UNIX (\n) - espaces plutôt que tabulations
2019-03-12Retrait des suffixes _TIKévin Le Gouguec
Dans le but de rendre diff -ru ref add_threshold plus digeste.
2019-03-12Ajustement des entêtes des fichiers sourcesKévin Le Gouguec
- ordre alphabétique des auteurs, - un auteur par ligne, date sur une ligne séparée : maintenance et diff plus simples, - brève description de chaque fichier.
2019-03-12Ajout de l'implémentation à seuil d'ordre 1Kévin Le Gouguec
Modifications nécessaires dans l'infra : - retrait conditionnel de test-tweakey, vu que l'API n'est pas la même pour l'implémentation à seuil, - retrait conditionnel de l'avertissement "-Wparentheses", plus agaçant qu'autre chose sur les calculs booléens de cipher.c, e.g. y_hi&3 ^ (y_hi&8)>>1 où la priorité est intuitive (shifts avant AND avant XOR). C'est dommage de perdre les avertissements sur if (a&b == c), mais tant pis… On va compter sur La Suite De Test®©™ pour nous couvrir. Co-authored-by: Alexandre Adomnicai <a.adomnicai@trusted-objects.com> Co-authored-by: leo <leo.reynaud17@gmail.com>
2019-02-21Ajustement de l'alignement de certaines variablesKévin Le Gouguec
2019-02-20Changement de l'implémentation de référenceKévin Le Gouguec
Et suppression de l'implémentation add_tweakeysequences, qui n'a plus aucun intérêt (plus lente et plus grosse que les deux autres).
2019-02-20Adaptation du code de α₆Kévin Le Gouguec
2019-02-20Adaptation du code de α₅Kévin Le Gouguec
2019-02-20Adaptation du code de α₃Kévin Le Gouguec
2019-02-20Adaptation du code de α₂Kévin Le Gouguec
2019-02-20Renommage des variables des vecteurs-colonnes du tweakey scheduleKévin Le Gouguec
On utilise des minuscules dans la spécification.
2019-02-13Clarification de commentaires dans l'implémentationKévin Le Gouguec
2019-02-13Renommage des fichiers implémentant les modes AEKévin Le Gouguec
Pour qu'ils soient plus proches du nom donné dans la spécification.
2019-02-13Allègement des messages du script de vérification d'implémentationKévin Le Gouguec
2019-02-13Gestion des conflits lors de l'application des patchs de tracesKévin Le Gouguec
2019-02-13Merge branch 'alpha-reformulation' into 'master'Kévin Le Gouguec
Reformulations des considérations d'implémentation sur le tweakey schedule See merge request paclido/sp3!11
2019-02-12Mise à jour des patchs de génération de tracesKévin Le Gouguec
2019-02-12Correction des descriptions des implémentations du tweakey scheduleKévin Le Gouguec
Les renommages récents les ont chamboulées un peu.
2019-02-12Utilisation du tweakey schedule "itératif" comme référenceKévin Le Gouguec
Au final, il n'est pas moins performant que l'autre ; cf. issue #4.
2019-02-12Reformulation de l'implémentation de α₃Kévin Le Gouguec
- Changement de l'implémentation de référence en conséquence (les compilateurs savent très bien optimiser les deux shifts en un seul AND) - Retouche du phrasé : "multiplication αᵢ" plutôt que "αᵢ multiplication". Je n'ai pas de pointeurs vers une règle de grammaire particulière, mais c'est par comparaison avec "Planet Earth" ou "Operation Overlord".
2019-02-12Correction de grammaireKévin Le Gouguec
2019-02-12Réorganisation des inclusions d'entêtesKévin Le Gouguec
2019-02-12Mise à jour des patchs de génération de tracesKévin Le Gouguec
2019-02-12Ajout d'une déclaration de (renonciation aux) droits d'auteurKévin Le Gouguec
Avec une phrase de documentation en prime pour chaque fichier. Cf. issue #2.
2019-02-08Cohérence des sauts de ligne dans les entêtesKévin Le Gouguec
Deux lignes vides avant le #endif, sauf pour parameters.h et constants.h qui ne contiennent que des directives de préprocesseur.
2019-02-05Renommage de ae-common.h en lilliput-ae-utils.hKévin Le Gouguec
2019-02-05Correction de coquilles de documentationKévin Le Gouguec
2019-02-05Renommage des entêtes de constantesKévin Le Gouguec
Aucune idée de pourquoi j'avais insisté pour nommer les deux "parameters" plutôt que de distinguer les constantes des paramètres. Peut-être par souci de compatibilité avec FELICS, qui utilise constants.h. 🤷
2019-02-05Mise en commun des sources à l'aide de liens symboliquesKévin Le Gouguec
2019-02-05Correction d'une typo markdownKévin Le Gouguec