La cryptographie

La cryptographie est une méthode de protection des informations et des communications par l'utilisation de codes, afin que seuls ceux à qui les informations sont destinées puissent les lire et les traiter. Le préfixe "crypt-" signifie "caché" ou "voûte" -- et le suffixe "-graphie" signifie "écriture".

En informatique, la cryptographie fait référence à des techniques d'information et de communication sécurisées, dérivées de concepts mathématiques et d'un ensemble de calculs basés sur des règles, appelés algorithmes, pour transformer les messages de manière à ce qu'ils soient difficiles à déchiffrer. Ces algorithmes déterministes sont utilisés pour la génération de clés cryptographiques, la signature numérique, la vérification pour protéger la confidentialité des données, la navigation sur Internet et les communications confidentielles telles que les transactions par carte de crédit et le courrier électronique.

Techniques de cryptographie

La cryptographie est étroitement liée aux disciplines de la cryptologie et de la cryptanalyse. Elle comprend des techniques telles que les micropoints, la fusion de mots avec des images et d'autres moyens de dissimuler des informations lors du stockage ou du transit. Cependant, dans le monde informatique d'aujourd'hui, la cryptographie est le plus souvent associée au brouillage du texte en clair (texte ordinaire, parfois appelé texte clair) en texte chiffré (un processus appelé cryptage), puis à son retour (appelé décryptage). Les personnes qui pratiquent ce domaine sont connues sous le nom de cryptographes.

La cryptographie moderne s'intéresse aux quatre objectifs suivants :

  • Confidentialité : l'information ne peut être comprise par quiconque à qui elle n'était pas destinée.
  • Intégrité : les informations ne peuvent pas être modifiées lors du stockage ou du transit entre l'expéditeur et le destinataire sans que l'altération soit détectée.
  • Non-répudiation : le créateur/expéditeur de l'information ne peut pas nier ultérieurement ses intentions lors de la création ou de la transmission de l'information.
  • Authentification : l'expéditeur et le destinataire peuvent confirmer l'identité de l'autre et l'origine/destination de l'information.
    Les procédures et les protocoles qui répondent à tout ou partie des critères ci-dessus sont appelés cryptosystèmes. On pense souvent que les cryptosystèmes ne concernent que les procédures mathématiques et les programmes informatiques ; cependant, ils comprennent également la régulation du comportement humain, comme le choix de mots de passe difficiles à deviner, la déconnexion des systèmes non utilisés et l'interdiction de discuter des procédures sensibles avec des personnes extérieures.

Processus de cryptographie - Algorithmes cryptographiques

Les cryptosystèmes utilisent un ensemble de procédures connues sous le nom d'algorithmes cryptographiques, ou ciphers, pour chiffrer et déchiffrer les messages afin de sécuriser les communications entre les systèmes informatiques, les appareils tels que les smartphones et les applications. Une suite de chiffrement utilise un algorithme pour le chiffrement, un autre algorithme pour l'authentification des messages et un autre pour l'échange de clés. Ce processus, intégré dans des protocoles et écrit dans des logiciels qui fonctionnent sur des systèmes d'exploitation et des systèmes informatiques en réseau, implique la génération de clés publiques et privées pour le cryptage/décryptage des données, la signature et la vérification numériques pour l'authentification des messages, et l'échange de clés.

Types de cryptographie

Les algorithmes de cryptage à clé unique ou symétrique créent une longueur fixe de bits, connue sous le nom de chiffrement par blocs, avec une clé secrète que le créateur/expéditeur utilise pour chiffrer les données (cryptage) et que le récepteur utilise pour les déchiffrer. Parmi les types de cryptographie à clé symétrique, citons l'Advanced Encryption Standard (AES), une spécification établie en novembre 2001 par le National Institute of Standards and Technology en tant que Federal Information Processing Standard (FIPS 197), pour protéger les informations sensibles. La norme est mandatée par le gouvernement américain et largement utilisée dans le secteur privé.

En juin 2003, AES a été approuvé par le gouvernement américain pour les informations classifiées. Il s'agit d'une spécification libre de droits mise en œuvre dans des logiciels et du matériel dans le monde entier. AES est le successeur de Data Encryption Standard (DES) et DES3. Il utilise des longueurs de clé plus longues (128, 192 et 256 bits) pour éviter les attaques par force brute et autres.

