crypto et sécurité de l’information - esen · 2016-09-28 · algorithmes de cryptage moderne...

79
Crypto et sécurité de l’information Chap 2: Cryptographie symétrique Rhouma Rhouma https://sites.google.com/site/rhoouma Ecole superieure d’Economie Numerique 2ème Mastère Web Intelligence 1 / 79

Upload: others

Post on 09-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Crypto et sécurité de l’informationChap 2: Cryptographie symétrique

Rhouma Rhoumahttps://sites.google.com/site/rhoouma

Ecole superieure d’Economie Numerique

2ème Mastère Web Intelligence

1 / 79

Page 2: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

2 / 79

Page 3: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de substitution

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

3 / 79

Page 4: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de substitution

Cesar

Consiste à remplacer les lettres du plaintext par d’autres lettres ousymboles ou bits.le plus connu est l’alg de Cesar : remplacer chaque lettre par cellequi la suit apres trois positions ds l’alphabetL’alphabet est enroulé de sorte que la lettre qui suit Z est Aex:plain: meet me after the toga partycipher: PHHW PH DIWHU WKH WRJD SDUWB

4 / 79

Page 5: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de substitution

Cesar

On peut définir la transformation de Cesar comme:a b c d e f g h i j k l m n o p q r s t u v w x y zD E F G H I J K L M N O P Q R S T U V W X Y Z A B Cl’alg peut etre exprimé comme:

c = E(3,p) = (p + 3)mod 26

le decalage peut etre généralisé à n’importe quel nombre k:

c = E(k ,p) = (p + k)mod 26

si k ∈ [1,25], alors le déchiffrement est :

p = D(k , c) = (c − k)mod 26

5 / 79

Page 6: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de substitution

Brute force attacksur Cesar :essayer toute les26 combinaisons

6 / 79

Page 7: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Monoalphabetic Cipher

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

7 / 79

Page 8: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Monoalphabetic Cipher

Monoalphabetic Cipher

consiste a remplacer chaque lettre arbitrairement (pas simpledécalage)la clé est de longueur 26 :Plain: a b c d e f g h i j k l m n o p q r s t u v w x y zCipher: D K V Q F I B J W P E S C X H T M Y A U O L R G Z Nexemple :Plaintext: if we wish to replace lettersCiphertext: WI RF RWAJ UH YFTSDVF SFUUFYA

8 / 79

Page 9: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Monoalphabetic Cipher

Sécurité du crypto monoalphabetique

On a un total de 26! = 4× 1026 clés possiblesmais on peut le casser par analyse de fréquence : Al-Kindyle langage humain est très redondantex ds le msg "th lrd s m shphrd shll nt wnt" les lettres de cettefaçon ne sont pas ordinaire en anglaisEn anglais la lettre "E" est la plus utilisée, suivie par:"T,R,N,I,O,A,S"les lettres comme "Z,J,K,Q,X" sont rares en utilisation.il ya des doublets ou des triplets qui sont plus répondu qued’autres.

9 / 79

Page 10: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Monoalphabetic Cipher

fréquences des lettres en anglais

10 / 79

Page 11: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Monoalphabetic Cipher

Exemple Cryptanalyse

etant donné un ciphertext :UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPF UPZHMDJUDTMOHMQ

On compte la fréquence de chaque lettre ds le ciphertext

On peut deviner que P et Z sont e et t

On peut deviner que ZW est th et donc ZWP est the

la séquence ZWSZ est remplacé par th*t, on peut deviner que S est a

on continu avec la technique essai-erreur-essai, on trouve le plaintext:"it was disclosed yesterday that several informal but direct contacts have been made withpolitical representatives of the viet cong in moscow"

11 / 79

Page 12: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithme Playfair

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

12 / 79

Page 13: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithme Playfair

Playfair

L’alg le plus connu qui crypte plusieurs lettres en même tempstraite les diagrammes (2 lettres) comme unité et la converti endiagramme ciphertext.basé sur une matrice 5× 5 utilisant un mot cléinventé par le Britannique Sir Charles Wheatstone en 1854utilisé par l’armée Britannique en W.W.I et par l’USA et ses alliésdurant la guerre W.W.II

