| Age | Commit message (Collapse) | Author |
|
Utilisation d'une enum, pour que les valeurs possibles soient
explicites.
Renommage des points d'entrée pour qu'ils soient uniformes et
interchangeables.
Transformation du tag en liste plus bas pour que lilliput.py ne se
soucie pas des détails d'implémentation des fonctions en-dessous.
|
|
Et des fonctions d'initialisation. Et d'une fonction non-utilisée dans
le mode SCT-2.
|
|
|
|
|
|
En passant :
- remplacement de paramètres 0/1 par des booléens/des enums (pour
TweakMessage en particulier, ça simplifie pas mal la logique)
- construction de M (resp. C pour le déchiffrement) au fur et à
mesure, i.e. avec des listes vides, plutôt qu'en pré-allouant des
tableaux potentiellement trop gros en cas de padding
|
|
On peut tout déduire de len(tweak) / len(key) ; la seule raison
d'utiliser autant de constantes en C est que les tableaux se dégradent
en pointeurs, donc c'est où les constantes, où une tétrachiée
d'arguments.
|
|
Retrait de quelques variables globales par la même occasion. Renommage
de "round" en "i" pour 1) coller à la spec 2) éviter le conflit avec
le builtin "round".
|
|
|
|
tweak_bits est constant pour un mode donné ; rounds se déduit de la
taille de clé.
|
|
Création d'un nouveau module "helpers" qui contiendra les fonctions
utilisées par les deux modes.
|
|
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.
|
|
Et ré-adaptation de l'API de lilliput.py pour simplifier
l'interfaçage ; et retrait des print() pour accélérer la génération
des vecteurs (qui même comme ça prend 2 bonnes minutes).
NB : pour le moment, les vecteurs ne correspondent pas…
|
|
|