Vous êtes sur la page 1sur 92

Diapositive 1

Diapositive 2

3.1 Services Cryptographiques


3.2 Integrité et Authentification
basique
3.3 Confidentialité
3.4 Cryptographie à clé publique
Diapositive 3

À la fin de cette section, vous devriez être capable de:


• Expliquer les exigences des communications sécurisées, y compris l'intégrité,
l'authentification et la confidentialité.
• Expliquer la cryptographie.

• Décrire la cryptanalyse.

• Décrire la cryptologie.
Diapositive 4
Diapositive 5

Pour garantir des communications sécurisées entre les infrastructures publiques et privées,
le premier objectif de l'administrateur réseau est de sécuriser l'infrastructure réseau, y
compris les routeurs, les commutateurs, les serveurs et les hôtes. Cela peut être accompli en
utilisant le durcissement de l'appareil, contrôle d'accès AAA, ACL, firewalls, surveillance des
menaces en utilisant IPS, sécurisation des périphériques finaux en utilisant AMP, ESA et WSA.
Le prochain objectif est de sécuriser les données lors de leurs déplacements sur différents
liens. Cela peut inclure le trafic interne, mais le plus important est de protéger les données
qui se déplacent à l'extérieur de l'organisation vers des sites de filiales, des sites de
télétravailleurs et des sites partenaires.
Il y a trois objectifs principaux de sécurisation des communications :
• Authentification - Garantit que le message n'est pas une contrefaçon et qu'il vient
réellement de qui la envoyer.
• Intégrité - Garantit que personne n'a intercepté le message et l'a modifié; similaire à une
fonction de somme de contrôle dans une trame.
• Confidentialité - Garantit que si le message est capturé, il ne peut pas être déchiffré.
De nombreux réseaux modernes assurent l'authentification avec des protocoles, tels que
HMAC. L'intégrité est assurée en implémentant des algorithmes de génération de hachage
MD5 ou SHA. La confidentialité des données est assurée par des algorithmes de chiffrement
symétrique, notamment la norme DES (Encryption Data), 3DES et Advanced Encryption
Standard (AES). Les algorithmes de chiffrement symétrique reposent sur le principe que
chaque partie communicante connaît la clé pré-partagée. La confidentialité des données
peut également être assurée en utilisant des algorithmes asymétriques, notamment Rivest,
Shamir et Adleman (RSA) et l'infrastructure à clé publique (PKI). Les algorithmes de
chiffrement asymétriques sont basés sur l'hypothèse que les deux parties communicantes
n'ont jamais partagé un secret et doivent établir une méthode sécurisée pour le faire.
Diapositive 6

Il existe deux méthodes principales pour valider une source dans les communications réseau:
les services d'authentification et les services de non-répudiation de données.
L'authentification garantit qu'un message provient de la source dont il prétend
provenir. L'authentification est similaire à la saisie d'un numéro d'identification personnel
(NIP) sécurisé pour les opérations bancaires dans un guichet automatique, comme le montre
la figure. Le NIP ne devrait être connu que de l'utilisateur et de l'institution financière. Dans
les communications réseau, l'authentification peut être accomplie en utilisant des méthodes
cryptographiques.
La non-répudiation de données est un service similaire qui permet à l'expéditeur d'un
message d'être identifié de manière unique. Avec les services de non-répudiation, un
expéditeur ne peut pas nier avoir été la source de ce message.
La partie la plus importante de la non-répudiation est qu'un dispositif ne peut pas répudier
ou réfuter la validité d'un message envoyé. La non-répudiation repose sur le fait que seul
l'expéditeur a les caractéristiques ou la signature uniques pour la façon dont ce message est
traité. Même le dispositif de réception ne peut pas savoir comment l'expéditeur a traité ce
message pour prouver l'authenticité, car le destinataire pourrait alors prétendre en être la
source.
Diapositive 7

L'intégrité des données garantit que les messages ne sont pas modifiés pendant le
transport. Avec l'intégrité des données, le récepteur peut vérifier que le message reçu est
identique au message envoyé et qu'aucune manipulation ne s'est produite.
La noblesse européenne a assuré l'intégrité des données des documents en créant un sceau
de cire pour fermer une enveloppe, comme le montre la figure. Le sceau a souvent été créé à
l'aide d'une chevalière. Ceux-ci portaient la crête de la famille, les initiales, un portrait, ou un
symbole personnel ou une devise du propriétaire de la chevalière. Un sceau ininterrompu sur
une enveloppe garantissait l'intégrité de son contenu. Il a également garanti l'authenticité
basée sur l'impression unique d'anneau de chevalière.
Diapositive 8

La confidentialité des données garantit la confidentialité de sorte que seul le destinataire


peut lire le message. Cela peut être réalisé grâce au cryptage. Le cryptage consiste à brouiller
les données afin qu'elles ne puissent pas être lues facilement par des tiers non autorisés.
Historiquement, divers algorithmes et méthodes de chiffrement ont été utilisés. On dit que
Jules César a obtenu des messages en plaçant côte à côte deux ensembles de l'alphabet, puis
en décalant l'un d'eux par un nombre spécifique de places. Le nombre de places dans le
quart sert de clé. Il convertit le texte en texte chiffré en utilisant cette clé, et seuls ses
généraux, qui avaient aussi la clé, savaient déchiffrer les messages. Cette méthode est
maintenant connue sous le nom de chiffre César. Un message codé utilisant le chiffrement
César est représenté sur la figure.
L'utilisation d'une fonction de hachage est un autre moyen d'assurer la confidentialité des
données. Une fonction de hachage transforme une chaîne de caractères en une valeur ou clé
de longueur fixe généralement plus courte qui représente la chaîne d'origine. La différence
entre le hachage et le cryptage réside dans la façon dont les données sont stockées. Avec le
texte crypté, les données peuvent être décryptées avec une clé. Avec la fonction de hachage,
une fois les données entrées et converties à l'aide de la fonction de hachage, le texte en clair
est parti. Les données hachées sont simplement là pour la comparaison. Par exemple,
lorsqu'un utilisateur entre un mot de passe, le mot de passe est haché puis comparé à la
valeur hachée stockée. Si l'utilisateur oublie le mot de passe, il est impossible de déchiffrer la
valeur stockée et le mot de passe doit être réinitialisé.
L'objectif du cryptage et du hachage est de garantir la confidentialité de sorte que seules les
entités autorisées puissent lire le message.
Diapositive 9
Diapositive 10

Le texte chiffré peut être créé en utilisant plusieurs


méthodes:
• Transposition

• Substitution

• Tampon à usage unique (One-time pad)

L'histoire de la cryptographie à commencer dans les cercles diplomatiques il y a des milliers


d'années. Des messagers d'un tribunal du roi ont pris des messages cryptés à d'autres
tribunaux. À l'occasion, d'autres tribunaux non impliqués dans la communication ont tenté
de voler des messages envoyés à un royaume qu'ils considéraient comme un adversaire. Peu
de temps après, les commandants militaires ont commencé à utiliser le cryptage pour
sécuriser les messages.
Au cours des siècles, diverses méthodes de chiffrement, dispositifs physiques et aides ont été
utilisés pour chiffrer et déchiffrer le texte:
• Scytale
• Chiffre de César (Voir figure)
• Chiffre de Vigenère
• Machine Enigma
Chacune de ces méthodes de chiffrement utilise un algorithme spécifique, appelé
chiffrement, pour chiffrer et déchiffrer les messages. Un chiffrement est une série d'étapes
bien définies qui peuvent être suivies en tant que procédure lors du chiffrement et du
déchiffrement des messages. Il existe plusieurs méthodes de création de texte chiffré:
Transposition, Substitution et Tampon à usage unique
Diapositive 11

Dans les chiffrements par transposition, aucune lettre n'est remplacée; ils sont simplement
réarrangés. Un exemple de ce type de chiffrement consiste à prendre le message FLANK EAST
ATTACK AT DAWN et à le transposer pour lire NWAD TAKCATTA TSAE KNALF. Dans cet
exemple, la clé est d'inverser les lettres.
Un autre exemple de chiffrement par transposition est connu sous le nom de chiffrement de
clôture de rail. Dans cette transposition, les mots sont épelés comme s'ils étaient une clôture
de rail. Ils sont décalés, certains à l'avant, d'autres au milieu et d'autres à l'arrière, sur
plusieurs lignes parallèles. Par exemple, reportez-vous au message en texte brut de la figure
1. La figure 2 montre comment transposer le message à l'aide d'un chiffrement de clôture de
rail avec une clé de trois. La clé spécifie que trois lignes sont requises lors de la création du
code chiffré. Le texte chiffré résultant est affiché à la figure 3.
Les algorithmes de cryptage modernes, tels que le DES et le 3DES, utilisent encore la
transposition dans le cadre de l'algorithme.
Diapositive 12

xxxx

Les chiffrements par substitution remplacent une lettre par une autre. Dans leur forme la
plus simple, les chiffrements de substitution conservent la fréquence des lettres du message
original.
Le chiffre de César était un simple chiffrement par substitution. Par exemple, reportez-vous
au message en texte brut de la Figure 1. Si la clé utilisée était 3, la lettre A a été déplacée de
trois cases vers la droite, ce qui a entraîné un message codé utilisant la lettre D à la place de
la lettre A dans la Figure 2. La lettre E serait le substitut de la lettre B, et ainsi de suite. Le
texte chiffré qui en résulte est affiché à la Figure 3. Si la clé utilisée était 8, alors A devient I, B
devient J et ainsi de suite.
Parce que le message entier reposait sur le même changement de clé, le chiffrement de
César est appelé un chiffrement de substitution monoalphabétique. Il est également assez
facile à craquer. Pour cette raison, des chiffrements polyalphabétiques, tels que le
chiffrement de Vigenère, ont été inventés. La méthode a été décrite à l'origine par Giovan
Battista Bellaso en 1553, mais le schéma a été par la suite misattribué au diplomate et
cryptographe français, Blaise de Vigenère.
Diapositive 13

