62
Des mathématiques pour protéger les communications

Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Embed Size (px)

Citation preview

Page 1: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Des mathématiques pour protéger les communications

Page 2: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

2

Page 3: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Certains messages ne doivent pas tomber dans les mains de n'importe qui. Voilà des millénaires que les hommes tentent de sécuriser les messages qu’ils s’envoient…

Hérodote (Ve s. av. J.-C.) raconte comment Demaratus informa Sparte que Xerxès rassemblait la plus grande armée jamais connue pour envahir la Grèce. Il gratta la cire de deux tablettes de bois pliantes et grava le texte directement sur le bois, puis recouvrit d’une couche de cire vierge. Son messager pu avertir Sparte, et les Grecs eurent le temps de construire 200 navires de guerre pour remporter la bataille de Salamine.

3

Page 4: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Dans La Poliorcétique (IVe s. av. J.-C) Enée donne des conseils pour défendre une ville ou la conquérir. Il explique plusieurs procédés destinés à camoufler les messages, comme :

Ecrire un texte sur les boucles d'oreille d'une femme élégante qui n'éveillera aucun soupçon,

Ecrire un message sous une image pieuse que le destinataire grattera,

Percer un dé autant de fois qu'il y a de lettres de l'alphabet, retenir la lettre correspondant à chaque trou, puis faire passer un fil d'un trou à l'autre en suivant l'ordre des lettres du message,

