Vous êtes sur la page 1sur 169

UPL

UL
UL
UPL SEC-CRYPTO
INFO-01
2016-2017
2021-2022 SEC-CRYPTO
INFO-01
2016-2017
2021-2022

SECURITE INFORMATIQUE ET CRYPTOGRAPHIE


SEC-CRYPTO
CHAPITRE 2 – INTRODUCTION -
A LA CRYPTOGRAPHIE


 Version 1.0 – 2021/2022
Sécurité informatique

Dr. A. Farchane
Faculté polydisciplinaire
-Beni Mellal-
Cryptologie
 La cryptologie est la science du secret (du
grec kruptos qui signifie "caché"). Elle se compose
de 2 disciplines :

 Cryptographie
 Cryptanalyse

 Une réponse un peu formelle : c’est la discipline


qui
traite de la transmission confidentielle de données.
Cryptologie
 la cryptographie, qui comprend l’ensemble des
méthodes de protection d'une information.

 Elle sert à garantir la confidentialité d'une


information lors de communications ou de
son stockage, en utilisant le chiffrement.

 Mais elle a également d'autres objectifs de


sécurité, tels que l'intégrité et l'authentification,
Cryptanalyse
 la cryptanalyse, correspond aux méthodes
utilisées pour analyser les messages chiffrés et
"casser" la protection cryptographique de ces
messages
Chiffrement
 Le chiffrement est la transformation d'une
information en clair en une information chiffrée,
incompréhensible, mais que l'on peut déchiffrer
avec une clé pour obtenir l'information en clair
originale.

 Un système de chiffrement (ou cryptosystème, ou


encore chiffre) est composé d'algorithmes de
chiffrement et déchiffrement et d'une clé de
chiffrement.

 Un message en clair (ou texte clair) est une


information non protégée et compréhensible par
tout le monde.
Un texte chiffré
 Un texte chiffré est une information
incompréhensible pour qui ne possède pas la clé de
déchiffrement, mais qu'on peut déchiffrer,
retransformer en texte clair, si on possède la clé.

 Un texte chiffré contient donc toutes les informations


contenues dans le texte clair pour celui qui possède la
clé, mais aucune de ces informations pour celui qui
ne la possède pas. C'est ce que l'on
appelle la confidentialité d'une information
chiffrée.
Un algorithme
 Un algorithme de chiffrement est une fonction qui
prend en entrée le texte clair et la clé de chiffrement,
transforme le texte par des opérations, et fournit en
sortie un texte chiffré.

 L'algorithme de déchiffrement est la fonction inverse,


qui prend en entrée le texte chiffré et la clé de
déchiffrement, transforme ce texte par des opérations,
et fournit en sortie le texte clair d'origine.
Une clé
 La clé de chiffrement (ou cryptovariable) est
l'information qui permet de transformer un texte clair
en texte chiffré en utilisant un algorithme de
chiffrement.
 De même, la clé de déchiffrement est
l'information
qui permet de transformer un texte chiffré en son
texte clair d'origine.
 L'espace de clé est l'ensemble des valeurs possibles de
la clé, c'est une notion importante pour la sécurité
d'un algorithme.
Sécurité informatique

Dr. A. Farchane
Faculté polydisciplinaire
-Beni Mellal-
Introduction
Canal non
Alice sécurisé Bob

OSCAR

• Problème de confidentialité, d’intégrité et


d’authentification
Les buts de la cryptographie
Elle doit satisfaire plusieurs fonctions :
• La confidentialité

• L’authentification

• L’intégrité

• La non répudiation
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.
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.

• le destinataire est sûr de l’identité de l’émetteur

• L’authentification Consiste à vérifier qu’une personne possède bien


l’identité, ou les droits, qu’elle affirme avoir.
Les buts de la cryptographie

L’intégrité
• Il s’agit de préserver les informations contre les modifications.
• "L’intégrité est la prévention d’une modification non autorisée de
l’information "
• Avec les techniques actuelles, cette fonction est réalisée par la
signature numérique.
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.

• Les algorithmes asymétriques assurent la non-


répudiation d'un message signé dans la mesure où seul
l'expéditeur possède la clé secrète utilisée pour cette
signature.
Terminologie
• La cryptologie est la science du secret. Elle se
divise en deux disciplines :
• La cryptographie qui est l’étude des algorithmes
permettant de protéger de l’information. Ces
algorithmes sont appelés cryptosystèmes ;

• la cryptanalyse qui est l’étude du niveau de sécurité


des cryptosystèmes fournis par les cryptographes.
Terminologie
• Chiffrer : l’action de rendre un message en clair M
(plaintext) en un message illisible C appelé
(ciphertext) cryptogramme ou message chiffre.

• Déchiffrer : Action inverse du chiffrement.

• Cryptosystème : L’algorithme (ou le dispositif


physique) permettant de chiffrer des données.

• Attaquer, Casser : Mettre à mal la sécurité d’un


cryptosystème (retrouver M à partir de C sans
connaitre la clé, retrouver la clé).
Terminologie
• Message en clair/ message chiffré(cryptogramme)

• Chiffrer /déchiffrer: avec une clé= action autorisée,

• Décrypter: sans la clé= action illégale!

• Algorithme: description non-ambiguë d’une méthode de résolution d’un problème.

• Protocole: description non-ambiguë d’une suite d’interactions entre plusieurs


participants.
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.
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.
Cryptographie classique
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
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.

• Toutes les substitutions simples sont vulnérables à une analyse des


fréquences d'apparition des lettres.
Chiffrement par substitution
Chiffre de César:
• Substituer chaque lettre du message en clair par
une autre située à distance fixe dans l’alphabet.
Cette distance devait être connue de l’expéditeur
comme du destinataire.
• décalage de trois lettres :
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):

• Chiffrement : C = Ek(p) = (p + k) mod 26

• Déchiffrement : p = Dk(C) = (C - k) mod 26


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)
Chiffrement par substitution
• L’espace de clés est:|K|=26.

• Cette méthode est vulnérable aux attaques de


type:
• Analyse de fréquences
• Force brute (26 clés possibles !)

• 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
Crypto classique
• Algorithme de Jules César (1/3)
– Consiste simplement à décaler les lettres de l'alphabet
de quelques crans vers la droite ou la gauche
– Exemple: Clé= 3 (D) => décalage de 3 positions
– Code(A)=0, Code(B) =1, …, Code(Z)=25

18
– Voir la démo sur Cryptool
Yosr Jarraya, ÉTS MGR850- A12
Crypto classique
• Algorithme de Jules César (2/3)
CléClé==
Clé= 3 (D)12=>(B)(C) =>=>
décalage de 3 positions
décdécalalageage dede 12
Texte en clair positpositionsions Cryptogramme

