Plan. Cryptographie à clé publique II. Exemple. Un autre problème di. Bruno MARTIN, Université Nice Sophia Antipolis. par RSA par El Gamal



Documents pareils
Cryptographie. Cours 3/8 - Chiffrement asymétrique

Fonction de hachage et signatures électroniques

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Cryptographie et fonctions à sens unique

Politique d utilisation par AC. Certification et protocoles. Contenu d un certificat (X.509)

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

ÉPREUVE COMMUNE DE TIPE Partie D

Cours 14. Crypto. 2004, Marc-André Léger

Sécurité des réseaux IPSec

D31: Protocoles Cryptographiques

Annexe 8. Documents et URL de référence

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

Gestion des clés. Génération des clés. Espaces de clés réduits. Mauvais choix de clés. Clefs aléatoires. Phrases mots de passe

Signature électronique. Romain Kolb 31/10/2008

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

Plan de l exposé. La sécurité informatique. Motivation & risques. Quelques chiffres. Introduction. Un premier exemple. Chiffres à clé secrète

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

Le Passeport Biométrique. Benoit LEGER CISSP ISO LD

Architectures PKI. Sébastien VARRETTE

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

La sécurité dans les grilles

Les protocoles cryptographiques

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

Protocoles d authentification

Les fonctions de hachage, un domaine à la mode

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Livre blanc. Sécuriser les échanges

Chapitre 3 : Crytographie «Cryptography»

TD n o 8 - Domain Name System (DNS)

Signatures électroniques dans les applications INTERNET

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Du 03 au 07 Février 2014 Tunis (Tunisie)

PUBLIC KEY INFRASTRUCTURE. Rappels PKI PKI des Impôts PKI de la Carte de Professionnel de Santé

Authentification de messages et mots de passe

«La Sécurité des Transactions et des Echanges Electroniques»

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Le protocole sécurisé SSL

Protocoles cryptographiques

Certificats et infrastructures de gestion de clés

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

TECHNIQUES DE CRYPTOGRAPHIE

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Panorama de la cryptographie des courbes elliptiques

L exclusion mutuelle distribuée

UNIVERSITE DE NICE-SOPHIA ANTIPOLIS ECOLE DOCTORALE STIC SCIENCES ET TECHNOLOGIES DE L INFORMATION ET DE LA COMMUNICATION THESE

La citadelle électronique séminaire du 14 mars 2002

IPSEC : PRÉSENTATION TECHNIQUE

EMV, S.E.T et 3D Secure

Le protocole SSH (Secure Shell)

Sécurité de l'information

Mécanismes de configuration automatique d une interface réseau, aspects sécurité

Gestion des certificats digitaux et méthodes alternatives de chiffrement

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

TIW4 : SÉCURITÉ DES SYSTÈMES D INFORMATION

Gestion des Clés Publiques (PKI)

Introduction à l étude des Corps Finis

Cryptographie Quantique

Journées MATHRICE "Dijon-Besançon" DIJON mars Projet MySafeKey Authentification par clé USB

La sécurité des réseaux. 9e cours 2014 Louis Salvail

: protection de la vie privée dans le contexte des services mobiles sans contact

Gilles GUETTE IRISA Campus de Beaulieu, Rennes Cedex, France

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

Club Utilisateurs 2 ème Réunion, 8 Octobre 2014 International RFID Congress, Marseille. Diffusion Restreinte

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Sécurité WebSphere MQ V 5.3

Pascal Gachet Travail de diplôme Déploiement de solutions VPN : PKI Etude de cas

Les risques liés à la signature numérique. Pascal Seeger Expert en cybercriminalité

Secure de la Suva. Brochure à l intention des cadres et des responsables informatiques

Le partage de clés cryptographiques : Théorie et Pratique

SSH, le shell sécurisé

Quelques tests de primalité

Cryptographie à clé publique : Constructions et preuves de sécurité

Audit des risques informatiques

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

Cryptologie à clé publique

Rapport de certification

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Réseaux Privés Virtuels

Devoir Surveillé de Sécurité des Réseaux

