440 likes | 734 Views
Derniers progrès en cryptographie basée sur code - 2011. Sommaire : domaines en progrès. Chiffrement Identification Signature Cryptographie à clé secrète. Rappel du contexte de la cryptographie basée sur code.
E N D
Sommaire : domaines en progrès Chiffrement Identification Signature Cryptographie à clé secrète
Rappel du contexte de la cryptographie basée sur code En 1978, alors que Rivest, Shamir et Adleman proposaient le célèbre algorithme R.S.A, R. McEliece a proposé un algorithme de chiffrement basé sur les codes correcteurs d’erreurs : introduire des erreurs dans le message que seul le destinataire peut corriger. Plus tard, il a été montré que, si un ordinateur quantique venait à exister, tous les systèmes basés sur la factorisation ou le logarithme discret seraient cassés (dont RSA !). Seul résistant aux attaques quantiques : cryptographie basée sur code. Depuis Mc Eliece, des versions améliorées ont vu le jour.
Depuis 1994 divers schémas tentent d’améliorer celui de McEliece…
Mais s’ils ont l’avantage d’être plus rapide que RSA, ils présentent toutefois des inconvénients freinant son exploitation…
Sommaire : domaines en progrès • Chiffrement • 1er pas : réduction de la taille des clés publiques • Identification • Signature • Cryptographie à clé secrète
Comment réduire la taille des clés publiques ? • Solution: Codes de Goppa « Quasi Dyadique » méthode qui, à partir de la 1e ligne de la matrice, génère toute la matrice via des permutations circulaires. • Résultat : 500kbits => 20 kbits ! • Très sécurisé : • Indistinguabilité d’un code de Goppa permuté par rapport aux codes linéaires dont on peut retrouver la structure.
Sommaire : domaines en progrès • Chiffrement • Identification • 1ère voie : preuve à divulgation nulle de connaissance • Signature • Cryptographie à clé secrète • Cryptanalyse
Défi du schéma de Stern : comment prouver la connaissance d’un secret sans le dévoiler ? Sa
Preuve à divulgation nulle de connaissance (défi) • Caractéristiques du schéma d’identification à divulgation nulle de connaissance • Basé sur le problème du décodage par syndrome (H x e = S) • Probabilité de triche de 2/3 pour chaque tour • Pour une sécurité de 280 -> 150 tours nécessaires
Sommaire : domaines en progrès • Chiffrement • Identification • 1ère voie : preuve à divulgation nulle de connaissance • 2ème voie : code de Goppa QC et Q-aire • Signature • Cryptographie à clé secrète
Code de Goppa QC et Q-aire • Code de Goppa Quasi-Cyclique : réduit le temps d’authentification et de signature par 5. • Code Q-aire : elle consiste à envoyer une valeur de défi aléatoire de Fq par le vérificateur après réception des deux engagements de l'expéditeur. Ce dernier renvoie la clé secrète brouillé par un vecteur aléatoire, une permutation aléatoire et le défi aléatoire. Probabilité de tricher : ½ (au lieu de 2/3).
Sommaire : domaines en progrès • Chiffrement • Identification • 1ère voie : preuve à divulgation nulle de connaissance • 2ème voie : code de Goppa QC et Q-aire • 3ème voie : schémas de Véron et CVE • Signature • Cryptographie à clé secrète
Sommaire : domaines en progrès • Chiffrement • Identification • Signature : les nouveaux systèmes de signatures basés sur code • QD-CFS • Parallel-CFS • BMS-OTS • Cryptographie à clé secrète
Schéma de Signature CFS d : message à signer h : fonction de hachage(public) H : matrice de parité Signataire : M=h(d); i=0; s(i)=h(M||i); tant que(s(i)) n'est pas décodable i=i+1; s(i)=h(M||i); chercher e avec h(M)=H'*e; renvoyer e et i; Vérifieur : h(M||i) = H'*e Avantages: - meilleure résistance aux attaques - signature est courte Inconvénients: - taille de clé est grande - temps de calcul est lent
Les 3 voies d’amélioration des signatures • QD-CFS : Quasi-Dyadique Courtois-Finiasz-Sendrier • Parallel-CFS : - génère deux CFS signatures en parallèle avec deux fonctions de hachage différentes pour un même message. • BMS-OTS (Syndrome-based One-Time Signature scheme) : schéma de signature basésur le problème de décodage par syndrôme et repose sur la difficulté à décoder des codes binairesaléatoires.
Sommaire : domaines en progrès • Chiffrement • Identification • Signature : les nouveaux systèmes de signatures basés sur code • Cryptographie à clé secrète • SB et FSB
Syndrome Based hash function (SB) et FastSyndrome Based hash function (FSB) • SB • Entrée : • un message de taille de s • Convertir en mot régulier de n bits et de poids w • multiplier par la matrice H pour obtenir r • Sortie : • r • FSB • Entrée : • un message de taille de s • Convertir en une séquence de w nombres si, i parmi 1 et n/w, • (n étant le nombre de colonnes de H) • Ajouter les colonnes correspondant à la matrice H(i) pour obtenir r • Sortie : • r
Sommaire : domaines en progrès • Chiffrement • Identification • Signature : les nouveaux systèmes de signatures basés sur code • Cryptographie à clé secrète • SB et FSB • FSB SHA-3, RFSB, SYND
FSB SHA-3 • Il utilise un code quasi-cyclique pour réduire le stockage de la clé. • Il offre une sécurité à un plus grand niveau pour le problème du décodage par syndrome. • Il est désigné suivant la transformation de Merkle-Damgård. • Beaucoup plus sécurisé
RFSB • Il suit la construction de Merkle–Damgård. • Le message est coupé en petits blocs et chaque bloc passe via une fonction aléatoire et à la fin, est combiné par XOR . • La fonction aléatoire est représentée par une matrice binaire aléatoire. Aucun algorithme d'encodage est utilisé, et la matrice n'est pas quasi-cyclique : celle-ci est plus petite que la matrice FSB .
Chiffrement par flot SYND • Cette méthode est une amélioration de « Fisher-Stern pseudo-aléatoire ». • Principe : • Remplacer une matrice aléatoire par une QC matrice aléatoire->réduire le stockage de mémoire. • Utiliser la technique régulière d'encodage en introduisant des mots réguliers ->plus rapide ! • -> mais moins sûr...
Sommaire : domaines en progrès Chiffrement Identification Signature : les nouveaux systèmes de signatures basés sur code Cryptographie à clé secrète
Conclusion De nombreuses améliorations ont été apportées en matière de chiffrement, identification, signature, clé privée et cryptanalyse dans la section de cryptographie basée sur les codes correcteurs d'erreurs. La meilleure méthode n'existe pas, il faut choisir une méthode optimale en fonction de situation. Il y a encore beaucoup de travail pour améliorer le sécurité et réduire la taille de clé.
Fonctionnement des Codes de Goppa QD Code linéaire mais circulaire. À partir d’un polynôme secret projeté sur une base de vecteurs, on peut générer une matrice entière par permutations circulaires des éléments de sa première ligne. Économie de mémoire considérable.
Cryptanalyseattaques • Attaques par décodage direct : essayer directement de décoder 1 décodage par ensemble d'information résoudre pour le problème SD 2 Algorithme des anniversaires • Attaques structurelles