Eric MILLOZ

            

Petite histoire du chiffre.

Eric MILLOZ © 1993

Sommaire

1 - INTRODUCTION :

2 - Historique de la Cryptologie

3 - Sécurité des mots de passe .

4 - Vulnérabilité et forçage des systèmes de cryptage.

5 - CONCLUSION


1 - INTRODUCTION :


"Le secret est l'âme de toute entreprise". Napoléon 1 er

Du GREC ; Kruptos graphein (respectivement caché et écrire).

Définition:

La cryptologie est la science des codes.
Elle comprend la cryptographie, encore appelée chiffrement, qui utilise les méthodes de brouillage d'un message en clair pour le rendre inexploitable par un tiers non autorisé, et la
cryptanalyse qui est l'analyse des codes cryptés.
Les, principes fondamentaux de la cryptographie.
Le chiffrement ou cryptage consiste a transformer une information en clair en une information secrète appelée cryptogramme à l'aide d un algorithme et d'une clef secrète. L'opération inversa est le décryptage.
Il y a deux types de cryptographie, la cryptographie défensive qui consiste dans la protection des données et la cryptographie offensive qui va essayer de connaître le contenu d'un ensernble chiffré par autrui .
L'avènement des calculateurs numériques a fait progresser considérablement cette science et les techniques qui 1'accompagnent.

