Introduction aux algorithmes symétriques

Les algorithmes symétriques également connus sous le nom d'algorithmes à clé secrète sont largement utilisés dans le chiffrement de données en masse ou de flux de données. Il s'agit d'un type d'algorithme cryptographique qui chiffre et déchiffre les données en utilisant la même clé (ce qui rend cet algorithme symétrique). Elle est appelée clé secrète car la clé utilisée est gardée secrète par les systèmes impliqués dans le processus de chiffrement et de déchiffrement. Le cryptage effectué par cet algorithme n'est pas facile à briser si la personne qui essaie de décrypter n'a pas la clé secrète, elle devra utiliser des techniques avancées pour la briser. Ces algorithmes sont généralement de nature très rapide ce qui est d'autant plus la raison pour laquelle ils sont utilisés lorsqu'il existe un besoin de chiffrement dans de grandes quantités de données. Fig1.a illustre le cryptage de clé symétrique de base:

Figure1.a Chiffrement à clé symétrique

Types d'algorithmes symétriques

Les algorithmes largement symétriques sont classés en deux

  • Bloquer
  • Courant

Algorithmes de blocs

Les algorithmes de bloc chiffrent les données bloc par bloc (plusieurs octets). Le bloc fait référence à l'ensemble de bits spécifié et ces bits sont modifiés / chiffrés à l'aide d'une clé secrète. Il y a un inconvénient avec les algorithmes de bloc qui est, supposons que nous allons chiffrer les données de flux réseau, ces données sont conservées par le système de chiffrement dans ses composants de mémoire. Cette conservation des données se fait lorsque le système attend réellement des blocs de données complets. Ce temps d'attente peut entraîner une faille de sécurité qui peut compromettre la sécurité et l'intégrité des données. Pour éviter cette menace, nous pouvons réduire le bloc et fusionner les données avec le bloc de données précédemment chiffré jusqu'à ce que d'autres blocs soient reçus, en termes simples cette technique est appelée rétroaction. Cet algorithme ne cryptera que si le bloc complet est reçu.

Algorithmes de flux

Algorithmes In-Stream, les données sont chiffrées octet par octet et parfois même bit par bit. Dans le cas de l'algorithme de flux, les données ne sont pas conservées dans la mémoire par le système, donc on peut dire que cela est beaucoup plus sûr par rapport à l'algorithme de bloc car les données ne sont pas conservées dans le système sans cryptage.

En outre, il existe plusieurs types d'algorithmes de cryptage parmi ces quelques-uns sont répertoriés ci-dessous

  • DES et Triple DES
  • RC2
  • Blowfish

DES et Triple DES

DES signifie une norme de chiffrement des données qui prend un texte brut 64 bits et crypte en un texte chiffré 64 bits et décrypte à l'aide d'une clé 56 bits. Dans DES, le processus de chiffrement commence par une étape de permutation initiale où il prendra l'entrée en tant que données 64 bits et les permutera d'une manière prédéfinie. La permutation initiale est suivie de 16 tours de chiffrement Feistel (un chiffrement Feistel prend l'entrée et la divise en deux parties et effectue le chiffrement sur une seule partie) où chaque tour utilise une clé de chiffrement 48 bits différente. À des fins de chiffrement et de déchiffrement, il utilise un algorithme de chiffrement et inverse le chiffrement. Enfin, les données passent par la dernière étape de permutation pour récupérer le texte chiffré. Similaire à DES Triple DES n'est rien d'autre que le chiffre DES répété 3 fois. La Fig2.a montre l'architecture générique de l'algorithme DES.

Architecture générique de l'algorithme DES

RC2

Il s'agit d'un algorithme de chiffrement par blocs dans lequel les données sont d'abord divisées en une taille de bloc de 8 octets et ces blocs sont traités séparément. Cet algorithme a été largement utilisé dans les années 90. Le chiffrement Rc2 utilise une clé utilisateur secrète dont la taille peut varier d'un octet à 128 octets. Il prend cette clé d'utilisateur secrète et utilise un algorithme d'extension de clé et crypte les données. Cet algorithme est conçu de telle manière qu'il peut être facilement implémenté dans des microprocesseurs 16 bits. Ici, il n'y a pas de tours Feistel, mais les données subissent 18 tours de mélange et de brassage. La Fig2.b montre l'architecture générique de l'algorithme RC2.

Architecture générique de l'algorithme RC2

Blowfish

Il s'agit d'un algorithme asymétrique qui remplace DES. Ici, la taille de bloc utilisée est de 64 bits et les tailles de clé vont de 32 à 448 bits. Le chiffrement utilisant Blowfish se compose principalement de deux étapes

  • Fonction ronde
  • Fonctionnement en sortie

La fonction ronde effectue les étapes suivantes

  1. Blanchiment de clé, où la partie gauche des données d'entrée est prise et une opération OU exclusive est effectuée dessus.
  2. Dans la deuxième étape, il utilise des boîtes S, ces boîtes S mappent des données 8 bits à 32 bits et la sortie est prise pour se combiner avec une combinaison d'opérations d'addition et XOR
  3. Les deux étapes ci-dessus combinées ensemble appelées fonction F. Avec la sortie de la fonction F et le côté droit des données d'entrée, l'opération XOR est effectuée.
  4. La dernière étape implique l'échange de la sortie.

La fonction de sortie inverse le swap final et effectue un blanchiment de sortie. La sortie de cette fonction est un texte chiffré Blowfish. Le déchiffrement avec Blowfish implique l'utilisation de la même structure que le chiffrement car il utilise un chiffrement Feistel mais les clés rondes doivent être utilisées dans l'ordre inverse. L'avantage majeur de cet algorithme est qu'il est disponible dans le domaine public pour être facilement accessible. Les inconvénients sont fondamentalement un peu longs à générer les clés et si la taille du bloc est petite, elle est vulnérable aux attaques.

Applications d'algorithmes symétriques

Certains des endroits où l'algorithme de chiffrement symétrique est utilisé sont

  • Les transactions par carte sont utilisées pour empêcher le vol d'identité et les transactions frauduleuses.
  • Pour confirmer l'identité du messager.
  • Hachage et génération de nombres aléatoires
  • Cryptage de la base de données

Conclusion - Algorithmes symétriques

Les algorithmes symétriques sont beaucoup plus rapides et efficaces que les algorithmes asymétriques. C'est d'autant plus la raison pour laquelle ils sont utilisés dans le chiffrement en masse. Mais son inconvénient est que la gestion des clés est très exhaustive, donc la maintenance à grande échelle est une tâche fastidieuse, où nous devons avoir une sécurité de haut niveau, pour y parvenir, nous devons avoir maintenu le cycle de vie de la clé générée à l'aide du système séparé . Par conséquent, nous devons toujours utiliser un cryptage approprié pour éviter toute attaque contre nos données.

Articles recommandés

Ceci est un guide des algorithmes symétriques. Ici, nous discutons de l'introduction et des types d'algorithmes symétriques avec DES et Triple DES. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus–

  1. Qu'est-ce que WebSocket?
  2. Sécurité des applications Web
  3. Carrière en développement Web
  4. Carrières en conception Web
  5. Modes de fonctionnement de Block Cipher
  6. Exemples d'algorithme C ++