• Le chiffre de Vigenère est basé sur le chiffre de César, sauf qu'il


crypte le texte en utilisant un changement de clé
polyalphabétique différent pour chaque lettre en clair. Le
décalage de clé différent est identifié en utilisant une clé partagée
entre l'expéditeur et le destinataire. Le message en clair peut être
chiffré et décrypté à l'aide de la table de chiffrement de Vigenère.
• Pour illustrer le fonctionnement du chiffrement Vigenère,
supposons qu'un expéditeur et un destinataire possèdent une clé
secrète partagée composée de ces lettres:
SECRETKEY. L'expéditeur utilise cette clé secrète pour encoder
le texte en clair FLANK EAST ATTACK AT DAWN.
Diapositive 14
Diapositive 15

• Le F ( F LANK) est codé en regardant l'intersection de la colonne


F et la ligne commençant par S ( S ECRETKEY), résultant en la
lettre chiffrée X.
• Le L (F L ANK) est codé en regardant l'intersection de la colonne
L et la ligne commençant par E (S E CRETKEY), ce qui donne la
lettre chiffrée P.
• Le A (FL A NK) est codé en regardant l'intersection de la colonne
A et la ligne commençant par C (SE C RETKEY), ce qui donne la
lettre de chiffrement C.
• Le N (FLA N K) est codé en regardant l'intersection de la colonne
N et de la ligne commençant par R (SEC R ETKEY), ce qui
donne la lettre chiffrée E.
• Le K (FLAN K ) est codé en regardant l'intersection de la colonne
K et la ligne commençant par E (SECR E TKEY), ce qui donne la
lettre chiffrée O.
Diapositive 16

• Le processus se poursuit jusqu'à ce que le message texte FLANK


EAST ATTACK AT DAWN soit crypté. Le processus peut
également être inversé. Par exemple, F est toujours la lettre
chiffrée X si elle est codée en regardant l'intersection de la ligne F
( F LANK) et de la colonne commençant par S ( S ECRETKEY).
• Lors de l'utilisation du chiffrement Vigenère, si le message est
plus long que la clé, la clé est répétée.
Diapositive 17

Gilbert Vernam était un ingénieur chez AT & T Bell Labs qui, en 1917, a inventé, puis breveté,
le chiffrement de flux. Il a également co-inventé le chiffrement de pad unique. Vernam a
proposé un code de télétype dans lequel une clé préparée consistant en une séquence de
nombres arbitrairement longue et non répétitive était conservée sur une bande de papier. Il
a ensuite été combiné caractère par caractère avec le message en clair pour produire le texte
chiffré. La figure montre un exemple de dispositif de télétype à chiffrement de Vernam.
Pour déchiffrer le texte chiffré, la même clé de bande de papier a été de nouveau combinée
caractère par caractère, produisant le texte en clair. Chaque bande n'a été utilisée qu'une
seule fois; par conséquent, le nom de tampon à usage unique. Tant que la clé ne se répète
pas ou n'est pas réutilisée, ce type de chiffre est immunisé contre les attaques
cryptanalytiques. En effet, le texte chiffré disponible n'affiche pas le motif de la clé.
Plusieurs difficultés sont inhérentes à l'utilisation de tampons à usage unique dans le monde
réel. Une difficulté est le défi de créer des données aléatoires. Les ordinateurs, parce qu'ils
ont une base mathématique, sont incapables de créer de vraies données aléatoires. De plus,
si la clé est utilisée plus d'une fois, elle est facile à casser. RC4 est un exemple de ce type de
chiffrement largement utilisé sur Internet. Encore une fois, parce que la clé est générée par
un ordinateur, ce n'est pas vraiment aléatoire. En plus de ces problèmes, la distribution des
clés est également difficile avec ce type de chiffrement.
Diapositive 18

• Un chiffrement à la main par la méthode du masque jetable fut


notamment utilisé par Che Guevara pour communiquer
avec Fidel Castro.
• Supposons que la clé aléatoire retenue, ou « masque », soit :
WMCKL
• Cette clé est choisie à l'avance entre les deux personnes
souhaitant communiquer. Elle n'est connue que d'eux.
• On veut chiffrer le message « HELLO ». Pour cela, on attribue
un nombre à chaque lettre, par exemple le rang dans l'alphabet,
de 0 à 25. Ensuite on additionne la valeur de chaque lettre avec
la valeur correspondante dans le masque ; enfin si le résultat est
supérieur à 25 on soustrait 26 (calcul dit « modulo 26 ») :
Diapositive 19

7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message


+ 22 (W) 12 (M) 2 (C) 10 (K) 11 (L) masque
= 29 16 13 21 25 masque + message
= 3 (D) 16 (Q) 13 (N) 21 (V) 25 (Z) masque + message modulo
26
• Le texte reçu par le destinataire est donc « DQNVZ ».
• Le déchiffrement s'effectue de manière similaire, sauf que l'on
soustrait le masque au texte chiffré au lieu de l'additionner. Ici
encore on ajoute éventuellement 26 au résultat pour obtenir des
nombres compris entre 0 et 25 :
Diapositive 20

3 (D) 16 (Q) 13 (N) 21 (V) 25 (Z) message chiffré


- 22 (W) 12 (M) 2 (C) 10 (K) 11 (L) masque
= -19 4 11 11 14 message chiffré - masque
= 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message chiffré - masque
modulo 26
• On retrouve bien le message initial « HELLO ».
Diapositive 21
Diapositive 22

La cryptanalyse est la pratique et l'étude de la détermination de la signification d'une


information cryptée (craquage du code), sans accès à la clé secrète partagée.
Tout au long de l'histoire, il y a eu de nombreux cas de cryptanalyse:
Le chiffre de Vigenère était absolument sûr jusqu'à ce qu'il soit brisé au 19ème siècle par le
cryptographe anglais Charles Babbage.
Mary, Queen of Scots, complotait pour renverser la reine Elizabeth I du trône et a envoyé des
messages cryptés à ses co-conspirateurs. Le craquage du code utilisé dans cette intrigue a
conduit à la décapitation de Mary en 1587.
Les communications cryptées par Enigma ont été utilisées par les Allemands pour naviguer et
diriger leurs sous-marins dans l'Atlantique. Les cryptanalystes polonais et britanniques ont
brisé le code allemand Enigma. Winston Churchill était d'avis que c'était un tournant décisif
dans la Seconde Guerre mondiale.
Diapositive 23

Méthodes utilisées pour la cryptanalyse :


• Brute-force method

• Ciphertext method

• Known-Plaintext method

• Chosen-Plaintext method

• Chosen-Ciphertext method

• Meet-in-the-Middle method

Méthode brute-force - L'attaquant essaie toutes les clés possibles en sachant que l'une
d'entre elles fonctionnera.
Méthode Ciphertext - L'attaquant a le texte chiffré de plusieurs messages cryptés mais
aucune connaissance du texte en clair sous-jacent.
Méthode Known-Plaintext - L'attaquant a accès au texte chiffré de plusieurs messages et
connaît quelque chose sur le texte en clair sous-jacent à ce texte chiffré.
Méthode Chosen-Plaintext - L'attaquant choisit les données chiffrées par le périphérique de
chiffrement et observent la sortie du texte chiffré.
Méthode Chosen-Ciphertext - L'attaquant peut choisir un texte chiffré différent à déchiffrer
et a accès au texte brut déchiffré.
Méthode Meet-in-the-Middle - L'attaquant connaît une partie du texte en clair et le texte
chiffré correspondant.
La méthode la plus simple à comprendre est la méthode brute-force. Par exemple, si un
voleur tente de voler une bicyclette sécurisée avec la serrure à combinaison représentée sur
la figure, il devra tenter un maximum de 10 000 possibilités différentes (de 0000 à
9999). Tous les algorithmes de chiffrement sont vulnérables à cette attaque. En moyenne,
une attaque de type brute-force réussit environ 50% de l'espace de clé, soit l'ensemble de
toutes les clés possibles.
L'objectif des cryptographes modernes est d'avoir un espace de clé assez grand pour qu'il
prenne trop de temps et d'argent pour accomplir une attaque brute-force.
Diapositive 24

Analyse de fréquence de
l'alphabet anglais (Frequency
Analysis of the English
Alphabet).

Décryptage à l'aide de
l'analyse de fréquence
(Deciphering Using Frequency
Analysis).

Lorsque vous choisissez une méthode de cryptanalyse, considérez le code chiffré César. La
meilleure façon de casser le code est d'utiliser la force brute. Parce qu'il n'y a que 25
rotations possibles, l'effort est relativement faible pour essayer toutes les rotations possibles
et voir lequel retourne quelque chose qui a du sens.
Une approche plus scientifique consiste à utiliser le fait que certains caractères de l'alphabet
anglais sont utilisés plus souvent que d'autres. Cette méthode est appelée analyse de
fréquence. Par exemple, le graphique de la figure 1 indique la fréquence des lettres en
anglais. Les lettres E, T et A sont les lettres les plus populaires en anglais. Les lettres J, Q, X et
Z sont les moins populaires. Comprendre ce modèle peut aider à découvrir quelles lettres
sont probablement incluses dans le message chiffré.
Dans le message chiffré César IODQN HDVW DWWDFN DW GDZQ, représenté sur la figure 2,
la lettre chiffrée D apparaît six fois tandis que la lettre chiffrée W apparaît quatre fois. Il y a
une bonne possibilité que les lettres chiffrées D et W représentent soit le texte en clair E, T
ou A. Dans ce cas, le D représente la lettre A, et le W représente la lettre T.
Diapositive 25
Diapositive 26

La cryptologie est la science de la fabrication et du craquage des codes secrets. Comme le


