racine uZine

 
lundi 15 juillet 2002
Parlons Chiffre :

Les joies de la cryptographie

Un ami viendra ce soir
par Lirresponsable
 
 
PGP est un acronyme pour Pretty Good Privacy. C’est un logiciel de cryptographie (forte), utilisé pour le courrier électronique. Il est relativement sûr, même s’il peut sans doute, comme tout, être cracké à terme (question de temps, d’argent, du calibre d’arme). La sûreté d’un système, de manière générale, ne se résume pas à l’inviolabilité de l’outil de chiffrement, car elle englobe les relations humaines. On va essayer dans cette petite présentation de se familiariser avec la cryptographie, afin de mieux saisir PGP.

Définition

Crypto vient du grec Kryptos : recouvert, caché, secret, et graphie, du verbe grec lui-aussi graphô = j’écris. Comme par exemple : porno-graphie, écrit sur la prostitution. (Dans la même famille : Verbe krypteuô = cacher, se tenir caché, en embuscade. Kryptê : voûte souterraine, crypte. Kruptô : couvrir, cacher, celer, faire mystère).

La cryptographie est donc l’art d’écrire de manière chiffrée, afin que seul celui qui possède la clé de déchiffrement puisse lire le message en clair.

Mais dans le temps, comment ils faisaient ?

La cryptographie est vieille, les amis, puisque même les Grecs l’utilisaient, et à leur suite les Romains, avant donc l’invention d’Internet, les chansons de Britney Spears ou les films de Traci Lords. Il s’agit, dans l’Antiquité, de protéger les communications d’ordre militaire ou politique (l’économie en est un sous-ensemble), et d’empêcher ou de retarder la lecture du message en cas d’interception par l’ennemi (ce qui évince aussi les gros curieux tentés de vendre ces informations). Cette finalité est demeurée intacte de nos jours. Utilisant des systèmes beaucoup plus modernes, elle est une des causes de l’apparition de l’informatique (balistique + chiffrement). D’autres moyens, encore plus anciens, ont été utilisés avant les Grecs et les Romains, dans le rapport à l’écriture au service de la protection de l’information : ce sont les langues sacrées, les alphabets magiques, voire l’ absence d’écriture (enseignement uniquement oral), etc., mais cela nous amenerait trop loin du sujet.

Un bout de cuir, un bâton, et roule !

Comment s’y prenait-on en ces âges héroïques ? L’expéditeur enroulait une lanière en spires parallèles sur un bâton de diamètre défini, appelé la scytale (mot qui signifie « bâton » en grec). Il écrivait ensuite son message transversalement dans le sens du fameux bâton ou scytale. En déroulant la bande, le message devenait inintelligible. Sauf pour la personne qui possédait un bâton de même diamètre et qui enroulait la lanière pour le lire, en général le destinataire du message. (Voir en ligne La scytale spartiate).

La protection de l’information est ici assez faible, puisqu’il suffit d’essayer un cylindre de diamètre identique ou très proche pour pouvoir lire le message. Encore faut-il connaître la combine, amigo. En changeant de contexte, voir dans les Quipus, les cordelettes de différentes couleurs avec des noeuds, utilisés par les Incas autre chose qu’un objet décoratif.

Tout est nombre

Ensuite, nous trouvons une autre façon de chiffrer le message : le fameux carré de Polybe. Il s’agit d’un tableau de 5 x 5 cases dans lequel sont écrites toutes les lettres de l’alphabet (25, puisque les Romains ne disposent pas de la différence entre "i" et "j", ce qui est pratique pour obtenir un carré). Pour coder une lettre, on la remplace par ses coordonnées dans le carré. Ainsi, A donne (1, 1), B donne (1,2), C (1,3), F (2,1), etc.

le carré de Polybe

 12345
1ABCDE
2FGHIK
3LMNOP
4QRSTU
5VWXYZ

On obtient alors des suites numériques. Par exemple, « Ce soir il mange une pizza » chiffrée de la sorte, nous donne : « (1,3) ; (1,5) ; (4,3) ; (3,4) ; (2,4) ; (4,2) ; (2,4) ; (3,1) ; (3,2) ; (1,1) ; (3,3) ; (2,2) ; (1,5) ; (1,5) ; (3,3) ; (1,5) ; (3,5) ; (2,4) ; (5,5) ; (5,5) ; (1,1) ». Suite que l’on peut écrire de différentes façons, par exemple : « 13154334 24422431321133221515 33153524 5555 11 ». Evidemment à la place des lettres dans le carré, on peut mettre des bâtiments et jouer à la bataille navale.

Plus tard, on trouve l’auteur de La Guerre des Gaules qui utilise non plus une traduction des lettres par un couplet de nombres (les coordonnées de la lettre dans la figure géométrique) mais un décalage entre la suite ordonnée des lettres de l’alphabet et celle des lettres utilisées pour le texte chiffré.

Exemple. Le code de César.

-  Il n’y avait pas d’espaces dans le texte (de plus, les anciens écrivaient ainsi la plupart du temps) :

« Les gaulois sont des boeufs » = « lesgauloissontdesboeufs ».

-  Chaque lettre est décalée de trois rangs dans l’alphabet : A devenait D, B devenait E, etc. :

« ohvkdyormvvrqwghverhyiv »

-  Le texte est redécoupé en séquences quelconques :

« ohv kdyo rmvv rqwghv erh yiv »

Ce chiffrement très simple a fini, on s’en doute, par être connu. Pour le percer, on peut utiliser des tables de fréquences. Ce qui sert lorsque l’on joue au pendu (pour rire) : celui qui écrit le mot mystère utilise par anticipation de préférence des mots avec beaucoup de consonnes rares. Prenons une lettre présente dans de nombreux mot la voyelle « e », par quoi est-elle remplacée dans le code ? A partir de là, on en déduit empiriquement le décalage utilisé par rapport à l’ordre alpabétique, assez vite car le nombre de substitutions est limité.

Liens :
-  Crypto & stégano à travers les âges
-  Petite histoire de la cryptologie
-   The Data Encryption Page

La cryptographie moderne

Algorithme dans la peau

La notion clef est celle d’algorithme. Le mot provient d’une forme latinisée (algorithmus) de l’arabe (al-khawarizmi). En mathématiques, puis en informatique, l’algorithme désigne une suite finie de règles appliquées à des données (en nombre fini) qui vont produire un résultat. Pas de panique, c’est ce que l’on a vu avec l’exemple du code de César. Donnons lui une forme plus générale :