This is a secret Vjku


Uijtlv
Wklv ku
jt bdctfdsfu
ugetgv
vhfuhw
kphqtocvkqp!
jogpsnbujpo!
information! lqirupdwlrq!

y = (x + n) modulo 26
n=3

Adapté de: Introductory example: Caesar cipher. CrypTool Team, novembre 2010
31
Chamseddine Talhi, ÉTS MGR850- A12
Crypto classique
• Algorithme de Jules César (3/3)
– Cryptanalyse
• Nombre de clés possibles: 25
• Très facile de retrouver le texte en clair à partir du
cryptogramme!
– Exemple d’un cryptogramme:
• Quel est le texte en clair correspondant au
cryptogramme?
• Quelle est la clé utilisée pour le chiffrement?

GERF SNPVYR QR ERGEBHIRE YR GRKGR RA


PYNVE N CNEGVE QH PELCGBTENZZR
32
Chamseddine Talhi, ÉTS MGR850- A12
Chiffrement par substitution
Analyse fréquentielle:
• Fréquences d'apparition des lettres(français)

• Analyse des fréquences des lettres : A et E


sont les plus fréquentes en français, le moins
fréquent: W.

• Cette technique ne fonctionne bien que si le


message chiffré est suffisamment long.
Chiffrement par substitution
Analyse fréquentielle(di/tri-grammes):
• Digrammes les plus utilisés en
langue française : ES, LE, EN

• Trigrammes : ENT, LES, EDE…
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).

• On peut remarquer que si k1=1, alors on retrouve le


chiffre de César et b est le décalage.
Chiffrement par substitution
Le chiffre affine: fonctionnement
• „ message M=m1m2…mn-1mn
• Clé : (k1, k2), k1,k2 ∈ {0,25} et pgcd(k1,26)=1
• Chiffrement:
ci= f(mi) = k1*mi + k2 mod 26
• „ Déchiffrement :
mi= f-1(ci) = k1-1*(ci–k2) mod 26
• „ Nombres de clés possibles : 12*26 = 312
Chiffrement par substitution

Le chiffre affine: exemple


• „ „Clé = (k1, k2) = (3, 11)
• Chiffrement :
ci= f(mi) = 3 * mi + 11 mod 26
• Déchiffrement :
k1-1 = 3-1 mod 26 = 9 car 3 * 9 mod 26 = 1
mi= f-1(ci) = 9 * (ci– 11) mod 26
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.
Chiffrement par substitution
Cryptanalyse: chiffre affine
• Solution:
• On remarque que G apparait 12 fois et A 8 fois.

• E, A, S, I sont les lettres les plus fréquentes, donc E  G et


SA

• Trouver (k1; k2) : 4k1 + k2 = 6 mod26 et


18k1 + k2 = 0 mod26 14k1=-6 mod26k1=7 et k2=4.

• Le message déchiffré est: TESTONS A PRESENT LES


EQUATIONS SUR DES EXEMPLES DE CHIFFREMENT
AFFINE
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:

• X=« ce texte est chiffre par substitution »


• Y=« yv pvfpv vqp yaihhjv rdj qexqpipepics »
Chiffrement par substitution

Subst. polyalphabétique: chiffre de Vigenère


• Le chiffre de Vigenère est une amélioration décisive du chiffre de
César.

• Sa force réside dans le fait que ce chiffre utilise une clef qui définit
le décalage pour chaque lettre du message.
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 bm f p b m f p b m f p b m f
décalag 5 15 1 12 5 15 1 12 5 15 1 12 5 15 1 12 5
e
chiffré h w j r k g f p j k j s j c f d j
Chiffrement par substitution

Carré de Vigenère
Chiffrement par substitution

Chiffre de Vernam ( One-Time Pad)


• „ Masque jetable = chiffre de Vigenère avec
comme caractéristique que la clef de chiffrement a
la même longueur que le message en clair.
• Exemple :
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).
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.
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.
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.

2. Si deux lettres sont sur la même ligne, on prend les deux


lettres qui les suivent immédiatement à leur droite.

3. Si deux lettres sont sur la même colonne, on prend les


deux lettres qui les suivent immédiatement en dessous.

4. Si le bigramme est composé de deux fois la même lettre,


on insère X entre les deux pour éliminer ce doublon.
Chiffrement par substitution
Chiffre polygrammique:
Pour déchiffrer, on applique les règles ci-dessus
Exemple:
• Chiffrer le message «FACULTE
POLYDISCIPLINAIRE»
• Message chiffré: « KFAXO QATKM DINYD
HQKNS DFTC »
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.
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
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é.

• Cette séquence est obtenue en numérotant les lettres de la clé en partant de la


gauche vers la droite et en donnant l’ordre d’apparition dans l’alphabet.

• On chiffre en écrivant d’abord le message par lignes dans un rectangle , puis


on lit le texte par colonnes en suivant l’ordre déterminé par la séquence.
Chiffrement par transposition
• Transposition complexe par colonnes :
• Exemple:
• Prenons l'exemple la clef : DELIVRANCE

• on souhaite chiffrer est : "VENEZ NOUS AIDER AU PORT DE BREST" :

• OPT SRY VID EDE ATZ ERR NEB UOX NUS ZAE
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.

• Solution: Saurez vous decrypter ce message


Cryptanalyse
• Deux grands types d'attaques en cryptographie:
• Attaques passives
• Attaques actives

• Dans une attaque passive, l’opposant (Oscar) se


contente d'écouter les messages qui transitent sur
le canal de communication.
• Menace sur la confidentialité

• Dans une attaque active, l’opposant modifie le


contenu des messages échangés sur le canal de
communication.
• Menace sur l’intégrité et l’authentification
Cryptanalyse
les attaques potentielles les plus connues :
• Attaque à texte chiffré connu (Attaque par
répertoire)
• Attaque à texte clair connu

• Attaque à texte clair choisi (Attaque par


dictionnaire )
• Attaque à texte chiffré choisi

• Attaque par recherche exhaustive


• …….
L'attaque à texte chiffré connu seulement

• Le cryptanalyste dispose du texte chiffré de plusieurs messages,


tous ayant été chiffrés avec le même algorithme.
• Sa tâche est de retrouver le plus grand nombre de messages clairs
possibles, ou mieux encore de retrouver la ou les clefs qui ont été
utilisées, ce qui permettrait de déchiffrer d'autres messages chiffrés
avec ces mêmes clefs
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.
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.
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.
Cryptanalyse des substitutions
polyalphabétique
• Substitutions polyalphabétique
• Ne cache pas non plus la fréquence d’apparition des
symboles