montre la figure, la cryptologie combine deux disciplines distinctes:
Cryptographie - le développement et l'utilisation de codes
Cryptanalyse - le craquage de ces codes
Il y a une relation symbiotique entre les deux disciplines parce que chacune renforce
l'autre. Les organismes de sécurité nationale emploient des praticiens des deux disciplines et
les mettent au travail les uns contre les autres.
Il y a eu des moments où l'une des disciplines a devancé l'autre. Par exemple, pendant la
Guerre des Cent Ans entre la France et l'Angleterre, les cryptanalystes menaient les
cryptographes. La France a cru à tort que le chiffre de Vigenère était incassable, puis les
Britanniques l'ont craqué. Certains historiens pensent que le succès des codes et des
messages cryptés a eu un impact majeur sur les résultats de la Seconde Guerre
mondiale. Actuellement, on croit que les cryptographes sont en tête.
Diapositive 27

La cryptanalyse est souvent utilisée par les


gouvernements dans la surveillance militaire et
diplomatique, par les entreprises pour tester la
solidité des procédures de sécurité et par des pirates
informatiques malveillants dans l'exploitation des
faiblesses des sites Web.
Les cryptanalystes sont des individus qui effectuent
des cryptanalyses pour déchiffrer des codes secrets.
Alors que la cryptanalyse est souvent liée à des fins
malveillantes, c'est en fait une nécessité. C'est un fait
ironique de la cryptographie qu'il est impossible de
prouver qu'un algorithme est sécurisé. Il peut
seulement être prouvé qu'il n'est pas vulnérable aux
attaques cryptanalytiques connues.
Diapositive 28

Dans le monde des communications et de la mise en réseau, l'authentification, l'intégrité et


la confidentialité des données sont mises en œuvre de diverses manières en utilisant divers
protocoles et algorithmes. Le choix du protocole et de l'algorithme varie en fonction du
niveau de sécurité requis pour atteindre les objectifs de la politique de sécurité du réseau.
A titre d'exemple, pour l'intégrité des messages, le message-digest 5 (MD5) est plus rapide
mais moins sécurisé que Secure Hash Algorithm 2 (SHA2). La confidentialité peut être mise
en œuvre en utilisant DES, 3DES ou l'AES très sécurisé. Là encore, le choix varie en fonction
des exigences de sécurité spécifiées dans le document de politique de sécurité réseau. Le
tableau de la figure répertorie les hachages cryptographiques, les protocoles et les
algorithmes courants.
Les anciens algorithmes de chiffrement, tels que le chiffrement Caesar ou la machine
Enigma, étaient basés sur le secret de l'algorithme pour assurer la confidentialité. Avec la
technologie moderne, où la rétro-ingénierie est souvent simple, les algorithmes du domaine
public sont fréquemment utilisés. Avec la plupart des algorithmes modernes, un décryptage
réussi nécessite la connaissance des clés cryptographiques appropriées. Cela signifie que la
sécurité du chiffrement réside dans le secret des clés, pas dans l'algorithme.
Diapositive 29

À la fin de la section, vous devriez être capable de:


• Décrire le but des hachages cryptographiques.

• Expliquer comment MD5 et SHA-1 sont utilisés pour sécuriser les


communications de données.
• Décrire l'authentification avec HMAC.

• Décrire les composants de la gestion des clés.


Diapositive 30
Diapositive 31

Les hachages sont utilisés pour assurer l'intégrité. Comme le montre la figure, une fonction
de hachage prend des données binaires, appelées le message, et produit une représentation
condensée de longueur fixe, appelée hachage. Le hachage qui en résulte est parfois appelé
digestion du message, empreinte numérique ou empreinte digitale.
Le hachage est basé sur une fonction mathématique unidirectionnelle relativement facile à
calculer, mais beaucoup plus difficile à inverser. Le café moulu est une bonne analogie avec
une fonction à sens unique. Il est facile de moudre des grains de café, mais il est presque
impossible de reconstituer tous les petits morceaux pour reconstituer les grains d'origine.
La fonction de hachage cryptographique est conçue pour vérifier et assurer l'intégrité des
données. Il peut également être utilisé pour vérifier l'authentification. La procédure prend un
bloc de données variable et renvoie une chaîne de bits de longueur fixe appelée la valeur de
hachage ou le résumé du message.
Le hachage est similaire au calcul des sommes de contrôle de redondance cyclique (CRC),
mais il est beaucoup plus fort sur le plan cryptographique. Par exemple, étant donné une
valeur CRC, il est facile de générer des données avec le même CRC. Avec les fonctions de
hachage, il est impossible de calculer deux ensembles de données différents pour obtenir la
même sortie de hachage. Chaque fois que les données sont modifiées, la valeur de hachage
change également. Pour cette raison, les valeurs de hachage cryptographiques sont souvent
appelées empreintes numériques. Ils peuvent être utilisés pour détecter des fichiers de
données en double, des modifications de version de fichier et des applications similaires. Ces
valeurs sont utilisées pour se prémunir contre une modification accidentelle ou
intentionnelle des données et une altération accidentelle des données.
La fonction de hachage cryptographique est appliquée dans de nombreuses situations
différentes :
• Fournir une preuve d'authenticité lorsqu'elle est utilisée avec une clé d'authentification
secrète symétrique, telle que IP Security (IPsec) ou l'authentification par protocole de
routage;
• Fournir une authentification en générant des réponses ponctuelles et unidirectionnelles
aux problèmes rencontrés dans les protocoles d'authentification tels que le protocole
d'authentification PPP (Challenge Handshake Authentication Protocol);
• Fournir une preuve de vérification de l'intégrité des messages, comme celles utilisées dans
les contrats signés numériquement, et des certificats d'infrastructure à clé publique (PKI),
comme ceux acceptés lors de l'accès à un site sécurisé à l'aide d'un navigateur.
Diapositive 32

Mathématiquement, une fonction de hachage H prend une entrée x et renvoie une chaîne de
taille fixe appelée la valeur de hachage h . L'équation indique: h = H ( x ).
Une fonction de hachage cryptographique devrait avoir les propriétés suivantes:
• L'entrée peut être de n'importe quelle longueur.
• La sortie a une longueur fixe.
• H ( x ) est relativement facile à calculer pour un x donné.
• H ( x ) est à sens unique et non réversible.
• H ( x ) est sans collision, ce qui signifie que deux valeurs d'entrée différentes donneront
des valeurs de hachage différentes.
• Si une fonction de hachage est difficile à inverser, elle est considérée comme un hachage
unidirectionnel. Difficile à inverser signifie que, étant donné une valeur de hachage de h ,
il est impossible de trouver une entrée pour x telle que h = H ( x ).
Diapositive 33

• MD5 avec un hachage de 128 bits


• SHA-256 avec un hachage de 256 bits

Les fonctions de hachage sont utiles pour garantir que les données ne sont pas modifiées
accidentellement, par exemple en cas d'erreur de communication. Par exemple, l'expéditeur
veut s'assurer que le message n'est pas modifié sur le chemin du destinataire. Le dispositif
d'envoi entre le message dans un algorithme de hachage et calcule son résumé ou empreinte
digitale de longueur fixe.
Dans l'exemple de la figure, le hachage calculé est 4ehiDx67NMop9. Le message et le
hachage sont en clair. Cette empreinte est ensuite attachée au message et envoyée au
destinataire. Le dispositif de réception sépare l'empreinte digitale du message et introduit le
message dans le même algorithme de hachage. Si le hachage calculé par le périphérique de
réception est égal à celui qui est attaché au message, le message n'a pas été modifié pendant
le transit. Si les hachages ne sont pas égaux, comme le montre la figure, l'intégrité du
message ne peut plus être fiable.
Alors que le hachage peut être utilisé pour détecter des changements accidentels, il ne peut
pas être utilisé pour se prémunir contre des changements délibérés. Il n'y a aucune
information d'identification unique de l'expéditeur dans la procédure de hachage. Cela
signifie que n'importe qui peut calculer un hachage pour toutes les données, tant qu'elles
ont la bonne fonction de hachage. Par exemple, lorsque le message traverse le réseau, un
attaquant potentiel peut intercepter le message, le modifier, recalculer le hachage et
l'ajouter au message. Le périphérique de réception ne validera que contre le hachage
éventuellement ajouté. Par conséquent, le hachage est vulnérable aux attaques man-in-the-
middle et ne garantit pas la sécurité des données transmises.
Diapositive 34
Diapositive 35

L'algorithme MD5 est un algorithme de hachage développé par Ron Rivest et utilisé
aujourd'hui dans de nombreuses applications Internet.
MD5 est une fonction unidirectionnelle qui facilite le calcul d'un hachage à partir des
données d'entrée, mais rend très difficile le calcul de données d'entrée avec seulement une
valeur de hachage. MD5 est essentiellement une séquence complexe d'opérations binaires
simples, telles que des opérations OU exclusif (XOR) et des rotations, qui sont effectuées sur
des données d'entrée et produisent un condensé de message haché de 128 bits.
MD5 est maintenant considéré comme un algorithme faible et doit être évité. MD5 ne doit
être utilisé que lorsqu'aucune autre solution de rechange n'est disponible, par exemple en
cas d'interopérabilité avec un équipement existant. Il est recommandé de supprimer
progressivement MD5 et de le remplacer par un algorithme plus puissant tel que SHA-2.
Diapositive 36

