| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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 | 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 | 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 | 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 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 | Ajout de la multiplication M⁴ | Kévin Le Gouguec | |
| - α₀ devient M - α₁ M² - α₂ M³ - α₃ M⁴ - α₄ M_R - α₅ M_R² - α₆ M_R³ | |||
| 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 | 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 | 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-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 | Correction du calcul de Fj | Kévin Le Gouguec | |
| Problème introduit par 4aa9eec. | |||
| 2019-05-20 | Réécriture de l'implémentation des couches non-linéaire et linéaire | Kévin Le Gouguec | |
| Changements mineurs : - remplacement du tableau intermédiaire F par une fonction, - réécriture de la couche linéaire avec des boucles. Le but est d'améliorer la lisibilité par rapport à la spécification, tout en limitant les différences avec la version "felicsref". | |||
| 2019-05-16 | Ajout de traces pour la version threshold | Kévin Le Gouguec | |
| Pour aider à l'implémentation VHDL. | |||
| 2019-05-03 | Ajustement de la gestion du nonce pour ΘCB3 | Kévin Le Gouguec | |
| Ajout du nonce dans le tweak une bonne fois pour toute à l'initialisation de l'algorithme, au lieu de le rajouter à chaque tour de boucle. Similaire à notre implémentation de SCT-2, et à l'implémentation de référence de Deoxys-I. | |||
| 2019-05-03 | Correction d'un commentaire du mode ΘCB3 | Kévin Le Gouguec | |
| 2019-05-03 | Correction du mode ΘCB3 quand sizeof(size_t)<8 | Kévin Le Gouguec | |
| Bug introduit par 3bb63d9. | |||
| 2019-05-02 | Utilisation de "size_t" pour l'indexation d'un tableau | Kévin Le Gouguec | |
| Surtout par souci d'homogénéité. | |||
| 2019-05-02 | Homogénéisation de la gestion de l'index de bloc dans les tweaks | Kévin Le Gouguec | |
| - "block number" → "block index" - "192" → "t" - boucle de copie de l'index - utilisation de size_t : - par définition, aucune implémentation ne pourra traiter plus d'octets que SIZE_MAX (donc pas plus de blocs), - pas de raison de forcer un index de 64 bits sur ces pauvres ATmega et MSP430. | |||
| 2019-03-27 | Update ↵nist-submission-2019-03-27 | Gaetan Leplus | |
| SOUMISSION_NIST/REFERENCE_IMPLEMENTATION/src/add_vhdltbc/decrypt/crypt_pack.vhd, SOUMISSION_NIST/REFERENCE_IMPLEMENTATION/src/add_vhdltbc/decrypt/top.vhd, SOUMISSION_NIST/REFERENCE_IMPLEMENTATION/src/add_vhdltbc/encrypt/crypt_pack.vhd files | |||
| 2019-03-27 | Quelques corrections de dernière minute sur les implems VHDL | Kévin Le Gouguec | |
| 2019-03-26 | [implem-vhdl] Ajout d'un entête avec auteurs et dédicace CC0 | Kévin Le Gouguec | |
| 2019-03-26 | [implem-vhdl] Déplacement dans SOUMISSION_NIST | Kévin Le Gouguec | |
| 2019-03-26 | [implem-vhdl] Ajout des sources de Gaëtan | Kévin Le Gouguec | |
| 2019-03-26 | Add new directory: add_vhdl | Gaetan Leplus | |
| 2019-03-25 | Merge branch 'refactor-python-implem' | Kévin Le Gouguec | |
| 2019-03-25 | [implem-python] Ajustements dans _tweak_message | Kévin Le Gouguec | |
| Hopefully, le résultat est plus clair en construisant le tweak par concaténations progressives. | |||
| 2019-03-25 | [implem-python] Retrait de range()s et variables intermédiaires | Kévin Le Gouguec | |
| 2019-03-25 | [implem-python] Suppression d'une ligne de '#' | Kévin Le Gouguec | |
| 2019-03-25 | [implem-python] Construction de _tweak_message par concaténation | Kévin Le Gouguec | |
| Et petits nettoyages par-ci par-là. | |||
| 2019-03-25 | [implem-python] Suppression de variables intermédiaires | Kévin Le Gouguec | |
| Le code résultant ressemble plus à ce qui est décrit dans les algorithmes 3 et 4. | |||
| 2019-03-25 | [implem-python] Simplification de _tweak_tag | Kévin Le Gouguec | |
| Très similaire à ae_common._tweak_associated_data. | |||
| 2019-03-25 | [implem-python] Simplification de _add_tag_j | Kévin Le Gouguec | |
| 2019-03-25 | [implem-python] Remplacement de _tweak_tag_end par une concaténation | Kévin Le Gouguec | |
