sécurité des réseaux - ensimag...sécurité des réseaux cryptographie rök stone, suède, 800 ac...
TRANSCRIPT
Sécurité des Réseaux
Cryptographie
Rök stone, Suède, 800 ac
« The magic words are squeamish ossifrages »
Sécurité des Réseaux
4MMSR - Network security course
Grenoble INP Ensimag
Dominique VICARD
Objectifs
o Présenter les techniques de base
de la cryptographie
o Faire un tour d ’horizon des
algorithmes et des protocoles les
plus utilisés
Plan
o Généralités
o Propriétés souhaitables
o Opérations de base
o Crypto à clef secrète
o Crypto à clef publique
o Sécurité des algorithmes
o Cryptographie quantique
Glossaire
o Cryptographie o L’art ou la science concernant les
principes, les moyens et les méthodes pour rendre un texte clair inintelligible (chiffré) et pour convertir un texte chiffré en une forme intelligible
o Crypto Analyse o les étapes et les opérations pour
convertir un texte chiffré en texte clair sans connaissance préalable de la clé utilisée pour le chiffrement
Cryptographie
La science consistant à cacher des éléphants (les
données) derrière des souris (les clefs)
Un système Cryptographique (1)
“Hello” E() D() “@#$%” “Hello”
P :Texte Clair C: Texte Chiffré P: Texte Clair
KE KD
o Chiffrement : C=E(P, KE)
o Déchiffrement : P=D(C, KD)
Notation anglaise : Plain Text, Cipher text, Encypherment, Decypherment, Keys
Un système Cryptographique (2)
o Les fonctions E et D sont inverses l’une de l’autre
o Les fonctions E et D peuvent être
publiques ou secrètes
o Les clefs KE et KD sont
généralement secrètes (au
moins une)
Propriétés souhaitables
o Le secret provient de la clé, pas de l ’algorithme o un algorithme secret est mal accepté
o Comment être sûr qu ’il reste secret
o L ’espace des clés est grand
o La distance d ’unicité est grande o il existe plusieurs textes clairs possibles pour un
cryptogramme donné
o Le cryptogramme C apparaît aléatoire
o Le système est résistant aux attaques connues
Si le système n’a pas toutes ces propriétés, il est faible Si le système a toutes ces propriétés, il n’est pas nécessairement fort
La créativité n’ est pas toujours une bonne
idée
Les opérations de base (1)
o La bande aléatoire (One-Time Pad)
o Seul algorithme a efficacité prouvée
o La clé K a la longueur du message P
o La clé K est aléatoire
o E=D=XOR
o Utilisé en Sécurité militaire
o Problème : transport de la clé
o Code de Vernam
Les opérations de base (2)
o Substitution o peut-être mono ou poly-alphabétique
o La clé indique le décalage dans l ’alphabet
o Exemple : Code de César, ROR13
o Transposition o L ’ordre des caractères du texte clair est
modifié
o la clé détermine les nouvelles positions
o Exemple : les machines à rotor, Enigma
o Stéganographie o le message est caché dans un autre
message
o Exemple : Watermarking
Les opérations de base (3)
o XOR : Exemple P= 0 1 0 0 1 0 1 1 1 0 0
K= 1 0 1 0 1 1 0 1 0 1 0
C= 1 1 1 0 0 1 1 0 1 1 0
K= 1 0 1 0 1 1 0 1 0 1 0
P= 0 1 0 1 1 0 1 1 1 0 0
o Substitution : Exemple P= S U B S T I T U T I O N
K= K K K K K K K K K K K K
C= C E L C D S D E D S Y X
o Transposition : Exemple P= | S I M P L E T R | A N S P O S I T
K= 3 8 5 4 1 7 2 6 3 8 5 4 1 7 2 6
C= | M R L P S T I E | S T O P A I N S...
XOR
XOR
Les opérations de base (4)
o Les fonctions à un sens (One Way
Function)
o y=f(x) est facile à calculer - x= f-1(y) est
très « difficile » à calculer
o « Difficile » veut dire :
connaissant f(x) et disposant de tous les
ordinateurs de la terre, il faut quelques (dizaines d ’, millions d ’)
années pour déterminer x.
o Exemple : logarithme en arithmétique
modulaire
o Utilisation : stockage de mots de passe
Les opérations de base (5)
o Les fonctions à un sens à gâchette (Trap-door One Way Function) o y=f(x) est facile à calculer - x=f-1(y) est très
« difficile » à calculer MAIS la connaissance d ’un paramètre supplémentaire p rend le calcul de x=f-1(y,p) facile
o Exemple : algorithme RSA
o Utilisation : cryptographie à clé publique
Les opérations de base (6)
o Les fonctions de Hash o Fonctions injectives produisant un
nombre de bits fixe quelle que soit la taille du message en entrée
o Produisent une « empreinte » du message original (Message Digest)
o Exemple : Checksum
o Les nombres aléatoires o Utilisés pour la génération de clés
o Souvent un élément faible (génération pseudo-aléatoire)
o Problème de l ’initialisation
o Exemple : bruit thermique échantillonné
Algorithmes de chiffrement (1)
o Chiffrement de flux (stream cipher) o Registres à décalage
o Chiffrement de bloc (block cipher)
o Chaînage des blocs
o Algorithmes à clé symétrique o KE=KD
o Algorithmes à clé publique (asymétrique) o KE est secret et KD est publique (ou l’inverse)
o KE et KD sont différents
Algorithmes de chiffrement (2)
o DES : Data Encryption Standard (1973)
o Algorithme bloc à clé symétrique
o 56 bits de clé
o 64 bits de bloc
o Existe en version chaînée (Triple-DES)
o Le plus utilisé
E()
P :Texte Clair 64bits C: Texte Chiffré 64bits
KE : Clé 56+8 bits
Algorithmes de chiffrement (3)
o DES : Principe o Une permutation initiale
o 16 tours de permutation/transposition/XOR (S-Box)
o Une permutation finale
o Si un bit change dans P, chaque bit de C à 50% de chance de changer
o Des clé faibles et demi-faibles
o Créé pour une implémentation matérielle o Performance au delà de 1GB/s sur VLSI
dans les années 80
Algorithmes de chiffrement (4)
DES
Algorithmes de chiffrement (5)
o Triple-DES : o Double clé DES
o Force : 128 bits
o Chiffrement : EDE ; Déchiffrement : DED
E()
P :Texte Clair 64bits C: Texte Chiffré 64bits
KE1
D() E()
KE2 KE1
Algorithmes de chiffrement (6)
o Chaînage des chiffrements par blocs o ECB : Electronique Code Book : pas de chaînage
E KE()
Pi-1
Ci-1
E KE()
Pi
Ci
E KE()
Pi+1
Ci+1
D KE()
Pi-1
Ci-1
D KE()
Pi
Ci
D KE()
Pi+1
Ci+1
chiffrement déchiffrement
Algorithmes de chiffrement (7)
o Chaînage des chiffrements par blocs o CBC : Cipher Block Chaining
E KE()
Pi-1
Ci-1
E KE()
Pi
Ci
E KE()
Pi+1
Ci+1
D KE()
Pi-1
Ci-1
D KE()
Pi
Ci
D KE()
Pi+1
Ci+1
chiffrement déchiffrement
Algorithmes de chiffrement (8)
o AES : Advanced
Encryption
Standard (2001)
o Algorithme
publique
o Libre de droits
o De type bloc-
cipher de 128
bits
o Clés de 128,192
et 256 bits
o Rijndael
ohttp://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html
AES
AES : Pseudo code
Cipher(byte in[4 * Nb], byte out[4 * Nb], word w[Nb * (Nr + 1)])
begin
bytestate[4,Nb]
state =in
AddRoundKey(state, w) // See Sec. 5.1.4
for round = 1 step 1 to Nr – 1
SubBytes(state) // See Sec. 5.1.1
ShiftRows(state) // See Sec. 5.1.2
MixColumns(state) // See Sec. 5.1.3
AddRoundKey(state, w + round * Nb)
end for
SubBytes(state)
ShiftRows(state)
AddRoundKey(state, w + Nr * Nb)
out = state
end
Key Length
(Nk words)
Block Size
(Nb words)
Number of
Rounds
(Nr)
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14
AES : Matrice d’état
input bytes State array output bytes
in0 in4 in8 in12 s0,0 s0,1 s0,2 s0,3 out0 out4 out8 out12
in1 in5 in9 in13 s1,0 s1,1 s1,2 s1,3 out1 out5 out9 out13
in2 in6 in10 in14 s2,0 s2,1 s2,2 s2,3 out2 out6 out10 out14
in3 in7 in11 in15
?
s3,0 s3,1 s3,2 s3,3
?
out3 out7 out11 out15
Input bit sequence 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 …
Byte number 0 1 2 …
Bit numbers in byte 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 …
s[r, c] = in[r + 4c] for 0 r < 4 and 0 c < Nb,
out[r + 4c] = s[r, c] for 0 r < 4 and 0 c < Nb.
Chaque octet représente les coefficients d’un polynôme et les opérations sont effectuées sur GF(28).
L’addition est un XOR; La multiplication est le multiplication polynomiale modulo m(x) avec
1)( 348 xxxxxm
AES : Subbytes
0,0s 1,0s 2,0s 3,0s '
0,0s '
1,0s '
2,0s '
3,0s
0,1s 1,1s 2,1s 3,1s '
0,1s '
1,1s '
2,1s '
3,1s
0,2s 1,2s 2,2s 3,2s '
0,2s '
1,2s '
2,2s '
3,2s
0,3s 1,3s 2,3s 3,3s '
0,3s '
1,3s '
2,3s '
3,3s
crs , '
,crs
S-Box
y
0 1 2 3 4 5 6 7 8 9 a b c d e f
0 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76
1 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
2 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
4 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
5 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf
6 d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
7 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2
8 cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
9 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db
a e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
b e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
c ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a
d 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
x
f 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16
La transformation est
composée d’une
inversion dans GF(28),
suivi d’une
transformation affine
inversible.
AES : ShiftRows
S S ’
0,0s 1,0s 2,0s 3,0s 0,0s
1,0s 2,0s 3,0s
0,1s 1,1s 2,1s 3,1s 1,1s 2,1s 3,1s 0,1s
0,2s 1,2s 2,2s 3,2s 2,2s 3,2s 0,2s 1,2s
0,3s 1,3s 2,3s 3,3s 3,3s 0,3s 1,3s 2,3s
ShiftRows()
0,rs 1,rs 2,rs 3,rs '
0,rs
'
0,rs
'
2,rs '
3,rs '
1,rs
'
0,rs
Les lignes sont décalées cycliquement de 1 à 3 position selon leur rang
AES : MixColumns
0,0s 1,0s 2,0s 3,0s '
0,0s '
1,0s '
2,0s '
3,0s
0,1s 1,1s 2,1s 3,1s '
0,1s '
1,1s '
2,1s '
3,1s
0,2s 1,2s 2,2s 3,2s '
0,2s '
1,2s '
2,2s '
3,2s
0,3s 1,3s 2,3s 3,3s '
0,3s '
1,3s '
2,3s '
3,3s
MixColumns()
cs ,0
cb ,0 cs ,1
cs ,2
cs ,2 cs ,3
cs ,2
'
,0 cs
'
,1 cs
'
,2 cs
'
,3 cs
Les colonnes sont considérées comme des polynômes à coefficients dans GF(28) et
multipliés modulo x4 + 1 par un polynôme fixe a(x), donné par :
a(x) = {03}x3 + {01}x2 + {01}x + {02} .
AES : AddRoundKey
0,0s 1,0s 2,0s 3,0s '
0,0s '
1,0s '
2,0s '
3,0s
0,1s 1,1s 2,1s 3,1s '
0,1s '
1,1s '
2,1s '3,1s
0,2s 1,2s 2,2s 3,2s '
0,2s '
1,2s '
2,2s '
3,2s
0,3s 1,3s 2,3s 3,3s
lw 1lw 2lw 3lw
'
0,3s '
1,3s '
2,3s '
3,3s
cs ,0
cb ,0 cs ,1
cs ,2
cs ,2 cs ,3
cs ,2
'
,0 cs
'
,1 cs
'
,2 cs
'
,3 cs
wl+c
Nbroundl *
La clé est étendue (“expanded”) et l’on construit une clé de round adaptée. Elle est
utilisée dans AddRoundKey sous forme d’un XOR
Algorithmes de chiffrement (9)
o RSA : Rivest/Shamir/Adleman (1978) o Algorithme bloc à clé publique
o Clé de longueur variable (>512 bits)
o Blocs de longueur variable
o Basée sur une fonction à un sens à gâchette
o E et D sont identiques; KE et KD sont différents
o Sécurité basée sur la difficulté de factoriser des grands nombres (>512 bits)
o Le plus utilisé (surtout en signature électronique)
o Lourd en calculs (arithmétique multi-précision)
Algorithmes de chiffrement (10)
o RSA : Principe o L’émetteur chiffre avec la clé publique du récepteur
o Le récepteur déchiffre avec sa clé privée
o C = Pe modulo n
o P = Cd modulo n o Avec :
o n=p.q, p et q étant deux (grands) nombres premiers
o e un nombre premier avec le produit (p-1).(q-1)
o d un nombre tel que ((e.d)-1) soit divisible par (p-1).(q-1)
o n et e sont publics; p et q sont détruits; d est secret
o K Privée =(n,d) ;K Publique =(n,e)
Algorithmes de chiffrement (11)
o Autres algorithmes à clé
publique :
o ElGamal
oArithmétique dans un corps fini
o Courbes elliptiques
oGéométrie dans un corps GF
Courbes Elliptiques
o Une Courbe Elliptique est l’ensemble des solutions (x,y) à une équation de la forme:
o y2 = x3 + ax + b avec
4a3 + 27b2 <>0
o On définit une addition entre points sur ces courbes par :
Si P = (xP,yP) and Q = (xQ,yQ) non opposés l’un à l’autre (P<>-Q), alors P + Q = R avec s = (yP - yQ) / (xP - xQ) xR = s2 - xP - xQ yR = -yP + s(xP - xR) s est la pente de la droite PQ.
n Double de P si yP est non nul, alors 2P = R avec s = (3xP
2 + a) / (2yP ) xR = s2 - 2xP
yR = -yP + s(xP - xR)
Courbes Elliptiques sur Fp
n Une Courbe Elliptique E(Zp), définie modulo un nombre premier p, est l’ensemble des solutions (x,y) à une équation de la forme:
n y2 = x3 + ax + b mod p avec
4a3 + 27b2 <>0 mob p
n Munie de l’addition précédemment définie et du point O appelé infini, forme un groupe. Notons que :
n P + O = O + P = P pour tout P E(Zp).
n Si P = (x, y) E(Zp), alors (x, y) + (x, -y) = O.
n Le point (x, -y) est noté –P.
Courbes Elliptiques et Crypto
Groupe Zp* E(Zp)
Éléments du Groupe Entiers {1,2,..,p-1} Points (x,y) sur la courbe
E et le point O
Opération de Groupe Multiplication modulo p Addition de points
Notation Éléments : g,h
Multiplication : g*h
Inverse : g-1
Division : g/h
Exponentialisation : gh
Éléments : P,Q
Addition : P+Q
Inverse : -P
Soustraction : P-Q
Multiplication scalaire :
aP
Problème du logarithme
discret
Soit g Zp*
et h = ga mod p,
trouver a
Soit P E(Zp)
et Q = aP,
trouver a.
Logarithme discret (Z17)
52
53
54 55
56
57
58
59
510
3
4 5
6
7
8
9
10
11
12 13 14
15
16
1
2
511
512
513
514
515
5n-1=516
Problème : trouver x tel que 5x=3 (mod17)
Division Scalaire (CE/Fp)
Équation : y2=x3+x sur F23 (a=1,b=0) Points de la courbe : (0,0) (1,5) (1,18) (9,5) (9,18) (11,10) (11,13) (13,5) (13,18) (15,3) (15,20) (16,8) (16,15) (17,10) (17,13) (18,10) (18,13) (19,1) (19,22) (20,4) (20,19) (21,6) (21,17)
n nP n nP
1 (11,10) 13 (21,6)
2 (13,18) 14 (16,15)
3 (15,20) 15 (20,4)
4 (9,18) 16 (18,10)
5 (19,22) 17 (17,13)
6 (1,5) 18 (1,18)
7 (17,10) 19 (19,1)
8 (18,13) 20 (9,5)
9 (20,19) 21 (15,3)
10 (16,8) 22 (13,5)
11 (21,17) 23 (11,13)
12 (0,0) 24 O
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Problème : trouver n tel que n(11,10)=(1,18)
Algorithmes de Hash
o MD5 (Message Digest 5)
o Produit un Hash de 128 bits
o Traite des blocs de 512 bits
o SHA-1 (Secure Hash Algorithm 1)
o Produit un Hash de 160 bits
o Traite des blocs de 512 bits
o Autres algorithmes : N-Hash, MD2,
MD4 SNEFRU, etc.
Crypto-Analyse
o Hypothèse : le crypto-analyste a une connaissance parfaite des algorithmes utilisés
o 3 principaux types d ’attaque: o Le crypto-analyste dispose uniquement du texte chiffré
o cryptogrammes de nombreux messages
o but : trouver les textes clairs, et éventuellement les clés
o Le crypto-analyste dispose du texte chiffré et du texte clair
o cryptogrammes de nombreux messages et textes clairs correspondants
o but : trouver les clés ou un algorithme pour déchiffrer
o Le crypto-analyste dispose du texte chiffré et du texte clair et peut choisir les textes clairs à chiffrer
o cryptogrammes de nombreux messages et textes clairs choisis correspondants
o but : trouver les clés ou un algorithme pour déchiffrer
Sécurité des algorithmes (1)
o 4 façons de « casser » un algorithme
o Totale : un crypto-analyste découvre un
moyen de trouver la clé
o Déduction Globale : un crypto-analyste
découvre un algorithme pour déduire le
texte clair du texte chiffré sans connaître
la clé
o Déduction locale : un crypto-analyste découvre le texte clair d ’un texte chiffré
particulier sans connaître la clé
o Déduction d ’information : un crypto-
analyste découvre des informations
partielles sur la clé ou le texte clair
Sécurité des algorithmes (2)
Un algorithme est inconditionnellement
sûr si, quelle que soit la quantité de
texte chiffré dont dispose le crypto-analyste, il n’y a pas assez
d’information pour découvrir le texte
clair.
o Seule la bande aléatoire répond à cette
condition
o Tous les autres algorithmes sont sensibles
à une attaque en force brute,i.e. en
essayant toutes les clés
Sécurité des algorithmes (3)
Un algorithme est sûr au sens calculable (ou fort) si il ne peut
pas être cassé avec les ressources disponibles, soit
maintenant, soit dans le futur. o La quantité de données (chiffrée)
peut être trop importante
o La quantité de calcul nécessaire peut être trop importante
o Le stockage nécessaire peut être trop grand
Sécurité des algorithmes (4)
o La force brute et l’espace des clés
o Si il faut 2 secondes pour casser 40 bits
o Il faut alors 35(*) heures pour casser 56 bits
o Et 1019 années pour casser 128 bits
o La taille de la clé est déterminée par
la durée souhaitée de la
confidentialité
o La technologie influe sur la taille des
clés
* Record 1999 : EFF DESCracker -56 bits -22h15mn
Sécurité des algorithmes (5)
Si la complexité etait un liquide, le récipient pour
40 bits serait une cuillère
56 bits serait une petite piscine
128 bits serait la terre
Discours d’introduction de la Conférence RSA 1999 par Jim Bidzos
Équivalence de résistance
Longueur de clé symétrique (DES)
Longueur de clé Asymétrique (RSA)
56 bits 384 bits
64 bits 512 bits
80 bits 768 bits
112 bits 1792 bits
128 bits 2304 bits
Mais rassurez vous, vous n’êtes pas seuls…
WPA Cracker est un
cluster en ligne de
quatre-cents CPU qui va
permettre de tester une
phrase secrète
WPA/WPA2-PSK à travers
un dictionnaire de cent-
trente-cinq millions
d'entrées. Soit vingt à
quarante minutes qui
seront nécessaires, selon
l'offre choisie, pour réussir
à la casser, ou pas
Echange de Secret
o Diffie-Hellman (1976)
A B Choisissent n , grand et premier, et g primitif modulo n
A B X=gx mod n
x aléatoire
A B Y=gy mod n
y aléatoire
A B Calcule k1=Yx mod n Calcule k2=Xy mod n
A B Utilisent K1=K2=gxy mod n comme secret partagé
Signature électronique (1)
o RSA
A Calcule un Hash du message M destiné a Bob
A B M et X=RSA (Hash,K Privée Alice)
B Calcule Hash et calcule Y=RSA (X, K Publique Alice) ySi Y=Hash
yLe message est intègre yLe message provient de Alice
T Théo envoie K Publique Alice à Bob
Signature électronique (2)
o Autres algorithmes
o DSA : Digital Signature Algorithm
o Hash chiffré par un algorithme à
clé symétrique
o ElGamal, Schnorr, ...
Législation
Le matériel et le logiciel de
cryptographie font partis des
« Dual-Goods » régis par la
convention de Wassanar
o Assimilés à de l’armement
o Soumis à des
autorisations/restrictions d’importation, d’exportation et
d’usage
o En perpétuelle évolution
o Variable selon les pays
Développements récents
o Cryptographie Quantique
Et vous trouvez
ça drôle?
Cryptographie Quantique (1)
o Le seul chiffre absolument sur est
la bande aléatoire
o Le problème de la bande
aléatoire est son transport
o Comment s’assurer que la bande
n’a pas été copiée?
Cryptographie Quantique (2)
o En mécanique quantique, l’observation perturbe
o Il est possible de détecter une
écoute
o En codant sur des états
quantiques, il est possible de
transmettre une clé aléatoire
o Expériences déjà réalisées sur
plusieurs kilomètres
o Bennet et Brossard, 84
Cryptographie Quantique (3)
o Utiliser les propriété d’une
particule pour coder
o Eg: le photon et la polarisation
o Eg: une particule et son spin
Cryptographie Quantique (4)
Repère Vertical « + » Repère Diagonal « x »
0 0 1 1
Codage par polarisation de photon (BB84)
Cryptographie Quantique (5)
Génération
Cryptographie Quantique (6)
Effet des filtres polarisants et des détecteurs
Filtre
« + » 0 1
50% 0
50% 1
50% 0
50% 1
Filtre
« x »
50% 0
50% 1
50% 0
50% 1 0 1
Détection : biréfringence (cristal de calcite) séparant les polarisations parallèle et orthogonales à l’axe du cristal ; Les photons de polarisation non parallèle ou orthogonale au cristal sont en
superposition quantique à la sortie.
Cryptographie Quantique (7)
o Quantum key distribution: secret key
exchange
o Protocol
o Alice envoie a Bob une série de photon, et
Bob les détecte (utilisant x ou + au hasard)
o Alice indique à Bob la séquence de
schéma (+,x) utilisée: discussion publique (peut
être sur autre canal)
o Alice et Bob ne conservent que les
mesures valables
o Alice et Bob vérifient sur un échantillon la
validité de leur clef (échange de message chiffré)
Cryptographie Quantique (8)
Sché
ma d’Alic
e
Bit d’Alice
Symbol
e émis
Détecte
ur de
Bob
Détecte
ur
Valide?
Bob
détecte
:
Bob
déduit
:
Bit
exact?
Clé
partagée
+
1
+ Oui 1 Oui 1
x Non
0 Non
1 Oui
0
+ Oui 0 Oui 0
x Non
0 Oui
1 Non
x
1
+ Non
1 Oui 1
0 Non
x Oui 1 Oui 1
0
+ Non
1 Non
0 Oui
x Oui 0 Oui 0
Ce q
ue B
ob r
eço
it:
Ech
ange p
ublic
de la b
ase
sur
un c
anal public
(e
g:
inte
rnet)
Quantum key distribution – intercept & resend
Alice Josy Bob
Cryptographie Quantique (8)
Schém
a d’Alice
Bit d’Alice Symbole
émis
Détecteur
de Josy
Josy
déduit:
Josy
emet:
Détecte
ur de
Bob :
Taux d’erreur
+
1
+ 1 + 0%
x
0 + 50%
1 + 50%
0
+ 0 + 0%
x
0 + 50%
1 + 50%
x
1
+
1 x 50%
0 x 50%
x 1 x 0%
0
+
1 x 50%
0 x 50%
x 0 x 0% Ce q
ue J
osy
inte
rcepte
et
re-é
met:
Quantum key distribution
o How many bits do we need to detect an
observer?
o 2 basis. Alice chooses randomly, so does Josy o Each bit has a probability of (2x2-1)/(2x2)=3/4 to be wrongly
received
o Pd: probability of a successful transmission
o n=number of transmitted bits
o In order to be sure with a certainty Pd=0.999999999 that
there is no eavesdropper, only 72 bits are needed!
Quantum cryptography attacks
o Man-In-the-middle
o Photon number splitting attack
o Hacking attack: random number
generator,…
o Denial of Service
Conclusion
o La cryptographie permet d’implémenter des mécanismes de:
o Confidentialité (chiffrement)
o Intégrité et Authentification (Signature)
o La cryptographie évolue
o AES, Courbes elliptiques, Quantique
o Législation (pays, données autorisées)
o Technologie
Références
o Applied Cryptography
o Bruce Schneier - Wiley