13 / 79

Page 14: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithme Playfair

Matrice de Playfair

copier les lettres du mots clé dans la matrice (sans duplication)completer le reste de la matrice par les lettres manquantesles lettres I et J sont traités comme une seule lettreex: en utulisant le mot clé MONARCHY

14 / 79

Page 15: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithme Playfair

Cryptage de Playfair

opérer sur des diagrammes de lettres (2 lettres) à chaque foiscas particulier: si diagramme de même lettres, séparer par deslettres spéciales ex: x. par exemple: balloon est traité comme balx lo onSi plaintext ds la même ligne : remplacer par les lettres de droite.Ex1 pq est remplacé par qs. Ex2 ar est remplacé par RM.Si plaintext ds la même colonne: remplacer par les lettresen-dessous. ex mu est remplacé par CMsinon, remplacer par lettre en même ligne qu’elle et mêmecolonne que l’autre lettre du plaintext. ex hs est remplacé par BP.ex2 ea devient IM ou JM

15 / 79

Page 16: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithme Playfair

Sécurité de Playfair

Sécurité amélioré puisque il ya en tout 26× 26 = 676 diagrammeson a besoin d’une analyse fréquentielle sur 676 unité et non plussur 26 comme le monoalphabetiquedonc l’alphabet du ciphertext est aussi énormeil peut être cassé si on connaît une centaine deplaintext/ciphertext

16 / 79

Page 17: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithme Playfair

fréquence des lettres

17 / 79

Page 18: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes poly-alphabetiques

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

18 / 79

Page 19: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes poly-alphabetiques

Polyalphabetic Ciphers

Alg de substitution poly-alphabetiqueaméliore la sécurité en combinant plusieurs algmono-alphabetiquesrende la cryptanalyse plus difficile avec augmentation d’alphabetset une distribution fréquentielle plus platteutilise une clé pour choisir quel alphabet mono-alphabetique àutiliser pour chaque lettre du plaintextrépéter du début si la fin de la clé est atteinte

19 / 79

Page 20: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes poly-alphabetiques

Vigenère

l’alg poly-alphabetique le plus simple : algs de Cesar muliples

la clé est constitué de caractères K = k1k2 . . . kd

la ième lettre de la clé spécifie le ième alg de Cesar à utiliser

repeter des le debut chaque d lettres du plaintext

20 / 79

Page 21: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes poly-alphabetiques

Exemple Vigenère

écrire le plaintextécrire la clé et la répéter sur la longueur du plaintextutiliser chaque lettre de la clé comme clé de Cesarchiffrer chaque lettre indépendamment des autresex: clé = deceptive

21 / 79

Page 22: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes poly-alphabetiques

Autokey cipher

voulant une clé aussi longue que le messagevigenère propose l’autokeyclé est préfixé au message pour générer une nouvelle cléconnaissant la clé basique, on peut déchiffrer les premières lettrespeut etre cassé par analyse fréquentielleex: clé: deceptive

22 / 79

Page 23: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes poly-alphabetiques

Vernam cipher

utilise une clé aussi longue que le plaintextinventé par un ingénieur AT&T Gilbert Vernam en 1918

23 / 79

Page 24: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes poly-alphabetiques

One time Pad

Amélioration de Vernam proposé par l’officier de l’armée, JosephMauborgneUtiliser une clé aléatoire qui est aussi longue que le message desorte que la clé n’a pas besoin d’être répétéeLa Clé est utilisée pour chiffrer et déchiffrer un seul message, puiselle est jetéChaque nouveau message nécessite une nouvelle clé de lamême longueur que le nouveau messageCe cryptosystème est incassableproblèmes dans la production et la distribution sécurisée de la cléNon pratique: reste utilisé ds les communications top-secrets ettrès coûteuses (teleph rouge entre Moscow et Washington)

24 / 79

Page 25: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Les algorithmes de transposition

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

25 / 79

Page 26: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Les algorithmes de transposition

Transposition

