summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-27Ajout de tests chiffrement/déchiffrement pour SCT-2Kévin Le Gouguec
2018-11-27Mise en commun du code TBC et ΘCB3Kévin Le Gouguec
Il ne devrait pas varier selon les paramètres AFAICT.
2018-11-27Ajout d'un test de déchiffrement ΘCB3Kévin Le Gouguec
2018-11-27Suppression du code de debugKévin Le Gouguec
Avec debug.h, il devrait être facile d'ajouter des traces en cas de besoin.
2018-11-26Changement des vecteurs de test pour le padding ΘCB3Kévin Le Gouguec
Régénérés par Léo avec 528 bits = 66 octets.
2018-11-26Correction de pad10*Kévin Le Gouguec
Tests toujours en vrac, vu que Léo rembourre des bits et moi des octets.
2018-11-26Ajout du test ΘCB3 avec padding de LéoKévin Le Gouguec
Le test ne passe pas pour le moment ; les résultats de Léo ont été calculés avec |M| = 521 bits ; l'implémentation en C ne gère que des tailles en octet pour le moment.
2018-11-26Corrections diverses sur ΘCB3Kévin Le Gouguec
Et les tests passent. Merci Léo !
2018-11-26Correction d'un XOR intempestifKévin Le Gouguec
"Tiens c'est marrant mon octet vaut zéro un coup sur deux." (Test toujours KO pour le moment)
2018-11-26Ajout du vecteur ΘCB3 de LéoKévin Le Gouguec
Différent de la version C, pour le moment.
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. 🤷