summaryrefslogtreecommitdiff
path: root/src/ref/lilliput-i.c
AgeCommit message (Collapse)Author
2019-07-05Changement de la concaténation des chaînes de bitsKé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-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 ce047dd.
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-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-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.