Ou écrire au fer rouge sur la tête d’un esclave et attendre que ses cheveux repoussent (ruse d'Histiæus pour avertir le roi de Milet).

4

Page 5: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Texte extrait d'un polycopié de logique combinatoire sur le problème des ponts de Königsberg, tapé par un mathématicien de RDA et expédié à un collègue d'Allemagne de l'Ouest.

Ce texte anodin a traversé la censure. Pourtant…

5

Page 6: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Des lettres ont été décalées pour former le message : « nieder mit dem sowjetimperialismus »

« A bas l'impérialisme soviétique ».

6

Page 7: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Stéganos = couvert Graphein = écriture

James Bond : technique des micro-points (espions soviétiques et allemands première moitié du XXe s.),

Encre sympathique (jus de citron),

Coquilles d’œufs durs (encre vinaigre/alun),

Message dans un clou enfoncé dans une planche,

Fichier jpeg envoyé par mél…

7

Page 8: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

La stéganographie cache l'existence d'un message.

La cryptographie rend un message inintelligible.

Stéganos = couvert Kruptos = caché

8

Page 9: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

CryptographieCodes

Chiffres

9

Page 10: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Le code le plus connu en France au XIXe s.

Utilisé pour la télégraphie et les messages personnels dans les journaux.

Clé : un dictionnaire et des pages numérotées comme on le désirait.

Messages : 8264 pour texte n°64 à la page 82 (ou autres combinaisons possibles).

10

Page 11: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Grèce

Ve s. av. J.-C.

Siècle de Périclès

L’un des premiers exemples de chiffrement

11

Page 12: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Utilisé jusqu’au XIXe siècle car très pratique

Pigpen = parc à cochons

12

A B C

D E F

G H I

J K L

M N O

P Q R

S

T

U

V X

Y

Z

W

RASSEMBLEMENT

Page 13: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Chiffrement

à clé secrète

à clé révélée

13

Page 14: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

14

Page 15: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

15

Page 16: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Pendant la guerre des Gaules, Jules César (101-44 av. J.-C.) envoyait des messages chiffrés à Cicéron qui était resté au sénat à Rome. Il envoyait des messages où les lettres étaient décalées de 3 places dans l'alphabet.

16

Page 17: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Solide jusqu’aux années 800.

Pour étudier des textes et savoir s’ils émanent du prophète, les arabes initient l’analyse de fréquences (Al-Kindi 801-873).

En Français, les 4 lettres les plus fréquentes sont e, a, s, i. On peut aussi relever la fréquence d’apparition des digrammes, et la façon dont les lettres sont le plus susceptibles de se suivre…

17

Page 18: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Voici une analyse de fréquences sur le texte de l'Education sentimentale de Gustave Flaubert :

18

Page 19: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

19

Page 20: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Pour tester la sécurité d'un chiffre, il est habituel de faire les hypothèses de Kerckhoff :

L'adversaire peut accéder à toute l'information chiffrée : il peut lire autant de messages chiffrés qu'il désire.

L'adversaire connait les détails de la méthode de cryptographie employée, à l'exception de la clé.

Trois attaques sont efficaces sur le code de Vigenère.

20

Page 21: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Exemple de cryptanalyse : méthode de Kasiski

On essaie de trouver la longueur de la clé en cherchant les répétitions dans le message chiffré. Ces répétitions existent puisque des mots courants comme « de », « les » ou « que » finiront par être traduits de la même façon.

Si des répétitions sont repérées avec des intervalles de longueurs 42, 63 et 105, on déduit que la longueur de la clé est un diviseur de pgcd(42, 63, 105) = 21.

On débute une analyse de fréquences pour chacune des longueurs de clés possibles (ici 1, 3, 7 et 21).

21

Page 22: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Les diplomates et les militaires considéraient Vigenère comme trop long à mettre en œuvre.

Ils préféraient utiliser des chiffres de sécurité intermédiaire, comme des tableaux de substitutions homophoniques…

22

Page 23: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

23

Page 24: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

24

Page 25: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

25

Page 26: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

26

Page 27: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

27

Voici un tableau extrait d’un exercice du BAC S de Pondichéry 2012 qui satisfait certainement aux exigences du programme de spécialitéde terminale S après la très pénible et abracadabrante réforme Chatelde 2010 qui minimise l'importance des sciences dans la voie scientifique :

L’exercice portait sur un chiffrement de Hill,un cas particulier d’un chiffrement affine.

Page 28: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Impératifs stratégiques d’un chiffre militaire : Facile d'emploi. Permet d'envoyer de nombreux messages chaque jour. Assure la confidentialité pendant un laps de temps relativement court.

En 1914-18, les procédés manuels devaient obéir à la règle :« Un message doit pouvoir être chiffré ou déchiffré

manuellement en moins d'une heure ».

Procédés cryptographiques utilisés en 1914-18 : Substitution = principe du remplacement Transposition = principe du mélange (anagrammes)

L'intérêt du chiffrement par transpositions est de coder un caractère de façon différente dans chaque bloc, et ainsi de détruire les liens entre des caractères qui se suivent. La faiblesse de ce chiffrement est de rester vulnérable à une attaque par analyse de fréquences, car les fréquences d'apparition des caractères restent les mêmes.

28

Page 29: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

29

1918 : Gilbert Vernam(ingénieur AT&T) et Joseph Mauborgne

(major de l‘US Army).

Vernam = Vigenèreavec clé à usage

unique de longueur égale au texte à

expédier.

Sécurité absolue ! Un livre de 100 pages est donné à

l'expéditeur et au destinataire. Chaque page contient une clé aléatoire de 100 lettres. L'expéditeur et le destinataire

utilisent une page par message à transmettre. Chaque message est chiffré

par la méthode de Vigenère.

Utilisé pour faire fonctionner le téléphone rouge entre Washington

et Moscou pendant la guerre froide !

Page 30: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Inventé par Charles Wheatstone en 1854,

mais ce fut Lord Playfair qui en fit une promotion effrénée…

Wheatstone proposa ce chiffrement au British Foreign Office qui le jugea extrêmement

complexe !

30

Page 31: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

31

1

•On mémorise une phrase-clé :DANSEZ MAINTENANT JULES

2

•On supprime les lettres répétées :DANSEZMITUL

3•On complète dans l'ordre alphabétique (sans le J) :

DANSEZMITULBCFGHKOPQRVWXY

4•On dispose ces lettres dans une matrice 5×5 :

Page 32: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

32

1•Substitution des digrammes. Si 2 lettres se suivent, intercaler un X.

2•M = DEMANDE RENFORTS IMMEDIATEMENT

3•DE-MA-ND-ER-EN-FO-RT-SI-MX-XM-ED-IA-TE-ME-NT

4•M’ = AD-BM-SA-YD-DS-PC-ZX-TN-VT-TV-DA-NM-SU-AU-IS

Invulnérable à une attaque basée sur les fréquences d'apparition des caractères, mais pas si l’on étudieles fréquences d'apparition des digrammes.

Page 33: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Utilisé par l'armée allemande dès le 5 mars 1918 pour l'offensive générale sur

Paris

Inventé par le colonel Fritz Nebel pour reprendre l'avantage après les échecs du chiffre allemand depuis 1914 (UBCHI,

ABC, KRU...).

