summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-02-12Correction de grammaireKévin Le Gouguec
2019-02-12Réorganisation des inclusions d'entêtesKé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-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-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-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-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-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-11Pré-calcul de M³Kévin Le Gouguec
Les résultats changent, mais sont maintenant conformes à ceux de Léo.
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-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 permutation du key schedule dans le codeKévin Le Gouguec
Ajout d'une fonction pour récupérer facilement la nouvelle valeur des vecteurs.
2018-12-04Déplacement des entêtes de test/debug hors de src/Kévin Le Gouguec
2018-12-04Réorganisation des tracesKévin Le Gouguec
2018-12-04Réorganisation des testsKévin Le Gouguec
2018-12-04[WIP] screw with folders organizationKévin Le Gouguec
2018-12-04Adaptation des patchs de génération de tracesKévin Le Gouguec
2018-12-04Nettoyage des indices dans l'implémentation du key scheduleKévin Le Gouguec
Idéalement, il faudrait que j ne soit plus utilisé comme indice d'octet dans la spécification.
2018-12-04Mise à jour du code selon les modifs de !2Kévin Le Gouguec
2018-12-03Suppression des structures (tweakey|cipher)_stateKévin Le Gouguec
Pas l'impression que l'utilisation de structures dans les codes de référence soit très idiomatique.
2018-12-03Nettoyage du code du key scheduleKévin Le Gouguec
2018-12-03Documentation de l'implémentation de référence (src/)Kévin Le Gouguec
2018-11-29Nettoyage en prévision du script de livraison pour le NISTKévin Le Gouguec
2018-11-28Mutualisation de l'entête d'utilitaires de testsKévin Le Gouguec
2018-11-28Ajout de mécanique pour générer des traces plus facilementKévin Le Gouguec
2018-11-28Dégraissage de parameters.hKévin Le Gouguec
2018-11-28Ajout d'un Makefile commun à toutes les implémentations de référenceKévin Le Gouguec
2018-11-27Correction de la génération du tag SCT-2Kévin Le Gouguec
C'est pour *ça* que j'avais mis le nonce dans la signature de la fonction… 🤦
2018-11-27Changement du format de tracesKévin Le Gouguec
2018-11-27Implémentation du mode SCT-2Kévin Le Gouguec
2018-11-27Extraction du traitement des données authentifiéesKévin Le Gouguec
Commun à ΘCB3 et SCT-2.
2018-11-27Extraction de fonctions communes à ΘCB3 et SCT-2Kévin Le Gouguec
2018-11-27Ajout des prototypes des sous-fonctions SCT-2Kévin Le Gouguec
2018-11-27Ajout de tests chiffrement/déchiffrement pour SCT-2Kévin Le Gouguec