La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Chap.V RSA. I. Rappels Mathématiques La congruence Définition 1 a et b sont congrus modulo n s’ils ont même reste par la division par n. On note a≡b[n]

Présentations similaires


Présentation au sujet: "Chap.V RSA. I. Rappels Mathématiques La congruence Définition 1 a et b sont congrus modulo n s’ils ont même reste par la division par n. On note a≡b[n]"— Transcription de la présentation:

1 Chap.V RSA

2 I. Rappels Mathématiques La congruence Définition 1 a et b sont congrus modulo n s’ils ont même reste par la division par n. On note a≡b[n] Définition 2 a et b sont congrus modulo nsi b-a est un multiple de n, ou encoresi b-a = k*n Théorème si a≡b[n] et x≡y[n] alors a+x≡b+y[n] et a*x≡b*y[n]

3 Ensemble quotient Z/nZ Classons les entiers selon la règle de congruence modulo n. Nous obtenons n classes. L’ensemble de ces n classes est l’ensemble quotient de Z par la congruence modulo n, il est noté Z/nZ Ex : si n=6 alors classe(0)={ …,-18,-12,-6,0,6,12,18,… }classe(1)={ …,-17,-11,-5,1,7,13,19,… } classe(2)={ …,-16,-10,-4,2,8,14,20,… }classe(3)={ …,-15,-9,-3,3,9,15,21,… } classe(4)={ …,-14,-8,-2,4,10,16,22,… }classe(5)={ …,-13,-7,-1,5,11,17,23,… } L’ensemble de ces 6 classes est l’ensemble quotient de Z par la congruence modulo 6, noté Z/6Z.

4 l’addition conserve toutes ses propriétés: commutativité, associativité, élément neutre 0, existence d’un inverse la multiplication les conserve presque toutes: commutativité, associativité, élément neutre 1, distributivité Z/nZ est un anneau commutatif unitaire mais l’existence d’un inverse n’est pas garantie

5 *12345 1 12345 2 24024 3 30303 4 42042 5 54321 *123456 1 123456 2 246135 3 362514 4 415263 5 531642 6 654321 *12345678 1 12345678 2 24681357 3 36036036 4 48372615 5 51627384 6 63063063 7 75318642 8 87654321 Ex : Z/6Z ne possède pas d’inverse pour tous ses éléments (cl(2), cl(3), cl(4)). Z/7Z ou Z/13Z possèdent des inverses pour tous les éléments non nuls

6 II. Eléments inversibles a inversible dans Z/nZ   b / a*b = 1   b / a*b = 1 [n]   b / a*b = q*n + 1   b / a*b - q*n = 1  a et n sont premiers entre eux Théorème: Les seuls éléments inversibles de Z/nZ sont les éléments premiers avec n. si n=p est premier, tout élément non nul de Z/pZ est inversible: Z/pZ est un corps.

7 *123456789101112 1 123456789101112 2 246810121357911 3 369122581114710 4 481237112610159 5 5 271249161138 6 612511410392817 7 718293 4115126 8 831161941272105 9 951 6211731284 10 7411185212963 11 9753112108642 12 1110987654321

8 *123456789 11 1 1234567891011 2 24681002468 3 36903690369 4 48048048048 5 5 3816114927 6 60606060606 7 7294 6183105 8 84084084084 9 96309630963 86420 8642 11 10987654321 Pour les petites valeurs il est simple de construire la table de multiplication complète pour les très grandes valeurs il faut trouver un autre moyen

9 III. R.S.A RSA repose sur: Etant donné un entier n=p.q p et q très grands nombres premiers (>100 chiffres) p=71.542.258.354.359.985.478.698.458.975.661.021.207.607.601.148.707. 690.844.556.317.245.789.741.754.821.245.046.373.118.643.801.912.331 q=38.459.155.905.222.678.314.697.690.021.419.267.660.773.681.946.762. 883.250.013.679.466.341.673.574.101.362.604.637.198.743.861.792.167 il est très très difficile de retrouver les facteurs p et q. n est une partie de la clé publique, nécessaire pour chiffrer. Pour déchiffrer il faut connaitre p et q, qui constituent le noyeau de la clé privée.

10 Ali désire utiliser RSA pour recevoir des messages chiffrés. Il doit posséder un couple de clés Génération des clés Il fabrique 2 nombres premiers distincts très grands: p et q puis construit n=p.q, Il prend un nombre entier e premier avec (p-1)(q-1), Il construit d avec l’algorithme d’Euclide étendu de sorte que e.d≡1[(p-1)(q-1)]. Distribution des clés Il distribue à tous (n,e) qui est sa clé publique, Il conserve au secret (n,d) qui est sa clé privée.