Transposition= permutationChiffrer le message en réarrangeant l’ordre des lettres du plaintextle plaintext et le ciphertext ont même occurence (fréquence) deslettres

26 / 79

Page 27: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Les algorithmes de transposition

Fail hence cipher

La transposition la plus simpleplaintext est écrit en séquences de diagonaleson le lit ligne par lignepour chiffrer le message "meet me after the toga party" avec "Railhence" de profondeur(nb de lignes) 2 :

ciphertext est : MEMATRHTGPRYETEFETEOAAT

27 / 79

Page 28: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Les algorithmes de transposition

Raw Transposition Cipher

Transposition plus complexeécrire le plaintext sous forme de rectangle, ligne par ligneciphertext : lire le message colonne par colonne, mais permuterl’ordre des colonnesl’ordre de la lecture des colonnes est donc la clé

28 / 79

Page 29: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Les algorithmes de transposition

Product ciphers

Les algorithmes de substitutions ou transposition ne sont pas sécurisésà cause de l’analyse fréquentielle

donc envisager d’utiliser plusieurs alg à la suite pour rendre lacryptanalyse plus difficile.

exemple répéter la permutation du texte précédent avec la même clé (oumême avec une autre clé):

on peut voir l’effet de la double permutation comme ceci:

avant permutation :

après la première permutation :

après la deuxième permutation :

C’est le concept des algorithmes de cryptage moderne

29 / 79

Page 30: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

30 / 79

Page 31: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne

Algorithmes de chiffrement par bloc, et par flux

en anglais: block ciphers et stream ciphersblock ciphers traitent le plaintext bloc par bloc, chcun estchiffré/déchiffré (ex: DES et AES)stream ciphers traitent le plaintext bit par bit (ou octect par octect)lors de cryptage/decryptge (ex: viginère, vernam)majorité des algorithmes modernes sont des blocks ciphers

31 / 79

Page 32: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne

32 / 79

Page 33: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne Stream ciphers

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

33 / 79

Page 34: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne Stream ciphers

Stream cipher : Vernam cipher

utilise une clé aussi longue que le plaintextinventé par un ingénieur AT&T Gilbert Vernam en 1918

34 / 79

Page 35: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne Stream ciphers

One time Pad

Amélioration de Vernam proposé par l’officier de l’armée, JosephMauborgneUtiliser une clé aléatoire qui est aussi longue que le message desorte que la clé n’a pas besoin d’être répétéeLa Clé est utilisée pour chiffrer et déchiffrer un seul message, puiselle est jetéChaque nouveau message nécessite une nouvelle clé de lamême longueur que le nouveau messageCe cryptosystème est incassableproblèmes dans la production et la distribution sécurisée de la cléNon pratique: reste utilisé ds les communications top-secrets ettrès coûteuses (teleph rouge entre Moscow et Washington)

35 / 79

Page 36: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne Block ciphers

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

36 / 79

Page 37: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne Block ciphers

fonctions réversibles et irréversibles

Un alg à chiffrement par bloc prend n bits du plaintext et letransforme en n bits de ciphertextil y a 2n combinaisons possibles de plaintextle Cryptage doit être reversiblechaque bloc du plaintext produit un bloc du ciphertext diffèrent(bijectivité)il ya 2n transformations possibles

37 / 79

Page 38: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne Block ciphers

modèle d’un block cipher

38 / 79

Page 39: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne Block ciphers

les tables du bloc cipher exemple

39 / 79

Page 40: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne Block ciphers

Claude Shannon et les alg de substitution-permutation

Shannon a introduit l’idée des réseaux desubstitution-permutation (S-P) en 1949c’est la base de tout les alg de cryptage moderneles réseaux S-P sont basés sur deux critère:

substitution (S-box)Permutation(P-box)

Ceci fourni les critères de confusion et de diffusion du plaintext etde la clé sur le ciphertext

40 / 79

Page 41: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Algorithmes de cryptage Moderne Block ciphers

Confusion et diffusion