En cryptographie moderne nous distinguerons les méthodes dites :
  • Symétrique (Flux a 1éatoires,DES (1976)) les clefs de cryptage et de décryptage sont identiques.
  • Asymétrique (Exponentiation, RSA (1977)) les clefs de cryptage et de décryptage sont différentes.

  • Il existe deux principes fondamentaux :
  • par substitution : consiste à changer chaque caractère d'un message clair à l'aide d'un ou plusieurs alphabets de codage.
  • par transposition : consiste à effectuer des permutations selon une fonction F et une période finie. La clef étant fonction de cette période.
  • et plusieurs astuces : Décalage, polyalphabet, nombre premier, calcul matriciel, logarithme, exponentielle, etc ....
  • 2 - Historique de la Cryptologie

    La cryptologie est très ancienne .
    En 3500 ans av J.C, elle existait déjà en Mésopotamie .

    En 50 ans avant J.C, les Spartiates utilisaient la "scytale", bâton de diamètre déterminé sur lequel on enroulait une lanière de cuir ou on écrivait des messages dans le sens de la longueur.
    Jules César utilisait cette technique pour transmettre ses ordres.
    Il n'y a pas eu d'évolution de la cryptologie entre 0 et 16 éme siécle.

    Della Porta (1541-1615) scientifique italien, en s'inspirant de ce travail, imagina une méthode qui fut en usage jusqu'au 19 éme siècle. Il est considéré comme le père de la cryptologie moderne.
    Blaise de Vigenère (1586),sécrétaire de la chambre du roi HENRI 3 au cours d'une mission diplomatique à Rome apprit la cryptographie et rédigea un ouvrage "Traité des chiffres et manières secrètes d'escrire." où il décrit un système de substitution à double clef qui porte son nom.
    Ce système aurait été inviolé pendant 3 siècles.
    Ce système de cryptage basé sur la substitution de lettres à travers une table nommée tableau de Vigenère .

    abcdefghijklmnoqrstuvwxyz
    bcdefghijklmnoqrstuvwxyza
    cdefghijklmnoqrstuvwxyzab
    defghi jk1mnoqrstuvwxyzabc
    etc. . .

    Sir Francis Beaufort a également utilise ce système avec des répétitions de lettres.
    Sous HENRI V (16 éme siècle), des signes remplaçaient les lettres(plusieurs signes pour une lettre..).
    Sous LOUIS XIII, le système se perfectionnat, car des nombres correspondaient à des syllabes, des mots ou groupe de mots, Antoine ROSSIGNOL (1590-1673) créateur du service du chiffre et auteur du "Grand chiffre" de Louis XIII(système de substitution).
    Ce dernier ne fut "cassé" qu'en 1893 par le commandant Bazeries qui était au service du chiffre et lui-même auteur d'un cylindre de chiffrement à rondelles interchangeables.
    Sous LOUIS XIV, les signes disparurent pour ne laisser place qu'aux nombres qui codaient des lettres ou syllabes.

    Fait divers de la cryptologie :

    La cryptologie a réellement progressé en temps de guerre notamment pendant la seconde guerre mondiale.

    En 1942,le Japon était soupçonné par les Etats Unis d'Amérique d'une offensive décisive dans la guerre du Pacifique qui aurait pu faire basculer les chances de victoire.
    Les services secret de la marine, qui lisaient depuis longtemps une grandes parties des codes japonais, pensèrent que le lieu de cette bataille était l'ile de Midway contrairement à ce que laissait penser les manoeuvres d'une partie de la flotte japonaise dans les iles Aléoutiennes .
    Le nom de code 'AF' apparu depuis peu, était utilisé de plus en plus fréquemment et devrait désigner la cible des japonais.
    Pour s'en assurer, Midway reçu l'ordre d'envoyer un message en clair concernant la panne de leur installation de distillation d'eau.
    Quelque jours plus tard, un message japonais annonça que 'AF' avait des problèmes d'approvisionnement d'eau .Les Américains étaient maintenant sûrs que les manoeuvres dans les iles Aléoutiennes n'étaient qu'une diversion.
    La bataille fut décisive quant à la victoire dans le Pacifique.
    Plus tard,c'est aussi la cryptanalyse qui permis de décrypter l'emploi du temps de l'amiral Yamamoto et d'intercepter son appareil au dessus de l'océan Pacifique .
    Ceci régla définitivement l'issue du conflit.

    En 1940, La machine a coder Enigma, dans laquelle les allemands avaient une entière confiance, cryptait les messages destinés aux armées. Les services secrets Anglais développèrent un système de décodage grâce à un rassemblement extraordinaire de connaissance et de materiel.
    Ce lui serait apte à décrypter les messages Allemands et ainsi les faits et gestes de l'adversaire.

    En Novembre 1940, les Anglais décodèrent un ordre Allemand de bombardement de la ville de Coventry .Mr Churchill en fut avisé et en fit part au conseil de guerre et décidèrent de ne pas intercepter les bombardiers, de ne pas placer de défense anti-aérienne autour de la ville, de ne rien faire qui aurait pu éventer la capacité des Britaniques à décrypter les messages du troisième Reich.

    Conclusion du rôle du chiffre dans les conflits:

    L'histoire de la guerre du Pacifique montre que la cryptanalyse devient réellement une arme de guerre à part entière et devient décisive dans le cadre d'une guerre.
    L'histoire de la codeuse Enigma démontre que quelque soit le principe de codage utilisé,les informations sont susceptibles d'être découvertes .
    Le sacrifice de la ville de Coventry donna un poids à sa valeur stratégique.

    Attention : les moyens cryptographiques sont considèré comme arme de guerre.
    Réglementation relative au moyen de cryptologie. (Extrait.)

    Les moyens de cryptologie sont des matériels ou logiciels conçus, soit pour transformer à l'aide de conventions secrètes des
    informations en clair ou des signaux en informations ou signaux inintelligible, soit pour réaliser l'opération inverse.
    Ces moyens, assimilés a des armes de guerre , sont régis par les décrets 73-364 du 12 mars 1973 et 86-250 du 18 février 1986 par ailleurs, deux arrêtes du 18 février 1986 parus au Journal Officiel du 26 Février, précisent les démarches a effectuer pour
    la fabrication, la commercialisation, l'acquisition, la détention et l'utilisation des moyens de cryptologie destines a
    des fins professionnelles ou privées sur le territoire Français .
    Fabrication ou commercialisation de moyens de cryptologie ; les demandes d'autorisation concernant ces matériels destines a des
    fins professionnelles ou privées sur le territoire national doivent être accompagnées d'une description complète et détaillée
    de langue Française, du procédé cryptologique et si cela est matériellement possible, de deux modèles du moyen envisagé.
    Cette description engage la responsabilité du demandeur qui devra accepter de se soumettre à tout contrôle de l'administration sur
    la conformité du moyen de cryptologie fabriqué ou commercialisé avec la description et les modèles déposés.
    Les demandes doivent être adressées au ministère chargé des PTE.
    (Poste, Télécommunication et Espace). (...)
    Acquisition, détention ou utilisation de moyen cryptoLogique.
    L'acquisition, détention ou utilisation de moyens cryptologiques destinés a des fins professionnelles ou privées sur le territoire
    national sont subordonnées à une autorisation spéciale délivrée par le ministre chargé des télécommunications au profit d'un
    usager, personne morale ou physique.

    3 - Sécurité des mots de passe .

    Avoir un algorithme de cryptage est un moyen sûr ; par contre pour être efficace et pour pouvoir être réversible le système nécessite un mot de passe ou clef .
    La, où le système de cryptage est sûr, il faut un mot de passe connu de soi seulement et assez long pour éviter les essais avec des mots de 1 ou 2 lettres .

    Voici une étude portant sur les mots de passe de terminaux qui pourrait s'appliquer aux clefs pour la cryptologie.

    Etude sur le comportement de choix de mot de passe ;
  • Ils sont mal choisis car dans 85 % des cas on les retrouve,
  • Ils ne sont pas changés pendant des mois,voire des années !
  • Ils ont souvent une taille impropre a assurer la moindre sécurité en effet : 25 % ont un caractère . 43 % ont 2 caractères ( en général les initiales de l'utilisateur).
  • Pour les mots de passe comportant au moins 5 caractères.
  • 85 % n'en changent jamais, 15 % une fois par an.
  • 65 % représentent une information personnelle significative.
  • 80 % sont exclusivement alphabétiques.
  • 23 % des utilisateurs inscrivent leurs mots de passe.
  • sur une note dans leurs portefeuilles 42 %.
  • dans un carnet 21 %, sur le calendrier 17 %, dans des fichiers 6 %, au tableau ou sur le bureau 2 %.
  • 100 % l'inscrirait si il était généré au hasard.
  • En conclusion, il faut que ce mot soit au moins supérieur a 5 caractères qu'il n'ait pas de relation avec vous (date denaissance, numéro mineralogique, second prénom,etc ..), qu'il ne soit pas exclusivement alphabétique, et surtout il faut lechanger souvent . Toutes ces recommandations sont un gage de sécurité que ce soit pour les mots de passe ou les clefs de cryptage.

    Le R.S.A ( Rivest Shamir Adleman ) :

    L'algorithme,proposé par les trois cryptologues en 1977, est basé sur l'utilisation de l'exponentielle modulaire.
    L'étude des nombres premiers fascine les mathématiciens depuis des générations .
    Leurs distributions dans l'ensemble des entiers naturels est encore un sujet très actuel de recherche.
    L'arithmétique, branche passionnante des mathématiques, semble avoir trouvé dans la théorie des nombre premiers un inépuisable vivier pour la recherche,dans lequel la science de la cryptologie est venue puiser.
    Le but de ce système et d'éviter qu'un tiers, qui a réussi a obtenir l'algorithme et la clef, ne puisse découvrir le contenu du texte.
    Description :
    Si e est une clef publique choisie et d, une clef secrète de décryptage, calculée.
    Un message crypté peut s'écrire : M' = M^d module n
    et. le message décrypté : M = M^d module n
    avec le produit n=p.q ou p et q sont de deux très grands nombres premiers.
    Choix de p et q ; les choisir de taille sensiblement différente,
    choisir des nombres premiers, de la forme 2 x X + 1, avec X
    premier, et tel que X-1 possède de grands facteurs premiers,
    Choix de d et e : choisir d en premier, tel que d et le produit
    p x q soit premier entre eux.
    Choisir ensuite e et vérifier qu'il est strictement supérieur a log^2(n) .

    Ne retenir que si n et e soient premiers entre eux.
    Exemples :

    Un usager B veut envoyer un message confidentiel à l'usager A, il consulte alors le fichier public contenant le e et le n de A, rédige alors son message.
    Comme le codeur ne connait pas d (inverse multiplicatif de mod(n) de e,il n' a aucune idée de la valeur utilisé par A, même s'il connait l'algorithme exact, e et le modulo n.
    L'usager B doit pour décrypter utiliser sa clef d et son nombre p.

    Comme tout algorithme de cryptage, le système d'encryption R.S.A n'élimine pas toutes les formes de régularité détectables au sein de l'information codée. Mais il rend le fichier si obscur a tout calcul polynomial que l'on estime qu'il est sûr...

    Application du R.S.A en France :
    Le système d'authentification des cartes bancaires permet de garantir aux banques que la carte n'a pas été dupliquée ou contrefaite, sans exiger pour autant des secrets dans le terminal.

    Pour ce faire avant sa mise en service, on y enregistre une valeur d'authentification qui n'est autre que la signature R.S.A par l'émetteur bancaire d'un identificateur I, caractéristique de cette carte et inscrite dans sa mémoire en zone de lecture ;
    V = s(I)

    On choisi l'exposant constituant la clef publique de l'algorithme R.S.A égal à 3 et le terminal est assuré de l'authenticité de la carte qu'il doit traiter en vérifiant que :
    V^3 =I module n

    Exemple de système de codage a clef privée:

    L'idée général de cette algorithme est le suivant :
    L'utilisateur entre une clef de cryptage qui est d'au minimum 5
    caractères, celle ci va être étendu sur 20 caractères . (pour une clef de 20 caractères.)
    Ensuite on va créer une matrice de 256 par 256 (0,.255,0..255)
    qui va être remplie par une fonction mathématique paramétrée par es éléments de la clé. Une fois remplie on aura une matrice remplie comme ci dessous :

    0 1 2 3 4 5 6 7 . . . . .
    0 43 52 b5 14 87 d9 6a 8f
    1 le 8f db a8 d6 8d c4 29
    2 38 3b a4 .....

    Les tailles des colonnes et des rangées sont compatibles avec les codes trouvés dans un programme (sources,éxécutables) soit 256.
    puis en récupérant code après code du fichier a crypter on code de la manière suivante :

    Pour amorcer le codage on lis un caractère que l'on inscrit aussitôt dans le fichier codé (donc le premier caractère ne sera pas codé, mais on se sert de son code ASCII pour définir une colonne,le second code définira une ligne et l'intersection(ligne / colonne ) sera placée dans le fichier codé.
    Le second code définira à son tour la ligne et le troisième définira la colonne et cela jusqu'à la fin du fichier à crypter.
    On peut remarquer qu'il y aura redondance a un moment.

    Exemple :
    'vous vous' sera codé admettons comme 'xt1hkvt1hk'

    voir décodages .
    le x code de l'espace défini par le caractère le précédent (ici inconnu et sans importance)
    le t est le v défini par l'espace . le 1 est le o défini par le v.
    le h est u défini par le o, le k est le s défini par le u.
    Il y a répétition des codes engendrés donc pour palier a ne "défaut" on peut a chaque fois qu'une intersection est trouvée lui ajouté 1 ou le numéro de la ligne, ou une valeur composant la clef, ou ce que l'on voudra bien imaginer....
    Exemple de système de codage à clef publique :
    Ce système est destiné à l'échange de données secrètes entre deux utilisateurs. Comme le R.S.A., il est basé sur les propriétés mathématiques de l'exponentielle modulaire.
    Celles-ci permettent aux utilisateurs de concevoir une clé qu'ils n'auront pas besoin de se transmettre confidentiellement.
    La communication se fait en plusieurs temps : choix d'éléments communs,publication de résultats intermédiaires et enfin codage, transmission et décodage.

    Tout d'abord, les utilisateurs choisissent ensemble un grand nombre premier p et un entier a.
    Ensuite, chacune des deux personnes choisit un entier x,compris entre 1 et p-1, et effectue l'opération suivante :

    y = a^x mod p

    On a donc deux couples (xl,yl) et (x2,y2).

    Ensuite, les valeurs yl et y2 sont rendues publiques, ce qu'on appelle publication. Cette phrase a pour but de les faire connaître aux deux utilisateurs.
    Chaque personne peut alors calculer la clé c :

    c = a^(x1*x2) mod p
    car c = y1^x2 mod p = y2^x1 mod p

    On remarquera que chacun ignore l'exposant x choisi par l'autre.
    De plus, le codage utilise la succession des bits de c comme une suite semi aléatoire.

    L'efficacité est alors directement liée à la longueur de c.
    Les recommandations de choix exprimées au paragraphe traitant le R.S.A. sont applicables aux valeurs de a, x et p.
    Dans un troisième temps, le texte est codé.
    Celui-ci est lu par blocs de taille égale au nombre de bits de la clé c.
    Chaque bloc est soumis à trois opérations, successivement une première substitution, un décalage et une seconde substitution.
    Enfin, après transmission, le texte est décodé par découpage en blocs et application des opérations énumérées ci-dessus dans l'ordre inverse.

    4 - Vulnérabilité et forçage des systèmes de cryptage.

    La menace majeure qui pèse sur un système de cryptage est une attaque à texte clair connu . Dans cette situation, l'adversaire a en sa possession le texte crypté et le texte clair et peut donc comparer les deux.Des systèmes de cryptage considérés comme sûr peuvent se révéler très vulnérables à ce genre d'attaque.

    Dans le cas où le texte est inconnu, la méthode employée est le forçage par clé c'est à dire qu'il faut plusieurs systèmes qui permettent un essai systématique de la plupart des clefs existantes,
    chacun des systèmes essayant un décryptage différent
    Pour le D.E.S. la méthode est d'essayer tous les mots de code existant ou ayant trait à la personne qui a crypté le texte mais encore faut-il avoir l'algorithme.

    Pour le R S A. la méthode est différente, car ce système de cryptage utilise comme clé des nombres premiers .Puisqu' il y a 2 nombres premiers capables de décrypter le message, cela fait deux chances de découvrir l'un d'eux.La diversité des nombres premiers est étendue mais n'est pas sans limite (machine).

    De toute façon, pour arriver à ses fins il faudrait énormément de temps et de matériel.Ce travail d'agent secret ne peut être pour l'instant réservé qu'a des organismes d'état ayant des fonds sà placer dans cette discipline. (La N.S.A par exemple.)

    Divers Organismes nationaux s'occupant de cryptage :

    En France, c'est le bureau du chiffre du ministère de l'intérieur.
    Aux Etats Unis, il existe un service dont le nom est National Sécurity Agency (N.S.A), basé a Fort Meadle (Maryland).
    Il dispose d'un budget bien plus important que la C.I.A et a aussi a son service 5000 m2 d'ordinateurs. Ce service surveille dans la mesure de ses moyens les communications téléphoniques et informatiques pour détecter d'éventuelles fuites de technologie.

    Les divers services au sein de l'agence:
  • D.S.A.D. - Défensive Software Application Dept.
  • S.C.D. - Service of Coding/Decoding.
  • S.P.D. - Service of Programm Debugging.
  • S.S.D. - Service of Software Development.
  • O.S.A.D. - Offensive Software Application Dept.
  • S.R.D. - Service of Research and Development.
  • S.A.D. - Service of Activation-Desactivation.
  • C'est notamment le service codage/décodage qui cherche a briser les systèmes de codage pour vérification du contenu,et il ne serait pas impossible qu'ils puissent effectivement briser les codes du D.E.S entre autres.
    Cela n'est que pure hypothèse et la N.S.A n'a jamais rien communiqué a ce sujet.(N.S.A veut peut-être dire aussi Never Say Anything.").
    Le seul système de cryptage sûr est le R.S.A à clef publique, ce n'est pas pour rien que la N.S.A a tout tenté pour empêcher la publication des travaux sur ce système.

    L'équivalent en Angleterre de la N.S.A et le G.C.H.Q. (Governement Communication Head-Quarters), c'est ce dernier qui perça le cryptage Allemand.

    5 - CONCLUSION

    De tous temps l'homme cache des informations, dans le but d'avoir un avantage technologique, ou stratégique.
    La cryptologie est la réponse a ce besoin sous toutes les formes imaginables.
    Des formes les plus simples aux formes mathématiquement évoluées la cryptologie progresse dans la complexité.

    Avant l'avènement des système informatiques, la cryptanalyse évoluait autour de quelques principes de base comme la substitution ou les décalages.
    En effet,selon le capitaine BAUDOIN (1939), le décryptement était base sur l'analyse du cryptogramme, l'intuition et l'expérience.
    Mais les progrès scientifiques liés aux calculateurs et aux mathématiques ont permis la multiplication des opérations de base.
    Par conséquent, seule l'étude détaillée du cryptogramme peut apporter un indice.

    Une autre méthode est l'attaque en force par essais succésifs d'une multitude de clefs par algorithmes susceptibles d'avoir été utilisés.
    Mais ceci néccessite soit énormément de temps, soit une technologie de parallélisme coûteuse (composant spécialement dédié a une tache précise).
    L'homme,n'étant plus capable de raisonner sur sur des problèmes aussi vastes, entreprend de concevoir des systèmes capables de le subordonner .

    Or,l'analyse et l'expérience sont des notions que l'on peut inculquer à un système informatique, mais l'intuition est, elle, tributaire des progrès de l'intelligence artificielle.
    La cryptologie reste un domaine discret ou les batailles, gagnées ou perdues, ne sont révélées que lorsqu'elles sont désuètes.

    "Tout ce qui se perfectionne par progrès périt aussi par progrès."
    Pascal

    Articles
    La i-Girouette (09/12/2017)TER St-Etienne Ambérieux (15/04/2018)