summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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-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