summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
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