1. Choisir un nombre n compris entre 1 et 25.

2. Remplacer chaque lettre du mot à chiffrer par la lettre se trouvant n lettres plus loin. Condition : si cette lettre déborde des 26 lettres, on recommence au début (par la lettre a).

3. Toute autre signe (espace, chiffre, etc.) est retranscrit sans modification.

Par exemple pour n = 1 tous les « a » sont remplacés par des « b », tous les « b » par des « c », etc. jusqu’au « z » qui sera remplacé par un « a ». Voici la table de traduction pour n = 2 :

a b c d e f g h i j k l m n o p q r s t u v w x y z
c d e f g h i j k l m n o p q r s t u v w x y z a b

Le texte « wahou 18 bouteilles c’est cool ! » sera traduit par « ycjqw 18 dqwvgknnqu e’guv eqqn ! ».

L’inconvénient, le point d’exclamation, les nombres et l’apostrophe sont retranscrits en clair, ils ne sont pas chiffrés. On sait déjà dans la forme chiffrée qu’il est question du nombre 18. Il faudrait disposer d’un code général pour tous les signes utilisés (lettres, chiffres, signes de ponctuation, symboles). Donc construire un tableau de correspondance pour tous les signes et leur assigner une valeur numérique univoque. Pour utiliser un ordinateur, qui est avant tout un calculateur, c’est indispensable.

Remarquez, ça tombe bien, ce code existe, il s’appelle ASCII (American Standard Code for Information Interchange). C’est l’un des standards les plus utilisés sur la plupart des ordinateurs. Le code ASCII définit précisément la correspondance entre symboles et nombres jusqu’au nombre 127. 32 va coder l’espace, 109 le « m » minuscule, 63 le point d’interrogation « ? ».

Oui mais le même problème demeure, on augmente le nombre de signes de l’ensemble (lettres majuscules et minuscules, chiffres, caractères spéciaux) on sait que n est compris entre 127- 32,( car les codes 0 à 31 ne sont pas des caractères comme les autres, ils servent à des opérations sur l’ordinateur, ce sont des caractères de contrôle) et que l’algorithme consiste à substituer tous les signes en appliquant la même valeur n. Un peu faiblard.

(JPEG)
Une expérience à tenter
La cryptographie change sa manière de voir le monde. En utilisant PGP on est davantage à l’écoute de la nature.

Chérie, t’as pas vu mes clés ?

Ne confondons pas la clé et le code utilisé pour les symboles. La clé est de manière imagée la combinaison d’un coffre-fort, une suite numérique qui permet d’ouvrir le mécanisme. La manière dont est construite le mécanisme est variée. Sur un coffre-fort ancien, on a des petites molettes graduées et numérotées, et sur le modèle d’une serrure : la combinaison correcte, la « clé », qui permet d’ouvrir la porte du coffre, et donc d’avoir accès à ce que le coffre renferme.

Et si on musclait un peu l’algorithme précédent, par exemple : au lieu de décaler toutes les signes qui composent le texte de la même valeur n, on décidait que pour le premier signe n=2, puis pour le deuxième n=18, pour le troisième n=7, pour le quatrième n=22, pour le cinquième n=8 et au sixième signe, on répète la manoeuvre. Cette suite de chiffres [2, 18, 7, 22, 8] va composer la clé de chiffrement.

Construisons d’abord notre code :

a b c d e f g h i j k l m n o p q r s t u v w x y z
1 2 3 4 5 6 7 8 9 10 11 12 1314 15 16 17 18 19 20 21 22 23 24 2526

Un peu trop simple, le nombre qui correspond à une lettre est sa place dans l’ordre alphabétique. On décide d’inverser l’ordre :

a b c d e f g h i j k l m n o p q r s t u v w x y z
26 25 2423 22 21 20 19 18 17 16 15 1413 12 11 10 9 8 7 6 5 4321

Oui mais c’est toujours évident, on va plutôt ajouter à chaque nombre un entier naturel n=2 et inverser l’ordre à partir de la moitié (13) :

a b c d e f g h i j k l m n o p q r s t u v w x y z
28 27 2625 24 23 22 21 20 19 18 17 163 4 5 6 7 8 9 101112131415

On a dit que la clé est [2, 18, 7, 22, 8]

« Bonjour mém[é,je passe de bonnes vacances en lisant uzine] » va nous donner , « 2522102312 121992810 [...] »

Afin de ne pas rendre évidente les séquences de cinq, on choisit un ordre de présentation par exemple, des séquences de trois chiffres.

« 252 210 231 212 992 810 etc. »

On peut incorporer autre chose, par exemple la suite des nombres pairs tous les trois chiffres :

« 2522 2104 2316 2128 99210 81012 etc. »

Puis on décide d’inverser les séquences obtenues :

« 2252 4012 6132 8212 01299 21018 etc. »

Et après dans chaque nombre, tous les deux chiffres, on place la suite des nombres impairs :

« 22152 40312 61532 82712 01929119 2113011518 etc »

Finalement on se décide pour des séquences : 1 chiffre, 3 chiffres, 7 chiffres :

« 2 215 2403126 1 532 8271201 9 291 1921310 1 151 8 etc »

Puis histoire d’ergoter, on va multiplier par trois tous les chiffres par intervale de trois :

« 2 235 21203323 3 536 82211201 9 691 3923310 1 538 etc »

Et enfin, on colle tout :

« 223521203323353682211201969139233101538 etc ».

On voit donc qu’il y a une clé qui sert à chiffrer le texte, et un ensemble d’instructions qui interviennent sur les données, cet ensemble s’appelle un algorithme. On peut maintenant le tenir secret, enfin pas totalement, on dépose un brevet Algo-Lirresponsable et dire qu’il est ultra-sûr, et que l’armée du Guatemala l’a d’ailleurs adopté.

Plus sérieusement, l’algorithme peut se passer de cette série de manipulations sur les données, à condition de choisir une clé suffisamment longue, afin d’éviter d’être cassée par des tables statistiques. Et si nous utilisions une partie du texte en clair pour chiffrer ? Il va nous falloir un opérateur logique qui permette d’augmenter le nombre des permutations et qui soit simple d’usage.

Ce bon vieux père Boole !

