summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-05-20Mise à jour du patch de tracesKévin Le Gouguec
2019-05-20Correction du calcul de FjKévin Le Gouguec
Problème introduit par 3a57031.
2019-05-20Réécriture de l'implémentation des couches non-linéaire et linéaireKévin Le Gouguec
Changements mineurs : - remplacement du tableau intermédiaire F par une fonction, - réécriture de la couche linéaire avec des boucles. Le but est d'améliorer la lisibilité par rapport à la spécification, tout en limitant les différences avec la version "felicsref".
2019-05-16Ajout de plus de traces pour l'implémentation thresholdKévin Le Gouguec
2019-05-16Ajout de traces pour la version thresholdKévin Le Gouguec
Pour aider à l'implémentation VHDL.
2019-05-15Adaptation du patch de tracesKévin Le Gouguec
Suite à la refacto de la gestion du tweak dans Lilliput-Ⅰ.
2019-05-03Ajustement de la gestion du nonce pour ΘCB3Kévin Le Gouguec
Ajout du nonce dans le tweak une bonne fois pour toute à l'initialisation de l'algorithme, au lieu de le rajouter à chaque tour de boucle. Similaire à notre implémentation de SCT-2, et à l'implémentation de référence de Deoxys-I.
2019-05-03Correction d'un commentaire du mode ΘCB3Kévin Le Gouguec
2019-05-03Correction du mode ΘCB3 quand sizeof(size_t)<8Kévin Le Gouguec
Bug introduit par ce047dd.
2019-05-02Utilisation de "size_t" pour l'indexation d'un tableauKévin Le Gouguec
Surtout par souci d'homogénéité.
2019-05-02Homogénéisation de la gestion de l'index de bloc dans les tweaksKévin Le Gouguec
- "block number" → "block index" - "192" → "t" - boucle de copie de l'index - utilisation de size_t : - par définition, aucune implémentation ne pourra traiter plus d'octets que SIZE_MAX (donc pas plus de blocs), - pas de raison de forcer un index de 64 bits sur ces pauvres ATmega et MSP430.
2019-03-27Update ↵Gaetan Leplus
SOUMISSION_NIST/REFERENCE_IMPLEMENTATION/src/add_vhdltbc/decrypt/crypt_pack.vhd, SOUMISSION_NIST/REFERENCE_IMPLEMENTATION/src/add_vhdltbc/decrypt/top.vhd, SOUMISSION_NIST/REFERENCE_IMPLEMENTATION/src/add_vhdltbc/encrypt/crypt_pack.vhd files
2019-03-27Quelques corrections de dernière minute sur les implems VHDLKévin Le Gouguec
2019-03-26[implem-vhdl] Ajout d'un entête avec auteurs et dédicace CC0Kévin Le Gouguec
2019-03-26[implem-vhdl] Ajout dans le répertoire de soumissionKévin Le Gouguec
2019-03-26[implem-vhdl] Déplacement dans SOUMISSION_NISTKévin Le Gouguec
2019-03-26[implem-vhdl] Factorisation du codeKévin Le Gouguec
2019-03-26[implem-vhdl] Correction d'un vecteur de testKévin Le Gouguec
2019-03-26[implem-vhdl] Ajout des sources VHDLGaetan Leplus
2019-03-26Add new directory: add_vhdlGaetan Leplus
2019-03-25Merge branch 'refactor-python-implem'Kévin Le Gouguec
2019-03-25[implem-python] Ajustements dans _tweak_messageKévin Le Gouguec
Hopefully, le résultat est plus clair en construisant le tweak par concaténations progressives.
2019-03-25[implem-python] Retrait de range()s et variables intermédiairesKévin Le Gouguec
2019-03-25[implem-python] Suppression d'une ligne de '#'Kévin Le Gouguec
2019-03-25[implem-python] Construction de _tweak_message par concaténationKévin Le Gouguec
Et petits nettoyages par-ci par-là.
2019-03-25[implem-python] Suppression de variables intermédiairesKévin Le Gouguec
Le code résultant ressemble plus à ce qui est décrit dans les algorithmes 3 et 4.
2019-03-25[implem-python] Simplification de _tweak_tagKévin Le Gouguec
Très similaire à ae_common._tweak_associated_data.
2019-03-25[implem-python] Simplification de _add_tag_jKévin Le Gouguec
2019-03-25[implem-python] Remplacement de _tweak_tag_end par une concaténationKévin Le Gouguec
2019-03-25[implem-python] Ajustements de formeKévin Le Gouguec
2019-03-25[implem-python] Ajout des entêtes manquantsKévin Le Gouguec
2019-03-24[implem-python] Remplacement de _low_part par du "tranchage" natifKévin Le Gouguec
2019-03-24[implem-python] Génération des vecteurs dans une fonctionKévin Le Gouguec
Pour que ce soit plus simple de remplacer la boucle par generate 2 128 generate 1 256 … ce qui prend 6 minutes au lieu de 20 sur ma machine \o/
2019-03-24[implem-python] Réécriture de certains range() dans ae_common.pyKévin Le Gouguec
Et réutilisation de fonctions Python natives.
2019-03-24[implem-python] Réécriture de certains range() dans tbc.pyKévin Le Gouguec
IME, itérer sur un range() est rarement la façon la plus expressive de faire les choses ; les alternatives imposent une structure qui rendent l'intention plus claire. E.g. quand on voit une compréhension, on comprend que l'auteur cherche à filtrer et/ou transformer ce sur quoi il itère. Réutilisation de xor_state(), renommé xor() puisqu'il sert dans plusieurs situations. Séparation de ce xor() et des fonctions communes aux modes authentifiés pour éviter un import circulaire.
2019-03-24[implem-python] Conformité PEP8Kévin Le Gouguec
Surtout la capitalisation des noms de fonction. Retrait des lignes de '#' ; si il y a des séparations à faire, autant ajouter des modules. Correction de _MessageTweak.BLOCK en passant.
2019-03-24[implem-python] Ajustement du script de test PythonKévin Le Gouguec
De sorte à ce qu'on puisse le lancer depuis n'importe quel dossier.
2019-03-24[implem-python] Correction de la documentation de Lilliput-ⅠKévin Le Gouguec
2019-03-24[implem-python] Renommage des modules des modes authentifiésKévin Le Gouguec
On bénéficie déjà de l'espace de nommage "lilliput".
2019-03-23[implem-python] Documentation de Lilliput-Ⅰ et Lilliput-TBCKévin Le Gouguec
Idem, renommage des fonctions privées avec un souligné pour que l'API soit plus simple à comprendre. ⚠ Pas testé, ça prend littéralement 20 minutes à l'implémentation Python de générer les vecteurs de test, et c'est l'heure du dodo…
2019-03-23[implem-python] Documentation du mode authentifié Lilliput-ⅡKévin Le Gouguec
Ajout d'un souligné devant les fonctions privées ; de cette façon, >>> from lilliput import lilliput_ae_1 >>> help(lilliput_ae_1) … ne montre que les fonctions "publiques", i.e. celles que l'utilisateur est censé appeler.
2019-03-23[implem-python] Accélération du test d'implémentation PythonKévin Le Gouguec
Idéalement, il faudrait rajouter les bonnes dépendances dans le Makefile…
2019-03-23[implem-python] Documentation du paquet "lilliput"Kévin Le Gouguec
2019-03-23Clarification mineure sur le script de livraison des implemsKévin Le Gouguec
2019-03-23[implem-python] Intégration à la soumission (suite et fin)Kévin Le Gouguec
En plus du paquet Python "lilliput", chaque dossier embarque - un script "genkat_aead.py" qui génère les vecteurs de test via l'API du module "crypto_aead", - un module "crypto_aead" servant de point d'entrée générique, - un module "parameters", qui permet à crypto_aead d'instancier Lilliput-AE avec le bon mode et la bonne taille de clé. Livraison dans ./crypto_aead sans se soucier de l'arborescence du dépôt, par homogénéité avec make-package.sh. Quelques ajustement dans genkat_aead.py pour que le lien avec genkat_aead.c soit plus évident.
2019-03-22[WIP][implem-python] Intégration à la soumissionKévin Le Gouguec
2019-03-22[implem-python] Déplacement dans le dossier SOUMISSION_NISTKévin Le Gouguec
Et ajout d'un métascript pour vérifier la conformité. Il ne reste plus qu'à… (bis)
2019-03-22Ajout de traces pour le déchiffrement AEKévin Le Gouguec
Pour aider l'implémentation matérielle.
2019-03-22[implem-python] Création de la surcouche "crypto_aead"Kévin Le Gouguec
Il ne reste plus qu'à générer les dossiers lilliputae*/add_python et les fichiers parameters.py correspondants, et on peut ajouter le tout à l'archive à soumettre au NIST.
2019-03-22[implem-python] Création d'un paquet "lilliput"Kévin Le Gouguec