Deux termes introduits par Shanon qui constituent les critères debase d’un algorithme de cryptageSon but était de concevoir des cryptosystèmes qui résistentl’analyse statistiqueconfusion: Rend la relation entre le ciphertext et la clé aussicomplexe que possible (apparence aléatoire)diffusion: Chaque bit du plaintext affecte tous les bits du ciphertext(avalanche)

41 / 79

Page 42: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

42 / 79

Page 43: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

43 / 79

Page 44: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

DES

Data Encryption standard (DES) est le standard de cryptagerecommandé par NIST (National Institute of Standards andTechnologies) en 1977.l’alg de cryptage le plus utilisé jusqu’à 2001 (l’arrivée de AES parNIST aussi)L’alg de DES est appelé DEA (Data Encryption Algorithm)Le plaintext est chiffré en 64-bit blocs en utilisant une clé de taille56 bitl’alg transforme un bloc de 64-bit du plaintext à un bloc de 64-bitdu ciphertextLes mêmes étapes, avec la même clé, conduisent au décryptage

44 / 79

Page 45: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

DES

45 / 79

Page 46: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

Initial permutation (IP) de DES

ex: A la sortie de IP:ds la pos 1 =⇒ entrée 58;ds la pos 2 =⇒ entrée 50;ds la pos 64 =⇒ entrée 7

A la sortie de IP−1 :1 est lu depuis la pos 582 est lu depuis la pos 5064 est lu depuis la pos 7

46 / 79

Page 47: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

Structure d’une ronde DES

47 / 79

Page 48: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

Structure d’une ronde DES

Deux moitiés L et R de taille 32-bits chacuneStructure de Feistel est comme suit :

Li = Ri−1

Ri = Li−1 ⊕ F (Ri−1,Ki)

F prend la moitié R de 32-bit et la clé intermédiaire de 48-bit etfait comme suit:

Expansion de R à 48-bits en utilisant la permutation EL’ajouter à la clé intermédiaire par XORLa faire passer à travers 8 S-box pour avoir le résultat de 32-bitsFinalement la permuter en utilisant une permutation P

48 / 79

Page 49: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

Les fonction de permutation E et P

49 / 79

Page 50: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

Structure d’une ronde DES: F(R,K)

50 / 79

Page 51: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

Les 8 S-box

chaque S-box transforme 6-bits à 4-bitsPour chaque entrée de chaque S-box :

les bits 1 et 6 (bits extérieurs) sélectionne une ligne parmi 4.les bits 2-5 (bits intérieurs) sont substitués par la sortiecorrespondante ds la ligne choisiele résultat est 8 lots de 4-bit: ça fait 32-bits en tout

la sélection de la ligne dépend du plaintext et de la cléexemple 48 bits –> 32 bits: S(18 09 12 3d 11 17 38 39) =5fd25e03

Sbox1: 0x18 : 011000 –> ligne n◦0 et colonne n◦ 12 : 5 = 0x5Sbox2: 0x09 : 001001 –> ligne n◦1 et colonne n◦ 4 colonne :15=0xfSbox8: 0x39 : 111001 –> ligne n◦3 et colonne n◦ 12 : 3 = 0x3

51 / 79

Page 52: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

Les 8 S-box: (1-4)

52 / 79

Page 53: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

Les 8 S-box: (5-8)

53 / 79

Page 54: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

DES Key schedule

Key schedule : préparation des clés intermédiaires (des 16rondes) à partir de la clé originale de 56-bitsPermutation initiale de la clé (PC1) qui sélectionne 56-bits (parmi64) en 2 moitiés de 28-bits16 stages qui consistent à:

"Rotation circulaire à gauche" de chaque moitié de 1 ou 2 bits enfonction de la fonction de rotation Ksélectionner 24 bits de chaque moitié et la permuter par (PC2) pourêtre l’entrée de la fonction F.

54 / 79

Page 55: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Structure et fonctionnement

DES Key schedule

55 / 79

Page 56: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

56 / 79

Page 57: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES

Sécurité de DES

taille de l’espace clé 256 = 7.2× 1016

une machine à 109 déchiffrement/s peut le casser en 1.125 annéeune machine à 1013 déchiffrement/s peut le casser en 1 heurel’AES-128 avec la même vitesse, la machine reste 5.3× 1017