1. SUBSTITUTION

Chaque caractère est remplacé par le digramme correspondant à la ligne et la colonne où il se trouve dans le tableau.

Exemple : U donne DG

2 étapes

33

Page 34: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

34

2. TRANSPOSITION

mot-clé = BRUTE

Exemple

Décrypté en avril 1918 par le lieutenant français Georges Painvin

Page 35: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

35

Arthur Scherbius (1918)

Machine à trois rotors

Armée allemande : seconde guerre mondiale

ENIGMA ressemblait à une machine à écrire. Appuyer sur une touche du clavier faisait allumer une lampe qui

éclairait la lettre à employer dans le message chiffré.

Page 36: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

36

• 3 rotors pouvaient prendre 26 positions différentes et fonctionnaient comme des compteurs kilométriques de voiture.

• Le réflecteur permettait de déchiffrer les messages avec la même position des rotors.• Un tableau de connexions à fiches à la sortie du clavier permettait de relier 6×2=12

lettres entre elles L à l’aide de 6 câbles.

4×1018 clés Film U571

Page 37: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Le Data Encryption Standard est le plus connu des chiffres à blocs et à clé symétrique. Il a été retenu en 1977 par le U.S. National Bureau of Standards.

Dérivé du chiffrement Lucifer.

Successeurs : Triple DES, G-DES, DES-X, LOKI et ICE qui reprennent la même idée en augmentant la complexité.

37

Page 38: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Schéma de Feistel

16 rondes

Clé de 64 bits utilisée pour obtenir 16 clés partielles

Expansions et réductions

38

Page 39: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Claude Shannon définit deux principes généraux concernant les chiffrements à clé secrète

La confusion doit cacher les structures algébriques et statistiques.

La diffusion doit permettre à un bit d'information d'avoir une influence sur une grande partie du texte chiffré.

Le DES est construit pour qu’un seul caractère du texte influe sur de nombreux caractères du message chiffré.

39Un remplaçant : l’AES (Advanced Encryption Standard) adopté par le NIST en 2001.

Page 40: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

40

Entrée bloc de 128 bits

K = Clé de 128 bits

A

Sortie bloc de 128 bits

Message de 128 bits

S

B

D

C B D

K

Transformation nonlinéaire d’octets

Décalagede lignes

Brouillage descolonnes

Addition de laclé de tour

Tour suivant(10 tours)

KT = Clé de tour

Le successeur du DES

Page 41: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

41

Page 42: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Multiplication des clés - Pour sécuriser une information entre deux partenaires, ceux-ci doivent posséder la même clé. n abonnés auront besoin de n² clés distinctes pour communiquer entre eux.

Communication des clés - Comment se communiquer des clés de chiffrement sur internet ?

Signature – Comment certifier qu’un message crypté avec une clé donnée provient bien du titulaire de cette clé ?

42

Page 43: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Diffie et Hellman (1976)

Cryptosystème classique : l'émetteur E et le récepteur R connaissent tous les deux la clé qui permet de chiffrer et de déchiffrer.

Cryptosystème à clé révélée : le récepteur connaît la clé C de chiffrement et la clé D de déchiffrement. Il conserve D secrète mais donne C à tout le monde.

