35
I. 2 Confusion & Diffusion

I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Embed Size (px)

Citation preview

Page 1: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

I. 2Confusion & Diffusion

I. 2Confusion & Diffusion

Page 2: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Sommaire

1. Cryptages par substitution

confusion

2. Cryptages par transpositions et permutations

diffusion

3. Autres cryptages

Page 3: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1. Cryptages par substitution

1.1 Cryptages mono-alphabétiques

1.2 Cryptages poly-alphabétiques

Dans tout ce qui suit on suppose k’ = k sauf stipulation contraire

Page 4: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.1 Cryptages monoalphabétiques

1.1.1 Cryptages « naïfs »

1.1.2 Cryptages additifs

1.1.3 Cryptages par généraux par substitution

1.1.4 Cryptages affines

1.1.5 Cryptanalyse

Page 5: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.1.1 Cryptages « naïfs »

• Cryptage de PolybeP = {a,b, … z}

les 25 lettres de l’alphabet latin (i et j identiques)C = {1,2,3,4,5}2

suite de 2 chiffres de 1 à 5K = Ø

pas de clefE : P CD : C P D = E-1

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Polybe(-205 -126)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Page 6: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.1.2 Cryptages additifs

• Cryptage de César– Principe

P = C = K = {a,b, … z} = Z26

x P y C k,k’ K k = k’

Ek(x) = x + k mod 26 décalage de k lettres

Dk(y) = y - k mod 26 décalage inverse

Jules César n’utilisait que la clef k = 3 !

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Jules César(-100 -44)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Page 7: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Exemple

x = message 12-4-18-18-0-6-4

k = 3

y = phvvdjh 15-7-21-21-3-9-7

Page 8: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.1.3 Cryptages généraux par substitution

• PrincipeP = C = {a,b, … z} = Z26

K = ∏ : Z26 Z26

ensemble des fonctions bijectives (permutations)

x P y C π,π’ ∏ π’ = π-1

Eπ(x) = π (x)

Dπ’(y) = π’ (x)

Il y a 26! clefs possibles considérable !

Page 9: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Exemple

x = message 12-4-18-18-0-6-4

k = z y x … c b a

y = nvhhztv 13-21-7-7-25-19-21

Page 10: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.1.4 Cryptages affines

• PrincipeP = C = {a,b, … z} = Z26

K = {(a,b) Z262 | pgcd (a,26)=1 }

x P y C (a,b) K

Ek(x) = a x + b mod 26

Dk(y) = (y-b)/a mod 26 pour a=1, le cryptage est additif

Ek doit être injective pgcd (a,26) = 1

Zp pour p premier est un corps

a Zp pgcd (a,p) = 1

Page 11: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Exemple

x = message 12-4-18-18-0-6-4

k = (7, 3)

y = 7x + 3 mod 26

y = jfzzdtf 9-5-25-25-3-19-5 Pour décrypter :

x = (y-3)/7 mod 26 = (y-3) 7-1 mod 26

7-1 mod 26 = 15 (7.15 = 105 = 1 mod 26 )

x = 15 (y-3) mod 26 = 15y - 45 mod 26 =

15y - 19 mod 26

Page 12: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.1.5 Cryptanalyse

• Analyse des fréquencesAl-Kindi philosophe, mathématicien, astronome, médecin, musicologue et … linguiste, auteur de 290 livres

Manuscrit sur le déchiffrement des messages cryptographiques (découvert en 1987 dans les archives ottomanes d’Istambul)

– Principe • La fréquence des lettres reste invariante entre le texte en clair et le cryptogramme• On classe les lettres du cryptogramme selon leur fréquence• On établit une corrélation des lettres les plus fréquentes avec une table de fréquence type du langage à crypter

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

الكندي إسحاق ابن يعقوب يوسف أبو

Abu Yusuf Ya’qub ibn Is-haq ibn as-Sabbah

ibn Oòmran ibn Ismaïl Al-Kindi

(801-873)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

Page 13: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.2 Cryptages polyalphabétiques

1.2.1 Cryptages par blocs

1.2.2 Cryptage matriciel

1.2.3 Cryptage à confidentialité parfaite

1.2.4 Cryptanalyse

Page 14: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.2.1 Cryptages par blocs

• Origines XVième siècle• Principe

P = C = K = {a,b, … z} m = Z26

m

cryptage par blocs de m lettres avec une clef alphabétique de longueur m (x1, x2, … xm) P (y1, y2, … ym) C