L'Institut National Américain des Normes et de la Technologie (NIST) a mis au point SHA,
l'algorithme spécifié dans le Secure Hash Standard (SHS). SHA-1, publié en 1994, a corrigé
une faille non publiée dans SHA. Le design SHA est très similaire aux fonctions de hachage
MD5 développées par Ron Rivest.
L'algorithme SHA-1 prend un message de longueur inférieure à 2 ^ 64 bits et produit un
résumé de messages de 160 bits. L'algorithme est légèrement plus lent que MD5, mais le
résumé plus important du message le rend plus sûr contre les attaques de collision et
d'inversion par force brute.
Note: 2 ^ 64 représente le nombre exponentiel de 2 élevé à la 64ème puissance.
SHA-1 est maintenant considéré comme un algorithme hérité. Par conséquent, le NIST a
publié quatre fonctions de hachage supplémentaires dans la famille SHA, qui sont
collectivement connues sous le nom de SHA-2 :
• SHA-224 (224 bits)
• SHA-256 (256 bits)
• SHA-384 (384 bits)
• SHA-512 (512 bits)
Les algorithmes SHA-2 sont les algorithmes de hachage sécurisés que le gouvernement
américain exige par la loi pour une utilisation dans certaines applications. Cela inclut
l'utilisation dans d'autres algorithmes et protocoles cryptographiques, pour la protection
d'informations sensibles non classifiées.
Remarque : Les algorithmes SHA-256, SHA-384 et SHA-512 sont considérés comme des
algorithmes de nouvelle génération et doivent être utilisés dans la mesure du possible.
Diapositive 37

La figure affiche les hachages résultants des différents algorithmes de hachage. Plus les
valeurs de hachage sont longues, plus elles sont sécurisées.
MD5 et SHA-1 sont basés sur une version précédente de l'algorithme de résumé de
message. Cela rend MD5 et SHA-1 similaires à bien des égards. SHA-1 et SHA-2 sont plus
résistants aux attaques par force brute car leur digestion est au moins 32 bits plus longue
que le digest MD5.
SHA-1 implique 80 étapes, et MD5 implique 64 étapes. L'algorithme SHA-1 doit également
traiter un tampon de 160 bits au lieu du tampon de 128 bits de MD5. Parce qu'il y a moins
d'étapes, MD5 s'exécute généralement plus rapidement sur le même périphérique.

Lorsque vous choisissez un algorithme de hachage, utilisez SHA-256 ou plus, car ils sont
actuellement les plus sécurisés. Des failles de sécurité ont été découvertes dans SHA-1 et
MD5. Par conséquent, il est maintenant recommandé que ces algorithmes soient évités.
Remarque : En particulier, seul SHA-256 ou supérieur doit être implémenté dans les réseaux
de production.
Diapositive 38
Diapositive 39

KHMAC est un type de code d'authentification de message (MAC). Les HMAC utilisent une clé
secrète supplémentaire en entrée de la fonction de hachage. Cela ajoute une
authentification à l'assurance de l'intégrité. Un HMAC est calculé à l'aide d'un algorithme
spécifique qui combine une fonction de hachage cryptographique avec une clé secrète,
comme indiqué sur la figure. Les fonctions de hachage sont à la base du mécanisme de
protection des HMAC.
Seuls l'expéditeur et le destinataire connaissent la clé secrète, et la sortie de la fonction de
hachage dépend maintenant des données d'entrée et de la clé secrète. Seules les parties
ayant accès à cette clé secrète peuvent calculer le résumé d'une fonction HMAC. Cette
caractéristique défait les attaques de l'intercepteur et fournit une authentification de
l'origine des données.
Si deux parties partagent une clé secrète et utilisent des fonctions HMAC pour
l'authentification, un résumé HMAC correctement construit d'un message reçu par une
partie indique que l'autre partie était l'expéditeur du message. C'est parce que l'autre partie
est la seule autre entité possédant la clé secrète.
La force cryptographique du HMAC dépend de la force cryptographique de la fonction de
hachage sous-jacente, de la taille et de la qualité de la clé et de la taille de la longueur du
hachage en bits.
Les technologies Cisco utilisent deux fonctions HMAC bien connues:
Keyed MD5 (HMAC-MD5) - Basé sur l'algorithme de hachage MD5, il fournit un niveau de
sécurité marginal mais acceptable. Il ne doit être utilisé que lorsqu'aucune autre solution de
rechange n'est disponible, par exemple en cas d'interopérabilité avec un équipement
existant.
Keyed SHA-1 (HMAC-SHA-1) - Basé sur l'algorithme de hachage SHA-1, il fournit une sécurité
adéquate.
Lorsqu'un condensé HMAC est créé, les données d'une longueur arbitraire et la clé secrète
sont entrées dans la fonction de hachage. Le résultat est un hachage de longueur fixe qui
dépend des données et de la clé secrète.
Il faut veiller à ne distribuer les clés secrètes qu'à ceux qui en ont besoin. Si la clé secrète est
compromise, les paquets peuvent être falsifiés; violant ainsi l'intégrité des données.
Diapositive 40

Considérons un exemple où un expéditeur veut s'assurer que le message n'est pas modifié
pendant le transport et veut fournir au destinataire un moyen d'authentifier l'origine du
message.
Le dispositif d'envoi introduit des données (telles que le salaire de Terry Smith de 100 $ et la
clé secrète) dans l'algorithme de hachage et calcule le condensé ou l'empreinte digitale
HMAC de longueur fixe. Cette empreinte authentifiée est ensuite attachée au message et
envoyée au destinataire.
Le dispositif de réception supprime l'empreinte digitale du message et utilise le message en
clair avec sa clé secrète comme entrée pour la même fonction de hachage. Si l'empreinte
digitale calculée par le périphérique de réception est égale à l'empreinte digitale envoyée, le
message n'a pas été modifié. De plus, l'origine du message est authentifiée car seul
l'expéditeur possède une copie de la clé secrète partagée. La fonction HMAC a assuré
l'authenticité du message.
Les VPN IPsec s'appuient sur les fonctions HMAC pour authentifier l'origine de chaque
paquet et assurer la vérification de l'intégrité des données.
Diapositive 41
Diapositive 42

La gestion des clés est souvent considérée comme la partie la plus difficile de la conception
d'un système cryptographique. De nombreux systèmes cryptographiques ont échoué en
raison d'erreurs dans la gestion de leurs clés, et tous les algorithmes cryptographiques
modernes nécessitent des procédures de gestion des clés. En pratique, la plupart des
attaques sur les systèmes cryptographiques visent le niveau de gestion des clés plutôt que
l'algorithme cryptographique lui-même.
Comme le montre la figure, il existe plusieurs caractéristiques essentielles de la gestion des
clés à prendre en compte.
Diapositive 43

Deux termes utilisés pour décrire les clés sont:


Longueur de clé - Aussi appelée la taille de la clé, c'est la mesure en bits.
Keyspace - C'est le nombre de possibilités qui peuvent être générées par une longueur de clé
spécifique.
Lorsque la longueur de la clé augmente, l'espace de clé augmente de façon exponentielle:
• Une longueur de clé de 2 bits (2 ^ 2) = un espace de 4 car il y a quatre clés possibles (00,
01, 10 et 11).
• Une longueur de clé de 3 bits (2 ^ 3) = un espace de clé de 8, car il y a huit clés possibles
(000, 001, 010, 011, 100, 101, 110, 111).
• Une longueur de clé de 4 bits (2 ^ 4) = un espace de clé de 16 clés possibles.
• Une longueur de clé de 40 bits (2 ^ 40) = un espace de clé de 1 099 511 627 776 clés
possibles.
La figure affiche les caractéristiques de l'algorithme de chiffrement AES. Remarquez
comment AES utilise des longueurs de clé longues. Cela augmente considérablement l'espace
de clé qui affecte le temps nécessaire pour déchiffrer le code.
Diapositive 44

L'espace de clé d'un algorithme est l'ensemble de toutes les valeurs de clé possibles. Une clé
qui a n bits produit un espace de clé qui a 2 ^ n Valeurs possibles. En ajoutant un bit à la clé,
l'espace de clé est effectivement doublé. Par exemple, DES avec ses clés de 56 bits a un
espace de clé de plus de 72 000 000 000 000 000 (2 ^ 56) de clés possibles. En ajoutant un bit
à la longueur de la clé, l'espace de clés double et l'attaquant a besoin de deux fois plus de
temps pour rechercher l'espace de clé. La figure résume le nombre de clés possibles créées
en ajoutant des bits supplémentaires. Par exemple, l'ajout de 1 bit à 56 bits (ie, 57 bits)
double le nombre de clés. L'ajout d'un bit supplémentaire à une taille de clé de 57 bits
signifie qu'il faudrait maintenant à un attaquant quatre fois plus de temps pour rechercher
dans l'espace de clé. Ajouter 4 bits de plus à 56 bits créerait une clé de 60 bits. Une clé de 60
bits prendrait 16 fois plus de temps à craquer qu'une clé de 56 bits.
Remarque : les clés plus longues sont plus sécurisées. Cependant, ils sont aussi plus
gourmandes en ressources. Des précautions doivent être prises lors de l'utilisation de clés
plus longues, car leur manipulation peut ajouter une charge importante au processeur dans
les produits bas de gamme.
Presque tous les algorithmes ont des clés faibles dans leur espace de clés qui permettent à
un attaquant de casser le cryptage via un raccourci. Les clés faibles montrent les régularités
dans le cryptage. Par exemple, DES a quatre clés pour lesquelles le cryptage est le même que
le décryptage. Cela signifie que si l'une de ces clés faibles est utilisée pour crypter le texte en
clair, un attaquant peut utiliser la clé faible pour déchiffrer le texte chiffré et révéler le texte
en clair.
Les clés faibles DES sont celles qui produisent 16 sous-clés identiques. Cela se produit
lorsque les bits de clé sont:
• Alternant les uns et les zéros (0101010101010101)
• Alternance F et E (FEFEFEFEFEFEFEFE)
• E0E0E0E0F1F1F1F1
• 1F1F1F1F0E0E0E0E
Il est très improbable que de telles clés soient choisies, mais les administrateurs réseau
doivent toujours vérifier toutes les clés implémentées et empêcher l'utilisation de clés
faibles. Avec la génération manuelle des clés, veillez à ne pas définir l’une de ces clés faibles.
Diapositive 45