11 Si Brahim désire envoyer un message chiffré à Ali, ils doivent procéder comme suit: Chiffrement Brahim découpe le message en plusieurs entiers M (0≤M<n), Brahim connait la clé publique de Ali. Il calcule C=M e [n]. C est le message chiffré. Déchiffrement Ali calcule avec sa clé privée C d [n]=M e.d [n], Selon le Théorème d’Euler M e.d [n]=M[n], il obtient donc le message clair

12 III. Les puissances Théorème d’Euler si PGCD(a,n)=1 (a et n premiers entre eux) alors a  (n) = 1 [n]  (n) est appelé l’indicateur d’Euler Question: l’inverse de a = ? Dans Z/nZ les puissances ont un cycle différent de n x = ? [n]n valeurs différentes a x = ? [n]combien de valeurs différentes? Exemple: x=?[17]17 valeurs différentes (0.. 17) et l’inverse de x : y/ y*x=1[17] 2 x =?[17]8 valeurs différentes (1,2,4,8,9,13,15,16) et l’inverse de x : y/ y*x=1[?]

13 IV. Indicateur d'Euler  (n) il représente le nombre d'éléments inversibles de Z/nZ, il est noté  (n) (p premier) propriétés de  (n) si p est premier alors  (p) = p-1 si m et n sont premiers entre eux (PGCD(m,n)=1) alors  (m*n) =  (m)*  (n) RSA: n = p*q avec p et q premiers, donc  (n) = (p-1)*(q-1)

14 IV. Clé inversible Mais on ne cherche pas à inverser M (le message) On veut inverser la clé ! (inv(e)=d car M e.d [n]) si e.d = 1 [  (n)] alors e.d = 1 + k*  (n) donc M e.d = M 1+k*  (n) = M*(M  (n) ) k = M*1= M d'où e et d sont des inverses dans Z/  (n)Z pour que e soit inversible dans Z/  (n)Z, il doit être premier avec  (n) RSA: e premier avec (p-1)(q-1) qui n'est rien d'autre que  (n)

15 V. Recherche de l’inverse de la clé Théorème Deux nombres a et b sont premiers entre eux  PGCD(a,b)=1,   u,v / a.u + b.v = 1 (relation de Bezout) Comment trouver l’inverse de e? Nous pouvons appliquer le théorème d’Euler: e  (  (n)) =1 Nous revenons au Pb de départ : factoriser  (n)!!! Pour de grands nombres comment fait-on?

16 posons a=e et b=  (n), par construction ils sont premiers entre eux   u,v / e.u+  (n).v = 1 alors e.u = 1+k*  (n) ou bien e.u ≡ 1 [  (n)] donc d=u n’est rien d’autre que l’inverse de e Exemple: e= 925 et  (n)= 3617 premiers entre eux   u,v / e.u+  (n).v = 1 78*3617-305*925=1 donc l’inverse de e= 925 c’est d=-305 ≡ 3312 [3617]

17 VI. Algorithme d'Euclide étendu Puisque la factorisation est difficile, on calcule le PGCD en appliquant l'algorithme d'Euclide. Il repose sur: si a et b sont deux entiers avec a  b, si r est le reste de la division de a par b, alors PGCD(a,b)=PGCD(b,r) on réalise des divisions euclidiennes successives jusqu'à trouver un reste nul. Le dernier reste non nul est alors le PGCD(a,b). Exemple: trouvons le PGCD(3617,925) et le PGCD(3618,924)

18 3617=925*3+842 925=842*1+83 842=83*10+12 83=12*6+11 12=11*1+1 PGCD 11=1*11+0 3618=924*3+846 924=846*1+78 846=78*10+66 78=66*1+12 66=12*5+6PGCD 12=6*2+0

19 L'algorithme étendu permet aussi de calculer les coefficients de Bezout pour a et b, il suffit de remonter les calculs de sorte garder uniquement a, b et leur PGCD. ex:3617 et 925 ou bien 3618 et 924 3617=925*3+842(+78) 925=842*1+83(-71) 842=83*10+12(+7) 83=12*6+11(-1) 12=11*1+1 Donc: 78*3617-305*925=1 3618=924*3+846(+71) 924=846*1+78(-65) 846=78*10+66(+6) 78=66*1+12(-5) 66=12*5+6PGCD Donc: 71*3618-278*924=6

20 VII. Notion de test de primalité Théorème de Fermat Si p est premier et p ne divise pas a (premiers entre eux) alors a p-1 =1[p], Si p est premier et a entier alors a p =a[p] Ce théorème suggère de chercher a premier avec p qui ne vérifie pas ceci.


Télécharger ppt "Chap.V RSA. I. Rappels Mathématiques La congruence Définition 1 a et b sont congrus modulo n s’ils ont même reste par la division par n. On note a≡b[n]"

Présentations similaires


Annonces Google