Pages vues le mois dernier

mercredi 29 mai 2013

Le chiffrement symétrique

Cryptage à clef privé

Le chiffrement symétrique (aussi appelé chiffrement à clé privée ou chiffrement à clé secrète) consiste à utiliser la même clé pour le chiffrement et le déchiffrement.Le chiffrement consiste à appliquer une opération (algorithme) sur les données à chiffrer à l'aide de la clé privée, afin de les rendre inintelligibles. Ainsi, le moindre algorithme (tel qu'un OU exclusif) peut rendre le système quasiment inviolable (la sécurité absolue n'existant pas).
Toutefois, dans les années 40, Claude Shannon démontra que pour être totalement sûr, les systèmes à clefs privées doivent utiliser des clefs d'une longueur au moins égale à celle du message à chiffrer. De plus, le chiffrement symétrique impose d'avoir un canal sécurisé pour l'échange de la clé, ce qui dégrade sérieusement l'intérêt d'un tel système de chiffrement.
Le principal inconvénient d'un cryptosystème à clefs secrètes provient de l'échange des clés. En effet, le chiffrement symétrique repose sur l'échange d'un secret (les clés). Ainsi, se pose le problème de la distribution des clés :
D'autre part, un utilisateur souhaitant communiquer avec plusieurs personnes en assurant deux niveaux de confidentialité distincts doit utiliser autant de clés privées qu'il a d'interlocuteurs. Pour un groupe de N personnes utilisant un cryptosystème à clés secrètes, il est nécessaire de distribuer un nombre de clés égal à N * (N-1) / 2.
Ainsi, dans les années 20, Gilbert Vernam et Joseph Mauborgne mirent au point la méthode du One Time Pad (traduisez méthode du masque jetable, parfois appelé « One Time Password » et noté OTP), basée sur une clé privée, générée aléatoirement, utilisée une fois et une seule, puis détruite. À la même époque, le Kremlin et la Maison Blanche étaient reliés par le fameux téléphone rouge, c'est-à-dire un téléphone dont les communications étaient cryptées grâce à une clé privée selon la méthode du masque jetable. La clé privée était alors échangée grâce à la valise diplomatique (jouant le rôle de canal sécurisé).

http://www.commentcamarche.net
 


mardi 28 mai 2013

La machine Enigma


En 1923, l'ingénieur allemand Arthur Scherbius breveta une machine conçue pour faciliter les communications sécurisées. Son nom, Enigma, est devenu synonyme de secret militaire et évoque des images de laboratoires souterrains et de machines à structures compliquées. Avec toute sa  sophistication, Enigma n'est en fait qu'une version améliorée du disque d'Alberti. En raison de sa relative facilité d'utilisation et de la complexité du chiffrement qu'elle permet, Enigma fut choisie par le gouvernement allemand comme base de codage d'une bonne partie de son trafic de communication militaire pendant la Seconde Guerre mondiale. Son décryptage devint ainsi une priorité absolue des gouvernements qui affrontèrent l'Allemagne nazie. L'histoire de son décryptage est un récit fascinant ou interviennent principalement les services de renseignements de Pologne et du Royaume-Uni. Parmi ses héros, un mathématicien génial, Alan Turing, est l'homme que l'on considère comme le père de l'informatique moderne. L'aventure entreprise pour casser le code a eu pour résultat, en outre, le premier ordinateur de l'histoire.
La machine Enigma était un engin électronique très semblable à une machine a écrire. Elle était constituée d'un clavier et d'un tableau lumineux de 26 lettres, de trois rotors, montés sur des axes, avec 26 position possibles, et d'un pupitre de connexion installé entre le clavier et le premier rotor, dont le rôle était de réaliser un premier échange de lettre  en fonction de la manière dont on positionnait les connexions. Le processus physique de chiffrement était relativement simple. D'abord, l'émetteur disposait les connexions et les rotors dans la position de sortie spécifiée par le livre des clés qui étaient valides à ce moment-là. Ensuite, il tapait sur le clavier la première lettre du message en clair et la machine, de manière automatique, générait une autre lettre qui apparaissait sur le tableau lumineux: la première lettre du message chiffré. Ensuite, le premier rotor effectuait une rotation qui le plaçait dans l'une de ses 26 positions possibles. La nouvelle position du rotor comportait en elle-même un nouveau chiffrement des caractères et l'émetteur introduisait alors la deuxième lettre et ainsi de suite.

schéma du fonctionnement d'Enigma
réduit à 6 lettres.
Pour décoder le message, il suffisait d'introduire les caractères chiffrés dans une autre machine Enigma, à condition que les paramètres de sortie de cette dernière soient égaux à ceux de la machine avec laquelle avait été chiffré le message.
Comme on l'a déjà dit, les rotors de l'Enigma avaient 26 positions, une pour chaque lettre de l'alphabet. Ainsi, un rotor pouvait accomplir 26 chiffres distincts. La position initiale du rotor est, par conséquent, la clé. Pour augmenter le nombre de clés possibles, l'Enigma pouvait comporter jusqu'à trois rotors, connectés entre eux mécaniquement. Ainsi, quand le premier rotor faisait un tour complet, le suivant en commençait un autre, et ainsi de suite jusqu'a ce que soient effectuées les rotations complètes des trois rotors, soit un total de 26 X 26 X 26 = 17576 chiffres possibles. En outre, la conception de Scherbius permettait d'intervertir l'ordre des rotors; ce qui augmentait encore le nombre de clés.En plus des trois rotors, Enigma disposait d'un pupitre de connexion, situé entre le premier rotor et le clavier. Ce pupitre de connexion permettait d'intervertir des paires de lettre avant la connexion au rotor, ce qui ajoutait un nombre considérable de clés supplémentaires au chiffrement.

La machine standard disposait de 6 cordons de connexions, avec lesquelles on pouvait intervertir jusqu'à six paire de lettres.
Par conséquent, le nombre total de clés possibles qu'offre la machine Enigma de trois rotors de 26 lettres et un pupitre de connexions de six fiches est le suivant :
  1. En ce qui concerne les rotation des rotors, 26^3=26 X 26 X 26 = 17576 combinaisons.
  2. De même, les trois rotors(1,2,3) pouvaient permuter entre eux et occuper les positions 1-2-3, 1-3-2, 2-1-3, 2-3-1, 3-1-2, 3-2-1; ce qui donne, dans ce cas, six combinaisons supplémentaires possible liées a l'ordre des rotors.
  3. Pour les six fiches du pupitre de connexion; 100 391 791 500 combinaisons, à elles seules.
Le nombre total de clés s'obtient en multipliant les différentes combinaisons énumérées : 6 X 17576 X 100 391 791 500 = 10 586 916 764 424 000. Par conséquent, les machines Enigma pouvaient chiffrer un texte en utilisant plus de dix mille billions de combinaisons différentes. Nul doute que le Reich devait être tranquille en confiant ses communications de plus haut niveau à la machine de Scherbius.

Cédric Villani, Le monde est mathématique, n°2: Codage et cryptographie, mars 2013.
 

mercredi 22 mai 2013

La cryptographie dans l'antiquité


La cryptographie (du grec Kruptos : cacher , et de Graphein : écrire) a toujours existé. Ce sont les Spartiates qui ont, les premiers, compris qu'il fallait plus que de la force pour gagner des batailles. C'est pourquoi ils essayèrent de trouver des moyens de s'envoyer des messages que l'ennemi ne pourrait pas intercepter. Mais ils comprirent très vite qu'il était très difficile d'inventer de nouveaux moyens de communication. Ils essayèrent alors de cacher l'existence même du message , c'est la stéganographie (du grec Steganos : impénétrable et de Graphein : écrire).


Entre le Ve et le VIIe siècle avant J.C, ils inventèrent donc la Scytale ou "bâton de Plutarque" qui était un bâton de bois utilisé pour lire ou écrire un message chiffré. Elle est considérée comme le plus ancien dispositif de cryptographie militaire connue. Elle permettait l'inscription d'un message chiffré sur une fine lanière de cuir ou de parchemin. Après avoir enroulée la lagnère de cuire sur la scytale, le message était écrit en plaçant une lettre sur chaque circonvolution. Un bâton d'un diamètre identique à celui utilisé pour l'encodage était nécessaire pour que le message puisse être déchiffré par le destinataire.
Aux alentours du VIe siècle avant notre ère, Nabuchodonosor, roi de Babylone, employait une méthode originale : il écrivait sur le crâne rasé de ses esclaves, attendait que leurs cheveux aient repoussé, et il les envoyait à ses généraux. Il suffisait ensuite de raser à nouveau le messager pour lire le texte. Il s'agit toutefois de stéganographie à proprement parler et non pas de cryptographie: l'information est cachée et non pas codée.
C'est à partir du Ve siècle avant J.C, que l'une des premières techniques de chiffrement est utilisée dans les textes religieux par les Hébreux qui connaissent plusieurs procédés. Le plus connu appelé Atbash est une méthode de substitution alphabétique inversée.
Plus tard, vers 150 ans avant J.C Polybe un célèbre historien grec et conseiller militaire Romain invente un procédé de cryptage tenant dans un carré de 5 de coté: Le carré de Polybe. 
Il n'y a que 25 lettres alors que l'alphabet en compte 26, et oui le "W" a était enlevé, mais on peut associer deux lettres à une même case. Par exemple, le "W" avec le "V" comme cela se fait en français. On peut aussi agrandir le carré a 36 cases afin d'y ajouter les chiffres ou pour chiffrer un alphabet comportant plus de lettres.
 Le cryptage est assez simple: il suffit de remplacer chaque lettre du mots à chiffrer par le numéro de la rangée, suivi du numéro de la colonne de chaque lettre. Par exemple, pour l'abréviation "CATIC":  le C=13, A=11, T=45, I=24, C=13, ainsi on obtient le message suivant: 13 11 45 24 13. Cependant ce code étant beaucoup trop compliqué pour l'époque, quasiment personne ne l'utilisa avant le XIXe siècle.
Au Ier siècle avant J.C, c'est le célèbre Jules César qui invente la première méthode de cryptographie par substitution mono-alphabétique. Cette méthode très simple et très rapide. Elle consiste à décaler de trois rangs les lettres dans l'alphabet. Elle a été très souvent utilisée et l'est encore de nos jours.

A l'époque, elle est utilisée dans l'armée romaine et bien qu'elle soit beaucoup moins robuste que la technique Atbash, la faible alphabétisation de la population la rend suffisamment efficace.
La longueur du décalage, 3 constitue la clé du chiffrement qu'il suffit de transmettre au destinataire, pour que celui-ci puisse déchiffrer le message, s'il sait déjà qu'il s'agit d'un chiffrement de César. Dans le cas de l'alphabet latin, le chiffre de César n'a que 26 clés possibles (y compris la clé nulle, qui ne modifie pas le texte).

 http://fr.wikipedia.org/wiki/Cryptographie

jeudi 16 mai 2013

Introduction

La cryptographie et la cryptanalyse sont deux branches de la cryptologie qui est une science mathématique.
La cryptographie traditionnelle est l'étude des méthodes permettant de transmettre des données de manière confidentielle. Afin de protéger un message, on lui applique une transformation qui le rend incompréhensible; c'est ce que l'on appelle le chiffrement, qui a partir d'un texte en clair donne un texte chiffré ou cryptogramme. Inversement, le déchiffrement est l'action qui permet de reconstruire le texte en clair ( a partir d'un texte chiffré).
Dans la cryptographie moderne, les transformations en question sont des fonctions mathématiques, appelées algorithmes cryptographique, qui dépendent d'un paramètre appelé clef.

La cryptanalyse, à l'inverse, est l'étude des procédés cryptographiques dans le but de trouver des faiblesses et, en particulier, de pouvoir décrypter des textes chiffrés. Le décryptement est l'action consistant a retrouver le texte en clair sans connaitre la clef de chiffrement.