43

C = clé publiqueou clé révélée

D = clé secrète

Page 44: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

44

Page 45: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

L'utilisation d'une fonction trappe C résout les problèmes de la multiplication des clés et de leur communication.

45

Page 46: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

46

Page 47: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

47

Toute la mathématiquedu RSA est contenuedans ce résultat :

Rivest, Shamir, Adleman 1978

Page 48: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

48

Pour chiffrer un message

Choisir 2 nombres premiers p, q.

n = pq.

m = (p-1)(q-1)

Utiliser l’algorithme d’Euclide

Choisir c premier avec m

Choisir d et k tels que cd = km+1.

Calculer les clés

Page 49: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

49

Sécurité du système RSA : Facilité d'obtenir des nombres premiers très grands. Impossibilité de calculer la décomposition d'un grand nombre en

produit de facteurs premiers en un temps raisonnable.

Adleman 1978

Pomerance 1981

Page 50: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

50

RSA-792 bits implémenté sur les CB dès l'an 2000. Il aurait fallu immédiatement passer au RSA-1024, mais cela posait trop de problème : augmentation du temps d'attente aux caisses de 10 sec pour la procédure d'authentification, renouvellement du parc des machines électroniques de vérification…

En 2014 : protection suffisante pour des clés de 1024 à 2048 bits.

RSA-2048 = nombre pq de l'ordre de 3×10616.

Page 51: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Les transactions par CB sont protégées par un chiffrement à clé publique (RSA) et un chiffrement à clé secrète (à l'origine un DES, puis Triple DES et AES).

Le protocole de paiement comporte 3 vérifications :

51

Page 52: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

fff

52

Authentification

de la carte

CC = clé publique de la carteDC = clé secrète de la carteCR = clé publique de référenceDR = la clé secrète de référence

I = valeur d'authentification

Page 53: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

Terminal

Centre de contrôle à distance

CB

Calcul dey = f(x,K)

Envoide x

Envoi de x

Débuter laprocédure

Calcul dey = f(x,K)

Envoide y

Envoi de y

Page 54: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

54

Problème de la pile :• n boîtes de hauteurs respectives a1, a2, …, an.• Inconnues x1, x2, …, xn qui ne peuvent prendre que les valeurs 0 ou 1.• Pour une hauteur donnée h, quelles boîtes ont été utilisées ?

Il faut résoudre l’équation : a1 x1 + a2 x2 + …+ an xn = h

Ce problème est très difficile à résoudre : si l’on emploie la force brute, il faut réaliser 2n tests. Il s’agit donc d’un problème NP (non résoluble en temps polynomial).

Un cas particulier va nous sauver. Si l’on suppose que pour tout entier k les hauteurs des boîtes vérifient :

b1+ b2+ …+ bk-1 < bk

alors on sait résoudre ce problème en utilisant seulement n tests !

Page 55: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

55

k n

h>=bk

xk 1 xk 0

h h-bk

k k-1

k=0

oui non

ouiFIN

Print xk

non

h

bn

Page 56: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

56

Comment passer du problème facile à celui non résoluble en temps polynomial ?

En utilisant l'arithmétique des congruences, bien sûr !

Page 57: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

57

Message

Chiffrer

Déchiffrer

Equation facile

Page 58: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

58

Problème du logarithme discret = calcul de r connaissant gr

r gr

facile

difficile

Fonction trappe

Page 59: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

59

Fonction trappe :

r donne gr

Construction de cryptosystèmes : exponentiation, El Gamal, courbe elliptique, courbe algébrique…

Signature des clés en se référant à une

autorité tierce (DSA)

Echange de clés sur un réseau (schéma de

Diffie-Hellman)

Page 60: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

60

Echange de clés : schéma de Diffie-Hellman

Anatolechoisit g et h

Bernadettechoisit k

Clé secrètecommune = ghk

g, gh

gk

1976

Page 61: Mathématiques et codes secrets - Des mathématiques pour protéger les communications

61