Chapitre 2
Chapitre 2
Chapitre 2
2020-2021
Plan
Généralités
La cryptographie symétrique
• Opérations de base
• Le protocole DES
• Le protocole AES
La cryptographie asymétrique
• RSA
• Diffie Hellman
• ECC
La signature numérique
• Signature RSA
• DSA
• ECDSA
Généralités
La cryptographie symétrique
• Opérations de base
• Le protocole DES
• Le protocole AES
La cryptographie asymétrique
• RSA
• Diffie Hellman
• ECC
La signature numérique
• Signature RSA
• DSA
• ECDSA
Canal sécurisé
Modèle de cryptage asymétrique: M=D(E(M,K),K-1) avec
K-1 ≠ K en général
Canal sécurisé
• C El ( P)
• C El1 ( x1 ) El2 ( x2 )...
• li f ( k , x1 , x2 , xi 1 )
Les valeurs l1 , l2 , l3, l4 , … sont appelées key streams
Syncronous cypher: Le key stream ne dépends pas du texte
clair. La période du key stream est égale à d tel que: li+d=li
Self-synchronizing: le key stream dépends de n caractères
clairs précédents.
10
Block Cipher
Block Cipher: Le texte clair est divisé en différents
blocks P1, P2, P3 … de taille fixe (64, 128, …octets).
Un block Pi est traité à la fois, produisant un block de
données crypté Ci.
Si la longueur du message n’est pas un multiple de la
longueur d’un bloc, on le complète : c’est le bourrage
(padding).
….
Techniques de cryptographie, 2020 12
Block Cipher
Electronic Code Book (ECB)
Chaque block du texte clair est chiffré indépendemment des autres.
Chiffrement:
Déchiffrement:
Déchiffrement:
Déchiffrement:
Généralités
La cryptographie symétrique
• Opérations de base
• Le protocole DES
• Le protocole AES
La cryptographie asymétrique
• RSA
• Diffie Hellman
• ECC
La signature numérique
• DSA
• ECDSA
plaintext: abcdefghijklmnopqrstuvwxyz
ciphertext: mnbvcxzasdfghjklpoiuytrewq
Exercice
Retrouver le clair du message codé à l’aide de
l’algorithme de César (La clé est 3)
«FRGDJHGHFHVDU ».
Solution
• L’algorithme à translation de César correspond à
une translation de 3 lettres (clé) pour passer du
message original au message crypté.
Vignère Cipher
WOS VJS SOO UPC QVD FLB WHS QSI VLM XYO
Le chiffre de Vigenère
Le carré de Vigenère :
• 26 alphabets : chiffrement de César
Clé de chiffrement : un mot clé identifiant les alphabets à
utiliser
La transposition représente la
permutation des symboles d’un plaintext
Conserve la distribution des symboles
La cryptanalyse statistique est possible
Principe de Kerkhoffs:
En effet, certains calculs ont montrés qu'il était possible d'effectuer une
recherche exhaustive de clé, en 256 essais. Ces calculs sont réalisables en
un temps limité et avec un coût relativement raisonnable.
Bloc de 64 bits
3. Découpage des blocs en deux parties: gauche et droite
32 bits 32 bits
64 bits
K3
DES
• Il s’agit d’une
succession de fonction
à appliquer en 10 (clé
128 bits), 12 (clé 192
bits) ou 14 itérations (clé
256 bits).
• Les données et la clé
sont codés en 128 bits
pour AES 128.
1 octet
Il s’agit d’une addition
binaire des octets (bytes)
de la donnée avec les
octets de la clé par
l’application de l’opérateur
XOR
S1,1 = xy16
RotWord[b0,b1,b2,b3] = [b1,b2,b3,b0]
Généralités
La cryptographie symétrique
• Opérations de base
• Le protocole DES
• Le protocole AES
La cryptographie asymétrique
• RSA
• Diffie Hellman
• ECC
La signature numérique
• Signature RSA
• DSA
• ECDSA
Texte crypté
Emetteur Récepteur
Texte crypté
Emetteur Récepteur
• Un nombre premier p
• Le groupe associé à une courbe elliptique est calculé à partir de
l’équation de la courbe elliptique
• Un point, G, choisi à partir du groupe associé à la courbe
elliptique (Comme le générateur utilisé dans DH)
Exemple:
Si k = 23; alors, kP = 23*P
= 2(2(2(2P) + P) + P) + P
Addition de points
Doublement de points
Avantages :
• on démarre l'échange avec l'utilisation d'un algorithme
asymétrique qui possède l'avantage d'offrir un moyen
d'identifier les interlocuteurs.
• la clé secrète est chiffrée et échangée ;
• après l'échange on bascule le chiffrement en utilisant un
algorithme symétrique plus rapide ;
Comment peut-on
augmenter le niveau de
sécurité de RSA?
• Augmentez la
longueur de la clé
Avantages de ECC
Généralités
La cryptographie symétrique
• Opérations de base
• Le protocole DES
• Le protocole AES
La cryptographie asymétrique
• RSA
• Diffie Hellman
• ECC
La signature numérique
• Signature RSA
• DSA
• ECDSA
Internet
Hashage =? Hashage
Empreinte Empreinte Empreinte
reçue recalculée
111
Fonction de hachage
Famille MD (Message Digest)
• Développé par Ron Rivest
• Plusieurs versions: MD4, MD5
• Génère une empreinte de taille 128 bits
Famille SHA (Secure Hash Algorithm)
• Développé par NIST en collaboration avec NSA
• Plusieurs versions SHA1, SHA2, SHA3
• SHA1 Génère une empreinte de taille 160 bits
• Exemple
Introduction à la Cryptographie
5aa769e719f153611c3d0dbb4bb02e23
Introduction à la cryptographie
af575f3a9216b4158bdcd2c4201d6527
Techniques de cryptographie, 2020 112
Signature numérique
Idée clé:
• L’empreinte (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)))
Clé privée
du signataire
114
Signature numérique: Vérification
Signature Décryptage
Electronique
Empreinte
reçue
115
Signature numérique
Exemples d’algorithmes:
Signature RSA
118
DSA
• Le NIST a proposé le DSA « Digital Signature algorithm »
en 1991 et l'a adopté comme norme en 1994.
• Il est connu aussi avec le nom Digital Signature Standard
(DSS).
Génération de Clés
Sélectionner deux nombre premiers (p,q) telque q | (p-1)
Il est recommandé que le nombre de bits de p soit entre
512 and 1024 bits, et q de 160 bits
Choisir g comme un élément de Zp* avec un ordre q
• Soit un générateur de Zp*, et définir g = (p-1)/q mod p
Sélectionner 1 x q-1 et calculer y = gx mod p
Signer un message M:
Sélectionnez un nombre aléatoire secret
k, 0 < k < q
Calculer:
r = (gk mod p) mod q
s = k-1 ( H(M) + xr) mod q
H est une fonction de hachage
Signature: (r, s)
• La signature se compose de deux nombres de
160 bits, lorsque q est de 160 bits
Vérification de signature
Vérifier 0 < r < q and 0 < s < q, sinon, la
signature est invalide.
Calculer:
u1 = H(M)s-1 mod q, u2 = rs-1 mod q
w= (gu1 yu2 mod p) mod q
La signature est valide si r = w
Vérification de signature
Pour que B authentifie la signature de A , B doit avoir la clé publique de A
QA
1. Vérifier que r et s appartiennent à [1,n − 1]. Sinon, la signature est
invalide
2. Calculer e = H(m), avec H est la même fonction utilisée dans la
génération de la signature
3. Calculer w = s −1 (mod n)
4. Calculer u1 = ew (mod n) et u2 = rw (mod n)
5. Calculer (x1, y1) = u1G + u2QA
6. La signature est valide si x1 = r(mod n)