L’algèbre de Boole est avant tout une algèbre de classes, ce qui est très pratique pour un traitement des données numériques, mais pas pour formaliser des énoncés du langage naturel, comme : « si Tarzan n’est pas levé assez tôt, alors cheetah, qui appartient à la famille des singes, en profite pour chourrer les bananes au petit déjeuner ». En effet dans ce cas une algèbre des propositions avec des variables qui prennent comme valeurs les deux valeurs Vrai et Faux, est plus souple et donc préférable. Ceci étant dit, la distinction qui nous préoccupe est celle entre deux types de « ou ».

Le « ou » peut être inclusif (« OR » dans l’algèbre de Boole, « V » dans la logique des propositions), comme lorsque la maîtresse de maison nous demande à la fin du repas : « vous prendrez bien un petit café ou un cognac... ». La possibilité de prendre le petit café ne nous prive pas d’un cognac après le café, sauf chez les rustres mais passons...Le « ou » inclusif offre la possibilité aux propositions qu’il relie d’être vérifiées en même temps.

En paraphrasant : la formule (S) : « vous prendrez un petit café ou vous prendrez un cognac » peut être vraie si A : « vous prendrez un petit café » et B : « vous prendrez un cognac » sont vraies.

d’où la table de vérité :

A B S
V OU V = V
V OU F = V
F OU V = V
F OU F = F

On utilise ici comme valeur (V,F) mais on peut les remplacer par (1,0).

A B S
1 OU 1 = 1
1 OU 0 = 1
0 OU 1 = 1
0 OU 0 = 0

Par contre pour le « ou exclusif », (« XOR » dans l’algèbre de Boole), il en va autrement.

Exemple. « oh cousine ! Tu danses ou je t’explose ! ».

On va interpréter « Tu danses ou je t’explose ! » de cette façon : si la cousine danse alors il ne t’explose pas et seulement si elle danse, le « ou » est exclusif. Car monsieur est un gentleman, si la cousine danse, il ne l’explose pas.

d’où la table de vérité :

A B S
1 XOR 1 = 0
1 XOR 0 = 1
0 XOR 1 = 1
0 XOR 0 = 0

La formule S est vraie (=1) si A est vrai, B est vrai mais pas quand les deux sont vrais (1 XOR 1 = 0). L’intérêt d’utiliser l’algèbre de Boole, avec comme valeur (0,1) est bien entendu de permettre un traitement binaire du calcul (il n’y a comme valeur que 0 et 1). Ce que l’on va voir dans le paragraphe suivant, retenons donc cette table de l’opérateur XOR.

-  logique combinatoire avec montages électriques, par Gilles Bouvier et Génaël Valet

Codage XOR, c’est lui qui fait la loi

On a vu à quoi correspond la porte logique XOR dans l’algèbre de Boole, il est maintenant temps de parler de bits chiffrés et de bits en clair, car le public adulte a le droit de savoir. Rappelons qu’un bit est la plus petite unité traitée par un ordinateur, qui peut prendre comme valeur (1,0).

Considérons deux bits : A le bit en clair (non chiffré) et B le bit de la clé de chiffrement (qu’il faut garder secret, putain déconne pas !).

Après l’opération A XOR B, on obtient un bit C qui sera le bit chiffré. Enfin, si on effectue une nouvelle opération avec C (le bit chiffré) et B (la clé), on retrouve le bit A d’origine, non chiffré. Trop kikoo, c’est le principe du chiffrement symétrique : la même clé permet de chiffrer et déchiffrer un message.

D’où les égalités :

A XOR B = C et C XOR B = A

Exemple. Soit le message en clair A = 0110101011010100, et la clé B = 0101011011100110. Pour obtenir un message chiffré C, il suffit d’utiliser l’opérateur XOR :

A0110101011010100
B0101011011100110
C0011110000110010

et on constate que C XOR B nous donne bien A :

C0011110000110010
B0101011011100110
A0110101011010100

La clé B est composée de seize bits (deux octets), ce qui n’est pas beaucoup, 2 puissance 16 = 65.536 possibilités. En augmentant la longueur de la clé, on complique très très sérieusement le cassage.

-  Source : netProblèMATHique - XOR, par Girard Yoni
-  cadeau bonus : un codage XOR avec la source en php

L’algorithme DES

Le DES (Data Encryption Standard) inventé en 1975 est un algorithme à clef secrète : la même clef sert au chiffrement et au déchiffrement. Chaque utilisateur choisit sa propre clé, mais il doit, pour permettre le déchiffrement, communiquer celle-ci aux divers destinataires de ses messages ; là réside le point faible : car si plusieurs personnes ont la clé de chiffrement/déchiffrement, on multiplie les possibilités de fuites.

L’algorithme DES est un système de chiffrement par blocs. Cela signifie qu’il ne chiffre pas les données à la volée quand les caractères arrivent (caractère par caractère), comme dans l’exemple du code de César, mais qu’il découpe sans se gêner le texte clair en blocs de 64 bits qu’il chiffre séparément, puis qu’il concatène (il les met bout à bout).

Un bloc de 64 bits du texte clair entre par l’algorithme et un bloc de 64 bits de texte chiffré en sort. L’algorithme est relativement simple puisqu’il combine des permutations et des substitutions. On parle en cryptologie de techniques de confusion et de diffusion.

-  Le Data Encryption Standard (DES)

Résumé

Formalisons :

Soit une clé k et un texte clair T, on obtient le texte chiffré C par l’application de l’algorithme f :

C = f k (T)

et l’opération inverse pour le déchiffrement :

T = f’ k (C)

Si f = f’, alors le système est dit symétrique.

Cependant, un problème demeure : comment transmettre de manière sûre la clé au correspondant ?

PGP

Il y a deux sortes de cryptographie en ce monde : celle qui empêchera votre petite soeur de lire vos dossiers, et celle qui arrêtera les principaux gouvernements. Ce livre traite de la deuxième.

Bruce Schneier, Applied Cryptography : Protocols, Algorithms, and Source Code in C.

Le site de référence en français (Manuel, download, FAQ, explications, configuration, installation du logiciel etc.) est :

-  OpenPGP en français

Présentons donc brièvement PGP, puisque le lecteur trouvera sur OpenPGP tous les renseignements (quelle version choisir ? Comment installer les plug-in pour le logiciel de messagerie ? etc.). Ce qui le caractérise tout d’abord, c’est l’utilisation d’une paire de clés.

-  une clé publique
-  une clé privée

