Crypto-talk-gea-1401

37
Groupe Ecoles Abidjan Dr DIALLO Mohamed [email protected] Janvier 2017 Cryptologie

Transcript of Crypto-talk-gea-1401

Page 1: Crypto-talk-gea-1401

Groupe Ecoles Abidjan

Dr DIALLO Mohamed

[email protected]

Janvier 2017

Cryptologie

Page 2: Crypto-talk-gea-1401

Plan de l’intervention

1. Un peu d’histoire2. Bases théoriques de la cryptologie3. Questions

Janvier 2017

Page 3: Crypto-talk-gea-1401

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

Page 4: Crypto-talk-gea-1401

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

Page 5: Crypto-talk-gea-1401

Un peu d’histoire

Janvier 2017

Page 6: Crypto-talk-gea-1401

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

Page 7: Crypto-talk-gea-1401

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

Page 8: Crypto-talk-gea-1401

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

Page 9: Crypto-talk-gea-1401

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

Page 10: Crypto-talk-gea-1401

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

Page 11: Crypto-talk-gea-1401

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

Page 12: Crypto-talk-gea-1401

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

Page 13: Crypto-talk-gea-1401

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

Page 14: Crypto-talk-gea-1401

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

Page 15: Crypto-talk-gea-1401

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

Page 16: Crypto-talk-gea-1401

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

Page 17: Crypto-talk-gea-1401

Chiffrement Symétrique

Janvier 2017

Canal sûr

Page 18: Crypto-talk-gea-1401

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

Page 19: Crypto-talk-gea-1401

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

Page 20: Crypto-talk-gea-1401

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

Page 21: Crypto-talk-gea-1401

Bases théoriques de la cryptologie

Janvier 2017

Page 22: Crypto-talk-gea-1401

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

Page 23: Crypto-talk-gea-1401

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

Page 24: Crypto-talk-gea-1401

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

Page 25: Crypto-talk-gea-1401

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

Page 26: Crypto-talk-gea-1401

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

Page 27: Crypto-talk-gea-1401

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

Page 28: Crypto-talk-gea-1401

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

Page 29: Crypto-talk-gea-1401

Comparaison modes ECB et CBC

Janvier 2017

ECB

CBC

Page 30: Crypto-talk-gea-1401

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

Page 31: Crypto-talk-gea-1401

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

Page 32: Crypto-talk-gea-1401

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

Page 33: Crypto-talk-gea-1401

Echange de clé sûr avec Diffie-Hellman

Janvier 2017

Wikipédia.fr

Page 34: Crypto-talk-gea-1401

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

Page 35: Crypto-talk-gea-1401

Importance de la longueur de clé

Janvier 2017

Page 36: Crypto-talk-gea-1401

Pour s’entraîner pour le challenge• https://cryptopals.com/• https://uva.onlinejudge.org/

Janvier 2017

Page 37: Crypto-talk-gea-1401

RéférencesJean-Louis Brunel, Didier Martin, Jean- Pierre Yamin, Cours CNAM RSX 112 - Sécurité et Réseaux.

Janvier 2017