(k1, k2, … km) K

Ek (x1, x2, … xm ) = (x1+k1, x2+k2, … xm+km)

Dk (y1, y2, … ym ) = (y1-k1, y2-k2, … ym-km) cryptage additif par blocs + & - sont définis mod 26

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Leon Batista Alberti(1404 - 1472)

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Jean Trithème(1462 - 1516)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Giovanni Battista Della Porta

(1535 - 1615)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Blaise de Vigenère(1523 - 1596)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Page 15: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Exemple

x = message 12-4-18-18-0-6-4

k = cle 2-11-4

y = opwulkg 14-15-22-20-11-10-6

des lettres identiques de x donnent des lettres différentes de y

l’analyse des fréquences brutes est inapplicable

du fil à retordre pour le cryptanalyste

Page 16: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.2.2 Cryptage matriciel

• PrincipeP = C = {a,b, … z}

m = Z26m

K = {M (m,m) | M matrice inversible dans Z26}

x = (x1, x2, … xm) P y = (y1, y2, … ym) C

k = (k1, k2, … kn) K

Ek (x) = x . k

Dk (y) = y . k-1

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Lester S. Hill(1891-1961)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Page 17: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Exemple

k = 11 8

3 7

⎝ ⎜

⎠ ⎟

x = et = 4 19( )

y = 4 19( ) • 11 8

3 7

⎝ ⎜

⎠ ⎟ = 23 9( )

k−1 = 7 18

23 11

⎝ ⎜

⎠ ⎟

k • k−1 = 1 0

0 1

⎝ ⎜

⎠ ⎟

x = 23 9( ) • 7 18

23 11

⎝ ⎜

⎠ ⎟ = 4 19( )

Page 18: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.2.3 Cryptage à confidentialité parfaite

• PrincipeP = C = K = {0, 1}n = Z2

n

x = (x1, x2, … xn) P y = (y1, y2, … yn) C

k = (k1, k2, … kn) K

Ek (x) = x k

Dk (y) = y k = x k k = x

cryptage du téléphone rouge (Washington - Moscou) confidentialité parfaite pour une clef jetable aussi longue que

le message

Gilbert Vernam(1890-1960)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Page 19: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Exemple

x = message code telex (Emile Baudot)

11100 00001 00101 00101 00011 11010 00001

k = richard

01010 00110 01110 10100 00011 01010 01001

y = pujz-t10110 00111 01011 10001 00000 10000 01000

Page 20: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

1.2.4 Cryptanalyse

• Historique– Les cryptages monoalphabétiques ont résisté à la

cryptanalyse pendant près de 10 siècles (de Jules César à Al Kindi)

– Il a fallu attendre 5 siècles pour que les nouveaux cryptages polyalphabétiques prennent le relais

– Il faudra encore 4 siècles pour les cryptanalystes en viennent à bout grâce à deux techniques

Le test de Kasisky souvent attribué à BabbageLe test de Friedman

Page 21: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

• Idée un cryptage polyalphabétique est équivalent à m cryptages

monoalphabétiques avec une répétition périodique de période m– Recherche de la longueur de la clef m

• recherche de séquences identiques de longueur 3 dans le cryptogramme

les séquences identiques de longueur 2 ont une probabilité trop forte d’apparaître au hasard

• distances de ces séquences : d1, d2, …• m divise pgcd (d1, d2, …) estimation

– Cryptanalyse des m cryptages monoalphabétiques

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Charles Babbage(1791-1871)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Le test de Kasisky 1863

Page 22: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Le test de Friedman 1920

• Idée– P = C = {a, b,…z} = {a1, a2,…a26 }

– Indice de coïncidence d’un texte x : Ic (x) • probabilité que 2 caractères de x (de longueur n) soient égaux

nombre de choix possibles de 2 caractères quelconques dans x

nombre de caractères ai dans x

nombre de choix possibles de 2 caractères ai dans x

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Wolfe Frederick Friedman(1891-1969)

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

C2nC2n

C2n i

C2n i

ni

ni

Ic (x) =C2

ni

i=1

26

∑C2

n =ni (ni −1)

i=1

26

∑n(n−1)

Ic (x) =C2

ni

i=1

26

∑C2

n =ni (ni −1)

i=1

26

∑n(n−1)

Page 23: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

• Indice de coïncidence d’un langagepi probabilité de ai issue