• On connaît la longueur de la clé n


• On réarrange le cryptogramme en n groupes de lettres
• On applique l’analyse statistique classique sur chaque
groupe

• On ne connaît pas la longueur de la clé


• On cherche à la découvrir!
• On applique l’analyse statistique classique sur chaque
groupe
Indice de coïncidence
• Indice de coïncidence est utilisé pour déterminer la longueur de
la clé dans un chiffrement de Vigenère.

• Ce concept fut mis au point par le cryptologue américain W.


Friedman qui le publia en 1920,

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:
N A ( N A 1)  N B ( N B 1) ... N Z ( N Z 1)
IC 
IC = nA(nA − 1) + nB(nB − 1) + N. (. N. +1)nZ(nZ − 1)/n(n − 1)
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

• le nombre de lettres dans cette phrase est n=43, le


nombre de a est 7, le nombre de b et de c est 0, le
nombre de d est 3, etc. L’indice de coïncidence est
donc

(7  6)  0  0  (3  2)  . . .
IC   0, 070
43  42
Indice de coïncidence
• Observations sur l’indice de coïncidence
• Exemples d'indices calculés sur des textes dans
différentes langues:

• l’indice de coïncidence moyen d’un texte aléatoire


ICa=0,038.

• Pour tout chiffre mono-alphabétique, l’indice de


coïncidence est le même pour le texte chiffré que pour
le texte clair.
Indice de coïncidence
• Test de Friedman
• On peut utiliser l’indice de coïncidence pour déterminer
la longueur de la clé dans un texte, chiffré selon le
chiffre de Vigenère.

• on calcule l’indice de coïncidence de chacun des sous-


ensembles de lettres suivants du texte chiffré:
1. l’ensemble de toutes les lettres du texte
2. l’ensemble des lettres en position 1,3, 5, . . ., dans le texte
3. l’ensemble des lettres en position 1,4, 7, . . ., dans le texte

k. l’ensemble des lettres en position 1,k + 1, 2k + 1, . . ., dans le
texte

Indice de coïncidence
• Test de Friedman
• Si l’ensemble, considéré à la k-ième étape, est celui
pour lequel l’indice de coïncidence est le plus élevé,
alors on choisit k comme longueur de la clé.
• trouver la longueur du mot-clé du texte:
YTTFT CTMUG FEJCU XFRSK UIBZF AZEJH VDQTD
TNUGD JBFZY SFHNV OQWT

• on calcule les indices de coïncidence pour les


différents sous-ensembles correspondant à chaque
étapes:
Indice de coïncidence
• M=TESTONS A PRESENT LA CRYPTANALYSE SUR LE CHIFFREMENT DE VIGNERE

• Intervalle de 1: YTTFT CTMUG FEJCU XFRSK UIBZF AZEJH


VDQTD TNUGD JBFZY SFHNV OQWT

• Intervalle de 2: YTTTU FJUFS UBFZJ VQDNG JFYFN OW et


TFCMG ECXRK IZAEH DTTUD BZSHV QT

• Intervalle de 3: YFTGJ XSIFE VTNDF SNQ, TTMFC FKBAJ


DDUJZ FVW et TCUEU RUZZH QTGBY
HOT

• Intervalle de 4: YTUJF UFJQN JYNW , TCGCR IAHTU BSVT,


TTFUS BZVDG FFO et FMEXK ZEDTD ZHQ.

• Intervalle de 5: YCFXU AVTJS O, TTEFI ZDNBF Q, …


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

• La clé est donc probablement de longueur


4.
La Cryptographie moderne
Types de cryptosystèmes

Cryptographie

Symétrique Asymétrique

Par bloc: Par flot: RSA,


DES, AES,… RC4,… El Gamal,…
Modélisation
• Cryptosystème:
• les alphabets pour écrire les messages clairs et les messages chiffrés
respectivement. P et C
• l’ensemble des clés possibles.
• Pour tout K on peut définir deux applications :
k pub , k prv  
telles que:
 pour chiffrer : ek pub : P 
 C
 pour déchiffrer : d k prv : C 
 P
 
d k prv ek pub ( x)  x pour tout x  P
• Dans le cas de cryptosystème symétrique, on a:
k pub  k prv
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.

• La transformation que subit chaque symbole mi du texte


clair est le plus souvent une combinaison additive avec un
symbole si produit par un générateur pseudo-aléatoire
(GPA).
ci = mi+si (chiffrement)
mi= ci -si (déchiffrement) où + = - = xor
• La suite des symboles (si ) est appelée suite chiffrante
ou masque
Sécurité informatique

Dr. A. Farchane
Faculté polydisciplinaire
-Beni Mellal-
Services de la sécurité

• Non-répudiation
Authentification

• Non-rejeu
Identification

• Contre
Intégritél’analyse de trafic

• Horodatage
Confidentialité
Problématique
• Failles dans les protocoles de communication
• Toute information circulant sur Internet peut être capturée et
enregistrée et/ou modifiée
Problème de confidentialité et d’intégrité
• Toute personne peut falsifier son adresse IP (spoofing) ce qui
engendre une fausse identification
Problème d’authentification
• Aucune preuve n’est fournie par Internet quant à la
participation dans un échange électronique
Problème d’absence de traçabilité
Cryptographie
• Science mathématique
permettant d’effectuer des
opérations sur un texte Intégrité
intelligible afin d’assurer Authentification

une ou plusieurs propriétés


de la sécurité de
l’information. Non Répudiation

Confidentialité
Définition d’un crypto-système

Un crypto-système est décrit par cinq uplets (P,C,K,E,D),


satisfaisant ces conditions:
• « P » est un ensemble fini de textes clairs (Plain text)
• « C » est un ensemble fini de textes cryptés (Cypher text)
• « K » est l’espace de clés (key space), représente un ensemble fini de clés possibles.
• Pour chaque k € K, il existe une fonction cryptage ek € E, et une fonction de
décryptage correspondante dk € D
• Les fonctions ek : P  C et dk : C  P doivent satisfaire:

dk(ek(x))=x pour chaque x € P


Principaux objectifs

• Le texte clair ne doit pas être facilement obtenu à partir d’un texte
crypté.
• Les clés ne doivent pas être facilement obtenues à partir d’un texte
crypté.
• L’espace des clés doit être assez large pour résister aux attaques
brute-force.
Cryptanalyse

• Principes et méthodes permettant de trouver un message clair à partir d’un


