Crypto-talk-gea-1401
Transcript of Crypto-talk-gea-1401
Groupe Ecoles Abidjan
Dr DIALLO Mohamed
Janvier 2017
Cryptologie
Plan de l’intervention
1. Un peu d’histoire2. Bases théoriques de la cryptologie3. Questions
Janvier 2017
Janvier 2017
• Les termes cryptographie et cryptologie ont pour étymologie kruptos : caché et
graphein : écrire ou logos : science.• C'est un domaine qui cultive les paradoxes. Plusieurs fois millénaire, la cryptologie
n’a véritablement acquis un statut de science qu’au sortir de la seconde guerre mondiale.
• Quelle est sa nature ? un art, une technique, une science ? Pour Jacques Stern, elle fût successivement les trois :
• l'aire artisanale : des débuts de l’écriture à la première guerre mondiale• l'aire technique : de l'entre deux guerre jusqu'au années 50/60• l'aire scientifique : depuis les années 1960
Introduction
Eléments de terminologie•Les termes cryptologie et cryptographie sont pratiquement équivalents. Les puristes réservent le premier pour désigner le domaine scientifique alors qu'ils emploient le second pour désigner les moyens et méthodes mis en œuvre dans ce cadre.•Le chiffrement ou chiffrer, est l'action qui permet de passer d'un message intelligible ou clair à sa forme protégée : le message chiffré.•Le déchiffrement ou déchiffrer, est l’opération inverse qui permet de passer d'un message chiffré à un message clair.•Le décryptement ou décrypter, est une opération qui produit un résultat similaire au déchiffrement mais qui est réalisé sans disposer initialement du secret permettant de passer du message chiffré au message en clair. La cryptanalyse est la branche de la cryptologie dédiée aux opérations de décryptement.•Remarque crypter est un anglicisme qui n'existe pas ... officiellement en Français. Il est cependant de plus en plus utilisé.
Janvier 2017
Un peu d’histoire
Janvier 2017
Une première trace historique•Environ 500 ans avant J- C, Hérote rapporte que ‐ Histiée, retenu par Darius à Suse, envoya un esclave à Aristagoras de Milet. Arrivé à destination l’esclave avait pour consigne de déclarer : « Rase- moi le crâne ». Aristogoras fit venir un barbier, sur le crane rasé de l’esclave il put alors lire la phrase tatouée :
«Histiée conseille à Aristogoras de se révolter contre les Perses ».
•Ce procédé présente une certaine fiabilité : l’interception du message par un tiers est forcément remarquée.
•Mais il demande un temps particulièrement long : il faut raser et tatouer un esclave puis attendre la repousse de ses cheveux.
Janvier 2017
La scytale: Une première forme de transposition• Utilisé dès le Veme siècle avant JC. Elle fonctionne selon un principe de
transposition.• Le message est rédigé sur une lanière enroulée autour d'un cylindre de
diamètre prédéterminé, la scytale. La lanière est transportée jusqu’à son destinataire qui peut alors déchiffrer le message grâce à une scytale de même dimension.
• La cryptanalyse d'une telle méthode de chiffrement s’avère très simple.
Janvier 2017
Source wikipédia
Le code César une des premières formes de substitution • Le code César doit son nom à Jules César qui l'utilisa abondamment dans ses
correspondances, il repose sur le principe de substitution.•L’idée est de décaler les lettres de l'alphabet d'une valeur clé il s’agit d’une substitution mono- alphabétique. ‐ César utilisait le chiffre 3 transformant les a en d … et les z en c.•Les substitutions alphabétiques sont à l'origine de très nombreuses méthodes de chiffrement. Ce type de code est particulièrement faible, le chiffrement n’affectant pas réellement les fréquences de distribution des lettres dans un texte.
Janvier 2017Janvier 2017
Source wikipédia
Le chiffre de Vigenère, substitution poly-alphabétique• A la fin de la renaissance Trithème, Bellaso, Della Porta et Vigenère décrivent
des systèmes de chiffrement poly- alphabétiques où les substitutions sont réalisées non plus à partir d’une valeur unique comme avec le code César mais sur un ensemble de valeurs composant la clé. La description de leur système est accompagnée d’une table facilitant la mise en œuvre du mécanisme
• Ce principe demeurera inviolable près de 300 ans.
Janvier 2017
Le chiffre de Vigenère
Janvier 2017
M E S S A G E C L A I R
V I G E N E R E V I G N
H M Y W N K V G G I O V
Chiffré
Clair
Clé Chiffré
Clair
Clé
Chiffrement DéchiffrementSource wikipédia
Procédé autoclave•Le chiffre de Vigenère sera très rapidement amélioré par le procédé«autoclave» qui consiste à compléter la clé par le texte clair au lieu de la répéter. Cette technique complexifie les tentatives de cryptanalyse … pour peu que la clé ait, de base, une certaine longueur.• Son principal défaut est que toute erreur de transmission du message chiffré
le rend quasiment indéchiffrable
Janvier 2017
M E S S A G E C L A I R
V I G E N E R E M E S A
H M Y W N K V G X E A R
Babbage: la cryptanalyse du chiffre de Vigenère• Au milieu des années 1850 Charles Babbage réalise la crytanalyse du chiffre de
Vigenère … mais ne publie pas sa découverte qui reviendra en 1863 à un officier prussien Friedrich Kasiski.
• Le chiffre de Vigenère «lisse» les fréquences d’apparition des lettres dans le texte chiffré.
Janvier 2017
Cryptanalyse du chiffre de Vigenère (Suite)•Mais Babbage remarque que l’on peut traiter le problème en se basant sur les répétitions de groupes de lettres pour en déduire le nombre de facteurs de la clef. Puis par une méthode de fréquence de distribution des lettres chiffrées il devient ensuite possible de déduire les lettres du texte clair.
Janvier 2017
http://bit.ly/2iqcZrY
Vernam: l’introduction du masque jetable•Le masque jetable est le seul algorithme de chiffrement indécryptable. C'est un chiffre de Vigenère réalisé avec une clef aléatoire, à usage unique et de même longueur que le message clair.
•Le système du masque jetable fut inventé par Gilbert Vernam en 1917, puis perfectionné par le major Joseph O. Mauborgne.
•Il pose cependant des difficultés particulièrement lourdes de génération, de diffusion et d’usage des clés
Janvier 2017
http://bit.ly/2iqcZrY
M E S S A G E C L A I R
A S E E X C W L M P Z A
M W W W X I A N X P H R
Source wikipédia
Janvier 2017
Shannon: la preuve formelle du masque jetable• La notion de sécurité sémantique ou inconditionnelle est introduite par Claude
Shannon, dans son article Communication theory of secrecy systems paru en 1949.
•S h a n n o n p ro u ve que le systè m e du ma sq u e jeta b l e est inconditionnellement sûr : si l’on ne dispose que du message chiffré, il est impossible de déduire une information quelconque sur le message en clair.•60 ans plus tard Le masque jetable demeure le seul système dont la sécurité inconditionnelle est prouvée. Il jouera, pour cette raison, un rôle important dans les échanges diplomatiques de la guerre froide au travers du « téléphone rouge » déployé dès 1963
Janvier 2017Janvier 2017Source wikipédia
http://bit.ly/2iShKvw
Principe du chiffrement symétrique
• Utilise la même clé pour chiffrer et déchiffrer le message• Les méthodes de chiffrement peuvent être extrêmement
efficace, nécessitant un traitement minimal• Aussi bien l’émetteur et le récepteur doit posséder la clé de
chiffrement• Si une des copies de la clé est compromise, un intermédiaire
peut déchiffrer et lire les messages
Janvier 2017
Chiffrement Symétrique
Janvier 2017
Canal sûr
Une nouvelle approche du chiffrement • Depuis l’antiquité le chiffrement symétrique à été
largement utilisé. • Une approche radicalement nouvelle à vue le jour à
la fin des années 1970 : le chiffrement asymétrique
Janvier 2017
Chiffrement asymétrique•Le concept de cryptographie asymétrique ou à clé publique est dû à W. Diffie et à M. Hellman qui publient en 1976 New Directions in Cryptography. Ils ne proposent cependant pas de moyen pratique pour la mise en œuvre de cette approche où chiffrement et déchiffrement ne sont pas réalisés à partir de la même clé.
•Le principe : afin de communiquer avec Bernard, Alice chiffre un message avec la clé publique de Bernard seul celui- ci ‐ sera alors en mesure de le déchiffrer avec sa clé Privée.
•L’algorithme RSA proposé en 1977 par Ron Rivest, Adi Shamir et Len Adleman met concrètement en application le principe de cryptologie asymétrique. Il repose sur l’arithmétique des nombres premiers et des opérations d’exponentiation modulaire
•Aujourd’hui le chiffrement asymétrique est employé quotidiennement. Mais sous forme mixte, en association avec des procédés symétriques tels que AES. Le chiffrement asymétrique présente, en effet, un faible rendement et de forts besoins en ressources de calcul.
Janvier 2017
Principes du chiffrement à clé publique
Janvier 2017
• Chaque individu dispose de deux clés:– Une clé privée: qui ne doit être connu de personne – Une clé publique: qui peut être connu de tous
Msg clair
Msg chiffré Msg clair
Msg chiffré
déchiffrement
chiffrement
Private key
Clé publique
Bases théoriques de la cryptologie
Janvier 2017
Notion de complexité algorithmique• La sécurité des systèmes cryptographiques modernes repose sur le fait que
les méthodes de cryptanalyses qui leur sont applicables imposent des calculs qui demeurent, en pratique, hors de notre portée de par leur complexité.
•Exemples de complexité algorithmique en fonction de la taille des données n ( durée relative pour n=106 ):
• Θ(1) complexité constante, accès un élément de tableau : 10.10- 9‐ s, ns• Θ(log(n)) complexité logarithmique, dichotomie : 60.10- 9‐ s• Θ(n) complexité linéaire, parcours liste : 10.10- 3‐ s, ms• Θ(nlog(n)) quasi- linéaire, ‐ quick sort : 60.10- 3‐ s• Θ(np) complexité polynomiale, multiplication matricielle d'ordre n, n3 : 1010s ou 316
ans• Θ(2n) complexité exponentielle, décomposition d’un entier en facteurs premiers :
n≈250 1075s ou 1060 ans
Janvier 2017
Algorithmes de Hachage• Les algorithmes de hachage sont utilisés afin de calculer
une empreinte ou condensat d’un ensemble de données.•Ils doivent répondre à des besoins distincts :
• Leur fonctionnement doit être rapide et peu consommateur en ressources
• Les condensats doivent avoir une taille limitée : quelques dizaines à centaines d’octets
• Les empreintes produites doivent minimiser les risques de collisions : deux sources proches doivent produire des empreintes éloignées.
Janvier 2017
Algorithme de Hachage (Suite)•MD5 : empreintes de 128 bits, des vulnérabilités avérées depuis la fin des années 1990. Son utilisation est a proscrire en cryptologie mais pas forcément dans tous les domines de la sécurité.•SHA- 1 ‐ : empreintes de 160 bits, des vulnérabilités récemment décrites conduisent à privilégier la famille d’algorithmes SHA- 2 ‐ sa variante 512 voire SHA- 3 ‐ dès qu’il sera disponible.• La taille du message à traiter est amené, par padding, à un multiple de 512• Pour chaque bloc de 512 bits 80 rondes de transformations réentrantes suivies de 80
tours de rotations et d’additions.• Addition du résultat avec le vecteur initial. Lorsque tous les blocs ont été traités, les cinq
variables concaténées (5 × 32 = 160 bits) représentent la signature.
Janvier 2017
Schémas de Feistel• Un schéma ou réseau de Feistel
est une construction utilisée dans les algorithmes de chiffrement par bloc. Utilisée pour la première fois dans Lucifer et DES, cette structure offre divers avantages :
• Les processus de chiffrement et de déchiffrement ont une architecture très similaire.
• L'implémentation matérielle est relativement simple à réaliser.
• Un réseau de Feistel repose sur des principes simples de permutations, substitutions, échanges de blocs et une fonction prenant en entrée une clé intermédiaire à chaque étage.
Janvier 2017
Du DES à l’AES•Dans les années 1960 de nouveaux besoins d’usage de la cryptographie apparaissent dans le domaine civil. Au début des années 1970, Horst Feistel mène des recherches pour IBM sur un chiffrement par blocs mixant transpositions et substitutions. La famille des algorithmes Lucifer sera à l’origine du Data Encryption Standard, normalisé en 1976, après des modifications imposées par la NSA.
•Le DES s’appuie sur des clés de chiffrement symétriques de 56 bits Il sera complété par le Triple‐DES doté de 3 clés de 56 bits mais d’une force effective de 112 bits.
•AES sera normalisé en 2000 après un concours public ouvert en 1997. Cet algorithme de chiffrement symétrique par blocs peut gérer des clés de 128, 192 et 256 bits. Il présente d’importantes garanties sur sa fiabilité
• DES est un algorithme basé sur un schéma de Feistel, il traite des blocs de 64 bits avec une clé de 56 bits complétée par 8 bits de parité (un par octet).
• AES n'a pas subi, à ce jour, de cryptanalyse. Rijndael a été conçu afin de complexifier des méthodes classiques comme la cryptanalyse linéaire ou différentielle.
Janvier 2017
Notion de mode d’opération• Les algorithmes de chiffrement par bloc se focalisent sur le
traitement d’un bloc de données. Or les messages clairs dépassent majoritairement cette taille.
•Un mode d'opération est la l’algorithme employé afin de traiter la succession des blocs clairs et chiffrés. Il existe de nombreux modes d’opération correspondant à des performances et des niveaux de sécurité différents, les plus couramment implémentés sont :
• Electronic Code Book, ECB• Cipher Block Chaining, CBC• Cipher Feedback, CFB• Output Feedback, OFB• CounTeR, CTR
Janvier 2017
Mode d’opération (Suite)• L’exemple ci dessous met en exergue le faiblesses du mode ECB
par rapport au CBC sur le chiffrement simple d’une image
Janvier 2017
Source wikipédia ECB CBC
Comparaison modes ECB et CBC
Janvier 2017
ECB
CBC
Principes du RSA• Choix de p et q deux premiers de grande taille:
• Calcul de n = p.q et de ф(n)=(p 1).(q 1) où ф(n) est l'indicatrice d'Euler‐ ‐• Choix de e tel que e et ф(n) soient premiers entre eux• Calcul de e.d ≡ 1 mod(ф(n)) ⇔ d ≡ e 1 mod(ф(n)) , d est l'inverse modulaire de e‐
•Le couple (e, n) constitue la clé publique et (d, n) la clé privée
•Avec M un message clair et C son chiffre on a C = Me mod(n) et M=Cd mod(n).
•Exemple : Bernard calcule un bi- clé et diffuse sa clé publiqueChoix p=31 et q=23 → n=31x23=713 ; ф(n)=(31- 1)x(23 1)=660‐Choix e=7 valide car 7 et 660 n'ont pas de facteurs communsOn trouve: d=283
Janvier 2017
Principe du RSA (suite)
Janvier 2017
• Clé publique de Bernard (7, 713), diffusée.• Clé privée de Bernard (283, 713) , Alice souhaite transmettre un message
protégé à Bernard : 123. • Elle se procure la clé publique de Bernard (7,713) puis chiffre son message :
1237 mod(713) = 495
Remarque : elle ne PEUT PAS LE DECHIFFRER
• Bernard déchiffre le message avec sa cl privée : é́ 495283 mod 713 = 123
La signature numérique•Alice transmet un message accompagné de son hachage qu’elle a préalablement calculé puis chiffré à l’aide de sa clé privée. Le condensat ne pourra être déchiffré qu’avec la clé publique d’Alice, dont on est assuré qu’elle est à l’origine du chiffrement car Alice est la seule à détenir sa clé privée.
•Si Bernard parvient à vérifier que le condensat déchiffré, à l’aide de la clé publique d’Alice, correspond au condensat recalculé du message il est, alors, sûr que le message est identique à celui qu’Alice à transmis.
•Alice a réalisé une opération de signature numérique, Bernard en a vérifié l’authenticité.
Janvier 2017
Echange de clé sûr avec Diffie-Hellman
Janvier 2017
Wikipédia.fr
Les risques en cryptologie
• De nombreux experts en cryptologie , dont Bruce Schneier, distinguent trois niveaux de matérialisation des risques en la matière:• L’algorithme: le principe de base sur lequel repose le crypto-système
est-il fiable et éprouvé ?• L’implémentation: la concrétisation technique de l’algorithme
retenu est-elle exempte d’erreurs ou d’omissions qui en diminuerait la fiabilité ?
• L’usage: les conditions d’emploi du système ou les pratiques de ses utilisateurs ne diminuent-elles pas la sécurité du système.
Janvier 2017
Importance de la longueur de clé
Janvier 2017
Pour s’entraîner pour le challenge• https://cryptopals.com/• https://uva.onlinejudge.org/
Janvier 2017
RéférencesJean-Louis Brunel, Didier Martin, Jean- Pierre Yamin, Cours CNAM RSX 112 - Sécurité et Réseaux.
Janvier 2017