Fondamentaux de la cryptographie

La cryptographie fait référence au processus consistant à cacher des informations en convertissant le texte lisible en texte illisible à l'aide d'une sorte de clé ou d'algorithme de cryptage.

Les informations protégées à l'aide de la cryptographie comprennent les e-mails, les fichiers et d'autres données sensibles.

L'objectif de la cryptographie est de garantir que les informations cryptées conservent leur confidentialité, leur intégrité, leur authentification et leur non-répudiation.




Types de cryptographie

Le chiffrement a deux types:

  • Cryptage symétrique utilise une clé pour crypter et décrypter les informations envoyées / reçues.
  • Cryptage asymétrique utilise différentes clés pour crypter et décrypter les informations envoyées / reçues.


Chiffrer

Cipher fait référence à un algorithme utilisé pour le cryptage et le décryptage.


Les types de chiffrement sont:

Chiffres classiques

  • Chiffre de substitution est un chiffre dans lequel le texte brut est remplacé par un texte chiffré.
  • Chiffre de transposition est un chiffrement dans lequel le texte brut est réorganisé pour créer un texte chiffré.

Chiffre moderne


  • Chiffrements basés sur des clés:



    • L'algorithme de clé symétrique est un algorithme qui utilise une clé pour le cryptage et le décryptage

    • L'algorithme de clé asymétrique est un algorithme qui utilise deux clés pour le cryptage et le décryptage


  • Chiffrements basés sur les entrées:



    • Le chiffrement par bloc est un chiffrement qui fonctionne sur des blocs de données de taille fixe à l'aide d'une clé symétrique

    • Le chiffrement de flux est un chiffrement qui fonctionne sur un bit à la fois en utilisant une clé symétrique



Algorithmes de chiffrement

DES

DES est une norme de cryptage de données qui utilise un cryptage symétrique. La clé secrète utilisée pour le cryptage et le décryptage a 64 bits, dont 56 bits sont générés aléatoirement et les 8 bits restants sont utilisés dans la vérification des erreurs.


AES

AES est un algorithme à clé symétrique qui effectue la même opération plusieurs fois. Il utilise un bloc de taille fixe de 128 bits et des clés de trois tailles: 128, 192 et 256 bits.

RC4, RC5, RC6

RC4 est un algorithme de clé de longueur variable qui fonctionne sur un bit à la fois et utilise des permutations aléatoires. Il appartient au groupe des chiffrements de flux à clé symétrique.

RC5 est un algorithme paramétré qui a une taille de bloc variable, une taille de clé variable et un nombre variable de tours. La taille de bloc peut être l'une des trois: 32, 64 et 128 bits. La taille de la clé peut être comprise entre 0 et 2 040 bits. Le nombre de tours peut être compris entre 0 et 255.

RC6 est dérivé de RC5 et possède deux fonctionnalités supplémentaires: il utilise la multiplication d'entiers et des registres à 4 bits (RC5 utilise des registres à 2 bits).


Deux Poisson

L'algorithme Twofish est un chiffrement par blocs qui utilise des blocs de 128 bits et une clé pour le chiffrement et le déchiffrement. La taille de la clé peut aller de 0 à 256 bits.

DSA

DSA est un algorithme asymétrique qui utilise à la fois des clés privées et publiques. La clé privée indique qui a signé le message et la clé publique vérifie la signature numérique. Dans l'échange de messages entre deux entités, chaque entité crée une clé publique et une clé privée.

RSA

RSA utilise des théories arithmétiques modulaires et des nombres élémentaires pour effectuer des calculs en utilisant deux grands nombres premiers. Il est considéré comme une norme de cryptage et, en tant que tel, est utilisé dans diverses applications. RSA utilise à la fois des clés privées et publiques dans le processus de cryptage et de décryptage.

Diffie-Hellman

L'algorithme Diffie-Hellman est utilisé pour générer une clé partagée entre deux entités sur un canal non sécurisé. Il permet à deux parties de créer une clé de cryptage, puis de crypter leur trafic avec cette clé.


Résumé des messages

Les fonctions de résumé de message, ou fonctions unidirectionnelles, sont utilisées pour calculer une représentation sous forme de chaîne unique de taille fixe d'un bloc d'informations. Ils ne peuvent pas être annulés et sont utilisés pour vérifier l'intégrité du fichier.

MD5 est un algorithme de résumé de message qui prend une entrée de longueur arbitraire et produit un résumé de message de 128 bits de l'entrée. Cet algorithme est utilisé dans les applications de signature numérique, la vérification de l'intégrité des fichiers et le stockage des mots de passe.

SHA