message crypté sans connaissance de la clé.
• Attaques classifiées selon le type de connaissance disponible pour l’intrus
(cryptanalyst).
• Connaissant C=E(P,K) mais pas K, l’objectif est de trouver P ou K.
• Types d’attaques de cryptanalyse:
• Texte chiffré uniquement: uniquement C et E sont connus par l’intrus
• Texte clair connu: Uniquement E, C, et quelques paires de messages clairs/cryptés avec K,
sont connus par l’intrus
• Texte clair choisi: E, C, sont connus, et P a été choisi par l’intrus.
• …
Cryptage symétrique
• Exigences:
• Un algorithme de cryptage solide.
• Une clé secrète partagée et connue entre l’émetteur et le récepteur.
Y = EK(X)
X = DK(Y)
• Suppose que l’algorithme de cryptage est connu à l’avance.
• Les clés sont distribuées à travers des canaux sécurisés.
• Exemples :
• Algorithmes : DES, IDEA, AES
• Taille des clés : 56-128-192-256-… bits
Cryptage symétrique: principe
de base
Clé Transmission par canal sécurisé Clé
01010000111 01010000111

Cryptanalyst

Texte clair Cryptage Texte clair


Internet Décryptage
Voici le Voici le
numéro numéro
de ma ☺☼♀☻
de ma
carte de ♠♣▼╫◊ carte de
crédit
111111,
♫◙◘€£ crédit
111111,
¥₪Ω‫٭‬
Texte crypté
Emetteur
Récepteur
Algorithme Symétrique

Message Message Message


clair chiffrement chiffré déchiffrement clair

Clé Clé

Alice Bob

• Une seule clé: clé secrète


• Transformation et permutation.
• Traitement relativement rapide.
• Problème d’échange et de gestion des clés.
• Usage : service de confidentialité
Cryptage symétrique: Modes Opérationnels

• Cryptage par flux (Stream Cipher)


• Principe: Traite les éléments d’entrée de façon continue, produisant à la
fois un élément de sortie (crypté).
• La clé est aussi longue que le stream de données.
• Mode adapté pour la communication en temps réel: Pas besoin d’attendre
l’arrivé du block entier
• Implémenté en général sur des supports hardware.
• Cryptage par bloc (Bloc Cipher)
• Principe: Le texte est divisé en différents blocks de taille fixe. Un block
est traité à la fois, produisant un block de données cryptées.
• le block doit être entièrement disponible avant le traitement
• La même fonction et la même clé est utilisée pour crypter les blocks
successifs.
• Implémentation d’une manière logicielle en générale.
Algorithme Symétrique

• Deux modes:
• Chiffrement symétrique en stream
• Chiffrement symétrique en bloc
• Electric Code Block (ECB).
- Cipher Block Chaining (CBC).

Mi-1 E Ci-1 Mi-1 E Ci-1

Mi E Ci Mi E Ci

ECB Mode CBC Mode


Cryptographie Symétrique: opérations de base

• Substitution
• Remplacement de chaque élément (bit, lettre, groupe de bits ou
de lettres) dans le texte clair par un autre élément.
• Transposition
• Réarrangement des éléments du texte clair

La plupart des systèmes utilisent plusieurs étapes de


transposition et de substitution.
Aucune information ne doit être perdue durant ces
deux opérations
Exemple de cryptage par substitution

Exemple: Caesar's cipher


• Etapes:
• Clé = 3
• Remplacer chaque lettre par celle qui la succède de trois (3).
• a devient d, b devient e, …, y devient b, z devient c
• L’algorithme peut être décrit comme suit:
• C = E(p) = (p+3) mod (26)
• Problèmes rendant la cryptanalyse de cet algorithme simple:
• Algorithme de cryptage et de décryptage connu.
• Seulement 25 clés à essayer.
• Le langage du message clair est connu et facilement identifiable.
Exemple de cryptage par transposition

Exemple: Rail fence technique


• Principe: Le texte clair est réécrit comme une séquence de lignes,
puis réordonnée comme une séquence de colonnes
Key: 4 3 1 2 5 6 7
Plaintext: a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
Ciphertext: TTNA APTM TSUO AODW COIX KNLY PETZ

• Cryptanalyse possible vue que l’algorithme préserve la fréquence


de distribution des lettres du texte original.
Cryptographie Symétrique : exemples
• Algorithmes de chiffrement en continu (Stream Cipher)
• Exemple : RC4 (RSA Security)
• Taille de la clé variable (128 bits en pratique).

• Algorithmes de chiffrement par blocs (Block Cipher)


• Chiffrement par blocs de texte clair: 64 bits (DES), 128 bits (AES).
• DES (clé 56 bits), 3DES (clé de 168 bits ou 112 bits).
• RC2 (clé 128 bits), Blowfish (clé 128bits, jusqu'à 448 bits), AES (clé
128, 192, 256 bits).
Algorithme Symétrique
Algorithme Nom et commentaires Type de chiffrement Longueur de Normalisé
la clé

DES Data Encryption Standard en bloc de 64 bits 56 bits FIPS Pub 81,1981 ANSI
X3.92, X3.105, X3.106
ISO 8372 ISO/IEC
10116
IDEA International Data Encryption en bloc de 64 bits 128 bits
Algorithm,
RC2 dévelopé par Ronald Rivest en bloc de 64 bits variable, Non et propriétaire
40
b.export.
RC4 dévelopé par R. Rivest enfilé variable Non, mais divulgé sur
40/ 128 l’Internet en 1994
bits
RC5 dévelopé par R. Rivest en bloc de 32, 64 ou variable Non et propriétaire
128 bits jusqu’à
2048 bits
SKIPJACK Confidentiel développé aux États en bloc de 64 bits 80 bits Secret défence aux États-
Unis par la NSA (National Security Unis
Agency - Agence de sécurité
nationale des États Unis) pour des
applications sur la carte PCMCIA
Fortezza.
Triple DES en bloc de 64 bits 112 bits ANSI X9.52
Cryptage symétrique
• Avantages
• Confidentialité des données.
• Rapidité, et facilité de mise en œuvre sur des circuits.
• Limitations
• Problématique de l'échange de la clé de chiffrement
• Établissement préalable d'un canal sûr pour la transmission de la clé
• Une tierce partie ne peut pas s’assurer de l’authenticité des
messages.
• Problème de la distribution des clés de cryptage
• Nécessité d’établir un canal sécurisé pour la transmission de la clé
• Nombre de clés échangées (en n²).
DES (Data Encryption Standard)
• DES (Data Encryption Standard) IBM 1977
• L’algorithme de cryptage (Block cipher) à clés symétriques le
plus utilisé.
• Crypte des blocks de 64 bits en utilisant des clés relativement
courtes (taille effective 56-bit).
• Produit de transpositions et de substitutions.
• Implémentation facile en matériel.
• Boites transposition P-Box
• Boites de substitution S-Box
 Les étapes des cette élaboration sont restés secrets,
