CHAP1
CHAP1
CHAP1
I. Vocabulaire cryptographique
1. Notion de sécurité
2. Définitions
• Cryptographie: Le terme "cryptographie " vient du grec "kriptós" (caché) et
"gráphein" (écrite).
La cryptographie est l’art de cacher l’information afin de la rendre incompréhensible aux yeux
des autres ; à l’exception de celui à qui elle est destinée. Celui-ci lui rendra son aspect initial
grâce au secret qu’il détient qui est la clé. Autrement dit, Le mot cryptographie est un terme
générique désignant l'ensemble des techniques permettant de chiffrer des messages, c'est-à-
dire permettant de les rendre inintelligibles sans une action spécifique.
• Cryptologie: Science des messages secrets. Se décompose en cryptographie et
Cryptanalyse
• La cryptanalyse : est la science qui consiste à tenter de déchiffrer un message ayant
été chiffré sans posséder la clé de chiffrement.
• Cryptogramme: Message chiffré ou codé.
• Chiffrer=Crypter: Transformer un message afin qu'il ne soit lisible qu'à l'aide d'une
clé.
• Décrypter: Parvenir à restaurer des données qui avaient été chiffrées, donc à leur faire
retrouver leur état premier ("en clair),
• Clé cryptographique: Paramètre constitué d'une séquence de symboles et utilisé,
avec un algorithme cryptographique, pour transformer, valider, authentifier, chiffrer
ou déchiffrer des données.
• Une clé est un paramètre utilisé en entrée d'une opération cryptographique
(chiffrement, déchiffrement, signature numérique, vérification de signature).
3. BUTS de la Cryptographie
Confidentialité: Garantie que n’aura access au contenu de l’information que des
individus autorisés
Intégrité: Empêcher une personne non autorisée de modifier le contenu d’une
communication.
Authentification: Processus qui permet d’approuver son identité à un parti
1
Non-répudiation: un émetteur ne doit pas pouvoir nier l'envoi d'un message.
4. TYPOLOGIES DES SYSTMES CRYPTOGRAPHIQUE
6. La terminologie de la cryptographie
Cruptos : Caché.
Graphein : Ecrire
cryptologie==science du secret
La cryptologie : Mécanisme permettant de camoufler des messages i.e., de le rendre
incompréhensible pour quiconque n’est pas autorisé. Elle fait partie d’une ensemble de
théories et de techniques liées à la transmission de l’information (théorie des ondes
électromagnétiques, théorie du signal, théorie des codes correcteurs d’erreurs, théorie de
l’information, théorie de la complexité,...).
Cryptologie = Cryptographie + Cryptanalyse
2
La cryptographie : est l’art de rendre inintelligible, de crypter, de coder, un message
pour ceux qui ne sont pas habilités à en prendre connaissance.
La cryptanalyse : art de "casser" des cryptosystèmes.
Protocole : description de l’ensemble des données nécessaires pour mettre en place le
mécanisme de cryptographie : ensemble des messages clairs, des messages cryptés, des
clés possibles, des transformations.
Signature s : Chaine de caractères associées à un message donné (et aussi
possiblement à une entité) et le caractérisant.
Remarque
Cryptologie ⊂ Sécurité
Le chiffrement, noté Ek , est l’action de chiffrer un message en clair, noté M, en un
message chiffré, noté C , et cela de façon à ce qu’il soit impossible de retrouver le
message en clair à partir du message chiffré sans la clé ;
cette clé s’appelle la clé secrète et elle est unique ;
l’action inverse du chiffrement est le déchiffrement. Cette action s’effectue
uniquement en possession de la clé secrète ;
le déchiffrement d’un message chiffré sans la clé secrète s’appelle le décryptage ;
un système de chiffrement s’appelle un cryptosystème ;
un cryptographe est une personne qui conçoit des cryptosystèmes ;
un cryptanaliste est une personne qui tente de casser les cryptosystèmes.
Les 3 ages de la crypto : jusqu’au 20e siecle (fin de la 1ere guerre mondiale)
L’age artisanal :
1 Hiéroglyphes : Pour étaler son savoir, pour cacher l’emplacement des trésors.
2 Ancien Testament : Code atbash : a=z (taw), b=y (shin)> k=l (lamed) et ainsi de suite,
inversant l’alphabet...
3 Transposition Sparte ou scytale (5ème siècle av JC)
4 Substitution César (1er si‘ecle av JC), Vigen‘ere (XVI ‘eme).
Cryptanalyse des codes mono et poly alphabétiques :
5 El Kindi (IX ème siècle)
6 Babbage/Kasiski (XIX‘eme siècle).
Mécanisation de la cryptographie et de la cryptanalyse :
7 Enigma (1918)
8 Vers un chiffrement parfait : Vernam, théorie de l’information
9 Seconde guerre mondiale : Plusieurs livres marqués à l’encre invisible, déplacements
des navires japonais dans le Pacifique.
8. Crypto : Historique
Communications sécurisée :
Web : SSL/TLS, ssh, gpg
Sans fil : GSM, Wifi, Bluetooth
Chiffrement des fichiers : EFS, TrueCrypt
Protection de données personnelles : cartes de crédit, cartes Navigo, passeports
électroniques et bien plus encore
12. Confidentialité
Exemple
Un expéditeur Alice veut envoyer un message à un destinataire Bob en évitant les oreilles
indiscrète d’Eve (adversaire passif), et les attaques malveillantes de Martin(adversaire
actif).
4
13. Confidentialié
b. L’authenticité
5
S’assurer de la provenance des messages et de l’authenticité de l’émetteur :
Authentification grâce à K Par ex le triple DES (à l’aide d’un cryptosysteme symetrique)
On doit distinguer entre les moyens d’attaques (ou types d’attaques) d’un adversaire et
les buts d’attaques d’un adversaire. L’attaquant connaît tout les details de l’algorithme de
chiffrement/déchiffrement et qu’il ne lui manque que la clef spécifique pour le
chiffrement.(axiome fondamental de Kerckhoffs). Les 4 types d’attaques :
Attaque à texte crypté uniquement : L’attaquant ne dispose que d’un ou plusieurs
messages chiffrés qu’il souhaite déchiffré. C’est le type d’attaque le plus difficile.
Attaque à texte chiffré 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 clés 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 clés.
Attaque à texte clair choisi : (IND − CPA) L’opposant a accès à une machine
chiffrante : 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 clé.
Attaque à texte chiffré choisi : (IND − CCA) : L’opposant a accès à une machine
déchiffrable : 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 clé.
17. Vocabulaire
La cryptographie utilise un certain nombre d'algorithmes cryptographiques de bas
niveau pour atteindre un ou plusieurs de ces objectifs de sécurité de l'information. Ces outils
comprennent des algorithmes de chiffrement, des algorithmes de signature numérique, des
algorithmes de hachages et d'autres fonctions.
a. Qu’est-ce que la cryptographie
Le terme « cryptographie », dérivé du grec, avait pour première signification «
écriture secrète ». La cryptographie était d’abord utilisée par des agences de renseignement
ainsi que par l’armée pour écrire et déchiffrer des messages confidentiels. Elle a évolué au fil
du temps pour devenir une branche à part entière de l’informatique. Comme Internet, la
typologie des cryptomonnaies était autrefois réservée aux mondes académique et militaire,
avant de s’étendre à la sphère privée.
Les participants à ce mouvement se désignent eux-mêmes comme « cypherpunks » et
préconisent depuis la fin des années 1980 un basculement vers une plus grande confidentialité
et un meilleur contrôle de nos données. La typologie des cryptomonnaies était autrefois
réservée aux mondes académique et militaire, avant de s’étendre à la sphère privée.
6
b. Quel est le but de la cryptographie
En général, la cryptographie est une technique d'écriture où un message chiffré est écrit à
l'aide de codes secrets ou de clés de chiffrement. La cryptographie est principalement
utilisée pour protéger un message considéré comme confidentiel.
i. Le chiffrement
Le chiffrement consiste à encoder du texte brut en texte chiffré, généralement à l'aide de
modèles mathématiques cryptographiques appelés algorithmes. Pour décoder les données en
texte brut, vous devez utiliser une clé de déchiffrement, une chaîne de nombres ou un mot de
passe également créé par un algorithme.
7
k. Quelle est la différence entre le chiffrement et le cryptage
Le terme de cryptage et ses dérivés viennent du grec ancien kryptós pour « caché » ou « secret
». A la différence du chiffrement, il n'est pas nécessaire de connaître la clé pour « casser »
le secret. Déchiffrer un message consiste à le décoder avec une clé tandis que décrypter un
message revient à décoder sans clé.
GNU Privacy Guard (Windows/Mac/Linux, gratuit) GNU Privacy Guard (GnuPG) est
une implémentation open source du célèbre Pretty Good Privacy (PGP). ...
Disk Utility (Mac, gratuit) ...
TrueCrypt (Windows/Mac/Linux, gratuit) ...
AxCrypt (Windows, gratuit) ...
7-zip (Windows, gratuit)
p. Un cryptogramme
Message écrit à l'aide d'un système chiffré ou codé. 2. Ensemble de choses difficiles à
démêler, à déchiffrer.
8
La meilleure façon de travailler un cryptogramme consiste à le faire sur papier à
l'aide d'un crayon. Il est recommandé aussi d'avoir un dictionnaire sous la main, pour
vérifier l'orthographe des mots. Ayez également du papier brouillon pour essayer les
différentes possibilités.
t. La cryptanalyse
La cryptanalyse est la technique qui consiste à déduire un texte en clair d'un texte
chiffré sans posséder la clé de chiffrement. Le processus par lequel on tente de comprendre
un message en particulier est appelé une attaque.
w. Clé
Une clé est un paramètre utilisé en entrée d'une opération cryptographique (chiffrement,
déchiffrement, signature numérique, vérification de signature).
x. Clé privée
Une clé privée est identique à un mot de passe (une chaîne de lettres et de chiffres) et
vous permet d'accéder à vos fonds en cryptomonnaie et de les gérer.
Lorsque vous achetez des cryptomonnaies pour la première fois, vous recevez deux clés :
une clé publique, qui fonctionne comme une adresse e-mail (ce qui signifie que vous pouvez
la partager en toute sécurité avec d'autres personnes, pour envoyer ou recevoir des fonds), et
une clé privée, qui est généralement une chaîne alphanumérique (et qu'il ne faut communiquer
à personne). Vous pouvez considérer la clé privée en tant que mot de passe permettant de
débloquer le coffre-fort virtuel qui contient votre argent. Dès lors que vous, et vous seul, avez
accès à votre clé privée, vos fonds sont en sécurité et peuvent être gérés partout dans le monde
via une connexion Internet.
9
les informations relatives aux clés publiques et aux transactions sont accessibles à
tous.
Par le biais de calculs complexes, votre clé publique est en fait générée par votre clé
privée, ce qui en fait une paire assortie. Lorsque vous effectuez une transaction à l'aide
de votre clé publique, vous vérifiez qu'il s'agit bien de vous à l'aide de votre clé
privée.
Même si tout se fait de manière ouverte, vous restez anonyme ; pas besoin de fournir
de nom, d'adresse ou d'autres informations pour utiliser les cryptomonnaies.
Prenons l'exemple du Bitcoin. Même si n'importe quel observateur curieux peut voir à
quel moment des bitcoins sont achetés, vendus ou utilisés, seul le détenteur d'une clé
privée peut effectuer ces transactions.
g. Le chiffrement symétrique
La cryptographie symétrique, également dite à clé secrète (par opposition à la
cryptographie asymétrique), est la plus ancienne forme de chiffrement. Elle permet à la fois
10
de chiffrer et de déchiffrer des messages à l'aide d'un même mot clé. On a des traces de son
utilisation par les Égyptiens vers 2000 av.
n. Le chiffrement asymétrique
Le chiffrement asymétrique utilise un ensemble de deux clés : une clé publique pour le
chiffrement et une clé privée pour le déchiffrement, que seule une partie connaît. La clé
privée doit être gardée secrète par le destinataire car toute partie ayant accès à une clé privée
ou à une clé publique a accès aux fonds.
11
II. Les Fonctions
1. Fonction de substitution
a. Fonction de substitution
Le chiffrement par substitution La substitution monoalphabétique consiste à
remplacer chaque lettre du message par une autre lettre de l'alphabet. La substitution
polyalphabétique consiste à utiliser une suite de chiffres monoalphabétique réutilisée
périodiquement.
a. Cryptanalyse
Les chiffrements par transposition ne modifient pas la fréquence des lettres du texte clair,
puisque seul leur ordre change. Une analyse des fréquences des lettres d'un texte chiffré
permet donc de repérer l'utilisation probable d'un chiffrement par transposition, mais ne
12
permet pas ensuite de décrypter ce texte (contrairement à ce qui se passe pour les chiffrements
par substitution). Un chiffrement par transposition ne modifie pas non plus l'indice de
coïncidence.
Un chiffrement par transposition ne résiste pas à une attaque à texte clair connu (un
couple clair-chiffré de la taille de la permutation utilisée donne immédiatement celle-ci).
b. Exemple
D'après des documents1 déclassifiés dans les années 1990, le message suivant a été
intercepté le 12 mars 1942 par le service de renseignement radio (Radio Intelligence Division)
de la FCC américaine, depuis sa station d'écoute à Laredo. Le message était envoyé par un
agent allemand basé à Rio de Janeiro.
Message chiffré : CARTM IELHX YEERX DEXUE VCCXP EXEEM OEUNM CMIRL XRTFO CXQYX
EXISV NXMAH GRSML ZPEMS NQXXX ETNIX AAEXV UXURA FOEAH XUEUT AFXEH EHTEN
NMFXA XNZOR ECSEI OAINE MRCFX SENSD PELXA HPRE
Clé de transposition : 8 4 9 14 1 2 16 10 3 17 15 19 11 5 20 6 7 12 13 18
08 04 09 14 01 02 16 10 03 17 15 19 11 05 20 06 07 12 13 18
S P R U C H x S E C H S N U L L x V O N
V E S T A x A N x S T E I N x x Q U E E
N x M A R Y x Q U E E N x M A R Y x A M
x E L F T E N x E I N S A C H T x U H R
M E Z x M E Z x V O N D A M P F E R x C
A M P E I R O x C A M P E I R O x A U F
H O E H E x R E C I F E x R E C I F E x
G E M E L D E T x . . . . . . . . . . .
Soit, en Français :
Texte 60, de VESTA pour STEIN.
Queen Mary signalé au large de Recife le 11 à 18 heures HEC par le vapeur Campeiro.
13
les noms propres sont doublés afin de fiabiliser la transmission du message. Ces
redondances constituent une faille dans laquelle un décrypteur peut se glisser. En
supposant que celui-ci ne connaisse pas la clé mais en connaisse ou déduise la
longueur, il verra qu'à la ligne 7 du message certaines lettres sont doublées: C, E, E, E,
F, H, I, R. Il pourra tenter de trouver un nom propre relatif au contexte du message en
utilisant ces lettres : Recife. (Ici un H et un E ne sont pas utilisés).
3. S-box
S-Box (substitution box), terme anglais désignant une table de substitution utilisée
dans un algorithme de chiffrement symétrique. Une S-Box contribue à la « confusion » (terme
employé par Claude Shannon) en rendant l'information originale inintelligible. Les S-Boxes
permettent de casser la linéarité de la structure de chiffrement et leur nombre varie selon les
algorithmes. DES compte par exemple huit tables de 16x4 éléments.
Une table de substitution prend en général une variable de m bits en entrée et produit
une sortie de n bits, les entrées et les sorties n'ont pas forcément la même taille. Les tables
sont souvent définies à l'avance mais il arrive parfois qu'elles soient générées par l'algorithme
(par exemple dans Blowfish). Les valeurs présentes dans les S-Box doivent être choisies de
manière à éviter les attaques, par divers moyens comme l'utilisation de fonctions courbes.
Dans le cas de DES, il a été prouvé que les tables avaient été conçues de manière à résister à
la cryptanalyse différentielle (technique qui ne sera publiée que bien des années plus tard).
Exemple
Voici une S-Box (S5) tirée de l'algorithme DES. La sortie de 4 bits est obtenue à partir
de l'entrée de 6 bits. On divise ces 6 bits en deux parties : les deux bits aux extrémités et les
quatre bits restants (au centre). Les deux bits indiquent la ligne et les bits centraux donnent la
colonne correspondante. Par exemple, avec une entrée "011011", on divise en "0 1101 1". Ce
qui donne pour la ligne "01" et pour la colonne "1101". La sortie de la table est alors "1001".
14
a. Définition
Appelons A et B les deux opérandes considérés. Convenons de représenter leur valeur ainsi :
1 = VRAI
0 = FAUX
L'opérateur XOR est défini par sa table de vérité, qui indique pour toutes les valeurs
possibles de A et B la valeur du résultat R :
Comme on peut le voir, l'opérateur logique XOR, ou OU exclusif, peut se définir par la phrase
suivante :
Le résultat est VRAI si un et un seul des opérandes A et B est VRAI
ou
Le résultat est VRAI si les deux opérandes A et B ont des valeurs distinctes
ou
Le résultat est VRAI si un nombre impair d'entrées est vrai (ceci est surtout applicable
lorsque deux ou plusieurs opérateurs logiques XOR se cascadent (générateurs de bit de
parité)
Il se différencie de l'opérateur OU inclusif, car il donne un résultat FAUX lorsque A et
B ont simultanément la valeur VRAI. Son symbole se différencie aussi de l'opérateur OU
inclusif dont le symbole est simplement un « PLUS » : « + ».
En informatique, cet opérateur peut s'utiliser pour combiner deux bits, valant chacun
0 ou 1, en appliquant les règles définies par la table précédente, le résultat étant lui-même la
valeur d'un bit.
Avec des portes logiques ET/OU, A XOR B = (A ET non B) OU (non A ET B).
La fonction XOR est un exemple de fonction parité.
15
mot « aléatoire » qui s'avère être le plus difficile à mettre en œuvre. Mais lorsque la clé est
vraiment aléatoire (techniquement, qu'elle est tirée selon la distribution uniforme parmi toutes
les suites possibles de cette longueur), ce système est parfaitement sûr, en un sens
rigoureusement défini par Claude Shannon, en 1949, dans un article fondateur
« Communications theory of secrecy systems ». Il convient d'ajouter que c'est le seul
chiffrement aboutissant à une sécurité absolue, en théorie.
c. Illustration
Voici un exemple numérique de la méthode précédente :
M = 0110101011010100 (message en clair)
K = 0101011011100110 (la clé ; à garder secrète bien évidemment)
Convenons que le symbole ⊕ représente ici l'application de l'opérateur XOR à chacun des
bits
Pour chiffrer, il faut utiliser la table de vérité: « M » est votre message et « K » représente la
clé secrète.
Donc: M ⊕ K = C. Le « C » représente le message chiffré:
Chiffrement : C = M ⊕ K = 0011110000110010 (message chiffré)
Déchiffrement : M = C ⊕ K = 0110101011010100 (message déchiffré)
d. Histoire
Ce système de chiffrement a été utilisé pour le téléphone rouge, en fait un télex, reliant
directement le Kremlin à la Maison-Blanche, les clés transitant alors par valises
diplomatiques. Le système de masque jetable était également employé par les espions
soviétiques. Certains masques furent utilisés plus d'une fois (parfois avec des années
d'intervalle) ce qui permit aux services du chiffre anglais de déchiffrer certains messages.
f. Application en électronique
Exemple d'utilisation : le circuit intégré 7486 TTL ou le circuit intégré CMOS 4070 intègre
quatre portes logiques du type OU exclusif. Illustration : Exemple : La lampe s'allume si l'on
appuie sur « a » ou « b » seulement, mais pas si l'on appuie sur « a » et « b » simultanément.
Schéma
Équation
Chronogramme
16
Symbole IEC
g. Applications en informatique
Outre les utilisations liées à la cryptographie, la fonction OU exclusif permet de remettre
rapidement la valeur d'une variable (souvent un registre) à zéro.
Prenons par exemple lee code en assembleur qui utilise le OU exclusif pour remettre la
valeur du registre eax à zéro :
xor eax, eax
Sur les processeurs de type x86,
x86, cette instruction est plus courte (en nombre d'octets) que le
code intuitif suivant :
mov eax, 0
Elle permet aussi la mise à zéro d'une variable lorsque les conditions ne permettent pas l'octet
0x00 dans le binaire (shellcode
shellcode).
On peut également utiliser le OU exclusif pour échanger deux variables sans utiliser de
variable temporaire.
17
(c, a, b) ;
(b, c, a).
a. Utilisation en informatique
En informatique, le décalage circulaire décale tous les bits de l'opérande considéré.
Lorsque l'opérande est un ensemble d'octets représentant un nombre, cet opérateur ne
conserve pas le signe du nombre ni la mantisse et l'exposant. Contrairement aux registres à
décalage, les places laissées vacantes par le décalage ne sont pas laissées vides mais sont
remplies par les bits poussés hors de l'opérande.
Le décalage circulaire est souvent utilisé en cryptographie
Exemple
Si la séquence de bits 0110 1111 1010 0011 est soumise à un décalage circulaire de
quatre bits vers la gauche, le résultat est 1111 1010 0011 0110
On peut remarquer que le quartet le plus à gauche, 0110, devient le quartet le plus à droite.
18