| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-10-03 | Ajout d'une implémentation de Lilliput-TBC | Kévin Le Gouguec | |
| Pour ajouter un exemple dans le livrable D4.2. | |||
| 2019-07-10 | Merge branch 'fix-vhdltbc' | Kévin Le Gouguec | |
| 2019-07-09 | Corrections des entrées et du traitement de ces entrées | Gaetan Leplus | |
| 2019-07-05 | Renommage des variables intermédiaires du tweakey schedule | Kévin Le Gouguec | |
| x_{M^2,i} me semble moins lisible que b_i, et pas forcément plus facile à traduire en (M²·x)[i]. | |||
| 2019-07-05 | Suppression d'une variable intermédiaire dans add_felicsref | Kévin Le Gouguec | |
| Pas sûr que la variable soit utile dans les autres… 🤷 | |||
| 2019-07-05 | Utilisation de "size_t" pour l'indexation d'un tableau | Kévin Le Gouguec | |
| Cf. db83bae et 5fdd2fd, surtout par souci d'homogénéité. | |||
| 2019-07-05 | Merge remote-tracking branch 'origin/master' into fix-vhdltbc | Gaetan Leplus | |
| 2019-07-05 | Ajout de benchmark autotestant | Gaetan Leplus | |
| 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. db83bae, surtout par souci d'homogénéité. | |||
| 2019-07-05 | Correction de la double inversion des entrées et de la création des tableaux | Gaetan Leplus | |
| 2019-07-04 | Remplacement de la version vhdltbc par la version optimisée et corrigée | Gaetan Leplus | |
| 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 3a57031. | |||
| 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 ce047dd. | |||
| 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 ↵ | 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 VHDL | Gaetan Leplus | |