Types de clés cryptographiques:


• Clés symétriques

• Clés asymétriques

• Signatures numériques

• Clés de hachage

Plusieurs types de clés cryptographiques peuvent être générés:


• Clés symétriques - Peut être échangé entre deux routeurs supportant un VPN
• Clés asymétriques - Sont utilisées dans les applications HTTPS sécurisées
• Signatures numériques - sont utilisées lors de la connexion à un site Web sécurisé
• Clés de hachage - Sont utilisées dans la génération de clés symétriques et asymétriques,
les signatures numériques et d'autres types d'applications.
Quel que soit le type de clé, toutes les clés partagent des problèmes similaires. Le choix
d'une longueur de clé appropriée est un problème.
Si le système cryptographique est digne de confiance, la seule façon de le casser est de
l'attaquer par force brute. Si l'espace de clés est suffisamment grand, la recherche nécessite
énormément de temps, ce qui rend un tel effort impossible. La figure résume la longueur de
clé requise pour sécuriser les données pendant la durée indiquée.
En moyenne, un attaquant doit rechercher dans la moitié de l'espace de clé avant que la clé
correcte ne soit trouvée. Le temps nécessaire pour effectuer cette recherche dépend de la
puissance de l'ordinateur utilisé par l'attaquant. Les longueurs de clé actuelles peuvent
facilement rendre toute tentative insignifiante, car il faut des millions ou des milliards
d'années pour compléter la recherche lorsqu'une clé suffisamment longue est utilisée. Avec
les algorithmes modernes fiables, la force de protection dépend uniquement de la taille de la
clé. Choisissez la longueur de la clé afin qu'elle protège la confidentialité ou l'intégrité des
données pendant une période de temps adéquate. Les données plus sensibles et qui doivent
rester secrètes plus longtemps doivent utiliser des clés plus longues.
Diapositive 46

Par exemple, le DES classique


peut être cassé par une
machine de 1 million de dollars
en quelques minutes. Si les
données protégées valent
beaucoup plus que le million de
dollars nécessaire pour acquérir
un dispositif de craquage, alors
le DES classique est un
mauvais choix.

La performance est un autre problème qui peut influencer le choix d'une longueur de clé. Un
administrateur doit trouver un bon équilibre entre la vitesse et la force de protection d'un
algorithme, car certains algorithmes, tels que l'algorithme Rivest, Shamir et Adleman (RSA),
s'exécutent lentement en raison des longueurs de clé importantes. Efforcez-vous d'une
protection adéquate, tout en permettant la communication sur des réseaux non fiables.
Le financement estimé de l'attaquant devrait également affecter le choix de la longueur de la
clé. Lors de l'évaluation du risque que quelqu'un brise l'algorithme de chiffrement, estimez
les ressources de l'attaquant et la durée de protection des données. En raison des progrès
rapides de la technologie et des méthodes cryptanalytiques, la longueur de clé nécessaire
pour une application particulière augmente constamment. Par exemple, une partie de la
force de l'algorithme RSA est la difficulté de factoriser de grands nombres où les facteurs
sont les nombres qui sont multipliés ensemble pour obtenir un autre nombre. Par exemple,
les facteurs de 12 seraient 1 x 12, 2 x 6 et 3 x 4. Par conséquent, un nombre de 1024 bits est
un nombre inimaginablement grand avec de nombreux facteurs. L'augmentation de ce
nombre à 2048 bits crée encore plus de facteurs. Bien sûr, cet avantage est perdu si un
moyen facile de factoriser les grands nombres est trouvé, mais les cryptographes considèrent
cette possibilité peu probable. La règle "plus la clé est longue, mieux c'est", sauf pour
d'éventuelles raisons de performance.
Diapositive 47

À la fin de la section, vous devriez être capable de:


• Expliquer comment les algorithmes de chiffrement assurent la
confidentialité.
• Expliquer la fonction des algorithmes DES, 3DES et AES.

• Décrire la fonction de Software Encrypted Algorithm (SEAL) et les


algorithmes de chiffrement Rivest (RC).
Diapositive 48
Diapositive 49

Le cryptage peut assurer la confidentialité au niveaux de plusieurs couches du modèle OSI


(Application, Session, Réseau et liaison de données) en incorporant divers outils et
protocoles.
Il existe deux approches pour assurer la sécurité des données lors de l'utilisation du
cryptage. La premier est de protéger l'algorithme. Si la sécurité d'un système de chiffrement
est basée sur le secret de l'algorithme lui-même, le code de l'algorithme doit être fortement
protégé. Si l'algorithme est révélé, chaque partie impliquée doit changer l'algorithme. La
deuxième approche consiste à protéger les clés. Avec la cryptographie moderne, tous les
algorithmes sont publics. Les clés cryptographiques assurent le secret des données. Les clés
cryptographiques sont des séquences de bits entrées dans un algorithme de cryptage avec
les données à crypter.
Il existe deux classes d'algorithmes de chiffrement:
Algorithmes symétriques - Ces algorithmes utilisent la même clé pré-partagée, parfois
appelée clé secrète, pour chiffrer et déchiffrer des données. Une clé pré-partagée est connue
par l'expéditeur et le destinataire avant le début de toute communication cryptée. Parce que
les deux parties gardent un secret partagé, les algorithmes de cryptage utilisés peuvent avoir
des longueurs de clé plus courtes. Des longueurs de clé plus courtes signifient une exécution
plus rapide.
Algorithmes asymétriques - Ces algorithmes de chiffrement utilisent différentes clés pour
chiffrer et déchiffrer les données. Les messages sécurisés peuvent être échangés sans avoir
une clé pré-partagée. Comme aucune partie n'a de secret partagé, des clés très longues
doivent être utilisées. Ces algorithmes demandent beaucoup de ressources et sont plus lents
à exécuter.
Diapositive 50

Pour aider à comprendre les différences entre les deux types d'algorithmes, considérons un
exemple où Alice et Bob vivent dans des endroits différents et veulent échanger des
messages secrets entre eux par le biais du système de messagerie. Dans cet exemple, Alice
veut envoyer un message secret à Bob.
Dans l'exemple d'algorithme symétrique de la figure 1, Alice et Bob ont des clés identiques à
un seul cadenas. Ces clés ont été échangées avant d'envoyer des messages secrets. Alice
écrit un message secret et le met dans une petite boîte qu'elle verrouille en utilisant le
cadenas avec sa clé. Elle envoie la boîte à Bob. Le message est verrouillé en toute sécurité à
l'intérieur de la boîte pendant que la boîte se fraye un chemin à travers le système de bureau
de poste. Lorsque Bob reçoit la boîte, il utilise sa clé pour déverrouiller le cadenas et
récupérer le message. Bob peut utiliser la même boîte et le même cadenas pour envoyer une
réponse secrète à Alice.
Dans l'exemple d'algorithme asymétrique de la figure 2, Bob et Alice n'échangent pas de clés
avant d'envoyer des messages secrets. Au lieu de cela, Bob et Alice ont chacun un cadenas
séparé avec des clés correspondantes séparées. Pour qu'Alice envoie un message secret à
Bob, elle doit d'abord le contacter et lui demander de lui envoyer son cadenas ouvert. Bob
envoie le cadenas mais conserve sa clé. Quand Alice reçoit le cadenas, elle écrit son message
secret et le met dans une petite boîte. Elle met également son cadenas ouvert dans la boîte
mais conserve sa clé. Elle verrouille ensuite la boîte avec le cadenas de Bob. Quand Alice
verrouille la boîte, elle ne peut plus entrer parce qu'elle n'a pas de clé pour ce cadenas. Elle
envoie la boîte à Bob. Comme la boîte est envoyée via le système de messagerie, personne
n'est en mesure d'ouvrir la boîte. Quand Bob reçoit la boîte, il peut utiliser sa clé pour
déverrouiller la boîte et récupérer le message d'Alice. Pour envoyer une réponse sécurisée,
Bob met son message secret dans la boîte avec son cadenas ouvert et verrouille la boîte en
utilisant le cadenas d'Alice. Bob renvoie la boîte sécurisée à Alice.
Diapositive 51

Le cryptage symétrique ou à clé secrète est la forme de cryptographie la plus couramment


utilisée car la longueur plus courte de la clé augmente la vitesse d'exécution. De plus, les
algorithmes à clés symétriques sont basés sur des opérations mathématiques simples qui
peuvent facilement être accélérées par le matériel. Le cryptage symétrique est souvent
utilisé pour le cryptage à vitesse filaire dans les réseaux de données et pour fournir un
cryptage en masse lorsque la confidentialité des données est requise, par exemple pour
protéger un VPN.
Avec le cryptage symétrique, la gestion des clés peut être un défi. Les clés de cryptage et de
décryptage sont les mêmes. L'expéditeur et le destinataire doivent échanger la clé secrète
symétrique à l'aide d'un canal sécurisé avant tout cryptage. La sécurité d'un algorithme
symétrique repose sur le secret de la clé symétrique. En obtenant la clé, n'importe qui peut
crypter et décrypter des messages.
DES, 3DES, AES, Software Encryption Algorithm (SEAL) et la série de chiffrements Rivest (RC),
qui inclut RC2, RC4, RC5 et RC6, sont tous des algorithmes de chiffrement bien connus qui
utilisent des clés symétriques. La figure met en évidence les algorithmes de chiffrement
courants et leurs longueurs de clé.
Remarque : Il existe de nombreux autres algorithmes de chiffrement symétrique, tels que
Blowfish, Twofish, Threefish et Serpent. Cependant, ces protocoles ne sont pas pris en charge
sur les plates-formes Cisco ou n'ont pas encore été largement acceptés.
Diapositive 52