Secure Hashing Algorithm ou SHA est un algorithme qui génère un résumé de message cryptographiquement sécurisé. Il existe trois générations d'algorithmes SHA: SHA-1, SHA-2 et SHA-3. SHA-1 produit des résumés de 160 bits, tandis que SHA-2 et SHA-3 produisent des résumés de 256, 384 et 512 bits.

HMAC

Le code d'authentification de message basé sur le hachage ou HMAC est un type de code d'authentification de message. Il utilise une combinaison d'une clé cryptographique et d'une fonction de hachage telle que SHA-1 ou MD5. Il est utilisé pour les vérifications d'authentification et d'intégrité.




PKI

PKI signifie Public Key Infrastructure et fait référence au matériel, aux logiciels, aux personnes, aux politiques et aux procédures nécessaires pour gérer les certificats numériques. Il s'agit d'une architecture de sécurité qui a été développée pour augmenter la confidentialité des informations échangées.

Le certificat signé est un certificat émis par les autorités de certification (CA). Il contient une clé publique et l'identité du propriétaire.

Le certificat auto-signé est un certificat émis et signé par soi-même. Il est généralement utilisé à des fins de test et n'est pas digne de confiance.



Cryptage des e-mails et du disque

Signature numérique

La signature numérique est créée à l'aide de la cryptographie asymétrique. Il est attaché aux données transmises et représente un moyen cryptographique d'authentification.

SSL

SSL signifie Secure Sockets Layer et fait référence à un protocole de la couche application chargé d'assurer la sécurité de la transmission des messages sur le réseau et Internet.

TLS

TLS signifie Transport Layer Security et fait référence à un protocole qui établit une connexion client-serveur sécurisée et garantit l'intégrité et la confidentialité des informations pendant la transmission.

PGP

PGP signifie Pretty Good Protection et fait référence à un protocole utilisé pour le cryptage et le décryptage de l'authentification et des données cryptographiques. PGP est utilisé pour compresser les données, les signatures numériques, le cryptage / décryptage des e-mails et d'autres informations sensibles.

Chiffrement de disque

Le cryptage du disque fait référence au cryptage de toutes les données stockées sur un disque. L'objectif est de protéger les données stockées sur le disque et d'assurer sa confidentialité.



Cryptanalyse

La cryptanalyse fait référence au processus de décryptage des chiffrements et du texte chiffré. Il peut identifier les vulnérabilités dans les systèmes cryptés et ainsi extraire du texte brut de celui crypté.

Les méthodes utilisées dans la cryptanalyse sont:

  • La cryptanalyse linéaire est utilisée sur les chiffrements par blocs
  • La cryptanalyse différentielle est utilisée sur les algorithmes à clé symétrique
  • La cryptanalyse intégrale est utilisée sur les chiffrements par blocs

Méthodologie de rupture de code

Les techniques utilisées pour mesurer la force de l'algorithme de cryptage en cassant le cryptage comprennent:

  • La technique de la force brute essaie toutes les combinaisons possibles de caractères pour briser le cryptage
  • La technique d'analyse de fréquence analyse la fréquence à laquelle certains symboles apparaissent et, en fonction de cela, rompt le cryptage
  • La technique de tromperie et de tromperie nécessite l'utilisation de techniques d'ingénierie sociale pour extraire les clés et briser le cryptage
  • La technique de remplissage unique fait référence au cryptage incassable dans lequel le texte brut est combiné avec une clé qui consiste en un jeu de caractères non répétitif, est généré de manière aléatoire et a la même longueur que le message envoyé.

Attaques cryptographiques


  • Attaque de texte chiffré uniquement est une attaque dans laquelle l'attaquant dispose d'une collection de textes chiffrés qui doivent être analysés pour trouver la clé et chiffrer le texte.


  • Attaque en clair est une attaque dans laquelle l'attaquant dispose d'une partie du texte en clair sur la base de laquelle il dérive la clé.


  • Attaque en clair choisie est une attaque dans laquelle l'attaquant dérive la clé en analysant le texte brut et le texte chiffré correspondant généré par l'attaquant.


  • Attaque de texte chiffré choisie est une attaque dans laquelle l'attaquant obtient le texte brut pour un ensemble de textes chiffrés choisis et tente de dériver la clé.


  • Attaque de force brute est une attaque dans laquelle toutes les combinaisons de touches possibles sont essayées contre le texte chiffré jusqu'à ce que la bonne clé soit trouvée. Cette attaque nécessite beaucoup de temps et de puissance de traitement.


  • Attaques de dictionnaire est une attaque dans laquelle l'attaquant crée un dictionnaire de texte en clair et son texte chiffré, puis utilise ce dictionnaire pour briser le chiffrement.