En effet, la clé de chiffrement est publique. Cela peut paraître surprenant à première vue puisqu’on se souvient que dans les exemples précédents, la clé de chiffrement devait rester secrète. A condition de se souvenir également que la clé de chiffrement était aussi celle de déchiffrement. Or avec PGP nous avons une paire de clés. Il y a bien un rapport entre les deux : seul celui qui possède la clé privée associée à la clé publique peut déchiffrer un texte chiffré avec la clé publique. (Philip Zimmermann, le concepteur de PGP, utilise l’image d’une prise mâle et d’une prise femelle).

Et on remarque aussitôt qu’une difficulté est levée : on peut diffuser librement sa clé de chiffrement (et l’authentifier), puisqu’elle est distincte de la clé de déchiffrement.

Mais, diantre, comment est-ce possible !

PGP, son truc à lui, c’est qu’il combine plusieurs algorithmes, l’IDEA et le RSA, afin d’apporter une solution au problème. Il nous faut donc en dire quelques mots, avant de poursuivre.

IDEA

L’IDEA (International Data Encryption Algorithm) inventé en 1992, effectue des opérations du même genre que celles vues avec l’algorithme DES, il manipule des blocs de 64 bits avec une clé de 128 bits.

RSA

En 1978, l’algorithme à clé publique de Ronald Rivest, Adi Shamir et Leonard Adelman (RSA) apparaît. Le fonctionnement du cryptosystème RSA, jargonons un peu, est asymétrique et utilise une paire de clés. Asymétrique signifie que l’algorithme de chiffrement et de déchiffrement ne sont pas identiques.

Il est basé sur une limite actuelle des techniques de factorisation, c’est-à-dire la décomposition des nombres de plus de 100 chiffres en facteurs premiers. Rappelons qu’un nombre entier plus grand que 1 est un nombre premier si ses seuls diviseurs sont 1 et lui-même. 2, 3, 5, 7, 11 et 13 sont des nombres premiers, et pas 10=2*5, 12=3*4=2*6, etc.

Les nombres premiers ont cependant de curieuses propriétés, mais passionnantes comme l’on en conviendra aisément, par exemple : il existe une infinité de nombres premiers et la factorisation d’un nombre en facteurs premiers est unique.

L’algorithme RSA fonctionne avec une paire de clés unique elle-aussi : une clé publique et une clé privée. La clé publique contient le produit de deux nombres premiers très grands, et un autre nombre qui lui est propre. L’algorithme de chiffrement utilise ces nombres pour chiffrer le message par blocs. L’algorithme de déchiffrement nécessite quant à lui l’utilisation d’un nombre contenu uniquement dans la clé privée.

En schématisant :

Un nombre public : n = p*q (p et q sont des nombres premiers très grands). On calcule n’= (p-1)*(q-1), il s’agit en fait de la fonction indicatrice d’Euler. Cette valeur de n’ va servir à déterminer les valeurs du nombre d de la clé privée et e de la clé publique.

La clé privée contient un nombre d, qui est choisi de telle sorte que d et n’ soient premiers entre eux, c’est-à-dire que le plus grand diviseur commun de d et n’ est 1. Ce que l’on note PGCD (d, n’)=1. Le nombre d doit être inférieur à n’.

La clé publique contient un nombre e positif, et le produit e*d doit être premier avec n’. Il va être déterminé de la sorte : e*d - k*n’ = 1. Pour le trouver, on utilise un algorithme d’Euclide appliqué à l’identité de Bezout.

La clé publique contient donc e et n et la clé privée d. Une fois que la paire de clés a été créée, il ne sera plus fait mention des deux nombres premiers p et q dont le produit est égal à n.

Quelqu’un qui dispose de la clé publique ne peut donc pas calculer la clé privée, car pour trouver la valeur de d, il lui faudrait connaître les deux facteurs premiers de n, les très grands nombres premiers p et q qui servent aussi à calculer n’, or cela rencontre actuellement une limite technique : la factorisation des grands nombres, c’est-à-dire qu’en connaissant uniquement n on ne peut pas retrouver les nombres premiers p et q. C’est pourquoi seul celui qui possède la clé privée qui contient d pourra déchiffrer le message. En général son propriétaire.

Voir en détail le chiffrement/déchiffrement :
-  Codage RSA, par Fréderic.Raynal
-  Les nombres premiers au secours de la cryptographie
-  Sur l’algorithme RSA, par Thomas Chomette
-  Cryptographie : le code RSA, par Pierre Amigo

(JPEG)
On se fait des amis
Avec la cryptographie forte, naissent de solides amitiés, et des journées VTT où l’on s’échange ses signatures de clés

PGP : combien de clés, alors ?

PGP utilise tout d’abord l’algorithme IDEA, il crée une clé secrète de manière aléatoire, et chiffre le message avec cette clé, qui est une clé de session, (elle change à chaque utilisation). On a vu que l’algorithme IDEA utilise une clé secrète de 128 bits, et bien là voilà. On l’appellera dans les paragraphes suivants clé IDEA, pour abréger l’expression « la clé de 128 bits utilisée dans l’algorithme IDEA ». PGP chiffre ensuite la clé secrète IDEA précédemment créée au moyen de la clé RSA publique du destinataire. La clé secrète IDEA, qui a servi à chiffrer le message, va donc être transmise chiffrée dans le message.

Le destinataire reçoit donc un texte chiffré, mais avec la clé qui a servi à le chiffrer, ce sans quoi bien sûr, il ne pourrait pas le déchiffrer. Et il n’y aura que lui à pouvoir déchiffrer cette fameuse clé IDEA. Est donc bien résolu le problème de la transmission de la clé de chiffrement du texte.

L’expéditeur a juste à lancer la commande de chiffrement du texte, c’est le logiciel qui se charge bien entendu de créer la clé secrète et de la chiffrer avec la clé publique du destinataire.

Le destinataire possède si tout va bien l’unique clé privée associée. Pour déchiffrer le message, PGP doit d’abord déchiffrer la clé IDEA qui a été créée et chiffrée avec la clé publique. Puis une fois qu’il a déchiffré la clé IDEA, il déchiffre le texte du message avec cette dernière.

Là encore, le logiciel se charge de tout, il demande juste à l’utilisateur de taper le mot de passe qui protège sa clé privée, qui va donc servir à déchiffer la fameuse clé IDEA.