Les techniques les plus couramment utilisées dans la cryptographie à chiffrement symétrique
sont les chiffrements par bloc et les chiffrements par flux.
Chiffrement par Blocs
Les chiffrements par blocs transforment un bloc de texte clair de longueur fixe en un bloc
commun de texte chiffré de 64 ou 128 bits, comme le montre la Figure 1. La taille du bloc
désigne la quantité de données chiffrées à la fois. Actuellement, la taille du bloc, également
connue sous le nom de longueur fixe, pour de nombreux chiffrements de bloc est de 64 bits
ou de 128 bits. Ce texte chiffré est déchiffré en appliquant la transformation inverse au bloc
de texte chiffré, en utilisant la même clé secrète.
Les chiffrements par blocs aboutissent généralement à des données de sortie plus grandes
que les données d'entrée, car le texte chiffré doit être un multiple de la taille du bloc. Par
exemple, DES crypte les blocs en segments de 64 bits en utilisant une clé de 56 bits. Pour ce
faire, l'algorithme de bloc prend les données un morceau à la fois, par exemple, 8 octets par
bloc, jusqu'à ce que la taille du bloc entier soit pleine. S'il y a moins de données d'entrée
qu'un bloc complet, l'algorithme ajoute des données artificielles, ou des blancs, jusqu'à ce
que les 64 bits complets soient utilisés.
Les chiffrements par blocs communs incluent DES avec une taille de bloc de 64 bits et AES
avec une taille de bloc de 128 bits.
Chiffrement par flux
Contrairement aux chiffrements par blocs, les chiffrements par flux chiffrent le texte clair
octet par octet ou bit par bit, comme le montre la figure 2. Les chiffrements par flux peuvent
être considérés comme un chiffrement par bloc d'un bit. Les chiffrements par flux peuvent
être beaucoup plus rapides que les chiffrements par bloc, et n'augmentent généralement pas
la taille des messages, car ils peuvent chiffrer un nombre arbitraire de bits.
Le chiffrement de Vigenère est un exemple de chiffrement par flux. Ce chiffrement est
périodique car la clé est de longueur finie et la clé est répétée si elle est plus courte que le
message.
Les chiffrements par flux courants comprennent A5, qui est utilisé pour chiffrer les
communications de téléphonie cellulaire GSM, et le chiffrement RC4. DES peut également
être utilisé en mode de chiffrement par flux.
Diapositive 53

Le choix d'un algorithme de cryptage est l'une des décisions les plus importantes qu'un
professionnel de la sécurité réseau prend lors de la construction d'un système
cryptographique.
La figure résume les deux principaux critères à prendre en compte lors de la sélection d'un
algorithme de chiffrement pour une organisation:
• L'algorithme est approuvé par la communauté cryptographique - La plupart des
nouveaux algorithmes sont rompus très rapidement, de sorte que les algorithmes qui ont
résisté aux attaques pendant un certain nombre d'années sont préférés.
• L'algorithme protège efficacement contre les attaques par force brute - Un bon
algorithme cryptographique est conçu de telle sorte qu'il résiste aux attaques
cryptographiques courantes. La meilleure façon de casser les données protégées par
l'algorithme est d'essayer de déchiffrer les données en utilisant toutes les clés possibles. Si
l'algorithme est considéré comme fiable, il n'y a pas de raccourci pour le rompre, et
l'attaquant doit chercher dans l'espace-clé pour deviner la bonne clé. L'algorithme doit
permettre des longueurs de clé qui satisfont aux exigences de confidentialité d'une
organisation. Par exemple, le DES n'offre pas une protection suffisante pour les besoins les
plus modernes en raison de sa courte clé.
Autres critères à prendre en compte:
• L'algorithme prend en charge les longueurs de clé variables et longues et l'évolutivité -
Les longueurs de clé variable et l'évolutivité sont également des attributs souhaitables
d'un bon algorithme de chiffrement. Plus la clé de cryptage est longue, plus il faut du
temps à un attaquant pour la casser. L'évolutivité fournit une longueur de clé flexible et
permet à l'administrateur de sélectionner la force et la vitesse du cryptage requis.
• L'algorithme n'a pas de restrictions d'exportation ou d'importation. - Examinez
soigneusement les restrictions d'exportation et d'importation lors de l'utilisation du
chiffrement international. Certains pays n'autorisent pas l'exportation d'algorithmes de
chiffrement ou autorisent uniquement l'exportation de ces algorithmes avec des clés plus
courtes. Certains pays imposent des restrictions à l'importation sur les algorithmes
cryptographiques.
Diapositive 54
Diapositive 55

Data Encryption Standard (DES) est un algorithme de chiffrement symétrique hérité qui
fonctionne généralement en mode bloc en chiffrant les données dans des blocs de 64
bits. L'algorithme DES est essentiellement une suite de permutations et de substitutions de
bits de données associée à une clé de chiffrement. Le même algorithme et la même clé sont
utilisés pour le chiffrement et le déchiffrement.
• DES a une longueur de clé fixe. La clé a une longueur de 64 bits, mais seulement 56 bits
sont utilisés pour le chiffrement. Les 8 bits restants sont utilisés pour la parité afin de
vérifier l'intégrité de la clé. Le bit le moins significatif de chaque octet de la clé est utilisé
pour indiquer la parité impaire.
• Une clé DES a toujours une longueur de 56 bits. Lorsque DES est utilisé avec un cryptage
plus faible d'une clé de 40 bits, la clé de cryptage est de 40 bits secrets et de 16 bits
connus, ce qui fait que la longueur de la clé est de 56 bits. Dans ce cas, le DES a une force
de clé de 40 bits.
Diapositive 56

• Changez les clés fréquemment


pour éviter les attaques par force
brute.
• Utilisez un canal sécurisé pour
communiquer la clé DES de
l'expéditeur au destinataire.
• Envisagez d'utiliser DES en mode
CBC. Avec CBC, le cryptage de
chaque bloc de 64 bits dépend des
blocs précédents.
• Testez une clé pour voir si c'est
une clé faible avant de
l'utiliser. DES a 4 clés faibles et 12
clés semi-faibles.

DES ne devrait plus être utilisé pour protéger les réseaux de production. Toutefois, si les
périphériques ne peuvent pas prendre en charge des algorithmes de chiffrement plus
sécurisés, plusieurs points doivent être pris en compte lors de la sécurisation des données
cryptées avec DES:

Remarque : En raison de sa longueur de clé courte, DES est acceptable pour protéger les
données pendant une très courte période. Lorsque cela est possible, utilisez 3DES ou AES car
ils offrent plus de sécurité pour protéger les données.
Diapositive 57

Avec les progrès de la puissance de traitement informatique, la clé DES originale à 56 bits est
devenue trop courte pour résister à une attaque de la part de ceux qui avaient un budget de
taille moyenne pour la technologie de piratage. Une façon d'augmenter la longueur de clé
DES, sans modifier l'algorithme bien analysé lui-même, consiste à utiliser le même
algorithme avec des clés différentes plusieurs fois de suite.
La technique consistant à appliquer le DES trois fois de suite à un bloc de texte en clair
s'appelle 3DES. Aujourd'hui, les attaques par force brute sur 3DES sont considérées comme
infaisables car l'algorithme de base a été testé sur le terrain depuis plus de 35 ans. Il est
considéré comme très digne de confiance.

L'implémentation Cisco IPsec utilise DES et 3DES en mode CBC.


Remarque : 3DES doit être implémenté en utilisant des durées de vie très courtes pour les
clés.
Diapositive 58

3DES utilise une méthode appelée 3DES-Encrypt-Decrypt-Encrypt (3DES-EDE) pour chiffrer le


texte en clair. Par exemple :
• Le message en clair d'Alice est chiffré à l'aide de la première clé de 56 bits, appelée K1.
• Le texte chiffré résultant est déchiffré à l'aide de la deuxième clé de 56 bits, appelée K2.
• Le texte déchiffré résultant est chiffré à nouveau, en utilisant la troisième clé de 56 bits,
connue sous le nom de K3.
La procédure 3DES-EDE est beaucoup plus efficace pour augmenter la sécurité que de
simplement crypter les données trois fois avec trois clés différentes. La procédure 3DES-EDE
fournit un cryptage avec une longueur de clé efficace de 168 bits. Si les clés K1 et K3 sont
égales, un chiffrement moins sécurisé de 112 bits est obtenu.

La figure 2 montre comment 3DES décrypte le message, ce qui est fondamentalement


l'inverse de la méthode 3DES-EDE. Tout d'abord, le texte chiffré est déchiffré à l'aide de la clé
K3. Ensuite, les données sont chiffrées à l'aide de la clé K2. Enfin, les données sont
déchiffrées à l'aide de la clé K1.

Bien que 3DES soit très sécurisé, il nécessite également beaucoup de ressources. Pour mieux
gérer les ressources, l'algorithme de chiffrement AES a été développé. AES est aussi sécurisé
que 3DES et beaucoup plus rapide.
Diapositive 59

