Académique Documents
Professionnel Documents
Culture Documents
❑ Tout au cour de l’histoire, une difficile bataille eut lieu entre les
constructeurs de code (cryptographes) et ceux qui essayaient de les
briser (les cryptanalystes). Il n’est toujours pas clair, même aujourd’hui,
qui sera le vainqueur.
2
Stéganographie
3
Stéganographie
4
Chiffrement de César
5
Chiffrement de César
❑ On intercepte le message
FAGEMYREMPURZV_EMZR_R FMNMDAZR
➔ Essayons différents décalages…
1: E_FDLXQDLOTQYUZDLYQZQZELMLC_YQ
2: DZECKWPCKNSPXTYCKXPYPYDKLKBZXP
3… 4… 5… 6… 7… 8… 9… 10… 11… 12…
13: TOUS_LES_CHEMINS_MENENT_A_ROME
6
Substitution mono-alphabétique
TOUS_LES_CHEMINS_MENENT_A_ROME devient
FQLJRPAJRHCAE_ZJREAZAZFRDRNQEA
Il y a 27!=10 888 869 450 418 352 160 768 000 000
possibilités…
7
Substitution mono-alphabétique
❑ La substitution mono-alphabétique apparaît déjà dans le kàma-sùtra qui fut
écrit au 5ième siècle mais qui est basé sur des écrits datant du 4ième siècle
av. J.-C.
8
Exemple
BQPSNRSJXJNJXLDPCLDLPQBE_QRKJXHNKPKSJPJIKSPUNBDKIQRB
KPQPBQPZITEJQDQBTSKPELNIUNPHNKPBKPCKSSQWKPSLXJPSNV
VXSQCCKDJPBLDWPXBPSNVVXJPGKPJKDXIPZLCEJKPGKSPSJQJXSJX
HNKSPGPLZZNIIKDZKPGKSPGXVVKIKDJKSPBKJJIKS
9
Occurrence des lettres
En français Dans le cryptogramme
_ 19.3 L 4.7 H 0.8 P 14.3 D 4.6 W 1.0
E 13.9 O 4.1 G 0.8 K 12.8 L 4.1 U 1.0
A 6.7 D 2.9 B 0.6 S 9.2 V 3.1 T 1.0
S 6.3 P 2.5 X 0.4 J 9.2 Z 2.6 _ 0.5
I 6.1 C 2.4 Y 0.3 X 5.6 G 2.6 O 0.0
T 6.1 M 2.1 J 0.3 Q 5.6 C 2.6 M 0.0
N 5.6 V 1.3 Z 0.1 N 5.6 E 2.0 F 0.0
R 5.3 Q 1.3 K 0.0 B 5.1 R 1.5 A 0.0
U 5.2 F 0.9 W 0.0 I 4.6 H 1.5 Y 0.0
10
Exemple
Remplaçons P par _ et K par E
BQ_SNRSJXJNJXLD_CLDL_QBE_QREJXHNE_ESJ_JIES_UNBDEIQRBE
_Q_BQ_ZITEJQDQBTSE_ELNIUN_HNE_BE_CESSQWE_SLXJ_SNVVX
SQCCEDJ_BLDW_XB_SNVVXJ_GE_JEDXI_ZLCEJE_GES_SJQJXSJXHN
ES_G_LZZNIIEDZE_GES_GXVVEIEDJES_BEJJIES
LA_SNRSJXJNJXLD_CLDL_ALE_AREJXHNE_ESJ_JIES_UNLDEIARLE_A
_LA_ZITEJADALTSE_ELNIUN_HNE_LE_CESSAWE_SLXJ_SNVVXSACC
EDJ_LLDW_XL_SNVVXJ_GE_JEDXI_ZLCEJE_GES_SJAJXSJXHNES_G_
LZZNIIEDZE_GES_GXVVEIEDJES_LEJJIES
11
Exemple
LA_SNRSTXTNTXLD_CLDL_ALE_ARETXHNE_EST_TRES_UNLDERARL
E_A_LA_ZRTETADALTSE_ELNRUN_HNE_LE_CESSAWE_SLXT_SNVVX
SACCEDT_LLDW_XL_SNVVXT_DE_TEDXR_ZLCETE_DES_STATXSTXH
NES_D_LZZNRREDZE_DES_DXVVEREDTES_LETTRES
12
Exemple
LA_SURSTITUTILN_CLNL_ALE_ARETIQUE_EST_TRES_UULNERARLE_
A_LA_ZRTETANALTSE_ELURUU_QUE_LE_CESSAWE_SLIT_SUFFISAC
CENT_LLNW_IL_SUFFIT_DE_TENIR_ZLCETE_DES_STATISTIQUES_D_
LZZURRENZE_DES_DIFFERENTES_LETTRES
13
Exemple
Remplaçons R par B et L par O
LA_SUBSTITUTION_CONO_ALE_ARETIQUE_EST_TRES_UULNERABLE
_A_LA_ZRTETANALTSE_EOURUU_QUE_LE_CESSAWE_SOIT_SUFFIS
ACCENT_LONW_IL_SUFFIT_DE_TENIR_ZOCETE_DES_STATISTIQUES
_D_OZZURRENZE_DES_DIFFERENTES_LETTRES
Finalement
LA_SUBSTITUTION_MONO_ALPHABETIQUE_EST_TRES_VULNERABL
E_A_LA_CRYPTANALYSE_POURVU_QUE_LE_MESSAGE_SOIT_SUFFIS
AMMENT_LONG_IL_SUFFIT_DE_TENIR_COMPTE_DES_STATISTIQUE
S_D_OCCURRENCE_DES_DIFFERENTES_LETTRES
14
Le chiffre indéchiffrable
❑ Au 16ième siècle, on brisait les codes de façon routinière. La balle était dans le
camp des cryptographes. Vigenère inventa un code simple et subtile. Il s'agit
d’une amélioration du chiffre par décalage. On choisit un mot de code par
exemple ALAIN et on l’utilise pour chiffrer.
ALAIN=1,12,1,9,14
ALAINALAINALAINALAINALAINALAINALAINALAINA
LE_CODE_DE_VIGENERE_EST_IL_INDECHIFFRABLE
MQALBEQAMSAGJPSOQSNNFDUIWMLJWRFOIRTGCBKZF
15
Briser le chiffre indéchiffrable!
16
Cryptage Symétrique
• Utiliser une même clé secrète K pour chiffrer et
déchiffrer
• But : garantir la confidentialité
Clé = K B
A
Canal sécurisé et
Message M authentifié
C M=Dec K (C)
C=EncK(M)
Canal non sécurisé
17
Cryptage Symétrique
• Méthode:
- Le message M à chiffrer est scindé en un nombre de bloc
de taille fixe: M=x
1 2
, x ,n ..x
- Cryptage des blocs
- Le cryptogramme C est obtenu en concaténant
les cryptogrammes des blocs
19
CBC
Chaque bloc du cryptogramme dépend du bloc de texte e
clair et de tous les blocs précédents
20
Chiffrement symétrique : critique
• Comment établir la clé K d'une manière sécurisée (confidentialité)?
- Solution 1 : Key transport
l'un crée la clé et la transmet à l'autre (chiffrement asymétrique)
- Solution 2 : Key agreement
une clé partagée est dérivée par 2 entités ou + (protocole de DH)
• Comment mettre à jour la clé K ?
- Clé de session : temporaire
- Clé à long terme
Besoin de N(N-1) clés pour N utilisateurs => trop de clés
==> Sol : utiliser un centre de distribution de clé (KDC)
Chaque entité partage une clé avec le centre ( qui connaîtra toutes)
K1S S (KDC)
K2S KnS 21
U1 …... Un
U2
Introduction et Généralité
❑ Bob souhaitent communiquer en privé
❑ Eve, une oreille indiscrète, souhaite savoir ce qu'Alice et Bob disent Alice
envoie un message spécifique x, écrit en binaire, a son ami Bob :
✓ Alice encode le message en E(x) et l'envoie
✓ Bob applique une fonction de décryptage D(.) pour le décoder :
D(E(x)) = x
✓ Eve va intercepter e(x) : par exemple, elle peut être un ≪ sniffer ≫
sur le réseau
22
Algorithmes de chiffrement
❑ Cryptographie symétrique (ou a clé privé) :
24
Cryptage Asymétrique (1)
❑ Utilisation d’une paire de clés:
– Publique: Connue par tout le monde, utilisée généralement pour crypter ou
vérifier la signature des messages
– Privée: Connue uniquement par le détenteur, utilisée pour décrypter et
signer des messages
25
Cryptage asymétrique (2)
26
Algorithme RSA
❑ Étapes
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}
27
Exemple 1 :
28
Rappel (1)
❑ L'exponentielle et le modulo
➔ an mod m = (a mod m)n mod m
❑ Pierre Fermat :
Si on utilise un nombre premier comme module, alors quand on élève un
nombre à la puissance (nombre premier -1), on obtient 1
✓ Pour n'importe quel nombre m et pour p premier :
➔ m( p – 1 ) mod p = 1
✓ Exemple : 7 10 mod 11 = 1 …pas besoin de calcul car 11 est premier
29
Rappel (2)
❑ Leonhard Euler :
✓ Lorsqu'on utilise un module comme étant le produit de deux nombres
premiers on a :
Soit n = p * q, avec p et q premiers, et quelque soit m
➔ m( p – 1 ) ( q – 1 ) mod n = 1
30
Exemple 2
❑ Soient deux nombres premiers au hasard: p = 29, q = 37, on calcule n = pq =
29 * 37 = 1073
❑ On doit choisir e au hasard tel que e n'ai aucun facteur en commun avec (p-
1)(q-1):
(p-1)(q-1) = (29-1)(37-1) = 1008
❑ On prend e = 71
31
Exemple 2 (2)
❑ Chiffrement du message 'HELLO'.
33