La clé privée est protégée par un mot de passe, ou plus exactement par une phrase, afin d’obtenir un nombre de bits suffisants pour la chifffrer. Il serait dommage que Philip Zimmermann se soit donné tout ce mal pour qu’un utilisateur choisisse « kiki » comme mot de passe.

On voit donc qu’il y a en quelque sorte trois clés : la clé publique associée à une clé privée, utilisées par l’algorithme RSA et une clé de session utilisée dans l’algorithme IDEA, liée à un message. On a donc une combinaison de chiffrement symétrique (la clé IDEA qui chiffre le texte) et de chiffrement à clé publique (RSA) qui chiffre la clé secrète. C’est pourquoi, les spécialistes parlent de chiffrement hybride.

Quelques liens :
-  intro PGPi
-  Technologie du cryptage
-  Introduction à la cryptographie
-  International Association for Cryptologic Research
-  sur Diffie-Hellman
-  La cryptographie

 
 
Lirresponsable
Imprimer
format impression
AMOK-FAAA
Memento finis
6 octobre 2003
13 septembre 2001
15 juillet 2003
7 juillet 2002
 
SPIP
Web indépendant


> Les joies de la cryptographie
9 novembre 2005, message de juju
 
Juste pour signaler la traduction en français de la description du système de chiffrement AES (voir lien). Ca aide à comprendre qu’on n’y comprend rien :-)
 
Répondre


Vive la crypto !
30 septembre 2004, message de Hexenez
 

Bonjour,

Je suis un passioné de crypto, mais en manque de cryptogrammes...

Le probleme que j’ai rencontré, alors que je voulais faire de la crypanalyse, c’est que je ne trouvais pas beaucoup de cryptogrammes non déchiffrés.

De ce problème, m’est venu l’idée de créer un site internet où des fanas de crypto s’échangeraient leurs derniers cryptogrammes à casser ou tenteraient de casser ceux déja en ligne...

Ce site, est assez lourd à construire, et je préfere d’abord faire un essai, pour voir si ça interesse assez de monde, avec un groupe MSN.

Voici l’adresse : http://groups.msn.com/crypto

Ce groupe reprend exactement le même concept, pour test.

Voilà, faites connaitre ce groupe à tous les gens susceptibles de s’y interesser, et peut-être mon idée verra-t-elle le jour...

Hexenez

 
Répondre
> Vive la crypto !, sonia, 27 mars 2006
salut,je m’appele sonia et je suis aussi passionnée par la cryptologie. L’idée de création d’un site est intéressant, as tu trouver d’autres textes à décodé ; a bientôt. sonia
Répondre
Crypo Nouvelle Génération, L. Schmitte, 25 avril 2006
Sans clef ni algorithme ...
 
en ligne :
Répondre
> Vive la crypto !, roch armed, 9 novembre 2006
je detient une tecnique speciale de cryptologie totalement differente de tous ce qui exist de nos jour
Répondre
demande d’aide , phenixco, 9 novembre 2006

Bonjour,

Que voici une excellente idée, je suis sûr qu’il y aura foule !

Dans mon entourage proche, en s’envoie déjà régulièrement pour différentes occasions des petites énigmes cryptées, codées, rébus, énigmes mathématiques ou autres... J’ai pas mal d’amis totalement accros à ces petits jeux d’esprit qui rivalisent d’imagination pour nous livrer des bijoux de complication et de méchanceté mathématique.

Ceci m’amène donc à te demander de l’aide pour l’une de ces énigmes, si tu en avais le temps... J’ai reçu le message codé suivant :

5.8.13.4.6.64.2.18.32.11.7.y (S—N) 24.12.18.37.25.19.13.64.20.3.z.31

C’est vraisemblement un lieu ou le nom d’une route ou d’un chemin... mais voilà lequel ? J’essaye depuis plusieurs semaines déjà de craquer ce code, mais en vain. Il reste pour moi totalement hermétique. Si par hasard, en le voyant, le message en clair te sautait aux yeux, ou si tu conaisais la technique pour le déchiffrer, une petite réponse d’aide serait la bienvenue. Je ne suis vraiment pas très doué pour les codes en général (même si j’ai parfois réussi à en déchiffrer de simples) ; celui-là en particulier me donne donne bien du fil à retordre. Selon son auteur il est plus que simple... il paraîtrait même qu’il n’y a pas de code ????!!!

Je vais bien sûr diffuser ton adresse et parler de ton projet à des potes mordus de cryptanalyse.

Merci encore de ton attention. Bien à toi et bonne chance pour la suite de ton aventure. phenixco

Répondre


> Les joies de la cryptographie
9 mars 2004, message de poche-poche
 

Merci pour votre site, il nous a aidé pour l’élaboration d’un dossier en Deug MIAS en TIE. Et vos commentaires sont choubidou !! Encore merci !! bonne continuation !!

Aurélie et Emeline de Guingamp (22)

Répondre
> Les joies de la cryptographie, lotffiiii, 15 décembre 2005
je suis tres content en cryptos
 
en ligne : xx
Répondre


> Les joies de la cryptographie
28 décembre 2003, message de Romuald Sawadogo
 
Merci pour ce cours de crypto, j’en tire grand bénéfice. Un lien qui a certainement changé pour être : http://security.resist.ca/francais/crypt_basics.html
Répondre


PGP vraiement utile ?
12 septembre 2002
 

Je ne comprend pas l’interêt porté à PGP, je viens de lire votre article et me rend compte que quelque soit l’algo de cryptage (PGP ou autre), le destinataire doit être en possession de quelque chose pour decrypter... Avec PGP, il a besoin de la clef privée, avec un autre algorithme quelconque invenét sur le tas, il a besoin de cet algo et peut-être une clef si il y en a une...

On parle donc d’un PGP ultra génial parce qu’il necessite une puissance de calcul impressionnante, même en connaissant l’algo. Mais il est cassable, le jour ou un matheux de génie révolutionne la factorisation, PGP part aux oubliettes. Or, je pense qu’un algo simple comme vous le décrivez : j’ajoute des nombres pairs, j’inverse, je fais ceci, cela... multiplie les combinaison de façon bien plus importante que les factorisations (à vue de nez), j’imagine donc (peut-être à tord), qu’un algo un tantinet long est bien plus incassable que PGP.

Olivier.

Répondre
Si,si !, Lirresponsable, 12 septembre 2002