(la conception des S Boxes).
 Les S Boxes sont des tables qui définissent des
permutation.
 Le message est découpé en blocs de 64 bits.
 Initialisation : permutation de tous les bits formant ce
bloc.
 On le coupe en deux parties : L0 et R0.
Algorithme DES

48 bits

3
2

4
DES (étapes 1 et 3): P-Box

Permutation initiale Permutation finale


• Le bit numéro 1 deviendra à la position 58
• Implémentation simple en matériel
DES (étape 2)
• Les sous-clés (Round keys) sont générées à partir de la clé
principale de 56 bits:
• Diviser la clé de 56 bits en deux segments.
• Rotation de chaque segment par un ou deux bits à droite.
• Sélection de 24 bits de chaque segment.
DES (étape 3) Un tour DES (One DES
round)

Cryptage
Block de 64 bits en entrée Décryptage Block de 64 bits en entrée

32 bits Li 32 bits Ri Sous-clé Sous-clé 32 bits Li+1 32 bits Ri+1


de 48 bits de 48 bits

Fonction de cryptage Fonction de cryptage

+ +

32 bits Li+1 32 bits Ri+1 32 bits Li 32 bits Ri

Block de 64 bits en sortie Block de 64 bits en sortie


Fonction de cryptage
A

C
A- Fonction d’expansion
• Etendre les blocks d’entré Ri de 32 bits à un block Ri’
de 48 bits.
• Division des 32 bits en des segments de 4 bits
• Élargir chaque segment de 4 bits avec les bits de ses
voisins pour attendre 6 bits.
• XOR des 48 bits en sortie avec la clé.

1 2 3 4 5 6 7 8 9 …

32 1 2 3 4 5 4 5 6 7 8 9
B- Fonction de substitution

0 0 1 0 0 1

1110
01=1

0100=4

14

Un sous-bloc de 6 bits est transformé en un sous-bloc de 4 bits.


C – Fonction de permutation

• Bit en position 1 est envoyé en position 16


Chiffrement symétrique

• La clé secrète est transformée en 16 parties Ki de 48 bits.


• Puis, on permute les deux parties en introduisant une fonction de la
clé.
• L1 = R0.
• R1 = L0 + f (K1, R0).
• Cette opération se répète 16 fois. A chaque étape i, on a :
• Li = Ri-1.
• Ri = Li-1 + f (Ki, Ri-1).
Chiffrement symétrique - DES

• Ki représente la sous clé numéro i obtenu à partir de la clé secrète.


• Le calcul de f se fait de la manière suivante :
• les 32 bits de la partie R sont étendue à 48 bits grâce à une table appelée E
(Expansion).
• Ce nouveau R, E(R) pour être plus précis, est additionné à Ki.
• Le résultat est découpé en huit suites Bi de six bits : Grâce à la table S-Box,
les données de ces huit suites donne un résultat de 32bits.
Chiffrement symétrique - DES

• Il y a 8 S-Box, une pour chacun Bi.


• Chaque S-Box à 16 colonnes et 4 lignes.
• Bi = b1b2b3b4b5b6. On calcule
• r = b1b6
• c = b2b3b4b5.
• On regarde le nombre qui figure à la ligne r et à la colonne c. Il est codé sur 4
bits est correspond à la sortie Si(Bi).
• Ensuite on effectue une permutation représentée par une table appelée P et le
résultat de cette permutation est retourné par la fonction f.
• Pour le déchiffrement, il suffit de faire l’opération inverse.
Limites de DES

• Les progrès en cryptanalyse et en électronique a fait que la longueur 56 des clés est devenu
un problème pour DES
 La taille de l’ensemble : {0,1}56 permet de retrouver la clé à partir d’un texte clair connu en
faisant du brute force.
• 3-DES (triple DES) a été lancé comme un nouveau standard en 1999.
• Utilise 2 ou 3 clés.
• Niveau de sécurité satisfaisant.
• Permet de continuer l’utilisation des boites S-Box et P-Box matériel et logiciel, en attendant la
migration vers AES.

K3

Cryptage décryptage Cryptage


DES
Cryptage Cryptage Cryptage
Attaque par force brute
Key Size 1995 2005 2015 2030

40 bit key .2 seconds 2 milliseconds .02 milliseconds .02 microseconds

2 minutes
56 bit key 3.6 hours 1 second 1 millisecond

64 bit key 38 days 9 hours 5.5 minutes .3 seconds

80 bit key 7000 years 70 years 251 days 6 hours

112 bit key 10(13) years 10(11) years 10(9) years 10(6) years

128 bit key 10(18) years 10(16) years 10(14) years 10(11) years
Cryptographie asymétrique (1)
• Appelé aussi: cryptographie à clé publique / à paire de clés /
asymétrique
• Représente une révolution dans l’histoire de la cryptographie
• Utilisation de deux clés:
• Clé publique: Connue par tout le monde, et peut être utilisée pour
crypter des messages ou pour vérifier la signature.
• Clé privée: Connue par le récepteur uniquement, utilisée pour décrypter
les messages, ou pour créer la signature.
• Si on crypte avec l’une de ces clés le décryptage se fait
uniquement avec l’autre.
• Impossible de trouver la clé privée à partir de la clé publique.
Cryptographie asymétrique (2)
• Clés à grande taille (ex: RSA: 1024-2048-…).
• Fonction trappe à sens unique
• Kpr: clé privée, Kpu: clé publique
• Y=fK (X) facile à calculer si Kpr et X sont connus.
pr
• X=fK -1(Y) facile si Kpu et Y sont connus, mais impossible si
pu
Y est connu et Kpu non connue.
• Utilisé généralement pour
• Cryptage / décryptage: assurer la confidentialité.
• Signature numérique: assurer l’authentification et la non
répudiation.
• Distribution de clés: se mettre d’accord sur une clé de
session.
Algorithme Asymétrique

Message Message Message


clair chiffrement chiffré déchiffrement clair

Clé 1 Clé 2

A B

• Deux clés : clé publique / clé privé.


• Traitement relativement lent.
• Exemple : RSA (Rivest Shamir Adleman).
• Usage: authentification, signature, échange de clés.
Cryptographie asymétrique: scénarios d’utilisation

Scénario: confidentialité

Clé publique Clé privée


du récepteur du récepteur

Texte clair Cryptage Décryptage Texte clair


Internet
Internet
Voici le Voici le
numéro numéro
de ma de ma
carte de ☺☼♀☻ carte de
crédit crédit
111111, ♠♣▼╫◊ 111111,
♫◙◘€£
¥₪Ω‫٭‬