En 1997, l'initiative AES a été annoncée et le public a été invité à proposer des systèmes de
cryptage pour remplacer le DES. Après un processus de normalisation de cinq ans au cours
duquel 15 conceptions concurrentes ont été présentées et évaluées, l'Institut national
américain des normes et de la technologie (NIST) a choisi le chiffrement par blocs de Rijndael
comme algorithme AES.
Le chiffre Rijndael, développé par Joan Daemen et Vincent Rijmen, a une longueur de bloc
variable et une longueur de clé variable. Rijndael est un chiffrement de bloc itéré, ce qui
signifie que le bloc d'entrée initial et la clé de chiffrement subissent plusieurs cycles de
transformation avant de produire une sortie. L'algorithme peut fonctionner sur un bloc de
longueur variable en utilisant des clés de longueur variable. Une clé de 128, 192 ou 256 bits
peut être utilisée pour chiffrer des blocs de données de 128, 192 ou 256 bits, et les neuf
combinaisons de longueur de clé et de bloc sont possibles.
L'implémentation AES acceptée de Rijndael ne contient que quelques-unes des capacités de
l'algorithme de Rijndael. L'algorithme est écrit de sorte que la longueur du bloc, ou la
longueur de la clé, ou les deux, peuvent facilement être étendus par multiples de 32 bits, et
le système est spécifiquement conçu pour une implémentation efficace dans une gamme de
processeurs.
L'algorithme AES a été analysé intensivement et est maintenant utilisé dans le monde
entier. Bien qu'il n'ait pas été prouvé dans l'utilisation quotidienne au même degré que 3DES,
AES avec le chiffre de Rijndael est l'algorithme le plus efficace des deux. Il peut être utilisé
dans des environnements à haut débit et à faible latence, en particulier lorsque 3DES ne peut
pas gérer les exigences de débit ou de latence. AES devrait gagner la confiance au fil du
temps, et plus d'attaques ont été tentées contre lui.
Diapositive 60

AES a été choisi pour remplacer le DES pour plusieurs raisons. La longueur de clé d'AES rend
la clé beaucoup plus forte que DES. AES s'exécute plus rapidement que 3DES sur un matériel
comparable. AES est plus efficace que DES et 3DES sur un matériel comparable,
généralement par un facteur de cinq lorsqu'il est comparé à DES. AES est plus approprié pour
les environnements à haut débit et à faible latence, en particulier si un cryptage logiciel pur
est utilisé.

Malgré ces avantages, AES est un algorithme relativement jeune. La règle d'or de la
cryptographie stipule qu'un algorithme mature est toujours plus fiable. 3DES est donc un
choix plus fiable en termes de force car il a été testé et analysé pendant 35 ans.
Diapositive 61
Diapositive 62

L'algorithme de chiffrement optimisé par logiciel (SEAL) est un algorithme alternatif au DES,
3DES et AES basé sur logiciel. Phillip Rogaway et Don Coppersmith ont conçu SEAL en 1993. Il
s'agit d'un chiffrement de flux qui utilise une clé de chiffrement de 160 bits. Comme il s'agit
d'un chiffrement de flux, les données à chiffrer sont cryptées en permanence. Cela le rend
beaucoup plus rapide que le chiffrement par blocs.
SEAL a un impact plus faible sur le CPU par rapport à d'autres algorithmes
logiciels. Cependant, il a une phase d'initialisation plus longue au cours de laquelle un grand
ensemble de tables est créé en utilisant SHA.
Diapositive 63

Les algorithmes RC ont été conçus en tout ou en partie par Ronald Rivest, qui a également
inventé MD5. Les algorithmes RC sont largement déployés dans de nombreuses applications
de réseau en raison de leur vitesse favorable et de leurs capacités de longueur de clé
variable.
Il existe un certain nombre d'algorithmes RC largement utilisés:
• RC2 - Il s'agit d'un chiffrement de bloc de taille de clé variable qui a été conçu comme un
remplacement «drop-in» pour DES.
• RC4 - C'est le chiffrement de flux le plus utilisé au monde. Cet algorithme est un
chiffrement de flux Vernam à taille de clé variable qui est souvent utilisé dans les produits
de chiffrement de fichiers et pour les communications sécurisées, telles que SSL. Il n'est
pas considéré comme un tampon unique car sa clé n'est pas aléatoire. On peut s'attendre
à ce que le chiffrement fonctionne très rapidement dans le logiciel et soit considéré
comme sécurisé, bien qu'il puisse être mis en œuvre de manière non sécurisée, comme
dans WEP (Wired Equivalent Privacy).
• RC5 - C’est un chiffrement de bloc rapide qui a une taille de bloc variable et une longueur
de clé varaible. RC5 peut être utilisé comme remplacement de DES si la taille du bloc est
définie sur 64 bits.
• RC6 - Il a été développé en 1997. RC6 était un finaliste d'AES. Il s'agit d'un chiffrement de
bloc de 128 bits à 256 bits conçu par Rivest, Sidney et Yin. Il est basé sur RC5 et a été
conçu pour répondre aux exigences d'AES.
Remarque : En général, les algorithmes RC sont considérés comme faibles et doivent être
évités.
Diapositive 64
Diapositive 65

Whitfield Diffie et Martin Hellman ont inventé l'algorithme Diffie-Hellman (DH) en 1976.
L'algorithme DH est la base de la plupart des méthodes modernes d'échange de clés
automatiques, et est l'un des protocoles les plus couramment utilisés dans les réseaux
aujourd'hui. Diffie-Hellman n'est pas un mécanisme de chiffrement et n'est généralement
pas utilisé pour chiffrer les données. Au lieu de cela, c'est une méthode pour échanger en
toute sécurité les clés qui chiffrent les données.
Dans un système à clé symétrique, les deux côtés de la communication doivent avoir des clés
identiques. L'échange sécurisé de ces clés a toujours été un défi. Les systèmes de clés
asymétriques répondent à ce défi car ils utilisent deux clés. Une clé est appelée clé privée et
l'autre est la clé publique. La clé privée est secrète et connue uniquement de l'utilisateur. La
clé publique est ouvertement partagée et facilement distribuée.
DH est un algorithme mathématique qui permet à deux ordinateurs de générer un secret
partagé identique sur les deux systèmes, sans avoir préalablement communiqué. La nouvelle
clé partagée n'est jamais réellement échangée entre l'expéditeur et le
destinataire. Cependant, parce que les deux parties le savent, la clé peut être utilisée par un
algorithme de cryptage pour crypter le trafic entre les deux systèmes.
La sécurité de DH est basée sur le fait qu'il utilise des nombres incroyablement grands dans
ses calculs. Par exemple, un nombre DH 1024 bits est à peu près égal à un nombre décimal
de 309 chiffres. Considérant qu'un milliard est de 10 chiffres décimaux (1 000 000 000), on
peut facilement imaginer la complexité de travailler avec pas un, mais plusieurs nombres
décimaux de 309 chiffres.
DH est couramment utilisé lorsque les données sont échangées à l'aide d'un VPN IPsec,
lorsque les données sont cryptées sur Internet en utilisant SSL ou TLS, ou lorsque des
données SSH sont échangées.
Malheureusement, les systèmes de clés asymétriques sont extrêmement lents pour tout type
de cryptage en masse. C'est pourquoi il est courant de chiffrer la majeure partie du trafic en
utilisant un algorithme symétrique, tel que 3DES ou AES, et d'utiliser l'algorithme DH pour
créer des clés qui seront utilisées par l'algorithme de chiffrement.
Diapositive 66

DH utilise l'arithmétique modulaire dans ses calculs. L'arithmétique modulaire crée un


reste. Par exemple, 38 modulo 7, est 38/7 = 5 et 3. Donc 38 modulo 7 = 3.
Pour aider à comprendre comment DH est utilisé, considérons cet exemple de
communication entre Alice et Bob. Il y a six étapes dans le processus DH.

Étape 1. Pour commencer un échange DH, Alice et Bob doivent se mettre d'accord sur deux
nombres non-secrets. Le premier nombre, g, est un nombre de base, également appelé le
générateur. Le deuxième nombre, p, est un nombre premier qui est utilisé comme
module. Ces nombres de base et nombres premiers sont généralement publics et sont
choisis parmi une table de valeurs connues. Généralement, g est un très petit nombre, et p
est un nombre premier plus grand. Dans le graphique g = 5 et p = 23. Notez que dans notre
exemple, nous utilisons de petits nombres pour le rendre plus facile à comprendre. DH utilise
des nombres beaucoup plus grands.
Étape 2. Alice génère un nombre secret 6 et Bob génère son numéro secret 15.
Étape 3. Basé sur g, p, et le nombre secret d'Alice, Alice calcule en utilisant l'arithmétique
modulaire qui crée une valeur publique de 8 en utilisant l'algorithme DH. Elle envoie sa
valeur publique à Bob.
Étape 4. Bob calcule une valeur publique en utilisant g, p et son numéro secret. Bob envoie
sa valeur publique de 19 à Alice. Notez que ces valeurs ne sont pas identiques.
Étape 5. Alice exécute un deuxième algorithme DH en utilisant la valeur publique de Bob
comme nouveau numéro de base.
Étape 6. Bob exécute un deuxième algorithme DH en utilisant la valeur publique d'Alice
comme nouveau numéro de base.
Alice et Bob arrivent au même résultat (2). Cette nouvelle valeur est maintenant un secret
partagé entre Alice et Bob et peut être utilisée par un algorithme de chiffrement comme une
clé secrète partagée entre eux.
Toute personne écoutant sur le canal ne peut pas calculer la valeur secrète car seules les
valeurs publiques sont connues, et au moins une valeur secrète est nécessaire pour calculer
le secret partagé. À moins que les attaquants ne puissent calculer l'algorithme discret de
l'équation pour récupérer le nombre secret d'Alice ou de Bob, ils ne peuvent pas obtenir le
secret partagé.
Bien que DH soit utilisé avec des algorithmes symétriques pour créer des clés partagées, il
est important de se rappeler qu'il s'agit en fait d'un algorithme asymétrique.
Diapositive 67

À la fin de la section, vous devriez être capable de:


• Expliquer les différences entre les chiffrements symétriques et
asymétriques et leurs applications prévues.
• Principe de fonctionnement du RSA
Diapositive 68
Diapositive 69

Quatre protocoles utilisant des algorithmes à clés asymétriques:


• Internet Key Exchange (IKE)

• Secure Socket Layer (SSL)

• Secure Shell (SSH)

• Pretty Good Privacy (PGP)