et me rend compte que quelque soit l’algo de cryptage (PGP ou autre), le destinataire doit être en possession de quelque chose pour decrypter..

Euh ça, c’est le principe de la cryptographie : à partir du moment que je transmets un texte chiffré à quelqu’un, il faut que ce destinataire possède le moyen de le déchiffrer, sinon... L’intérêt de PGP est qu’il transmet de manière chiffrée la clé de chiffrement du texte en combinant deux algorithmes(IDEA + RSA).

Mais il est cassable, le jour ou un matheux de génie révolutionne la factorisation, PGP part aux oubliettes.

Oui. En attendant...

j’imagine donc (peut-être à tord), qu’un algo un tantinet long est bien plus incassable que PGP.

Oui à tort, mais c’est de ma faute car l’exemple fictif (avec une toute petite clé) que j’emploie est là pour illustrer la notion d’algorithme et la distinction entre les opérations sur les données et la clé de chiffrement. Il y a une différence entre les manipulations sur les données (les matrices de permutations, substitutions) et l’utilisation d’une clé de chiffrement. Connaître les opérations de l’algorithme ne veut pas dire casser la clé utilisée dans l’algorithme (connaître la valeur de la clé), sur laquelle repose davantage la sécurité des données chiffrées. (C’est pourquoi la longueur de la clé en bits augmente).

L’autre problème : si j’invente un algorithme et que je veux le protéger, en déposant un brevet, je suis obligé d’en donner une description. D’autre part, le destinataire du message chiffré doit lui-aussi connaître l’algorithme. L’algorithme IDEA est connu mais pas la clé secrète de 128 bits qu’il utilise.

Enfin, par définition, un algorithme possède un nombre fini d’opérations tandis que la clé a une progression exponentielle, c-a-d qu’en augmentant la longueur de la clé on augmente le nombre de possibilités (2 puissance n). Pour un cassage voyou-brute force (on essaie toute les combinaisons possibles de clé), une clé de 128 bits, nous donne 340282366920938463463374607431768211456 clés possibles. Et là, il faut trouver des ordinateurs pour le faire ! :))

Pour le cassage du DES, cf. Six façons différentes de casser DES

Il y a également une limite d’usage d’un autre ordre, liée à la puissance de calcul et au temps du chiffrement : personne ne veut mettre trois jours en laissant son ordi tourner pour envoyer un mail chiffré.

a+

 
Répondre
> Si,si !, aris, 26 décembre 2003
pour ce qui est de la clef symmetrique (IDEA), c’est simple, en prenant l’hypothese que la manière la plus rapide de cracker un message est de tester toutes les clefs possibles, 2^128 clefs ca fait beaucoup... de quoi occuper un million d’ordinateurs à plein temps pendant les quelques prochains milliers d’univers. pour ce qui est de la clef publique, rien ne prouve que RSA (et la factorisation qui est le probleme "hard" de base) est incrackable. rien ne prouve non plus qu’il ne l’est pas. Au moment ou rsa a été concu, on ne connaissait pas d’algorithmes tres performants pour factoriser des nombres. Maintenant, on a évolué dans le domaine mais il faut savoir qu’au plus la clef grossi, au plus le temps de calcul necessaire pour la craquer grossit de facon exponentielle. si on peut cracker du RSA-1024 en 10 ans, craquer du RSA-2048 prendra beaucoup plus que 20 ans. et d’ici la, le secret à proteger n’aura plus la moindre valeur, donc vala :)
Répondre
> PGP vraiement utile ? alors la chui bien d’accord avec olivier, 16 juin 2004

slt a tous le monde j’ai trouvé votre article sur la crypto plutot cool jusqu’a ce que j’arrive a la partie PGP...Olivier a raison !!!!! non plus sérieusement c’est vrai que si on regarde de près le PGP est plus balaise que l’autoclave mais bon ce qui compte c’est quand même que le texte ne soit pas cassé...sur ceux bonne continuation.. ;-)

The Ghost of Net

Répondre


Félicitations
19 juillet 2002, message de Luc
 

Dans mon précédent message, j’ai complètement oublié de féliciter l’auteur de l’article. Excellent, accessible à un non-mathématicien et exact dans ses termes. "Exact" est à relativiser dans mon cas, car je n’utilise pas PGP, ce qui réduit l’intérêt de mon jugement :)

Luc

Non-utilisateur de PGP (un honnête homme n’a rien à cacher, hormi sa pudeur)

Répondre


PGP : quelle utilité ?
19 juillet 2002, message de Luc (commandeur de l’ordre du bon sens)
 

C’est une question que personne ne semble se poser : pourquoi crypter vos mails ? Je vais distinguer quelques cas rapidement (pour ne pas surcharger).

1) le rebelle (bwahahahah !)

Il utilise PGP pour protéger protéger jalousement sa vie privée, en envoyant des messages aussi dangereux que ‘’j’ai acheté un PDA’’ ou ‘’je serais en vacances dans le poitou du 1er au 21 août’’. Messages dont tous les espions du monde se contrefoutent, mais le cryptage aura un avantage : il se fera repérer comme envoyant des messages illisibles, donc potentiellement dangereux. C’est aussi idiot que de photographier une banque qu’on ne veut pas attaquer. Succès garanti auprès de la police !

2) le frimeur

Il utilise PGP comme le rebelle, mais pour jouer les mecs dangereux auprès de ses amis. Aussi idiot que le cas précédent, avec les mêmes risques à la clé.

3) le pirate du samedi soir

Lui s’est trouvé une raison : il crypte pour envoyer des URL de sites pirates avec des gros programmes de hacking, des sites de nazillons ou de pédophile, voir de sites ftp pleins de mp3 et de divX. Choses dont la DST se fiche aussi : elle connaît déjà ces sites.

4) le vrai pirate

Il détourne des secrets industriels ou politiques, organise des traffics ou des attentats. Mais réfléchissons : si vous vouliez vous lancer dans ce genre d’opération, enveriez-vous un message PGP ? la stéganographie (image contenant un message) me semble bien plus anodine aurpès de tous les satellites renifleurs ! Il y a même plus simple : une boite commerciale (yahoo, caramail) sur laquelle vous vous connecterez avec un proxy ou un anonymizer. Ca n’attire pas l’attention.