Texte crypté
Emetteur Récepteur
Cryptographie asymétrique: scénarios d’utilisation

Scénario: authenticité de l’émetteur et non répudiation d’envoi

Clé privée Clé publique


de l’émetteur de l’émetteur

Texte clair Cryptage Décryptage Texte clair


Internet
Internet
Voici le Voici le
numéro numéro
de ma de ma
carte de ☺☼♀☻ carte de
crédit crédit
111111, ♠♣▼╫◊ 111111,
♫◙◘€£
¥₪Ω‫٭‬

Texte crypté
Emetteur Récepteur
Chiffrement mixte

Clé Aléatoire de Cryptage


Symétrique

Texte
Texte Clair
Chiffré

Clé publique du
destinataire Clé Aléatoire de
Cryptage Symétrique

Texte
Texte Clair
Chiffré

Clé privée du
destinataire
Cryptographie asymétrique: scénarios d’utilisation

Scénario: Distribution des clés de session (clés symétriques)


Cryptographie asymétrique : exemples

• RSA
• Développé par Rivest, Shamir & Adleman à MIT en 1977, publié en 1978.
• Le plus connu et le plus utilisé comme algorithme de cryptage asymétrique : utilisé
pour le cryptage et la signature électronique.
• Utilise des entiers très larges 1024+ bits
• La sécurité repose sur le coût de factorisation des entiers larges.
• Diffie-Hellman
• Algorithme utilisé pour l’échange et la distribution des clés symétriques.
RSA: Algorithme
• Etapes
1. Sélectionner deux entiers premiers entre eux « p » et « q »
2. Calculer n = p x q
3. Calculer φ(n)=(p-1)(q-1)
4. Sélectionner « e » tel que: pgcd(φ(n),e)=1 ; 1<e<φ(n)
 En général « e » est un entier de petite taille.
5. Calculer d=e-1 mod φ(n) En d’autre terme: d.e = 1 mod (φ(n))
6. Clé publique: Kpu={e,n}
7. Clé privée Kpr = {d,n}
• Pour crypter un message M < n, l’émetteur:
• Obtient une clé publique du récepteur et calcule « C= Me mod n »
• Pour décrypter un message crypté C le récepteur
• Utilise sa clé privée et calcule « M = Cd mod n »
RSA: Exemple
Cryptage Décryptage
Texte
Texte clair Texte clair
crypté

 p = 17, q = 11, n = p x q= 187


 (n) = 16 x 10 =160,
 Choisir e = 7,
 d.e =1 (mod (n))  d = 23
Chiffrement asymétrique - RSA

• Pour percer RSA, il “ suffit ” de pouvoir factoriser n. En effet, n est connu et si on le


factorise, on obtient p et q puis j et connaissant j et d, on obtient e. Mais, la factorisation de
n n’est pas une chose facile. La factorisation de grands nombres suffit ,à elle seule, à
dissuader de nombreuses tentatives.
• En pratique, il y a deux difficultés pour implémenter RSA. La première est la génération de
grands nombres premiers (p et q) et la seconde est l’élévation de nombre à des
puissances très grandes. Un standard de RSA est PKCS 1.
RSA: formules de base

• Fonction d'Euler φ(n) : représente le nombre d'entiers premiers


avec n.
• Exemples:
• n est premier  φ(n) = n-1
• n = p . q avec p et q premiers  φ(n) = (p-1).(q-1)
• Théorème d'Euler:
• a et n sont premiers entre eux 
aφ(n) = 1 (mod n)
Preuve de RSA

• D(E(M)) = (Me mod n)d mod n


= Me.d mod n
• On a: e.d = 1 (mod φ(n) )
= z x φ(n) + 1
• Me.d = M z x φ(n) + 1
= (Mz)φ(n) x M
= 1 x M (mod n)
• Par hypothèse RSA crypte des blocks de données de taille inférieure à n
(décomposition en blocks)
 D(E(M)) = M
Cryptage asymétrique: Avantages et inconvénients

• Avantages
• Pas besoin d’établir un canal sûr pour la transmission de la clé.
• Plusieurs fonctions de sécurité: confidentialité, authentification, et non-répudiation
• Inconvénient
• Généralement dix fois plus lent que le cryptage symétrique.
• Problème d’implémentation sur les équipements disposants de faible puissance de calcul
(ex: cartes bancaire, stations mobiles, etc.)
• Clés longues
• Complexité algorithmique de la méthode (ex: réalisation des opérations modulo n)
 Solution: Utilisation du cryptage asymétrique pour l’échange des clés secrètes
de session d'un algorithme symétrique à clés privées.
Fonction de hashage

• Entrée: message M avec contenu et taille arbitraire.


• Sortie: message de taille fixe h=H(M).
• La fonction de hachage permet d’extraire une empreinte qui caractérise les
données.
• Une empreinte a toujours une taille fixe indépendamment de la taille des données.
• Irréversible:
• Etant donnée h, il est difficile de trouver x tel que: h = H(x)
• Complexité de l’ordre de 2n, n est le nombre de bits du digest.
• Calcul facile et rapide (plus rapide que le cryptage symétrique).
• Exemples:
• MD5, SHA, …
• Taille du digest: 128-160-… bits
Fonction de hashage

• H (M) = C
• M est de taille quelconque
• C est de taille fixe (16 ou 20 octets)
• C est appelé condensât, ou empreinte, ou fingerprint, ou message digest
• Fonction à sens unique
• Si H (M1) = C1 ,
• il est très difficile de trouver :
M2 différent de M1 tel que H (M2) = C1
• Usage : checksums, « intégrité »
Fonction de hashage

Condensat
Texte Clair
Fonctions de Hachage: Principes
Texte clair Texte clair

Internet
Internet
Hachage =? Hachage

Empreinte Empreinte Empreinte


reçue recalculée

1) = Le texte reçu est intègre


Empreinte Empreinte
reçue recalculée

2) ≠ Le texte reçu est altéré


Empreinte Empreinte
reçue recalculée
Propriétés d’une fonction de hachage

• Irréversible
• Soit « y » le résultat de hachage, il est pratiquement infaisable de trouver «
x » tel que h(x)=y.
• Résistance forte à la collision:
• Soit « x » et « y=h(x) », il est pratiquement infaisable de trouver «x’x » tel
que h(x’)=h(x).
• Il est pratiquement infaisable de trouver deux valeurs distinctes « x’ » et « x
» tel que h(x’)=h(x).
Fonctions de Hachage: Exemples

• MD5 : Message Digest 5


• Développé en 1991
• Génère une empreinte de taille 128 bits en traitant les données
d’entrée par blocs de 512 bits.
• SHA-1 : Secure Hash algorithm
• Génère une empreinte de taille 160 bits.
• Plus fort que MD5.
Signature numérique

