summaryrefslogtreecommitdiff
path: root/src/ref
AgeCommit message (Collapse)Author
2019-07-04Ajout de la multiplication M⁴Kévin Le Gouguec
- α₀ devient M - α₁ M² - α₂ M³ - α₃ M⁴ - α₄ M_R - α₅ M_R² - α₆ M_R³
2019-07-02Correction des dépendances .o → .hKévin Le Gouguec
2019-07-02Homogénéisation de l'espacement du codeKé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-05-21Correction de dépendances entre objets et entêtesKévin Le Gouguec
Si e.g. multiplications.h changeait, tweakey.o n'était pas recompilé…
2019-05-21Extraction des multiplications hors de tweakey.cKévin Le Gouguec
De façon à ce que d'autres versions puissent réutiliser l'un ou l'autre.
2019-05-20Inversion de la seconde boucle de la couche linéaireKé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-20Correction du calcul de FjKévin Le Gouguec
Problème introduit par 4aa9eec.
2019-05-20Réécriture de l'implémentation des couches non-linéaire et linéaireKé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-03Ajustement de la gestion du nonce pour ΘCB3Ké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-03Correction d'un commentaire du mode ΘCB3Kévin Le Gouguec
2019-05-03Correction du mode ΘCB3 quand sizeof(size_t)<8Kévin Le Gouguec
Bug introduit par 3bb63d9.
2019-05-02Homogénéisation de la gestion de l'index de bloc dans les tweaksKé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-22Simplification et documentation de pad10*Kévin Le Gouguec
Pas besoin de la condition. Ajout d'un exemple.
2019-03-14Correction de la génération du tweak pour ΘCB3Kévin Le Gouguec
L'implémentation de référence se basait sur les indices figurant dans le papier de Deoxys. Deux questions à résoudre, que d'autres se sont sans doute déjà posées : - Est-ce que ce l-1 est normal dans le papier de Deoxys ? - Est-ce que nos changements d'indices sont bien tous corrects ? En tout cas, les implémentations Python et C sont maintenant d'accord.
2019-03-12Homogénéisation de la déclaration des auteurs des implémentationsKévin Le Gouguec
Ça m'embêtait qu'on liste plusieurs personnes, puis qu'on dise "the implementer has…" ; repompé le "hereby denoted…" de Keccak.
2019-03-12Utilisation d'un générateur d'aléa pour l'implémentation à seuilKévin Le Gouguec
Un peu de machinerie à mettre en place pour permettre l'ajout de fichiers arbitraires dans une implémentation.
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-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-05Changement de l'implémentation de référenceKévin Le Gouguec
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.