En résumé, PGP protége surtout ceux qui ont des choses inavouables à cacher, et qui devraient être condamné pour transgression de la loi (terrorisme, traffic, etc). Les autres cas relève de la psychiatrie, vu qu’une personne que personne n’observe se signale à tous les renifleurs avec son --- begin PGP message ---. C’est de la frimautique (aussi appelée suckware) dans le milieu.

Luc

PS : je n’ai pas évoqué les dissidents sous les dictatures. Mais pensez vous qu’ils aient accés librement à internet, surtout après envoi d’un message illisible ? Voyez la Chine...

Répondre
Dark side of the Force, Lirresponsable, 19 juillet 2002

Tsss, tsss tu exagères ami Luc ! :)) Il n’y a pas que la frimautique ou le terrorisme. Tout simplement, la vie privée (c’est un droit) : pretty good privacy. On est bien d’accord que le rebelle qui sera dans le Poitou (quelle belle région) du 1er au 21 août n’intéresse pas particulièrement le FBI, La NSA, la DST, la DGSE, la DRM, etc. Dans le cas contraire, l’écoute du téléphone portable ou d’un poste fixe (voire les cabines publiques proches du domicile), avant même l’installation gratuite d’un keylogger donne des résultats. Puis l’arrestation, la saisie et la question.

C’est-à-dire que le droit à la confidentialité de ses échanges privés ne se mesure pas à l’illégalité des propos ou à leur dangerosité. Or avant les agences gouvernementales, il y a tout un tas d’intermédiaires techniques (mon FAI, celui du destinataire, les services de mail, etc.), de curieux plus ou moins bien intentionnés qui n’ont pas à savoir que notre ami part dans le Poitou. Non pas qu’ils vont en profiter pour venir cambrioler son domicile, c’est un principe plus que de la "sécurité" (les conséquences éventuelles d’une publicité d’actes ou de propos a priori anodins). As-tu envie que quelqu’un lise tes mails, écoute tes conversations téléphoniques, te filme chez toi ? En gros le Loft. Et si tu surprends ton voisin en train de lire ton courrier, celui-ci te rétorque : mais Luc, vous êtes un honnête homme qui n’a rien à cacher...On est bien d’accord les lofteurs n’ont, en général, pas de propos transcendants et ne mettent pas en cause la sûreté de l’Etat (qui a de toute façon une panoplie de moyens). Est-ce une raison pour nier la sphère privée ?

En ce sens, PGP est un outil adapté pour le courrier électronique, dont l’usage devrait se généraliser. (Il sert déjà à des opposants politiques exilés ou des ONG).

En résumé, PGP protége surtout ceux qui ont des choses inavouables à cacher, et qui devraient être condamné pour transgression de la loi (terrorisme, traffic, etc).

La corruption de ceux qui font les lois ou les appliquent est une meilleure protection, que PGP ! Mais ce n’est pas le même budget. :)

a+

PS il me semble, mais je ne suis pas un spécialiste, que la stéganographie est certes plus discrète a priori (dans le sens où un message chiffré avec PGP a bien l’air chiffré du premier coup d’oeil), mais que des logiciels dédiés repèrent immédiatement une image modifiée. C’est pourquoi l’information qui y est contenue est généralement elle-aussi chiffrée.

Répondre
> PGP : quelle utilité ?, Foxy, 19 juillet 2002

C’est vrai qu’on peut discuter de l’utilité de crypter ces messages avec PGP/GPG mais vous oubliez une utilisation primordiale de la crypto : l’authentification.

En effet, PGP/GPG est surtout utilisé aujourd’hui pour signer un message et ainsi valider son auteur. On trouve de nombreux exemples dans les newsgroups spécialisés en informatique et surtout dans les mailing-listes parlant de sécurité et de cryptographie.

Je passe sur les problématiques de certification des clés publiques (un peu trop complexe pour cet article à mon avis) mais avec une clé publique "authentifiée" on peut être sûr de l’auteur de l’article.

Voilà la bonne (et la plus courante) utilisation de PGP/GPG.

Foxy

 
Répondre
> PGP : quelle utilité ?, Fourbissime, 24 juillet 2002

hé hé je crois que tu as oublié une catégorie de personne :

le jeune informaticien "POWAAAAA UZAAAAAA" qui cherches à customiser son chti PC par tout les moyens, légaux ou non. et ca peux passer par beaucoup de choses comme le tunning hardware, et l’installation de toutes sortes de logiciels qu’il n’utilisera jamais, mais c’est pas grave l’important c’est d’avoir réussi à les installer ... je pense par ex au type qui se dit : tiens je vais récupérer une vieille SPARC 10 et compiler un GNU/Linux dessus à travers le réseau local qui relie toutes les machines qui sont dans ma chambre. Et pis après, sur ma ptite Sparc, j’installerai un serveur DNS et un serveur de messagerie avec PGP pour envoyer mes mails ...

hé oui, pour certains individus étranges, leur installation est une oeuvre d’art, une sculpture d’electronique et d’informatique dont la beauté n’a d’égal que la complexité et l’inutilité ...

enfin bon voila, c’était mes deux sous ... :)

Répondre
> PGP : quelle utilité ?, André, 1er août 2002

Ben, justement, vu que je n’ai rien à cacher, je ne vois pas pourquoi je n’aurais pas le droit de le cacher. ;)

Et puis, au delà de l’utilité immédiat, ça me ferait plaisir de faire enrager tous les fliqueurs de la planète. PGP, ça sert à faire se poser des questions aux imbéciles qui cherchent à savoir ce qu’il y a dans les messages cryptés. Et ça, ça me plait.

Répondre
> PGP : quelle utilité ?, Zaan, 28 mars 2004

PGP est volontier utilisé par des entreprises qui ont des choses a cacher. (en toute legalité)

Choses que tu n’evoque pas !!! ZaaN

Répondre


Incassable...
19 juillet 2002, message de Tristan
 

Une petite précision sur le PGP : le chiffre utilisé est cassable, on peut le briser... théoriquement.

En pratique il faudrait une puissance de calcul monstrueuse tellement les possibilités engendrées par l’algorithme sont nombreuses, innombrables même.

Vous n’imaginez pas la puissance des nombres premiers.

Imaginez que pour déchifrer une de ces clés (crée, soit dit en passant, en quelques instants) et briser un message, il faudrait la puissance combinée de tous les ordinateurs de la planète travaillant ensemble pendant environ 120 fois la durée de vie de l’univers.... une paille !!!