• Principe de fonctionnement
• Le Hash (résultat de la fonction de hachage) d’un message est crypté avec la
clé privée de l’émetteur.
• La clé publique est utilisée pour la vérification de la signature
• Soit:
• M: message à signer, H: fonction de hachage
• Kpr, Kpu: paire de clés privée/publique de l’émetteur.
• E / D: fonction de cryptage / Décryptage en utilisant Kpu / Kpr.
• En recevant (M, EKpr(H(M))), le récepteur vérifie si:
H(M)=DKpu(EKpr(H(M)))
Signature

Message Message
Texte
Chiffré

Clé Privée de
L'Expéditeur

Condensât Signature
Signature

Message
Texte Condensât
Chiffré

?
Clé publique du signataire

Signature Condensât
Signature

• La signature permet de mettre en œuvre les services:


• Intégrité du message
• Authentification
• Non-répudiation
• Génération d’une clé de chiffrement symétrique pour le service de
Confidentialité
Signature numérique: Génération

Clé privée
du signataire

Signature
Texte clair numérique
Fonction de Hachage Cryptage Asymétrique

Empreinte
Processus de Génération de la Signature numérique
Signature numérique: Vérification

Texte clair
Hachage
Empreinte
recalculée
Clé publique =?
de l’émetteur
Signature
numérique Décryptage
Empreinte
reçue

1) = La signature reçue est correcte


Empreinte Empreinte
reçue recalculée

2) ≠ La signature reçue est incorrecte

Empreinte Empreinte
reçue recalculée
Emetteur

Cryptage du résultat
de hachage avec la clé
privée de l’émetteur
Transmission du message, du
résultat de hachage crypté, et
des informations relatives aux
algorithmes utilisés

Récepteur

Décryptage avec la clé


public de l’émetteur

Emetteur du message authentifié,


Signature message intègre, et l’émetteur ne peut
incorrecte Résultats Résultats pas répudier l’envoi
différent égaux
Signature numérique VS Signature Manuscrite

• Les deux signatures (numérique & manuscrite ) assurent:


• Authentification du signataire
• Non répudiation.
• La signature numérique, seule, Intégrité

Authentification
assure l’intégrité des données.

Non Répudiation
Certificat (1/2)

• Un certificat est un message signé avec la clé


privé d ’une entité
• On nomme cette entité une autorité de certification
• Le certificat peut être vérifié avec la clé publique de l’autorité de
certification
• Les autorités de certification peuvent être organisées en arbre. Il
suffit d ’avoir confiance en une seule pour pouvoir vérifier un
certificat quelconque de la hiérarchie.
Certificat (2/2)
texte en
clair

condensât signature numérique (sceau)


Algorithme
de
hachage

clé privée
de l'émetteur

clé DES générée


aléatoirement pour
chaque message

certificat de
l'émetteur
message envoyé

Message OAEP enveloppe


clé publique numérique
du destinataire
Benchmarks

• Pentium II  cadencé à 233 MHz, API BSAFE 4.0 de RSA

Opération à effectuer Durée du traitement


DES:génération de la clé 6msec
DES: chiffrement 3241 Koctets/s
DES: déchiffrement 3333 Koctets/s
MD5: création d’un condensat 36 250 Koctets/s
RSA: chiffrement 4,23 Koctet/s
RSA: déchiffrement 2,87 Koctet/s

SHA: création d’un condensât 36 250 Koctet/s


Standards PKCS

• PKCS : Public Key Cipher Systems

• Standards de la compagnie RSA


• Format de stockage des clés privées
• Format et extensions des certificats
• Requête pour l ’obtention d ’un certificat
• etc, ...
Les standards PKCS

• PKCS#1 : RSA Encryption Standard


• PKCS#3 : Diffie-Helman Key Agreement Standard
• PKCS#5 : Password-Based Encryption Standard
• PKCS#6 : Extended-Certificate Syntax Standard
• PKCS#7 : Cryptographic Message Syntax Standard
• PKCS#8 : Private-Key Information Syntax Standard
• PKCS#9 : Selected Attribute Types
• PKCS#10 : Certification Request Syntax Standard
• PKCS#11 : Cryptographic Token Interface Standard
• PKCS#12 : Personal Information Exchange Syntax Standard
Sécurité informatique

Dr. A. Farchane
Faculté polydisciplinaire
-Beni Mellal-
Modes opératoires
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.
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:
m i=Dk(ci)

• La procédure ECB n’est jamais utilisée en pratique


Modes opératoires: CBC
Mode CBC (Cipher Bloc Chaining)
1. On commence par choisir un bloc initial (IV= initial
value).
2. Chaque bloc clair (mi)i≥0 est d’abord modifie en faisant
un XOR de ce bloc avec le bloc chiffré précédent, ci−1;
3. On chiffre le résultat obtenu par XORisation.

c0 = Ek(m0 ⊕ IV)
c1 = Ek(m1 ⊕ c0)
.
.
ci = Ek(mi ⊕ ci−1)
Modes opératoires: CBC
Mode CBC (Cipher Bloc Chaining)
• On transmet le message IV c0 c1 . . . cn.

• Le bloc initial IV peut être choisi de l’une des


manières suivantes:
1. On génère IV aléatoirement et on le transmet en clair
avec le message;
2. On génère IV aléatoirement et on le transmet de
manière confidentielle;
3. On utilise un IV fixe qui fait partie des constantes du
cryptosystème;
4. On utilise un IV fixe qui fait partie de la clé secrète du
cryptosystème.
Modes opératoires: CBC
• Déchiffrement

m0 = IV⊕ Dk (c0)
mi = ci−1 ⊕ Dk (ci)
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.

• On commence par choisir un bloc initial IV,

• Chaque bloc clair mi est XORé avec le chiffré du


bloc de sortie précédent, ci−1, suivant le schéma:
Modes opératoires: CFB
Le mode CFB (Cipher FeedBack)
c0 = m0 ⊕ Ek(IV)
c1 = m1 ⊕ Ek(c0)
ci = mi ⊕ Ek(ci-1)

• On transmet le message IV c0 c1. . . cn.


Modes opératoires: CFB
• Déchiffrement
m0 = c0 ⊕ Ek(IV)
mi = ci ⊕ Ek(ci−1)

• Ce mode est moins sûr que le CBC et est utilisé


par exemple pour les chiffrages réseaux.
• L’intérêt est que le déchiffrement ne nécessite
pas de calculer Dk.
Modes opératoires: OFB
Le mode OFB (output FeedBack)
• Le mode OFB est une variante de CFB qui permet
d’avoir un chiffrement et un déchiffrement
totalement symétrique:
z0 = Ek(IV);
zi = Ek(zi−1);
c i = mi ⊕ z i
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

