Cryptographie : de l'Antiquité à nos jours - irif.frsperifel/divers/fete_science2009.pdf ·...

98
Cryptographie : de l’Antiquité à nos jours Fête de la science université Paris Diderot – Paris 7 Le 20 novembre 2009

Transcript of Cryptographie : de l'Antiquité à nos jours - irif.frsperifel/divers/fete_science2009.pdf ·...

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

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

Diplomate français (1523–1596)

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

Seconde guerre mondiale (1939–1945)

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.

Enigma

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

Rivest, Shamir, Adleman 1977

Le système RSA

I Fonction à sens unique : le produit de deux entiers

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.

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.