Répondre
Jusqu’au jour où..., Lirresponsable, 19 juillet 2002

Hum...je ne suis pas un spécialiste, c’est pourquoi je vais être plus prudent, ou réservé que toi. On constate qu’il faut augmenter la longueur de clé : une longueur de clé de 512 bits n’est aujourd’hui plus suffisante, c’est plutôt 1024 ou 2048 bits : « un module de 1024 bits devrait être suffisant jusqu’au 2005, pour les 20 prochaines années 1024 bits seront insuffisants » (cf.Eléments de cryptoanalyse)

Et, reste également ce point de vue, plein de bon sens :

« Ce qui pourrait complètement compromettre la sécurité de RSA serait une avancée mathématique qui aurait pour conséquence de faciliter la factorisation des grands nombres (mais il est possible qu’une telle avancée soit mathématiquement interdite). Ou bien la construction de "machines à factoriser" révolutionnaires. » (cf.cryptosec)

Donc anticiper sur 120 fois la durée de vie de l’univers les découvertes mathématiques, et les évolutions techniques, je n’en suis pas capable :). C’est pourquoi, je préfère m’en tenir, pour l’instant, au sens relatif de "incassable" (= pas encore cassé).

Répondre


GnuPG c’est mieux
18 juillet 2002, message de Foxy
 

Votre article est une très bonne introduction à la cryptographie et à son utilisation par des néophytes.

Néanmoins, il aurait été bien mieux de parler de GnuPG à la place de PGP. En effet, aujourd’hui PGP est un produit propriétaire appartenant à NAI qui va le retirer du marché (il n’y a d’ailleurs pas de version officielle pour Windows XP).

GnuPG reprend toutes les fonctionnalités de PGP : signature, encryptage, décryptage via un système de clé publique/privée. Mais il est surtout open-source et libre car développé par des membres de la Free Software Foundation (initiateur du projet GNU), dans le même esprit que l’OS Linux. Il existe pour les systèmes Unix (dont Linux), WIndows et MacOS.

UTILISEZ GPG ET PAS PGP !!!

 
en ligne : GnuPG
Répondre
> GnuPG c’est là, asr, 18 juillet 2002
Allez. Je me laisse àaller à un tutorial GPG pour la signature/cryptage des mails. Après les épisodes LSQ et consorts, l’heure est à la crypto... !
Répondre
Feel like sayin’ foxy !, Lirresponsable, 18 juillet 2002

Oui tu as raison, mais je crois que le nom "PGP" est plus connu que "GnuPGP", (pour un débutant, il y a plus de chance qu’il ait entendu parler de PGP), et en plus cela oblige dans ce cas à détailler ce qu’est le Gnu, l’open-source, le libre, faire l’historique de PGP, etc. Or là c’est juste une petite intro à la crypto, donc placer d’emblée la présentation dans la problématique du Gnu complique l’exposition, ama. C’est pourquoi, dans cet article, j’ai préféré envoyer directement le lecteur sur OpenPGP dans la partie sur PGP ; (je fais juste allusion au brevet propriétaire avec l’exemple d’algorithme).

Mais il y a là objet pour un autre article à propos de PGP, ou plus généralement sur l’open-source.

a+

Répondre


> Les joies de la cryptographie
18 juillet 2002
 

Euh, juste un petit mot pour signaler une erreur dans l’article...

C’est pas des VTT... :-)))

Très bel article, très bien traité, bravo.

Répondre


> Ou est Camera/Shy
16 juillet 2002, message de vulcanoo
 
Bonjour à tous. Le groupe Hacktivisimo a sorti le 14 juillet un logiciel de stéganographie nomme camera shy. Ce logiciel permet au grand public de dissimuler ses secrets dans des images... Mais le site www.hacktivismo.com repond erreur 403. Qui sait ou se trouve le logiciel ? Décidémment : la compétence est une menace pour l’autre et l’incompétence une menace pour soi même.
Répondre
hide camera, Lirresponsable, 16 juillet 2002

Visiblement, ils ont annoncé qu’ils allaient annoncer la sortie de Camera/Shy au H2K2, pas que le programme était à télécharger tout de suite :

LUBBOCK, TX, July 4 — Camera/Shy, a browser-based steganography application from HACKTIVISMO, will be released at the H2K2 Convention in New York City on July 13th. (cDc)

When the activists at Hacktivismo.com announced they were releasing a browser-based steganography application during the H2K2 Convention in New York City later this week, we thought that was pretty interesting — and brave, considering all the recent speculation about how terrorists can use encryption tools to their advantage. Saturday July 06, 2002, GPLed Camera/Shy encryption tool : It’s like "drag queens for democracy"

Hacktivismo, which claims to be affiliated with Cult of the Dead Cow, expects to release Camera/Shy at the H2K2 conference on 13 July, 2002. (Monday 8th July 2002 Andrew Colley,Encryption tool gives privacy buffs new image)

L’envoyé spécial de pcworld :

The steganography tool, to be released on Saturday at the H2K2 hacker convention in New York City, will let users hide encrypted text within any gif image placed on a Web page. Kim Zetter, special to PCWorld.com Friday, July 12, 2002, Hackers Tackle Censorship With New Tool

Mais bon, il sera sûrement en download sur le site...

a+

Répondre
> Ou est Camera/Shy, 16 novembre 2004
http://sourceforge.net/projects/camerashy/
Répondre


> Les joies de la cryptographie
15 juillet 2002
 
fciezf uf cgeil huierg eruizg aeghuiergi rugherhger ?
Répondre
> Les joies de la cryptographie, Lirresponsable, 15 juillet 2002
106080120121041125101019 003011025084027134030201 025028017082021017084081093 0650070170170270710330420081 23122041027075095080009
Répondre
> Les joies de la cryptographie, 15 juillet 2002
c’est mesquin .....
Répondre
> Les joies de la cryptographie, Didonc, 15 juillet 2002
C’est moi, ou t’as un léger accent ? dis ?
Répondre
> Les joies de la cryptographie, don20100, 5 octobre 2006

Bonjour, j’ai un code qui apparait sur une image... j’aimerais savoir si quelqu’un se sent capable de tenter de le déchiffer...

Je lance le défi pour les amteurset les habitués, envoyez-moi un mail et je vous transmet l’image.

Pour le moment rien à gagner mais je vais y penser je vais probablement égalemnt mettre une récompense à la clé ...

Don20100.cv@gmail.com

Répondre