annéesplusieurs attaques sur DES :

differential cryptanalysislinear cryptanalysisrelated key attack

Le besoin de trouver une alternative de DES devient nécessaire

57 / 79

Page 58: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES

Cryptage multiple avec DES

DES est devenu vulnérable à la brute force attackAlternative: crypter plusieurs fois avec des clés différentesOptions :

Double DES: n’est pas très performantTriple DES (3DES) avec deux clés: brute force 2112

Triple DES avec trois clés : brute force 2168

58 / 79

Page 59: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES

Double encryption

clé de taille 2× 56 = 112espace clé de 2112.il faut donc essayer en moyenne 2111 pour le casser en brute forceattaque plus intelligente: Meet-in-the-middle attack

59 / 79

Page 60: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES

Meet-in-the-middle attack

Double cryptage DES : C = E(K2,E(K1,P))

soit X = E(K1,P) = D(K2,C)

supposons que l’adversaire connaît 2 paires P/C : (Pa,Ca) et(Pb,Cb)

chiffrer Pa en utilisant toutes les possibilités 256 de la clé K1 pouravoir les possibilités de XEnregistrer les valeurs possibles de X ds un tableau avec leurs cléscorrespondantes K1Déchiffrer Ca en utilisant toutes les possibilités 256 de la clé K2Pour chaque résultat du décryptage, vérifier avec les valeurs dutableauS’il y a correspondance, Prenez les valeurs correspondantes de K1et K2. Et vérifier si Cb = E(K2,E(K1,Pb)), alors accepter les clés.

Avec deux paires de P/C, la probabilité de succès est 1Cette attaque est de complexité 2× 256 qui est très inférieur àcomplexité brute force attack 2112

60 / 79

Page 61: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES

Cryptage Triple

2 clés : 112 bits3 clés : 168 bitsPourquoi E-D-E ? Pour être compatible avec DES simple:

C = E(K1,D(K1,E(K1,P)))

3DES a été adopté par plusieurs application internet: PGP,S/MIME

61 / 79

Page 62: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Exemple : DES Amélioration sur DES jusqu’à utilisation d’AES

AES

Advanced encryption standard est le nouveau alg de cryptageadopté par NIST crée en 2001 (Rijandael)

Taille block: 128-bit (possibilité d’autres tailles)taille clé: 128, 192, 256 bitsrondes: 10, 12, 14 dépend de la cléXOR avec clés intermédiaires, Substitutions avec des S-box,mixage avec l’arithmétique du corps de Galois

Largement utilisé dans les communications sécurisés en réseauxConsidéré comme sécurisée jusqu’à ce moment.

62 / 79

Page 63: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

Plan

1 Algorithmes de substitution

2 Monoalphabetic Cipher

3 Algorithme Playfair

4 Algorithmes poly-alphabetiques

5 Les algorithmes de transposition

6 Algorithmes de cryptage ModerneStream ciphersBlock ciphers

7 Exemple : DESStructure et fonctionnementAmélioration sur DES jusqu’à utilisation d’AES

8 Modes de cryptage par bloc

63 / 79

Page 64: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

Modes de cryptage par bloc

NIST SP 800-38A definiti 5 modes de cryptagesECB: Electronic codebook Book ModeCBC: cipher block chaining ModeCFB: cipher FeedBack ModeOFB: Output FeedBack ModeCTR : Counter Mode

il y a ceux qui sont orientés bloc et ceux qui sont orienté fluxCeci est pour couvrir une large variété d’application ds la vie réelleces modes peuvent être appliqués sur n’importe quel algorithmede bloc

64 / 79

Page 65: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

ECB

Le plaintext est divisé en blocs qui seront cryptéschaque block constitue une valeur qui sera substitué par cryptagecomme un dictionnaire, d’où le nom (dictionnaire=codebook)Chaque bloc est crypté indépendamment des autres blocs :Ci = EK (Pi)

Application: transmission sécurisée de messages courts

65 / 79

Page 66: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

ECB

66 / 79

Page 67: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

Avantages et limitations de ECB

