Chiffrement de flux
Dans la cryptographie , un chiffrement de flux de est un chiffrement symétrique où le peu de plaintext est combiné avec un train de bits pseudo-aléatoire de chiffre du (flot de clés ), typiquement par un Exclusif-ou opération de (xor). Dans un chiffrement de flux les chiffres de du Plaintext sont chiffrés un par un, et la transformation des chiffres successifs varie pendant le chiffrage. Un nom alternatif est un chiffre d'état de , car le chiffrage de chaque chiffre dépend de l'état actuel. Dans la pratique, les chiffres sont le peu en général simple ou les bytes
Les chiffrements de flux représentent une approche différente au chiffrage symétrique des chiffres par bloc de que les chiffres par bloc de opèrent de grands blocs de chiffres avec une transformation fixe et unvarying. Cette distinction n'est pas toujours définie : dans un certain mode de fonctionnement , un primitif de chiffre par bloc est employé de telle manière qu'il agisse effectivement comme un chiffrement de flux. Les chiffrements de flux s'exécutent typiquement à une vitesse plus élevée que des chiffres par bloc et ont la complexité inférieure de matériel. Cependant, les chiffrements de flux peuvent être susceptibles des problèmes de sécurité sérieux si utilisé inexactement : voir les attaques de chiffrement de flux de - en particulier, le même état commençant doit jamais ne deux fois être employé.
Inspiration lâche de la garniture jetable
Des chiffrements de flux peuvent être regardés en tant que rapprocher l'action d'un chiffre théoriquement incassable, la garniture jetable (OTP) de , parfois connue sous le nom de chiffre de Vernam de . Une garniture jetable emploie un flot de clés complètement des chiffres aléatoires du . Le flot de clés est combiné avec les chiffres de plaintext un par un pour former le texte chiffré. Ce système a été avéré être théoriquement bloqué par le Shannon dans le 1949 . Cependant, le flot de clés doit être (au moins) la même longueur que le plaintext, et produit complètement au hasard. Ceci rend le système très encombrant pour mettre en application dans la pratique, et en conséquence la garniture jetable n'a pas été employée couramment, excepté les applications les plus critiques.Un chiffrement de flux se sert d'une clef beaucoup plus petite et plus commode - 128 bits, par exemple. Basé sur cette clef, il produit d'un flot de clés pseudo-aléatoire du qui peut être combiné avec les chiffres de plaintext d'une mode semblable à la garniture jetable. Cependant, ceci vient à un coût : parce que le flot de clés est maintenant pseudo-aléatoire, et pas vraiment aléatoire, la preuve de la sécurité liée à la garniture jetable ne se tient plus : il est tout à fait possible que un chiffrement de flux soit complètement peu sûr.
Types de chiffrements de flux
Un chiffrement de flux produit des éléments successifs du flot de clés basé sur un état interne. Cet état est mis à jour d'essentiellement deux manières : si les changements d'état indépendamment des messages de plaintext ou de texte chiffré, le chiffre est classifiés comme un chiffrement de flux synchrone du . En revanche, les chiffrements de flux autosynchronisants du mettent à jour leur état basé sur les chiffres précédents de texte chiffré.
Chiffrements de flux synchrones
Dans un chiffrement de flux synchrone de un jet des chiffres pseudo-aléatoires est produit indépendamment des messages de plaintext et de texte chiffré, et alors combiné avec le plaintext (pour chiffrer) ou le texte chiffré (pour déchiffrer). Sous la forme la plus commune, des éléments binaires sont employés (le peu , et le flot de clés est combiné avec le plaintext using l'exclusivité de ou l'opération de (XOR). Ceci se nomme un chiffrement de flux additif binaire de .Dans un chiffrement de flux synchrone, l'expéditeur et le récepteur doivent être exactement dans l'étape pour que le déchiffrage soit réussi. Si des chiffres sont ajoutés ou enlevés du message pendant la transmission, la synchronisation est perdue. Pour reconstituer la synchronisation, de divers excentrages peuvent être essayés systématiquement pour obtenir le déchiffrage correct. Une autre approche est d'étiqueter le texte chiffré avec des marqueurs aux points réguliers dans le rendement.
Si, cependant, un chiffre est corrompu par transmission, plutôt que supplémentaire ou perdu, seulement un chiffre simple dans le plaintext est affecté et l'erreur ne propage pas à d'autres parties du message. Cette propriété est utile quand le taux d'erreur de transmission est haut ; cependant, elle la fait moins probablement que l'erreur serait détectée sans d'autres mécanismes. D'ailleurs, en raison de cette propriété, les chiffrements de flux synchrones sont très susceptibles des attaques actives - si un attaquant peut changer un chiffre dans le texte chiffré, il pourrait pouvoir apporter les modifications prévisibles au peu correspondant de plaintext ; par exemple, le basculement d'un peu dans le texte chiffré cause le même peu d'être renversé dans le plaintext.
Chiffrements de flux autosynchronisants
Une autre approche emploie plusieurs des chiffres précédents de texte chiffré du N pour calculer le flot de clés. De tels arrangements sont connus en tant que les chiffrements de flux autosynchronisants de , les chiffrements de flux asynchrones de ou autokey de texte chiffré (CTAK) de . L'idée de l'individu-synchronisation a été brevetée en 1946, et a l'avantage que le récepteur synchronisera automatiquement avec le générateur de flot de clés après réception des chiffres de texte chiffré du N , le facilitant pour récupérer si des chiffres sont abandonnés ou ajoutés au jet de message. Des erreurs Single-digit sont limitées dans leur effet, affectant seulement jusqu'aux chiffres de plaintext du N . Il est légèrement plus difficile d'effectuer des attaques actives sur des chiffrements de flux autosynchronisants par comparaison avec leurs contre-parties synchrones.Un exemple d'un chiffrement de flux autosynchronisant est un chiffre par bloc de en mode (CFB) de chiffre-rétroaction.
Chiffrements de flux basés sur les registres de décalage linéaire de rétroaction
Des chiffrements de flux binaires sont souvent construits using les registres à décalage à rebouclage linéaire (LFSRs) parce qu'ils peuvent être facilement mis en application dans le matériel et peuvent être aisément analysés mathématiquement. L'utilisation de LFSRs sur leurs propres, cependant, est insuffisante pour fournir la bonne sécurité. On a proposé de divers arrangements pour augmenter la sécurité de LFSRs.
Fonctions de combinaison non linéaires
Puisque LFSRs sont en soi linéaire, une technique pour enlever les linéarités est d'introduire aux sorties des plusieurs LFSRs parallèle dans une fonction booléenne non linéaire pour former un générateur de combinaison de . Les diverses propriétés d'un tel combinant la fonction sont critiques pour assurer la sécurité de l'arrangement résultant, par exemple, afin d'éviter les attaques de corrélation de ect-moignon
générateurs Horloge-commandés
Normalement LFSRs sont faits un pas régulièrement. Une approche à la non-linéarité introducting est de faire synchroniser le LFSR irrégulièrement, commandé par le rendement d'un deuxième LFSR. De tels générateurs incluent le Arrêter-et-vont le générateur , le générateur alternatif d'étape de et le générateur craintif .Le générateur d'arrêter-et-aller (Beth et Piper, 1984) se compose de deux LFSRs. Un LFSR est synchronisé si le rendement d'une seconde est un " ; 1" ; , autrement il répète son rendement précédent. Ce rendement alors (dans quelques versions) est combiné avec le rendement d'un troisième LFSR synchronisé à un taux régulier.
Le générateur craintif adopte une approche différente. Deux LFSRs sont employés, tous les deux synchronisés régulièrement. Si le rendement du premier LFSR est " ; 1" ; , le rendement du deuxième LFSR devient le rendement du générateur. Si le premier LFSR produit le " ; 0" ; , cependant, le rendement de la seconde est jeté, et aucun peu n'est produit par le générateur. Ce mécanisme souffre des attaques de synchronisation sur le deuxième générateur, puisque la vitesse du rendement est variable en quelque sorte que dépend du deuxième état du générateur. Ceci peut être allégé en protégeant le rendement.
ect-moignon
Générateur de filtre
Une autre approche à améliorer la sécurité d'un LFSR est de passer l'état entier d'un LFSR simple dans une fonction de filtrage de non linéaire.ect-moignon
Autre conçoit
Au lieu d'un dispositif linéaire d'entraînement, on peut employer une fonction non linéaire de mise à jour. Par exemple, Klimov et Shamir ont proposé des fonctions triangulaires (T-Fonctions) avec un cycle simple sur des mots de peu de n. ect-moignon
Sécurité article principal de de de
: attaque de chiffrement de flux de dePour être bloquée, la période du flot de clés, c., le nombre de rendement de chiffres avant que le jet se répète, doit être suffisamment grande. Si les répétitions d'ordre, alors les textes chiffrés de recouvrement peuvent être les uns contre les autres " aligné ; " détaillé ; , et il y a des techniques qui pourraient permettre au plaintext d'être extraites. Ceci peut être un souci pratique : par exemple, on a au commencement permis au le chiffre par bloc de DES d'être employé dans un certain mode (OFB) avec un paramètre variable. Cependant, pour la plupart des choix de ce paramètre, le jet en résultant a eu une période de 232 seulement - pour beaucoup d'applications, cette période est loin si basse. Par exemple, si le chiffrage est effectué à un taux de 1 méga-octet par seconde, un jet de la période 232 répétera ensuite environ 8.
Utilisation
Les chiffrements de flux sont employés souvent dans les applications où le plaintext vient dans les quantités d'inconnaissable longueur-pour l'exemple, un raccordement sans fil du bloqué . Si un chiffre par bloc devaient être employés dans ce type d'application, le concepteur devrait choisir l'efficacité de transmission ou la complexité d'exécution, puisque les chiffres par bloc ne peuvent pas directement travailler aux blocs plus courts que leur longueur de bloc. Par exemple, si un chiffre par bloc du bit 128 recevait des éclats à 32 bits séparés de plaintext, trois quarts des données transmises seraient la remplissage . Des chiffres par bloc doivent être employés en texte chiffré de volant ou mode résiduel de l'arrêt de bloc de pour éviter le capitonnage, alors que les chiffrements de flux éliminent cette issue en fonctionnant naturellement sur la plus petite unité qui peut être transmise (habituellement des bytes).Un autre avantage des chiffrements de flux dans la cryptographie militaire est que le jet de chiffre peut être produit dans une boîte séparée qui est sujette à des mesures de sécurité strictes et est alimentée à d'autres dispositifs, par exemple un poste radio, qui effectuera l'opération de xor en tant qu'élément de leur fonction. Le dernier dispositif peut alors être conçu et utilisé dans les environnements moins rigoureux.
Le RC4 est le chiffrement de flux le plus employé couramment dans le software< ! -- voir Fluhrer, Matin et le Shamir dans les références--> ; d'autres incluent : A5/1 , A5/2 , Caméléon , POISSONS , Spirale , ISAAC , MUGI , Panama , Phelix , Pike , JOINT , SOBRE, SOBER-128 et SILLAGE .
Comparaison des chiffrements de flux
Baliverne
Les documents de l'agence de sécurité nationale de des Etats-Unis emploient parfois le combinateur-type les algorithmes de limite, se rapportant aux algorithmes qui emploient une certaine fonction pour combiner un générateur (PRNG) de nombre pseudo-aléatoire de avec un jet du Plaintext .
| Random links: | Bundelkhand | Pape (TTC) | Sony Vegas | de Larry ; Jazz ; Anthony | Force de Wertheim AM | Cifra_de_corriente |