Cryptographie Appliquée: Réf.: H5210 V2
Cryptographie Appliquée: Réf.: H5210 V2
Cryptographie Appliquée: Réf.: H5210 V2
: H5210 V2
Cryptographie appliquée
Date de publication :
10 novembre 2003
Résumé La cryptographie est une discipline scientifique à part entière qui utilise des
concepts mathématiques et informatiques pour prouver la sécurité des schémas. Cet
article expose les principes de conception des schémas cryptographiques de chiffrement
et de signature électronique. Puis il décrit quelques limites des systèmes actuels
montrant ainsi la difficulté à concevoir des systèmes sûrs. Enfin, des exemples de
standards de communications sécurisées sont présentés.
Par mail :
[email protected]
Par téléphone :
00 33 (0)1 53 35 20 20 © Techniques de l'Ingénieur | Tous droits réservés
Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
Cryptographie appliquée
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 1
Glossaire
Attaque : opération qui tente de violer les objectifs de sécurité d’un cryptosystème.
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
Authentification : preuve d’identité ou preuve de l’origine des données. Ce terme regroupe l’identification, les signatures et les MAC.
Cassage (total) : calcul de la clé secrète d’un utilisateur.
Chiffrement : transformation appliquée à un message pour assurer sa confidentialité. Il peut être déterministe ou probabiliste.
Clé : valeur qui paramètre un cryptosystème. Si elle est confidentielle, on parle alors de clé secrète ou privée, sinon on parle de clé publique.
Confidentialité : assurance que seules les personnes autorisées ont accès à l’information. Pour cela, on utilise des systèmes de chiffrement.
Contrefaçon : fabrication d’un objet sans en avoir le pouvoir légitime (connaissance de la clé secrète). Contrefaire une signature ou un MAC.
Cryptanalyse : étude des procédés de décryptage, ou plus généralement de la sécurité des cryptosystèmes.
Cryptographie : étude des procédés permettant d’assurer la confidentialité, l’intégrité et l’authentification.
Cryptosystème (mécanisme cryptographique) : système de chiffrement et plus généralement tout schéma de signature, de MAC ou de
générateur pseudo-aléatoire.
Déchiffrement : transformation inverse du chiffrement qui consiste à retrouver, à l’aide d’une clé secrète, l’information initiale contenue
dans le message chiffré.
Décryptage : action de « casser » le chiffrement, et donc de retrouver le texte clair d’un chiffré, sans connaître la clé secrète.
Fonction à sens unique : fonction simple à calculer mais difficile à inverser.
Fonction à sens unique à trappe : fonction à sens unique pour laquelle une information supplémentaire, appelée « trappe », facilite
l’inversion.
Fonction de hachage : transformation déterministe d’une chaîne de bits de taille variable en une chaîne de bits de taille fixe, telle que toute
modification de la valeur d’entrée modifie la valeur de sortie.
Générateur pseudo-aléatoire : transformation déterministe permettant de produire une chaîne de bits apparaissant aléatoire à partir d’une
entrée de petite taille.
Identification : preuve d’identité lors d’un contrôle d’accès.
Intégrité : assurance qu’un message n’a pas subi de modifications volontaires ou non.
MAC : donnée de taille fixe jointe à un message qui prouve l’identité de l’émetteur et qui garantit l’intégrité du message. Contrairement aux
signatures, seules les personnes possédant la clé secrète peuvent vérifier un MAC.
Objectifs de sécurité : les services assurés par les systèmes cryptographiques sont la confidentialité, l’intégrité et l’authentification.
Primitive : opération mathématique de base à partir de laquelle des cryptosystèmes pourront être construits. Par exemple, la primitive de
chiffrement RSA consiste à calculer c = me mod N où pk = (e, N ) est la clé publique.
Protocole : ensemble de messages échangés entre plusieurs entités.
Système (ou schéma) : ensemble d’opérations reliées combinant une ou plusieurs primitives entre elles avec d’autres techniques afin d’aug-
menter la sécurité et éventuellement traiter des messages de taille variable. Le système de chiffrement RSA consiste à rajouter un pad-
ding puis à utiliser la primitive de chiffrement RSA. Il est d’usage de parler de schéma de signature et de système de chiffrement.
Signature : donnée de taille fixe jointe à un message et qui prouve l’identité de l’émetteur, garantit l’intégrité du message et assure la
non-répudiation. Tout le monde ayant accès à la clé publique peut vérifier la signature.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 2 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 3
faible d’un système informatique n’est pas le système cryptogra- manière qu’en théorie de la complexité, où des relations entre des
phique mais, par exemple, son implémentation informatique. problèmes différents sont établies [9] [10]. On dit qu’un problème
est difficile s’il n’existe pas d’algorithme pour le résoudre en temps
En outre, il existe diverses attaques contre lesquelles la crypto- polynomial.
graphie n’est pas d’un grand secours, comme les virus informa-
tiques ou les chevaux de Troie logiciels qui profitent de la Nota : la complexité en temps est polynomiale si le nombre d’étapes de calcul T
qui dépend du paramètre de sécurité k s’exprime comme un polynôme en k : il existe
confiance exagérée des utilisateurs dans les messages qu’ils reçoi- une constante c > 0 telle que T (k) < k c pour k suffisamment grand.
vent ou dans les logiciels qu’ils utilisent (voir l’article [H 5 440]).
La complexité des problèmes difficiles (nombre d’opérations
La cryptographie participe à la sécurité informatique en propo- pour les résoudre) est donc au moins superpolynomiale ou bien
sant des primitives et des mécanismes permettant d’atteindre les même exponentielle : le temps nécessaire pour les résoudre est
objectifs de confidentialité, de protection en intégrité et d’authenti- proportionnel à 2 k si k représente la taille des entrées en bits. Ces
fication. Pour assurer le service de confidentialité, la cryptographie problèmes sont difficiles car le temps de calcul est multiplié par 2
propose des systèmes de chiffrement à clé secrète ou à clé publi- chaque fois que la taille des entrées augmente d’un bit ! En théorie
que. La protection en intégrité et l’authentification de l’origine des de la complexité, on distingue la classe de complexité appelée ,
données peuvent être assurées en utilisant des codes d’authentifi- pour polynomiale, qui regroupe l’ensemble des problèmes ayant
cation de messages (cryptographie à clé secrète) ou des signatures des algorithmes efficaces pour les résoudre et la classe des
électroniques (cryptographie à clé publique). Enfin, le service problèmes pour lesquels aucun algorithme efficace (polynomial)
d’identification peut être garanti par l’utilisation de preuves d’iden- n’est connu pour les résoudre. Enfin, si la célèbre conjecture
tité. ≠ s’avérait fausse, toute construction théorique de cryptosys-
tèmes sûrs et efficaces serait vouée à l’échec.
Il est d’usage de distinguer les algorithmes cryptographiques
1.3 Cryptographie moderne en deux catégories : les primitives et les cryptosystèmes ou méca-
nismes cryptographiques. Les primitives (§ 2.2) sont des briques
La cryptographie ne se contente plus aujourd’hui de construire de base ayant certaines propriétés et qui permettent de concevoir
des systèmes. On demande bien souvent qu’une preuve de sécu- des mécanismes. Les cryptosystèmes sont censés garantir la con-
rité soit apportée, permettant d’estimer la sécurité du schéma. fidentialité, l’intégrité et/ou l’authentification. Si l’on montre qu’il
Ainsi, pendant de nombreuses années, cryptographes et cryptana- existe une attaque contre ces mécanismes, alors cette attaque doit
lystes se sont combattus et tour à tour les uns prenaient le dessus aussi permettre de montrer que les primitives ne vérifient pas les
sur les autres. De nos jours, il est rare qu’un nouveau système soit propriétés qu’elles étaient supposées satisfaire.
proposé sans preuve. Mais qu’est-ce qu’une preuve de sécurité ? Enfin, il est important de voir que la cryptographie moderne fait
Comment évalue-t-on la force des adversaires ? Que cherchent-ils son entrée depuis quelques années dans les organismes de stan-
à casser ? Et quels sont leurs moyens ? dardisation tels que l’Organisation internationale de normalisation
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
Les travaux de Shannon dans les années 1940 sur les communi- (ISO), l’American National Standards Institute (ANSI), l’Internet
cations (théorie de l’information) sont précurseurs des futurs tra- Engineering Task Force (IETF) et le National Institute of Standards
vaux théoriques en cryptographie. En particulier, l’article intitulé and Technology (NIST). En effet, il existe différents projets inter-
Communication Theory of Secrecy Systems [8] a dégagé et étudié nationaux (P1363 [11]), européens (NESSIE [12]) ou japonais
la notion d’entropie et a prouvé la sécurité parfaite du schéma de (Cryptrec [13]) visant à évaluer la sécurité de certains algorithmes.
chiffrement de Vernam (§ 2.1.2). Shannon a aussi présenté des Jusqu’à présent, les normes en matière de sécurité étaient conçues
notions importantes sur la sécurité d’un protocole cryptographique à partir de schémas heuristiquement sûrs, c’est-à-dire pour les-
en distinguant sécurité inconditionnelle et sécurité calculatoire. quels il n’existait pas d’attaques connues. Cependant, comme de
Dans le premier cas, on suppose que l’adversaire a une ressource nombreux standards ont été cassés par la communauté crypto-
de temps infini, alors que dans le second cas, l’adversaire est graphique, les organismes de standardisation sont demandeurs de
borné dans le temps. Il ne peut effectuer qu’un nombre fini tels projets au cours desquels les schémas sont évalués par des
d’étapes de calcul, d’où le nom de sécurité calculatoire. Il est en spécialistes du domaine.
effet raisonnable de penser que si, pour casser un système, il faut
utiliser un million de machines pendant un million d’années, alors
le système est sûr. En pratique, on suppose que pour casser un
système cryptographique, l’adversaire a accès à plusieurs ordina-
teurs. On peut quantifier le nombre d’opérations qu’il peut faire
ainsi que le nombre d’informations qu’il est capable de stocker. Par 2. Cryptographie symétrique
exemple, un ordinateur cadencé à 1 GHz effectue un milliard de
cycles par seconde, soit environ 2 30 opérations élémentaires en
1 s. Si un million d’ordinateurs à 1 GHz fonctionnent pendant cent La cryptographie symétrique est très souvent utilisée bien
mille ans, alors ils sont capables d’effectuer environ 2 92 opéra- qu’elle souffre de problèmes inhérents au fait qu’émetteur et
tions. D’un point de vue pratique, on dira qu’un système est sûr si récepteur doivent partager la même clé.
le nombre d’opérations minimales pour le casser nécessite plus de
2 80 opérations. Si on veut se protéger de manière plus sûre, on Le premier argument en faveur des systèmes symétriques est
augmentera le niveau de sécurité à 2128. qu’ils sont plus rapides que les systèmes asymétriques car ils uti-
lisent directement les instructions câblées des processeurs du
La formalisation de la sécurité d’un protocole n’a pas été sans commerce. En effet, la cryptographie à clé publique requiert l’utili-
difficulté. On verra (§ 2.2.1) que plusieurs définitions sont possibles sation de l’arithmétique sur les grands nombres qui n’est pas
pour définir la confidentialité d’un système de chiffrement. Les implémentée dans les processeurs des ordinateurs usuels.
preuves de sécurité permettent de relier le cassage d’un système
à un problème réputé difficile. Par conséquent, pour l’attaquant, il Dans un premier temps, nous présentons quelques primitives
n’existe pas de méthode permettant de casser le système crypto- (algorithmes de chiffrement par bloc, par flot et fonctions de
graphique sans savoir aussi résoudre le problème conjecturé diffi- hachage) qui permettent de construire les protocoles ou méca-
cile. Ainsi, il a tout intérêt à tenter de résoudre le problème nismes garantissant la confidentialité, l’intégrité et l’authentifi-
sous-jacent. D’un point de vue théorique, les cryptographes éta- cation de l’origine des données (systèmes de chiffrement et codes
blissent des relations entre différents problèmes de la même d’authentification de message : MAC).
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 4 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information
2.1 Généralités sur le chiffrement quants. Par conséquent, afin de raisonner correctement et de
concevoir des systèmes sûrs, autant supposer que les algorithmes
sont publics. Cela permet une analyse sérieuse de l’algorithme par
Un algorithme de chiffrement se compose des éléments sui-
toute la communauté des cryptologues.
vants :
— l’espace des messages : un ensemble de chaînes de bits Le but du chiffrement est de garantir la confidentialité des
(messages clairs) ; communications. Les premiers algorithmes de chiffrement étaient
— l’espace des messages chiffrés : un ensemble de chaînes de basés sur les principes de substitution et de permutation.
bits (messages chiffrés) ;
■ Le chiffrement de César est un exemple de chiffrement par
— l’espace des clés K : un ensemble de chaînes de bits (clés) ;
substitution, où l’on chiffre une lettre du clair par une lettre située
— un algorithme de chiffrement prenant ses entrées dans deux positions (modulo 26) plus loin dans l’alphabet. Ainsi, la lettre
K × et ses sorties dans ; « a » est remplacée lors du chiffrement par la lettre « c », la lettre
— un algorithme de déchiffrement prennant ses entrées dans « b » par la lettre « d », ..., la lettre « x » par la lettre « z », la lettre
K × et retournant un élément de . « y » par la lettre « a » et la lettre « z » par la lettre « b ». L’inconvé-
Les algorithmes , et vérifient de plus la relation suivante : nient de ce système est que les propriétés statistiques du langage
pour toute clé k ∈ K , pour tout message du message clair ne sont pas modifiées. Par exemple, la lettre la
plus courante en anglais est le « e ». Ainsi en observant la lettre la
plus fréquente dans le message chiffré, on en déduira que cette let-
2.1.1 Types d’attaques d’un système tre correspond au chiffrement de la lettre « e », si le message clair
de chiffrement est en anglais. Afin d’éliminer ces propriétés statistiques, les cryp-
tographes ont construit des systèmes de substitution polyalphabé-
Il existe plusieurs objectifs pour un adversaire [14] [15]. Si tique : une même lettre en clair peut être chiffrée de différentes
l’adversaire trouve la clé de déchiffrement, on dit alors que le manières.
système est complètement cassé. S’il est capable de déchiffrer
tous les messages, on dit que le système est cassé. Un objectif ■ On peut citer ici le chiffrement de Vigenère, cassé par Babbage
moins fort est de déchiffrer un chiffré cible c* donné. Enfin, dans et Kasiski [6] [18]. Dans le système de Vigenère, la clé est un mot
certaines applications, on souhaite qu’aucun bit du clair ne puisse de passe, CRYPTO par exemple. Pour chiffrer la première lettre du
être appris à la vue du chiffré. On parle alors de sécurité séman- message DEMAIN ATTAQUE, on utilise la première lettre du mot
tique [16]. On formalise cet objectif sous la forme du jeu suivant : de passe, C, qui indique de combien de positions on doit décaler la
dans une première phase, l’adversaire choisit deux messages lettre D. Il peut être utile de représenter les lettres par des nombres
différents M 0 et M 1 de même taille et les envoie à un oracle de et de les additionner modulo 26. La lettre A sera représentée par 0
chiffrement. Ce dernier choisit aléatoirement un bit b. Si b = 0, il et la lettre Z par 25. Les espaces sont éliminés. Ainsi, D (3) sera
chiffre le message M 0 et si b = 1, il chiffre M 1 . Le chiffré c* corres- chiffrée par la lettre C (2) pour obtenir la lettre F (5). Pour chiffrer la
pondant est renvoyé à l’adversaire. Le but de l’adversaire est de deuxième lettre du clair E, on utilise la deuxième lettre du mot de
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
deviner correctement quel message a été chiffré dans c*. Il est clair passe, R, et le chiffrement est V. On continue jusqu’à la fin du mot
qu’avec une probabilité de 1/2, l’adversaire devine le bit b. On de passe, puis on recommence au début. Ainsi, le chiffré complet
définit son avantage de gagner ce jeu comme étant la différence est FVKPBBCKRPKIG. Il est facile de voir que les lettres A et E sont
entre la probabilité qu’il devine correctement le bit b et 1/2, et on chiffrées de deux façons différentes. En cryptanalyse, on appelle
dit que l’adversaire gagne le jeu de la sécurité sémantique si son recherche exhaustive ou attaque par force brute, une attaque qui
avantage est non négligeable, c’est-à-dire qu’il existe une consiste à tester toutes les clés de déchiffrement pour retrouver le
constante c > 0 telle que l’avantage de l’adversaire soit supérieur à clair. Cependant, pour casser le système de Vigenère, la recherche
1/k c où k représente le paramètre de sécurité, soit la taille en bits exhaustive sur la clé peut prendre un temps très grand selon sa
de la clé k. La probabilité est prise sur l’espace composé du bit b, longueur. En effet, pour toute longueur t du mot de passe, il existe
de la chaîne d’aléa de l’adversaire et de la chaîne aléatoire de l’ora- (26)t mots de passe différents. Si l’on teste tous les mots de passe
cle de chiffrement si le chiffrement est randomisé. ayant 20 lettres, il faut effectuer 292 tests, ce qui est totalement
hors de portée. La cryptanalyse de ce système a donc requis l’utili-
Pour atteindre ces objectifs, l’adversaire a accès à certains sation de techniques plus fines que la force brute. Elle est basée
moyens : sur l’observation que si la même lettre apparaît décalée d’un mul-
— dans une attaque à chiffrés seuls, l’adversaire intercepte des tiple de la longueur du mot de passe, alors elle sera chiffrée de la
messages chiffrés mais ne connaît pas le clair correspondant ; même façon. Cela permet de déduire la longueur de la clé. Des sta-
— dans une attaque à clairs connus (known plaintext attack ), tistiques sur les lettres montrent que certains digrammes ou tri-
l’adversaire connaît des paires clairs/chiffrés pour des messages grammes (combinaison de 2 ou 3 lettres consécutives) sont plus
clairs non choisis ; fréquentes que d’autres. Par exemple, le trigramme « the » en
— dans une attaque à clairs choisis (chosen plaintext attack ), anglais apparaît très fréquemment alors que la probabilité d’appa-
l’adversaire a accès à une machine de chiffrement et peut obtenir rition du trigramme « xyz » est quasi nulle. Toutes ces observations
le chiffré de n’importe quel message clair ; ont permis d’attaquer efficacement le chiffrement de Vigenère.
— enfin, dans une attaque à chiffrés choisis (chosen ciphertext Pour diffuser certaines propriétés statistiques du langage clair
attack ), l’adversaire a accès à une machine de déchiffrement. Il (comme la fréquence de digrammes ou de trigrammes) sur tout le
peut obtenir le clair de tout chiffré sauf celui de c*. message chiffré, l’idée est d’échanger la position des lettres entre
le clair et le chiffré : c’est le principe du chiffrement par permuta-
tion. Pendant longtemps, les systèmes de chiffrement étaient
2.1.2 Premiers systèmes de chiffrement basés sur une succession de substitutions et de permutations.
Encore au début du XXe siècle, les machines électriques à rotors,
Une pratique saine en cryptographie est que la description des comme Hagelin ou Enigma, étaient basées sur ces opérations.
algorithmes de chiffrement et de déchiffrement soit publique et
que seule une donnée de petite taille, appelée la clé, soit détenue ■ En 1926, l’américain Vernam [19] proposa un système de chiffre-
de manière secrète. Ces principes de base constituent les ment basé sur le même principe que le chiffrement de Vigenère
« principes de Kerckhoffs » du nom du militaire français qui les mais où cette fois la clé est aussi longue que le message. Par
énonça en 1883 [17]. En effet, la sécurité d’un mécanisme crypto- conséquent, une même lettre peut être chiffrée en autant de lettres
graphique ne peut être assurée par son secret. La description peut possibles qu’il y a de lettres dans l’alphabet. Il est d’usage pour
toujours être plus ou moins rapidement obtenue par les atta- présenter ce système d’utiliser l’alphabet binaire composé de 0 et
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 5
de 1 : selon un codage approprié de l’alphabet, on peut représenter Les block ciphers opèrent sur des messages clairs de taille fixe.
n’importe quelle lettre par une suite de quelques bits. C’est le Un block cipher est une fonction qui envoie un bloc de n bits de
principe du codage ASCII par exemple. Pour générer une clé de clair vers un bloc de n bits de chiffré. On peut les voir comme un
chiffrement, on génère une suite aléatoire de 0 et de 1. Le chiffré chiffrement par substitution sur un grand ensemble de caractères :
du message m sous la clé k est c = m ⊕ k où ⊕ désigne le chaque bloc de 64 bits est substitué par un autre bloc de 64 bits.
XOR des deux chaînes binaires m et k (encadré 1). Pour déchif- Cette fonction est paramétrée par une clé k de bits, tirée aléatoi-
frer ce message, il convient de calculer c ⊕ k = (m ⊕ k ) ⊕ k = rement. Afin de permettre le déchiffrement unique, la fonction de
m ⊕ (k ⊕ k ) = m ⊕ 0 n = m, où n représente la taille du message m chiffrement doit être bijective (inversible). Ainsi l’espace des mes-
et 0n désigne la chaîne de bits composée de n bits à zéro. sages clairs et celui des chiffrés sont tels que = = { 0, 1 } n , et
l’espace des clés est K = { 0, 1 } .
■ En 1940, Shannon prouva que ce système était sûr contre
n’importe quel adversaire ayant une puissance de calcul infinie Un chiffrement (parfaitement) aléatoire est un block cipher
sous réserve que la clé soit aussi longue que le message et qu’elle implémentant toutes les (2 n ) ! bijections possibles sur les 2 n élé-
ne soit utilisée qu’une seule fois. Ainsi, dans ce système, aussi ments. Chacune des (2 n ) ! clés spécifie une permutation. Si la taille
appelé One-Time Pad, la recherche exhaustive sur les clés est des blocs est trop petite, le système est alors vulnérable aux
impossible. En effet, à chaque chiffré correspondent tous les clairs attaques basées sur les analyses statistiques comme le système de
possibles : pour tout message clair m ′, on peut trouver une clé k ′ chiffrement par substitution de César (§ 2.1.2). Comme on le verra
telle que c ′ soit le chiffré de m ′ : c ′ = m ′ ⊕ k ′. Cela a permis aux par la suite (§ 2.3.1), cela peut être évité en utilisant des modes
espions russes durant la Guerre froide de ne pas être arrêtés mais opératoires. D’autres attaques peuvent aussi être considérées mais
uniquement soupçonnés. En effet, comme ils déchiraient de leur leur complexité augmente très rapidement avec la longueur du
carnet la clé de chiffrement, n’importe quel message clair était pos- bloc ou de la clé. En pratique, pour des valeurs de n et suffisam-
sible. L’inconvénient principal de ce système est l’échange et la ment grandes, les block ciphers « apparaissent » comme aléatoires
gestion des clés : si l’on désire chiffrer un message d’un gigabit, il (pour quelqu’un qui n’a pas la clé). On notera E la fonction de chif-
faut auparavant échanger un gigabit de clé et cette clé échangée ne frement et D la fonction de déchiffrement.
servira qu’une seule fois ! Il existe deux grandes familles de chiffrement par bloc. La pre-
Cependant, Shannon démontra aussi que l’on peut construire mière famille est celle des schémas basés sur des réseaux de
des systèmes de chiffrement sûrs en utilisant les propriétés de Feistel [20] et est connue depuis l’invention du DES en 1976. La
confusion et de diffusion où une même clé de chiffrement, de seconde famille contient les schémas basés sur des réseaux de
petite taille, peut être utilisée pour chiffrer plusieurs messages. La substitution-permutation, aussi appelés SP Networks. Elle a été
propriété de confusion cherche à rendre complexes les relations introduite plus récemment. L’AES (Advanced Encryption Standard),
entre le chiffré et la clé et entre le chiffré et le clair. En effet, comme le successeur du DES, est issu de cette famille. Ces deux grandes
le chiffré peut être intercepté, il doit être impossible d’exploiter des familles font partie des algorithmes de chiffrement par bloc itéré
relations avec la clé ou avec le clair. La propriété de diffusion dis- mettant en jeu la répétition séquentielle d’une fonction interne
sipe les propriétés statistiques du clair en les répartissant dans le appelée fonction de tour. Les paramètres incluent le nombre de
tours r (rounds), la taille n du bloc, et la taille de la clé k à partir
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 6 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information
M1 M2 M3 M4
IP
ki
L0 k1 R0 Permutation
L1 k2 R1
F C1 C2 C3 C4
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 7
qu’il est reçu. Enfin, ils ont la propriété de ne pas avoir de propa- Un générateur aléatoire peut être construit en utilisant un algo-
gation d’erreur et sont donc avantageux quand des erreurs de rithme de chiffrement par bloc. En effet, étant donné qu’un block
transmission sont très probables, par exemple dans les commu- cipher doit se comporter comme une permutation aléatoire, alors
nications mobiles. Cependant, la théorie dans ce domaine, assez les sorties peuvent être vues comme des bits aléatoires et impré-
proche de celle des générateurs aléatoires, n’est pas encore bien dictibles. Les modes opératoires CFB (Cipher FeedBack) ou OFB
établie, contrairement à celle des block ciphers. (Output FeedBack) sont des moyens pour générer un flux aléatoire
à partir d’un algorithme de chiffrement par bloc. Ils sont décrits au
La construction de stream ciphers est basée sur le principe du
paragraphe 2.3.1. Même si les modes CFB et OFB sont plus lents
chiffrement de Vernam (§ 2.1.2), mais évite ses inconvénients : la
que les stream ciphers, on les préfère car leur sécurité est mieux
clé est différente et aussi longue que le message mais elle est issue
connue : elle dépend uniquement de l’algorithme de chiffrement
d’une autre clé, fixe et de petite taille. Pour ce faire, les stream
par bloc (bloc de 64 bits et clé de 128 bits) pour lequel on ne dis-
ciphers génèrent, à partir d’une clé de petite taille, un flot d’aléa vu
pose aujourd’hui d’aucune attaque significative.
comme une clé aléatoire plus longue servant à un système de Ver-
nam. La clé aléatoire, appelée clé du flot (keystream), peut être
générée bit par bit ou octet par octet suivant le système. L’algo-
rithme permettant la génération de la clé du flot est un générateur 2.2.3 Fonction de hachage
pseudo-aléatoire (GPA) : k s = GPA (k ), c = m ⊕ k s .
La fonction de hachage est la dernière primitive dont nous ayons
Les algorithmes de chiffrement par flot ont l’avantage d’être très
besoin. Les fonctions de hachage sont des fonctions très utiles en
rapides. En revanche, ils présentent des propriétés qui ne sont pas
informatique. Elles permettent de représenter les éléments
forcément souhaitables comme la malléabilité du chiffré : étant
d’entrée sur peu de bits. L’espace d’entrée des fonctions de
donné un chiffré c correspondant à un clair m, il est facile
hachage est composé de toutes les chaînes de bits de taille quel-
d’obtenir le chiffré du clair m ⊕ δ en calculant c ⊕ δ. Ainsi, bien
conque, noté {0, 1}*. L’espace de sortie est l’ensemble des chaînes
qu’un adversaire ne connaisse pas le clair, il est capable de modi-
de bits de taille n, {0, 1}n. Toute entrée sera transformée en une
fier le chiffré et de maîtriser la modification induite sur le clair. De
chaîne de n bits. En cryptographie, les fonctions de hachage sont
même, si l’on sait que c correspond au chiffré du message m, on
utilisées pour construire des schémas de signature et des codes
peut calculer le chiffré de n’importe quel clair m ′ en calculant
d’authentification de messages. Elles sont basées sur les mêmes
c ⊕ m ⊕ m ′ = m ⊕ k s ⊕ m ⊕ m ′ = k s ⊕ m ′. Il faut remarquer que
principes de confusion et de diffusion que les algorithmes de chif-
cette attaque ne remet pas en cause la confidentialité du clair, mais
frement par bloc [25] [26] [27] [28].
plutôt son intégrité. Il n’est pas exigé qu’un algorithme de chiffre-
ment garantisse l’intégrité. Cependant, la propriété de malléabilité Les propriétés attendues des fonctions de hachage sont les sui-
du chiffré permet de montrer que le chiffrement n’est pas sûr dans vantes.
le cas d’attaques à chiffrés choisis (§ 2.1.1) [24].
■ Fonction à sens unique : étant donné y, il est difficile de trouver
L’algorithme RC4, conçu par les laboratoires RSA, est un algo- en un temps raisonnable une entrée x telle que H (x ) = y.
rithme très rapide et très simple à implémenter. Il est utilisé dans
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 8 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information
César (§ 2.1.2). De la même manière, si on chiffre un texte codé en l’effacement d’un bloc de chiffré, le déchiffrement peut toujours
Unicode, format permettant de représenter différents alphabets, on avoir lieu et seulement un bloc de clair sera erroné.
ne peut mettre que 4 octets dans un bloc de 64 bits car chaque ■ Mode CBC
octet de clair est codé par deux octets dont l’un est constant (pour
la langue anglaise par exemple). Ainsi, en analysant la fréquence Le chiffrement en mode CBC (Cipher Block Chaining) est un
des quadrigrammes, on est capable de casser ce mode de chiffre- mode opératoire probabiliste qui ne souffre pas des problèmes du
ment, aussi forte la primitive de chiffrement soit-elle. Un autre mode ECB si l’adversaire a accès à un clair à un instant donné.
défaut de l’ECB est qu’il est déterministe : une attaque sur ce mode C’est le mode le plus utilisé. Le fonctionnement du mode CBC
permet de trouver tout clair à partir d’une phase de précalcul si la est le suivant et est décrit sur la figure 5 : tirer aléatoirement
taille des clés est suffisamment petite pour effectuer une attaque un vecteur d’initialisation C 0 ∈ {0, 1}n, et pour chaque bloc
exhaustive. Par exemple, si l’adversaire sait que le clair est un Mi , Ci = E k (Mi ⊕ C i –1). Pour déchiffrer le bloc Ci pour i 1, on
fichier Word, alors certains bits de l’en-tête sont connus et sont calcule Mi = C i–1 ⊕ Dk (Ci ). Ce mode n’est cependant pas paralléli-
fixes d’un fichier à l’autre. Ainsi, on peut supposer que l’adversaire sable car pour commencer le chiffrement du deuxième bloc, il faut
connaît par exemple le premier bloc du clair M1 et le bloc de chiffré connaître le premier bloc de chiffré. Mais il est autosynchronisable,
? ce qui veut dire qu’en cas d’erreur de transmission, seuls le bloc
C 1 . Il peut alors essayer toutes les clés en testant si E k ( M 1 ) = C 1 de clair concerné et le suivant seront erronés. En effet, d’après la
i
pour toutes les clés possibles k i . Sur un algorithme comme le DES, formule du déchiffrement, pour déchiffer Cj , il suffit que C j–1 et Cj
soient correctement transmis.
cette attaque demande 256 opérations de chiffrement, soit environ
une journée. On peut aussi précalculer et stocker les valeurs ■ Autres modes opératoires
( E ki ( M 1 ), k i ) , en triant ces valeurs suivant la première coordonnée. Enfin, les trois derniers modes permettent de générer un flux
Ensuite, lorsque l’attaquant voit passer le chiffré C avec comme aléatoire en utilisant un algorithme de chiffrement par bloc. On
premier bloc C 1 , le temps d’une recherche par dichotomie dans ce peut remarquer que dans ces trois modes, on peut utiliser une
tableau ne demande que 56 comparaisons dans le pire des cas. fonction aléatoire au lieu d’une permutation aléatoire.
Enfin, l’adversaire lit directement la clé k i utilisée et peut déchiffrer ● Le mode CFB (Cipher FeedBack), décrit figure 6, génère
les autres blocs de C. Cette attaque basée essentiellement sur une aléatoirement un bloc C 0 ∈ {0,1}n, puis pour chaque bloc Mi , on
phase de précalcul s’appelle une attaque par dictionnaire. Il est calcule Ci = E k (C i – 1) ⊕ Mi . Pour obtenir la formule de déchiffre-
également possible de faire un compromis entre le temps mis pour ment, il suffit d’inverser dans la formule précédente M i et
casser un chiffré donné et la mémoire utilisée lors de la phase de Ci : Mi = E k (C i–1) ⊕ Ci .
précalcul. Remarquons aussi que cette attaque est possible avec ● Le mode OFB (Output FeedBack) génère aléatoirement un
l’AES par exemple, mais sa complexité est beaucoup plus impor- bloc V 0 = C 0 ∈ {0, 1}n, puis pour chaque bloc Mi , on calcule
tante (il faut essayer les 2128 clés possibles) et elle ne peut pas être Vi = E k (Vi–1), et Ci = Vi ⊕ Mi . Pour déchiffrer, à partir du germe ini-
mise en œuvre actuellement en un temps raisonnable. tial C 0 , on peut recalculer la suite d’aléas Vi et déchiffrer tout bloc Ci
Notons enfin que ce mode a l’avantage d’être parallélisable, ce en utilisant la formule Mi = Ci ⊕ Vi .
qui signifie qu’une implémentation matérielle ou logicielle (sous ● Enfin, le mode compteur (CTR) permet de chiffrer en utilisant
forme de bitslice) pourrait par exemple commencer le chiffrement un compteur de blocs entre deux équipements. Le compteur, ctr, est
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 9
M1 M2 M M1 M2 M -1 M
IV Ek Ek Ek
C0 C1 C2 C Ek Ek Ek Ek
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 10 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information
entre un utilisateur et un vérifieur est un ensemble de questions gueur k, produit une suite binaire de longueur >> k qui apparaît
posées par le vérifieur auxquelles l’utilisateur doit être capable de aléatoire. L’entrée du PRBG est appelée le germe, alors que la sor-
répondre. L’adversaire peut être simplement passif, c’est-à-dire tie du PRBG est appelée une suite de bits pseudo-aléatoires.
qu’il écoute des communications entre un utilisateur et un vérifieur La sortie d’un PRBG n’est pas aléatoire ; en fait, le nombre des
honnêtes et tente ensuite de se faire passer pour l’utilisateur à par- suites de sortie possibles est au plus une petite fraction, 2 k ⁄ 2 , de
tir de ces seules informations. Mais il peut être aussi actif : dans ce toutes les suites binaires possibles de longueur . L’objectif est de
cas, il peut prendre la place du vérifieur et poser des questions à prendre une suite binaire vraiment aléatoire et de l’étendre en une
l’utilisateur pour essayer d’extraire de l’information sur son secret. suite de longueur supérieure de telle sorte qu’un attaquant ne
Idéalement, une preuve d’authentification doit permettre à un uti- puisse pas efficacement distinguer les suites de sortie du PRBG
lisateur de prouver qu’il connaît un secret associé à une clé publi- des suites vraiment aléatoires de longueur . Par exemple, les
que tout en assurant que le vérifieur n’obtient aucun bit générateurs congruentiels linéaires produisent une suite pseudo-
d’information sur le secret et ne peut pas ultérieurement se faire aléatoire de nombres x 1, x 2, x 3 ... selon la formule de récurrence
passer pour l’utilisateur. Une preuve d’identité, pour être sûre, ne xn = ax n –1 + b mod m pour n 1 , où a, b et m sont des paramètres
doit pas être transférable. La cryptographie à clé publique permet qui caractérisent le générateur et x 0 est le germe. De tels généra-
de construire de tels schémas en utilisant des preuves zero teurs sont fréquemment utilisés pour simuler des nombres aléa-
knowledge [2] [4]. La cryptographie symétrique propose des toires, mais ne peuvent pas être utilisés en cryptographie car ils
méthodes pour l’identification mais les garanties de sécurité ne sont prédictibles. En effet, étant donné une suite de sortie partielle,
sont pas aussi fortes que celles apportées par les techniques zero le reste de la suite peut être reconstruit même si les paramètres a,
knowledge. Dans la suite, on décrit le système IFF et le système b et m sont inconnus. L’exigence de sécurité minimale pour un
OTP. PRBG est que la longueur k du germe soit suffisante pour qu’une
Le protocole IFF (Identification Friends and Foes) permet de recherche exhaustive sur les 2 k éléments ne soit pas possible en
construire un schéma d’identification sûr en pratique mais qui un temps raisonnable. Les deux propriétés des sorties du PRBG
n’est pas zero knowledge. L’utilisateur et le vérifieur partagent une sont que les bits de sortie doivent être statistiquement indistingua-
clé secrète k pour l’algorithme DES par exemple. Le vérifieur bles de suites vraiment aléatoires et qu’ils ne soient pas prédicti-
envoie un challenge aléatoire r pris dans l’ensemble {0, 1}64 et l’uti- bles par un attaquant dont les ressources en temps et en mémoire
lisateur répond par y = E k (r ). En réception, le vérifieur calcule avec sont limitées. Il existe des PRBG basés sur des principes de cryp-
tographie à clé publique comme le générateur de Blum-Blum et
?
sa clé y ′ = E k (r ) et contrôle que si y ′ = y . Il est évident que si le Shub [32] mais qui sont moins performants. Nous ne décrirons ici
vérifieur ne choisit pas les challenges de manière aléatoire dans que des générateurs basés sur des primitives symétriques.
{0, 1}64 et s’il redemande une ancienne valeur du challenge déjà La norme ANSI X9.17 [33] décrit un générateur pseudo-aléatoire
envoyé, alors une personne qui aura espionné le canal pourra efficace utilisant une clé k ∈ {0, 1}k et un état s 0 ∈ {0, 1}n. Pour
s’identifier. Cependant, d’après le paradoxe des anniversaires, si générer un bloc de n bits, le générateur utilise l’état s i–1 et le
les valeurs de r sont prises au hasard dans {0, 1}64, la probabilité temps à l’instant i, t i , et calcule la sortie y i = E k (s i–1 ⊕ E k (t i )) et le
nouvel état s i = E k (y i ⊕ E k (t i )). La valeur y i est retournée par le
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 11
algorithme efficace permettant de calculer l’image d’un point, mais pris dans Gq et modulo (p – 1) (q – 1) dans les exposants si les
il n’existe pas d’algorithme efficace pour inverser la fonction [35]. calculs s’effectuent modulo N.
Exemple : il est facile, connaissant deux nombres premiers p et q,
de les multiplier pour obtenir N = pq, mais on ne sait pas comment 3.1.2 Exponentiation modulaire
factoriser efficacement N, c’est-à-dire retrouver p et q en un temps
raisonnable. D’un point de vue algorithmique, il est possible de calculer effi-
Les fonctions à sens unique à trappe sont des fonctions à sens cacement une exponentielle modulaire a b mod N pour tout
unique telles que la connaissance d’une trappe, la clé secrète, rend entier N. Avant de commencer l’exponentiation, b peut être réduit
possible l’inversion efficace de la fonction. Elles permettent de modulo ϕ (N ) et a modulo N. Ainsi, si N fait n bits, alors
concevoir des systèmes de chiffrement asymétrique et des sché- b mod ϕ (N ) fait au plus n bits. L’algorithme naïf consisterait à
mas de signature électronique. En 1977, Rivest, Shamir et Adleman calculer b – 1 multiplications modulaires en utilisant une récursion
proposent le système RSA [36]. On peut remarquer qu’il a fallu basique. La complexité de ce calcul est Θ ( b ) multiplications, donc
plus de vingt ans aux cryptographes pour comprendre comment exponentielle en la taille de l’entrée b. En effet, la valeur
chiffrer ou signer de façon sûre avec RSA [37] [38]. b mod ϕ (N ) est représentée sur n bits, 2 n – 1 b < 2 n, et donc
Dans un système à clé publique, chaque entité a une clé secrète Θ ( b ) = Θ ( 2 n ) . Ainsi, si n = 1024, il faudra au moins 21023 multipli-
sk et une clé publique pk associée. Pour envoyer un message à A, cations, ce qui est irréaliste. Il faut donc utiliser une autre tech-
B doit obtenir la clé publique de A et chiffrer le message avec cette nique. L’algorithme d’exponentiation binaire a une complexité
clé. En réception, seul A qui connaît sa clé secrète sk peut linéaire en la taille n de l’exposant b : seulement 2 × n multiplica-
déchiffrer. tions modulaires sont nécessaires. L’idée de cet algorithme est de
décomposer l’exposant sous forme binaire :
n –1
3.1 Rappels de mathématiques b = ∑ bi 2i
et d’algorithmique i= 0
Par conséquent :
On rappelle ici quelques résultats sur les structures mathéma- n –1
tiques et comment les manipuler de manière efficace. Un entier p Σ bi 2 i n –1
∏ ( a 2 )b
i
ou q désignera un grand nombre premier, N désignera le produit ab = a i= 0
= i
mod N
de deux grands nombres premiers p et q, et n la taille de N en bits. i= 0
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 12 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information
associé à un chiffré. Si cet objectif est atteint, le schéma de chiffre- miers p et q entre 2 n /2–1 et 2 n /2. En effet, d’après le théorème sur
ment est cassé. Enfin, un objectif plus faible consiste à distinguer la densité des nombres premiers, un entier pris au hasard dans
le chiffrement du message clair 0 de celui du message clair 1. Dans l’intervalle [B, C ] est premier avec une probabilité de :
certaines applications où l’espace des messages se réduit à
un bit, par exemple un ordre de vente ou d’achat d’actions sur 1 C B
Internet, le schéma ne doit pas laisser fuir le moindre bit d’infor- ---------------- ⋅ --------------- – ---------------
C–B ln C ln B
mation sur le clair. Cette sécurité est appelée la sécurité sémanti-
que comme en cryptographie symétrique. soit environ 2 /n. Ainsi, il y a environ 2 n / 2/n nombres premiers
L’adversaire peut monter différents types d’attaques pour entre 2 n /2–1 et 2 n /2 et si n = 1 024, on a environ 2 512 /2 9 = 2503 nom-
atteindre son objectif [14]. Dans un système à clé publique, un
bres premiers entre 2511 et 2 512. Par conséquent, une recherche
adversaire passif peut toujours monter une attaque à clairs choisis
exhaustive n’est pas possible en temps raisonnable si n est trop
(chosen plaintext attack : CPA) car il a accès à la clé de chiffrement
grand : la complexité de cette recherche demanderait un temps
et peut donc obtenir le chiffré de n’importe quel message clair. Une
attaque plus forte est une attaque à chiffrés choisis (chosen cipher- proportionnel à Θ ( 2 n / 2 /n ) . Le meilleur algorithme connu
text attack : CCA) où l’adversaire choisit des chiffrés de son choix aujourd’hui pour factoriser a une complexité en temps de calcul
et obtient par certains moyens le clair correspondant. On distingue sous-exponentielle en la taille de N . Il nécessite environ
habituellement deux types d’attaques à chiffrés choisis : Θ ( exp [ c + o ( 1 ) ] ⋅ ln [ ln (n ) ] 2 / 3 ln ( n ) 1 / 3 ) opérations pour retrouver p
— attaque à chiffrés choisis non adaptative. Dans cette attaque, et q.
l’adversaire obtient les clairs pour des chiffrés de son choix mais
ces chiffrés doivent être choisis avant de recevoir le chiffré cible c 3.2.2.1 Principes
qu’il souhaite déchiffrer ;
— attaque à chiffrés choisis adaptative. Dans cette attaque, Le problème RSA est relié au problème de la factorisation. Avant
l’adversaire peut avoir accès à la machine de déchiffrement (mais de le définir, nous avons besoin de préciser quelques notations.
pas à la clé secrète directement), même après avoir vu le chiffré Les valeurs e et d sont des nombres premiers avec ϕ (N ) et
cible c qu’il souhaite déchiffrer. L’adversaire peut demander le vérifient la relation e × d = 1 mod ϕ (N ) = 1 + k ϕ (N ). On pose
déchiffrement pour des chiffrés reliés au chiffré cible mais n’a pas pk = (e, N ) une clé publique RSA et sk = d la clé secrète associée.
le droit de demander le déchiffrement de c directement. On peut générer de manière efficace des nombres premiers
Les attaques à chiffrés choisis adaptatives peuvent apparaître à assez grands. L’algorithme de Miller-Rabin [18] permet de générer
première vue comme des attaques très puissantes mais peu réa- un nombre premier de n /2 bits en Θ ( n 3 ) multiplications. Le résul-
listes. Cependant, dans certains schémas, le message clair contient tat est un entier non premier avec une probabilité négligeable. La
de la redondance (intégrité) et le clair n’est retourné par la machine probabilité d’erreur est un paramètre de cet algorithme, on peut
de déchiffrement que si la marque d’intégrité est vérifiée. Dans le donc la définir aussi petite que l’on veut. Ensuite, il suffit de calcu-
cas d’un protocole comme SSL, un message d’erreur peut alors ler ϕ (N ) = (p – 1) · (q – 1) et de calculer d = e –1 mod ϕ (N ), ce que
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
être renvoyé. L’adversaire qui envoie un chiffré peut alors l’on peut faire de manière efficace avec l’algorithme d’Euclide
apprendre à la vue de la réponse de la machine si le clair corres- étendu.
pondant vérifie ou non la redondance (voir attaque sur SSL [39]).
Pour chiffrer un message M, on applique un encodage inver-
Ainsi, il peut apprendre certains bits du message clair. On montre
sible, aussi appelé fonction de padding f (·) [42], m = f (M ), et on
alors que si le schéma est résistant face aux attaques à chiffrés
choisis, alors le schéma est résistant face à ces attaques appelées calcule c = me mod N. Pour déchiffer c, on calcule m = c d mod N et
reaction attack. on inverse la fonction de padding pour retrouver le message M. Ce
calcul permet en effet de retrouver le message m car :
Enfin, la combinaison d’un objectif et d’un type d’attaque permet
de définir la notion de sécurité. On dit par exemple qu’un schéma c d = med = m1+kϕ (N ) = m × (m ϕ (N ) )k = m × (1)k = m mod N
est sémantiquement sûr contre des attaques à chiffrés choisis si
aucun attaquant mettant en œuvre une attaque à chiffrés choisis
ne peut distinguer le chiffré de 0 du chiffré de 1. Problème RSA
Étant donné un entier N de grande taille, produit de deux
grands nombres premiers p et q, e un entier premier avec ϕ (N ),
3.2.2 Cryptosystème RSA et c ∈ Z N aléatoirement choisi, calculer m tel que c = me mod N.
Nous présentons ici le système RSA et les principes mathéma-
tiques nécessaires à ce schéma. Ce problème paraît difficile pour une fraction non négligeable
des entiers c et si N fait 1 024 bits. On peut alors définir l’hypothèse
RSA.
Problème de la factorisation
Étant donné un entier N de grande taille, produit de deux
grands nombres premiers p et q, retrouver p et q. Hypothèse RSA
Étant donné un entier N de grande taille, produit de deux
Ce problème est difficile pour une fraction non négligeable des grands nombres premiers p et q, et e un entier premier avec
entiers N si N est suffisamment grand. Le record de factorisation a ϕ (N ), il est difficile en un temps raisonnable de calculer m tel
été atteint pour un module de 530 bits avec l’algorithme GNFS que c = me mod N pour une fraction non négligeable des entiers
(General Number Field Sieve) [40] en 2003. On conjecture qu’avec c ∈ Z N* .
cet algorithme, le nombre d’opérations pour factoriser un module
de 1 024 bits est de l’ordre de 280 opérations. La sécurité du système RSA repose sur le problème de la facto-
Le problème général de la factorisation pour un entier aléatoire risation car on ne connaît pas d’autre méthode permettant de
n’est pas un problème difficile car avec une probabilité de 1/2, le retrouver m à partir de c = me mod N que de factoriser N pour
nombre aléatoire sera pair et 2 sera un des facteurs. Cependant, retrouver ϕ (N ) et inverser e modulo ϕ (N ). Cependant, il se pour-
dans le cas particulier où N est le produit de deux grands nombres rait qu’il existe une technique permettant de retrouver m sans
premiers, le problème de la factorisation paraît difficile [41]. On factoriser N. Il est difficile de calculer ϕ (N ), pour quiconque ne
peut remarquer qu’il existe un très grand nombre de nombres pre- connaît pas la factorisation de N. En effet, il est aussi difficile de
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 13
factoriser que de calculer ϕ (N ) = (p – 1) (q – 1). Il est évident que Ce problème est difficile si p fait 1 024 bits et q 160 bits. Le
si l’on sait factoriser, on peut calculer efficacement ϕ (N ). Réci- meilleur algorithme connu demande dans ce cas 280 opérations.
proquement, si on connaît la valeur ϕ (N ) = N + 1 – (p + q ), alors on La sécurité du mécanisme Diffie-Hellman repose sur un pro-
connaît le produit p · q et la somme de p et q, car blème relié au problème du logarithme discret mais a priori plus
p + q = N + 1 – ϕ (N ). Il ne reste plus qu’à résoudre une équation du facile [45].
second degré X 2 – [N + 1 – ϕ (N )] × X + N pour obtenir les racines p
et q. Soit p un nombre premier, q un grand nombre premier diviseur
de p – 1 et g un générateur du groupe Gq dans Z p* . Dans le proto-
Enfin, si e est petit, le problème RSA peut être résolu pour cole de Diffie et Hellman, pour échanger une clé de session k, une
l’ensemble négligeable des entiers inférieurs à N 1/e. En effet, si entité A tire a ∈ Z q* aléatoirement, calcule g a mod p et transmet
x < N 1/e, x e mod N = x e dans les entiers : la réduction modulaire cette valeur à B. De même, l’entité B tire b ∈ Z q* aléatoirement,
n’a pas été utilisée car x e < N. Il suffit donc d’extraire une racine calcule g b mod p et la transmet à A. La clé de session est dérivée
e-ième dans Z , ce qui est un problème facile. La difficulté du pro- de g ab mod p via une fonction de hachage k = H (g ab mod p). Les
blème RSA est donc de trouver x tel qu’il existe λ ∈ [0, N e –1[ véri- deux entités A et B peuvent calculer g ab mod p : à partir de
fiant x e = y + λN. Si λ est connu, alors on peut calculer y + λN et il g a mod p et b, B calcule (g a )b mod p, et réciproquement pour A.
suffit d’extraire une racine e-ième dans Z . Le but d’un adversaire est de calculer g ab mod p à partir des
échanges interceptés g a mod p et g b mod p. Formellement, on a le
3.2.2.2 Sécurité problème suivant :
Depuis son invention en 1977, plusieurs personnes ont tenté de
casser ce système. Dans l’article Twenty years of attacks on the
RSA cryptosystem [43], Dan Boneh dresse un tableau de toutes les Problème Diffie-Hellman
attaques sur ce système. Pour chiffrer avec ce système, on recom- Étant donné g a mod p et g b mod p, calculer g ab mod p.
mande d’utiliser un formatage probabiliste comme celui décrit
dans le standard PKCS #1 [42]. Le padding assure que le message
Il est clair que si l’on sait résoudre le problème du logarithme
à chiffrer soit suffisamment grand, supérieur à N 1/e, pour que la
discret, alors on peut résoudre le problème Diffie-Hellman. En
réduction modulaire soit utile. De même, le padding est randomisé
effet, si l’attaquant sait calculer a à partir de g a mod p, alors il
pour assurer la sécurité sémantique du schéma. Pour une analyse
peut calculer (g b )a mod p comme B pour résoudre le problème
des différentes méthodes de padding pour le système RSA, le lec-
Diffie-Hellman. Cependant, comme dans le cas du problème RSA,
teur lira l’article de David Pointcheval How to Encrypt Properly with
on ne sait pas si la réciproque est vraie. Est-ce qu’un attaquant
RSA [38].
sachant résoudre le problème Diffie-Hellman sait résoudre le pro-
blème du logarithme discret ?
En pratique, on ne chiffre pas des données avec un algorithme Pour chiffrer un message M, l’émetteur génère une clé de ses-
de chiffrement asymétrique. On utilise la cryptographie asymé- sion k pour un algorithme symétrique, l’AES par exemple, et chiffre
trique pour échanger une clé de session et la cryptographie symé- cette clé avec la clé publique RSA du destinataire, pk : c 0 = E pk (k ).
trique pour chiffrer les données avec cette clé de session. Puis il chiffre son message avec la clé de session de l’algorithme
En effet, l’avantage de la cryptographie à clé publique est de à clé sécrète c 1 = E k (M ). L’émetteur transmet c 0 et c 1 au destina-
garantir la confidentialité sans échange de clé préalable. En taire. En réception, ce dernier déchiffre c 0 en utilisant sa clé de
revanche, les systèmes à clé publique sont plus lents en pratique déchiffrement RSA et retrouve la clé de session k. Il peut ensuite
que les systèmes symétriques. Les systèmes asymétriques néces- déchiffrer c 1 en utilisant l’algorithme AES avec la clé k et obtient
sitent une arithmétique sur les grands nombres qui n’est pas direc- le message M.
tement câblée sur les processeurs aujourd’hui. Ainsi, les systèmes
sont environ 100 fois plus lents. Le chiffrement hybride utilise les
avantages des deux types de cryptographie pour chiffrer. On pré-
sente dans un premier temps le principe du mécanisme d’échange 3.4 Signature
de clé de Diffie et Hellman (§ 3.3.1) et dans un deuxième temps le
principe du chiffrement hybride (§ 3.3.2). Ces deux systèmes sont Les schémas de signature permettent de garantir l’intégrité d’un
très utilisés en pratique. fichier et l’authentification de l’émetteur. Les signatures électro-
niques doivent garantir les mêmes propriétés que les signatures
manuscrites. Elles doivent pouvoir être opposées aux signataires.
3.3.1 Échange de clé Diffie-Hellman La propriété de non-répudiation assure au destinataire d’un mes-
sage signé que son signataire ne pourra pas déclarer qu’il ne l’a
Contrairement au cryptosystème RSA qui permet de chiffrer, le pas signé.
mécanisme d’échange de clé de Diffie et Hellman permet d’échan-
ger une clé symétrique, mais ne permet pas de chiffrer. Dans leur Exemple : un juge peut vérifier qu’une facture a été signée et que
article précurseur [1], Diffie et Hellman ont décrit un mécanisme le client doit donc en payer le montant car il est le seul à avoir pu
permettant à deux entités de communiquer sans se rencontrer. générer la signature.
Pour présenter ce mécanisme, nous avons besoin de définir le pro-
blème du logarithme discret, très utilisé en cryptographie [44].
Les signatures électroniques sont entrées dans la législation
française depuis le 20 mars 2000. Aujourd’hui, elles nous per-
Problème du logarithme discret mettent par exemple de déclarer nos revenus sur Internet.
Contrairement aux codes d’authentification de messages qui
Étant donné un nombre premier p de grande taille, q un divi- garantissent aussi intégrité et authentification, les signatures élec-
seur premier de p – 1 de grande taille, g un générateur du troniques peuvent être vérifiées par toute personne qui connaît la
sous-groupe Gq , et un élément y aléatoirement choisi dans Gq , clé publique du signataire. De plus, la propriété de non-répudiation
trouver x mod q tel que y = g x mod p. ne peut pas être assurée par les systèmes symétriques car comme
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 14 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information
le destinataire partage la clé symétrique avec le signataire, ce — contrefaçon existentielle : un adversaire est capable de
dernier peut prétendre qu’un message signé l’a été par le desti- contrefaire une signature pour au moins un message. L’adversaire
nataire. Ainsi, seule la cryptographie à clé publique permet a peu ou pas de contrôle sur le message pour lequel la signature
d’atteindre cette propriété. Enfin, il est à remarquer qu’une clé de a été obtenue.
signature ne doit être connue que par son signataire pour assurer Il y a deux attaques de base sur les schémas de signature :
la non-répudiation. Cette exigence impose alors de prendre certai-
nes mesures de protection lors de la génération de la clé secrète. — attaque à clé seulement : dans certaines attaques, l’adver-
Par exemple, une clé de signature ne devrait pas être générée par saire connaît seulement la clé publique de vérification du
une autorité car l’autorité pourrait potentiellement connaître la clé. signataire ;
Dans le cas d’une clé de déchiffrement, la clé secrète peut être — attaques à messages : ici, l’adversaire est capable d’obtenir
connue par d’autres personnes. des signatures correspondant soit à des messages connus, soit à
des messages choisis :
Exemple : dans le cas de la confidentialité de dossiers médicaux, la • attaque à messages connus : un adversaire obtient des signa-
clé de déchiffrement peut être connue de l’hôpital et du médecin tures pour un ensemble de messages, connus par l’adver-
traitant. En effet, si ce dernier est en vacances lorsqu’un patient arrive saire mais qu’il n’a pas choisis,
à l’hôpital, il peut être utile de conserver une copie de la clé de déchif- • attaque à messages choisis : un adversaire choisit un
frement. ensemble de messages pour lesquels il obtient une signa-
ture. Cette attaque est non adaptative dans le sens où les
messages sont tous choisis avant que l’adversaire n’obtienne
3.4.1 Généralités sur les schémas de signature leur signature,
• attaque adaptative à messages choisis : l’adversaire peut uti-
Une signature électronique doit dépendre du signataire et du liser le signataire comme un oracle ; il demande des signatu-
document à signer. Les signatures manuscrites ne dépendent que res pour des messages qui dépendent de la clé publique et
du signataire mais ne peuvent pas être détachées du document. des signatures précédemment obtenues. Cette attaque est
Dans le monde électronique, il est aisé de copier un fichier et de l’analogue des attaques à chiffrés choisis dans le cas des
modifier son contenu. Les signatures électroniques ne peuvent schémas de chiffrement à clé publique (§ 2.1.1).
donc pas dépendre uniquement du signataire. Bien que les attaques adaptatives à messages choisis semblent
Un schéma de signature est composé d’un algorithme de géné- être impossibles à monter en pratique, un schéma de signature
ration de clé , d’un algorithme de génération de signature et bien conçu doit néanmoins résister à ces attaques.
d’un algorithme de vérification de signature . L’algorithme de
génération de clé retourne une clé publique pk et une clé de signa-
ture sk. Ensuite, l’algorithme prend comme entrée un message 3.4.3 Schémas de signature RSA, DSA et ECDSA
m et une clé sk et génère une signature s pour le message m.
L’algorithme de vérification de signature prend comme entrée le
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 15
et asymétriques
■ Comparaison
On peut comparer les différents schémas en fonction de la taille Dans cette partie, nous résumons quelques avantages et incon-
de la clé ou du temps de génération ou de vérification ou du pro- vénients des cryptosystèmes symétriques et asymétriques.
blème sur lequel repose la sécurité du schéma. Le schéma ECDSA Les points importants en pratique sont :
utilise des clés plus courtes et est le plus rapide en vérification. Le
schéma RSA est rapide pour la génération de signature. Le schéma — la cryptographie à clé publique permet de concevoir des sché-
DSA est plus rapide que RSA en vérification et a des signatures mas de signature efficaces qui garantissent la propriété de
plus courtes que RSA. L’avantage du schéma DSA par rapport au non-répudiation. Elle permet aussi de faciliter la distribution de clés
schéma ECDSA est que le problème du logarithme discret sur de session pour des systèmes symétriques ;
courbe elliptique est un problème plus récent et donc moins étudié — la cryptographie symétrique est très efficace pour chiffrer ou
que celui sur Z p* . De plus, le schéma DSA n’a pas de preuve de pour garantir l’intégrité et l’authentification des données.
sécurité, contrairement à RSA et ECDSA.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 16 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information
■ Dans un grand réseau, le nombre de clés est beaucoup plus Le fonctionnement du protocole IPsec est similaire à celui du
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
petit que dans un système symétrique car seulement 2n clés sont protocole SSL. Il est standardisé par l’IETF. Le protocole IPsec a été
nécessaires s’il y a n utilisateurs dans le réseau. conçu pour assurer la sécurité du protocole IP (Internet Protocol).
Il faut ajouter ce protocole de sécurité au protocole IP. La sécurité
du protocole est prise en compte de manière native dans la
version 6 du protocole IP, ce qui n’est pas le cas de la version 4
4.1.4 Inconvénients de la cryptographie utilisée actuellement. Il existe deux modes : l’un permettant de
asymétrique chiffrer de bout en bout et l’autre permettant la création de tunnels
sécurisés, c’est-à-dire que les données sont chiffrées uniquement
■ Les performances des systèmes asymétriques sont beaucoup entre deux routeurs par exemple et non à l’intérieur du réseau de
moins bonnes que celles des systèmes symétriques car ces sys- l’entreprise supposé sécurisé. Dans le cas d’un tunnel, tout le
tèmes nécessitent de pouvoir calculer sur des grands nombres. paquet IP est chiffré alors que seule la partie « données » est chif-
frée dans le cas d’un chiffrement de bout en bout car on ne peut
■ La taille des clés est généralement plus grande pour ces sys- pas chiffrer l’en-tête qui contient les adresses IP. Dans le cas d’un
tèmes que pour les systèmes à clé secrète. tunnel, les protocoles IPsec garantissent la confidentialité de
l’adresse IP. Cela peut aussi être garanti en utilisant des méca-
■ Aucun cryptosystème à clé publique n’a été prouvé incondition- nismes de translation d’adresse sur le routeur de sortie de l’entre-
nellement sûr. (On peut dire la même chose pour les algorithmes prise.
symétriques de chiffrement par bloc ou par flot.) Les cryptosys- Durant la première phase, le protocole Internet Key Exchange
tèmes à clé publique sont cependant prouvés sûrs si certaines (IKE) permet d’échanger la clé maître, d’authentifier les entités et
hypothèses de théorie algorithmique des nombres existent. de gérer les associations de sécurité (Security Association : SA).
Les associations de sécurité contiennent les algorithmes de chiffre-
■ La cryptographie à clé publique nécessite la mise en place d’une ment et de MAC, et les clés de chiffrement et d’authentification des
infrastructure de gestion de clé afin d’éviter les attaques par le données. Ces SA sont stockées dans des bases de données de
milieu. sécurité (SADB) en utilisant comme clé de la base de données
l’adresse IP de la machine émettrice et le numéro de SA. Ainsi,
quand une station du réseau reçoit un paquet IP sécurisé, elle uti-
Pour plus de détails, le lecteur est invité à consulter l’article
lise le bon algorithme de chiffrement et de MAC et la bonne clé de
Certification électronique [H 5 510].
chiffrement et de MAC.
Durant la deuxième phase, le protocole Encapsulated Security
Payload (ESP) permet de garantir la confidentialité et l’intégrité des
données, et de l’en-tête dans le cas d’un tunnel, alors que le pro-
4.2 SSL/TLS tocole Authentication Header (AH) permet de garantir l’intégrité
des paquets IP, y compris certaines données de l’en-tête des
Le protocole SSL (Secure Socket Layer) a été inventé par la paquets IP. En effet, les champs qui varient, comme le nombre de
société Netscape, puis standardisé au niveau de l’IETF sous le nom routeurs traversés, ne peuvent pas être utilisés pour calculer le
TLS (Transport Layer Security). MAC car les routeurs intermédiaires n’ont pas la clé de MAC.
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 17
Bibliographie
Références [14] BELLARE (M.), DESAI (A.), POINTCHEVAL (D.) [27] MERKLE (R.). – One Way Hash Functions and
et ROGAWAY (P.). – Relations Among Notions DES. Crypto ’89, LNCS, 435, p. 428-446, Sprin-
of Security for Public-Key Encryption Sche- ger-Verlag (1990).
[1] DIFFIE (W.) et HELLMAN (M.E.). – New Direc-
mes. Crypto ’98, LNCS 1462, p. 26-45, Sprin- [28] DAMGÅRD (I.B.). – A Design Principle for
tions in Cryptography. IEEE Transactions on
ger-Verlag (1998).
Information Theory, 22, no 6, p. 644-654 Hash Functions. Crypto ’89, LNCS, 435, Sprin-
(1976). [15] DOLEV (D.), DWORK (C.) et NAOR (M.). – ger-Verlag (1990).
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
[2] GOLDWASSER (S.), MICALI (S.) et RACKOFF Non-Malleable Cryptography. Proc. of the [29] FIPS PUB 180-1. Secure Hash Standard (SHS).
(C.). – The Knowledge Complexity of Interac- 23rd STOC, ACM Press, New York (1991). NIST (1995).
tive Proof Systems. Proc. of the 17th STOC, [16] GOLDWASSER (S.) et MICALI (S.). – Probabi- [30] DOBBERTIN (H.). – The Status of MD5 After a
p. 291-304, ACM Press (1985). listic encryption. Journal of Computer and Recent Attack. CryptoBytes, 2 (2), p. 1-6
[3] FEIGE (U.), FIAT (A.) et SHAMIR (A.). – Zero- System Sciences, 28, p. 270-299 (1984). (1996).
Knowledge Proofs of Identity. Journal of [17] KERCKHOFFS (A.). – La cryptographie militaire. [31] LAMPORT (L.). – Password Authentication with
Cryptology, 1, p. 77-95 (1988). Journal des sciences militaires, IX (1883). Insecure Communication. Communications of
[4] FIAT (A.) et SHAMIR (A.). – How to Prove http://www.cl.cam.ac.uk/~fapp2/kerckhoffs the ACM, 24, 11, p. 770-771 (1981).
Yourself : practical solutions of identification [32] BLUM (L.), BLUM (M.) et SHUB (M.). – A sim-
[18] MENEZES (A.), VAN OORSCHOT (P.) et
and signature problems. Crypto ’86, LNCS, ple unpredictable pseudo-random number
VANSTONE (S.). – Handbook of Applied Cryp-
263, p. 186- 194, Springer-Verlag (1987). generator. SIAM Journal of Computing, 15,
tography. CRC Press (1997).
p. 364-383 (1986).
[5] KAHN (D.). – La Guerre des Codes Secrets :
[19] VERNAM (G.S.). – Cipher Printing Telegraph [33] ANSI X9.17 : Financial Institution Key Mana-
des hiéroglyphes à l’ordinateur. Inter-Éditions
Systems for Secret Wire and Radio Telegra- gement (Wholesale). American National Stan-
(1980).
phic Communications. Journal of the Ameri- dards Institute (1985).
[6] SINGH (S.). – L’histoire des codes secrets. J.C. can Institute of Electrical Engineers, 45,
Lattès (2000). p. 109-115 (1926). [34] FIPS PUB 186. Digital Signature Standard
(DSS). NIST (1994).
[7] STERN (J.). – La Science du Secret. Odile [20] FEISTEL (H.). – Cryptography and Computer
Jacob (1998). [35] GOLDREICH (O.). – Foundations of Cryptogra-
Privacy. Scientific American, 228 (5), p. 15-23 phy. Cambridge University Press, Weizmann
[8] SHANNON (C.E.). – Communication Theory of (1973). Institute of Science (2001).
Secrecy Systems. Bell System Technical Jour- [21] FIPS PUB 46-3. Data Encryption Standard
nal, 28 (4), p. 656-715 (1949). [36] RIVEST (R.L.), SHAMIR (A.) et ADLEMAN (L.M.).
(DES). NIST (1999). – A method for obtaining digital signatures and
[9] GAREY (M.R.) et JOHNSON (D.S.). – Compu- public-key cryptosystem. Communications of
[22] FIPS PUB 81. DES Modes of Operation. NIST
ters and Intractability, A Guide to the Theory the ACM, 21 (2), p. 120-126 (1978).
(1980).
of NP-Completeness. Freeman, New-York
[23] FIPS PUB 197. Advanced Encryption Standard [37] BELLARE (M.) et ROGAWAY (P.). – Optimal
(1979).
(AES). NIST (2000). Asymetric Encryption – How to Encrypt with
[10] PAPADIMITRIOU (C.H.). – Computational RSA. Eurocrypt ’94, LNCS, 950, p. 92-111,
Complexity. Addison-Wesley Publishing [24] RACKOFF (C.) et SIMON (D.R.). – Non-Interac- Springer-Verlag (1994).
Company (1995). tive Zero-Knowledge Proof of Knowledge and [38] POINTCHEVAL (D.). – How to Encrypt Properly
[11] IEEE P1363 Standard Specifications For Chosen Ciphertext Attack. Crypto ’91, LNCS, with RSA. CryptoBytes, 5 (1), p. 10-19 (2002).
Public-Key Cryptography 576, p. 433-444, Springer-Verlag (1992).
[39] BLEICHENBACHER (D.). – Chosen Ciphertext
http://grouper.ieee.org/groups/1363 [25] CARTER (L.) et WEGMAN (M.). – Universal Attacks Against Protocols Based on the RSA
[12] New European Schemes for Signatures, Inte- Hash Functions. Journal of Computer and Encryption Standard PKCS #1. Crypto ’98,
grity and Encryption (NESSIE) System Science, 18, p. 143-154 (1979). LNCS, 1462, p. 1-12, Springer-Verlag (1998).
http://www. cryptonessie.org [26] WEGMAN (M.) et CARTER (L.). – New Hash [40] LENSTRA (A.K.) et LENSTRA Jr. (H.W.). – The
[13] CRYPTREC Functions and their use in Authentication and Development of the Number Field Sieve. Lec-
http://www.ipa.go.jp/security/enc/CRYPTREC/ Set Equality. Journal of Computer and Sys- ture Notes in Mathematics, 1554, Sprin-
index-e.html tem Science, 22, p. 265-279 (1981). ger-Verlag (1993).
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
H 5 210 − 18 © Techniques de l’Ingénieur, traité Sécurité des systèmes d’information
[41] COHEN (H.). – A Course in Computational [48] BELLARE (M.) et ROGAWAY (P.). – The Exact Algorithms and Complexity). Elsevier, MIT Press
Algebraic Number Theory. Graduate Texts in Security of Digital Signatures - How to Sign (1990).
Mathematics, 138, Springer-Verlag (1993). with RSA and Rabin. Eurocrypt ’96, LNCS, SCHNEIER (B.). – Cryptographie Appliquée. Interna-
1070, p. 399-416, Springer-Verlag (1996). tional Thomson Publishing France, Paris (1995).
[42] PKCS #1 : RSA Cryptography Standard. Version
2.1. RSA Security (2002). [49] ITU Rec. X.509 3-2000 Information technology Traduction de « Applied Cryptography, Proto-
http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1 – Open Systems Interconnection – The Direc- cols, Algorithms, and Source Code in C », John
tory : Public-key and attribute certificate fra- Wiley & Sons (1994).
[43] BONEH (D.). – Twenty years of attacks on the meworks. STINSON (D.R.). – Cryptography, Theory and Prac-
RSA cryptosystem. Notices of the American
[50] ISO/IEC 9594-8 2-2002 Technologies de l’infor- tice. CRC Press (1995).
Mathematical Society (AMS), p. 203-213
(1999). mation – Interconnexion des systèmes
ouverts (OSI) L’annuaire : Cadre général des
[44] LENSTRA (A.K.) et LENSTRA Jr. (H.W.). – certificats de clé publique et d’attribut (correc-
« Algorithms in number theory ». Dans Hand- Dans les Techniques de l’Ingénieur
tifs 1 à 4 publiés en 2002 et 2003).
book of Theoretical Computer Science
(Volume A : Algorithms and Complexity). [51] HOUSLEY (R.). – Cryptographic Message Syn- MAIGRON (P.). – Securité des e-mails : PGP et
Elsevier, MIT Press (1990). tax (CMS). RFC 3309, IETF (2002). S/MIME. H 5 330, traité Informatique (2003).
[45] BONEH (D.). – The decision diffie-hellman FILIOL (E.). – Virus informatiques. H 5 440, traité
problem. Proc. of the Third Algorithmic Num- Informatique (2003).
ber Theory Symposium, LNCS, 1423, p. 48-63, Ouvrages et articles RIBIÈRE (G.). – Certification électronique. H 5 510,
Springer-Verlag (1998). traité Informatique (2003).
[46] GOLDWASSER (S.), MICALI (S.) et RIVEST LENSTRA (A.K.) et VERHEUL (E.R.). – Selecting LAURENT-MAKNAVICIUS (M.). – Protocole IPsec.
(R.). – A Digital Signature Scheme Secure cryptographic key sizes. Journal of cryptology IP 5 605, traité Informatique (2003).
Against Adaptative Chosen-Message Attacks. (1999). MÜHLETHALER (P.). – Sécurité dans les réseaux
SIAM Journal of Computing, 17 (2), p. 281-308 BELLARE (M.) et GOLDWASSER (S.). – Lecture sans fil : norme IEEE 802.11. TE 7 377, traité
(1988). Notes on Cryptography (2001). Télécoms (2003).
[47] POINTCHEVAL (D.) et STERN (J.). – Security http://www.cs.ucsd.edu/users/mihir/papers/ CELLMER (J.). – Réseaux cellulaires : système
Arguments for Digital Signatures and Blind gb.html UMTS. TE 7 368, traité Télécoms (2002).
Signatures. Journal of Cryptology, 13 (3), RIVEST (R.L.). – « Cryptography ». Dans Handbook CELLMER (J.). – Réseaux cellulaires : système GSM.
p. 361-396 (2000). of Theoretical Computer Science (Volume A : E 7 364, traité Télécoms (1999).
Parution : novembre 2003 - Ce document a ete delivre pour le compte de 7200051538 - cnam // 163.173.128.143
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sécurité des systèmes d’information H 5 210 − 19
RÉDIGÉE ET VALIDÉE MISE À JOUR 100 % COMPATIBLE SERVICES INCLUS
PAR DES EXPERTS PERMANENTE SUR TOUS SUPPORTS DANS CHAQUE OFFRE
NUMÉRIQUES
Questions aux experts* Articles Découverte Dictionnaire technique multilingue Archives Info parution
Les meilleurs experts techniques La possibilité de consulter 45 000 termes en français, anglais, Technologies anciennes et versions Recevez par email toutes les nouveautés
et scientifiques vous répondent des articles en dehors de votre offre espagnol et allemand antérieures des articles de vos ressources documentaires
*Questions aux experts est un service réservé aux entreprises, non proposé dans les offres écoles, universités ou pour tout autre organisme de formation.
www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : [email protected]