summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-26Implémentation du mode ΘCB3 : déchiffrementKévin Le Gouguec
Avec une suite de test qui passe.
2018-11-26Nettoyage des argumentsKévin Le Gouguec
2018-11-26Implémentation du mode ΘCB3 : chiffrement - message - tweakKévin Le Gouguec
Et 2-3 corrections au passage : - taille du tweak dans les commentaires - remplissage du tweak pour les données associées - ordre des arguments
2018-11-26Implémentation du mode ΘCB3 : chiffrement - messageKévin Le Gouguec
Reste le tweak. Au passage, 2-3 nettoyages (const-correctness, renommages de variables et suppressions de constantes pour essayer d'être plus proche de la spec visuellement).
2018-11-26Simplification de la signature de _xor_intoKévin Le Gouguec
2018-11-26Implémentation du mode ΘCB3 : chiffrement - données authentifiéesKévin Le Gouguec
2018-11-22Implémentation du mode ΘCB3 (suite)Kévin Le Gouguec
2018-11-22Implémentation du mode ΘCB3 (début)Kévin Le Gouguec
2018-11-22Ajout de la clé dans les paramètres de l'API AEKévin Le Gouguec
Herp derp.
2018-11-22Mise à jour de la permutation du key scheduleKévin Le Gouguec
Et des vecteurs de test.
2018-11-22Mise à jour des vecteurs de testKévin Le Gouguec
Herp derp.
2018-11-22Mise à jour de la S-box dans l'implémentationKévin Le Gouguec
Et des vecteurs associés… même si c'est tautologique pour le moment (i.e. les nouvelles sorties "attendues" ont été générées avec ce code de ref ; pas encore de confirmation de Léo pour le moment).
2018-11-22Mise à jour de la permutation du tweakey dans l'implémentationKévin Le Gouguec
2018-11-22Ajout de tests et de l'API pour le mode authentifiéKévin Le Gouguec
2018-11-22Remaniement de la suite de testKévin Le Gouguec
La comparaison avec les sorties attendues est faite directement dans le code ; libre au développeur d'aller differ les répertoires en cas de problème.
2018-11-22Ajout des fichiers demandés par le NISTKévin Le Gouguec
crypto_aead.h est fourni ici : https://csrc.nist.gov/CSRC/media/Projects/Lightweight-Cryptography/documents/TestVectorGen.zip
2018-11-22Déplacement de la taille de bloc vers parameters.hKévin Le Gouguec
Pas vraiment de raison, si ce n'est que ça simplifie la construction de l'api.h attendu par le NIST. Aussi, ajout de la taille du nonce.
2018-11-22Remplacement des #pragma once par des include guardsKévin Le Gouguec
La flemme de réfléchir aux problèmes de portabilité.
2018-11-22Ajout du test de déchiffrement et correction de l'implémentationKévin Le Gouguec
J'étais parti du principe que pour inverser non-linear layer r0 linear layer permutation layer … non-linear layer r31 linear layer / Il allait falloir faire non-linear layer r0 linear layer / … non-linear layer r31 linear layer permutation layer Mais en fait non, on procède comme au chiffrement : c'est le dernier tour qui saute la permutation. C'est bien précisé dans Lilliput (annexe B, figure 8). ✨ MathéMagie ✨
2018-11-22Ajout des vecteurs de test de déchiffrement de LéoKévin Le Gouguec
2018-11-22Renommage du test "cipher" en "tbc-encrypt"Kévin Le Gouguec
tbc-decrypt inbound.
2018-11-21Implémentation de la permutationKévin Le Gouguec
Toujours conforme au vecteur de test ! Le test passe, du coup. J'ai un doute sur la gestion des indices de π, ceci dit.
2018-11-21Implémentation de la couche linéaireKévin Le Gouguec
Toujours conforme au vecteur de test.
2018-11-21Implémentation de la couche non-linéaireKévin Le Gouguec
So far so good.
2018-11-21Ajout de traces pour cipher.c (fin)Kévin Le Gouguec
Plus qu'à implémenter maintenant.
2018-11-21Simplification des sorties attendues pour test-cipher.cKévin Le Gouguec
J'aimerais éviter de trimballer des variables dans toutes mes fonctions juste pour débugger.
2018-11-21Ajout de traces pour cipher.c (début)Kévin Le Gouguec
Implémentation de test-cipher.c en passant.
2018-11-21Renommage de debug_dump_buffer()Kévin Le Gouguec
Ce nom sera utilisé pour une fonction plus simple qui ne wrappera pas à 8 octets.
2018-11-21Ajout de l'entête de debug aux dépendances des fichiers concernésKévin Le Gouguec
2018-11-21Extraction du code de debug de tweakey.c dans un entêteKévin Le Gouguec
Pour que cipher.c puisse s'en servir.
2018-11-21Ébauche de déchiffrementKévin Le Gouguec
La gestion de la permutation est probablement pas élégante… 🤷
2018-11-21Ébauche du code de la partie TBCKévin Le Gouguec
I.e. définition des fonctions de haut-niveau ; reste à implémenter les fonctions en-dessous, et les sorties de debug.
2018-11-21Nettoyage diversKévin Le Gouguec
Notamment de la partie debug du tweakey, pour permettre de ne pas polluer la sortie des autres tests.
2018-11-21Ajout de la nouvelle suite de test dans le MakefileKévin Le Gouguec
2018-11-21Introduction de l'entête "parameters.h"Kévin Le Gouguec
Permet d'isoler les paramètres propres à la taille de clé et au mode ; normalement, le reste du code devrait être strictement identique d'un dossier à l'autre.
2018-11-21Remaniement de la gestion des testsKévin Le Gouguec
Permettra d'ajouter un nouveau test plus facilement.
2018-11-21Implémentation de la multiplication du tweakeyKévin Le Gouguec
2018-11-21Remaniement de la boucle de test du tweakeyKévin Le Gouguec
2018-11-21Mise à jour des vecteurs de Léo (suite)Kévin Le Gouguec
J'avais oublié - de virer le 33ème tour de null et full, - de mettre à jour les valeurs de random dans le code C TODO: lire ces valeurs automatiquement depuis le fichier de référence…
2018-11-21Mise à jour des vecteurs de LéoKévin Le Gouguec
Aucune idée de si null et full devraient aussi être mis à jour. Pour null j'ai l'impression que non ; pour full j'ai l'impression que si. 🤷
2018-11-20Implémentation de la permutation du tweakeyKévin Le Gouguec
… Et bien sûr, les résultats divergent. E.g. pour le vecteur random : Post permutation Tweakey : - b4 16 73 a9 ae 56 44 ca - f3 d1 19 a2 f1 00 13 28 - 25 0e 90 39 33 c5 28 33 - d2 ff 52 a5 12 73 5b 19 - 26 04 0b cf 2d 5e d4 4c + b4 73 ae 44 16 ca a9 56 + f3 19 f1 13 d1 28 a2 00 + 25 90 33 28 0e 33 39 c5 + d2 52 12 5b ff 19 a5 73 + 26 0b 2d d4 04 4c cf 5e
2018-11-20Implémentation de l'extraction du tweakeyKévin Le Gouguec
2018-11-20Refus des avertissements de compilationKévin Le Gouguec
Viens de me faire bouffer par un bug de formattage ; il était signalé par un warning, mais noyé sous la masse. Stop.
2018-11-20Respect des conventions de codeKévin Le Gouguec
TODO: trouver un linter qui détecte ce genre de bêtises…
2018-11-20Ajout des vecteurs Tweakey de LéoKévin Le Gouguec
2018-11-20Initialisation et dump du tweakeyKévin Le Gouguec
2018-11-20Ajout d'une ébauche de code de référenceKévin Le Gouguec
Lilliput-AE-Ⅰ-128 d'abord, pour comparer aux vecteurs obtenus par Léo.
2018-09-191ere version soumissionMINIER Marine