Partage de technologie

[Cryptographie] Concepts de base des chiffrements de flux

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Avant d’introduire les chiffrements de flux, comprenons d’abord une opération XOR de point de connaissance préalable de base.

1. Opération OU exclusif (XOR)

Règles de fonctionnement : identiques à 0, différentes de 1

Caractéristiques : Un bit est XORé deux fois et peut être restauré au bit d'origine.

Texte brut : 1 100

Clé : 0101 (cryptée)

Texte chiffré : 1001

Clé : 0101 (déchiffrement)

Texte brut : 1 100

avantage:Cette réversibilité permet à l'opération XOR d'être utilisée à la fois pour les transformations de chiffrement et de déchiffrement.

défaut:Si un attaquant parvient à deviner ou à capturer la clé, elle peut être facilement déchiffrée via XOR.

La raison pour laquelle l’opération XOR peut être utilisée simultanément pour le cryptage et le déchiffrement réside dans sa réversibilité, mais c’est aussi son inconvénient. La sécurité repose entièrement sur la dissimulation des clés.

2. Algorithme de pad unique (OTP)

(1) Définition

One-Time Pad (OTP) est un algorithme de chiffrement par flux. Il est considéré en théorie comme l'une des méthodes de chiffrement les plus sécurisées, à condition que sa mise en œuvre suive strictement plusieurs principes clés :

1.  La clé doit être aussi longue que le texte en clair: Cela signifie que chaque cryptage utilise une clé qui a exactement la même longueur que le message à crypter.

2.  La clé doit être vraiment aléatoire: Chaque bit de la clé doit être généré de manière aléatoire, sans aucun modèle ni prévisibilité.

3.  La clé ne doit être utilisée qu'une seule fois: La même clé ne doit pas être utilisée pour chiffrer plusieurs messages, sinon la corrélation entre les textes chiffrés peut être utilisée pour déduire le contenu du message.

4.  La clé doit rester secrète: La distribution et le stockage des clés doivent être extrêmement sécurisés pour empêcher l'accès à des tiers.

(2) Avantages et inconvénients

avantage:

  • La clé est générée aléatoirement et utilisée une seule fois
  • Sécurité inconditionnelle
  • Le chiffrement et le déchiffrement sont des opérations d’addition, plus efficaces.

défaut:

  • La longueur de la clé est au moins aussi longue que celle du texte en clair, ce qui rend le partage de clé difficile et peu pratique.

3. Définition du chiffrement de flux

Lorsque les gens étudient les algorithmes de chiffrement à tampon unique, ils tentent de résoudre les problèmes de gestion et de longueur des clés. S'il existait un moyen de générer toutes les clés pour chiffrer le texte brut en fournissant seulement une petite section de la clé, alors le chiffrement par flux a été développé sur la base de cette idée.

(1) Idée de base du chiffrement de flux

         Dans un chiffrement par flux, une petite clé (souvent appelée graine ou vecteur d'initialisation) est utilisée via un générateur de nombres pseudo-aléatoires (PRNG) pour générer un flux de clé pseudo-aléatoire de la même longueur que le texte en clair. Ce flux de clés est ensuite XORé avec le texte en clair pour produire le texte chiffré. De même, le processus de décryptage consiste à XOR le texte chiffré avec le même flux de clé pour récupérer le texte en clair.

clé kgénérer un flux de clés z=z_0z_1z_2...Et utilisez les règles suivantes pour comparer les chaînes de texte brut x=x_0x_1x_2...Pour chiffrer :
y=y_0y_1y_2...=Ez_0(x_0)Ez_1(x_1)Ez_2(x_2)...

Un registre à décalage à rétroaction linéaire est généralement utilisé pour générer des clés pseudo-aléatoires. Le principe ne sera pas abordé ici.

(2) Processus algorithmique

Le processus de cryptage et de décryptage peut être décrit comme suit :

  • Génération de flux de clés : les parties de chiffrement et de déchiffrement utilisent la même clé et le même vecteur d'initialisation (IV) pour initialiser un générateur de nombres pseudo-aléatoires (PRNG). PRNG génère une série de bits pseudo-aléatoires en fonction de son état interne pour former un flux de clés.
  • Processus de chiffrement : l'expéditeur effectue une opération OU exclusif au niveau du bit (XOR) sur le flux de clé généré et le texte en clair pour obtenir le texte chiffré. En raison de la nature de l’opération XOR, la même opération est réversible sur différents bits.
  • Processus de décryptage : le récepteur réinitialise le PRNG avec la même clé et le même IV et génère le même flux de clé que lors du cryptage. Le récepteur effectue ensuite un XOR entre le texte chiffré et le flux de clé pour récupérer le texte en clair d'origine.

(3) Principes de conception du chiffrement de flux

Les principes de conception des chiffrements par flux se concentrent réellement sur la création d’un générateur de flux de clés capable de produire un flux de clés doté de propriétés de sécurité spécifiques. La séquence de flux de clés doit avoir les propriétés suivantes :

  1. cycle énorme : La période du flux de clés doit être suffisamment longue pour empêcher la réutilisation du même segment du flux de clés, ce qui exposerait des modèles dans les données chiffrées et permettrait aux cryptanalystes de mener des attaques en comparant les similitudes et les différences des différents messages. Théoriquement, pour un espace clé de n bits, la longueur de cycle idéale devrait être 2n-1. En pratique, des périodes plus longues signifient que le flux de clés est répété moins fréquemment, augmentant ainsi la sécurité du cryptosystème.

  2. bonnes propriétés statistiques : Le flux de clés doit ressembler à une séquence de bits véritablement aléatoire, ce qui signifie qu'il doit satisfaire à divers tests statistiques tels que la distribution égale de 0 et de 1, l'indépendance entre deux ou plusieurs bits consécutifs et l'absence de modèles ou de périodicités prédits. De bonnes propriétés statistiques contribuent à garantir l’imprévisibilité du flux de clés, qui constitue un élément important de la sécurité du chiffrement de flux.

  3. Résistance à l'analyse linéaire : Un chiffrement de flux doit être résistant à l'analyse linéaire, où le cryptanalyste tente de récupérer la clé ou le texte brut en trouvant une corrélation linéaire entre le flux de clé et le texte brut ou le texte chiffré. Cela nécessite généralement que la sortie du générateur de flux de clés soit non linéaire, ou qu'elle contienne au moins suffisamment de composants non linéaires pour empêcher les méthodes simples de résolution de systèmes linéaires de déduire le flux de clés ou la clé elle-même.