Les répétitions dans le plaintext sont montrés aussi dans leciphertext (peu de confusion)Non efficace pour les images : trop de redondance, trop derépétitions donc image peut rester visible après cryptageLa faiblesse est dans l’indépendance dans le cryptage desdifférents blocsUtilisation principale est le cryptage de plaintext très court

Image originale Image cryptée (AES) en mode ECB

67 / 79

Page 68: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

CBC

Le plaintext est divisé en blocsces blocs seront liés durant le cryptagechaque bloc du ciphertext est lié avec le bloc du plaintextcorrespondant et les bloc ciphertext précédentsutilise un vecteur d’initialisation pour commencer le cryptage:

Ci = EK (Pi XOR Ci−1)

C−1 = IV

Application: Le cryptage de données en vrac (de granderedondance); Authentification (CMAC)

68 / 79

Page 69: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

CBC

69 / 79

Page 70: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

Avantages et limitations de CBC

chaque bloc du ciphertext dépend de tous les blocs qui leprécèdentn’importe quel changement affecte tous les blocs du ciphertext quile suiventCBC a besoin d’un IV pour l’initialisation:

l’IV doit être connu de l’émetteur et récepteurS’il est transmis en clair, un adversaire peut changer les bits dupremier bloc et changer IV pour compenser ce changement.Donc IV doit être soit fixesoit envoyé crypté en mode ECB avant de traiter le plaintext

70 / 79

Page 71: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

Les modes de cryptage en bloc orientés flux

Les modes de bloc chiffre tout le blocdans certaines application, on pourra avoir besoin d’operer surdes tailles plus petitesapplication dans le cryptage du flux multimédia (temps réel)convertir les alg de bloc en alg de flux

CFBOFBCTR

l’idée est d’utiliser les alg de blocs sous forme de générateur deséquences pseudo-aléatoires

71 / 79

Page 72: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

CFB

Le message est traité comme un flux de bitsle message est ajouté à la sortie du l’alg de blocle résultat est retourné (feed-back) à l’étage précédent (d’où lenom)le standard permet plusieurs tailles de blocs (1; 8; 64; 128; etc)pour être feed-backnotés CFB-1, CFB-8, CFB-64, CFB-128le cryptage est comme suit:

Ci = Pi XOR EK (Ci−1)

C−1 = IV

Applications: cryptage du flux (temps réel), Authetification

72 / 79

Page 73: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

CFB

73 / 79

Page 74: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

Avantages et limitations de CFB

CFB est approprié si les données arrivent en bits ou octetsapproprié pour le mode en fluxNoter que dans le cryptage et le décryptage, les deux opèrentavec le bloc de chiffrement EK

l’erreur (s’il y en a) peut se propager dans plusieurs blocs après lebloc erroné

74 / 79

Page 75: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

OFB

Le message est traité comme flux de bitsla sortie du cryptage est ajouté au messagela sortie est ensuite retourné (Output feed-back) à l’entrée del’étage suivant (d’où le nom)le feedback est indépendant du message (plaintext)il peut être calculé auparavant

Oi = EK (Oi−1)

Ci = Pi XOR Oi

O−1 = IV

Utilisation: Cryptage de flux dans un canal bruité

75 / 79

Page 76: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

OFB

76 / 79

Page 77: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

Avantages et Limitations de OFB

OFB a besoin d’un IV qui doit être unique pour chaque utilisationsi l’IV est réutilisé, l’adversaire peut retrouver les sortiesLes erreurs ne se propagent pasémetteur et récepteur doivent être en synchronisation

77 / 79

Page 78: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

CTR

un nouveau mode similaire à OFB mais chiffre un compteur aulieu de la sortiedoit avoir une clé différente et une valeur de compteur différentepour chaque message

Oi = EK (i)

Ci = Pi XOR Oi

Utilisation: Cryptage dans les réseaux haut débit

78 / 79

Page 79: Crypto et sécurité de l’information - ESEN · 2016-09-28 · Algorithmes de cryptage Moderne Stream ciphers Stream cipher : Vernam cipher utilise une clé aussi longue que le

Modes de cryptage par bloc

CTR

79 / 79