Académique Documents
Professionnel Documents
Culture Documents
UL
UL
UPL SEC-CRYPTO
INFO-01
2016-2017
2021-2022 SEC-CRYPTO
INFO-01
2016-2017
2021-2022
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
Dr. A. Farchane
Faculté polydisciplinaire
-Beni Mellal-
Introduction
Canal non
Alice sécurisé Bob
OSCAR
• 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.
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.
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.
• 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
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?
• 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
• OPT SRY VID EDE ATZ ERR NEB UOX NUS ZAE
Chiffrement par transposition
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
(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:
Cryptographie
Symétrique Asymétrique
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
Confidentialité
Définition d’un crypto-système
• 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
Cryptanalyst
Clé Clé
Alice Bob
• Deux modes:
• Chiffrement symétrique en stream
• Chiffrement symétrique en bloc
• Electric Code Block (ECB).
- Cipher Block Chaining (CBC).
Mi E Ci Mi E Ci
• 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
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
Cryptage
Block de 64 bits en entrée Décryptage Block de 64 bits en entrée
+ +
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
• 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
2 minutes
56 bit key 3.6 hours 1 second 1 millisecond
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
Clé 1 Clé 2
A B
Scénario: confidentialité
Texte crypté
Emetteur Récepteur
Cryptographie asymétrique: scénarios d’utilisation
Texte crypté
Emetteur Récepteur
Chiffrement mixte
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
• 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é
• 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
• 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
• 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
• 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
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
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
Authentification
assure l’intégrité des données.
Non Répudiation
Certificat (1/2)
clé privée
de l'émetteur
certificat de
l'émetteur
message envoyé
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)
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.
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.
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
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)
- 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
On sait que le PlainText commence par "Engage le jeu" et on souhaite déchiffrer le reste.
Procédure :
On obtient :
EVU ZU CU GYGJU
_UE JE LE GAGNE
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 à :
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.
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-