| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-07-05 | Merge branch 'fix-concatenation' | Kévin Le Gouguec | |
| 2019-07-05 | Ajout d'une explication dans le changelog | Kévin Le Gouguec | |
| 2019-07-05 | Ajout d'indices dans les traces | Kévin Le Gouguec | |
| 2019-07-05 | Réécriture des commentaires schématiques sur les tweaks | Kévin Le Gouguec | |
| 2019-07-05 | Adaptation de l'implémentation Python | Kévin Le Gouguec | |
| 2019-07-05 | Adaptation des tests et des traces | Kévin Le Gouguec | |
| - mise à jour des vecteurs de test i-128/test-ae-*crypt - affichage des tableaux d'octets par indices croissants | |||
| 2019-07-05 | Changement de la concaténation des chaînes de bits | Kévin Le Gouguec | |
| L'implémentation précédente n'était pas cohérente. Étant données deux chaînes X et Y de longueur x et y, et Z=X∥Y de longueur z=x+y, - pad10* et la construction des tweaks fonctionnaient selon la logique "indices faibles = LSB", donc Z[0] = Y[0] Z[z-1] = X[x-1] - le découpage de M, C et A en blocs fonctionnait selon la logique "indices faibles = premiers blocs", donc Z[0] = X[0] Z[z-1] = Y[y-1] En conséquence, la façon dont M, C et A étaient paddés n'avait aucun sens, e.g. pour un message M de taille 35, pad10*(M*) donnait : { M[34], M[33], M[32], 0b10000000, 0, … } Les deux seules façons logiques de padder M* sont { M[32], M[33], M[34], 0b10000000, 0, … } ou { M[2], M[1], M[0], 0b10000000, 0, … } Après revue d'autres implémentations de ΘCB3 et SCT-2, j'ai choisi de suivre la convention MSB. En conséquence, quand la spécification dit Z = X∥Y L'implémentation traduira : Z[] = { X[0], … X[x-1], Y[0], … Y[y-1] } Dans la même logique, les compteurs de blocs seront insérés MSB d'abord et paddés en conséquence, e.g. j=0x01020304 ≡ J[] = { 0, …, 0x01, 0x02, 0x03, 0x04 } | |||
| 2019-07-05 | Renommage de la version initiale en "v1" | Kévin Le Gouguec | |
| Une traduction automatique de la version en nom de dossier crypto_aead transformerait v1.0 en v10, or 1. nos dossiers s'appelaient v1 2. un jour on aura peut-être une version 10 (Le schéma de nommage crypto_aead ouvre la porte a pas mal d'ambiguïtés, de toute façon…) | |||
| 2019-07-05 | Ajout d'un script de vérification plus exhaustif | Kévin Le Gouguec | |
| 2019-07-05 | Correction du patch de traces *pour l'implémentation threshold* | Kévin Le Gouguec | |
| 🤦 | |||
| 2019-07-05 | Correction du patch de traces | Kévin Le Gouguec | |
| Cassé par b29cc9d. Léger ajustement du Makefile pour que les plantages soient plus simples à comprendre. | |||
| 2019-07-05 | Résumé des modifications sur felicsref | Kévin Le Gouguec | |
| 2019-07-05 | Simplification du format du changelog | Kévin Le Gouguec | |
| 2019-07-05 | Utilisation de "size_t" pour l'indexation d'un tableau | Kévin Le Gouguec | |
| Cf. ef17fe7, surtout par souci d'homogénéité. | |||
| 2019-07-04 | Merge branch 'fix-tweakey-m4' | Kévin Le Gouguec | |
| 2019-07-04 | Résumé des modifications dans les implémentations C et Python | Kévin Le Gouguec | |
| 2019-07-04 | Ajout de squelettes pour les changelogs des autres implémentations | Kévin Le Gouguec | |
| 2019-07-04 | Résumé des modifications dans l'implémentation de référence | Kévin Le Gouguec | |
| 2019-07-04 | Implémentation de M⁴ à l'aide de sa matrice | Kévin Le Gouguec | |
| 2019-07-04 | Mise à jour temporaire de l'implémentation Python | Kévin Le Gouguec | |
| 2019-07-04 | Mise à jour des patchs de génération de traces | Kévin Le Gouguec | |
| 2019-07-04 | Mise à jour de l'implémentation threshold | Kévin Le Gouguec | |
| 2019-07-04 | Mise à jour de l'implémentation felicsref | Kévin Le Gouguec | |
| 2019-07-04 | Mise à jour de l'implémentation tweakeyloop | Kévin Le Gouguec | |
| 2019-07-04 | Mise à jour des vecteurs de test | Kévin Le Gouguec | |
| 2019-07-04 | Ajout de la multiplication M⁴ | Kévin Le Gouguec | |
| - α₀ devient M - α₁ M² - α₂ M³ - α₃ M⁴ - α₄ M_R - α₅ M_R² - α₆ M_R³ | |||
| 2019-07-04 | Ajout d'un changelog pour les implémentations | Kévin Le Gouguec | |
| 2019-07-04 | Ajout d'un fichier de version | Kévin Le Gouguec | |
| L'idée étant que tous les scripts qui génèrent des dossiers au format crypto_aead consultent ce fichier au lieu de coder la version en dur. Un tag git pourrait probablement être utilisé au lieu d'un fichier. À réfléchir. | |||
| 2019-07-02 | Réécriture de M_R³ en Python | Kévin Le Gouguec | |
| 2019-07-02 | Réécriture de M_R² en Python | Kévin Le Gouguec | |
| 2019-07-02 | Réécriture de M_R en Python | Kévin Le Gouguec | |
| 2019-07-02 | Réécriture de M³ en Python | Kévin Le Gouguec | |
| 2019-07-02 | Parallélisation de la génération des vecteurs Python | Kévin Le Gouguec | |
| 2019-07-02 | Réécriture de M et M² en Python | Kévin Le Gouguec | |
| Pour que le lien avec la spec saute aux yeux. | |||
| 2019-07-02 | Ajustement de la cible "test" du Makefile | Kévin Le Gouguec | |
| La boucle précédente forçait l'arrêt au premier échec ; avec la nouvelle implémentation, "make -k" itère sur toutes les $(test_variants). Pratique pour afficher tous les vecteurs qui ont changé d'un seul coup… | |||
| 2019-07-02 | Correction des dépendances .o → .h | Kévin Le Gouguec | |
| 2019-07-02 | Homogénéisation de l'espacement du code | Kévin Le Gouguec | |
| - 2 lignes entre le dernier #include et le début du code, - 2 lignes avant le #endif final, - pas d'espaces superflus pour LANES_NB (résidu d'alignement avec d'autres variables) | |||
| 2019-07-01 | Factorisation de code dans l'implémentation à seuil | Kévin Le Gouguec | |
| Plus facile à lire, je trouve (pas besoin de se demander "c'est quoi cette division ?" à chaque fois). | |||
| 2019-06-27 | Déplacement de l'exemple d'implémentation de S-box dans sp3.1/ | Kévin Le Gouguec | |
| 2019-05-21 | Mise à jour de la version felicsref par rapport au dépôt sp4 | Kévin Le Gouguec | |
| Calcul des sous-clés à la volée pendant le chiffrement. | |||
| 2019-05-21 | Rajout d'inclusions manquantes | Kévin Le Gouguec | |
| 2019-05-21 | Dé-duplication de code dans l'implémentation FELICS | Kévin Le Gouguec | |
| Apparemment les différents gcc de FELICS arrivent encore à comprendre qu'ils peuvent inligner les multiplications ; c'est quand on passe par un tableau de pointeurs de fonction qu'ils baissent les bras. | |||
| 2019-05-21 | Réutilisation des multiplications dans l'implémentation FELICS | Kévin Le Gouguec | |
| Plutôt que d'ajouter -Wno-unused-functin, on pourrait aussi déclarer les multiplications "static inline", ce qui par convention esquive les avertissements sur la non-utilisation. | |||
| 2019-05-21 | Réutilisation de tweakey.c dans l'implémentation itérative | Kévin Le Gouguec | |
| 2019-05-21 | Réutilisation des multiplications dans l'implémentation à seuil | Kévin Le Gouguec | |
| 2019-05-21 | Correction de dépendances entre objets et entêtes | Kévin Le Gouguec | |
| Si e.g. multiplications.h changeait, tweakey.o n'était pas recompilé… | |||
| 2019-05-21 | Extraction des multiplications hors de tweakey.c | Kévin Le Gouguec | |
| De façon à ce que d'autres versions puissent réutiliser l'un ou l'autre. | |||
| 2019-05-20 | Inversion de la seconde boucle de la couche linéaire | Kévin Le Gouguec | |
| 1. Ça ressemble plus à ce qu'on voit sur le schéma. 2. Pour une raison obscure, la version incrémentée bouffe souvent plus de ROM et plus de cycles (jusqu'à 5% de ROM sur ARM). | |||
| 2019-05-20 | Mise à jour du patch de traces | Kévin Le Gouguec | |
| 2019-05-20 | Correction du calcul de Fj | Kévin Le Gouguec | |
| Problème introduit par 4aa9eec. | |||