Protocoles d`authentification. Refik Molva et Yves Roudier. Institut EURECOM, BP 193 Sophia Antipolis Cedex - France

ETUDE DES MODELES DE CONFIANCE

Géométrie des nombres et cryptanalyse de NTRU

MEMENTO Version

Introduction à la Sécurité Informatique

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Transcription:

Plan Cryptographie à clé publique II 1 Bruno MARTIN, Université Nice Sophia Antipolis 2 3 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 1 Un autre problème di cile Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 2 DLP : problème du logarithme discret de y en base g Problème Instance : g, y 2 G, groupe fini Question : trouver x tel que g x ydansg ou, pour p un grand premier, g un générateur de G = Z? p, g x y mod p et x = log g (y) mod p Plus généralement, tout y 2 G possède un logarithme discret en base g ssi G cyclique de générateur g. Soit G = Z? 7 groupe cyclique, d ordre 6. Pour le logarithme en base 2, seuls 1, 2 et 4 possèdent un logarithme discret. En base g=3, on obtient le tableau suivant : nombre y 1 2 3 4 5 6 logarithme 6 2 1 4 5 3 Par exemple pour nombre = 1 et log = 6. Cela signifie que log 3 1 = 6, ce qu on vérifie par 3 6 mod 7 = 1. Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 3 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 4

Calcul du logarithme discret Shanks S applique à tout groupe fini G. Complexité en temps O( p G log G ) enespaceo( p G ) Idée : construire deux listes de puissances de g : une liste de petits pas {g i : i =0..d p ne 1} avec n = G n une liste de pas de géant y g dp nej : j =0..d p o ne. Puis trouver un terme commun aux 2 listes. Ainsi, g i 0 = y(g j 0d p ne )etm = i 0 + j 0 d p ne Calcul du log. discret de groupes de faible cardinalité facile, opération di cile quand le cardinal de G croît. Shanks Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 5 On travaille dans Z 113 =< 3 > d ordre n = 112 ; p n = r = 11. On cherche le logarithme discret de y = 57 en base g =3: Liste (non ordonnée) des petits pas, forme (exposant, valeur) : B = {(0, 1), (1, 3), (2, 9), (3, 27), (4, 81), (5, 17), (6, 51), (7, 40), (8, 7), (9, 21), (10, 63)} Liste (non ordonnée) des pas de géant, forme (exposant, valeur) : L = {(0, 57), (1, 29), (2, 100), (3, 37), (4, 112), (5, 55), (6, 26), (7, 39), (8, 2), (9, 3), (10, 61), (11, 35)} 3 est commun aux petits pas et aux grands pas, il a été engendré pour i 0 =1danslalisteB et pour j 0 =9danslalisteL. Le logarithme discret que l on cherchait est x = i 0 + r.j 0 = 100. Vérification : on calcule g x mod 113 = 57. Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 6 Le chi re d El Gamal [1] Algorithme : Entrée : n le cardinal de G,g et y 2 G Sortie : logarithme discret de y en base g dans G. r := d p ne Construire la liste B := {g i : i =0..d p ne 1} Construire la liste L := {y(g dp nej ):j =0..d p ne} Trier les listes B et L selon un ordre sur les g i et les g rj. Trouver i 0 et j 0 tel que : g i 0 = yg rj 0. RETURN(i 0 + j 0 r). Preuve : Pour r = d p ne, on a : Construction des listes : r +1+r opérations de groupes : O(r) Tri des listes : O(r log(r)) Recherche d un même élément dans deux listes triées : O(log(r)) Repose sur le problème du logarithme discret. 1 choisir p premier t.q. DLP est dur dans Z p? 2 choisir 2 Z p? un élément primitif 3 choisir 2 apple a < p 1, la clé privée 4 calculer a mod p 5 clé publique : p,,. Chi rer : E :(x, k) 7! (y 1 = k mod p, y 2 = x k mod p)? pour k aléatoire secret de Z p 1 Déchi rer : (y 1, y 2 ) 7! y 2 (y a 1 ) 1 mod p ElGamal Rockstar Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 7 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 9

Fonctionnement E :(x, k) 7! (y 1 = k mod p, y 2 = x k mod p) k aléatoire secret de Z p 1?. Clair est masqué par k. Valeur de k transmise comme partie du chi ré comme y 1. Bob, avec sk a, calcule k = ak. Comme = a,ilcalcule ( k ) a = k.resteàmultipliery 2 par ( k ) 1 mod p = x. Observons que le chi ré est deux fois plus long que le clair. Soit p = 2579, = 2, a = 765. =2 765 mod 2579 = 949. Alice veut transmettre x = 1299 à Bob. Elle choisit k 2 Z? p = 853 et calcule ( mod 2579) : y 1 =2 853 = 435 y 2 = 1299.(949) 853 = 2396 Bob reçoit (435, 2396) et connait a = 765. Ilcalcule(y 1 ) a mod p = 435 765 mod 2579 = 2424, cherche l inverse mod p par Euclide étendu : (2424, 2579) = 599.2424 + 563.2579 = 1, ( k ) 1 = 599 = 1980. Puis il calcule 2396.1980 mod 2579 = 1299. Di Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 10 culté du logarithme discret Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 11 Computational Di e Hellman CDH G = hgi d ordre p 1, 8y 2 G, 9!x : g x = y (on note x = log g y) DLP : donnés g, y, calculerx dans G. G algo polytime : entrée 1 n retourne G = hgi d ordre p 1. Expérience DLog A,G (n) : lance G(1 n ) pour avoir (G, p, g) (générateur de groupe) y u G A reçoit (G, p, g, y) et retourne x résultat expérience 1 si g x = y sinon 0 Définition (Hypothèse DH) Le pb du log discret est di cile pour G si pour tout algo A PPT, il existe negl : Pr(DLog A,G (n) = 1) apple negl(n) hgi = G y 1, y 2 2 G DH g (y 1, y 2 ) = g log g y 1 log g y 2 y 1 = g x y 2 = g z ) DH g (y 1, y 2 )=g xz =(y 1 ) z =(y 2 ) x CDH = calculer DH g (y 1, y 2 ) pour y 1, y 2 choisis au hasard Si DLP relatif à G facile, CDH aussi Si log discret di cile, CDH di cile? Les problèmes CDH et DDH permettent de construire de bons G Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 12 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 13

Decisional Di ehellmanddh Lemme utile DDH revient à distinguer DH g (y 1, y 2 ) d un élément aléatoire de G : pour y 1, y 2 u G et y 0 une solution, DDH revient à décider si y 0 = DH g (y 1, y 2 ) ou si y 0 u G. Définition DDH est di cile relativement à G si, pour tout algo D PPT, il existe negl. tq Pr(D(G, p, g, g x, g y, g z )=1) pour G(1 n ) qui renvoie (G, p, g) et x, y, z u Pr(D(G, p, g, g x, g y, g xy )=1) apple negl(n) Z p Le multiple d un élément y tiré uniformément est unif. distribué. Ou, y 0 ne contient pas d information sur m. Lemme G groupe fini, m 2 G qcq. Les distrib. de probabilité relatives à : y u Gety 0 := m y y 0 u G sont identiques. Autrement dit, 8ŷ 2 G, Pr(m y =ŷ) =1/]G ŷ 2 G qcq. Alors Pr(m y =ŷ) =Pr(y = m 1 ŷ). Comme y u G, la proba. pour que y soit un élément donné de G est 1/]G Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 14 ElGamal (rappel) Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 15 IND-EAV : PubK EAV A, PubKCPA A, Le chi re d ElGamal est : Gen :1 n 7! G(1 n ) 7! (G, p, g), a u Z? p, := g a ; pk =(G, p, g, )etsk =(G, p, g, a) E : reçoit (pk, m); k u Z? p ; renvoie c =(y 1, y 2 )=(g k, m k ) D : reçoit sk et c =(y 1, y 2 ) ; renvoie m := y 2 (y a 1 ) 1 Théorème Si DDH est di cile pour G, ElGamalestIND-CPA. Comparer fonctionnement de à celui de 0 qui ressemble syntaxiquement à en remplaçant toutes ses sorties par des VA. On montre IND-EAV plutôt que IND-CPA (équivalent). 1 Gen(1 n )produit(pk, sk) 2 A reçoit pk et retourne m 0, m 1 2 M(pk) de même long. 3 b u {0, 1} ; c E pk (m b )etenvoyerc à A 4 A retourne un bit b 0 5 A réussit l expérience (i.e. renvoie 1) ssi b = b 0 Définition est CPA-sûr si, pour tout adversaire A PPT, il existe negl(.) tq : Pr(PubK CPA A, (n) = 1) apple 1 2 + negl(n) On pose : "(n) =Pr(PubK EAV A, (n) = 1) qu il faut évaluer. Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 16 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 17

Le chi re 0, pas déchi rable mais convenable pour A Algo D PPT qui résout DDH relativement à G Gen =Gen rend pk =(G, p, g, )etsk =(G, p, g, a) E : donné (pk, m); y, z u Z? p ;rendc =(y 1, y 2 )=(g y, mg z ) Par le lemme : y 2 unif. distribué sur G et indépendant de m y 1 est unif. distribué et indépendant de m. On ne tire pas d information sur m à partir de c : Pr(PubK EAV A, 0(n) = 1) = 1 2 D reçoit pk et c :(G, p, g, g x = g xy g 3 = g z où x, y, z u Z? p., g y = y 1, g 3 = y 2 )avec pk := (G, p, g, g x = )etappellea pour obtenir m 0, m 1 b u {0, 1} ; y 1 := g y et y 2 := m b g 3 donne (y 1, y 2 )àa qui renvoie b 0 résultat expérience 1 si b 0 = b sinon 0 Deux comportements possibles pour D selon g 3 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 18 g 3 = g z g 3 = g xy par hyp. DDH di A,appeléparD fonctionnera ĉ ds PubK EAV A, 0 (n) sur un chi ré de la forme (g y, mg z ). Donc Pr(D(pk, g y, g z ) = 1) = Pr(PubK EAV A, 0(n) = 1) = 1/2 A,appeléparD fonctionnera ĉ ds PubK EAV A, (n) sur un chi ré de la forme (g y, m(g x ) y ). Donc Pr(D(pk, g y, g z ) = 1) Pr(D(pk, g y, g xy ) = 1) Pr(D(pk, g y, g xy ) = 1) = Pr(PubK EAV A, (n) = 1) = "(n) cile pour G donc 9 negl. tq negl(n) = 1/2 "(n) ) "(n) apple 1/2 + negl(n) Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 19 Partage des paramètres Dans la définition d ElGamal, on demande aux sujets de lancer G pour engendrer G, p, g. En pratique, ces paramètres sont souvent engendrés une fois pour toutes. P.e. un admin système peut fixer ces paramètre pour un paramètre de sécurité donné n et tout le monde peut partager ces valeurs. Dans un BSD sous /etc/moduli. Demander man moduli DESCRIPTION The /etc/moduli file contains prime numbers and generators for use by sshd in the Diffie-Hellman Group Exchange key exchange method. Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 20 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 21

Objectifs des PKI Où se tenir au courant? confidentialité : message chi ré doit rester secret. authentification : assurance de l authenticité (expéditeur/origine) identification : preuve électronique de son identité intégrité : message n a pas été altéré durant la transmission non répudiation : l expéditeur ne peut nier l envoi du message Techniques utilisées signature : moyen d associer l expéditeur à un message certificat : attestation (d un tiers) confirmant une a (d identité) tiers de confiance : autorité qui délivre les certificats rmation estampillage : ajout dates ou jetons! unicité du message Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 22 Tous les standards sont enregistrés dans les PKCS 1 qui se trouvent à http://www.rsasecurity.com/rsalabs/pkcs/ These standards cover RSA encryption, Di e-hellman key agreement, password-based encryption, extended-certificate syntax, cryptographic message syntax, private-key information syntax, and certification request syntax, as well as selected attributes. 1. Public Key Cryptographic Standards Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 23 Cahier des charges But traditionnel de la crypto : assurer la confidentialité. Autre application : les signatures introduites par Di eethellman. But des signatures : garantir intégrité et authentification. Signature dépend de l id. du signataire et du contenu du message. Signature empêche deux types de fraudes : la falsification de la signature par le destinataire ; la non-reconnaissance du message par l expéditeur. Utilisation électronique légale depuis le 29 février 2000 Art.3 :L écrit sur support électronique a la même force probante que l écrit sur support papier Le cahier des charges d une signature S(M) est: elle doit être calculable par le signataire pour tout message M ; tout individu (surtout le destinataire) peut la vérifier ; elle doit être impossible à falsifier ; l expéditeur ne doit pouvoir a rmer que sa signature a été imitée. Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 24 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 25

Mécanisme général de signature Expérience Sig-forge A, (n) Une signature est composée de 3 algos PPT : génération de clés noté gen (pk, sk) fonction de 1 n signature (privée) noté sig qui, pour une clé fixée sk, retourne une signature s pour un clair m ; sig sk (m) =s vérification (déterministe et publique) noté ver qui, à une clé fixée pk et pour tout couple clair/signature (m, s) vavérifier si la signature correspond bien au clair. vrai si s =sigpk (m) ver pk (m, s) = faux si s 6= sig pk (m) Formalise l attaque du faussaire (Adversaire change m et calcule une signature valide en usurpant l identité de Bob). L expérience Sig-forge A, (n) : 1 Gen(1 n )produit(pk, sk) 2 A reçoit pk et l accès à un oracle Sig sk (.) 2. A renvoie (m, s). Soit Q l ensemble des messages pour lesquels A a eu recours à l oracle 3 A réussit l expérience (i.e. renvoie 1) ssi 1 ver pk (m, s) =1et 2 m 62 Q Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 26 Sécurité des signatures Sig-forge A, (n) 2. l oracle fournit sig sk (m) àtoutm choisi par A Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 27 Signer avec RSA Bob désire envoyer un message M signé à Alice. Paramètres RSA : Définition Un mécanisme de signature est existentiellement infalsifiable pour une attaque adaptative à messages choisis si pour tout adversaire A PPT, il existe negl tq : Pr(Sig-forge A, (n) = 1) apple negl(n) Procédé de signature : Vérification : Privés Publics Alice d A n A, e A Bob d B n B, e B sig sk (M) =M d B mod n B = S ver pk (M, S) =vrai, S e B mod n B M Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 28 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 29

d envoi d un message secret signé (RSAKE) Falsification sans message Comment Bob peut-il envoyer à Alice un message secret signé? Fonctions de chi rement et de déchi rement d Alice et Bob : Privés Publics Alice D A (C) =C d A mod n A E A (M) =M e A mod n A Bob D B (C) =C d B mod n B E B (M) =M e B mod n B Bob envoie le message C = E A (D B (M)) Et Alice le déchi re en E B (D A (C)) Pour cela, il faut que M < n B < n A. Faussaire reçoit pk =(n, e), choisit s 2 Z? n calcule m := s e (m, s) valide qui n a pas été signé par le propriétaire de sk! mod n Faussaire n a pas le choix de m mais... que se passe-t-il dans le cas d une authentification par défi? Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 30 Falsification d un message choisi Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 31 C est plus sûr en hachant! Si le faussaire obtient 2 signatures du propriétaire de sk il peut signer un message m de son choix : m 1 u Z? n m 2 := m.m 1 1 mod n obtient s 1 et s 2, signatures de m 1 et m 2 s := s 1 s 2 mod n signe m! Vous acceptez de signer n importe quoi? Et vous savez si votre protocole favori signe ce qu on lui présente? En remplaçant m par h(m), la signature devient plus sûre (hashed RSA signature scheme). Il faut h résistante aux collisions, sinon, on trouve m 1 6= m 2 avec h(m 1 )=h(m 2 ) qui donnent les mêmes signatures. Les 2 attaques précédentes échouent (du fait de CR de h) Utilisé en pratique ; sous certaines hypothèses, prouvé sûr avec SHA-1. Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 32 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 33

Signature Soit p un nombre premier pour lequel DLP est di cile dans Z p et un générateur de Z p. Le message M 2 Z p et sa signature est (M, S) 2 Z p Z p Z p 1.L ensembledesclésest K = {(p,, a, ): = a mod p} Secrets Publics a p,, On choisit k 2 Z p 1 aléatoire et secret qui vérifie gcd(k, p 1) = 1 On définit une signature comme : sig K (M, k) =(, ) pour = k mod p =(M a )k 1 mod (p 1) Soit p = 467 et a = 127. On a bien que gcd(a, p =2unélémentprimitifdeZ p.oncalcule = a mod p =2 127 mod 467 = 132 1) = 1. Soit Si Bob veut signer le message M = 100 pour la valeur aléatoire k = 213 qui est tq gcd(k, p 1) = 1, il calcule k 1 mod p 1 par Euclide étendu qui donne k 1 = 431 alors, et = k mod p =2 213 mod 467 = 29 =(M a )k 1 mod (p 1) = (100 127.29).431 mod 466 = 51 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 34 Fonctionnement Vérification Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 35 Digital Signature Standard DSA 1991 Pour M, 2 Z p et 2 Z p 1, on définit ver K (M,, )=vrai, M mod p Si la signature est construite correctement, la vérification authentifie la signature car : a k mod p M mod p en utilisant le fait que a + k M mod (p 1) On vérifie la signature de (100, 29, 51) par ver K (M,, )=vrai : Variante d El Gamal qui diminue la taille de la signature. DSS-DSA proposé en 1991 par D.W. Kravitz (NSA) ; adopté en 1993. Un module de 512 bits d El Gamal donne une signature de 1024 bits. DSA : avoir une signature plus courte. Par une astuce, DSA raccourcit les tailles en o rant une signature de 320 bits sur un message de 160 bits en impliquant un module de 512 bits. Astuce : travailler dans un sous-groupe de Z p de taille 2 160. M mod p, 132 29 29 51 2 100 mod p 189 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 36 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 37

Fonctionnement de DSS Soit p un premier de 512 bits, q facteur premier de 160 bits de p 1 et racine q e primitive de 1 modulo p tq DLP dans le sous-groupe engendré par est di cile. Message h(m) 2 Z p ; signature : (h(m), S) 2 Z p Z q Z q.l ensembledesclésest K = {(p, q,, a, ): = a mod p} Privé Publics a p, q,, Choisir 1 < k apple q 1 aléatoire et secret ; la signature est : sig K (h(m), k) =(, ) On choisit q = 101 et p = 78q + 1 = 7879. Une racine primitive de Z 7879 est 3 et on peut prendre On suppose que a = 75, on a : =3 78 mod 7879 = 170 = a mod 7879 = 4567 Bob souhaite signer M d empreinte h(m) = 1234 et choisit comme valeur de k = 50. k 1 mod 101 = 99. On a = (170 50 mod 7879) mod 101 = 2518 mod 101 = 94 pour = k mod q =(h(m)+a )k 1 mod q et = (1234 + 75.94)99 mod 101 = 97 La signature du message d empreinte 1234 est alors (94, 97) Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 38 Vérification par DSS Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 39 Inconvénient Pour h(m) 2 Z p et, 2 Z q,ver K (h(m),, )=vrai, ( e 1 e 2 mod p) modq = 1 e1 = h(m) mod q pour 1 e 2 = mod q NB : 6 0 mod q car 1 mod q est nécessaire à la vérification. Si on a 0 mod q, il faut choisir une nouvelle valeur de k. La signature de 1234 est (94, 97) ; vérification : 1 = 97 1 mod 101 = 25 e 1 = 1234.25 mod 101 = 45; e 2 = 94.25 mod 101 = 27 Procédé plus lent que RSA d un facteur compris entre 10 et 40. Générer des clés est plus rapide que pour RSA. Autre inconvénient : une taille de clé de 512 bits est trop petite. C est pourquoi la taille des clés DSA est passée à 1024 bits. La fonction de hachage est aussi en train de changer dans FIPS 186-3 qui devra utiliser SHA-224/256/384/512. La taille des clés évolue aussi : Le grand groupe passe à 2048 ou 3072 bits et le sous-groupe à 224 ou 256 bits. et (170 45 4567 27 mod 7879) mod 101 = 2518 mod 101 = 94 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 40 Bruno MARTIN, Université Nice Sophia Antipolis Cryptographie à clé publique II 41