Andreï Vinokurov. Comment on arrange le chiffre par blocs ?
Dans le présent article vous trouverez la description de l'architecture traditionnelle de la construction des chiffres par blocs, étant à la base les plus connu des chiffres modernes non confidentiels, tels, comme les standards Russes et américains шифрования. L'article était écrit exactement il y a 3 ans – l'auteur l'a fini dans la première moitié d'avril de 1995, mais pour de différentes raisons n'a pas pu alors publier. À cette époque-là l'information sur l'architecture des chiffres classiques par blocs manquait pratiquement dans le sceau Russe ouvert, mais la terminologie russe se trouvait dans ce domaine encore dans le stade du devenir. Pour le passé depuis ce temps-là le temps est apparu l'infinité des documents sur le sujet examiné, c'est pourquoi aujourd'hui l'article peut se montrer un peu à la naïve. Cependant sa modification radicale occuperait trop de temps, il est plus facile d'écrire un nouvel article, et c'est pour cela que l'auteur parallèlement avec ce travail a décidé de publier la version en cours avec les changements insignifiants. L'article ne suppose pas la connaissance préalable du lecteur avec la cryptographie, contient cependant le nombre suffisant des formules mathématiques et sous-entend la possession de l'appareil correspondant mathématique.
L'introduction
Achevant 20 siècle est le siècle non seulement l'électricité et l'atome, à encore большей les degrés il peut prétendre pour s'appeler le siècle de l'informatisation totale et l'informatisation de la société. Par ce moment, quand dans son milieu sont apparus et ont commencé la procession victorieuse selon la planète de l'installation pour le traitement des données en chiffres – les ordinateurs, est apparue l'industrie de la production, le traitement et la consommation de l'information, qui est devenue à présent la partie intégrante de notre vie. Maintenant sur le niveau technologique des États il faut juger non par la quantité d'acier fondu par habitant ou les combinés produits pour le nettoyage de la betterave, mais selon la capacité globale de tous les moyens calculatoires venus sur un habitant du pays.
Sur l'importance de l'information dans le monde moderne il est plus indicatif témoignent les faits suivants : Premièrement, la possession par le code défini en chiffre peut ouvrir l'accès à son propriétaire vers les valeurs matérielles considérables et les services – un tel état des choses a lieu grâce à ce que l'informatisation de la société n'a pas contourné par la partie la sphère bankovsko-financière. Deuxièmement, s'est formée et s'est renforcée extraordinairement l'industrie des services d'information – l'information est devenue la marchandise ordinaire, c'est-à-dire l'objet de l'achat et vente. Plusieurs sociétés réussissent seulement grâce à ce que peuvent recevoir d'importantes informations pour leur activité de tout pour quelques heures ou les jours avant les concurrents. À troisième, pour les estimations des économistes étrangers la part considérable des sociétés occidentales se serait ruinée dans le courant de quelques jours après la divulgation de la critiquement importante information, leur activité étant à la base.
Le caractère spécial immatériel de l'information fait exceptionnellement facile son copiage et la modification, en vertu de quoi elle devient l'objet séduisant de la diverse génération des abus. En outre assez typique est la situation, quand ses propriétaires n'accepteraient pas de vendre l'information nécessaire à quelqu'un pour rien au monde, et le seul moyen elle recevoir volera. Les raisons indiquées ont amené à l'apparition de la branche entière de l'activité humaine, la destination principale de qui – obtenir l'information par n'importe quels moyens possibles et impossibles, – certes, il s'agit de la reconnaissance. La profession de l'espion à côté des autres, il est beau par tout connu, est un des plus ancien sur la planète. D'autre part, la statistique témoigne implacablement que tout la grande part de tous les crimes s'accomplit dans la sphère des télématiques "blanc" et “les cols bleus”, utilisant "les brèches" des systèmes d'information dans les buts personnels. En effet, maintenant pour piller la banque, il ne faut pas casser les murs des dépôts et couper par le chalumeau les coffres-forts, il suffit d'apprendre le code dirigeant l'accès à un des comptes bancaires. Tout qu'est demandé pour cela, est un ordinateur et l'accès au réseau bancaire, eh bien, et certes, une certaine quantité de substance grise dans la boîte cranienne. Tristement, mais le fait – le nombre des crimes avec l'utilisation "des technologies avancées" grandit par les rythmes rapides.
Une haute vulnérabilité des télématiques vers de diverses actions malintentionnées a engendré l'extrême nécessité dans les moyens de la résistance à cela qu'a amené à l'apparition et le développement du domaine de la protection de l'information (ЗИ) comme de la partie intégrante de l'industrie d'information. La tâche la plus ancienne de la sphère ЗИ est la protection des messages transmis contre la présentation non sanctionnée avec leur contenu, il y a des certificats de la compréhension par les gens de ce problème encore à jusqu'aux temps – en ancienne Egypte et la Babylone, mais l'information sur les moyens de sa décision dans l'antiquité nous est arrivée en forme des références sur soi-disant “le code de César” – le chiffre le plus simple appliqué d'abord par Juliem César, mais par la suite et d'autres empereurs Romains, pour la protection de la correspondance contre des yeux trop curieux. Cependant jusqu'au nouveau temps тайнопись était non le métier, mais l'art, et comme la science, la cryptographie s'est formée seulement au présent siècle. Mais encore longtemps après cela шифровальные les services étaient la prérogative exclusive diplomatique et les services de renseignements, la situation a changé foncièrement seulement aux dernières décennies.
À présent la notion “la protection de l'information” unit dans elle-même la multitude de plus diverses significations – de la réservation de l'alimentation pour la protection de l'information contre la destruction aux défaillances possibles dans le réseau nourrissant et les gardiens dans les portes de la salle informatique empêchant l'entrée des personnes étrangères et la levée les collaborateurs des porteurs de l'information, jusqu'aux générateurs des obstacles "étouffant" les irradiations emportant l'information. De toute la diversité des méthodes ЗИ nous avec vous sommes intéressés seulement par ceux qui ne sont aucunement liés aux caractéristiques de ses porteurs matériels, mais sont fondés sur la manipulation par l'information et utilisent seulement ses propriétés immanentes. Ce domaine de ZI est appelé la protection cryptographique de l'information et éprouve maintenant le vrai boom. On sait aujourd'hui une grande quantité des tâches se rapportant à la sphère ЗИ, – une telle abondance est conditionnée par ce que les coopérations d'information, en se développant, acquièrent le caractère de plus en plus complexe, il y a en conséquence plus divers et exercé des menaces à leur partie, mais cela amène à son tour à l'apparition des nouvelles tâches. Si plus tôt tous les besoins de la protection de l'information étaient réduits à la garantie du caractère secret et l'authenticité des messages transmis, c'est-à-dire vers leur protection contre la lecture et la modification par les personnes étrangères, maintenant le nombre actuellement beaucoup plus grand des problèmes. Parmi les nouvelles tâches nous marquerons seulement deux, les plus connu : la diffusion des clés confidentielles selon les voies de communication non protégées (la distribution ouverte des clés) et la confirmation de la paternité des messages (la signature en chiffre). Mais en effet, il y a une grande quantité moins connu, mais de pas moins importantes tâches.
Conformément aux classes des tâches décidées à présent il y avait deux domaines de la cryptographie : classique, ou la cryptographie avec la clé confidentielle, et moderne, ou la cryptographie avec la clé ouverte. L'histoire premier compte les millénaires, tandis que l'âge officiel deuxième n'a pas franchi encore pour trois dizaines des années. Nous nous arrêterons brièvement sur les différences entre eux.
Classique, ou la cryptographie mono-clé décide en réalité seulement deux tâches : la protection des messages transmis contre la lecture et contre la modification par les personnes étrangères. Elle s'appuie sur l'utilisation des algorithmes symétriques шифрования, à qui pour - et расшифрование se distinguent seulement par l'ordre de l'exécution et la direction de certains pas simples. Ces algorithmes utilisent le même élément (clé) confidentiel, et la deuxième action (расшифрование) est l'appel simple du premier (зашифрования). C'est pourquoi chacun des échangeurs peut chiffrer, ainsi que déchiffrer le message. En raison d'une grande surabondance des langues naturelles directement il est extraordinairement difficile d'apporter au message chiffré le changement intelligent, c'est pourquoi la cryptographie classique assure aussi la protection contre l'imposition des données fausses. Si de la surabondance naturelle il se trouve insuffisamment pour la protection sûre du message contre la modification, elle peut être artificiellement augmentée par voie du supplément à lui de la combinaison spéciale de contrôle appelée имитовставкой.
Le schéma classique шифрования travaille parfaitement, entre les participants de l'échange d'information il y a une confiance mutuelle. S'il est absent, peuvent apparaître de diverses collisions, puisque à cause de la symétrie complète du schéma en cas du conflit entre les parties pour l'observateur indépendant il n'y a pas de possibilité de faire la conclusion univoque, qui de deux participants des droits. En effet, le destinataire peut fabriquer le message chiffré et puis annoncer qu'il par il est reçu de l'expéditeur légal, mais celui-là, à son tour, peut refuser la paternité du message en réalité transmis par lui, ayant annoncé qu'il était fabriqué par le destinataire lui-même, le bien la possibilité correspondante se trouve à celui-là. Dans ces cas l'arbitrage indépendant, dans les fonctions de qui le règlement de conflits entre les participants du procès d'information entre, ne pourra pas définir, qui d'eux des droits, mais qui – est absent. Le fait amené signifie que le schéma examiné cryptographique ne permet pas absolument de confirmer ou démentir la paternité du message. En outre ce schéma a besoin du service spécialisé s'occupant de la fabrication des clés confidentielles et la livraison à leurs participants de l'échange d'information. Certes, si les échangeurs de tout deux, le problème est pas grand – le rôle d'un tel service peut accomplir un d'eux ou même les deux eux alternativement. Mais si le système compte centaines ou même mille noeuds liés du traitement de l'information, c'est un petit problème augmente à un grand mal de tête.
La contradiction entre les restrictions de la cryptographie classique et les nouvelles tâches apparaissant constamment a amené à ce que dans la deuxième moitié des années soixante-dix on élaborait les principalement nouvelles approches, permettant de décider les problèmes énumérés ci-dessus, ainsi qu'un grand nombre d'autres. L'ouverture soi-disant asymétrique криптоалгоритмов a servi de la base, ou les méthodes, à qui les procédures direct et inverse криптопреобразования sont accomplies sur de diverses clés et n'ont pas entre lui-même les liens évidents et facilement observés, qui permettraient de définir selon une clé l'autre. Dans un tel schéma la connaissance seulement la clé зашифрования ne permet pas de déchiffrer le message, c'est pourquoi il n'est pas l'élément confidentiel du chiffre et est publié d'habitude par l'échangeur pour que n'importe quel intéressé puisse lui envoyer шифрованное le message.
Comme nous voyons, la cryptographie moderne permet de décider beaucoup plus grand nombre de tâches, que la cryptographie classique. À l'aube de son développement s'exprimaient même les opinions qu'elle évincera en quelques années entièrement le prédécesseur, cependant de cela ne s'est pas passé pour les raisons suivantes : Premièrement, les algorithmes avec la clé confidentielle se réalisent beaucoup plus facilement программно, ainsi que аппаратно, en vertu de quoi aux caractéristiques identiques de la productivité et la résistance la complexité, et donc le prix des matériels réalisant le chiffre avec la clé ouverte est considérablement plus haut que le prix de l'équipement réalisant le chiffre classique, mais à la réalisation de programme sur le même type du processeur les chiffres monoclés travaillent plus vite deuxclé. Deuxièmement, la sécurité des algorithmes avec la clé ouverte est argumentée à présent bien pire, que la sécurité des algorithmes avec la clé confidentielle et est absente de la garantie que dans un certain temps ils ne seront pas découverts, comme cela a résulté avec криптосистемой, fondé sur la tâche sur l'emballage du sac à dos. C'est pourquoi pour l'organisation шифрованной les liens sont appliqués à présent les chiffres exceptionnellement classiques, mais les méthodes de la cryptographie moderne sont utilisées seulement là, où ils ne travaillent pas, c'est-à-dire pour l'organisation des divers procès-verbaux subtils comme la signature en chiffre, la distribution ouverte des clés et le jeu du poker selon la correspondance. Puisque les algorithmes asymétriques cryptographiques ne sont pas le sujet du présent article, l'auteur ne s'attardera pas plus sur cela. Le lecteur intéressé peut trouver leur description et la discussion en grande quantité de sources, par exemple, à [1,3,4,8].
Il est nécessaire de marquer qu'à présent on publie le nombre considérable des travaux scientifiques et populaires selon la cryptographie moderne, tandis que les publications peu nombreuses, à qui on examine les chiffres classiques, sont consacrées pour l'essentiel ou les questions de l'histoire de l'art тайнописи, ou contiennent la description des algorithmes concrets sans étude des principes totaux étant dans leur base. Un tel état des choses d'une part, est le tribut à la mode, mais avec l'autre – la conséquence excessif засекреченности de la cryptographie classique, en tout cas, normal on ne peut pas l'appeler. C'est pourquoi dans le vrai travail l'auteur a décidé de raconter des principes totaux de la construction криптоалгоритмов avec la clé confidentielle, plus exactement, une de ses classes appelées comme les chiffres par blocs, au niveau assez simple pour que l'article soit clair pour le lecteur non beaucoup préparé, et en même temps avec la sévérité nécessaire. Il n'y a pas de nécessité en détail de répartir les dignités des principes examinés dans l'article de la construction des algorithmes шифрования, il suffit seulement de dire qu'ils sont à la base de deux chiffres les plus connus en Russie du nombre des plus fort, ou, si vous ainsi aimez plus, deux plus forts chiffres du nombre des plus connu – les standards Russes et américains шифрования, les algorithmes la norme d'État 28147-89 et DES, ainsi qu'un grand nombre des forts chiffres moins connus et moins/ou. Nous passerons directement à leur étude.
Il y a quelques principes de la construction криптоалгоритмов avec la clé confidentielle – distinguent потоковые et les chiffres par blocs, on peut passer la classification et devant d'autres signes. Pour raconter des types tous possibles des chiffres de la classe donnée il est nécessaire d'écrire non l'article, mais le livre assez volumineux ou même quelques livres. C'est pourquoi l'auteur ne tentera pas объять immense, et se limitera dans l'article donné au récit de l'architecture, personnifié dans les standards Russes et américains шифрования – à eux les différences ils sont semblables comme les frères, que même et non les jumeaux. Peut être, les informations exposées dans l'article inspireront le lecteur avec l'esprit curieux à la création du chiffre personnel – dans cela rien n'est impossible, en effet, la cryptographie a atteint ces dernières années tels succès que maintenant même les pays les moins développés dans la science, sans parler de grandes sociétés prospérant des États développés, peuvent permettre créer le chiffre pratiquement non découvert. À celui-là il y a un exemple brillant – le standard américain шифрования (DES) était primordialement élaboré par la société IBM pour les besoins personnels, et seulement puis, après certains traitements, était accepté à titre du standard fédéral des États-Unis [2]. Les acquisitions de la cryptographie moderne permettent d'assurer la confidentialité tellement complète au traitement de l'information que même les champions les plus passionnés приватности et les non-interventions de l'État dans les dossiers individuel des citoyens craignent ses conséquences. Ainsi, le Congrès des États-Unis examine les actes législatifs permettant l'application des moyens cryptographiques seulement sous le contrôle des services correspondants. À tout cela de la procédure de l'échange шифрованными par les messages doivent être construits de manière qu'au besoin du service secret selon la décision des organismes judiciaires pourraient les décoder. Il est possible que assez bientôt arrivera jusqu'à cela l'affaire et chez nous. Dans cette direction on déjà fait quelques pas – lisez le décret du président de la Russie №334 du 3 avril 1995 “Sur les mesures de l'observation de la légitimité dans le domaine de l'élaboration, les productions, la réalisation et l'exploitation шифровальных des moyens, ainsi que les octrois des services au domaine шифрования à l'information”, le contrôle de l'État établissant en réalité après l'élaboration et l'utilisation des moyens криптозащиты à l'information. Des doutes à propos de celui-là, d'où “les oreilles grandissent” ne peut pas être – ФАПСИ ont l'intention d'être le monopolisateur sur ce marché très attrayant des appareils, les programmes et les services, mais l'État ne veut pas que ses citoyens aient les secrets de lui.
Nous reviendrons à l'essentiel du problème : donc, que deux parties, que nous appellerons comme les échangeurs légaux par l'information, tentent de régler le lien confidentiel. D'eux un est l'expéditeur, mais l'autre – il faut être le destinataire du message, bien que, certes, dans les situations réelles ces rôles ne soient pas fixés pour les participants durement et chacun d'eux par l'expéditeur, ainsi que le destinataire. La tâche de l'expéditeur consiste pour former et expédier au destinataire le message T. La tâche du destinataire consiste que le message envoyé de recevoir et comprendre son contenu. Pour qu'un seulement le destinataire puisse prendre connaissance du contenu du message, à l'expéditeur il est nécessaire de le transformer selon un certain algorithme E de manière que qui, à l'exception du destinataire légal et, peut être, l'expéditeur, ne pouvait pas le restaurer dans un ancien aspect. Cette transformation s'appelle зашифрованием les messages T, mais qu'il se trouve à la suite de cette procédure, s'appelle шифротекстом T '. Le lien entre le texte initial T, шифротекстом T ' et l'algorithme зашифрования E peut être symboliquement exprimé avec l'aide de la formule suivante : T ' = E (T). Le message shifrovannoe T ' est transmis par l'expéditeur au destinataire selon la voie de communication. Pour que le destinataire légal puisse prendre connaissance du contenu du message reçu, il le doit préalablement déchiffrer, c'est-à-dire appliquer vers шифротексту T ' l'algorithme расшифрования D, à la suite de quoi on restaure le message initial T. Ainsi, расшифрование des données se réalise selon l'équation T = D (T '). Pour assurer le caractère secret du lien, l'algorithme расшифрования ne doit pas être connu aux personnes étrangères, puisque son caractère secret définit le caractère secret du lien organisé ainsi.
Dans notre situation il y a un tiers appelé selon la tradition formée comme le malfaiteur, qui souhaite s'opposer à la réalisation des intentions des échangeurs légaux. Dans le cas le plus total en exécution des intentions le malfaiteur peut saisir шифрованные les messages et envoyer les messages fabriqués par lui-même d'un des parties de la part de l'autre. Certes, il ne possède pas l'algorithme расшифрования – dans ce cas tout serait singulièrement simple pour lui. Le cercle des tâches, qui peut tenter de décider криптоаналитик, est plus large que le décodage du message est simple – nous énumérerons ces tâches nommées dans la cryptographie les menaces :
· décoder le message T ', c'est-à-dire recevoir le texte ouvert lui correspondant T ' entièrement ou partiellement, ou quand même faire certaines conclusions sur le contenu du message saisi, en s'appuyant sur les régularités découvertes dans lui;
· former à la base des données se trouvant à lui le message T ~ ', qui le destinataire légal accepterait pour l'original. Il n'est pas du tout obligatoire de plus, bien que, certes, il est très désirable pour le malfaiteur pour que lui-même puisse comprendre le sens du message fait ou même pouvait fabriquer n'importe quel message choisi par lui à son gré;
Par le dévoilement du chiffre comprennent la réalisation fructueuse quand même par une des menaces indiquées. La première menace, si est réalisée, violera le caractère secret du message, mais deuxième violera son authenticité. Le degré du succès dans la réalisation des menaces énumérées ci-dessus peut être aussi divers. Si exclure la chance accidentelle, la réalisation fructueuse de la menace du caractère secret des données signifie l'acquisition par le malfaiteur par l'algorithme расшифрования D, ou la construction fonctionnellement équivalent à lui de l'algorithme D ', permettant pour n'importe quel message chiffré T ', ou quand même pour шифротекстов d'une certaine classe, recevoir le message correspondant ouvert T. Analogiquement, la réalisation fructueuse de la menace de l'intégrité des données signifie l'acquisition par le malfaiteur par l'algorithme зашифрования E, ou la construction fonctionnellement équivalent à lui de l'algorithme E ', permettant pour n'importe quel message ouvert T, ou quand même pour les messages d'une certaine classe, recevoir le message correspondant chiffré T ', ou, dans le cas le moins fructueux pour lui, la création de l'algorithme E ~ permettant de créer un tel message chiffré T ', qui le destinataire légal accepterait pour l'original.
Pour la réalisation des menaces au malfaiteur il faut accomplir un certain travail assez intellectuel avec les données saisies, dans cela peut l'aider криптоаналитик. Il est facile de deviner que dans la tâche du dernier entre криптоанализ, c'est-à-dire l'analyse des messages saisis en vue de la réalisation d'un des menaces énumérées ci-dessus. De plus l'analyste peut disposer de l'information suivante :
· дешифруемый le texte T ', peuvent se trouver aussi saisi auparavant шифрованные les messages
(T1 ', T2 '..., Tn ' ), chiffré avec l'utilisation du même algorithme que T ';
· les messages ouverts correspondant à certains chiffrages auparavant saisis :
(T1, T2..., Tm ), Ti ' = E (Ti), i = 1..., m, où m £ n;
· la possibilité de recevoir pour le message arbitraire ouvert choisi par le malfaiteur T correspondant шифротекст T ' = E (T);
· la possibilité de recevoir pour arbitraire choisi par le malfaiteur шифрованного les messages T ' le texte correspondant ouvert T = D (T ');
Conformément à ces trois possibilités distinguent les aspects suivants principaux криптоанализа :
· l' analyse à la base seulement шифротекста;
· l' analyse à la base du texte non choisi ouvert;
· l' analyse à la base du texte choisi ouvert;
· l' analyse à la base de choisi шифротекста;
La première possibilité est à la disposition de l'analyste pratiquement toujours. La deuxième possibilité est aussi tout à fait réelle : par exemple, la reconnaissance dans le Service de renseignements réussit à prendre le déchiffrement d'un des messages confidentiels. De plus, cette possibilité est très typique dans ces sphères, où le délai de la vie de l'information confidentielle est très petit, et elle est ébruitée vite – à la transmission des matériels de publicité, de divers reportages publiés par la suite par les médias etc., le mot partout, où il faut dépasser les concurrents de tout pour quelques heures ou les jours. Les troisièmes et quatrièmes possibilités, bien que semblent exotique, néanmoins peuvent avoir lieu aussi – si le collaborateur de l'organisation travaillant de l'autre côté, a l'accès vers total шифровальным aux moyens. Certes, le troisième cas est justifié conformément à la tâche du décodage, mais quatrième – les impositions des données fausses. Les premiers deux sont actuels pour les deux menaces.
Dans la situation de vie examinée par nous il y a encore une partie, le rôle de qui tenterons d'accomplir nous, nous-mêmes. Cela криптограф, dans la tâche de qui entre approvisionner les échangeurs légaux en tels algorithmes pour - et расшифрования pour que le malfaiteur ne puisse pas accomplir aucune des menaces même dans la situation les plus favorable à lui, c'est-à-dire à la possibilité криптоанализа à la base d'arbitrairement texte choisi ouvert. Autrement dit, la tâche криптографа est l'élaboration du système confidentiel et authentique de la transmission de données. Généralement parlant, c'est divers, bien que parfois et les propriétés liées assez étroitement dans les chiffres concrets криптосистем. Nous expliquerons leur sens :
L'authenticité est la sécurité du système cryptographique de l'imposition des données fausses.
Le caractère secret est la sécurité du système cryptographique de ¡Ñßᡬµ¿«¡¿Ó«@óá¡¡«ú« de la présentation avec contenu des données fermées par le système.
Donc, notre tâche consiste pour approvisionner les échangeurs en algorithmes sûrs шифрования. La première question, que nous donnerons – si cela on décide la tâche en principe, et si oui, nous pouvons assurer cela quel degré maximum du caractère secret ? La réponse à cette question était trouvée Shennonom – le théorème portant son nom, annonce qu'il y a des chiffres absolument fermes, c'est-à-dire tels chiffres, qu'il est impossible de découvrir, même si криптоаналитик possède le stock non limité du temps et les ressources calculatoires. Шенноном était aussi établi que la condition de la résistance absolue du chiffre est l'utilisation dans l'algorithme шифрования de la quantité non plus petite d'information confidentielle, que se trouve les informations dans le message chiffré.
Comment réaliser un tel chiffre ? Avant de répondre à cette question nous nous rappellerons que tous les chiffres modernes sont fondés sur le principe de Kirhgofa, qui annonce que les algorithmes шифрования doivent être construits pour que même à leur divulgation ils assurent encore le niveau défini de la sécurité. À propos, sur l'auteur du principe – dans la littérature l'appellent erronément par "Kerkhoffom" – l'auteur n'a pas rencontré le cas commun de la transcription juste de ce nom. Elle s'écrit “Kirchhoff” – ainsi que le nom de l'auteur des lois connues dans l'électricien de Kirhgofa. Кирхгоф était le Hollandais, et non par l'Anglais, c'est pourquoi prononcer son nom il faut conformément aux règles de la transcription allemande, et non anglais. Nous reviendrons au sujet examiné – clairement que криптоалгоритмы, Kirhgofa construits conformément au principe doivent utiliser à шифровании les données confidentielles appelées comme la clé, qui assurent le caractère secret du message dans les conditions de l'ouverture de l'algorithme. En d'autres termes, le caractère secret du chiffre doit être assuré par le caractère secret de la clé, et non le caractère secret de l'algorithme шифрования. Cela signifie que les algorithmes E et D, introduit par nous à la considération dans le paragraphe précédent, utilisent la clé confidentielle K, et peuvent être désignés par nous maintenant comme EK et DK. Alors les équations шифрования auront l'air le suivant :
T ' = EK (T) ааааааааааааа (зашифрование),
T = DK (T ') ааааааааааааа (расшифрование).
Nous nous rappellerons que dans les chiffres de la classe examinée pour pour - et расшифрования on utilise la même clé. Clairement que la procédure расшифрования doit dans tous les cas amener au résultat juste. Cela signifie que quel bloc des données T et la clé K étaient admissible, on doit accomplir l'égalité suivante : EK (DK (T)) = T.
Nous reviendrons aux chiffres absolument fermes réalisant le principe de Kirhgofa. Puisque tout leur caractère secret est concentré dans la clé K, conformément à eux l'exigence de Shennona signifie que le montant de la clé шифрования ne doit pas être moins de montant du message chiffré : | K | ³ | T |. Nous croirons qu'ils ont le montant identique égal N le bit : | K | = | T | = N. C'est le minimum, auquel la résistance absolue est encore possible. Pour зашифрования il est nécessaire de combiner le message T avec la clé K avec l'aide d'une certaine opération binaire ° pour que reçu шифротекст dépende et du texte initial T, et de la clé K. De plus l'équation зашифрования aura l'air le suivant :
T ' = EK (T) = T ° K.
Le montant шифротекста est aussi égal de plus N le bit : | T ' | = | T | = | K | = N. Pour la garantie de la résistance absolue du chiffre la quantité d'information confidentielle dans la clé K doit être au maximum possible pour son montant. Cela signifie que tous les bits de la clé doivent être случайны avec les significations équiprobables et sont d'après les statistiques indépendants. Une telle clé peut être reçue seulement par le moyen de matériel, algorithmiquement on ne peut pas l'élaborer, puisque dans ce cas l'exigence indiquée est violée le chiffre cessera d'être absolument ferme.
Nous examinerons maintenant les exigences, de qui l'opération ° doit satisfaire. Premièrement pour que шифрование soit convertible, l'équation T ° K = T ' doit être univoque разрешимо relativement T à n'importe quelles significations T ' et K. Cela signifie que près de l'opération binaire ° doit exister inverse, qui nous désignerons par •, et quel blocs de N bits des données T et K étaient, on doit accomplir toujours l'égalité (T ° K) • K = T. À deuxième, pour la garantie du caractère secret complet du chiffre il est nécessaire que de différentes clés donnent pour les textes identiques initiaux différent шифротексты. Cela équivalentement l'exigence univoque разрешимости les équations T ° K = T ' relativement K. Puisque le caractère secret шифрованного les messages s'appuie entièrement sur le caractère secret de la clé, à tout autre les opérations ° et • peuvent sortir des considérations du confort. À titre de telles opérations on peut utiliser l'addition et la soustraction selon le module 2N :
T ° K = (T + K) mod 2N, T • K = (T – K) mod 2N.
Réaliser les calculs sur le message comme par l'unité peut se trouver embarrassant en raison de son montant considérable, c'est pourquoi il est rationnel de casser le message et la clé aux blocs du plus petit montant et appliquer les opérations indiquées à ces blocs :
T = (T1, T2..., Tn), K = (K1, K2..., Kn), |Ki | = |Ti | = Ni,
Ti ° Ki = (Ti + Ki) mod 2Ni, Ti • Ki = (Ti – Ki) mod 2Ni.
Si mener ce procès du parcellement à la fin logique, nous viendrons à l'opération побитового les additions selon le module 2, appelé aussi побитовым excluant ou :
T ° K = T • K = T Å K.
La dernière opération s'est trouvée inverse chez elle-même et pour cette raison, ainsi qu'en vertu de la simplicité et la facilité de la réalisation (les bits séparés du message dans elle sont travaillés indépendamment l'un de l'autre), a reçu la plus grande diffusion.
Nous nous arrêterons brièvement sur l'atteint : le chiffre, que nous avons reçu maintenant, s'appelle la gamme à une seule fois de Vernama. Ce chiffre possède la résistance absolue, qui est payée, cependant, par un assez cher prix – pour шифрования les messages la clé du même montant préalablement livrée à l'expéditeur et le destinataire est nécessaire.
Pour шифрования de deux divers messages on ne peut pas appliquer la même succession des éléments de la gamme. Si cette exigence est violée, on peut trouver toujours une telle paire des opérations binaires Ä et Æ, qui, étant appliqué en conséquence vers les blocs ouvert et chiffré avec l'utilisation du même élément de la gamme des données, donneront les résultats identiques :
Ti ' Ä T~i ' = Ti Æ T~i.
Cela fera la tâche криптоанализа surtout facile, que plus surabondance se trouve dans le message. Pour les textes dans les langues naturelles en raison de leur surabondance énorme cette tâche devient presque triviale – séparer l'un de l'autre tels messages ne présente pas le travail. Une telle division peut être accomplie par la méthode de l'excédent, et en outre sur chaque pas à l'excédent participent seulement quelques symboles.
Si pour l'imposition de la gamme on utilise l'opération побитового de la sommation selon le module 2, à titre des opérations binaires éliminant l'influence de la gamme confidentielle sur le résultat, on peut utiliser la même opération. En effet, que, par exemple, deux blocs soient chiffrés avec l'aide du même élément de la gamme Gi imposé sur eux par l'opération побитового les additions selon le module 2 :
Ti ' = Ti Å Gi,
T~i ' = T~i Å Gi.
Nous accomplirons побитовое l'addition des blocs шифротекста selon le module 2 :
Ti ' Å T~i ' = (Ti Å Gi) Å (T~i Å Gi) = (Ti Å T~i) Å (Gi Å Gi) = (Ti Å T~i) Å 0 = Ti Å T~i.
Comme nous voyons, le résultat coïncide avec побитовой par la somme selon le module de 2 blocs du texte ouvert que fait криптоанализ trivial.
L'exigence de la gamme unique pour chaque message chiffré fait шифрование avec l'aide de la gamme à une seule fois de Vernama tellement superposé que son utilisation est économiquement justifiée seulement dans les voies de communication pour la transmission des messages de l'importance exclusive, fait participer en plus pas trop souvent.
La barrière, devant qui nous nous sommes arrêtés, est irrésistible : atteindre ÝõõѬԿó@¡«ßÔ¿ la réalisation pratique криптоалгоритма on peut ayant refusé seulement la résistance absolue. On peut découvrir le chiffre n'étant pas absolument ferme, pour le temps final, plus exactement, pour le nombre fini des pas, chacun de qui comprend dans l'exécution de l'opération élémentaire arithmétique ou logique. Cependant rien ne nous empêche de créer un tel chiffre théoriquement instable, pour le dévoilement duquel il fallait accomplir un tellement grand nombre des opérations pour que ce soit irréalisable sur les moyens modernes et calculatoires attendus dans la perspective pas trop éloignée pour le temps raisonnable. La quantité du travail nécessaire à leur dévoilement, exprimé aux opérations élémentaires ou dans la durée des calculs correspondants sur les ordinateurs modernes peut servir de la mesure de la résistance pratique des chiffres du type semblable. Nous marquerons que dans les systèmes réels криптозащиты les informations sont utilisées les chiffres presque exceptionnellement théoriquement instables.
Un bon chiffre doit être stable à l'analyse statistique et algorithmique, c'est-à-dire ne doit pas exister facilement обнаружимых des liens statistiques entre ouvert et шифрованным par le texte et les dépendances entre eux doivent être assez complexes pour cela que l'on pourrait les découvrir par voie de l'analyse. Il y a une frontière précise entre bien et les chiffres pas trop bien créés par blocs : le premier il est impossible de découvrir par le moyen, plus effectif que l'excédent complet selon les significations toutes possibles de la clé, pour le dévoilement deuxième peuvent se trouver utile et les moyens plus effectifs. Comment construire les chiffres fermes ? La science sur cela est secrète pratiquement partout, où ont affaire à la cryptographie – on publie seulement considérations ayant le caractère le plus total et ne contenant pas aucunes конкретики. S'initier à ces connaissances secrètes on peut, en travaillant seulement dans la subdivision correspondante du service spécialisé correspondant. Eh bien, mais nous avec vous tenterons d'examiner le problème exceptionnellement de la position du bon sens. En général, on peut proposer seulement deux approches fondamentales de la construction du chiffre avec la clé confidentielle :
· l' élément élaboré de la gamme Gi ne dépend pas du bloc chiffré des données Ti;
· шифрование du massif de l'information T se réalise par voie de la manipulation avec lui-même;
La première approche par l'image évidente découle du chiffre de Vernama. Toute la différence consistent en ce que dans lui la gamme n'est pas elle-même l'élément clé, mais est élaboré seulement de la clé K du montant fixé avec l'aide d'un certain ensemble de fonctions fi : Gi = fi (K), ou, plus exactement, une fonction universelle Gi = f (i, K) – bien que du point de vue des mathématiques ce même, du point de vue algorithmique est de différents objets. L'exigence de la faisabilité pratique du chiffre en forme de l'appareil ou le programme d'ordinateur amène à la nécessité de la possibilité de sa description en forme de l'algorithme avec le nombre fini des états possibles, du modèle le plus total de qui l'automate final peut servir. Ainsi, le générateur de la gamme peut être défini avec l'aide des rapports suivants comme l'automate final sans entrée :
Si = WK (Si–1), Gi = QK (Si), (le temps mort гаммирование)
Ou comme l'automate final avec l'entrée, si le bloc élaboré de la gamme dépend du bloc précédant шифротекста et/ou le texte ouvert :
Si = WK (Si–1, Ti–1, Ti '–1), Gi = QK (Si) ааааааааа (гаммирование avec la liaison en retour).
Le premier de deux rapports définit la règle du changement des états, deuxième – la règle de la production de l'élément de sortie, c'est-à-dire l'élément de la gamme. Clairement que pour la garantie du caractère secret du chiffre les deux ces règles doivent ou être confidentiel, ou dépendre de la signification de la clé confidentielle K. Les chiffres construits selon le schéma donné, s'appellent потоковыми, puisque à eux on utilise le flux de la gamme élaboré par le générateur. Зашифрование (расшифрование) se réalise par voie de l'imposition simple des éléments de la gamme sur les blocs ouvert (шифрованного) du texte avec l'aide des opérations correspondantes binaires : Ti ' = Ti ° Gi , Ti = Ti ' • Gi. En fonction des opérations utilisées l'imposition de la gamme peut se réaliser comme побитово, et les blocs d'un autre montant. La complexité principale à la réalisation de l'approche donnée consiste en élaboration en effet la source qualitative криптостойкой les gammes.
La deuxième approche de la construction des chiffres avec la clé confidentielle ne comprend pas aucunes allusions sur les moyens possibles de sa réalisation. Dans le paragraphe suivant de l'article nous tenterons de tâter ces moyens eux-mêmes.
Le point de départ dans la réalisation de l'approche examinée est l'idée d'élaborer la gamme pour зашифрования les messages … du message! Cependant faire cela il est directement impossible, puisque apparaissent de plus les difficultés avec расшифрованием : que la gamme soit élaborée du bloc chiffré selon l'équation G = f (T), où f – une certaine fonction. De plus l'équation зашифрования aura l'air le suivant : T ' = EK (T) = T ° G = T ° f (T). Pour расшифрования les messages son destinataire doit décider cette équation relativement T : T ° f (T) = T '. Si la fonction f est complexe et нелинейна qu'est demandé pour la résistance suffisante du chiffre, la tâche donnée peut se trouver pratiquement insoluble.
Néanmoins, à l'élaboration du nouveau schéma cryptographique nous ne voulons pas refuser les décisions auparavant utilisées et se montrant bien, au nombre de qui se rapporte l'imposition de la gamme sur les données pour eux шифрования. Comment sortir de cette situation difficile, dans qui nous nous sommes trouvés ? Nous tenterons de décider quand même la partie du problème, pour quoi nous présenterons le tableau chiffré T du montant |T | = N dans l'aspect des paire des blocs du plus petit montant : T = (T0, T1), |T0 | = N0, |T1 | = N1, N0 + N1 = N, où T0 désignera cadet, mais T1 – la partie principale du massif T. Nous accomplirons зашифрование du bloc principal avec l'aide de cadet, en utilisant de plus une certaine fonction f, reflétant le bloc de N1 bits des données sur de N0 bits, et l'opération convertible binaire ° sur les blocs de N0 bits des données. Nous désignerons la transformation reçue chiffrant par Gf °. L'équation de cette transformation sera le suivant :
Gf ° (T) = Gf ° (T0, T1) = (T0, T1 ° f (T0)).
Pour Gf ° il est facile de construire inverse, ou la transformation déchiffrant Gf • :
Gf • (T) = Gf • (T0, T1) = (T0, T1 • f (T0)).
En effet, si les opérations binaires ° et • mutuellement inverse, quel qu'il y avait un bloc de N bits des données T = (T0, T1), l'égalité toujours justement suivante :
Gf • (Gf ° (T)) = Gf • (Gf ° (T0, T1)) = Gf • (T0, T1 ° f (T0)) = (T0, (T1 ° f (T0)) • f (T0)) = (T0, T1) = T.
Clairement que la destination de la fonction f consiste pour masquer la dépendance entre le bloc T0 et la gamme pour шифрования du bloc T1, qui de lui est élaborée. Pour cela la fonction f doit être l'élément confidentiel de notre chiffre – nous nous fermerons les yeux sur cette violation du principe de Kirhgofa. Nous marquerons un très important fait : notre schéma est apte au travail à n'importe quelle fonction f, après расшифрования nous recevrons toujours les mêmes données, qui étaient devant зашифрованием.
Avant de passer à l'étude du document ultérieur, les lecteurs, pas trop fort dans le mathématicien, se trouve faire connaissance avec certaines notions mathématiques, à savoir, avec la notion de la composition des images et les transformations. Même, qui possède ce document dans le degré suffisant, peuvent ne pas lire les paragraphes suivants imprimés par la police menue.
Tous les articles examinés à la partie donnée de la transformation sont les opérateurs dans la multitude de blocs des données, c'est-à-dire les fonctions acceptant à titre de l'argument et donnant à titre du résultat les blocs des données.
1. Nous appellerons comme la composition des transformations A et B une telle transformation C = AB que quel qu'il y avait un bloc des données T, on accomplit toujours l'égalité C (T) = B (A (T)). Ainsi, par la définition de la composition AB (T) = B (A (T)).
2. Pour la composition des transformations est juste la loi associative, c'est-à-dire pour n'importe quelles transformations A, B, C l'identité est juste : A (BC) = (AB) C. En effet, quel était le bloc des données T, l'égalité suivante justement :
(A (BC)) (T) = BC (A (T)) = C (B (A (T))) = C (AB (T)) = ((AB) C) (T).
C'est pourquoi en expression pour la composition de trois et plus transformations de la parenthèse излишни : A (BC) = (AB) C = ABC.
3. Parmi toutes les transformations il y a un spécial, appelé identique et désigné par par I. La particularité distinctive de la transformation donnée est ce qu'il laisse l'argument invariable : quel qu'il y avait un bloc des données T, il est toujours juste I (T) = T. Il est évident que la composition de n'importe quelle transformation A avec identique donne finalement la même transformation A : IA = AI = A. En effet, pour n'importe quel bloc des données T sont justes les égalités suivantes : AI (T) = I (A (T)) = A (T) et IA (T) = A (I (T)) = A (T).
4. La transformation B s'appelle l'inverse vers la transformation A, si leur composition est la transformation identique, c'est-à-dire si on satisfait la condition AB = I ou pour le bloc arbitraire des données T l'égalité B (A (T)) = T est juste . La transformation A s'appelle convertible, s'il y a un inverse chez lui la transformation désignée A–1 : AA‑1 = I.
Du point de vue exposé tout à l'heure la transformation chiffrant doit être convertible, c'est-à-dire on doit accomplir la propriété Gf°Gf • = I. Il faut marquer que la propriété donnée est accomplie toujours, quelle fonction f nous n'utiliserions pas dans notre transformation, si seulement les opérations binaires ° et • sont mutuellement inverses.
Maintenant nous nous rappellerons sur ce que le schéma proposé par nous a décidé seulement la moitié du problème, puisque la partie cadette T0 du bloc T restait non chiffré. Mais ce problème a la décision évidente : sur le pas suivant il est nécessaire de chiffrer la partie T0 du massif T, en utilisant l'élément de la gamme élaboré de la partie T1 ' du bloc T avec l'utilisation de l'autre fonction g, reflétant les blocs de N0 bits des données sur de N1 bits. Maintenant les deux parties du bloc initial se trouveront chiffrées. Pour une série de raisons il convient, cependant, que chiffré sur chaque tel pas et utilisé pour la production de la gamme de la partie se trouvent sur les positions fixées à l'intérieur du bloc – la tradition prescrit élaborer la gamme de la partie cadette et l'infliger à la principale. Au moins, l'affaire va notamment ainsi dans la norme d'État, DESе, et tous d'autres chiffres construits selon leur image. Pour assurer la propriété indiquée, entre les pas шифрования il est nécessaire d'accomplir le réarrangement des parties du bloc, plaçant les parties correspondantes sur les places compétentes.
Selon les considérations de la garantie maximum криптостойкости et l'efficacité de la réalisation du chiffre il est rationnel de prendre les montants des parties principales et cadettes du bloc chiffré par les identiques : N0 = N1 = N/2. Notamment une telle condition était choisie par les concepteurs de la plupart des chiffres de l'architecture examinée. Dans ce cas entre les pas de l'algorithme de la partie du bloc chiffré sont permutés simplement. Il y a cependant des chiffres ne se soumettant pas à cette règle, on y dit quelques mots plus bas dans le présent article.
Nous désignerons par S l'opération du réarrangement des parties principales et cadettes du massif de l'information : S (T) = S (T0, T1) = (T1, T0). Il est évident que l'opération S est inverse pour elle-même : S2 = S · S = I. En effet, pour le bloc arbitraire des données T = (T0, T1) l'égalité est juste :
S2 (T) = S2 (T0, T1) = S (S (T0, T1)) = S (T1, T0) = (T0, T1) = T.
Alors notre nouveau schéma шифрования peut être présenté par la composition des pas plus simples :
Gf °, g = Gf ° · S · Gg °.
De plus inverse, ou la transformation déchiffrant peut être présentée par le rapport suivant :
Gg •, f = Gg • · S · Gf •.
En effet, l'égalité suivante justement :
Gf °, g · Gg •, f = (Gf ° · S·Gg °) · (Gg •· S·Gf •) = Gf ° · S·Gg ° · Gg •· S·Gf • = Gf ° · S · (Gg°Gg •) · S·Gf • = Gf ° · S·I·S·Gf • =
= Gf ° · (S·I) ·S·Gf • = Gf ° · S·S·Gf • = Gf ° · (S·S) ·Gf • = Gf ° · I·Gf • = (Gf ° · I) ·Gf • = Gf ° · Gf • = I.
Les opérations de l'imposition de la gamme dans les pas шифрования du bloc, généralement parlant, peuvent être diverses, cependant le sens spécial dans cela pendant la création des chiffres ne voyaient pas.
Comme s'enregistrait déjà plus haut, il y a des chiffres, auxquels le bloc chiffré des données se divise sur deux parties non identiques selon le montant. Si l'élément de la gamme est élaboré de la partie cadette du bloc ayant le montant N0 s'impose sur la partie principale ayant le montant N1, le schéma est plus stable vers криптоанализу quand on satisfait la condition N1 < N0. De plus simplement permuter les parties du bloc entre les pas шифрования il ne convient pas déjà, il est nécessaire de briser de nouveau après chaque tel réarrangement le bloc. D'habitude dans une telle situation utilisent le progrès (rotation) cyclique du bloc sur N1 le bit à gauche ou à droite, mais à расшифровании entre les pas il sera nécessaire de tourner le bloc sur le même nombre des bits en sens inverse. Dans le cas indiqué de l'expression pour les transformations зашифрования et расшифрования du bloc seront les suivants :
Gf °, g = Gf ° · R®N1 · Gg °,
Gg •, f = Gg • · R¬N1 · Gf •,
Où par R¬m et R®m on désigne les opérateurs de la rotation du bloc des données sur m le bit à gauche et à droite en conséquence. Puisque pour un pas de l'algorithme est chiffré N1 < N/2 des bits du bloc, pour зашифрования de tout le bloc il faudra plus de deux pas. La signification exacte du nombre des pas au minimum demandés dans un tel algorithme également éN/N1ù, où par éxù on désigne le résultat de l'arrondissement du nombre x jusqu'à l'entier plus proche à l'écart de l'augmentation. De la considération de la simplicité de la réalisation du chiffre choisissent d'habitude N1 de manière que le montant du bloc N s'y divise sans reste. En général, si N = 64, prennent N1 = 16 ou N1 = 8.
Il faut marquer que des chiffres construits selon un tel principe, il est beaucoup plus petit que les chiffres, à qui le bloc se divise sur deux parties identiques selon le montant. C'est conditionné par ce qu'à eux pour un pas on chiffre une plus petite quantité de bits, et il faut, en conséquence, plus de pas. Selon un tel principe, par exemple, on construit le chiffre sous le nom de code “албер”, créé aux couches profondes d'un de nombreux I.R.S., et, parlent, même posant la candidature au poste du standard Russe шифрования, pour lui N1 = 8.
Pour que le schéma par blocs шифрования soit stable vers криптоанализу, elle doit posséder les propriétés du malaxage et la dispersion. Cela signifie que chaque bit du texte initial doit influencer tous les bits шифротекста, et en outre le caractère de cette influence ne doit pas être observé ni d'après les statistiques, ni algorithmiquement. Cette exigence considérablement notamment pour les chiffres par blocs pour la raison suivante : pour le dévoilement du chiffre selon la ligne algorithmique криптоаналитик peut tenter dans l'aspect évident déduire les rapports liant les entrées et les sorties de l'algorithme. Pour потокового du chiffre c'est inutile, parce que ces rapports sont définis entièrement par les éléments de la gamme, qui sont divers pour de divers blocs des données chiffrées. Mais voici pour que криптоанализ n'ait pas été couronné par le succès pour le chiffre par blocs, il faut que le caractère de l'influence des données d'entrée sur de sortie soit assez complexe pour que l'on pouvait le révéler par voie de l'analyse des massifs d'entrée et les achevés d'imprimé. Cela sous-entend, en particulier, l'absence de la dépendance statistique des bits du bloc de sortie des bits d'entrée que signifie pratiquement que comment nous avons changé le bloc des données ouvertes T, tous les bits du bloc шифрованных des données T ' = EK (T) avec la probabilité 1/2 changeront indépendamment l'un de l'autre la signification. Mais le schéma construit dans le paragraphe précédent шифрования ne possède pas une telle propriété. En effet, que зашифрованию subisse le bloc des données T = (T0, T1), alors finalement nous recevrons :
T ' = Gf °, g (T) = Gf °, g (T0, T1) = (Gf ° · S·Gg °) (T0, T1) = (S·Gg °) (Gf ° (T0, T1)) = (S·Gg °) (T0, T1 ° f (T0)) =
= Gg ° (S (T0, T1 ° f (T0))) = Gg ° (T1 ° f (T0), T0) = (T1 ° f (T0), T0 ° g (T1 ° f (T0))) = (T0 ', T1 ')
Nous examinerons la partie cadette du bloc chiffré des données : T0 ' = T1 ° f (T0). Il est facile de remarquer que la dépendance des bits de la partie T0 ' du bloc T ' des bits de la partie T1 est assez triviale et ne satisfait pas aux exigences exprimées plus haut. C'est pourquoi construit par nous криптопреобразование Gf °, g = Gf ° · S · Gg ° il est insuffisamment difficile pour que l'on pouvait sans натяжек appeler comme son cryptographique. Mais il peut par le moyen très simple d'être répandu au nombre aléatoire des pas n : que l'on donne les fonctions f1..., fn reflétant sur lui-même la multitude N / des blocs de 2 bits des données, et la vapeur des opérations mutuellement inverses binaires
et
dans la même multitude. Alors les transformations chiffrant et déchiffrant peuvent être définies comme il suit :

Par l'induction d'après le nombre les pas principaux n on peut montrer que la deuxième transformation à l'inverse au premier :
![]()
Pour réaliser successivement dans le chiffre le principe du malaxage et la dispersion, il est rationnel de présenter la transformation chiffrant en forme d'un assez de grand nombre (n) des pas chacun de qui représente la réalisation en ce qui concerne le chiffre simple. Ainsi, dans le standard Russe шифрования le nombre de tels pas également 32, mais à américain – 16, mais les pas eux-mêmes dans lui est un peu plus complexes. Est криптоалгоритмы de l'architecture semblable avec un plus petit nombre des pas n, par exemple – FEAL [7], pour les diverses variantes de qui n = 4 ou n = 8.
Comme s'enregistrait déjà, l'aspect des opérations binaires de l'imposition de la gamme
et
n'est pas si important du point de vue de la résistance du chiffre, c'est pourquoi, en général, se met le temps mort pour la réalisation pratique la variante – l'opération побитового excluant ou
. Cela permet de réaliser la procédure directe et inverse de la transformation par l'image du même type, ils se distingueront seulement par l'ordre de l'utilisation des fonctions chiffrant f1..., fn. Pour la dispersion plus complète de l'information des données initiales криптопреобразование peut être complété initial (Y0) et final (Y1) par les réarrangements des bits ou autres simple et l'image évidente par les transformations convertibles. Finalement nous recevrons les transformations suivantes chiffrant :

Comme d'habitude, par Y–1 on désigne l'inverse vers Y la transformation. Pour garder l'uniformité direct et inverse криптопреобразований, il est nécessaire d'assurer l'exécution des conditions Y0–1 = Y1, Y1–1 = Y0, c'est-à-dire les substitutions Y0 et Y1 doivent être mutuellement inverses. Nous recevons les formules suivantes pour direct et inverse криптопреобразований :

La transformation avec le réarrangement supplémentaire des bits possède plus haut криптостойкостью en comparaison de la transformation analogue sans réarrangement seulement dans le cas où elle est l'élément confidentiel du chiffre. En effet, si cela non ainsi, par la première action криптоаналитика soumettra tout trouvant à sa disposition aux blocs des données, ouvert, ainsi que chiffré, ce réarrangement Y, et réduire ainsi la tâche initiale à la tâche du dévoilement du chiffre sans réarrangement. De ce point de vue initial et final битовые les réarrangements dans l'algorithme DES sont pas plus, que par les ornements et ne donnent pas l'influence considérable sur lui криптостойкость.
Maintenant nous nous rappellerons sur la violation du principe de Kirhgofa consistant en l'utilisation à titre des éléments confidentiels des fonctions шифрования fi. Pour que notre algorithme шифрования ne le viole pas, nous changerons un peu le schéma de l'utilisation des fonctions fi – nous ferons par leurs par dépendant de la clé confidentielle K : fi (T) = fi (T, K), où fi – la fonction connue (ouverte), mais l'élément K-confidentiel du chiffre (la clé). En général, toutes les fonctions fi par l'image identique utilisent le bloc convertible des données T et se distinguent seulement par le schéma de l'utilisation de la clé K, c'est-à-dire on peut inscrire : fi (T, K) = f (T, j i (K)) = f (T, Ki ), où par Ki = j i (K) nous avons désigné le code élaboré de la clé K et utilisé sur l'I-ÈME pas шифрования, que nous appellerons pour être bref comme “la clé de pas”.
Il nous restait à examiner le dernier détail dans la construction du chiffre par blocs. Jusqu'ici nous ne demandions pas que le montant du bloc chiffré T soit aux constantes, cependant maintenant il nous faut faire cela pour les raisons suivantes :
· Plusieurs éléments du chiffre, tels, comme les réarrangements des bits et la fonction du remplacement битовых des groupes dans le tableau supposent que le bloc convertible a le montant fixé. Bien que l'on peut donner en principe la règle de la construction de tels éléments pour les blocs du montant arbitraire, mettre en pratique cette règle serait extraordinairement incommodément.
· s' il était possible arbitrairement d'augmenter le montant du bloc chiffré, cela amènerait à la situation, quand le bloc des données du grand montant est chiffré pour un passage sur la clé beaucoup un plus petit montant, et un tel schéma devient moins stable aux tentatives algorithmique криптоанализа.
En vertu des raisons indiquées шифрованию selon le schéma examiné par nous doivent subir seulement les blocs des données du montant fixé, c'est pourquoi le chiffre donné s'appelle par blocs. En cas de nécessité le message T se brise à quelques blocs du montant identique, qui sont chiffrés indépendamment l'un de l'autre :
T = (T1, T2..., Tn), T ' = (T1 ', T2 '..., Tn ') = (EK (T1), EK (T2)..., EK (Tn)).
Pour cette raison le schéma donné шифрования appellent comme le chiffre du remplacement simple, puisqu'en fin de compte elle est réduite au remplacement d'unes significations des blocs des données sur les autres. Pour l'algorithme construit par nous шифрования, évidemment, il y a un problème, si le montant du texte chiffré n'est pas multiple le montant du bloc криптоалгоритма. Celui-ci, et une série d'autres questions seront examinés dans le paragraphe suivant.
Le montant des blocs шифрования est défini par le concepteur du chiffre de la condition de l'acquisition nécessaire криптостойкости. Le choix du montant insuffisant des blocs fera possible криптоанализ à la base des régularités statistiques. D'autre part, l'augmentation injustifiée du montant du bloc fera le chiffre encombrant et incommode pour l'application, c'est pourquoi dans cette question il est nécessaire de chercher le compromis. Pratiquement dans tous les chiffres connus à l'auteur de l'architecture examinée on utilise le montant du bloc égal à 64 bits.
Nous ferons en résumé un certain bilan de nos recherches : Pour la définition du chiffre par blocs il est nécessaire de donner le suivant :
1. Les paramètres numériques de l'algorithme :
· le montant du bloc chiffré des données |T | = N;
· le montant de la clé |K | = NK;
· le montant de la clé "de pas" |Ki | = NK ';
· le nombre des pas шифрования (des rounds) n;
2. La fonction шифрования f, acceptant à titre de l'argument et rendant à titre de la signification N / les blocs de 2 bits des données. La fonction шифрования dépend aussi de NK ' du bloc de * bits confidentiel des données – la clé "de pas";
3. De l' ensemble de fonctions j i, 1 £ i £ n pour la production des clés "de pas" Ki de la clé initiale шифрования K : Ki = j i (K);
4. Les réarrangements des bits Y dans le bloc de N bits des données;
Les transformations chiffrant et déchiffrant cryptographiques sont construites comme les compositions des pas décrits plus haut simples Gi , S, Y :
E~KY = Y · G1 · S · G2 · S ·... · S · Gn · Y–1,
D~KY = Y · Gn · S ·... · S · G2 · S · G1 · Y–1.
Ici Gi et S désignent en conséquence le pas de la transformation chiffrant et le réarrangement des moitiés principales et cadettes du bloc chiffré :
Gi (T) = Gi (T0, T1) = (T0, T1 Å f (T0, Ki)) = (T0 ', T1 ') = T ',
S (T) = S (T0, T1) = (T1, T0).
Comme était plus haut marqué, le schéma donné peut être généralisé sur le cas de la division du bloc chiffré des données T sur deux sous-blocs inégaux selon le montant. En outre on peut ajouter les transformations supplémentaires des données au début, la fin, ou sur les étapes intermédiaires криптопреобразования, et aussi au lieu de la fonction побитового excluant ou on peut utiliser quelque l'autre pour l'imposition de la gamme sur les parties du bloc chiffré. Le chiffre, que nous avec vous avons construit tout à l'heure, s'appelle le chiffre du remplacement simple, puisque au fond son action consiste en ce que les blocs chiffrés des données sont remplacés par les blocs шифротекста indépendamment d'autres blocs.
Est venu le temps raconter de l'algorithme шифрования, étant le standard Russe. Ce standard a la désignation la norme d'État 28147-89 de qui est évident qu'il était accepté en 1989. Sa base est faite par les procédures зашифрования et расшифрования selon l'algorithme du remplacement simple des blocs de 64 bits des données, et déjà avec leur utilisation on construit d'autres algorithmes шифрования – comme lui faire, est examiné dans les paragraphes suivants. Dans le présent article est examiné seulement криптоалгоритм la norme d'État 28147-89 [6], on peut trouver la description des autres chiffres avec l'architecture semblable dans la littérature [2,7,8], c'est pourquoi l'auteur a décidé de ne pas s'arrêter sur eux. Maintenant nous examinerons la norme d'État selon le schéma indiqué plus haut :
1. Nous définirons les caractéristiques numériques de l'algorithme :
· le montant du bloc chiffré est égal à 64 bits : |T | =64;
· le montant de la clé est égal à 256 bits | K | = 256;
· sur chaque pas de l'algorithme on utilise l'élément de 32 bits clé : | Ki | = 32;
· le nombre des répétitions du pas principal (le nombre des rounds) n = 32;
2. La fonction шифрования est définie comme il suit :
· les données initiales pour la fonction шифрования sont de 32 bits l'élément des données T et la clé "de pas" Ki;
· le bloc des données T et la clé "de pas" Ki se forment selon le module 232 : S = (T + Ki) mod 232;
· le bloc reçu de 32 bits des données est interprété comme le massif de huit groupes de 4 bits S = (S1, S2..., S8), | Si | = 4, et dans chaque groupe on accomplit la substitution avec l'aide du noeud correspondant des remplacements : Si ' = hi, Si. Finalement nous recevons le bloc suivant des données : S' = (S1 ', S2 '..., S8 ') = (h1, S1, h2, S2..., h8, S8);
· le résultat du pas précédent tourne sur 11 bits à gauche, c'est-à-dire à l'écart des catégories principales : si S' = b31b30... b21b20... b1b0, T ' = R¬11 (S') = b20... b1b0b31b30... b21;
· le bloc reçu des données T ' est la signification de la fonction шифрования : T ' = fi (T, K);
3. À шифровании on utilise l'information suivante confidentielle (clé) :
· la clé – le massif de 256 bits de l'information structuré au massif de huit éléments de 32 bits, qui nous numéroterons dans l'ordre de leur utilisation dans le cycle шифрования : K = (k1, k2..., k8), | K | = 256, | ki | = 32;
· le tableau des remplacements – l'ensemble de huit – d'après le nombre битовых des groupes, à qui se brise le bloc de 32 bits des données au calcul de la fonction шифрования – les noeuds des remplacements : H = (H1, H2..., H8). Chaque noeud des remplacements présente de lui-même la substitution dans la multitude 16-d'élément de significations toutes possibles des codes de 4 bits, et peut être présenté ainsi en forme du massif de 16 divers nombres de 4 bits : Hi = (hi, 0, hi, 1..., hi, 15), | hi, j | = 4, 0 £ hi, j £ 15, pour chacuns i, j, k (j ¹ k), on doit satisfaire la condition hi, j ¹ hi, k. Le montant de chaque noeud des remplacements est égal | Hi | = 8× | hi, j | = 64 bits, mais le montant de tout le tableau des remplacements | H | = 8× | Hi | = 8×64 = 512 bits ou 64 octets;
4. Nous définirons l'ordre de l'utilisation de la clé à шифровании, c'est-à-dire nous donnerons la fonction j i les productions de la clé "de pas" de la clé initiale шифрования K : Ki = j i (K). À titre des clés "de pas" Ki dans la norme d'État se mettent les éléments définis kj de la clé K : Ki = kj. Cependant tels éléments seulement 8, mais les pas dans le cycle шифрования 32, donc il est nécessaire de donner la fonction p (i), reflétant la multitude 32-d'élément de pas dans le cycle шифрования à la multitude 8-d'élément de parties de la clé : Ki = kp (i), 1 £ i £ 32 1 £ p (i) £ 8 nous Donnerons cette fonction à tabulaire et формульном l'aspect :
|
i |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
|
p (i) |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
i |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
|
p (i) |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |

Autrement dit, au cours du cycle зашифрования les éléments de la clé sont utilisés successivement l'un après l'autre, de plus la clé "est examinée" quatre fois – les premiers trois dans la direction directe, quatrième – dans l'inverse. Les lecteurs qui ont étudié bien le document des paragraphes précédents comprendront sans effort que dans le cycle расшифрования les éléments de la clé sont utilisés dans l'inverse par rapport au cycle зашифрования l'ordre, c'est-à-dire d'abord la clé est examinée une fois dans la direction directe, puis trois fois dans l'inverse.
Maintenant nous parlerons du tableau des remplacements. Elle est un certain analogue des S-blocs (S-boxes) du standard américain, mais, à la différence du dernier, premièrement, même sur tous les pas du cycle шифрования et deuxièmement, n'est pas fixée et est l'élément confidentiel du chiffre. Il faut marquer que l'algorithme шифрования est convertible à n'importe quel remplissage des noeuds des remplacements, même s'ils et ne donnent pas les substitutions justes dans la multitude 16-d'élément, c'est-à-dire contiennent les éléments se répétant du remplacement : hi, j = hi, k à certains i, j, k (j ¹ k). Cependant un tel remplacement conduit à la perte de l'information sur la signification remplacée, et, par voie de conséquence, vers la réduction криптостойкости du chiffre, c'est pourquoi la possibilité de cela n'est pas prévue dans la norme d'État.
Nous marquerons que l'élément principal confidentiel du chiffre russe est la clé. L'algorithme doit rester криптостойким même en cas du dévoilement du tableau des remplacements qu'il a lieu, cependant, non à toutes ses significations possibles. L'existence "des faibles" tableaux des remplacements, c'est-à-dire les tableaux, à l'utilisation de qui криптостойкость du chiffre baisse beaucoup, ne provoque pas le doute – le tableau trivial, à l'utilisation de qui toute signification est remplacée par celui-ci ici peut servir de l'exemple. Cependant dans des grands nombres de spécialistes-kriptografov authentiquement ne sait pas, comment est beaucoup des tableaux semblables et s'il y a un critère permettant pour le tableau concret absolument définir, si elle est faible ou non. Il est évident que si tels critères et existent, ils sont soigneusement secrets, aucunes données sur cette matière, de même qu'en matière de qualité des clés, n'étaient pas publiés dans le sceau ouvert.
Cependant l'affaire du choix des données clés va non ainsi vraiment mal – avec la probabilité un peu se distinguant de l'unité, l'image accidentelle les données choisies clés n'amèneront pas à la réduction catastrophique криптостойкости le chiffre, et le coût de son dévoilement restera toujours assez haut et se trouvera peu probablement selon les dents à quelque structure commerciale, que même et très grand. Eh bien, mais les fonctions publiques pourront recevoir en cas de nécessité toute l'information les intéressant et sans s'adresser au décodage. Pour cette raison pour l'utilisateur ordinaire, le coût de l'information protégée de qui n'excède pas la somme de l'ordre de quelque centaines de mille dollars US, sera bien assez d'une bonne qualité statistique de l'information clé consistant en le suivant :
· la clé doit être le massif de 256 bits indépendants avec les significations équiprobables;
· le tableau des remplacements doit être l'ensemble de huit noeuds indépendants, chacun de qui est la substitution accidentelle dans la multitude 16-d'élément;
Dans le supplément il faut faire la remarque suivante : si les fonctions exprimant les bits du résultat du remplacement par les bits du bloc initial résultent assez simple, cela affaiblira le chiffre. Ainsi, inoffensif à première vue le noeud des remplacements Hi = (9, 8, 3, 10, 12, 13, 7, 14, 0, 1, 11, 2, 4, 5, 15, 6) est en fait faible, puisque laisse les deuxièmes et troisièmes bits du groupe invariable que devient évident, si l'inscrire sous la forme tabulaire avec les significations binaires de l'argument et la fonction :
|
S |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
|
H (S) |
1001 |
1000 |
0011 |
1010 |
1100 |
1101 |
0111 |
1110 |
|
S |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
|
H (S) |
0000 |
0001 |
1011 |
0010 |
0100 |
0101 |
1111 |
0110 |
Outre cela, le tableau des remplacements peut contenir les voies de détour d'autres types, permettant de déchiffrer le message par l'image plus effective, que l'excédent complet selon les significations possibles de la clé – mais cela déjà le sujet non pour l'article de revue.
L'utilisation du chiffre par blocs en régime du remplacement simple a une série des manques se reflétant sur la résistance et le confort de l'utilisation du chiffre. Le manque premier et le plus sérieux du remplacement simple consiste en ce qu'en ce régime зашифрование des blocs identiques du texte initial donne les blocs finalement identiques шифротекста que facilite la tâche криптоаналитика. En effet, à la base seulement шифрованных des données il peut faire certaines conclusions sur les propriétés du texte initial que, certes, n'est pas la dignité du chiffre.
Nous citerons l'exemple typique : que зашифрованию subisse l'information sur le disque souple magnétique. Il y a rarement une situation, quand les données occupent tout le disque, en général sa partie considérable reste libre. La partie de la disquette ne contenant jamais l'information utile, est d'habitude remplie par les codes fixés inscrits là-bas au formatage, et à elle зашифровании nous recevrons les blocs fixés шифротекста. Alors, en analysant la disquette donnée, криптоаналитик pourra définir à près quelques octets le montant du massif de l'information utile se trouvant sur elle que dans nombre de cas, par exemple, si le format et le contenu du message sont lié au montant du fichier correspondant, peut faciliter à lui la tâche du décodage.
On peut proposer la modification du schéma шифрования selon l'algorithme du remplacement simple, éliminant le manque donné – pour cela devant зашифрованием les messages il faut l'accomplir рандомизацию. Cette action consiste en ce que les blocs du texte initial sont modifiés par l'image individuelle, par exemple, ¬«¼í¿¡¿ÓÒ¯Ô@ßn avec les données élaborées par le détecteur des nombres pseudo-accidentels (ПСЧ) avec l'aide d'une certaine opération binaire °, ayant l'opération inverse •. Зашифрование et расшифрование sera accompli selon les équations suivantes :
Ti ' = EK (Ti ° Gi),
Ti = DK (Ti ') • Gi
Où Gi – les blocs des données élaborés par le détecteur ПСЧ. Comme s'enregistrait déjà auparavant, à titre de l'opération de l'imposition/retrait de la gamme plus de tout la procédure побитового excluant s'approche ou. La période de la répétition de la succession ПСЧ {Gi}, élaboré par le détecteur, doit excéder le nombre au maximum possible des blocs dans le message.
Cependant le procès-verbal donné est inconsistant, si криптоаналитик possède la possibilité de l'analyse à la base du texte choisi ouvert, c'est-à-dire s'il peut recevoir n'importe quel message ouvert choisi par lui chiffré sur la même clé et avec l'utilisation des mêmes éléments Gi que дешифруемый le texte. En effet, nous supposerons que криптоаналитик dispose d'une telle possibilité. Alors il peut soumettre зашифрованию au massif comprenant uns blocs-zapolnitelej et comparer le résultat acquis avec analysé шифротекстом :
Ui = U, où U – probable заполнитель bloc,
Ui ' = EK (Ui ° Gi).
Si on satisfait la condition Ui ' = Ti ', cela signifie que Ti = U, et notre procès-verbal cryptographique n'accomplit pas les tâches confiées à lui.
Pour se délivrer du manque indiqué, le procès-verbal шифрования doit assurer l'originalité de la succession des éléments de la gamme Gi. Comment on peut réaliser cela ? En général, tous les algorithmes de la production ПСЧ ont un certain ensemble des paramètres numériques définissant la succession absolument reçue de sortie {Gi}. Cela permet d'assurer son originalité pour de divers procès шифрования par un de deux moyens suivants :
· faire les paramètres numériques de l'algorithme de la production ПСЧ Gi par les confidentiels. On ne peut pas appeler ce moyen bon, puisqu'il amène à l'augmentation du volume total de l'information confidentielle clé, c'est-à-dire, à son origine, suppose l'utilisation de l'algorithme supplémentaire шифрования.
· assurer l'originalité de l'ensemble utilisé des paramètres numériques par la construction correspondante шифрователя. On ne peut pas trouver ce moyen aussi acceptable, puisque шифрователь dans ce cas doit contenir un certain bloc assurant la réception du vecteur unique des paramètres initiaux pour la production Gi que compliquera sa structure. En outre dans ce cas il faut interdire шифрование selon l'algorithme du remplacement simple sans utilisation des éléments Gi, puisque si de cela ne pas faire, криптоаналитик peut accomplir la combinaison du bloc-zapolnitelja avec les éléments Gi indépendamment, ayant soumis зашифрованию »«ß½Ññ«óáÔѽý@¡«ßÔý des blocs {Ui}, où Ui = U ° Gi.
Comme nous voyons, le moyen donné рандомизации du message initial engendre lui-même plus de problèmes, que permet de décider, et c'est pour cela que son utilisation, bien qu'il est possible en principe, n'a pas reçu la diffusion un peu considérable. De plus, par la suite nous verrons qu'à шифровании selon la méthode гаммирования apparaissent les problèmes similaires.
Le deuxième manque ayant lieu à l'utilisation du chiffre par blocs en le régime du remplacement simple, est conditionné par le problème des blocs incomplets, ou "les queues". Puisque en régime donné криптопреобразованию subissent seulement les blocs du montant fixé, apparaît le problème, si le montant du message chiffré n'est pas multiple le montant du bloc utilisé криптоалгоритма. L'essentiel du problème consiste en celui par quoi et comme compléter "les queues" jusqu'à полноразмерных des blocs pour que ce soit confortable dans l'utilisation et ne réduisait pas криптостойкости le chiffre. Nous examinerons les voies possibles de la décision du problème donné :
· on peut compléter "la queue" avec les données fixées – par exemple, les zéros. Cela, cependant, réduira beaucoup криптостойкость du dernier bloc, puisque криптоаналитику, possédant l'information sur le moyen du complément de "la queue", il faudra accomplir l'excédent selon la multitude de significations possibles de ce bloc, beaucoup plus petit, que l'espace complet des significations du bloc.
· on peut compléter "les queues" avec les données des blocs complets. En tout cette non mauvaise décision, mais lui ne travaille pas, si le bloc incomplet – le seul, c'est-à-dire si la longueur le message est plus petite que le montant du bloc du chiffre. En outre en utilisant l'approche donnée, nous tôt ou tard nous heurterons à la situation, quand pour le complément de "la queue" on utilise les parties fixées du message possédant l'incertitude insuffisante pour криптоаналитика. Ainsi, par exemple, plusieurs messages commencent par la griffe, qui peut accepter seulement deux – trois significations possibles, mais de diverses formes de son inscription dans l'aspect de texte il y avoir être un maximum quelques dizaines des variantes. Si pour le complément de "la queue" on utilise la partie d'un tel bloc, il y a une situation semblable examinée à précédente point – "la queue" peut devenir la production facile криптоаналитика.
· l' application pour le complément de "la queue" de l'élément séparé constant confidentiel ne s'approche pas pour la même raison que le premier moyen – l'utilisation de l'élément donné fait par parties à ses vulnérable vers криптоанализу. Un tel schéma est abandonné devant l'analyse à la base du texte choisi ouvert. En outre le moyen donné augmente le volume total de l'information confidentielle (clé) qu'est très indésirable.
· peut-être, le meilleur moyen possible consiste pour utiliser pour le complément de "la queue" les données du détecteur de matériel des nombres accidentels. Le détecteur élaborant en effet les nombres accidentels, ayant une haute qualité statistique Ici est nécessaire. Pour cette raison les divers détecteurs de programme ПСЧ ne s'approchent pas ici. En vertu de cela un souvent tel moyen est inacceptable selon les considérations économiques, puisque demande la présence sur chaque ordinateur-shifrovatele du composant très coûteux de matériel.
Comme nous voyons, le deuxième problème шифрования en régime du remplacement simple non plus a de la décision effective et en même temps économe. En outre ce problème crée encore une complexité purement technique – après зашифрования en régime du remplacement simple toutes les catégories du bloc reçu deviendront signifiant, mais cela signifie qu'avec шифротекстом il est nécessaire maintenant de garder le montant (le nombre des bits ou octets) le dernier bloc incomplet du texte initial qu'amène au changement de son montant, mais c'est indésirable dans certains cas.
Le troisième manque шифрования en régime du remplacement simple consiste en son instabilité avant la modification du message consistant en le réarrangement des blocs шифротекста. En effet, si nous faisons les changements dans le bloc шифротекста "au hasard" cela probablement après расшифрования lui se trouvera “запорченным”, c'est-à-dire son contenu sera absurde. La raison de cela consiste en ce que tout naturel et les langages artificiels ont la surabondance immense, mais les changements apportés au bloc шифротекста accidentels, c'est-à-dire l'image imprévisible pour nous, influencent les données correspondantes déchiffrées et la probabilité recevoir le sens ayant le résultat est extrêmement petite. Une autre affaire, si nous permutons simplement, nous éloignons ou nous doublons les blocs шифрованного les messages. Dans ce cas nous pouvons recevoir le résultat ayant un certain sens, et une telle violation de l'intégrité des données peut se trouver inaperçue, si ne pas accepter les mesures spéciales.
En vertu d'exposé être plus haut que les considérations l'utilisation du chiffre par blocs en régime du remplacement simple peut il est récommandé seulement pour шифрования de petits tableaux par le volume, le montant de qui est multiple le montant du bloc utilisé par blocs криптоалгоритма et qui ne contiennent pas les blocs se répétant. À cet ensemble des exigences satisfont tout à fait seulement les massifs de l'information clé. C'est pourquoi DES ne recommande pas, mais le standard Russe interdit d'utiliser la norme d'État 28147-89 directement шифрование en régime du remplacement simple pour les données n'étant pas clés.
La procédure proposée dans le paragraphe précédent шифрования selon la méthode du remplacement simple de l'utilisation du détecteur des nombres pseudo-accidentels peut un peu être changée que la libérera d'une série de manques. Зашифрованию selon l'algorithme du remplacement simple il faut soumettre aux blocs eux-mêmes élaborés par le détecteur ПСЧ, et déjà les utiliser à titre de la gamme combinée avec les blocs des données avec l'aide des opérations binaires ° et • :
Ti ' = Ti ° EK (Gi) (зашифрование),
Ti = Ti ' • EK (Gi) (расшифрование),
Où les blocs de la gamme Gi par le montant | Gi | = | T | = N sont élaborés avec l'aide du détecteur des nombres pseudo-accidentels étant, en général, рекуррентным par l'algorithme :
Gi+1 = g (Gi), où g – une certaine fonction, réalisé algorithmiquement.
Quelles exigences doivent être présentées vers ПДПСЧ pour assurer la qualité suffisante du chiffre ? Avant tout nous marquerons que n'est pas demandé криптостойкости, les bons paramètres statistiques pour la succession élaborée, puisqu'ils sont assurés par la suite зашифрованием des blocs selon l'algorithme du remplacement simple.
1. Il est nécessaire que la période de la répétition de la succession générée ПСЧ {Gi} soit assez grande, il vaut mieux – au maximum possible. Au moins, il doit surpasser la plus grande quantité possible de blocs en tableau chiffré. Si partir seulement sur cette exigence, plus convenant il y avait une utilisation du protozoaire des détecteurs possibles, défini par le rapport suivant : Gi+1 = (Gi + 1) mod 2N, ou tout simplement Gi = i mod 2N. Mais le fait est que ce détecteur ПСЧ n'assure pas l'exécution de la deuxième assez importante exigence vers ПДПСЧ :
2. Il est nécessaire que les éléments voisins ou proches selon la disposition de la succession {Gi} il suffit, c'est-à-dire au minimum, dans quelques bits, se distinguaient. Il serait extrêmement désirable que les différences entre eux soient dans chaque octet. Pour le générateur le plus simple proposé dans le point 1, la moitié de la paires des significations voisines se distingue seulement dans un bit : G2i+1 = G2i Å 1.
Le sens de la première exigence devient évident à partir de ce que la méthode гаммирования demande à son origine la gamme à une seule fois, autrement il se révèle facilement selon la ligne algorithmique. Si la période de la répétition de la gamme élaborée est insuffisamment grande, de diverses parties du même long message peuvent se trouver chiffrées avec l'aide des terrains identiques de la gamme. Cela sur beaucoup d'ordres réduit la résistance du chiffre, en faisant sa production facile криптоаналитика. La deuxième exigence est moins évidente, et, généralement parlant, il a lieu seulement pour les chiffres des architectures tout à fait définies, à qui le pas шифрования est la combinaison de quelques transformations relativement simples, au cours de chacun de qui les différences des blocs chiffrés des données augmentent très un peu. C'est pourquoi, si nous soumettrons шифрованию à deux blocs se distinguant seulement dans la seule catégorie binaire, les différences sérieuses entre eux apparaîtront seulement dans quelques tels pas simples que réduit un peu la résistance du chiffre et facilite la tâche криптоаналитика. Certes, en cas de la norme d'État cette réduction non est grande ainsi, mais les concepteurs de l'algorithme ont décidé d'être assurés. Le détecteur ПСЧ entrant dans le standard Russe sur шифрование, suppose le traitement indépendant des moitiés principales et cadettes du bloc élaboré Gi = (Gi, 0 , Gi, 1) :
Gi+1,0 = (Gi, 0 + C0) mod 232,
Gi+1,1 = (Gi, 1 + C1 – 1) mod (232 – 1) + 1,
Où les constantes C0 et C1 ont les significations suivantes à 16-richnoj au système numérique : C0 = 101010116, C1 = 101010416.
Un tel ДПСЧ est un peu plus complexe que le protozoaire, satisfait cependant aux exigences énumérées ci-dessus : la période de la répétition de la succession élaborée avec son aide est assez grande et proche vers maximum, et les blocs reçus avec son aide se distinguent au minimum dans un bit dans chaque octet.
Nous marquerons que l'algorithme donné est simple dans l'atelier d'appareil, ainsi que dans la réalisation de programme, – nous nous rappellerons que tout целочисленные les calculs dans l'ORDINATEUR sont conduits selon le module 2N, où N-razrjadnost' du mot de machine. Le premier de deux rapports se réalise sur tous les types sans exception de 32 bits des processeurs pour une équipe, deuxième, bien qu'ait l'air plus sévèrement, que premier, se réalise en fait un peu plus difficilement lui. Cela devient évident, si de lui inscrire sous la forme suivante :

Sur tous les processeurs de 32 bits connus à l'auteur рекуррентные les rapports à la production de l'élément suivant se réalise de tout pour trois instructions-machine :
|
add |
G0,01010101h |
|
add |
G1,01010104h |
|
adc |
G1,0 |
Les équipes sont données dans la mnémonique de la société Intel pour le processeur produit par elle iAPX386, G0, G1 – 32 битовые les éléments des données – les registres ou les mots doubles à la mémoire, en conséquence les moitiés cadettes et principales du bloc de 64 bits des données, de qui après зашифрования selon l'algorithme du remplacement simple il se trouve le bloc de la gamme.
Il est évident qu'à l'utilisation du régime гаммирования, comme dans n'importe quel autre cas, quand est utilisé рекуррентный le détecteur ПСЧ, l'élément supplémentaire des données G0, le premier à рекуррентной est nécessaire à la succession {Gi}. Pour compliquer certains moyens possibles криптоанализа, dans le standard Russe шифрования l'élément G0 réussit зашифрованием selon l'algorithme du remplacement simple du bloc des données S du même montant | S | = | G0 | = 64, appelé comme le synchroenvoi ou le remplissage initial : G0 = EK (S). Pour шифрования on utilise les blocs de la gamme, à partir de G1. Le synchroenvoi doit être connu à la partie acceptant le message, mais l'exigence de l'originalité de la gamme шифрования, la combinaison absolument définie синхропосылка+ключ, amène à la nécessité d'utiliser le synchroenvoi unique pour chaque message transmis. Puisque son caractère secret n'est pas demandé pour la garantie de la résistance du message, le synchroenvoi est transmis d'habitude dans l'aspect ouvert avec le message chiffré.
Il est évident que гаммирование est la variante потокового шифрования, c'est-à-dire dans le présent paragraphe nous avons construit le mécanisme, permettant de créer потоковые les chiffres à la base de par blocs. Conformément à cela l'algorithme proposé par nous шифрования possède tous les avantages et les manques потоковых des chiffres. Avant tout nous marquerons que гаммирование est libre de plusieurs manques du remplacement simple.
Premièrement, les blocs identiques du texte initial après зашифрования donneront de divers blocs шифротекста que ne facilite pas la tâche криптоанализа à la base seulement шифротекста.
Deuxièmement, comme dans tous les chiffres à la chaîne, le problème du bloc incomplet des données manque. En effet, à зашифровании dernier dans le message du bloc des données Tn du montant incomplet | Tn | < N d'élaboré pour ce bloc de la gamme nous pouvons prendre le fragment du même montant. Cette approche est évidente, si l'opération de l'imposition de la gamme est побитовой, mais peut être appliqué et en certains cas. Il est important que de plus nous recevrons le bloc шифротекста du même montant que le bloc des données initiales. Ainsi, зашифрование selon la méthode гаммирования ne change pas le montant des données chiffrées qu'il arrive dans nombre de cas par l'important.
À troisième, les faits de n'importe quelles manipulations sur les parties криптоблоков, ainsi que sur les blocs entiers, tels, comme leur réarrangement, l'éloignement, le doublage, deviennent évident après расшифрования est se manifeste par celui-là dans une plus grande mesure, que plus surabondance se trouve dans le message chiffré. Particulièrement vivement cet effet se manifeste pour les fichiers de texte – si à telles manipulations soumettre шифрованное au message fait sur un des langues naturelles, après расшифрования nous recevrons le galimatias complet.
гаммирования dans le degré beaucoup plus grand, que le régime du remplacement simple, la propriété de la non-prolifération de l'erreur est inhérente au régime. Si dans le deuxième cas l'erreur se répand dans la limite de tout le bloc changé cryptographique par l'image imprévisible pour le malfaiteur, dans le premier cas son influence sur le bloc correspondant du texte ouvert est pronostiquée relativement facilement que fait possible la modification dirigée des blocs шифротекста. Si les modifications soumettre au bit dans le tableau chiffré гаммированием avec l'utilisation de l'opération побитового excluant, après расшифрования changé se trouvera seulement le même bit dans le texte ouvert.
La propriété indiquée гаммирования est assez désagréable, puisque signifie à son origine que le malfaiteur, en influençant seulement sur шифротекст, peut à son gré changer n'importe quelles catégories dans le texte correspondant ouvert. Autant ce peut être dangereux, nous expliquerons à l'exemple suivant : que le facteur – le malfaiteur transmette шифрованное le message, qu'il ne peut pas déchiffrer, peut y faire cependant les changements arbitraires. Un tel facteur peut être, par exemple, le travailleur de la filiale de la société, servant de communication ЭМВ, destiné à la transmission des messages au siège social de la société. Qu'il transmette un certain document fait en forme du fichier de texte, chiffré en régime гаммирования, à qui, comme il connaît, par 13 positions commence l'inscription d'un certain nombre, par exemple, la somme de sa rémunération de primes. Peut se trouver tout à fait qu'à lui est connue toute la somme ou, quand même sa certaine partie – nous supposerons que l'inscription du nombre commence par le symbole ‘ 1 ’, et le malfaiteur connaît cela. Alors on lui pourra faire parvenir ce chiffre sur l'autre, par exemple – sur ‘ 9 ’. Tout qu'est demandé remplacera pour cela 13-ème octet du message B13 par une nouvelle signification calculée comme il suit : B ' 13 = B13 Å ' 1 ' Å ' 9 '. Par ' 1 ' et ' 9 ' nous avons désigné les codes des chiffres 1 et 9 en conséquence dans ce système du codage, dans qui on prépare le texte du message. Si cela ASCII, il suffit d'invertir seulement un bit du message : B ' 13 = B13 Å 8. Après расшифрования le destinataire recevra le message, dans qui au lieu du chiffre fidèle 1 il y a un chiffre 9, et plus d'aucuns changements est absents! Il est évident que la substitution donnée ne peut pas être découverte, si dans le tableau transmis il n'y a d'aucune information supplémentaire, excepté le message chiffré initial. L'exemple cité illustre encore une fois ce fait que la garantie du caractère secret du message (lui шифрование) n'assure pas même son authenticité, c'est-à-dire l'authenticité. Dans quoi la raison d'une telle particularité гаммирования ? Le fait est que ce régime n'assure pas très désirable pour tous les chiffres du malaxage des bits du message, c'est-à-dire les influences d'un bit du texte initial sur les quelques bits шифротекста.
Une autre particularité гаммирования, compliquant le mécanisme de son utilisation est une nécessité de la garantie de l'originalité de la gamme. Puisque la gamme est définie absolument par la clé et le synchroenvoi, cette paire doit être unique pour chacun шифрованного du document qu'amène à la constance de la clé à la nécessité de la destination à chaque message du synchroenvoi unique. C'est pourquoi n'importe quel procès-verbal шифрования (l'algorithme шифрования d'un plus haut niveau) est entièrement instable à l'analyse à la base d'arbitrairement texte choisi ouvert, si криптоаналитик peut à son gré fixer le synchroenvoi ou utiliser pour шифрования les messages la méthode du remplacement simple.
À la synthèse de l'algorithme par blocs шифрования nous nous heurtions déjà à l'idée d'élaborer la gamme pour шифрования du bloc suivant des données avec l'utilisation d'uns ou quelques blocs précédents des données.
Gi+1 = f (Ti), ou, plus обще :
Gi+1 = f (T1, T2..., Ti).
Près de ce schéma шифрования, ainsi que chez ordinaire гаммирования, il y a un problème de la réception du premier élément de la gamme. Le moyen de sa décision est tout à fait traditionnel : le texte initial est complété avec le bloc fictif non confidentiel T0, la seule destination de qui – être la base pour la production du premier bloc de la gamme : G1 = f (T0).
Comme à гаммировании sans GUÊPES, ce bloc doit être la partie шифрованного les messages :
T ' = (T0, T1 ', T2 '..., Tn ' ).
Si nous avons décidé d'élaborer les blocs de la gamme des blocs du texte initial, il nous est nécessaire de cacher de plus n'importe quelles régularités statistiques de ce texte. Le plus évident et déjà la voie testée pour cela – utiliser la transformation chiffrant, c'est-à-dire l'algorithme du remplacement simple :
Gi = EK (Ti),
Ti ' = Ti Å Gi = Ti Å EK (Ti–1).
Mais l'approche proposée dans son aspect initial possède plusieurs manques de l'algorithme du remplacement simple, pour l'élimination de qui nous, proprement, et avons entrepris de divers perfectionnements du schéma шифрования. Nous ferons l'attention à ce qu'à son utilisation le bloc шифротекста dépend seulement des blocs correspondants et le précédant du texte initial :
Ti ' = Ti Å EK (Ti–1) = f (Ti, Ti–1).
Cela signifie qu'à зашифровании du massif des blocs identiques des données les blocs correspondants шифротекста, à partir du deuxième d'eux, seront aussi identiques sont devient évident de la considération des équations зашифрования :
Ti ' = f (Ti, Ti–1),
Ti ' +1 = f (Ti+1, Ti),
Ti–1 = Ti = Ti+1 ® Ti ' = Ti ' +1.
Comme nous voyons, selon la propriété donnée l'algorithme proposé par nous шифрования n'est pas du tout mieux que le remplacement simple. Cependant on peut le perfectionner très facilement, si pour la production de la gamme utiliser les blocs шифротекста, et non le texte correspondant ouvert :
Gi = EK (Ti '–1),
Ti ' = Ti Å Gi = Ti Å EK (Ti '–1) (зашифрование),
Ti = Ti ' Å Gi = Ti ' Å EK (Ti '–1) (расшифрование).
Maintenant chaque bloc шифротекста dépend non seulement de correspondant, mais aussi de tous les blocs précédant du texte initial :
Ti ' = Ti Å EK (Ti '–1) = f (Ti, Ti '–1), mais
Ti '–1 = Ti–1 Å EK (Ti '–2) = f (Ti–1, Ti '–2), c'est pourquoi
Ti ' = f (Ti, Ti '–1) = f (Ti, Ti–1, Ti '–2) = ... = f (Ti, Ti–1..., T1, T0), où
T0 – Le synchroenvoi.
Le perfectionnement accompli par nous fait гаммирование avec la liaison en retour libre des manques du remplacement simple. En effet, la modification aux blocs шифротекста, ainsi qu'amène la manipulation par les blocs entiers aux changements imprévisibles pour le malfaiteur dans le texte déchiffré, à la suite de quoi il perd la possibilité de donner telles influences d'une manière orientée.
Comme nous avons montré auparavant, tous les blocs précédant du texte initial et le synchroenvoi exercent sur chaque bloc шифротекста à зашифровании l'influence : Ti ' = f (Ti, Ti–1..., T1, T0). Un peu autre, bien que par l'image très semblable aux blocs du texte ouvert reçu à расшифровании, les blocs шифротекста influencent. Pour l'élucidation du caractère de cette influence nous inscrirons encore une fois les équations расшифрования pour deux blocs contigus des données :
Ti = Ti ' Å EK (Ti '–1),
Ti+1 = Ti ' +1 Å EK (Ti ').
De ces équations il est clair que chaque bloc шифротекста à расшифровании exerce l'influence seulement sur deux blocs du texte ouvert : sur le bloc lui correspondant, et sur le bloc suivant lui. Et en outre dans le premier cas cette influence a le même caractère, comme à l'utilisation d'ordinaire гаммирования, mais à deuxième – comme au remplacement simple. Ainsi, si le malfaiteur fait les changements dans le bloc шифротекста, ils se refléteront sur les blocs en cours et suivants du message.
La manifestation de cette influence est confortable d'expliquer à l'exemple du paragraphe précédent : si le message était chiffré selon la méthode гаммирования avec la liaison en retour et on y faisait les changements indiqués dans l'exemple, après расшифрования le destinataire verra le tableau suivant :
· dans le bloc changé tout aussi, comme à ordinaire гаммировании – au lieu du chiffre fidèle un se trouve le neuf imposé par le malfaiteur, et plus d'aucuns changements est absents;
· dans le bloc suivant pour changé, le tableau même, comme au remplacement simple – le bloc représente la combinaison accidentelle absurde des bits;
· tous d'autres blocs sont restés invariables;
Ainsi, le régime гаммирования avec la liaison en retour a les mêmes avantages qu'ordinaire гаммирование, et en même temps est libre de ses manques. Гаммирование des GUÊPES constamment vers les réarrangements des blocs et vers les modifications dirigées шифротекста, si on modifie seulement le bloc non dernier. Autrement dit, le malfaiteur faisant les changements à шифротекст, ne peut pas exactement compter leur influence sur le texte ouvert, si, certes, ne possède pas la clé confidentielle. D'autre part, pour ce régime comme pour le cas particulier гаммирования, le problème de "la queue" – le dernier bloc incomplet des données manque et à la différence de гаммирования sans GUÊPES non est aigu ainsi le problème de l'originalité du synchroenvoi. Nous expliquerons la dernière remarque : en effet, à ordinaire гаммировании la gamme élaborée est définie absolument par le synchroenvoi et la clé : Gi = f (i , T0 , K ), tandis qu'à гаммировании des GUÊPES elle dépend encore et des données chiffrées : Giос = f (i , T0, T1..., Ti–1, K ). C'est pourquoi, si deux messages ne contenant pas les blocs identiques, sont chiffrés avec l'utilisation de la même clé et le synchroenvoi, l'égalité Ti ' Å T~i ' = Ti Å T~i est accomplie seulement à i = 1 que facilite la tâche du décodage seulement le premier, mais aucunement les blocs ultérieurs du message. Cela réduit l'acuité du problème, mais, certes, ne la retire pas entièrement. Si криптоаналитик possède la possibilité de l'analyse à la base du texte arbitraire ouvert, y compris le choix du synchroenvoi, un tel schéma шифрования est instable à l'analyse. Ainsi, et dans ce cas il est nécessaire de prendre soin de l'originalité du synchroenvoi.
En terminant le récit sur гаммировании nous marquerons que le standard Russe шифрования ne prévoit pas aucuns autres régimes шифрования, excepté décrit plus haut. Le standard américain définit encore quelques régimes avec la liaison en retour, cependant ils se distinguent d'une manière désavantageuse de décrit plus haut par ce que pour un appel à la procédure du remplacement simple on chiffre la portion des données t, selon les montants plus petit, que le bloc complet de 64 bits des données de l'algorithme DES, |t | < 64 que, certes, réduit la puissance шифрователя sans augmentation un peu considérable de sa résistance. En outre nous marquerons que tout dit dans le paragraphe donné de l'article il restera fidèle, si au lieu de l'algorithme du remplacement simple conformément à GOST utiliser quelque autre algorithme du remplacement simple – lui peuvent être DES, FEAL, албер etc. – la résistance reçu ainsi потокового du chiffre est définie entièrement par la résistance du chiffre utilisé du remplacement simple.
Comme nous déjà présentions plus d'une fois dans les exemples, шифрование ne peut pas protéger même les données transmises contre la modification. C'est la réflexion de ce fait que le caractère secret et l'authenticité – l'essentiel ¡Ñºáó¿@ß¿¼ÙÑ les propriétés des systèmes cryptographiques. Ainsi, à l'organisation шифрованной le lien doit séparément prendre soin sur имитозащите des données transmises.
Имитозащита il y a une protection du système шифрованной les liens ou l'autre криптосистемы de l'imposition des données fausses.
Puisque nous examinons les systèmes de la protection les informations assurant les caractéristiques nécessaires seulement par voie de la manipulation par l'information indépendamment des propriétés de ses porteurs matériels, la garantie de l'authenticité du message peut être atteinte seulement par le signet à lui la surabondance définie, qui avec le degré suffisant de l'authenticité permettrait de découvrir tout fait à lui par l'image non sanctionnée du changement. Le moyen le plus simple et évident cela faire – ajouter au message le code supplémentaire appelé comme la combinaison de contrôle ou имитовставкой, dépendant de son contenu :
T ~ = (T, Y ), où Y = f (T ).
À la réception du message la partie qui l'a accepté contrôle l'exécution de la condition Y = f (T ), et s'il est juste, le message est considéré original, dans le cas contraire il est rejeté comme faux.
Имитовставка il y a une combinaison de contrôle ajoutée vers transmise ß««íÚÑ@¡¿¯ défensivement du système de l'imposition des données fausses et dépendant de son contenu.
La somme de contrôle des blocs du message selon le module d'un certain nombre peut servir du moyen le plus simple du calcul de la combinaison de contrôle – d'habitude le montant de la combinaison de contrôle est égal au montant des blocs des données :
f (T) = (T1 + T2 +... + Tn) mod 2N, où N = | Ti | – le montant des blocs.
Il est évident cependant que le moyen donné du calcul de la combinaison de contrôle ne convient pas pour имитозащиты, puisque sa contrefaçon ne présente pas le problème spécial. Pour comprendre celui-là, quelles propriétés l'algorithme de la production имитовставки doit posséder, nous examinerons les menaces possibles de l'authenticité des données :
· le malfaiteur peut tenter de changer les données T ® T ~ pour que de ceux-ci имитовставка il restait invariable : f (T) = f (T ~);
· le malfaiteur peut tenter d'approvisionner le message fabriqué par lui T ~ en combinaison correctement calculée de contrôle f (T ~), l'ayant donné celui-ci pour l'original;
N'importe quel schéma pratique имитозащиты doit assurer la protection effective contre deux menaces énumérées ci-dessus, de quoi on ne peut pas dire sur имитовставке – la somme de contrôle.
Pour le calcul d'une telle combinaison de contrôle on peut utiliser soi-disant вычислительно la fonction irréversible. La fonction Y = f (T ) s'appelle вычислительно irréversible, si la définition de telles significations T, pour qui l'équation f (T ) = Y est juste , c'est-à-dire le calcul de la fonction inverse T = f–1 (Y ) вычислительно est impossible. Pratiquement cela signifie, qu'est-ce que c'est la signification T ne peut pas être définie par le moyen plus effectif, que l'excédent selon la multitude de toutes ses significations possibles. Le montant имитовставки Y |Y | = N doit exclure la probabilité un peu signifiante de la contrefaçon fructueuse du message, qui en plus mauvais cas pour l'analyste est égale p = 2–N.
Clairement que la notion de l'irréversibilité calculatoire est formalisée extraordinairement difficilement et c'est pour cela qu'il est pratiquement impossible de contrôler son exécution pour les algorithmes concrets. Le schéma имитозащиты, fondé sur la fonction irréversible, est stable par rapport à la première menace. En effet pour lui réaliser, le malfaiteur doit choisir le message T sous la combinaison donnée de contrôle Y, pour quoi il lui est nécessaire de décider l'équation f (T ) = Y relativement T que selon notre supposition il est impossible pour le temps acceptable. Cependant le schéma donné имитозащиты ne protège pas contre la deuxième menace. Pour faire par son stable à elle, on peut transmettre имитовставку avec le message chiffré sur le même ou une autre clé. La combinaison de contrôle calculée ainsi, dans la littérature étrangère s'appelle le code de la détection des manipulations avec les données (Manipulation Detection Code), et est désigné en abrégé MDC. La fonction irréversible de la compression des données est nécessaire à la réalisation de la méthode donnée вычислительно. Le mot "la compression" assiste dans le nom de la fonction parce qu'indépendamment du montant du message le montant de la combinaison de contrôle est toujours constant, et, naturellement, dans la plupart des cas pratiques il y a moins de montant du message. Cependant le domaine correspondant des mathématiques est tellement complexe que l'irréversibilité calculatoire n'est pas prouvée formellement pour un algorithme utilisé pratiquement de la compression des données. Dans le standard Russe sur шифрование et имитозащиту des données l'approche à la base de MDC n'a pas trouvé la réflexion.
Pour que le malfaiteur ne puisse pas réaliser aucune des menaces énumérées ci-dessus accessibles à lui selon la violation de l'intégrité des données, il suffit d'assurer l'impossibilité du calcul par celui-ci de la combinaison de contrôle f (T ) pour n'importe quel texte T. Pour cela il faut faire simplement l'algorithme de son calcul f (T ) par l'élément confidentiel криптосистемы. La mise en pratique successive du principe de Kirhgofa amène au schéma, dans qui la fonction f n'est pas confidentielle elle-même, mais dépend du vecteur des paramètres confidentiels – la clé K :
I = f (K , T ) = f (K, T1..., Tn), où
T = (T1..., Tn) – le texte initial cassé aux blocs du montant fixé. La combinaison élaborée par ce moyen de contrôle a reçu le nom du code аутентификации des messages (Message Autentification Code) et est désigné en abrégé MAC. Dans la littérature nationale elle est appelée parfois (pas tout à fait correctement) la somme cryptographique de contrôle. Comment à nous réaliser cette fonction f (K , T ) ? Il y a À notre disposition un algorithme de la transformation cryptographique I = EK (T ) (le remplacement simple), qui possède nécessaire à la construction des fonctions semblables les propriétés, permet de travailler cependant seulement avec les blocs du texte du montant fixé | T | = N.
La première idée, qui vient à la tête, cela chiffrer la somme de contrôle calculée par l'image ordinaire. Cependant l'inconsistance d'une telle approche est évidente – il nous permet de se défendre du deuxième des menaces amenées, cependant protège pas tout à fait de premier. En effet, le malfaiteur disposant d'un certain message saisi auparavant à ouvert, ainsi que sous la forme chiffrée avec имитовставкой, peut imposer sans effort un tel ¬Ó¿»Ô«@ß¿ßÔÑ¼Ñ la nouvelle fausse – pour cela il fabrique le message avec l'exactement même somme de contrôle que trouvant à lui, et approvisionne en son même имитовставкой. Seul que peut empêcher le malfaiteur dans cela, c'est l'impossibilité est correct chiffrer le message fabriqué. Cependant nous ne pouvons pas espérer sur cela – l'exigence de la garantie de l'authenticité du message indépendamment de son caractère secret reste dans la force.
Notre première approche de la tâche de la construction de l'algorithme du calcul имитовставки s'est trouvée mauvaise. Nous l'essaierons un peu améliorer : d'abord nous chiffrerons les blocs du message, et seulement puis trouver la somme de contrôle reçu шифроблоков :
f (T) = (EK (T1) + EK (T2) +... + EK (Tn)) mod 2N.
L'approche donnée est stable selon ces lignes, selon qui se révélait précédent, cependant et il a le faible évident : ne réagit aucunement au réarrangement possible des blocs шифротекста. L'élimination de ce manque peut tenter au lieu de la sommation utiliser une autre fonction non commutable de la combinaison des blocs, cependant cela engendre la multitude de divers problèmes désagréables et c'est pour cela que l'approche donnée n'a pas trouvé l'application pratique.
Comment à nous entrer dans la conjoncture présente ? Ici c'est le moment idéal se rappeler sur le régime гаммирования avec la liaison en retour – en ce régime chaque bloc шифротекста dépend de tous les blocs du texte initial du premier jusqu'à correspondant à lui. Donc le dernier bloc шифротекста dépend de tous les blocs du texte initial, la clé confidentielle et, en plus, est stable aux réarrangements possibles des blocs шифротекста, devant qui a cédé la variante précédente. Ainsi, nous pouvons tenter de l'utiliser en qualité имитовставки :
I = Tn ' = f (Tn, Tn '–1) = f (Tn, Tn–1, Tn '–2) =... = f (Tn, Tn–1..., T1, T0).
De plus il faut faire, cependant, l'attention à deux objets :
· le synchroenvoi pour le calcul имитовставки n'est pas nécessaire – on peut commencer la transformation directement par le premier bloc des données : I = Tn Å EK (Tn–1 Å EK (... EK (T1)...));
· le schéma donné est vulnérable selon le dernier bloc – en effet, le résultat final pour имитовставки se forme побитовым par la sommation selon le module 2 derniers blocs des données avec un certain code dépendant de tous les blocs précédents : I = Tn ' = Tn Å EK (Tn '–1) est signifie que le malfaiteur peut fabriquer le message arbitraire, et puis lui ajouter encore un bloc calculé selon la formule Tn = I Å EK (Tn '–1) pour que la combinaison de contrôle pour lui soit égale à la signification donnée I;
Il est facile de prendre en considération les remarques données – il faut seulement changer l'ordre de l'utilisation sur chaque pas des opérations побитового excluant ou et le remplacement simple, – alors l'algorithme du calcul имитовставки aura l'air comme il suit : I = EK (Tn Å EK (Tn–1 Å ... EK (T1)...))).
L'utilisation en qualité имитовставки du dernier bloc reçu à шифровании du tableau гаммированием avec la liaison en retour, ou quelque fonction de lui, peut faire certains procès-verbaux cryptographiques par les inconsistants. Cela a lieu, si pour зашифрования du texte et la production имитовставки on utilise le même algorithme – гаммирование avec la liaison en retour, et la même clé. Nous montrerons que ce schéma n'assure pas имитостойкости. Que le message T = (T1, T2..., Tn) est chiffré sur la clé K selon l'algorithme гаммирования des GUÊPES : T ' = (T1 ', T2 '..., Tn ' ). Qu'à titre du code аутентификации on utilise calculé selon le même algorithme et sur la même clé le code I, il est évident T = Tn '. Alors complet шифрованное le message avec le code аутентификации a l'air le suivant : T ~ ' = (T ', I) = (T1 ', T2 '..., Tn ', Tn '). Si le malfaiteur fait les changements à шифротекст, néanmoins notre schéma аутентификации ne découvrira pas les changements, bien que, reçu à расшифровании le texte soit très éloigné du véritable. La raison de cela se trouve dans ce que l'égalité du dernier bloc шифротекста de la combinaison de contrôle ici sert du critère de l'authenticité du message, mais il est relativement facile d'assurer cela. La situation ne s'améliorera pas foncièrement, si au lieu du directement dernier bloc шифротекста en qualité имитовставки utiliser la fonction de lui, reçu que même avec l'aide de l'algorithme du remplacement simple : I = EK (Tn ').
Ainsi, les schémas cryptographiques, à qui имитозащита n'est pas séparée de шифрования, c'est-à-dire à titre du code аутентификации on utilise la partie шифротекста ou la fonction calculée avec l'utilisation seulement d'une telle partie, peuvent se trouver instable à la manipulation avec шифротекстом. Il faut D'ici qu'il y a deux voies de l'élimination du manque indiqué :
· utiliser pour le calcul имитовставки divers криптоалгоритмы, ou de divers régimes du même algorithme;
· utiliser pour шифрования et les calculs имитовставки de diverses clés;
L'utilisation de deux clés au lieu d'un est pas tout à fait confortable, c'est pourquoi les créateurs de la norme d'État sont allés selon la première voie – ils ont élaboré l'algorithme séparé EK ', destiné uniquement pour le calcul имитовставки. Si pour шифрования par le remplacement simple sur chaque pas on utilise le cycle 32-Z, exprimé aux termes de la composition des transformations simples (voir le paragraphe 4 du présent article) comme il suit : au
calcul имитовставки on utilise le cycle simplifié 16-Z, les 16 pas contenant les premiers du cycle 32-Z :
. L'algorithme simplifié du calcul имитовставки permet d'atteindre environ la puissance deux fois plus grande en comparaison des régimes шифрования.
D'autres différences de l'algorithme du calcul имитовставки de l'algorithme гаммирования avec la liaison en retour sont conditionnées par les raisons amenées auparavant et consistent en suivant :
· on n'utilise pas le synchroenvoi;
· la combinaison du code avec les données avec l'aide de la fonction Å se réalise non après, mais jusqu'au pas криптопреобразования : I0 = 0, Ii = EK ' (Ii–1 Å Ti), i = 1,2..., n.
La deuxième propriété élimine la vulnérabilité имитовставки selon le dernier bloc du message.
Nous marquerons qu'en qualité имитовставки tout peut se mettre, mais seulement la partie du bloc reçu In : I = ( In ) 1... L, où L = | I | – le montant имитовставки. En général, c'est 32 bits cadets du bloc In. Le montant имитовставки L définit la probabilité de l'imposition fructueuse des données fausses, qui est égale p = 2–L. En conclusion du paragraphe donné nous marquerons qu'en régime du calcul имитовставки la norme d'État permet d'ajouter au début du texte ses paramètres d'escompte, tels, comme la date de la dernière modification du fichier et son montant, etc. : I (T) = I (U, T), où U – le vecteur des paramètres d'escompte.
La conclusion.
Sur cela l'auteur est obligé de mettre le point, bien que sans considération il y avait un grand nombre des importantes questions on ne pas du tout abordait pas, en particulier, les questions de la réalisation du standard Russe en forme de l'appareil ou les programmes d'ordinateur présentant ces derniers temps le plus grand intérêt au large usage des spécialistes. Néanmoins l'auteur espère que l'article donné sera utile à tous les intéressés par les méthodes cryptographiques de la protection de l'information. À titre du complément de l'article l'ensemble des équations pour tous les régimes криптопреобразований conformément à GOST 28147-89, étant se joint au fond la description formelle et assez complète du standard.
La littérature.
1. Дж. L.Messi. L'introduction à moderne криптологию. ТИИЭР, т.76, №5, Mai 88, М, le Monde, 1988, s 24–42.
2. M d' E.Smid, D.K.Bransted. Le standard шифрования des données : le passé et le futur. ТИИЭР, т.76, №5, Mai 88, М, le Monde, 1988, s 43–54.
3. U.Diffi. Les premiers dix ans de la cryptographie avec la clé ouverte. ТИИЭР, т.76, №5, Mai 88, М, le Monde, 1988, s 54–74.
4. A.N.Lebedev. La cryptographie avec la clé ouverte et la possibilité de son application pratique. Par celui-là. Сб. «La Protection de l'information», вып. 2, M 1992, s 129–147.
5. Mais. V.Spesivtsev etc. la Protection de l'information dans les ordinateurs personnels. М, les Radios et le lien, 1992, s 140–149.
6. La norme d'État 28147–89. Les systèmes du traitement de l'information. La protection cryptographique. L'algorithme de la transformation cryptographique.
7. S de Maftik. Les mécanismes de la protection dans les réseaux de l'ORDINATEUR. М, le Monde, 1992.
8. V.Zhel'nikov. La cryptographie du papyrus à ordinateur. М, ABF, 1996.
¤Ёшыюцхэшхаааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа les Équations des transformations cryptographiques est d'accord la norme d'État 28147-89
|
Le régime |
L'équation зашифрования |
L'équation расшифрования |
L'information supplémentaire |
|
Le remplacement simple |
Ti ' = EK (32) (Ti), 1 £ i £ n |
Ti = DK (32) (Ti '), 1 £ i £ n |
— |
|
Гаммирование |
Ti ' = Ti Å EK (32) (Gi), 1 £ i £ n |
Ti = Ti ' Å EK (32) (Gi), 1 £ i £ n |
G0 = EK (S), Gi = (Gi, 0, Gi, 1), 0 £ i £ n Gi, 0 = (Gi–1,0 + C0) mod 232, 1 £ i £ n Gi, 1 = (Gi–1,1 + C1 – 1) mod (232 – 1) + 1, 1 £ i £ n, C0 = 101010116, C1 = 101010416. |
|
Гаммирование avec la liaison en retour |
Ti ' = Ti Å EK (32) (Ti '–1), 1 £ i £ n |
Ti = Ti ' Å EK (32) (Ti '–1), 1 £ i £ n |
T0 ' = S. |
|
La production имитовставки |
— |
— |
I0 = 0, Ii = EK (16) (Ii–1 Å Ti), 1 £ i £ n, I = (In) 1. L |
Les explications :
Ti, Ti ' – i-tyj le bloc du texte ouvert et chiffré en conséquence;
Le S-synchroenvoi – le tableau par le montant | S | = 64 bits;
I-imitovstavka – Le tableau par le montant L pas plus de 64 bats : L = | I | < 64;
EK (32) = (G1SG2S... SG8S) 3 (G8S... SG2SG1) – la transformation du cycle зашифрования (32-Z);
DK (32) = (G1SG2S... SG8S) (G8S... SG2SG1) 3 – la transformation du cycle расшифрования (32-R);
EK (16) = (G1SG2S... SG8S) 2 – la transformation du cycle de la production имитовставки (32-Z);
S (T0, T1) = (T1, T0) – l'opération du réarrangement des moitiés principales et cadettes de 32 bits du bloc convertible des données;
Gi (T0, T1) = (T0, T1 Å fH (T0, Ki)) – l'opération d'un pas de la transformation du bloc de 64 bits des données, 1 £ i £ 8;
fH (t, k) = R¬11 (CH ((t + k) mod 232)) – la fonction шифрования, le bloc t-convertible des données k-utilisé sur le pas l'élément de la clé – les blocs de 32 bits des données : | t | = | k | = 32;
R¬11 – L'opération de la rotation (le progrès cyclique) le bloc de 32 bits des données sur 11 bits à gauche (à l'écart des bits principaux);
CH – l'opération de la transformation du bloc de 32 bits des données, consistant à поблочной à la substitution des groupes de 4 bits des données selon le tableau des remplacements H = {hi, j} 1 £ i £ 8,1 £ j £ 16 :
;