Les algorithmes de cryptage à clé publique ou asymétrique utilisent une paire de clés, une clé publique associée au créateur/expéditeur pour le cryptage des messages et une clé privée que seul l'expéditeur connaît (sauf si elle est exposée ou s'il décide de la partager) pour le décryptage de ces informations. Les types de cryptographie à clé publique comprennent le RSA, largement utilisé sur Internet ; l'algorithme de signature numérique à courbe elliptique (ECDSA) utilisé par Bitcoin ; l'algorithme de signature numérique (DSA) adopté comme norme fédérale de traitement de l'information pour les signatures numériques par le NIST dans la norme FIPS 186-4 ; et l'échange de clés Diffie-Hellman.

Pour maintenir l'intégrité des données en cryptographie, les fonctions de hachage, qui renvoient une sortie déterministe à partir d'une valeur d'entrée, sont utilisées pour faire correspondre les données à une taille fixe. Les types de fonctions de hachage cryptographiques comprennent SHA-1 (Secure Hash Algorithm 1), SHA-2 et SHA-3.

Problèmes liés à la cryptographie

Les attaquants peuvent contourner la cryptographie, pirater les ordinateurs chargés du cryptage et du décryptage des données et exploiter des implémentations faibles, comme l'utilisation de clés par défaut. Cependant, la cryptographie rend plus difficile pour les attaquants l'accès aux messages et aux données protégés par des algorithmes de cryptage.

Les inquiétudes croissantes concernant la puissance de traitement de l'informatique quantique pour briser les normes actuelles de cryptographie ont conduit le National Institute of Standards and Technology (NIST) à lancer en 2016 un appel à contribution auprès de la communauté mathématique et scientifique pour de nouvelles normes de cryptographie à clé publique. Contrairement aux systèmes informatiques actuels, l'informatique quantique utilise des bits quantiques (qubits) qui peuvent représenter à la fois des 0 et des 1, et donc effectuer deux calculs à la fois. Bien qu'un ordinateur quantique à grande échelle puisse ne pas être construit dans la prochaine décennie, l'infrastructure existante nécessite une normalisation des algorithmes connus et compris du public qui offrent une approche sécurisée, selon le NIST. La date limite pour les soumissions était en novembre 2017, l'analyse des propositions devrait prendre trois à cinq ans.

Histoire de la cryptographie

Le mot "cryptographie" est dérivé du grec kryptos, qui signifie caché. L'origine de la cryptographie est généralement datée d'environ 2000 avant J.-C., avec la pratique égyptienne des hiéroglyphes. Il s'agissait de pictogrammes complexes, dont la signification complète n'était connue que d'une élite. La première utilisation connue d'un code moderne a été faite par Jules César (100 av. J.-C. à 44 av. J.-C.), qui ne faisait pas confiance à ses messagers pour communiquer avec ses gouverneurs et ses officiers. C'est pourquoi il a créé un système dans lequel chaque caractère de ses messages était remplacé par un caractère situé trois positions plus haut dans l'alphabet romain.

Ces derniers temps, la cryptographie est devenue le champ de bataille de certains des meilleurs mathématiciens et informaticiens du monde. La capacité de stocker et de transférer en toute sécurité des informations sensibles s'est avérée être un facteur essentiel de réussite dans la guerre et dans les affaires.

Les gouvernements ne souhaitant pas que certaines entités à l'intérieur et à l'extérieur de leur pays aient accès à des moyens de recevoir et d'envoyer des informations cachées pouvant constituer une menace pour les intérêts nationaux, la cryptographie a fait l'objet de diverses restrictions dans de nombreux pays, allant de la limitation de l'utilisation et de l'exportation de logiciels à la diffusion publique de concepts mathématiques pouvant être utilisés pour développer des cryptosystèmes. Toutefois, l'internet a permis la diffusion de programmes puissants et, surtout, des techniques sous-jacentes de la cryptographie, de sorte qu'aujourd'hui, un grand nombre des idées et des cryptosystèmes les plus avancés sont désormais dans le domaine public.