arithmétique et cryptographie rsa
TRANSCRIPT
![Page 1: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/1.jpg)
1
Arithmétique et cryptographie RSA -
Serge Gautier, Groupement des Cartes Bancaires
![Page 2: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/2.jpg)
2
Agenda
Rappels d’arithmétique
Calculs modulo n, cas où n = p et n = pq
Utilisation dans les métros automatiques
Besoins cryptographiques : chiffrement, signature, authentification
Comment le RSA répond à ces besoins
Les attaques et la sécurité des clés
![Page 3: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/3.jpg)
3
Arithmétique
Les 4 opérations : + - × /
Division euclidienne : 17 = 3 × 5 + 2 17 mod 5 = 2
Opérations modulo n : + - × , avec la règle n = 0.
PGCD, Bezout
1/a mod n ?
![Page 4: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/4.jpg)
4
La table de multiplication
Quels sont les nombres qui manquent ?
![Page 5: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/5.jpg)
5
Calculs modulo p premier
• Intérêt : on a droit aux QUATRE opérations!
• p premier avec {1,…,p-1} 1/a mod p toujours défini (sauf 1/0)
1/5 mod 17 ?
mod 17 : 5x = 5y x = y
mod 10 : ????
![Page 6: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/6.jpg)
6
Calculs modulo p premier
• mod p premier : a.b = 0 a = 0 ou b = 0
• Exemple : résoudre x² = 4 (mod 17)
• Résoudre x² = a² (mod p). Combien de solutions ?
• Fermat: a p-1 mod p = 1 pour a 0
![Page 7: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/7.jpg)
7
Calculs modulo n = pq
• p et q premiers différents, n = pq (ex: RSA)
• Pour tout entier x, (x mod pq) mod p = x mod p
• x dans {0,…n-1} peut être représenté par (x mod p, x mod q)
• Représentation unique.
→ que représentent (0,0), (1,1), (2,2)… ?
![Page 8: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/8.jpg)
8
Calculs modulo n = pq
• Il est équivalent de calculer mod pq et (mod p, mod q).
• Exemple : p = 5, q =11, n = 55.
- Décomposer 34 et 36 (mod p, mod q)
- Comparer 34x36 mod 55 et (34,34) x (36,36)
• Recombinaison : Théorème des Restes Chinois
• Résoudre x² = 4 (mod 55). Combien de solutions ?
![Page 9: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/9.jpg)
9
Application – les Métros Automatiques
• Paris (L14, L1), New York, Barcelone, Lyon, Lille…
• Pilote = calculateur de bord → détection des pannes ?
![Page 10: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/10.jpg)
10
Détection des pannes
• Le calculateur fait ses opérations nominales
→ exemple: Z := X + Y
• Une erreur transforme Z en Z + e
→ comment la détecter ?
![Page 11: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/11.jpg)
11
Détection des pannes (suite)
Deux calculateurs travaillent en parallèle
Contrôle du résultat : correct si (Z – Z1) mod A1 = 0
Z devient Z+e, probabilité d’erreur non détectée ?
Chaque variable est composée de deux parties :
Valeur X Y Z := (X + Y)
Redondance X1 = X mod A1 Y1 = Y mod A1 Z1 := (X1 + Y1) mod A1
![Page 12: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/12.jpg)
12
Détection efficace des pannes
Contraintes : taux de détection élevé, temps de détection rapide
Idée : mettre plusieurs calculateurs en parallèle
A1, A2, A3 premiers entre eux calculs mod A1.A2.A3
Valeur X Y Z := (X + Y)
Redondance 1 X1 = X mod A1 Y1 = Y mod A1 Z1 := (X1 + Y1) mod A1
Redondance 2 X2 = X mod A2 Y2 = Y mod A2 Z2 := (X2 + Y2) mod A2
Redondance 3 X3 = X mod A3 Y3 = Y mod A3 Z3 := (X3 + Y3) mod A3
![Page 13: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/13.jpg)
13
Application – la cryptographie RSA
• Utilise des grands nombres (300 chiffres et plus)
• Système basé sur les calculs mod n = pq
![Page 14: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/14.jpg)
14
Chiffrement classique (avant le RSA)
Modèle de base : Alice & Bob partagent une clé secrète K → Ils peuvent échanger secrètement un message m (dans les deux sens)
c = eK(m)
m = texte clair, c = texte chiffré (ou cryptogramme), K = clé secrète
Chiffrement affine: K = (a,b), eK(x) = (ax + b) mod n, dK(x) = (x - b)/a mod n
Chiffrement symétrique : Alice et Bob jouent le même rôle
m
K K
dK(c) = m
![Page 15: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/15.jpg)
15
Comment rompre la symétrie?
Les clés symétriques sont inadaptées pour les opérations où Alice et Bob ne peuvent pas jouer le même rôle :
Signature : celui qui signe veut que personne ne puisse imiter sa signature, mais que tout le monde puisse la vérifier
signature de contrats, montants... : essor de la cryptographie commerciale
Authentification : Alice doit prouver à Bob qu’elle détient un secret, sans que Bob ne connaisse ce secret
Après avoir authentifié Alice, il ne doit pas pouvoir se faire passer pour elle
preuve de participation à une transaction
![Page 16: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/16.jpg)
16
Une Solution Idéale
Alice possède deux fonctions (PA, SA) inverses l’une de l’autre
Pour tout message m, PA (SA (m)) = SA (PA (m)) = m
Elle en publie une (PA) et garde l’autre secrète/privée (SA).
La clé privée n’est jamais diffusée
la clé publique ne doit pas permettre de retrouver la clé privée
Bob fait de même avec un bi-clé (PB, SB)
Peuvent-ils communiquer de manière sécurisée ?
SA SB PA , PB
![Page 17: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/17.jpg)
17
Chiffrement en clé asymétrique
Alice veut envoyer m chiffré à Bob
m c = PB (m) SB (c) =
SB (PB (m)) = m
Elle chiffre m avec la clé publique de Bob
Tout le monde peut chiffrer, mais seul Bob peut déchiffrer
SA SB PA , PB
![Page 18: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/18.jpg)
18
Signature en clé asymétrique
Alice veut prouver à Bob qu’elle a signé un message m
PA (c)) = m ?
Alice signe m (ou une forme compressée) avec sa clé privée
La signature d’Alice est vérifiée par Bob
m, c = SA (m)
PA , PB SA SB
m, c
![Page 19: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/19.jpg)
19
Authentification en clé asymétrique
Alice veut prouver à Bob qu’elle détient SA
Bob crée une donnée aléatoire r et demande à Alice de la signer
Alice signe la donnée r avec sa clé privée
La signature d’Alice est vérifiée par Bob
r
PA (c)) = r ? c = SA (r)
SA SB
c
r
PA , PB
![Page 20: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/20.jpg)
20
Sécurité des systèmes asymétriques
Alice publie PA mais doit garder secrète la fonction inverse SA
Il faut prouver qu’il est difficile de trouver SA à partir de PA
L’attaquant voit les clés publiques, les cryptogrammes…
Preuves de sécurité mathématiques
Paramètres de sécurité : longueurs de clés…
RSA : un cryptosystème asymétrique
Permet le chiffrement, mais aussi la signature (et l’authentification)
![Page 21: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/21.jpg)
21
Un premier essai : calculs mod n = p
On choisit un nombre premier p et un entier e premier avec (p - 1). On pose n = p.
La clé publique est (n,e). Fonction publique (chiffrement): P(x) = xe mod n
Soit d = 1/e mod (p - 1). Fonction privée (déchiffrement): S(x) = xd mod n
ed = 1 + k(p - 1). Fermat : pour x dans {0..n-1}, P(S(x)) = S(P(x)) = x
Sécurité : peut-on retrouver d à partir de (n,e) ?
![Page 22: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/22.jpg)
22
L’algorithme RSA
On prend deux nombres premiers p et q. Le module n = pq est public.
On choisit un entier e premier avec (p - 1) et avec (q - 1).
On calcule d = 1/e mod (p - 1).(q - 1)
e = exposant public (souvent 3, 17, 216 + 1 = 65537). d = exposant secret
ed = 1 + k.(p - 1).(q - 1) (me mod n) et (md mod n) sont inverses.
Chiffrement ou vérification de signature : m → me mod n
Déchiffrement ou signature : m → md mod n
Sécurité : peut-on publier p et q ?
Sécurité : peut-on retrouver d à partir de la clé publique (n,e) ? → Meilleure technique connue : la factorisation de n
![Page 23: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/23.jpg)
23
Sécurité du RSA
• Les attaquants possibles :
![Page 24: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/24.jpg)
24
But des attaquants
Décrypter des messages chiffrés
Contrefaire des signatures
Se faire passer pour quelqu’un d’autre
Ils ont les clés publiques, des cryptogrammes et des couples clairs-chiffrés
Ils peuvent essayer de factoriser n mais parfois ce n’est pas nécessaire
![Page 25: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/25.jpg)
25
Exemples d’attaques (niveau 1)
Alice chiffre son TEL avec une clé RSA (n = 100 chiffres, e = 3). Le TEL fait 10 chiffres. Retrouver TEL dans les trois cas suivants :
1. Alice chiffre directement TEL^3 mod n.
2. Alice chiffre ‘000…000TEL’ avec 50 zéros devant.
3. Alice chiffre ‘TEL000…000’, avec 50 zéros derrière.
Deux modules (n1,n2) utilisent un même nombre premier : n1 = p.q1 n2 = p.q2
Peut-on casser les clés correspondantes ?
.
![Page 26: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/26.jpg)
26
Exemples d’attaques (niveau 2)
Deux exposants publics avec le même module
On chiffre un message m avec (n, e1 = 3) et (n, e2 = 17).
L’attaquant connaît : n, c1 = m^3 mod n, c2 = m^17 mod n
Trouver m (indice : théorème de Bezout)
Injection de fautes en mode TRC (restes chinois)
TRC : calcul en parallèle mod p et mod q (pour gagner du temps)
(x mod n) (x mod p, x mod q) = (xp, xq)
Erreur mod p : (x’p, xq) – (xp, xq) = (x’p – xp, 0) → multiple de q
PGCD(x’ – x, n) = q → factorisation de n
![Page 27: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/27.jpg)
27
RSA et Factorisation
La factorisation du module n permet de casser la clé RSA
au fait, que signifie « casser une clé RSA » ?
Cette attaque peut toujours être tentée, car n est public
Algorithme de factorisation : NFS (Number Field Sieve)
But : trouver toutes les racines carrées d’un nombre modulo n
x² = a² mod n : 4 solutions, (± a , ± a) en décomposition (mod p, mod q)
r = (a, a) + (a, -a) = (2a,0) → multiple de q
PGCD (r, n) = q → factorisation de n.
Difficulté : dépend de la taille de n
![Page 28: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/28.jpg)
28
Records de factorisation (officiels)
Record actuel : 232 chiffres (2010), ~ 5000 PC pendant 2 ans
Prochain record estimé : 270 chiffres (2014)
Records (et prévisions) en factorisation
0
60
120
180
240
300
360
1960 1970 1980 1990 2000 2010 2020 2030
Oblige à allonger les clés RSA avec le temps
![Page 29: Arithmétique et cryptographie RSA](https://reader036.vdocuments.net/reader036/viewer/2022081514/62acbb037faed95f6325404d/html5/thumbnails/29.jpg)
29
En conclusion…
L’arithmétique est un outil universel
Mêmes calculs pour les petits ou grands entiers
Elle peut sauver des vies!
métros automatiques → sûreté de fonctionnement
Nombreuses applications high-tech
RSA : pas seulement pour les agents secrets!
Nécessaire pour : les satellites, Internet, les smartphones…
Attaques basées sur : Fermat, Bezout, PGCD, Restes Chinois…