summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2019-02-05Changement de l'implémentation de référenceKévin Le Gouguec
2019-02-04Retouches sur M₃ et M₄Kévin Le Gouguec
Ça me chiffonne de mettre deux instructions. En même temps, le cast me chiffonne aussi, donc je reviendrai peut-être sur cette décision… "x & 0x1f" a été remplacé par "(x<<3) >> 3" parce que c'est ce qu'un lecteur qui déroulerait l'expression de M₃ trouverait, et aussi parce que les compilateurs sont de toute façon suffisamment malins pour traduire le tout en un AND.
2019-02-04Implémentation de M₄Kévin Le Gouguec
2019-02-04Implémentation de M₃Kévin Le Gouguec
2019-02-04Finalisation du script de comparaison d'implémentationsKévin Le Gouguec
Comme mentionné dans le commit précédent, ce test devrait permettre de détecter des déviations par rapport à l'implémentation de référence. Les tests de Lilliput-Ⅰ-128 remplissent le même rôle, mais je n'avais pas envie de passer du temps à les copier-coller puis à les adapter aux différentes tailles de clés et de tweaks.
2019-02-03[WIP] Ajout d'un script de comparaison d'implémentationsKévin Le Gouguec
Bricolé pendant la réunion SP3 du 1er février, inachevé. Je me suis rendu compte que les "tests", en dehors des tests de Lilliput-Ⅰ-128, se contentent de vérifier que D(E(plaintext)) = plaintext, ce qui ne suffit pas pour s'assurer qu'une nouvelle implémentation est conforme à l'ancienne. Plutôt que de copier-coller-adapter les tests de Lilliput-Ⅰ-128, il me semble qu'une approche plus simple serait de comparer les vecteurs générés par une implémentation à ceux produits par l'implémentation de référence.
2019-02-01Arrêt des tests dès la première erreurKévin Le Gouguec
2019-02-01Implémentation de M₂Kévin Le Gouguec
2019-02-01Implémentation de M₁Kévin Le Gouguec
2019-02-01Ajout d'une implémentation supplémentaireKévin Le Gouguec
Cette implémentation utilisera les matrices M², M³, MR² et MR³ telles qu'exprimées dans la spécification, comme add_tabulatedtweakey ; en revanche, les matrices 8×8 M₁, M₂, M₃ et M₄ seront codées par des expressions booléennes (XORs et décalages) qui seront présentées dans la section "implémentation" du papier.
2018-12-20Génération automatique du paquet de soumission pour le NISTnist-submission-2018-12-20Kévin Le Gouguec
🤞
2018-12-19Ajout de contrôles d'usage du Makefile FELICSKévin Le Gouguec
2018-12-18Correction du script de génération des tracesKévin Le Gouguec
Herp derp.
2018-12-18Correction du code de retour du déchiffrementKévin Le Gouguec
2018-12-18Ajout d'un générateur de vecteurs pour FELICSKévin Le Gouguec
(Plus précisément, la variante Airbus qui gère les AEAD)
2018-12-17Mise à jour de la documentation de l'implémentation de référenceKévin Le Gouguec
2018-12-17Adaptation du script de génération de livraison pour le NISTKévin Le Gouguec
2018-12-17Adaptation des patchs de génération des tracesKévin Le Gouguec
2018-12-17Organisation des différentes implémentationsKévin Le Gouguec
Au passage, officialisation de la version "i applications successives de M pour calculer Mⁱ" du key schedule.
2018-12-12Mise à jour du README de l'implémentationKévin Le Gouguec
Les constantes ont été ventilées dans les modules qui s'en servent (tweakey.c, cipher.c).
2018-12-12Ajout d'une version alternative du key scheduleKévin Le Gouguec
Dans cette version, les multiplications par Mⁱ (resp. MRⁱ) sont faites en appliquant M (resp. MR) i fois, plutôt qu'en utilisant les expressions données dans la spécification.
2018-12-12Reformatage du code de référenceKévin Le Gouguec
Pour que la comparaison avec la spécification soit plus évidente.
2018-12-11Dépliage de la séquence induite par M₄ pour MR³Kévin Le Gouguec
2018-12-11Renommage des séquencesKévin Le Gouguec
En fait les séquences marchent dans un sens comme dans l'autre. ✨ MathéMagie ✨
2018-12-11Dépliage de la séquence induite par M₃ pour MR²Kévin Le Gouguec
2018-12-11Renommage des séquences induites par M₁ et M₂Kévin Le Gouguec
Vu que la séquence générée par M₁ pour M² et M³ sera probablement différente de la séquence générée pour MR³.
2018-12-11Correction d'un shift dans M³ (spec et implem)Kévin Le Gouguec
2018-12-11Revert "Adaptation des tests à la correction de M³"Kévin Le Gouguec
This reverts commit 7a0789a3abb151e80959f4f802c9154e5c2899c3. Paul confirme qu'il faut apporter une correction à M³ ; avec un peu de chance, on peut donc garder les tests tels qu'il étaient avant de déplier M³.
2018-12-11Adaptation des tests à la correction de M³Kévin Le Gouguec
2018-12-11Pré-calcul de M³Kévin Le Gouguec
Les résultats changent, mais sont maintenant conformes à ceux de Léo.
2018-12-11Correction de l'affichage de TK dans les tracesKévin Le Gouguec
2018-12-11Correction d'un tweak pour la génération des tracesKévin Le Gouguec
2018-12-11Correction des shifts lors de la multiplication par MRKévin Le Gouguec
*Toutes* les opérations s'appliquent dans l'autre sens, *y compris les shifts*, vu que on prend (y₀…y7)ᵗ = MR(x₀…x₇)ᵗ.
2018-12-11Renommage des vecteurs du key scheduleKévin Le Gouguec
Plus facile pour suivre la spec.
2018-12-11Pré-calcul de M²Kévin Le Gouguec
Les tests passent, c'est encourageant.
2018-12-10Adaptation des tests au nouveau key scheduleKévin Le Gouguec
2018-12-10Adaptation des traces au nouveau key scheduleKévin Le Gouguec
2018-12-10Mise à jour de l'implémentation du key scheduleKévin Le Gouguec
Pour le moment, Mⁱ (resp. MRⁱ) sont implémentées en appliquant i fois M (resp. MR) ; à voir si on préfère les pré-calculer.
2018-12-05Mise à jour de la documentation de l'implémentation de référenceKévin Le Gouguec