• Sa sureté est équivalente à celle du mode CFB.


Modes opératoires: CTR
Le mode CTR (Counter-mode encryption)
• Le mode de chiffrement CTR est lui aussi totalement
symétrique, mais en outre facilement parallélisable.
• Il utilise pour le chiffrement un compteur de valeur
initiale T:
ci = mi ⊕ Ek(T + i)
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;

• Un même bloc n’est a priori jamais codé de la même façon.

• La sécurité du mode CTR est équivalente à celle du mode


CFB.

• Le déchiffrage est identique chiffrage:


mi = ci ⊕ Ek(T +
i)
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).
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.
Sécurité informatique

Dr. A. Farchane
Faculté polydisciplinaire
-Beni Mellal-
Encodage, Chiffrement et Hachage
• Encodage :

• Chiffrement :

• Hachage :
Cryptographie symétrique

Clé_Chiffrement = Clé_Déchiffrement
Soit F une fonction de chiffrement symétrique :
F( Clé_Chiffrement ; Plaintext ) = F( Clé_Déchiffrement ; Ciphertext )
Clé = Clé_Chiffrement = Clé_Déchiffrement

Chiffre monoalphabétique Chiffre polyalphabétique


Chiffrement de César (monoalphabétique)

Chiffre de César avec pour clé de décalage


:C=3

C=3
NOTREMESSA QRWUHPHVVD
GE JH
Caractéristiques de ce chiffre :
- Chiffre monoalphabétique
- Fonction de chiffrement bijective (facilement
cassable)

- PlainText.length = CipherText.length
Chiffre de Vigenère (polyalphabétique)

Soit F la fonction encodant chaque lettre :


F ( L ; C) = (L+C) mod 26 (Chiffre de césar)

CipherText = F ( L1 ; C1) + F ( L2 ; C2) + … + F


( L ; C)
Caractéristiques de ce chiffre :
- Chiffre polyalphabétique
- Fonction de chiffrement surjective

- PlainText.length =
CipherText.length
Algorithmes de cryptographie asymétrique (à clé
publique et privée)
• RSA • Exemple
p = 37 et q = 43 donc :
Choisir 2 nombres premiers : p et q
n = 37 * 43 = 1591 ET z = 36 * 42 = 1512
n=p*q ET z = (p-1) * (q-1)
On choisit e=19, 19 < 1512 et 19 est premier
Choisir un nombre e < z et premier avec z
avec 1512.
Calculons d, l’inverse de e module z :
d = 19-1 mod 1512 = 955
d = e-1 mod((p-1)(q-1))
Nous pouvons partager e et n, qui sont les clés
Le couple (e,n) est la clé publique, et d est
publiques.
la clé privée.
Nous allons crypter le texte « rome ».
c = te mod n (CRYPTAGE)
r = 114, o = 111, m = 109 et e = 101 (ASCII)
t = cd mod n (DECRYPTAGE)
r : 11419 mod 1591 = 632
• Informations : o : 11119 mod 1591 = 703
m : 10919 mod 1591 = 483
t est le « texte » que vous voulez chiffrer.
e : 10119 mod 1591 = 1174
c est le « texte chiffré ».
« rome » devient : « 632 703 483 1174 »
Techniques classiques et cryptanalyses

• KPTA / Attaque par mot probable


Voici un texte chiffré par substitution monoalphabétique (injective) :
UJGYGU CU ZUV EVU ZU CU GYGJU

On sait que le PlainText commence par "Engage le jeu" et on souhaite déchiffrer le reste.

Procédure :

Le chiffre est monoalphabétique donc on peut en déduire ceci :

Maintenant on veut déchiffrer ceci : EVU ZU CU GYGJU


Utilisons les morceaux de la clé connu.

On obtient :
EVU ZU CU GYGJU
_UE JE LE GAGNE

On peut aussi déduire logiquement que :


E -> Q
Et on obtient : ENGAGE LE JEU QUE JE LE GAGNE
Analyse de fréquence

Soit le CipherText suivant :


segelazew aop qj lnkfap z ajyuyhklazea cnwpqepa aynepa ykklanwperaiajp

Après analyse on obtient :


Wikipédia est un projet d'encyclopédie gratuite écrite coopérativement.
Fonctions de hachage
• MD5
Un md5 est une chaîne de 32bits, écrite en base 16 (Hexadécimal), c’est-à-dire qu’il existe
un nombre fini d’empreintes md5 qui est 16*16*16*16….*16 = 16^32.

Le nombre d’empreintes étant un nombre fini, 16^32 tandis que le nombre d’entrée est un
infini, cela veut dire que chaque empreinte correspond à :

On peut conclure, que chaque empreinte md5 correspond à une


infinité d’entrées, d’où le fait qu’un hash soit indéchiffrable.

• Caractéristiques d’un hachage


- Indéchiffrable.
- Taille de l’empreinte fixée, elle ne dépend donc pas de la taille de l’entrée.
- Existence de collision c’est-à-dire qu’il est possible d’avoir md5(texte1) = md5(texte2) alors
que texte1 est différent de texte2.
Une représentation de cette infinité
Fonction partie entière :

Fonction modulo 2 :

F (x) = x mod 2
F(x) = 1 => x impair et F(x) = 0 => x pair
Or l’ensemble des nombres impairs et pairs est infini.
Utilisation dans l’informatique
Le hachage est excessivement utilisé en informatique, surtout dans le gestion de bases
de données afin de rendre indéchiffrable les mots de passes des utilisateurs.
Attaque d’un hachage
Soit F une fonction de hachage :
- Il n’existe pas de fonction réciproque pour F.
- Il n’existe pas de représentation graphique pour une fonction de hachage.

Brute force Rainbow Table

C’est deux méthodes d’attaques restent cependant très limités, même si aujourd’hui il existe
d’énormes Rainbow Tables.
Merci de nous avoir écouté

Bibliographie:

Site :
http://www.bibmath.net/crypto/index.php?action=affiche&quoi=substi/defs
http://villemin.gerard.free.fr/Crypto/RSA.htm
http://fr.wikipedia.org/wiki/Analyse_fréquentielle
http://www.apprendre-en-ligne.net/crypto/stat/
http://fr.wikipedia.org/wiki/Fonction_de_hachage

Livre :
Cryptographie en pratique - Niels FERGUSON, Bruce SCHNEIER
Sécurité informatique

Dr. A. Farchane
Faculté polydisciplinaire
-Beni Mellal-

Vous aimerez peut-être aussi