Les algorithmes asymétriques, également appelés algorithmes à clé publique, sont conçus
pour que la clé utilisée pour le chiffrement soit différente de la clé utilisée pour le
déchiffrement.
Dans l'exemple d'Alice et Bob, ils n'ont pas échangé de clés pré-partagées avant la
communication. Au lieu de cela, ils avaient chacun des cadenas séparés et des clés
correspondantes, comme le montre la figure. De la même manière, des algorithmes
asymétriques sont utilisés pour échanger des messages secrets sans avoir jamais eu un
secret partagé avant l'échange.
Quatre protocoles utilisent des algorithmes à clés asymétriques:
• Internet Key Exchange (IKE), qui est un composant fondamental des VPN IPsec.
• Secure Socket Layer (SSL), qui est maintenant implémenté en tant que TLS standard IETF.
• Secure Shell (SSH), qui est un protocole qui fournit une connexion d'accès à distance
sécurisée aux périphériques réseau.
• Pretty Good Privacy (PGP), qui est un programme informatique qui fournit une
confidentialité et une authentification cryptographiques et qui est souvent utilisé pour
augmenter la sécurité des communications par courrier électronique.
Les algorithmes asymétriques utilisent deux clés: une clé publique et une clé privée. Les deux
clés sont capables du processus de cryptage, mais la clé correspondante complémentaire est
requise pour le déchiffrement. Par exemple, si une clé publique crypte les données, la clé
privée correspondante déchiffre les données. L'inverse est également vrai. Si une clé privée
crypte les données, la clé publique correspondante déchiffre les données.
Ce processus permet aux algorithmes asymétriques d'assurer la confidentialité,
l'authentification et l'intégrité.
Ce sont les caractéristiques des clés asymétriques:
• La longueur de clé typique est de 512 à 4096 bits.
• Les longueurs de clé supérieures ou égales à 1 024 bits peuvent être approuvées.
• Les longueurs de clé inférieures à 1 024 bits sont considérées comme non fiables pour la
plupart des algorithmes.
Diapositive 70

L'objectif de la confidentialité des algorithmes asymétriques est initié lorsque le processus de


chiffrement est démarré avec la clé publique. Le processus peut être résumé en utilisant la
formule: Clé publique (Chiffrer) + Clé privée (Decrypt) = Confidentialité
Lorsque la clé publique est utilisée pour chiffrer les données, la clé privée doit être utilisée
pour déchiffrer les données. Un seul hôte a la clé privée; par conséquent, la confidentialité
est atteinte. Si la clé privée est compromise, une autre paire de clés doit être générée pour
remplacer la clé compromise.
Par exemple, Alice demande et obtient la clé publique de Bob. Alice utilise la clé publique de
Bob pour chiffrer un message en utilisant un algorithme convenu. Alice envoie le message
crypté à Bob. Bob utilise ensuite sa clé privée pour déchiffrer le message.
Diapositive 71

L'objectif de l’authentification des algorithmes asymétriques est initié lorsque le processus


de chiffrement est démarré avec la clé privée. Le processus peut être résumé en utilisant la
formule: Clé privée (Encrypt) + Clé publique (Decrypt) = Authentification

Lorsque la clé privée est utilisée pour chiffrer les données, la clé publique correspondante
doit être utilisée pour déchiffrer les données. Parce qu'un seul hôte a la clé privée, seul cet
hôte aurait pu crypter le message, fournissant l'authentification de l'expéditeur. Lorsqu'un
hôte déchiffre un message avec succès à l'aide d'une clé publique, il est sûr que la clé privée
a crypté le message, ce qui vérifie qui est l'expéditeur. C'est une forme d'authentification.
Par exemple, Alice crypte un message en utilisant sa clé privée. Alice envoie le message
crypté à Bob. Bob doit s‘assurer que le message vient effectivement d'Alice. Par conséquent,
Bob demande la clé publique d'Alice. Ensuite Bob utilise la clé publique d'Alice pour
déchiffrer le message.
Diapositive 72

Alice crypte le message à l'aide de Alice crypte un hachage à l'aide de


la clé publique de Bob sa clé privée

Lors de l'envoi d'un message nécessitant la confidentialité, l'authentification et l'intégrité du


message, la combinaison de deux phases de chiffrement est nécessaire.
Phase 1 - Confidentialité
La figure 1 montre qu'Alice veut envoyer un message à Bob pour s'assurer que seul Bob peut
lire le document. En d'autres termes, Alice veut assurer la confidentialité des messages. Alice
utilise la clé publique de Bob pour chiffrer le message. Seul Bob peut le déchiffrer en utilisant
sa clé privée.
Phase 2 - Authentification et intégrité
Alice veut également assurer l'authentification et l'intégrité des messages. L'authentification
garantit à Bob que le document a été envoyé par Alice, et l'intégrité garantit qu'il n'a pas été
modifié. Comme le montre la figure 2, Alice utilise sa clé privée pour chiffrer un hachage du
message.
Alice envoie le message crypté avec son hachage crypté à Bob.
Diapositive 73

Bob utilise la clé publique Bob utilise sa clé privée pour


d'Alice pour déchiffrer Hash déchiffrer le message

Dans la figure 1, Bob utilise la clé publique d'Alice pour vérifier que le message n'a pas été
modifié. Le hachage reçu est égal au hachage déterminé localement basé sur la clé publique
d'Alice. En outre, cela vérifie qu'Alice est définitivement l'expéditeur du message car
personne d'autre n'a la clé privée d'Alice. Enfin, sur la figure 2, Bob utilise sa clé privée pour
déchiffrer le message.
En envoyant un message qui a été chiffré en utilisant la clé publique de Bob et un hachage
chiffré qui a été chiffré en utilisant la clé privée d'Alice, la confidentialité, l'authentification et
l'intégrité sont assurées.
Diapositive 74

Bien que les mathématiques diffèrent, ces algorithmes ont tous une chose en commun; ils
nécessitent des calculs compliqués. Leur conception est basée sur des problèmes de calcul,
tels que l'affacturage de nombres extrêmement grands ou le calcul de logarithmes discrets
de très grands nombres. En conséquence, le calcul prend plus de temps pour les algorithmes
asymétriques. En fait, les algorithmes asymétriques peuvent prendre jusqu'à 1000 fois plus
de temps à calculer que les algorithmes symétriques. Parce qu'ils manquent de rapidité, les
algorithmes asymétriques sont généralement utilisés dans les transactions à faible volume,
comme lorsqu'un utilisateur se connecte à sa banque en ligne pour vérifier son solde ou
lorsqu'il effectue des achats en ligne. Ils sont également utilisés pour créer des signatures
numériques.
La gestion des clés des algorithmes asymétriques a tendance à être plus simple que celle des
algorithmes symétriques parce que généralement l'une des deux clés de chiffrement ou de
déchiffrement peut être rendue publique.
Remarque : Ne comparez pas la longueur de clé des algorithmes asymétriques et
symétriques car la conception sous-jacente des deux familles d'algorithmes diffère
grandement. Par exemple, une clé de cryptage RSA de 2 048 bits est à peu près équivalente à
une clé RC4 de 128 bits en termes de résistance contre les attaques par force brute.
Diapositive 75
Diapositive 76

● 1977 : Rivest, Shamir et Adleman (RSA...) cherchent à établir que


tout système à clé publique présente des failles.
● Ils découvrent au contraire un nouveau système à clé publique
qui marche très bien et supplante les autres.
 il est beaucoup plus facile de faire le produit de deux nombres
premiers que de factoriser un nombre en produit de deux
nombres premiers.
Diapositive 77

● x mod n = y ↔ x = y (mod n) ↔ n divise (x-y)


● Substitution: Si x = x' (mod n) et y = y' (mod n) alors : x + y = x'
+ y' (mod n) et xy = x'y' (mod n)
● Associativité : x + (y + z) = (x + y) + z (mod n)
● Commutativité : xy = yx (mod n)
● Distributivité : x * (y + z) = xy + yz (mod n)
● Cela implique qu'il est légal de réduire les résultats intermédiaires
par mod n lors d'une séquence d'opérations arithmétiques.
Exemple : 2345 = (25)69 = 3269 = 169 = 1 (mod 31)
Diapositive 78

● Génération des clés


– Générer deux grands nombres premiers p et q
– Soit n = pq
– Soit m = (p-1)(q-1)
– Choisir un nombre e premier avec m (choix fréquent : e = 3)
– Trouver d tel que d.e mod m = 1

● Clés obtenues
– Clé publique : (e,n)
– Clé privée : (d,n)

● Cryptage et décryptage
– Cryptage : y = xe mod n
– Décryptage : x = yd mod n
Diapositive 79

● p = 7 et q = 19
● n = 7 * 19 = 133
● m = (p-1) * (q-1) = 6 * 18 = 108
● Choix de e premier avec m PGCD(2,108) = 2 ; PGCD(3,108) = 3 ;
PGCD(4,108) = 4 ; PGCD(5,108) = 1 → e = 5
● Détermination de d tel que d.e mod m = 1 Autrement dit, il existe
k tel que d = (1+km) / e k = 0 → d = 1/5 ; k = 1 → d = 109/5 ; k = 2
→ d = 217/5 ; k = 3 → d = 325/5 = 65
● Clé publique : (n = 133 ; e = 5)
● Clé privée : (n = 133 ; d = 65)
Diapositive 80

● n = 133 ; e = 5 ; d = 65
● Supposons qu'on cherche à transmettre x = 6
● Cryptage y = xe mod n = 65 mod 133 = 7776 mod 133 = 62
● Décryptage x = yd mod n = 6265 mod 133 = 62 * 6264 mod 133
= 62 * (622 )32 mod 133 = 62 * (3884)32 mod 133 = 62 * (3884
mod 133)32 mod 133 = 62 * 12032 mod 133 = 62 * 3616 mod
133 = 62 * 998 mod 133 = 62 * 924 mod 133 = 62 * 852 mod 133 =
62 * 43 mod 133 = 2666 mod 133 = 6

Vous aimerez peut-être aussi