Documente Academic
Documente Profesional
Documente Cultură
Dr. A. Farchane
Faculté polydisciplinaire
-Beni Mellal-
Introduction
Canal non sécurisé
Alice Bob
OSCAR
– L’authentification
– L’intégrité
– La non répudiation
08:50 3
Les buts de la cryptographie
La confidentialité
– Il s’agit de garantir le secret de
l’information transmise ou archivée.
– Seuls les utilisateurs autorisés doivent y
avoir accès.
08:50 4
Les buts de la cryptographie
L’authentification:
– l’émetteur est sûr de l’identité du destinataire c’est à
dire que seul le destinataire pourra prendre
connaissance du message car il est le seul à disposer
de la clef de déchiffrement.
08:50 6
Les buts de la cryptographie
La non répudiation
– Impossibilité, pour une personne ou pour toute
autre entité engagée dans une communication par
voie informatique, de nier avoir reçu ou émis un
message.
08:50 8
Terminologie
• Chiffrer : l’action de rendre un message en clair M
(plaintext) en un message illisible C appelé
(ciphertext) cryptogramme ou message chiffre.
08:50 10
Terminologie
• Il existe 2 types de chiffrement:
– Le chiffrement symétrique (ou chiffrement à clé
privée) consiste à utiliser la même clé pour le
chiffrement et le déchiffrement.
08:50 11
Terminologie
– Le chiffrement asymétrique (ou chiffrement à clés
publiques) consiste à utiliser une clé publique
pour le chiffrement et une clé privée pour le
déchiffrement.
08:50 12
Quelques cryptosystèmes classiques
• Chiffrement par substitution
– Substitution monoalphabétique
• Chiffre de César
• Chiffre affine
– Substitution polyalphabétique
• Chiffre de Vigenère
• Chiffre de Vernam
– Substitution polygrammes
• Chiffre de Playfair
• Chiffrement par transposition
– Transposition simple par colonnes
– Transposition complexe par colonnes
08:50 14
Chiffrement par substitution
Définition:
• Le chiffrement par substitution consiste à
remplacer dans un message une ou plusieurs
entités (généralement des lettres) par une ou
plusieurs autres entités.
08:50 16
Chiffrement par substitution
Chiffrement de César:
• Principe :
– Soit p (c, respec.) l’indice de la lettre du message en
clair(chiffré,respec.) et k le décalage (la clé: k=3):
08:50 17
Chiffrement par substitution
Chiffrement de César:
• Exemple :
– Chiffrez le message « bonjour tout le monde » en
utilisant le cryptosystème de César(k=3).
– ERQMR XUWRX WOHPR QGH
– Déchiffrez le message : «FKLII UHGHF HVDU »
– chiffredeCesar
– Décryptez le message chiffré suivant:
– c= HMNKK WJIJH JXFW
– CHIFFRE DE CESAR
– Donnez la clef de chiffrement (k=5)
08:50 18
Chiffrement par substitution
• L’espace de clés est:|K|=26.
• Analyse fréquentielle:
Le principe de cette cryptanalyse consiste à deviner les
lettres d’un texte clair sur la base de leur fréquence
d’apparition
08:50 19
Chiffrement par substitution
Analyse fréquentielle:
• Fréquences d'apparition des lettres(français)
Analyse fréquentielle(di/tri-grammes):
08:50 21
Chiffrement par substitution
Le chiffrement affine:
• L'idée est d'utiliser comme fonction de chiffrement
une fonction affine du type y=(k1.x+k2) mod 26, où
k1 et k2 sont des constantes, et où x et y sont des
nombres correspondant aux lettres de l'alphabet
(A=0,B=1,…,Z=25).
08:50 24
Chiffrement par substitution
Cryptanalyse: chiffre affine
• message chiffré : HGAHY RAEFT GAGRH
DGAGM OEHIY RAAOT ZGAGJ GKFDG AZGSB
INNTG KGRHE NNIRG
• Trouvez le message en clair.
08:50 25
Chiffrement par substitution
Cryptanalyse: chiffre affine
• Solution:
• On remarque que G apparait 12 fois et A 8 fois.
08:50 26
Substitution par permutation
• P=C=Z26
• |K|=26!
• Soit п une permutation:
– Soit x c P, ek(x)=п(x)=y, dk(y)=п-1(y)=x
• Exemple:
08:50 28
Chiffrement par substitution
Exemple:Chiffrement de Vigenère
chiffrons le texte "CHIFFRE DE VIGENERE" avec
la clef "FPBM" (cette clef est éventuellement
répétée plusieurs fois pour être aussi longue
que le texte en clair).
clair c h i f f r e d e v i g e n e r e
clef f p b m f p b m f p b m f p b m f
décalage 5 15 1 12 5 15 1 12 5 15 1 12 5 15 1 12 5
chiffré h w j r k g f p j k j s j c f d j
08:50 29
Chiffrement par substitution
08:50 31
Chiffrement par substitution
Chiffrement de Vernam ( One-Time Pad)
• „Méthode du masque jetable, Il faut :
1. choisir une clef aussi longue que le texte à
chiffrer,
2. utiliser une clef formée d'une suite de caractères
aléatoires,
3. protéger votre clef,
4. ne jamais réutiliser une clef,
5. écrire des textes clairs ne contenant que les
lettres (sans ponctuation et sans espaces).
08:50 32
Chiffrement par substitution
Difficultés du chiffrement de Vernam:
• Le problème de ce système est de communiquer
les clefs de chiffrement ou de trouver un
algorithme de génération de clef commun aux
deux partenaires :
1. La création de grandes quantités des clefs aléatoires :
n'importe quel système fortement utilisé pourrait
exiger des millions de caractères aléatoires de façon
régulière.
2. La distribution des clés : une clé de longueur égale
est nécessaire pour l’expéditeur et pour le récepteur.
Nécessite une bonne organisation.
08:50 33
Chiffrement par substitution
Chiffre polygrammique: Le chiffre Playfair:
• On dispose les 25 lettres de l'alphabet (W
exclu car inutile, on utilise V à la place) dans
une grille 5x5, ce qui donne la clef.
• La variante anglaise consiste à garder le W et à
fusionner I et J.
08:50 34
Chiffrement par substitution
Chiffre polygrammique : Méthode de chiffrement
• On chiffre le texte par groupes de deux lettres (des
bigrammes) en appliquant les règles suivantes:
1. Si les deux lettres sont sur les coins d'un rectangle, alors
les lettres chiffrées sont sur les deux autres coins. La
première des deux lettres chiffrées est sur la même ligne
que la première lettre claire.
08:50 36
Chiffrement par transposition
Définition:
• Les méthodes de chiffrement par transposition
consistent à réarranger les données à chiffrer de telle
façon à les rendre incompréhensibles. Il s'agit
généralement de réarranger géométriquement les
données pour les rendre visuellement inexploitables.
• Transposition simple par colonnes :
– On écrit le message horizontalement dans une matrice
prédéfinie, et on trouve le texte à chiffrer en lisant la grille
verticalement .
– Le destinataire légal pour déchiffrer le message réalise le
procédé inverse.
08:50 37
Chiffrement par transposition
• Transposition simple par colonnes :
• Exemple: texte à chiffrer= «faculte
polydisciplinaire de beni mellal» en utilisrant une
matrice 6x6.
f a c u l t
e p o l y d
i s c i p l
i n a i r e
d e b e n i
m e l l a l
• Feiidm apsnee cocabl uliiel lyprna tdleil
08:50 38
Chiffrement par transposition
• Transposition complexe par colonnes :
– Une clé secrète (avec uniquement des caractères ) est
utilisé pour dériver une séquence de chiffres commençant
à 1 et finissant au nombre de lettres de la clé.
08:50 39
Chiffrement par transposition
• Transposition complexe par colonnes :
– Exemple:
– Prenons l'exemple la clef : DELIVRANCE
– OPT SRY VID EDE ATZ ERR NEB UOX NUS ZAE
08:50 40
Chiffrement par transposition
Transposition complexe par colonnes :
• Exemple:
– voici un message déjà chiffré, VTGURX SDEAEM
SCYRRS UCEOEE ZPAEYS par la clef DELIVRANCE.
– Déchiffrez le message ci-dessus.
08:50 41
Cryptanalyse
• Deux grands types d'attaques en cryptographie:
– Attaques passives
– Attaques actives
08:50 44
L'attaque à texte clair connu
• Le cryptanalyste a non seulement accès aux
textes chiffrés de plusieurs messages, mais
aussi aux textes clairs correspondants.
• La tâche est de retrouver la ou les clefs qui ont
été utilisées pour chiffrer ces messages ou un
algorithme qui permet de déchiffrer d'autres
messages chiffrés avec ces mêmes clefs.
08:50 45
L'attaque à texte clair choisi
• Le cryptanalyste a non seulement accès aux
textes chiffrés et aux textes clairs
correspondants, mais de plus il peut choisir les
textes en clair.
• Cette attaque est plus efficace que l'attaque à
texte clair connu, car le cryptanalyste peut
choisir des textes en clair spécifiques qui
donneront plus d'informations sur la clef.
08:50 46
L'attaque à texte chiffré choisi
• Le cryptanalyste peut choisir différents textes
chiffrés à déchiffrer.
• Les textes déchiffrés lui sont alors fournis.
• Par exemple, le cryptanalyste a un dispositif
qui ne peut être désassemblé et qui fait du
déchiffrement automatique. Sa tâche est de
retrouver la clef.
08:50 47
Cryptanalyse des substitutions
polyalphabétique
• Substitutions polyalphabétique
– Ne cache pas non plus la fréquence d’apparition des
symboles
Principe:
• Dans un texte quelconque de n lettres, on compte le
nombre de répétition de chaque lettre :
– NA= nombre de A dans le texte
– NB = nombre de B dans le texte
– …….
– NZ = nombre de Z dans le texte
• On calcul l’Indice de coïncidence simplement par la formule:
A ( N A 1) N B ( N B 1) ... N Z ( N Z 1)
− 1)+ NnB(nB
IC = nA(nAIC − 1) +N. (.N. +1)nZ(nZ − 1)/n(n − 1)
08:50 49
Indice de coïncidence
Exemple:
• calculons l’indice de coïncidence du texte :Un
enfant n’a pas d’aversion pour la laideur de sa
mère
08:50 54
Indice de coïncidence
Intervalle Indice de coïncidence
1 0.04263
2 0.05983 0.03134
3 0.03922 0.03922 0.05229
4 0.07692 0.04396 0.05128 0.03846
5 0.00000 0.03636, 0.00000 0.03636, 0.02222
08:50 55
Types de cryptosystèmes
Cryptographie
Symétrique Asymétrique
08:50 57
Modélisation
• Cryptosystème:
– P et C les alphabets pour écrire les messages clairs et
les messages chiffrés respectivement.
– K l’ensemble des clés possibles.
– Pour tout k pub , k prv on peut définir deux
applications :
pour chiffrer : ek p u b : P
C
pour déchiffrer : d k p rv : C
P
telles que: dk prv
e
k pub
( x) x pour tout x P
• Dans le cas de cryptosystème symétrique, on a:
k pub k prv
08:50 58
Chiffrement à flot
Définition
• On désigne par chiffrement à flot, ou parfois chiffrement en
continu (stream-cipher), tout système de chiffrement dans
lequel chaque symbole du texte clair subit une transformation
variable dans le temps.
08:50 60
Chiffrement à flot
Générateur Pseudo-Aléatoire (GPA)
• Un générateur pseudo-aléatoire de symboles est
un automate à nombre d‘états qui à partir de la
donnée d'un nombre de symboles, que l'on
appelle graine ou germe (seed en anglais) produit
une suite potentiellement illimitée de symboles
qui a l'apparence d'une suite aléatoire.
08:50 62
Chiffrement à flot
Chiffrement asynchrone:
• Le chiffrement est dit asynchrone ou auto-
synchronisant si les symboles produits par le GPA
ne dépendent que de son état interne et d'un
nombre fixé t de symboles du message à chiffrer.
08:50 63
Chiffrement à flot
Exemple:
08:50 64
Chiffrement à flot
GPACS
• Un GPA est cryptographiquement sûr (GPACS)
s'il passe le test du prochain bit.
08:50 66
Chiffrement à flot
Intérêt de BBS
1. BBS est un GPACS,
2. mais très coûteux (opérations complexes
pour produire un bit)
3. donc non utilisable en pratique pour le
chiffrement à flot.
08:50 67
Chiffrement à flot
LFSR:(Linear Feedback Shift Register)
• Un registre à décalage à rétroaction linéaire, désigné par
l'acronyme LFSR, est un dispositif qui produit une suite de bits.
08:50 68
Chiffrement à flot
LFSR:(Linear Feedback Shift Register)
• LFSR de longueur m : m bits si+m-1 ,…,si ; et d'une fonction de
rétroaction linéaire.
08:50 69
Chiffrement à flot
Exemple (LFSR):
• Soit le LFSR ci-dessous composé de trois registres FF0, FF1, FF2
et une fonction de rétroaction comme le montre le schema.
l’état initiale est (s2=1, s1=0 , s0=0 )
• A chaque top d'horloge, le bit de poids faible si constitue la
sortie du registre et les autres bits sont décalées vers la droite.
• Le nouveau bit si+m placé dans la cellule de poids fort du
registre est donné par une fonction linéaire des bits si,…, si+m-1
08:50 70
Chiffrement à flot
• On voit que après un certain cycle d’horloge
la séquence de sortie se répète .
• Ce LFSR à une période de longueur 7 et a
pour forme: 0010111 0010111 0010111.
• Calculons la sortie si
s3 ≡ s1 +s0 mod 2
s4 ≡ s2 +s1 mod 2
s5 ≡ s3 +s2 mod 2
…
• De façon général:
si+3 ≡ si+1 +si mod 2
08:50 71
Chiffrement à flot
Description mathématique:
• Dans le cas général, un LFSR est composé de m registres et une
fonction rétroactive décrite par les coefficients p0, p1,..., pm−1.
08:50 72
Chiffrement à flot
Description mathématique:
• La sortie suivante du LFSR peut être calculer par:
sm ≡ sm−1 pm−1 +···+s1 p1 +s0 p0 mod 2
sm+1 ≡ smpm−1 +···+s2 p1 +s1 p0 mod 2
08:50 74
Chiffrement à flot
1) (p3 = 0, p2 = 0, p1 =1, p0 = 1); 2) (p3 =1, p2 =1, p1 =1, p0 =1)
t état sortie
0 1000 - t état sortie
1 0100 0
0 1000 -
2 0010 0
3 1001 0
1 1100 0
4 1100 1
5 0110 0 2 0110 0
6 1011 0
7 0101 1 3 0011 0
8 1010 1
9 1101 0 4 0001 1
10 1110 1
11 1111 0 5 1000 1
12 0111 1
13 0011 1 6 1100 0
14 0001 1
15 1000 1
08:50
16 0100 0 75
Chiffrement à flot
• Un LFSR est décrit par (pm−1 ,…,p1 ,p0) peut être représenté par
un polynôme P(x):
P(x)= xm + pm−1 xm−1 +...+ p1 x+ p0
• LFSR avec les coefficients (p3 = 0, p2 =0, p1 = 1, p0 = 1) peut
être représenté par le polynôme :
P(x)= x4 + x + 1.
• L’utilisation d’un seul LFSR génère une sortie prédictible.
08:50 77
Chiffrement à flot
• Trois méthodes peuvent être employées pour
contourner l'effet des propriétés de linéarité
des LFSRs:
– Associer une fonction non linéaire aux sorties de
plusieurs LFSRs ;
08:50 79
Chiffrement à flot
les polynômes associés à A5/1 sont:
• P1(X) = X19 + X18 + X17 + X14 + 1
• P2(X) = X22 + X21 + 1
• P3(X) = X23 + X22 + X21 + X8 + 1
t État S
0 1101 -
1 0101 1
2 0010 1
3 1001 0
4 1100 1
5 1110 0
6 0111 0
7 1011 1
08:50 85
Modes opératoires: ECB
Mode ECB( electronic code book)
• Le message, M, est découpé en blocs , (mi)i≥0, et
chaque bloc est chiffré séparément par
ci = Ek(mi)
• On transmet c0 c1 c2 . . . cn.
08:50 86
Modes opératoires: ECB
• Deux blocs identiques sont chiffrés de manière
identique;
• un attaquant malveillant peut permuter deux
blocs ou remplacer un bloc par un autre;
• Déchiffrement:
mi=Dk(ci)
c0 = Ek(m0 ⊕ IV)
c1 = Ek(m1 ⊕ c0)
.
.
ci = Ek(mi ⊕ ci−1)
08:50 88
Modes opératoires: CBC
Mode CBC (Cipher Bloc Chaining)
• On transmet le message IV c0 c1 . . . cn.
08:50 89
Modes opératoires: CBC
• Déchiffrement
m0 = IV⊕ Dk (c0)
mi = ci−1 ⊕ Dk (ci)
08:50 90
Modes opératoires: CFB
Le mode CFB (cipher FeedBack)
• Le mode CFB a été introduit pour ne pas avoir à
calculer la fonction inverse, Dk, de la fonction de
chiffrement Ek.
08:50 94
Modes opératoires: OFB
Déchiffrement:
• Ce mode est utilise par exemple pour les
chiffrages satellites et se déchiffre par:
z0 = Ek(IV);
zi = Ek(zi−1);
mi = ci ⊕ zi
08:50 96
Modes opératoires: CTR
• L’intérêt d’un tel mode est que les différents calculs de
chiffrement et déchiffrement sont indépendants;
mi = ci ⊕ Ek(T + i)
08:50 97
Modes opératoires
Exercice
• Soit le message clair m = 1011000101001010.
On considère le chiffrement par blocs (de
longueur4) définit par la permutation.
π: b1b2b3b4 b2b3b4b1
1) Chiffrer m avec le mode ECB.
2) Chiffrer m avec le mode CBC (on prendra 1010
comme vecteur d'initialisation).
3) Chiffrer m avec le mode CFB (IV=1010).
4) Même question avec le mode OFB (IV=1010).
08:50 98
Modes opératoires
Solution:
1) Chiffrement de m avec le mode ECB: 0111001010000101.
2) Chiffrement de m avec le mode CBC (iv=1010):
M0+IV=1011+1010=0001 C0=Π(M0+IV)=0010,
m1+c0=0001+0010=0011 c1= Π(m1+c0)=0110
m2+c1=0100+0110=0010 c2= Π(m2+c1)=0100
m3+c2=1010+0100=1110 c3= Π(m3+c2)=1101
C=1010 0010 0110 0100 1101
3) Chiffrement de m avec le mode CFB (IV=1010).
Π(IV)=0101, c0= Π(IV)+m0=0101+1011=1110;
Π(c0)=1101, c1= Π(c0)+m1=1101+0001=1100;
Π(c1)=1001, c2= Π(c1)+m2=1001+0100=1101;
Π(c2)=1011, c3= Π(c2)+m3=1011+1010=0001.
C=1010 1110 1100 1101 0001
4) Chiffrement de m avec le mode OFB (IV=1010).
z0=Π(IV)=0101; z1=Π(z0)=1010, z2=Π(z1)=0101;
z3= Π(z2)=1010;
c0=m0+z0=0101+1011=1110; c1=z1+m1=1010+0001=1011;
c2=z2+m2=0101+0100=0001; c3=z3+m3=1010+1010=0000.
08:50 C=1010 1110 1011 0001 0000 99