Cryptographie :de l’Antiquité à nos jours
Fête de la science
université Paris Diderot – Paris 7
Le 20 novembre 2009
Introduction
I Depuis toujours, des besoins de confidentialité :• secrets d’états,• pendant les guerres, . . .
I Premiers codes secrets simplistes il y a plus de 2000 ans
I Actuellement, des millions de transactions sur ordinateur• codes sophistiqués,• apparition du quantique. . .
Introduction
I Depuis toujours, des besoins de confidentialité :• secrets d’états,• pendant les guerres, . . .
I Premiers codes secrets simplistes il y a plus de 2000 ans
I Actuellement, des millions de transactions sur ordinateur• codes sophistiqués,• apparition du quantique. . .
Introduction
I Depuis toujours, des besoins de confidentialité :• secrets d’états,• pendant les guerres, . . .
I Premiers codes secrets simplistes il y a plus de 2000 ans
I Actuellement, des millions de transactions sur ordinateur• codes sophistiqués,• apparition du quantique. . .
Définitions
Cryptographie : science des codes secrets
But : transmettre un messageque seul le destinataire puisse déchiffrer
Cryptanalyse : “casser” un code secretTrouver comment déchiffrer les messages
Définitions
Cryptographie : science des codes secrets
But : transmettre un messageque seul le destinataire puisse déchiffrer
Cryptanalyse : “casser” un code secretTrouver comment déchiffrer les messages
Définitions
Cryptographie : science des codes secrets
But : transmettre un messageque seul le destinataire puisse déchiffrer
Cryptanalyse : “casser” un code secretTrouver comment déchiffrer les messages
Premiers pas (1)
I Vers 400 av. JC : attaque de Sparte par les Perses
I Un messager parvient à prévenir Sparte avec une scytale
I Sparte repousse l’attaque
Premiers pas (1)
I Vers 400 av. JC : attaque de Sparte par les Perses
I Un messager parvient à prévenir Sparte avec une scytale
I Sparte repousse l’attaque
Premiers pas (2)
I Jules César utilisait de nombreux codes
I P. ex. remplacer une lettre par la lettre venant trois placesaprès elle dans l’alphabet :
a b c . . . w x y zD E F . . . Z A B C
Premiers pas (2)
I Jules César utilisait de nombreux codes
I P. ex. remplacer une lettre par la lettre venant trois placesaprès elle dans l’alphabet :
a b c . . . w x y zD E F . . . Z A B C
Exemple :
v e n i v i d i v i c iY H Q L Y L G L Y L F L
Premiers pas (2)
I Jules César utilisait de nombreux codes
I P. ex. remplacer une lettre par la lettre venant trois placesaprès elle dans l’alphabet :
a b c . . . w x y zD E F . . . Z A B C
I Si on identifie{
les lettres a b c . . . zaux nombres 1 2 3 . . . 26,
alors il suffit d’ajouter 3 à chaque lettre pour chiffrer lemessage, en revenant à 1 si on dépasse 26 (on comptemodulo 26)
I Pour décoder, on retranche 3 à chaque lettre
Premiers pas (2)
I Jules César utilisait de nombreux codes
I P. ex. remplacer une lettre par la lettre venant trois placesaprès elle dans l’alphabet :
a b c . . . w x y zD E F . . . Z A B C
I Si on identifie{
les lettres a b c . . . zaux nombres 1 2 3 . . . 26,
alors il suffit d’ajouter 3 à chaque lettre pour chiffrer lemessage, en revenant à 1 si on dépasse 26 (on comptemodulo 26)
I Pour décoder, on retranche 3 à chaque lettre
Substitution mono-alphabétique
I Code de César : plutôt que d’ajouter 3, on peut ajoutern’importe quel nombre entre 1 et 25
I Clé : l’entier de décalage (3 ou autre)→ 25 clés possiblesI Avec la clé, on peut coder et décoder : l’expéditeur et le
destinataire doivent connaître la clé.
Si, plutôt que de décaler d’un pas fixé, on réalise unepermutation quelconque des lettres
Substitution mono-alphabétique
I Code de César : plutôt que d’ajouter 3, on peut ajoutern’importe quel nombre entre 1 et 25
I Clé : l’entier de décalage (3 ou autre)→ 25 clés possiblesI Avec la clé, on peut coder et décoder : l’expéditeur et le
destinataire doivent connaître la clé.
Si, plutôt que de décaler d’un pas fixé, on réalise unepermutation quelconque des lettres
Par exemplea b c d e . . . w x y zM E B T A . . . C S U Q
Substitution mono-alphabétique
I Code de César : plutôt que d’ajouter 3, on peut ajoutern’importe quel nombre entre 1 et 25
I Clé : l’entier de décalage (3 ou autre)→ 25 clés possiblesI Avec la clé, on peut coder et décoder : l’expéditeur et le
destinataire doivent connaître la clé.
Si, plutôt que de décaler d’un pas fixé, on réalise unepermutation quelconque des lettres
alors il y a 26× 25× 24× · · · × 2× 1 clés possibles (factoriellede 26), soit ' 4.1026
= 400 000 000 000 000 000 000 000 000
Pour échanger des messages, il suffit de connaître la permuta-tion des lettres (l’alphabet chiffré).
Substitution mono-alphabétique
I Code de César : plutôt que d’ajouter 3, on peut ajoutern’importe quel nombre entre 1 et 25
I Clé : l’entier de décalage (3 ou autre)→ 25 clés possiblesI Avec la clé, on peut coder et décoder : l’expéditeur et le
destinataire doivent connaître la clé.
Si, plutôt que de décaler d’un pas fixé, on réalise unepermutation quelconque des lettres
alors il y a 26× 25× 24× · · · × 2× 1 clés possibles (factoriellede 26), soit ' 4.1026 = 4
00 000 000 000 000 000 000 000 000
Pour échanger des messages, il suffit de connaître la permuta-tion des lettres (l’alphabet chiffré).
Substitution mono-alphabétique
I Code de César : plutôt que d’ajouter 3, on peut ajoutern’importe quel nombre entre 1 et 25
I Clé : l’entier de décalage (3 ou autre)→ 25 clés possiblesI Avec la clé, on peut coder et décoder : l’expéditeur et le
destinataire doivent connaître la clé.
Si, plutôt que de décaler d’un pas fixé, on réalise unepermutation quelconque des lettres
alors il y a 26× 25× 24× · · · × 2× 1 clés possibles (factoriellede 26), soit ' 4.1026 = 400 000 000
000 000 000 000 000 000
Pour échanger des messages, il suffit de connaître la permuta-tion des lettres (l’alphabet chiffré).
Substitution mono-alphabétique
I Code de César : plutôt que d’ajouter 3, on peut ajoutern’importe quel nombre entre 1 et 25
I Clé : l’entier de décalage (3 ou autre)→ 25 clés possiblesI Avec la clé, on peut coder et décoder : l’expéditeur et le
destinataire doivent connaître la clé.
Si, plutôt que de décaler d’un pas fixé, on réalise unepermutation quelconque des lettres
alors il y a 26× 25× 24× · · · × 2× 1 clés possibles (factoriellede 26), soit ' 4.1026 = 400 000 000 000 000
000 000 000 000
Pour échanger des messages, il suffit de connaître la permuta-tion des lettres (l’alphabet chiffré).
Substitution mono-alphabétique
I Code de César : plutôt que d’ajouter 3, on peut ajoutern’importe quel nombre entre 1 et 25
I Clé : l’entier de décalage (3 ou autre)→ 25 clés possiblesI Avec la clé, on peut coder et décoder : l’expéditeur et le
destinataire doivent connaître la clé.
Si, plutôt que de décaler d’un pas fixé, on réalise unepermutation quelconque des lettres
alors il y a 26× 25× 24× · · · × 2× 1 clés possibles (factoriellede 26), soit ' 4.1026 = 400 000 000 000 000 000 000
000 000
Pour échanger des messages, il suffit de connaître la permuta-tion des lettres (l’alphabet chiffré).
Substitution mono-alphabétique
I Code de César : plutôt que d’ajouter 3, on peut ajoutern’importe quel nombre entre 1 et 25
I Clé : l’entier de décalage (3 ou autre)→ 25 clés possiblesI Avec la clé, on peut coder et décoder : l’expéditeur et le
destinataire doivent connaître la clé.
Si, plutôt que de décaler d’un pas fixé, on réalise unepermutation quelconque des lettres
alors il y a 26× 25× 24× · · · × 2× 1 clés possibles (factoriellede 26), soit ' 4.1026 = 400 000 000 000 000 000 000 000 000
Pour échanger des messages, il suffit de connaître la permuta-tion des lettres (l’alphabet chiffré).
Substitution mono-alphabétique
I Code de César : plutôt que d’ajouter 3, on peut ajoutern’importe quel nombre entre 1 et 25
I Clé : l’entier de décalage (3 ou autre)→ 25 clés possiblesI Avec la clé, on peut coder et décoder : l’expéditeur et le
destinataire doivent connaître la clé.
Si, plutôt que de décaler d’un pas fixé, on réalise unepermutation quelconque des lettres
alors il y a 26× 25× 24× · · · × 2× 1 clés possibles (factoriellede 26), soit ' 4.1026 = 400 000 000 000 000 000 000 000 000
Pour échanger des messages, il suffit de connaître la permuta-tion des lettres (l’alphabet chiffré).
Le code mono-alphabétique en pratique
I Alice et Bob doivent se rencontrer physiquement pours’accorder sur la permutation des lettres (l’alphabetchiffré)→ ils apprennent l’alphabet chiffré par cœur.
I Alice transforme son message clair selon la permutationdes lettres, et l’envoie à Bob.
I Pour décoder le message, Bob utilise la mêmepermutation à l’envers.
a b c d e . . . w x y zM E B T A . . . C S U Q
Le code mono-alphabétique en pratique
I Alice et Bob doivent se rencontrer physiquement pours’accorder sur la permutation des lettres (l’alphabetchiffré)→ ils apprennent l’alphabet chiffré par cœur.
I Alice transforme son message clair selon la permutationdes lettres, et l’envoie à Bob.
I Pour décoder le message, Bob utilise la mêmepermutation à l’envers.
r e n d e z v o u sX A F T A Q L D R I
c e s o i rB A I D G X
Le code mono-alphabétique en pratique
I Alice et Bob doivent se rencontrer physiquement pours’accorder sur la permutation des lettres (l’alphabetchiffré)→ ils apprennent l’alphabet chiffré par cœur.
I Alice transforme son message clair selon la permutationdes lettres, et l’envoie à Bob.
I Pour décoder le message, Bob utilise la mêmepermutation à l’envers.
X A F T A Q L D R Ir e n d e z v o u s
B A I D G Xc e s o i r
Cryptanalyse du code mono-alphabétique
I Ce genre de code servit jusqu’à la fin du moyen-âge enEurope.
I Mais à cette époque, on savait casser ce code : MarieStuart (reine d’Écosse) a été exécutée en 1587 car sesmessages secrets concernant l’assassinat de la reineElizabeth ont été déchiffrés.
I La cryptanalyse de ce code est due aux Arabes dès le9ème siècle : leur civilisation était alors beaucoup plusavancée qu’en Europe, et très prospère.
I Al-Kindi décrit le procédé : analyse de fréquences.
Cryptanalyse du code mono-alphabétique
I Ce genre de code servit jusqu’à la fin du moyen-âge enEurope.
I Mais à cette époque, on savait casser ce code : MarieStuart (reine d’Écosse) a été exécutée en 1587 car sesmessages secrets concernant l’assassinat de la reineElizabeth ont été déchiffrés.
I La cryptanalyse de ce code est due aux Arabes dès le9ème siècle : leur civilisation était alors beaucoup plusavancée qu’en Europe, et très prospère.
I Al-Kindi décrit le procédé : analyse de fréquences.
Cryptanalyse du code mono-alphabétique
I Ce genre de code servit jusqu’à la fin du moyen-âge enEurope.
I Mais à cette époque, on savait casser ce code : MarieStuart (reine d’Écosse) a été exécutée en 1587 car sesmessages secrets concernant l’assassinat de la reineElizabeth ont été déchiffrés.
I La cryptanalyse de ce code est due aux Arabes dès le9ème siècle : leur civilisation était alors beaucoup plusavancée qu’en Europe, et très prospère.
I Al-Kindi décrit le procédé : analyse de fréquences.
Analyse de fréquences
I Certaines lettres sont plus fréquentes que d’autres enfrançais : e (15%), a (10%), i et s (8%), etc.
I Si dans le texte crypté, une lettre apparaît plus que lesautres, elle code probablement le e ; la deuxième lettre laplus fréquente peut être a, i ou s, etc.
I Déchiffrons le code (sans savoir l’alphabet chiffré) :KFFPAK CK MVXXPAQJK RK EKFFPZK
essaie de connaitre le message
Fréquences :K F P A X Q R J E V C M Z7 4 3 2 2 1 1 1 1 1 1 1 1
Tentatives :K F P A X Q R J E V C M Z
e s a i n t l r m o d c g
Analyse de fréquences
I Certaines lettres sont plus fréquentes que d’autres enfrançais : e (15%), a (10%), i et s (8%), etc.
I Si dans le texte crypté, une lettre apparaît plus que lesautres, elle code probablement le e ; la deuxième lettre laplus fréquente peut être a, i ou s, etc.
I Déchiffrons le code (sans savoir l’alphabet chiffré) :KFFPAK CK MVXXPAQJK RK EKFFPZK
essaie de connaitre le message
Fréquences :K F P A X Q R J E V C M Z7 4 3 2 2 1 1 1 1 1 1 1 1
Tentatives :K F P A X Q R J E V C M Z
e s a i n t l r m o d c g
Analyse de fréquences
I Certaines lettres sont plus fréquentes que d’autres enfrançais : e (15%), a (10%), i et s (8%), etc.
I Si dans le texte crypté, une lettre apparaît plus que lesautres, elle code probablement le e ; la deuxième lettre laplus fréquente peut être a, i ou s, etc.
I Déchiffrons le code (sans savoir l’alphabet chiffré) :KFFPAK CK MVXXPAQJK RK EKFFPZKe
ssai
e
d
e
connaitr
e
l
e
m
e
ssag
e
Fréquences :K F P A X Q R J E V C M Z7 4 3 2 2 1 1 1 1 1 1 1 1
Tentatives :K F P A X Q R J E V C M Ze
s a i n t l r m o d c g
Analyse de fréquences
I Certaines lettres sont plus fréquentes que d’autres enfrançais : e (15%), a (10%), i et s (8%), etc.
I Si dans le texte crypté, une lettre apparaît plus que lesautres, elle code probablement le e ; la deuxième lettre laplus fréquente peut être a, i ou s, etc.
I Déchiffrons le code (sans savoir l’alphabet chiffré) :KFFPAK CK MVXXPAQJK RK EKFFPZKess
ai
e
d
e
connaitr
e
l
e
m
ess
ag
e
Fréquences :K F P A X Q R J E V C M Z7 4 3 2 2 1 1 1 1 1 1 1 1
Tentatives :K F P A X Q R J E V C M Ze s
a i n t l r m o d c g
Analyse de fréquences
I Certaines lettres sont plus fréquentes que d’autres enfrançais : e (15%), a (10%), i et s (8%), etc.
I Si dans le texte crypté, une lettre apparaît plus que lesautres, elle code probablement le e ; la deuxième lettre laplus fréquente peut être a, i ou s, etc.
I Déchiffrons le code (sans savoir l’alphabet chiffré) :KFFPAK CK MVXXPAQJK RK EKFFPZKessa
i
e
d
e
conn
a
itr
e
l
e
m
essa
g
e
Fréquences :K F P A X Q R J E V C M Z7 4 3 2 2 1 1 1 1 1 1 1 1
Tentatives :K F P A X Q R J E V C M Ze s a
i n t l r m o d c g
Analyse de fréquences
I Certaines lettres sont plus fréquentes que d’autres enfrançais : e (15%), a (10%), i et s (8%), etc.
I Si dans le texte crypté, une lettre apparaît plus que lesautres, elle code probablement le e ; la deuxième lettre laplus fréquente peut être a, i ou s, etc.
I Déchiffrons le code (sans savoir l’alphabet chiffré) :KFFPAK CK MVXXPAQJK RK EKFFPZKessaie
d
e
conn
ai
tr
e
l
e
m
essa
g
e
Fréquences :K F P A X Q R J E V C M Z7 4 3 2 2 1 1 1 1 1 1 1 1
Tentatives :K F P A X Q R J E V C M Ze s a i
n t l r m o d c g
Analyse de fréquences
I Certaines lettres sont plus fréquentes que d’autres enfrançais : e (15%), a (10%), i et s (8%), etc.
I Si dans le texte crypté, une lettre apparaît plus que lesautres, elle code probablement le e ; la deuxième lettre laplus fréquente peut être a, i ou s, etc.
I Déchiffrons le code (sans savoir l’alphabet chiffré) :KFFPAK CK MVXXPAQJK RK EKFFPZKessaie de
conn
ai
tr
e le
m
essa
g
e
Fréquences :K F P A X Q R J E V C M Z7 4 3 2 2 1 1 1 1 1 1 1 1
Tentatives :K F P A X Q R J E V C M Ze s a i
n t
l
r m o
d
c g
Analyse de fréquences
I Certaines lettres sont plus fréquentes que d’autres enfrançais : e (15%), a (10%), i et s (8%), etc.
I Si dans le texte crypté, une lettre apparaît plus que lesautres, elle code probablement le e ; la deuxième lettre laplus fréquente peut être a, i ou s, etc.
I Déchiffrons le code (sans savoir l’alphabet chiffré) :KFFPAK CK MVXXPAQJK RK EKFFPZKessaie de
co
nnai
tr
e le
m
essa
g
e
Fréquences :K F P A X Q R J E V C M Z7 4 3 2 2 1 1 1 1 1 1 1 1
Tentatives :K F P A X Q R J E V C M Ze s a i n
t
l
r m o
d
c g
Analyse de fréquences
I Certaines lettres sont plus fréquentes que d’autres enfrançais : e (15%), a (10%), i et s (8%), etc.
I Si dans le texte crypté, une lettre apparaît plus que lesautres, elle code probablement le e ; la deuxième lettre laplus fréquente peut être a, i ou s, etc.
I Déchiffrons le code (sans savoir l’alphabet chiffré) :KFFPAK CK MVXXPAQJK RK EKFFPZKessaie de connaitre le message
Fréquences :K F P A X Q R J E V C M Z7 4 3 2 2 1 1 1 1 1 1 1 1
Tentatives :K F P A X Q R J E V C M Ze s a i n t l r m o d c g
Le chiffre de Vigenère
I Plutôt que de décaler les lettres selon un alphabet fixé, onles décale selon une clé que l’on répète
Le chiffre de Vigenère
I Plutôt que de décaler les lettres selon un alphabet fixé, onles décale selon une clé que l’on répète
Exemple : si la clé est CODETexte clair : « fete de la science »
texte f (6) e (5) t (20) e (5) d (4) e(5) l (12) a (1)clé C (3) O (15) D (4) E (5) C (3) O (15) D (4) E (5)code I (9) T (20) X (24) J (10) G (7) T (20) P (16) F (6)
texte s (19) c (3) i (9) e (5) n (14) c (3) e (5)clé C (3) O (15) D (4) E (5) C (3) O (15) D (4)code V (22) R (18) M (13) J (10) Q (17) R (18) I (9)
Texte chiffré : ITXJ GT PF VRMJQRI
Le chiffre de Vigenère
I Plutôt que de décaler les lettres selon un alphabet fixé, onles décale selon une clé que l’on répète
Avantages :I une même lettre du message chiffré peut coder des lettres
différentes du texte clair ;I l’analyse de fréquences ne fonctionne plus ;I facile à mettre en œuvre : il suffit de connaître la clé pour
coder et pour décoder ;I code réputé indéchiffrable. . .
Cryptanalyse du chiffre de Vigenère
I . . . indéchiffrable pendant 300 ans.I En 1854, Charles Babbage réussit la cryptanalyse du
chiffre de Vigenère.
Cryptanalyse du chiffre de Vigenère
I . . . indéchiffrable pendant 300 ans.I En 1854, Charles Babbage réussit la cryptanalyse du
chiffre de Vigenère.
I Si deux suites de lettres (p. ex. MGHQ) se répètent dansle texte chiffré, il est probable qu’elle viennent de deuxmots identiques codés par une même partie de la clé.
I Si ces suites sont séparées d’une distance d, alors la taillede la clé divise d.
I En étudiant plusieurs répétitions, on en déduit la taille dela clé et on peut faire une analyse de fréquences pourchaque lettre de la clé.
1850–1920
I De 1850 à 1920 : plus de code fiable !
I Développement du télégraphe
puis de la radio au début du 20ème siècle⇒ besoin de codes sûrs
I Première guerre mondiale, juin 1918 : les Allemandsveulent prendre Paris
I Message codé pour avertir leurs troupes :code “ADFGVX”
I Les Alliés parviennent à décrypter le message à tempset repoussent les Allemands.
À partir de 1920 : développement de machines à coder.
1850–1920
I De 1850 à 1920 : plus de code fiable !
I Développement du télégraphepuis de la radio au début du 20ème siècle⇒ besoin de codes sûrs
I Première guerre mondiale, juin 1918 : les Allemandsveulent prendre Paris
I Message codé pour avertir leurs troupes :code “ADFGVX”
I Les Alliés parviennent à décrypter le message à tempset repoussent les Allemands.
À partir de 1920 : développement de machines à coder.
1850–1920
I De 1850 à 1920 : plus de code fiable !
I Développement du télégraphepuis de la radio au début du 20ème siècle⇒ besoin de codes sûrs
I Première guerre mondiale, juin 1918 : les Allemandsveulent prendre Paris
I Message codé pour avertir leurs troupes :code “ADFGVX”
I Les Alliés parviennent à décrypter le message à tempset repoussent les Allemands.
À partir de 1920 : développement de machines à coder.
1850–1920
I De 1850 à 1920 : plus de code fiable !
I Développement du télégraphepuis de la radio au début du 20ème siècle⇒ besoin de codes sûrs
I Première guerre mondiale, juin 1918 : les Allemandsveulent prendre Paris
I Message codé pour avertir leurs troupes :code “ADFGVX”
I Les Alliés parviennent à décrypter le message à tempset repoussent les Allemands.
À partir de 1920 : développement de machines à coder.
1850–1920
I De 1850 à 1920 : plus de code fiable !
I Développement du télégraphepuis de la radio au début du 20ème siècle⇒ besoin de codes sûrs
I Première guerre mondiale, juin 1918 : les Allemandsveulent prendre Paris
I Message codé pour avertir leurs troupes :code “ADFGVX”
I Les Alliés parviennent à décrypter le message à tempset repoussent les Allemands.
À partir de 1920 : développement de machines à coder.
Enigma
I Interceptions radio→ codes fiables indispensablesI Machine Enigma mise au point par les Allemands
Enigma
I Interceptions radio→ codes fiables indispensablesI Machine Enigma mise au point par les Allemands
Enigma
I Interceptions radio→ codes fiables indispensablesI Machine Enigma mise au point par les Allemands
Enigma
I Interceptions radio→ codes fiables indispensablesI Machine Enigma mise au point par les Allemands
Enigma
I Interceptions radio→ codes fiables indispensablesI Machine Enigma mise au point par les Allemands
Enigma
I Code Enigma réputé inviolable
I Avant la guerre, Marian Rejewski (services secretspolonais) réussit à décrypter les messages d’une premièreversion d’Enigma grâce à des répétitions dans le code.
Enigma
I Code Enigma réputé inviolableI Avant la guerre, Marian Rejewski (services secrets
polonais) réussit à décrypter les messages d’une premièreversion d’Enigma grâce à des répétitions dans le code.
Enigma
I Code Enigma réputé inviolableI Avant la guerre, Marian Rejewski (services secrets
polonais) réussit à décrypter les messages d’une premièreversion d’Enigma grâce à des répétitions dans le code.
I Mécanisation du processus de décodage (“bombes deRejewski”).
I Juste avant l’invasion de la Pologne, l’Angleterre récupèreles travaux de Rejewski.
I Les Allemands améliorent nettement leur machine : laméthode de Rejewski ne fonctionne plus !
I Alan Turing (services secrets anglais) parvient à décrypterles messages des nouvelles machines
I Les Alliés peuvent lire les messages ennemis.
Enigma
I Code Enigma réputé inviolableI Avant la guerre, Marian Rejewski (services secrets
polonais) réussit à décrypter les messages d’une premièreversion d’Enigma grâce à des répétitions dans le code.
I Juste avant l’invasion de la Pologne, l’Angleterre récupèreles travaux de Rejewski.
I Les Allemands améliorent nettement leur machine : laméthode de Rejewski ne fonctionne plus !
I Alan Turing (services secrets anglais) parvient à décrypterles messages des nouvelles machines
I Les Alliés peuvent lire les messages ennemis.
Enigma
I Code Enigma réputé inviolableI Avant la guerre, Marian Rejewski (services secrets
polonais) réussit à décrypter les messages d’une premièreversion d’Enigma grâce à des répétitions dans le code.
I Juste avant l’invasion de la Pologne, l’Angleterre récupèreles travaux de Rejewski.
I Les Allemands améliorent nettement leur machine : laméthode de Rejewski ne fonctionne plus !
I Alan Turing (services secrets anglais) parvient à décrypterles messages des nouvelles machines
I Les Alliés peuvent lire les messages ennemis.
L’échange des clés
I Jusqu’à présent : pour envoyer un message il faut d’abords’échanger physiquement la clé• se mettre d’accord sur une substitution• envoyer des carnets de codes à ses troupes. . .
I Aujourd’hui : Internet, commerce électronique. . .I On ne peut plus échanger physiquement les clésI Est-il possible d’envoyer des messages codés sans échange
de clés ?
L’échange des clés
I Jusqu’à présent : pour envoyer un message il faut d’abords’échanger physiquement la clé• se mettre d’accord sur une substitution• envoyer des carnets de codes à ses troupes. . .
I Aujourd’hui : Internet, commerce électronique. . .I On ne peut plus échanger physiquement les clésI Est-il possible d’envoyer des messages codés sans échange
de clés ?
L’échange des clés
Diffie, Hellman, Merkle 1976
Si Alice veut envoyer un message à Bob :
I Elle lui demande un coffre dont lui seul a la cléI Elle met le message dans le coffre
et le ferme
I Elle le renvoie à BobI Bob ouvre le coffre avec sa clé et lit le message
L’échange des clés
Diffie, Hellman, Merkle 1976
Si Alice veut envoyer un message à Bob :I Elle lui demande un coffre dont lui seul a la clé
I Elle met le message dans le coffre
et le ferme
I Elle le renvoie à BobI Bob ouvre le coffre avec sa clé et lit le message
L’échange des clés
Diffie, Hellman, Merkle 1976
Si Alice veut envoyer un message à Bob :I Elle lui demande un coffre dont lui seul a la cléI Elle met le message dans le coffre
et le fermeI Elle le renvoie à BobI Bob ouvre le coffre avec sa clé et lit le message
L’échange des clés
Diffie, Hellman, Merkle 1976
Si Alice veut envoyer un message à Bob :I Elle lui demande un coffre dont lui seul a la cléI Elle met le message dans le coffre et le ferme
I Elle le renvoie à BobI Bob ouvre le coffre avec sa clé et lit le message
L’échange des clés
Diffie, Hellman, Merkle 1976
Si Alice veut envoyer un message à Bob :I Elle lui demande un coffre dont lui seul a la cléI Elle met le message dans le coffre et le fermeI Elle le renvoie à Bob
I Bob ouvre le coffre avec sa clé et lit le message
L’échange des clés
Diffie, Hellman, Merkle 1976
Si Alice veut envoyer un message à Bob :I Elle lui demande un coffre dont lui seul a la cléI Elle met le message dans le coffre et le fermeI Elle le renvoie à BobI Bob ouvre le coffre avec sa clé et lit le message
Fonction à sens unique
I Trouver ce qui peut servir de « coffre »
I → une fonction de codage fc(x)• facile à calculer = coder le message (fermer le coffre)• pour les intrus, difficile à inverser = percer le code
(ouvrir le coffre sans la clé)• facile à inverser pour Bob (ouvrir le coffre avec la clé)
I Bob doit disposer d’une information supplémentaire :→ une clé secrète
I Tout le monde peut lui envoyer des messages cryptés→ une clé publique
Fonction à sens unique
I Trouver ce qui peut servir de « coffre »I → une fonction de codage fc(x)
• facile à calculer = coder le message (fermer le coffre)• pour les intrus, difficile à inverser = percer le code
(ouvrir le coffre sans la clé)• facile à inverser pour Bob (ouvrir le coffre avec la clé)
I Bob doit disposer d’une information supplémentaire :→ une clé secrète
I Tout le monde peut lui envoyer des messages cryptés→ une clé publique
Cryptographie à clé publique
I Bob diffuse dans un annuaire une clé publique (pour quetout le monde puisse coder un message à son attention)
I Il garde pour lui la clé secrète correspondante
I Si Alice veut lui envoyer un message, elle l’encode grâce àla clé publique de Bob
I Bob peut lire le message grâce à sa clé privée
Cryptographie à clé publique
I Bob diffuse dans un annuaire une clé publique (pour quetout le monde puisse coder un message à son attention)
I Il garde pour lui la clé secrète correspondante
I Si Alice veut lui envoyer un message, elle l’encode grâce àla clé publique de Bob
I Bob peut lire le message grâce à sa clé privée
Cryptographie à clé publique
I Bob diffuse dans un annuaire une clé publique (pour quetout le monde puisse coder un message à son attention)
I Il garde pour lui la clé secrète correspondante
I Si Alice veut lui envoyer un message, elle l’encode grâce àla clé publique de Bob
I Bob peut lire le message grâce à sa clé privée
Le système RSA
I Fonction à sens unique : le produit de deux entiers
I Facile à calculer : par exemple, 13× 17 = 221
I Difficile à inverser : par exemple,trouver les facteurs de 437 ? ? ? (réponse : 19× 23)
Le système RSA
I Fonction à sens unique : le produit de deux entiers
I Facile à calculer : par exemple, 13× 17 = 221I Difficile à inverser : par exemple,
trouver les facteurs de 437 ? ? ?
(réponse : 19× 23)
Le système RSA
I Fonction à sens unique : le produit de deux entiers
I Facile à calculer : par exemple, 13× 17 = 221I Difficile à inverser : par exemple,
trouver les facteurs de 437 ? ? ? (réponse : 19× 23)
Le système RSA
I Fonction à sens unique : le produit de deux entiers
I Arithmétique modulaire : modulo n, dès qu’un nombredépasse n on le ramène entre 0 et n− 1 :• pour donner l’heure on compte modulo 12
(11 + 7 ≡ 6 mod 12)
• 11 plus 13 modulo 15 : on calcule 11 + 13 = 24 puis on seramène entre 0 et 14 : 24 = 15 + 9
donc 11 + 13 = 24 ≡ 9 mod 15• 11 fois 13 modulo 15, on calcule 11× 13 = 143 puis on se
ramène entre 0 et 14 : 143 = 15× 9 + 8donc 11× 13 = 143 ≡ 8 mod 15
Le système RSA
I Fonction à sens unique : le produit de deux entiers
I Arithmétique modulaire : modulo n, dès qu’un nombredépasse n on le ramène entre 0 et n− 1 :• pour donner l’heure on compte modulo 12
(11 + 7 ≡ 6 mod 12)• 11 plus 13 modulo 15 : on calcule 11 + 13 = 24 puis on se
ramène entre 0 et 14 : 24 = 15 + 9donc 11 + 13 = 24 ≡ 9 mod 15
• 11 fois 13 modulo 15, on calcule 11× 13 = 143 puis on seramène entre 0 et 14 : 143 = 15× 9 + 8
donc 11× 13 = 143 ≡ 8 mod 15
Le système RSA
I Fonction à sens unique : le produit de deux entiers
I Arithmétique modulaire : modulo n, dès qu’un nombredépasse n on le ramène entre 0 et n− 1 :• pour donner l’heure on compte modulo 12
(11 + 7 ≡ 6 mod 12)• 11 plus 13 modulo 15 : on calcule 11 + 13 = 24 puis on se
ramène entre 0 et 14 : 24 = 15 + 9donc 11 + 13 = 24 ≡ 9 mod 15
• 11 fois 13 modulo 15, on calcule 11× 13 = 143 puis on seramène entre 0 et 14 : 143 = 15× 9 + 8
donc 11× 13 = 143 ≡ 8 mod 15
RSA en théorie
I Bob choisit deux grands nombres premiers p et qI Il calcule n = pq et φ(n) = (p− 1)(q− 1)
I Il choisit c premier < φ(n) (exposant de chiffrement)I Il calcule d tel que cd ≡ 1 mod φ(n)
(exposant de déchiffrement)I Clé publique : couple (n, c) / clé privée : dI Pour coder un message M :
• Alice le convertit en un entier• Elle consulte la clé publique de Bob
et calcule C ≡ Mc mod n• Elle envoie C à Bob
I Pour décoder C :• Bob calcule M ≡ Cd mod n
RSA en théorie
I Bob choisit deux grands nombres premiers p et qI Il calcule n = pq et φ(n) = (p− 1)(q− 1)
I Il choisit c premier < φ(n) (exposant de chiffrement)I Il calcule d tel que cd ≡ 1 mod φ(n)
(exposant de déchiffrement)
I Clé publique : couple (n, c) / clé privée : dI Pour coder un message M :
• Alice le convertit en un entier• Elle consulte la clé publique de Bob
et calcule C ≡ Mc mod n• Elle envoie C à Bob
I Pour décoder C :• Bob calcule M ≡ Cd mod n
RSA en théorie
I Bob choisit deux grands nombres premiers p et qI Il calcule n = pq et φ(n) = (p− 1)(q− 1)
I Il choisit c premier < φ(n) (exposant de chiffrement)I Il calcule d tel que cd ≡ 1 mod φ(n)
(exposant de déchiffrement)I Clé publique : couple (n, c) / clé privée : d
I Pour coder un message M :• Alice le convertit en un entier• Elle consulte la clé publique de Bob
et calcule C ≡ Mc mod n• Elle envoie C à Bob
I Pour décoder C :• Bob calcule M ≡ Cd mod n
RSA en théorie
I Bob choisit deux grands nombres premiers p et qI Il calcule n = pq et φ(n) = (p− 1)(q− 1)
I Il choisit c premier < φ(n) (exposant de chiffrement)I Il calcule d tel que cd ≡ 1 mod φ(n)
(exposant de déchiffrement)I Clé publique : couple (n, c) / clé privée : dI Pour coder un message M :
• Alice le convertit en un entier• Elle consulte la clé publique de Bob
et calcule C ≡ Mc mod n• Elle envoie C à Bob
I Pour décoder C :• Bob calcule M ≡ Cd mod n
RSA en théorie
I Bob choisit deux grands nombres premiers p et qI Il calcule n = pq et φ(n) = (p− 1)(q− 1)
I Il choisit c premier < φ(n) (exposant de chiffrement)I Il calcule d tel que cd ≡ 1 mod φ(n)
(exposant de déchiffrement)I Clé publique : couple (n, c) / clé privée : dI Pour coder un message M :
• Alice le convertit en un entier• Elle consulte la clé publique de Bob
et calcule C ≡ Mc mod n• Elle envoie C à Bob
I Pour décoder C :• Bob calcule M ≡ Cd mod n
RSA en pratique
I Utilisé pour toute transaction sur InternetI p et q doivent avoir de l’ordre de 300 chiffres
I Relativement lent pour coder un messageI → on utilise donc RSA pour échanger des clés secrètes et
ensuite on utilise ces clés avec d’autres algorithmes pourcoder le message
I Si p et q sont trop petits ou mal choisis, on peutcasser le code RSA.
RSA en pratique
I Utilisé pour toute transaction sur InternetI p et q doivent avoir de l’ordre de 300 chiffresI Relativement lent pour coder un messageI → on utilise donc RSA pour échanger des clés secrètes et
ensuite on utilise ces clés avec d’autres algorithmes pourcoder le message
I Si p et q sont trop petits ou mal choisis, on peutcasser le code RSA.
RSA en pratique
I Utilisé pour toute transaction sur InternetI p et q doivent avoir de l’ordre de 300 chiffresI Relativement lent pour coder un messageI → on utilise donc RSA pour échanger des clés secrètes et
ensuite on utilise ces clés avec d’autres algorithmes pourcoder le message
I Si p et q sont trop petits ou mal choisis, on peutcasser le code RSA.
Cryptographie quantique
I Factoriser un nombre : difficile avec nos ordinateurs,facile avec un “ordinateur quantique” (Shor 1994)
I Cryptographie quantique : repose sur la mécaniquequantique.
I Idée : envoi de photons polarisés (↑,→,↗ ou↖)pour échanger une clé aléatoire
I Méthode prouvée inviolable. . .I . . . mais pour l’instant seulement sur de courtes distances
(150 km).
Cryptographie quantique
I Factoriser un nombre : difficile avec nos ordinateurs,facile avec un “ordinateur quantique” (Shor 1994)
I Cryptographie quantique : repose sur la mécaniquequantique.
I Idée : envoi de photons polarisés (↑,→,↗ ou↖)pour échanger une clé aléatoire
I Méthode prouvée inviolable. . .I . . . mais pour l’instant seulement sur de courtes distances
(150 km).
Cryptographie quantique
I Factoriser un nombre : difficile avec nos ordinateurs,facile avec un “ordinateur quantique” (Shor 1994)
I Cryptographie quantique : repose sur la mécaniquequantique.
I Idée : envoi de photons polarisés (↑,→,↗ ou↖)pour échanger une clé aléatoire
I Méthode prouvée inviolable. . .I . . . mais pour l’instant seulement sur de courtes distances
(150 km).
Conclusion
I Attaques de plus en plus performanteset codes de plus en plus sophistiqués
I Les codes ont toujours été cassésplus ou moins rapidement. . .
I RSA actuellement sûr, mais dans le futur ?
I Impossible de casser la cryptographie quantique
I Bémol : négligence des utilisateurs.
Conclusion
I Attaques de plus en plus performanteset codes de plus en plus sophistiqués
I Les codes ont toujours été cassésplus ou moins rapidement. . .
I RSA actuellement sûr, mais dans le futur ?
I Impossible de casser la cryptographie quantique
I Bémol : négligence des utilisateurs.
Conclusion
I Attaques de plus en plus performanteset codes de plus en plus sophistiqués
I Les codes ont toujours été cassésplus ou moins rapidement. . .
I RSA actuellement sûr, mais dans le futur ?
I Impossible de casser la cryptographie quantique
I Bémol : négligence des utilisateurs.
Conclusion
I Attaques de plus en plus performanteset codes de plus en plus sophistiqués
I Les codes ont toujours été cassésplus ou moins rapidement. . .
I RSA actuellement sûr, mais dans le futur ?
I Impossible de casser la cryptographie quantique
I Bémol : négligence des utilisateurs.