de la table des fréquences

– exemples français 0,074

anglais 0,065

• Indice de coïncidence d’une chaîne de caractère aléatoire

Ic (L) ≈ pi2

i=1

26

Ic (L) ≈ pi2

i=1

26

Ic (t) = 1

26 ≈ 0,038

Ic (t) = 1

26 ≈ 0,038

Page 24: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

n = |y| longueur du cryptogramme y– estimation de la longueur de la clef m

test de Kasiski

– partition du cryptogramme en sous-chaînes y1, y2, … de longueur n/m colonnes d’un tableau en écrivant y en lignes de m lettres

– calcul de Ic (yi)

Méthode de cryptanalyse

Page 25: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

2. Cryptages par transpositions et permutations

2.1 La scytale spartiate

2.2 Cryptage par transposition

2.3 Cryptage par permutation

2.4 Cryptages mixtes

2.5 Cryptanalyse

Page 26: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

2.1 La scytale spartiate

• La scytale σκυτάλη (bâton)– Principe

P = C = {a, b, …z }n = Z26n

K =N

x P y C k K

Ek (xij) = xji j [1..k]

Dk (yij) = yji i [1..k] le texte en clair est écrit en lignes de k colonnes le cryptogramme est relevé en colonnes ce cryptage est utilisé par Jules Verne dans voyage au centre de la

terre

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

(environ -500)

Page 27: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

2.2 Cryptage par transposition

• Exemple

x = ceci.est.un.message.

k = 4

y =

c e c i

. e s t

. u n .

m e s s

a g e .c..ma eeueg csnse it.s.

Page 28: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

2.3 Cryptage par permutation

• PrincipeP = C = {a, b, …z }n = Z26

n

K = ∏ : {1..n} {1..n}

ensemble des fonctions bijectives (permutations)

x P y C π,π’ ∏ π’ = π-1

Eπ (x1, x2, …xn ) = (x π(1), xπ(2), …xπ(n) )

Dπ’ (y1, y2, …yn ) = (yπ’(1), yπ’(2), …yπ’(n) ) équivalent à un cryptage de Hill avec une matrice K

(n,n) telle que ki,j = 1 si i = π(j) = 0 sinon

Page 29: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Exemple

x = c e c i . e s t . u n . m e s s a g e .

k = (4, 2, 1, 3)

y = i e c c t e . s . u . n s e m s . g a e

Page 30: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

2.4 Cryptages mixtes

• PrincipeP = C = {a, b, …z }n = Z26

n

K = {a, b, …z }m = Z26m

le texte clef k définit une permutation π et sa longueur m définit une transposition

x P y C k K

Ek (xij) = x(πj)i j [1..m]

Dk (yij) = yj(π’i) i [1..m] π’ = π-1

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Giovanni Battista Della Porta

(1535 - 1615)

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Page 31: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Transposition suivi de permutation

x = c e c i . e s t . u n . m e s s a g e .

k = s o i r

π(k) = (4, 2, 1, 3) m(k) = 4

1. transposition

2. permutation

y = i t . s . e e u e g c . . m a c s n s e

c e c i

. e s t

. u n .

m e s s

a g e .

s o i r

Page 32: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Permutation suivi de transposition

x = c e c i . e s t . u n . m e s s a g e .

k = s o i r

π(k) = (4, 2, 1, 3) m(k) = 4

1. Permutation

y1 = i e c c t e . s . u . n s e m s . g a e

2. transposition

y = i t . s . e e u e g c . . m a c s n s e€

i e c c

t e . s

. u . n

s e m s

. g a e

Page 33: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

Propriétés

– Le cryptage par transposition T est idempotent

– Le cryptage par permutation P est idempotent

– Les cryptages P et T sont commutatifs

– Donc : le cryptage P x T est idempotent

en fait une transposition est une permutation particulière

Page 34: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

2.5 Cryptanalyse

• Principe– Retrouver la permutation par « recollement »

– Analyse de la distribution des bi-grammes, tri-grammes,…n-grammes

Page 35: I. 2 Confusion & Diffusion Sommaire 1. Cryptages par substitution confusion 2.Cryptages par transpositions et permutations diffusion 3.Autres cryptages

3. Autres cryptages

• Il y en a des centaines– Code Da Vinci– Code Playfair– Code Pigpen(l’enclos des cochons)– Code « la Bible » (Michael Drosnin)– Code ADFGVX– et bien d’autres encore …