Andreï Vinokurov.

L'algorithme шифрования la norme d'État 28147-89, son utilisation et la réalisation pour les ordinateurs du quai Intel x86.

L'article proposé à votre attention contient la description de l'algorithme accepté à titre du standard шифрования en Fédération de Russie et sa réalisation pour les processeurs de la famille Intel x86, ainsi que la discussion des diverses questions de son utilisation pratique. La partie des documents qui sont entrés dans l'article donné était publiée dans la revue "le Moniteur" №1,5 en 1995.

Le contenu

Au lieu de la préface...................................................................................................................... 2

1. La description de l'algorithme.................................................................................................................

1.1. Les termes et les désignations.....................................................................................................

1.2. La logique de la construction du chiffre et la structure de l'information clé de la norme d'État.......................

1.3. Le pas principal криптопреобразования.............................................................................

1.4. Les cycles de base des transformations cryptographiques.....................................................

1.5. Les régimes principaux шифрования.......................................................................................

2. La discussion des algorithmes cryptographiques de la norme d'État..........................................................

2.1. La résistance cryptographique de la norme d'État............................................................................

2.2. Les remarques sur l'architecture de la norme d'État...................................................................................

2.3. Les exigences à la qualité de l'information clé et les sources des clés.........................

3. Les remarques sur la réalisation.......................................................................................................

3.1. Trois pas de l'optimisation.....................................................................................................

3.2. La description des fonctions et la particularité de la réalisation............................................................

3.3. La question de la puissance...................................................................................................

4. Les questions de l'utilisation du standard........................................................................................

4.1. La sécurité de la réalisation...................................................................................................

4.2. Les versions au sujet de la norme d'État................................................................................................

4.3. Le travail extraordinaire de la gamme cryptographique...............................................................


Au lieu de la préface.

Ce que l'information a la valeur, les gens se sont rendus compte il y a bien longtemps – non sans raison la correspondance des grandes familles était depuis longtemps l'objet de l'attention fixe de leurs ennemis et les amis. Alors est apparue la tâche de la protection de cette correspondance d'excessivement des yeux curieux. Ancien tentaient d'utiliser pour la décision de cette tâche les plus diverses méthodes, et un d'eux était тайнопись – le savoir-faire de faire les messages pour que son sens soit inaccessible à personne excepté mis le secret. Il y a des certificats à ce que l'art тайнописи est né encore à доантичные les temps. À la longueur de toute l'histoire de plusieurs siècles, jusqu'au temps tout à fait récent, cet art servait quelque, pour l'essentiel au groupe dirigeant de la société, sans dépasser les frontières des résidences des chefs des États, les ambassades et – certes! – les missions de reconnaissance. Et seulement quelques décennies en arrière tout ont changé radicalement – l'information a acquis la valeur indépendante commerciale et est devenue la marchandise largement répandue, presque ordinaire. La produisent, gardent, transportent, vendent et achètent, et donc – volent et falsifient – et, donc, il est nécessaire de la protéger. La société moderne tout devient dans une plus grande mesure informatsionno-conditionnée, le succès de toute sorte d'activité tout dépend plus fortement de la possession par les informations définies et de leur absence chez les concurrents. Et se manifeste plus fortement l'effet indiqué, les pertes plus grand potentielles des abus dans la sphère d'information, et sont plus grandes le besoin de la protection de l'information. Bref, l'apparition de l'industrie du traitement de l'information avec la nécessité de fer a amené à l'apparition de l'industrie des moyens de la protection de l'information.

Parmi tout le spectre des méthodes de la protection des données de l'accès indésirable la place spéciale est occupée par les méthodes cryptographiques. À la différence d'autres méthodes, ils s'appuient seulement sur les propriétés de l'information et n'utilisent pas la propriété de ses porteurs matériels, la particularité des noeuds de son traitement, la transmission et la conservation. En disant d'une façon imagée, les méthodes cryptographiques construisent la barrière entre l'information protégée et le malfaiteur réel ou potentiel de l'information. Certes, sous la protection cryptographique en premier lieu – ainsi vraiment s'est formé historiquement – il sous-entend шифрование des données. Plus tôt, quand cette opération était accompli par la personne à la main ou avec l'utilisation des diverses adaptations, et aux ambassades les services populeux des crypteurs se trouvaient, le développement de la cryptographie se retenait par le problème de la réalisation des chiffres, en effet, on pouvait inventer a changé tout ce que vous voulez, mais comme lui réaliser … l'Apparition des calculateurs électroniques en chiffre qui ont amené en fin de compte à la création d'une puissante industrie d'information tout radicalement et dans cette sphère. D'une part, les cambrioleurs des chiffres ont reçu aux mains l'extraordinairement puissant instrument, d'autre part, la barrière de la complexité de la réalisation a disparu et pour les créateurs des chiffres se sont ouvertes les perspectives pratiquement illimitées. Tout cela a défini le progrès précipité de la cryptographie aux dernières décennies.

Comme tout État respectant, la Fédération de Russie a le standard шифрования. Ce standard est fixé par la norme d'État №28147-89, accepté, comme est évident de sa désignation, encore en 1989 en URSS. Cependant, sans doute, l'histoire de ce chiffre beaucoup plus ancien. Le standard est né hypothétiquement dans les couches profondes de la huitième administration centrale de KGB de l'URSS transformée à présent à ФАПСИ. J'avais l'occasion de causer avec les gens affirmant qu'encore dans les années 70 ils participaient aux projets de la création des réalisations de programme et de matériel de ce chiffre pour de divers quais informatiques. À cette époque il avait la griffe «des Chouettes. Confidentiellement», plus tard la griffe était changée sur "confidentiellement", puis est retiré tout à fait. Sur mon exemplaire de la norme d'État il y avait seulement une marque modeste «ДСП». Malheureusement, à la différence du standard, l'histoire de sa création et les critères de la conception du chiffre restent jusqu'ici le secret après sept sceaux.

L'utilisation possible de la norme d'État dans vos élaborations personnelles met une série de questions. La question le premier – si est absente des obstacles juridiques pour cela. La réponse ici le temps mort – tels obstacles est absente vous pouvez librement utiliser la norme d'État, il n'est pas breveté, donc, on n'a personne à demander aux permissions. De plus, vous avez sur ce droit complet moral comme les héritiers de ceux qui a payé l'élaboration du standard de la poche, – avant tout je pense à vos parents. Les décisions correspondantes du gouvernement de rien nouveau n'apportent pas le décret connu du Président de la Russie №334 de 03.04.95 et à ce tableau. Bien qu'ils interdisent formellement l'élaboration des systèmes contenant les moyens криптозащиты juridiques et les personnes physiques, n'ayant pas la licence de cet aspect de l'activité, mais réellement le décret se répand seulement au cas des secrets d'État donnés, faisant le secret bancaire etc. donc il agit seulement là, où la pièce de papier est nécessaire que «les données sont protégées».

Bien, avec la compétence de l'application de la norme d'État ont compris, maintenant nous nous arrêterons sur la question de l'opportunité – avant tout, si nous pouvons croire à cet engendrement du Lubyanka sombre, si les compagnons чекисты n'ont pas inséré les trous dans les algorithmes шифрования ? C'est très peu probable, puisque la norme d'État était créée à cette époque, quand son utilisation en dehors des objets d'État de régime était incroyable. D'autre part, la résistance de l'algorithme cryptographique on ne peut pas confirmer, on peut seulement la démentir par l'effraction. C'est pourquoi, plus âgé algorithme, est plus grand que les chances de ce que, si vraiment il n'est pas forcé jusqu'ici, il ne sera pas forcé et dans le futur plus proche accessible. Sous cette lumière toutes les conversations sur les derniers «les élaborations originales» «les enfants talentueux» ne peuvent pas être en principe sérieux – chaque chiffre doit subir le contrôle le jour. Mais en effet, des chiffres qui ont subi le contrôle semblable il y a notoirement plus d' un – excepté la norme d'État en effet, est encore et DES, son frérot principal américain, est d'autres chiffres. Pourquoi alors la norme d'État ? Certes, en plusieurs cas cette affaire des partialités personnelles, mais il faut se rappeler encore et ce que la norme d'État selon la plupart des paramètres surpasse tous ces algorithmes, y compris DES. Et, finalement, où notre Patriotisme Russe ?!

Une large utilisation de la norme d'État dans les élaborations des programmeurs Russes empêche, à mon avis, le manque de l'information publiée sur lui, ainsi qu'une certaine auréole du mystère formée autour de lui est habile par quelqu'un soutenu. En fait rien complexe dans le chiffre est absent, il est accessible pour la compréhension et la réalisation au programmeur de n'importe quel niveau, mais, comme à tout autre, pour la création en effet une bonne réalisation doit être le professionnel. Je travaillais avec la norme d'État comme le programmeur avec 91 jusqu'à 94 an, et pour ce temps chez moi a résulté très réussi (eh bien, comme ne pas se louer!) sa réalisation de programme pour les processeurs de la famille Intel x86, approchant selon la puissance vers l'optimum possible.

Le but du présent article est la connaissance tout intéressé avec l'algorithme et sa réalisation sur le quai Intel x86. J'accorde la réalisation élaborée par moi de la norme d'État à la propriété sociale, elle peut être utilisée par chacun à la condition de la référence à ma paternité. Le texte du présent article peut sans restriction se répandre dans l'aspect typographique et électronique dans celui-là et seulement dans le cas où ce n'est pas associé directement ou indirectement avec l'extrait du bénéfice, on demande dans le cas contraire ma permission écrite.

L'article comprend quatre parties. La première partie contient la description, mais deuxième – la discussion de l'algorithme, les troisièmes et quatrièmes parties contiennent en conséquence la description de sa réalisation et la discussion de certains aspects de son application. Donc, nous commencerons...

1. La     description de l'algorithme.

1.1. Les     termes et les désignations.

La description du standard шифрования de la Fédération de Russie se trouve dans le document très intéressant intitulé «l'Algorithme de la transformation cryptographique des données la norme d'État 28147-89». Ce que dans son nom au lieu du terme «шифрование» figure la notion plus totale «la transformation cryptographique», n'est pas du tout accidentel. En dehors de quelques procédures étroitement liées шифрования, dans le document un est décrit construit sur les principes totaux avec eux l'algorithme de la production имитовставки. Dernier est non que l'autre, comme la combinaison cryptographique de contrôle, c'est-à-dire le code élaboré des données initiales avec l'utilisation de la clé confidentielle avec le but имитозащиты, ou les protections des données contre le dépôt à eux des changements non sanctionnés.

Sur de divers pas des algorithmes de la norme d'État les données, qu'ils manient, sont interprétées et sont utilisés par une diverse image. Dans certains cas les éléments des données sont travaillés comme les massifs des bits indépendants, dans d'autres cas – comme la nombre entière sans signe, à troisième – comme l'élément complexe ayant la structure comprenant quelques éléments plus simples. C'est pourquoi pour éviter la confusion il faut se mettre d'accord sur les désignations utilisées.

Les éléments des données dans l'article donné sont désignés par les lettres initiales latines avec le tracé incliné (par exemple, X). Par |X | on désigne le montant de l'élément des données X dans les bits. Ainsi, si interpréter l'élément des données X comme le nombre entier non négatif, on peut inscrire l'inégalité suivante : 0£X <2|X |.

Si l'élément des données comprend quelques éléments du plus petit montant, ce fait est désigné comme il suit : X = (X0, X1..., Xn-1) = X0 || X1 ||... || Xn-1. La procédure du groupement de quelques éléments des données à un s'appelle конкатенацией des données et est désigné par le symbole ||. Naturellement, pour les montants des éléments des données on doit accomplir le rapport suivant : |X | = | X0 | + | X1 | +... + |Xn-1 |. Au devoir des éléments complexes des données et l'opération конкатенации les éléments faisant des données sont énumérés dans l'ordre de l'augmentation de l'ancienneté. Autrement dit, si interpréter le composant et tous les éléments entrant dans lui des données comme les nombres entières sans signe, on peut inscrire l'égalité suivante :

Dans l'algorithme l'élément des données peut être interprété comme le massif des bits séparés, dans ce cas les bits est désigné devant la même lettre que le massif, mais dans la variante sur ligne, comme c'est indiqué sur l'exemple suivant :

X = (x0, x1..., xn1) = x0+21·x1 +... +2n–1·xn–1.

Si sur les éléments des données on accomplit une certaine opération ayant le sens logique, il est supposé que l'opération donnée est accomplie sur les bits correspondants des éléments. Autrement dit AB = (a0b0, a1b1..., an-1•bn-1), où n = | A | = | B |, mais le symbole “” on désigne l'opération arbitraire binaire logique; en général, on pense l'opération excluant ou, elle – l'opération de la sommation du module 2 : aÅb = (a+b) mod 2.

1.2. La     logique de la construction du chiffre et la structure de l'information clé de la norme d'État.

Si étudier attentivement l'original de la norme d'État 28147–89, on peut remarquer qu'il contient la description des algorithmes de quelques niveaux. Sur supérieur il y a des algorithmes pratiques destinés pour шифрования des tableaux et la production à eux имитовставки. Ils s'appuient sur trois algorithmes du niveau inférieur appelés dans le texte de la norme d'État comme les cycles. Ces algorithmes fondamentaux sont mentionnés dans l'article donné comme les cycles de base pour les distinguer de tous d'autres cycles. Ils ont les noms suivants et les désignations, dernier sont amenés dans les parenthèses et leur sens sera expliqué plus tard :

· le      cycle зашифрования (32-Z);

· le      cycle расшифрования (32-R);

· le      cycle de la production имитовставки (16-Z).

À son tour, chacun des cycles de base représente la répétition multiple de la procédure unique appelée pour la précision ensuite dans le vrai travail comme le pas principal криптопреобразования.

Pour que comprendre la norme d'État, il faut comprendre trois objets suivants :

Qu'est-ce que c'est le pas principal криптопреобразования;

Comme les pas principaux forment les cycles de base;

Comme trois cycles de base forment tous les algorithmes pratiques de la norme d'État.

Avant de passer à l'étude de ces questions, il faut parler de l'information clé utilisée par les algorithmes de la norme d'État. Conformément au principe de Kirhgofa, à qui satisfont tous les chiffres modernes connus à la large opinion publique, notamment son caractère secret assure le caractère secret du message chiffré. Dans la norme d'État l'information clé comprend deux structures des données. En dehors de proprement clé nécessaire à tous les chiffres, elle contient encore et le tableau des remplacements. On plus bas amène les caractéristiques principales des structures clés de la norme d'État.

1. La clé est le massif de huit éléments de 32 bits du code, ensuite dans le vrai travail il est désigné par le symbole К:. Dans la norme d'État les éléments de la clé sont utilisés comme les nombres entières de 32 bits sans signe :. Ainsi, le montant de la clé fait 32·8=256 le bit ou 32 octets.

2. Le tableau des remplacements est la matrice 8'16, contenant les éléments de 4 bits, que l'on peut présenter en forme des nombres entières de 0 jusqu'à 15. Les lignes du tableau des remplacements s'appellent les noeuds des remplacements, ils doivent contenir de diverses significations, c'est-à-dire chaque noeud des remplacements doit contenir 16 divers nombres de 0 jusqu'à 15 dans l'ordre arbitraire. Dans le présent article le tableau des remplacements est désigné par le symbole H :. Ainsi, le volume total du tableau des remplacements est égal : 8 noeuds ´ 16 éléments/noeuds ´ 4 bat/élément = 512 bits ou 64 octets.

1.3. Le     pas principal криптопреобразования.

Le pas principal криптопреобразования est à son origine l'opérateur définissant la transformation du bloc de 64 bits des données. Le paramètre supplémentaire de cet opérateur est le bloc de 32 bits, en qualité de qui on utilise quelque élément de la clé. Le schéma de l'algorithme du pas principal est amené sur le dessin 1. On plus bas donne les explications vers l'algorithme du pas principal :

Øàã 0.         Définit les données initiales pour le pas principal криптопреобразования :

·                          N – le bloc convertible de 64 bits des données, au cours de l'exécution de son pas cadet (N1) et principal (N2) les parties sont travaillées comme les nombres entières séparées de 32 bits sans signe. Ainsi, on peut inscrire N = (N1, N2).

·                          X – l'élément de 32 bits de la clé;

Øàã 1. L'        addition avec la clé. La moitié cadette du bloc convertible se forme selon le module 232 avec l'élément utilisé sur le pas de la clé, le résultat est transmis au pas suivant;

Øàã 2. Le         remplacement Poblochnaja. La signification de 32 bits reçue sur le pas précédent, est interprétée comme le massif de huit blocs de 4 bits du code : S = (S0, S1, S2, S3, S4, S5, S6, S7).

Ensuite la signification de chacun de huit blocs est remplacée sur nouveau, qui sort selon le tableau des remplacements comme il suit : la signification du bloc Si est remplacée sur Si-tyj par ordre l'élément (le numérotage du zéro) I noeuds des remplacements (i.e. I lignes du tableau des remplacements, le numérotage aussi du zéro). En d'autres termes, à titre du remplacement pour la signification du bloc l'élément sort du tableau des remplacements avec le numéro de ligne égal au numéro du bloc remplacé, et le numéro столбца, égal à la signification du bloc remplacé comme du nombre de 4 bits entier non négatif. Maintenant il y a clair un montant du tableau des remplacements : le nombre des lignes dans elle est égal au nombre des éléments de 4 bits en bloc de 32 bits donné, c'est-à-dire de huit, mais le nombre столбцов est égal au nombre des diverses significations du bloc de 4 bits des données, égal comme on le sait 24, seize.

Fig. 1. Le schéma du pas principal криптопреобразования de l'algorithme la norme d'État 28147-89.

Øàã 3. Le         progrès cyclique sur 11 bits à gauche. Le résultat du pas précédent démarre d'une manière cyclique sur 11 bits à l'écart des catégories principales et est transmis au pas suivant. Sur le schéma de l'algorithme le symbole Q11 désigne la fonction du progrès cyclique de l'argument sur 11 bits à l'écart des catégories principales.

Øàã 4. L'        addition Pobitovoe : la signification reçue sur le pas 3, побитно se forme selon le module 2 avec la moitié principale du bloc convertible.

Øàã 5. Le         progrès selon la chaîne : la partie cadette du bloc convertible démarre à la place de principal, mais sur sa place se place le résultat de l'exécution du pas précédent.

Øàã 6. La         signification reçue du bloc convertible revient comme le résultat de l'exécution de l'algorithme du pas principal криптопреобразования.

1.4. Les     cycles de base des transformations cryptographiques.

Comme est marqué au début du présent article, la norme d'État se rapporte à la classe des chiffres par blocs, c'est-à-dire l'unité du traitement de l'information dans lui est le bloc des données. Donc, tout à fait logiquement s'attendre que dans lui on définit les algorithmes pour les transformations cryptographiques, c'est-à-dire pour зашифрования, расшифрования et "le compte" dans la combinaison de contrôle d'un bloc des données. Notamment ces algorithmes s'appellent les cycles de base de la norme d'État que souligne leur signification fondamentale pour la construction de ce chiffre.

Les cycles de base sont construits des pas principaux de la transformation cryptographique examinée dans le paragraphe précédent. En train de l'exécution du pas principal on utilise seulement un élément de la clé, pendant que la clé la norme d'État contient huit tels éléments. Donc pour que la clé soit entièrement utilisée, chacun des cycles de base doit plusieurs fois accomplir le pas principal avec ses divers éléments. D'autre part il semble tout à fait naturel que dans chaque cycle de base tous les éléments de la clé doivent être utilisés le nombre identique des fois, selon les considérations de la résistance du chiffre ce nombre doit être plus d'un.

Toutes les suppositions faites plus haut s'appuyant simplement sur le bon sens, se sont trouvées fidèles. Les cycles de base consistent en exécution multiple du pas principal avec l'utilisation des différents éléments de la clé et se distinguent seulement du nombre des répétitions du pas et l'ordre de l'utilisation des éléments clés. On plus bas amène cet ordre pour de divers cycles.

1. Le   cycle зашифрования 32-Z :

K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7,K7,K6,K5,K4,K3,K2,K1,K0.

2. Le   cycle расшифрования 32-R :

K0,K1,K2,K3,K4,K5,K6,K7,K7,K6,K5,K4,K3,K2,K1,K0,K7,K6,K5,K4,K3,K2,K1,K0,K7,K6,K5,K4,K3,K2,K1,K0.

3. Le   cycle de la production имитовставки 16-Z :

K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7.

Chacun des cycles a la désignation personnelle alphanumérique correspondant au cliché «n-X», où le premier élément de la désignation (n), donne le nombre des répétitions du pas principal dans le cycle, mais le deuxième élément de la désignation (X), la lettre, donne l'ordre зашифрования («З») ou расшифрования («Р») dans l'utilisation des éléments clés. Cet ordre a besoin de l'explication supplémentaire :

Le cycle расшифрования doit être inverse au cycle зашифрования, c'est-à-dire l'application successive de ces deux cycles vers le bloc arbitraire doit donner au total le bloc initial que se reflète par le rapport suivant : Ц32-Р (Ц32-З (T)) =T, où T – le bloc arbitraire de 64 bits des données, ЦX (T) – le résultat de l'exécution du cycle X sur le bloc des données T. Pour l'exécution de cette condition pour les algorithmes semblables à la norme d'État, il est nécessaire et assez que l'ordre de l'utilisation des éléments clés par les cycles correspondants soit mutuellement inverse. Il est facile de se persuader de la justice de la condition inscrite pour le cas examiné, ayant comparé les successions mentionnées ci-dessus pour les cycles 32-Ç è 32-Ð. Du dit découle une conséquence intéressante : la propriété du cycle d'être inverse à un autre cycle est mutuel, c'est-à-dire le cycle 32-Z est l'inverse par rapport au cycle du 32-rouble En d'autres termes, зашифрование du bloc des données peut être théoriquement accompli avec l'aide du cycle расшифрования, dans ce cas расшифрование du bloc des données doit être accompli par le cycle зашифрования. De deux cycles mutuellement inverses chacun peut être utilisé pour зашифрования, alors deuxième doit être utilisé pour расшифрования des données, cependant le standard ГОСТ28147-89 fixe les rôles après les cycles et n'accorde pas à l'utilisateur du droit du choix dans cette question.

аааааааааааааааааааааа

Fig. 2а. Le schéma du cycle зашифрования 32-Z. Fig. 2б. Le schéma du cycle расшифрования le 32-rouble

Le cycle de la production имитовставки est deux fois plus court que les cycles шифрования, l'ordre de l'utilisation des éléments clés dans lui même, comme aux premiers 16 pas du cycle зашифрования, de qu'il est facile de se persuader, ayant examiné les successions mentionnées ci-dessus, c'est pourquoi cet ordre dans la désignation du cycle est codé par la même lettre «З».

Fig. 2в. Le schéma du cycle de la production имитовставки 16-Z.

Les schémas des cycles de base sont amenés sur les dessins de 2a-s. Chacun d'eux accepte à titre de l'argument et rend à titre du résultat le bloc de 64 bits des données désigné sur les schémas N. Le symbole Шàã (N, X) désigne l'exécution du pas principal криптопреобразования pour le bloc N avec l'utilisation de l'élément clé X. Entre les cycles шифрования et les calculs имитовставки sont encore une différence mentionnée ci-dessus : à la fin des cycles de base шифрования la partie principale et cadette du bloc du résultat sont permutés, c'est nécessaire pour leur convertibilité mutuelle.

 

1.5. Les     régimes principaux шифрования.

La norme d'État 28147-89 prévoit trois régimes suivants шифрования des données :

· le      remplacement simple,

·      гаммирование,

·      гаммирование avec la liaison en retour,

Et un régime supplémentaire de la production имитовставки.

Dans chacun de ces régimes les données sont travaillées par les blocs selon 64 bits, à qui se brise le massif, soumis à la transformation cryptographique, c'est pourquoi la norme d'État se rapporte aux chiffres par blocs. Cependant en deux régimes гаммирования il y a une possibilité du traitement du bloc incomplet donné par le montant moins de 8 octet qu'est essentiel à шифровании des tableaux avec le montant arbitraire, qui peut être à 8 octets non multiples.

Avant de passer à la considération des algorithmes concrets des transformations cryptographiques, il est nécessaire d'expliquer les désignations utilisées sur les schémas dans les paragraphes suivants :

Tо, Tш – les massifs en conséquence les données ouvertes et chiffrées;

,i-tye par ordre les blocs de 64 bits en conséquence les données ouvertes et chiffrées : 1£i£n, le dernier bloc peut être incomplet :;

n – le nombre des blocs de 64 bits dans le tableau;

ЦX – la fonction de la transformation du bloc de 64 bits des données de l'algorithme du cycle de base «X»;

Maintenant nous décrirons les régimes principaux шифрования :

1. Le     remplacement simple.

Зашифрование en régime donné consiste en application du cycle 32-Z vers les blocs des données ouvertes, расшифрование – le cycle 32-R vers les blocs des données chiffrées. C'est le plus simple des régimes, les blocs de 64 bits des données sont travaillés dans lui indépendamment l'un de l'autre. Les schémas des algorithmes зашифрования et расшифрования en régime du remplacement simple sont amenés sur les dessins 3а et en conséquence, ils sont triviaux et n'ont pas besoin des commentaires.

Le montant du massif des données ouvertes ou chiffrées, subissant en conséquence зашифрованию ou расшифрованию, doit être multiple 64 bits : |Tо | = | Tш | = 64·n, après l'exécution de l'opération le montant du tableau reçu ne change pas.

Fig. 3а. L'algorithme зашифрования des données en régime du remplacement simple.

Fig. 3б. L'algorithme расшифрования des données en régime du remplacement simple.

Le régime шифрования par le remplacement simple a les particularités suivantes :

1.   Puisque les blocs des données sont chiffrés indépendamment l'un de l'autre et de leur position dans le massif, à зашифровании de deux blocs identiques du texte ouvert résultent les blocs identiques шифротекста et vice versa. La propriété marquée permettra криптоаналитику de conclure de l'identité des blocs des données initiales, si dans le massif des données chiffrées il l'y avait des blocs identiques qu'est inadmissible au chiffre sérieux.

2. Si la   longueur le tableau chiffré n'est pas multiple 8 octets ou 64 bits, apparaît le problème, que et comme compléter le dernier bloc incomplet des données du massif jusqu'aux 64 bats complets. Cette tâche non est simple ainsi, comme il semble à première vue, puisque les décisions évidentes comme «compléter le bloc incomplet des bits nuls» ou, plus обще, «compléter le bloc incomplet avec la combinaison fixée des bits nuls et unitaires» peuvent dans les circonstances définies donner aux mains криптоаналитика la possibilité par les méthodes de l'excédent définir le contenu de ce bloc le plus incomplet, et ce fait signifie la réduction de la résistance du chiffre. En outre la longueur шифротекста changera de plus, ayant augmenté jusqu'à l'entier plus proche multiple 64 bits qu'il arrive souvent par l'indésirable.

À première vue, les particularités énumérées ci-dessus font pratiquement impossible l'utilisation du régime du remplacement simple, en effet, il peut être appliqué seulement pour шифрования des tableaux avec le montant aux 64 bits multiples ne contenant pas les blocs se répétant de 64 bits. Il Semble que pour chacuns réel donné garantir l'exécution des conditions indiquées il est impossible. Cela presque ainsi, mais est une très importante exception : se rappelez que le montant de la clé fait 32 octets, mais le montant du tableau des remplacements – 64 octets. En outre la présence des blocs se répétant de 8 octets dans la clé ou le tableau des remplacements dira sur leur très mauvaise qualité, c'est pourquoi dans les éléments réels clés d'une telle répétition ne peut pas être. Ainsi nous avons éclairci que le régime du remplacement simple convient tout à fait шифрования de l'information clé, d'autant plus que d'autres régimes pour ce but sont moins confortables, puisque demandent la présence de l'élément supplémentaire synchronisant des données – les synchroenvois (voir le paragraphe suivant). Notre conjecture est fidèle, la norme d'État prescrit utiliser le régime du remplacement simple uniquement pour шифрования des données clés.

2.     Гаммирование.

Comment on peut se délivrer des manques du régime du remplacement simple ? Pour cela ¡Ñ@«íÕ«ñ¿¼« faire possible шифрование des blocs avec le montant moins de 64 bats et assurer la dépendance du bloc шифротекста de son numéro en d'autres termes рандомизировать le procès шифрования. Dans la norme d'État c'est atteint par deux divers moyens en deux régimes шифрования, prévoyant гаммирование. Гаммирование est une imposition (retrait) sur les données ouvertes (chiffrées) de la gamme cryptographique, c'est-à-dire les successions des éléments des données élaborées avec l'aide d'un certain algorithme cryptographique, pour la réception des données chiffrées (ouvertes). Pour l'imposition de la gamme à зашифровании et ses retraits à расшифровании doivent être utilisés les opérations mutuellement inverses binaires, par exemple, l'addition et la soustraction selon le module 264 pour les blocs de 64 bits des données. Dans la norme d'État pour ce but on utilise l'opération побитного les additions selon le module 2, puisqu'elle est à lui-même inverse le et en plus se réalise le plus simplement. Гаммирование décide les deux problèmes mentionnés; aux premiers, tous les éléments de la gamme sont divers pour les massifs réels chiffrés et, donc, le résultat зашифрования même de deux blocs identiques dans un tableau sera divers. À deuxième, bien que les éléments de la gamme soient élaborés par les portions identiques à 64 bits, on peut utiliser la partie d'un tel bloc avec le montant égal au montant du bloc chiffré.

Maintenant nous passerons directement à la description du régime гаммирования. La gamme pour ce régime réussit comme il suit : avec l'aide de certain algorithmique рекуррентного du générateur de la succession des nombres (РГПЧ) on élabore les blocs de 64 bits des données, qui subissent ensuite la transformation selon le cycle 32-Z, c'est-à-dire зашифрованию en régime du remplacement simple, résultent finalement les blocs de la gamme. Grâce à ce que l'imposition et le retrait de la gamme se réalise à l'aide de la même opération побитового excluant ou, les algorithmes зашифрования et расшифрования en régime гаммирования sont identiques, leur schéma total est amené sur le dessin 5.

РГПЧ, utilisé pour la production de la gamme, est рекуррентной la fonction : Wi+1=f (Wi), où Wi – les éléments рекуррентной les successions, f – la fonction de la transformation. Donc, apparaît inévitablement la question sur son initialisation, c'est-à-dire sur l'élément W0. En réalité, cet élément des données est le paramètre de l'algorithme pour les régimes гаммирования, sur les schémas il est désigné comme S, et s'appelle dans la cryptographie le synchroenvoi, mais dans notre norme d'État – le remplissage initial d'un des registres шифрователя. Selon les considérations définies les concepteurs de la norme d'État ont décidé d'utiliser pour l'initialisation РГПЧ non directement le synchroenvoi, mais le résultat de sa transformation selon le cycle 32-Z : W0=Ц32-З (S). La succession des éléments élaborés РГПЧ, dépend entièrement de son remplissage initial, c'est-à-dire les éléments de cette succession sont la fonction du numéro et le remplissage initial РГПЧ : Wi=fi (W0), où fi (X) =f (fi1 (X)), f0 (X) =X. En tenant compte de la transformation selon l'algorithme du remplacement simple est ajouté encore et la dépendance de la clé :

Гi=Ц32-З (Wi) =Ц32-З (fi (W0)) =Ц32-З (fi (Ц32-З (S))) =ji (S, K), où Гii-tyj l'élément de la gamme, K – la clé.

Ainsi, la succession des éléments de la gamme pour l'utilisation en régime гаммирования est définie absolument par les données clés et le synchroenvoi. Naturellement, pour la convertibilité de la procédure шифрования dans les procès pour - et расшифрования on doit utiliser le même synchroenvoi. De l'exigence de l'originalité de la gamme, la non-exécution de qui amène à la réduction catastrophique de la résistance du chiffre, il faut que pour шифрования de deux divers tableaux sur une clé il est nécessaire d'assurer l'utilisation des divers synchroenvois. Cela amène à la nécessité de garder ou transmettre le synchroenvoi selon les voies de communication avec les données chiffrées, bien que dans les cas à part séparés elle puisse être prédéterminée ou être calculée spécialement, si est exclu шифрование de deux massifs sur une clé.

Maintenant nous examinerons en détail РГПЧ, utilisé à la norme d'État pour la génération des éléments de la gamme. Avant tout il faut marquer que l'on ne lui impose pas les exigences de la garantie de quelques caractéristiques statistiques élaboré »«ß½Ññ«óáÔѽý@¡«ßÔ¿ des nombres. РГПЧ est créé par les concepteurs de la norme d'État à partir de la nécessité de l'exécution des conditions suivantes :

· la      période de la répétition de la succession des nombres élaborée РГПЧ, non doit fortement (dans le pourcentage) se distinguer du bloc au maximum possible au montant donné de la signification 264;

· les      significations voisines élaborées РГПЧ, doivent se distinguer dans chaque octet, autrement la tâche криптоаналитика sera simplifiée;

·      РГПЧ doit être assez simplement réalisé аппаратно, ainsi que программно sur les types les plus répandus des processeurs, la plupart de qui, comme on le sait, ont разрядность 32 bits.

À partir des principes énumérés les créateurs de la norme d'État ont créé très réussi РГПЧ, ayant les caractéristiques suivantes :

·      dans le bloc de 64 bits les parties principales et cadettes sont travaillées indépendamment l'un de l'autre : en réalité, il y a deux indépendants РГПЧ pour les parties principales et cadettes du bloc.

·      рекуррентные les rapports aux parties principales et cadettes les suivants :

, Où C1=101010116;

, Où C2=101010416;

L'indice inférieur dans l'inscription du nombre signifie son système numérique, ainsi, les constantes utilisées sur le pas donné, sont inscrites à 16-richnoj au système numérique.

La deuxième expression a besoin des commentaires, puisque dans le texte de la norme d'État quelque chose est amené l'autre : avec la même signification de la constante C2. Mais ensuite dans le texte du standard on donne le commentaire que, il se trouve, l'opération de la prise du reste du module 232–1 est considérée là non le même que dans le mathématicien. La différence consiste en ce que selon la norme d'État (232–1) mod (232–1) = (232–1), et non 0. En fait, cela simplifie la réalisation de la formule, mais математически l'expression correcte pour elle est mentionnée ci-dessus.

· la      période de la répétition de la succession pour la partie cadette fait 232, pour la partie principale 232–1, pour toute la succession la période fait 232× (232–1), la preuve de ce fait, très simple, recevez. La première formule de deux se réalise pour une équipe, deuxième, malgré son semblant громоздкость, pour deux équipes sur tous les processeurs modernes de 32 bits.

Fig. 4. L'algorithme зашифрования (расшифрования) des données en régime гаммирования.

Le schéma de l'algorithme шифрования en régime гаммирования est amené sur le dessin 4, on plus bas expose les explications vers le schéma :

Øàã 0.         Définit les données initiales pour le pas principal криптопреобразования :

·                          Tо () – le massif des données ouvertes (chiffrées) du montant arbitraire, soumis à la procédure зашифрования (расшифрования), pendant la procédure le massif subit la transformation par les portions selon 64 bits;

·                          S ñèíõðîïîñûëêà, l'élément de 64 bits des données nécessaires à l'initialisation du générateur de la gamme;

Øàã 1. La         transformation initiale du synchroenvoi accomplie pour elle «рандомизации», c'est-à-dire pour l'élimination des régularités statistiques assistant dans elle, le résultat est utilisée comme le remplissage initial РГПЧ;

Øàã 2.         Un pas du travail РГПЧ réalisant il рекуррентный l'algorithme. Au cours du pas donné principal (S1) et cadet (S0) les parties de la succession des données sont élaborées indépendamment l'un de l'autre;

Øàã 3.         Гаммирование. L'élément suivant de 64 bits élaboré РГПЧ, subit la procédure зашифрования selon le cycle 32-Z, le résultat est utilisé comme l'élément de la gamme pour зашифрования (расшифрования) du bloc suivant des données ouvertes (chiffrées) du même montant.

Øàã 4. Le         résultat du travail de l'algorithme – le tableau chiffré (déchiffré).

On plus bas énumère les particularités гаммирования comme du régime шифрования.

1. Les   blocs identiques dans le tableau ouvert donneront à зашифровании de divers blocs шифротекста que permettra de cacher le fait de leur identité.

2.   Puisque l'imposition de la gamme est accomplie побитно, шифрование du bloc incomplet donné facilement выполнимо comme шифрование des bits de ce bloc incomplet, pour quoi est utilisé les bits correspondants du bloc de la gamme. Ainsi, pour зашифрования du bloc incomplet à 1 bit on peut utiliser n'importe quel bit du bloc de la gamme.

3. Le   synchroenvoi utilisé à зашифровании, doit être transmis de quelle façon pour l'utilisation à расшифровании. Cela peut être atteint par les voies suivantes :

·      garder ou transmettre le synchroenvoi avec le tableau chiffré qu'amènera à l'augmentation du montant du tableau à зашифровании sur le montant du synchroenvoi, c'est-à-dire sur 8 octet;

·      utiliser la signification prédéterminée du synchroenvoi ou l'élaborer synchronement par la source et le récepteur d'après la loi définie, dans ce cas le changement du montant du tableau transmis ou gardé manque;

Les deux moyens complètent l'un l'autre, et dans ces cas rares, où le premier ne travaille pas, le plus usité d'eux, peut être utilisé deuxième, plus exotique. Le deuxième moyen a beaucoup une plus petite application, puisque faire le synchroenvoi prédéterminé on peut seulement dans le cas où sur l'assortiment donné de l'information clé est chiffré notoirement pas plus d'un tableau qu'arrive dans les cas rares. Générer le synchroenvoi synchronement près de la source et le destinataire du tableau non plus il semble toujours possible, puisque demande le rattachement rigide à quelque chose dans le système. Ainsi, raisonnable à première vue l'idée d'utiliser à titre du synchroenvoi dans le système de la transmission des messages chiffrés le numéro du message transmis ne s'approche pas, puisque le message peut se perdre et ne pas arriver jusqu'au destinataire, dans ce cas il y aura une désynchronisation des systèmes шифрования de la source et le récepteur. C'est pourquoi dans le cas examiné il n'y a pas d'alternative à la transmission du synchroenvoi avec le message chiffré.

D'autre part, on peut amener et l'exemple inverse. Nous admettrons, шифрование des données est utilisé pour la protection de l'information sur le disque, et il est réalisé au bas niveau, pour la garantie de l'accès indépendant les données sont chiffrées selon les secteurs. Dans ce cas il est impossible de garder le synchroenvoi avec les données chiffrées, puisque l'on ne peut pas changer le montant du secteur, cependant on peut la calculer comme une certaine fonction du numéro de la tête lisant du disque, le numéro du sentier (cylindre) et le numéro du secteur sur le sentier. Dans ce cas le synchroenvoi s'attache à la position du secteur sur le disque, qui peut changer peu probablement sans переформатирования du disque, c'est-à-dire sans destruction des données sur lui.

Le régime гаммирования a encore une particularité intéressante. En ce régime des bat du tableau sont chiffrés indépendamment l'un de l'autre. Ainsi, chaque bit шифротекста dépend du bit correspondant du texte ouvert et, naturellement, le numéro d'ordre du bit dans le massif :. De cela découle que le changement du bit шифротекста sur la signification opposée amènera au changement analogue du bit du texte ouvert sur l'opposé :

,

désigne инвертированное par rapport à t la signification du bit ().

La propriété donnée donne la possibilité au malfaiteur en influençant les bits шифротекста apporter les préprédicats et même les changements orientés au texte correspondant ouvert reçu après lui расшифрования, sans posséder de plus la clé confidentielle. Cela illustre bien connu à криптологии le fait que «le caractère secret et l'authenticité l'essentiel les diverses propriétés des chiffres». Autrement dit, les propriétés des chiffres d'assurer la protection contre la présentation non sanctionnée avec le contenu du message et de la modification non sanctionnée au message sont les indépendants et seulement peuvent se croiser dans les cas particuliers. Dit signifie qu'il y a des algorithmes cryptographiques assurant le caractère secret défini des données chiffrées et de plus ne protégeant aucunement de modification et vice versa, assurant l'authenticité des données et ne limitant aucunement la possibilité de la présentation d'eux. Pour cette raison la propriété examinée du régime гаммирования ne doit pas être examinée comme son manque.

3.     Гаммирование avec la liaison en retour.

Le régime donné est très semblable au régime гаммирования et s'en distingue seulement par le moyen de la production des éléments de la gamme – l'élément suivant de la gamme est élaboré comme le résultat de la transformation selon le cycle 32-Z du bloc précédent des données chiffrées, mais pour зашифрования du premier bloc du tableau l'élément de la gamme est élaboré comme le résultat de la transformation selon le même cycle du synchroenvoi. Cela atteint l'engrenage des blocs – chaque bloc шифротекста en ce régime dépend de correspondant et tous les blocs précédents du texte ouvert. C'est pourquoi le régime donné s'appelle parfois гаммированием avec l'engrenage des blocs. Sur la résistance du chiffre le fait de l'engrenage des blocs ne donne pas aucune influence.

Fig. 5. L'algorithme зашифрования (расшифрования) des données en régime гаммирования avec la liaison en retour.

Le schéma des algorithmes pour - et расшифрования en régime гаммирования avec la liaison en retour est amené sur le dessin 5 et en raison de la simplicité des commentaires n'a pas besoin.

Шифрование en régime гаммирования avec la liaison en retour possède les mêmes particularités que шифрование en régime ordinaire гаммирования, à l'exception de l'influence des altérations шифротекста sur le texte correspondant ouvert. Pour la comparaison nous inscrirons les fonctions расшифрования du bloc pour les deux régimes mentionnés :

, гаммирование;

, гаммирование avec la liaison en retour;

Si en régime ordinaire гаммирования les changements des bits définis шифротекста influencent seulement les bits correspondants du texte ouvert, en régime гаммирования avec la liaison en retour le tableau est un peu plus complexe. Comme on voit de l'équation correspondante, à расшифровании du bloc des données en régime гаммирования avec la liaison en retour, le bloc des données ouvertes dépend des blocs correspondants et précédents des données chiffrées. C'est pourquoi, si apporter les altérations au bloc chiffré, après расшифрования déformés se trouveront deux blocs des données ouvertes – correspondant et suivant pour lui, et en outre les altérations dans le premier cas auront le même caractère qu'en régime гаммирования, mais dans le deuxième cas – comme en régime du remplacement simple. En d'autres termes, dans le bloc correspondant des données ouvertes déformés se trouveront les mêmes bits que dans le bloc шифрованных des données, mais dans le bloc suivant des données ouvertes tous les bits indépendamment l'un de l'autre avec la probabilité 1/2 changeront les significations.

4. La     production имитовставки vers le tableau.

Dans les paragraphes précédents nous avons examiné l'influence de l'altération шифрованных des données sur les données correspondantes ouvertes. Nous avons établi qu'à расшифровании en régime du remplacement simple le bloc correspondant des données ouvertes est par l'image déformée imprévisible, mais à расшифровании du bloc en régime гаммирования les changements предсказуемы. En régime гаммирования avec la liaison en retour déformé se trouvent deux blocs, un préprédicat, mais l'autre par l'image imprévisible. Si cela signifie que du point de vue de la protection contre l'imposition des données fausses le régime гаммирования est mauvais, mais les régimes du remplacement simple et гаммирования avec la liaison en retour bon ? En aucun cas. À l'analyse de la situation donnée il est nécessaire de prendre en considération ce que les changements imprévisibles du bloc déchiffré des données peuvent être découverts seulement en cas de la surabondance de ces données, et en outre plus le degré de la surabondance, est plus probable la détection de l'altération. Une très grande surabondance a lieu, par exemple, pour les textes sur naturel et les langages artificiels, dans ce cas le fait de l'altération est découvert pratiquement inévitablement. Cependant dans d'autres cas, par exemple, à l'altération des images serrées sonores, nous recevrons une simplement autre image, qui pourra percevoir notre oreille. L'altération restera dans ce cas non découvert, si, certes, il n'y a pas d'information apriorique sur le caractère du son. La conclusion ici un tel : puisque la capacité de certains régimes шифрования découvrir les altérations apportées à шифрованные les données, s'appuie essentiellement sur la présence et le degré de la surabondance des données chiffrées, cette capacité n'est pas la propriété immanente des régimes correspondants et ne peut pas être examiné comme leur dignité.

Fig. 6. L'algorithme de la production имитовставки pour le tableau.

Pour la décision de la tâche de la détection des altérations dans le tableau chiffré avec la probabilité donnée dans la norme d'État on prévoit le régime supplémentaire ¬Ó¿»Ô«úÓáõ¿þÑß@¬«ú« les transformations – la production имитовставки. Имитовставка est de contrôle ¬«¼@í¿¡áµ¿n, dépendant des données ouvertes et l'information confidentielle clé. Le but de l'utilisation ¿¼¿@Ô«óßÔáó¬¿ est la détection de tous les changements accidentels ou prémédités dans le massif de l'information. Le problème exposé dans le point précédent, peut être avec succès décidé avec l'aide du supplément vers шифрованным aux données имитовставки. Pour le malfaiteur potentiel deux tâches suivantes sont pratiquement insolubles, s'il ne possède pas l'information clé :

· le      calcul имитовставки pour le massif donné ouvert de l'information;

· la      sélection des données ouvertes sous donné имитовставку;

Le schéma de l'algorithme de la production имитовставки est amené sur le dessin 6. En qualité имитовставки se met la partie du bloc reçu sur la sortie, d'habitude 32 ses bits cadets. Au choix du montant ¿¼¿Ô«@óßÔáó¬¿ il faut prendre en considération que la probabilité de l'imposition fructueuse des données fausses est égale à la valeur 2 | Et | sur une tentative de la sélection. À l'utilisation имитовставки par le montant de 32 bits cette probabilité est égale

2–32 »0.23·10–9.

2. La    discussion des algorithmes cryptographiques de la norme d'État.

2.1. La    résistance cryptographique de la norme d'État.

Au choix de l'algorithme cryptographique pour l'utilisation dans l'élaboration concrète un des facteurs définissant est sa résistance, c'est-à-dire la stabilité aux tentatives de la partie opposée lui découvrir. La question sur la résistance du chiffre est réduite en y regardant de plus près à deux questions liées :

     Si ·      on peut en général découvrir le chiffre donné;

· si     oui, c'est pratiquement difficile de faire cela autant;

Les chiffres, qu'il est impossible de découvrir en général, s'appellent absolument ou théoriquement ferme. L'existence des chiffres semblables est prouvée par le théorème de Shennona, cependant au prix de cette résistance est la nécessité de l'utilisation pour шифрования de chaque message de la clé, non plus petit selon le montant du message. Dans tous les cas à l'exception d'une série spécial ce prix est excessif, c'est pourquoi pratiquement on utilise pour l'essentiel les chiffres ne possédant pas la résistance absolue. Ainsi, les schémas les plus usités шифрования peuvent être découverts pour le temps final ou qu'est plus exact, pour le nombre fini des pas, chacun de qui est une certaine opération sur les nombres. Pour eux la signification la plus importante a la notion de la résistance pratique exprimant la difficulté pratique de leur dévoilement. Le nombre des opérations élémentaires arithmétiques et logiques, qui il est nécessaire d'accomplir pour découvrir le chiffre, c'est-à-dire pour que pour donné шифротекста avec la probabilité, la valeur non plus petite donnée, définir le texte correspondant ouvert peut servir de la mesure quantitative de cette difficulté. De plus dans le complément vers дешифруемому au tableau криптоаналитик peut disposer des blocs des données ouvertes données et chiffrées leur correspondant ou même la possibilité de recevoir pour n'importe quelles données ouvertes choisies par lui les données correspondantes chiffrées – en fonction des conditions énumérées et plusieurs autres non indiquées distinguent les aspects séparés криптоанализа.

Tout moderne криптосистемы sont construits selon le principe de Kirhgoffa, c'est-à-dire le caractère secret des messages chiffrés est défini par le caractère secret de la clé. Cela signifie que même si l'algorithme lui-même шифрования est connu криптоаналитику, celui-là néanmoins non dans l'état de déchiffrer le message, si ne dispose pas de la clé correspondante. Tous les chiffres classiques par blocs, y compris DES et la norme d'État, correspondent à ce principe et sont créés pour qu'ouvre la voie avec leur moyen plus effectif, que l'excédent complet selon tout l'espace clé, i.e. selon les significations toutes possibles de la clé. Clairement que la résistance de tels chiffres est définie par le montant de la clé utilisée à eux.

Dans le chiffre la norme d'État est utilisée la clé de 256 bits et le volume de l'espace clé fait 2256. Sur un d'existant à présent ou supposé vers la réalisation dans un avenir proche l'ORDINATEUR de l'application totale on ne peut pas choisir la clef en un temps, plus petit de plusieurs centaines d'années. Le standard russe était projeté avec un grand stock et selon la résistance sur beaucoup d'ordres surpasse le standard américain DES avec son montant réel de la clé à 56 bits et le volume de l'espace clé seulement 256. Sous le jour du progrès des moyens modernes calculatoires de cela est évident insuffisamment. À cet égard DES peut présenter plutôt scientifique ou scientifique, que l'intérêt pratique. Comme on s'attend, en 1998 il cessera d'être le standard des États-Unis sur шифрование.

2.2. Les    remarques sur l'architecture de la norme d'État.

Notoirement que le chiffre la norme d'État 28147-89 est le représentant de la famille entière des chiffres construits sur les mêmes principes. Son "parent" le plus connu est le standard américain шифрования, l'algorithme DES. Tous ces chiffres, à la façon de la norme d'État, contiennent les algorithmes de trois niveaux. À la base un certain toujours est «le pas principal», sur la base de qui l'image similaire construit «les cycles de base», et déjà à leur base on construit les procédures pratiques шифрования et les productions имитовставки. Ainsi, la spécificité de chacun des chiffres de cette famille est conclue notamment dans son pas principal, il est plus exact même dans sa partie. Bien que l'architecture des chiffres classiques par blocs, à qui se rapporte la norme d'État, soit loin en dehors du sujet du présent article, se trouve quand même dire quelques mots sous son prétexte.

Les algorithmes «des pas principaux ¬Ó¿»Ô«»ÓÑ«íÓá@º«óá¡¿n» pour les chiffres semblables à la norme d'État, sont construits par l'image identique. Leur schéma total est amené sur le dessin 7. Sur l'entrée du pas principal on donne le bloc du montant pair, principal et de qui cadet les moitiés sont travaillées séparément l'un de l'autre. Au cours de la transformation la moitié cadette du bloc se place à la place de principal, mais principal, combiné avec l'aide de l'opération побитного excluant ou avec le résultat du calcul d'une certaine fonction, à la place de la cadette. Cette fonction acceptant à titre de l'argument la moitié cadette du bloc et un certain élément de l'information clé (X), est la partie substantielle du chiffre et s'appelle sa fonction шифрования. Les considérations de la résistance du chiffre demandent que les montants de tous les éléments énumérés des blocs soient égaux : |N1 | = | N2 | = | X |, en norme d'État et DESе ils sont égaux à 32 bits.

Si appliquer dit vers le schéma du pas principal de l'algorithme la norme d'État, deviendra évident que les blocs 1,2,3 algorithmes définissent le calcul de sa fonction шифрования, mais les blocs 4 et 5 donnent la formation du bloc de sortie du pas principal à partir du bloc contenu d'entrée et la signification de la fonction шифрования.

Fig. 7. Сîäåðæàíèå du pas principal криптопреобразования pour les chiffres par blocs semblables à la norme d'État.

Dans le paragraphe précédent nous avons comparé déjà DES et la norme d'État selon la résistance, maintenant nous les comparerons selon le contenu fonctionnel et le confort de la réalisation. Dans les cycles шифрования de la norme d'État le pas principal se répète 32 fois, pour DESа cette valeur est égale 16. Cependant la fonction elle-même шифрования de la norme d'État est beaucoup plus facile que la fonction analogue DESа, dans laquelle il y a une multitude de transcodages selon les tableaux avec le changement du montant перекодируемых des éléments. En outre entre les pas principaux dans les cycles шифрования DESа il est nécessaire d'accomplir битовые les réarrangements dans les blocs des données. Toutes ces opérations se réalisent extraordinairement inefficacement sur les processeurs modernes non spécialisés. La norme d'État ne contient pas les opérations semblables, c'est pourquoi il est considérablement plus confortable pour la réalisation de programme. Aucune des réalisations examinées par l'auteur DESа pour le quai Intel x86 n'atteint pas même la moitié de la productivité proposé à votre attention dans le présent article de la réalisation de la norme d'État, malgré le cycle deux fois plus court. Tout dit témoigne plus haut de ce que les concepteurs de la norme d'État ont pris en considération positif, ainsi que les parties négatives DESа, ainsi qu'ont estimé plus réellement les possibilités en cours et perspectives криптоанализа.

2.3. Les    exigences à la qualité de l'information clé et les sources des clés.

Non toutes les clés et les tableaux des remplacements assurent la résistance maxima du chiffre. Pour chaque algorithme шифрования il y a des critères de l'estimation de l'information clé. Ainsi, l'algorithme DES sait l'existence soi-disant "de faibles clés», à l'utilisation de qui le lien entre les données ouvertes et chiffrées ne se camoufle pas par l'image suffisante, et le chiffre se révèle relativement simplement.

La réponse exhaustive sur la question sur les critères de la qualité des clés et les tableaux des remplacements de la norme d'État si on peut en général quelque part recevoir, seulement chez les concepteurs de l'algorithme. Les données correspondantes n'étaient pas publiées dans le sceau ouvert. Cependant selon la règle, pour шифрования de l'information ayant la griffe, on doit utiliser les données clés reçues de l'organisation autorisée. Indirectement cela peut témoigner de la présence des méthodes du contrôle des données clés sur "la phtiriase". Le fait lui-même de l'existence des faibles données clés dans le standard Russe шифрования ne provoque pas le doute. Évidemment, la clé nulle et le tableau trivial des remplacements, selon qui n'importe quelle signification est remplacée mais lui-même, sont faible, à l'utilisation quand même un d'eux le chiffre est forcé assez simplement, quel qu'il y avait un deuxième élément clé.

Comme était déjà marqué plus haut, les critères de l'estimation de l'information clé sont inaccessibles, cependant sur leur compte on peut exprimer quand même certaines considérations :

1. La clé doit être le massif de bits d'après les statistiques indépendants acceptant avec la probabilité égale de la signification 0 et 1. De plus certaines significations concrètes de la clé peuvent se trouver "faibles", c'est-à-dire le chiffre peut ne pas assurer le niveau donné de la résistance en cas de leur utilisation. Cependant, hypothétiquement, la part de telles significations dans la masse totale des clés toutes possibles est extrêmement petite. C'est pourquoi les clés élaborées avec l'aide d'un certain détecteur est véritable des nombres accidentels, seront qualitatif avec la probabilité se distinguant de l'unité sur une extrêmement petite valeur. Si les clés sont élaborées avec l'aide du générateur des nombres pseudo-accidentels, le générateur utilisé doit assurer les caractéristiques indiquées ci-dessus statistiques, et, en outre posséder haut криптостойкостью, non plus petit, que près de la norme d'État. Autrement dit, la tâche de la définition des membres manquant de la succession élaborée par le générateur des éléments ne doit pas être plus facile, que la tâche de l'ouverture du chiffre. En outre pour отбраковки des clés avec de mauvaises caractéristiques statistiques on peut utiliser de divers critères statistiques. Pratiquement il suffit d'habitude deux critères, – pour le contrôle de la distribution équiprobable des bits de la clé entre les significations 0 et 1 on utilise d'habitude le critère de Pirsonaхи le carré»), mais pour le contrôle de l'indépendance des bits de la clé – le critère des séries. Sur les critères mentionnés on peut lire dans les manuels ou les répertoires de la statistique mathématique.

2. Le tableau des remplacements est l'élément à long terme clé, c'est-à-dire agit pendant le délai beaucoup plus de longue durée, que la clé séparée. Il est supposé qu'elle est totale à tous les noeuds шифрования dans le cadre d'un système de la protection cryptographique. Même à la violation de la confidentialité du tableau des remplacements la résistance du chiffre reste extraordinairement haut et ne baisse pas de la limite plus bas admissible. On peut imposer à la qualité des noeuds séparés des remplacements l'exigence amenée plus bas. Chaque noeud des remplacements peut être décrit par le quatre des fonctions logiques, chacun de qui a quatre arguments logiques. Il est nécessaire que ces fonctions soient assez complexes. Il est impossible d'exprimer cette exigence de la complexité formellement, cependant à titre de la condition sine qua non on peut demander que les fonctions correspondantes logiques inscrites sous la forme minimale (i.e. avec la longueur au minimum possible l'expression) avec l'utilisation des opérations principales logiques, ne soient pas plus courtes qu'un certain minimum nécessaire. Dans l'approche première et très grossière cette condition peut descendre et pour le suffisant. En outre les fonctions séparées dans la limite de tout le tableau des remplacements doivent se distinguer dans le degré suffisant. Il arrive pratiquement assez recevoir les noeuds des remplacements comme les réarrangements indépendants accidentels des nombres de 0 jusqu'à 15, cela peut être pratiquement réalisé, par exemple, avec l'aide du malaxage du jeu de seize cartes, après chacun de qui on fixe une des significations de la gamme indiquée.

Il est nécessaire de marquer encore un fait intéressant en ce qui concerne le tableau des remplacements. Pour la convertibilité des cycles шифрования 32-Z et 32-R il ne faut pas que les noeuds des remplacements soient les réarrangements des nombres de 0 jusqu'à 15. Tout travaille même dans le cas où dans le noeud des remplacements il y a des éléments se répétant, et le remplacement défini en un tel noeud, est irréversible, cependant dans ce cas baisse la résistance du chiffre. Pourquoi cela notamment ainsi, n'est pas examiné dans le présent article, cependant il est facile de se persuader du fait. Il suffit Pour cela, en utilisant le programme d'exposition шифрования des fichiers des données, joignant vers le présent article, chiffrer mais puis déchiffrer le fichier des données, ayant utilisé pour cette procédure le tableau "défectueux" des remplacements, les noeuds de qui contiennent les significations se répétant.

Si vous élaborez les programmes utilisant les algorithmes cryptographiques, il vous est nécessaire de prendre soin des utilitaires élaborant l'information clé, mais la source des nombres accidentels est nécessaire à tels utilitaires (СЧ) d'une haute qualité statistique et криптостойкости. La meilleur approche serait ici l'utilisation des détecteurs de matériel СЧ, cependant ce n'est pas toujours acceptable selon les considérations économiques. À titre de l'alternative raisonnable probablement (est très largement répandu) l'utilisation des divers détecteurs de programme СЧ. À la génération du petit massif par le volume de l'information clé on applique largement la méthode de «la roulette électronique», quand la portion suivante reçue du tel détecteur des bits accidentels dépend du moment du temps de la pression par l'opérateur d'une certaine touche sur le clavier de l'ordinateur.

Cette approche est utilisée dans le programme de la génération d'une clé, le texte initial de qui dans la langue du Si avec ассемблерными par les mouchettes se joint au présent article dans le fichier make1key.c. Pour la production des nombres accidentels de la gamme donnée on utilise le canal 2 systémique таймера, l'information est lue de lui à la pression par l'opérateur de quelque touche sur le clavier de l'écran. Pour une pression on génère un octet de la clé et sur l'écran on déduit le point. Pour qu'il était impossible de générer octets de la clé par la rétention de la touche dans l'état appuyé, entre les cycles de la génération on introduit le retard temporaire et au début de chaque cycle est contrôlé, si était pendant la pause la pression de la touche. Si le tel avait lieu, se présente le signal acoustique et la pression est ignoré. Il est rationnel de lancer le programme seulement de "nu" DOSа, dans la DOS-séance Windows 3.x/95 elle travaille aussi, mais il n'y a pas d'assurance de la garantie des caractéristiques nécessaires statistiques, mais sous Windows NT le programme ne travaille pas du tout naturellement (grimpe directement aux ports) correctement.

3. Les    remarques sur la réalisation.

3.1.    Trois pas de l'optimisation.

Le but la réalisation décrite dans le présent article de la norme d'État était non la création du code maximum selon l'efficacité à tout prix, le but était la création proche de l'optimal selon la puissance, mais de plus compact et facile pour la perception par le programmeur du code.

La programmation des algorithmes de la norme d'État «au front» même dans la langue de l'assembleur donne le résultat très éloigné de l'optimum possible. La tâche de la création de la réalisation effective des algorithmes indiqués pour les processeurs de 16 bits Intel 8088–80286 représente bien que non supercomplexe, mais quand même et la tâche pas tout à fait triviale, et demande une très bonne connaissance de l'architecture et le système des équipes de la famille mentionnée des processeurs. La difficulté consiste ici en ce que pour l'acquisition de la productivité maxima la réalisation de programme doit comme on peut la grande partie des opérations accomplir avec les données dans les registres et comme on peut moins souvent s'adresser à la mémoire, mais les processeurs examinés non ont les registres ainsi beaucoup d' et eux de 16 bits. Avec les processeurs de 32 bits de la même ligne (Intel 80386 et il il est plus aîné) tout beaucoup plus facilement notamment en vertu d'eux 32-razrjadnosti, ne sera pas ici des difficultés même chez le débutant.

Dans la réalisation des algorithmes on utilisait les approches exposées plus bas, permettant d'atteindre de la productivité maxima. Les premiers deux d'eux sont assez évidents, tellement que se rencontrent pratiquement dans chaque réalisation de la norme d'État.

1. Les   cycles de base de la norme d'État contiennent les cycles mis (sonne mal, mais tu ne diras pas autrement), et en outre dans le cycle intérieur l'ordre de l'utilisation de huit éléments de 32 bits de la clé peut être direct ou inverse. Il est essentiel de simplifier la réalisation et augmenter l'efficacité des cycles de base on peut, si éviter l'utilisation des cycles mis et examiner la succession des éléments de la clé seulement une fois. Il est nécessaire préalablement de former pour cela »«ß½Ññ«óáÔѽý@¡«ßÔý des éléments de la clé en cet ordre, dans qui ils sont utilisés dans le cycle correspondant de base.

2.   Pour l'essentiel le pas криптопреобразования 8 fois sont accomplies la substitution des groupes de 4 bits des données. Le processeur de but de la réalisation n'a pas l'équipe du remplacement des groupes de 4 bits, a cependant l'équipe confortable du remplacement d'octet (xlat). Son utilisation donne les profits suivants :

·      pour une équipe on accomplit à la fois deux remplacements;

·      disparaît la nécessité de mettre en relief les demi-bytes des mots doubles pour l'exécution du remplacement, mais puis des résultats de 4 bits des remplacements former de nouveau le mot double.

Cela atteint l'augmentation considérable de la puissance du code, cependant le monde ce est arrangé ainsi que pour tout il faut payer, et dans le cas présent le paiement est la nécessité de la transformation du tableau des remplacements. Chacune de quatre paires de noeuds 4-de décharge des remplacements est remplacé à un noeud 8-de décharge, que, en disant la langue des mathématiques, représente l'oeuvre directe des noeuds entrant dans la vapeur. Une paire des noeuds 4-de décharge demande pour la représentation de 16 octets, un 8-de décharge – 256 octets. Ainsi, le montant du tableau des remplacements, qui doit être eue en mémoire de l'ordinateur, augmente jusqu'à 4·256=1024 d'octets, ou jusqu'à un kilo-octet. Certes, un tel paiement pour l'augmentation essentielle de l'efficacité de la réalisation est tout à fait acceptable.

3.   Après l'exécution des substitutions du code selon le tableau des remplacements le pas principal криптопреобразования suppose le progrès cyclique du mot double à gauche sur 11 bits. En vertu de l'architecture de 16 bits des processeurs examinés la rotation du bloc de 32 bits même sur 1 bit il est impossible de réaliser moins, que pour trois ассемблерные les équipes, mais la rotation sur le plus grand nombre des catégories seulement comme la succession des rotations séparées sur 1 catégorie. Heureusement, on peut présenter la rotation sur 11 bits à gauche comme la rotation à 8 bits, mais puis encore sur 3 bits à gauche. Je pense, pour tous il est évident que la première rotation se réalise par trois équipes de l'échange des registres d'octet (xchg). Mais le secret de la troisième optimisation même pas dans cela. Le remplacement d'un octet selon le tableau des remplacements se réalise par l'équipe xlat, qui accomplit l'opération sur l'argument dans le registre AL, pour remplacer tous les octets du mot double, il faut successivement les placer à ce registre. Le secret de la troisième optimisation consiste en ce que l'on peut organiser ces réarrangements ainsi que le mot finalement double se trouvera tourné sur 8 bit à gauche, c'est-à-dire dans le cumul du remplacement selon le tableau et dans la rotation sur octet à gauche. Encore un moment, sur qui se trouve faire l'attention, ce codage optimum de trois rotations successives à 1 bit, cela peut être réalisé différemment et il était important de choisir le moyen optimum, qui s'est trouvé pas du tout évident, puisque a demandé de la sortie au-delà de la logique битовых des progrès et l'utilisation de l'équipe de la sommation avec les bits du transfert (adc), c'est-à-dire le bit se place sur la position non par l'équipe du progrès, mais l'équipe de la sommation!

3.2. La    description des fonctions et la particularité de la réalisation.

En tenant compte des principes exposés plus haut il y a deux réalisations de la norme d'État pour les processeurs de la famille Intel x86, les proches selon la puissance vers l'optimum possible – en conséquence pour 16 et 32 битовых des processeurs. Le code pour les processeurs de 32 bits environ dans une et demi fois est plus rapide le code correspondant pour les processeurs de 16 bits. Le noyau est le sous-programme réalisant le cycle universel de base de la norme d'État. Les textes initiaux de tous les sous-programmes sont amenés à titre des applications au présent article dans les fichiers séparés, ils sont énumérés dans le tableau suivant plus bas 1. Toutes les fonctions sont autodocumentées, chacune est décrit dans le fichier correspondant avec son texte initial.

Le tableau 1. La liste des fichiers.

La fonction du module

Le nom du fichier исх.текста

 

 

16 bits

32 bits

1.    

Le cycle universel de base de la norme d'État

gost.asm

gost ~. asm

2.    

La fonction pour - et расшифрования des données en régime du remplacement simple

simple.asm

simple ~. asm

3.    

La fonction pour - et расшифрования des données en régime гаммирования

gamma.asm

gamma ~. asm

4.    

La fonction зашифрования des données en régime гаммирования avec la liaison en retour

gammale.asm

gammale ~. asm

5.    

La fonction расшифрования des données en régime гаммирования avec la liaison en retour

gammald.asm

gammald ~. asm

6.    

La fonction du calcul имитовставки pour le tableau

imito.asm

imito ~. asm

7.    

La fonction de la construction de la clé élargie

expkey.asm

expkey ~. asm

8.    

La fonction de la construction élargi (1Кбайт) les formes du tableau des remplacements de la forme ordinaire (128 octet)

expcht.asm

9.    

La fonction du contrôle, si est le processeur, sur qui on avoir l'application, de 32 bits.

ge386cpu.asm

10. 

Le fichier de titre pour l'utilisation ¬Ó¿»Ô«úÓáõ¿@þÑ߬¿Õ des fonctions dans les programmes dans la langue du Si

gost.h

L'assortiment des modules insère les fonctions pour les régimes principaux шифрования, ainsi que deux fonctions auxiliaires destinées à la construction élargies en conséquence clé et le tableau des remplacements. On plus bas expose les principes de la construction des modules de programme.

1.   Toutes les fonctions шифрования et les calculs имитовставки travaillent (i.e. chiffrent ou calculent имитовставку) les domaines avec le montant, multiple de huit. La longueur le domaine travaillé à l'appel des fonctions mentionnées est donnée à восьмибайтных les blocs. Dans les situations réelles cela n'amène pas à l'inconvénient pour les raisons suivantes :

·      à шифровании par le remplacement simple le montant du domaine chiffré est engagé à être multiple huit octets;

·      à шифровании гаммированием (avec ou sans liaison en retour) le tableau avec le montant, non multiple de huit, sera chiffré aussi "les ordures" se trouvant dans le dernier восьмибайтовом le bloc en dehors des données signifiantes, cependant son contenu ne donnent pas aucune influence sur les données signifiantes et peut ne pas être pris en considération;

· au      calcul имитовставки pour les tableaux leur montant doit être amené à la signification, multiple de huit, le supplément de quelque code fixé (les bits d'habitude nuls).

2. Les   fonctions cryptographiques шифрования et les calculs имитовставки permettent d'accomplir le traitement des tableaux par parties. Cela signifie qu'à l'appel de la fonction correspondante l'une fois pour un certain domaine des données et à quelques appels de la même fonction pour les fragments successifs du même domaine (naturellement leur montant doit être multiple huit octets, voir la remarque précédente) sera reçue le même résultat. Cela permet de travailler donné par les portions, en utilisant le tampon par le montant seulement 8 octets.

3.   Pour pour - et расшифрования du tableau en régime du remplacement simple on utilise la même fonction. Le choix d'un de deux opérations indiquées se réalise par le devoir de la clé correspondante élargie. La succession des éléments de la clé doit être mutuellement inverse pour les opérations indiquées.

4.   Pour pour - et расшифрования du bloc des données en régime гаммирования on utilise la même fonction, puisqu'en régime donné зашифрование et расшифрование des données sont identiques. La fonction réalisant шифрование гаммированием ne réalise pas la transformation initiale du synchroenvoi (voir le schéma de l'algorithme sur fig. 5, le bloc 1), cela il est nécessaire d'exercer avec l'aide de l'appel évident de la fonction шифрования en régime du remplacement simple pour le synchroenvoi, est un paiement pour la possibilité de chiffrer le massif par parties.

5.   Pour l'universalité du code tous les index sur les domaines des données travaillées sont faits par les lointains. Si fait le code pour chaque modèle de la mémoire est atteinte, probablement, certain non nul (mais très petit!) l'économie de la mémoire et le temps de l'exécution, mais à mon avis, celle-ci le jeu n'en vaut pas la chandelle.

6.   Pour l'assemblage (compilation) et l'assemblage des modules mis j'utilisais les moyens de l'élaboration de la société Borland – TASM 2.5 et est plus haut, Borland C/C ++ 2.0 et est plus haut. À l'utilisation d'autres moyens de l'élaboration on demandera probablement la modification aux textes initiaux des programmes.

Pour l'illustration de l'utilisation des fonctions présentées cryptographiques au présent article sont mis aussi le texte du programme шифрования des fichiers des données dans la langue du Si et les fichiers correspondants du projet. Ces fichiers les suivants :

·      cryptor.c les textes Initiaux du programme шифрования des fichiers;

·                                                              gost.mak le Fichier du projet pour la version de 16 bits du programme шифрования des fichiers;

·                                                              gost386.mak le Fichier du projet pour la version de 32 bits du programme шифрования des fichiers.

La description de la construction et la syntaxe de l'appel (la ligne de commande) les programmes шифрования des fichiers se joint aussi au présent article.

3.3. La    question de la puissance.

Après l'élaboration de la nouvelle réalisation de programme l'était mesuré íÙßÔÓ«@ñÑ®ßÔó¿Ñ, pour quoi on élaborait l'assortiment des modules simples destinés à la construction de la tâche de mesure. Cette tâche fixe et déduit sur l'écran le temps (dans les tacts du générateur de la fréquence à mesure таймера, 1193180 hertz), dépensé par le sous-programme testé sur l'exécution. Selon le temps de travail mesuré du sous-programme puis on calcule (à la main) sa puissance comme la relation de la quantité de travail au temps de son exécution.

La durée maxima mesurée avec le programme du procès est égale 232/1193180 »3599.6 secondes, c'est-à-dire environ à une heure. Le programme travaille correctement et donne les résultats justes, seulement si est lancée de ДОСа.

Pour les modules de la norme d'État on mesurait la durée шифрования d'un Méga-octet des données, qui était modelé 32-multiple шифрованием 32-Kilobajtnoj les domaines de la mémoire. Les mesures étaient passées en voitures des diverses classes, les résultats de la mesure sont amenés plus bas dans le tableau 2. Pour les processeurs de 32 bits on aussi amène la puissance des réalisations de 32 bits des modules cryptographiques (le nombre inférieur dans la cellule correspondante). Pour la comparaison on amène aussi les mesures de la puissance de la réalisation du standard américain шифрования DES, publié à la revue "le Moniteur" №7/1994. Les résultats des tests ont montré que la puissance des modules pour tous les régimes шифрования de la norme d'État est identique environ, mais la puissance du module du calcul имитовставки approximativement excède deux fois la puissance шифрования – que, proprement, et on s'attendait. La réalisation шифрования il est essentiel conformément à GOST (plus qu'à deux fois) excède la réalisation étudiée DES selon la puissance.

Le tableau 2. Les résultats de la mesure de la puissance des modules шифрования

Marque de l'ordinateur,

Y compris,

La puissance des modules cryptographiques

Le type du processeur

MHZ

gamma

gammaLD

gammaLE

simple

imito

DES

L'étincelle 1031, К1810ВМ88

4.52

8.4

8.6

8.7

8.7

16.9

Il n'y a pas de données

AMI 286

Intel 80286

10

20.4

20.7

20.8

20.8

40.8

11.2

Prolinea 325

Intel 386SX-25

25

48.0

66.0

48.6

71.1

48.8

67.4

48.0

71.5

93.7

139

22.0

Неизв.модель

Intel 386SX-33

33

63.8

87.6

64.5

94.5

64.7

89.5

63.8

95.0

124

185

25.9

BYTEX

Intel 386DX-40

40

89

120

90

135

91

122

91

135

177

264

39.3

Acer

Intel486SX33

33

114

150

113

161

114

151

114

162

226

321

41.2

Presario 460

Intel486SX2-66

66

225

298

222

319

229

303

227

324

451

637

82.2

Acer

Pentium-66

66

302

351

296

397

307

355

293

405

601

777

88.7

Maintenant nous estimerons les paramètres atteints du point de vue qualitatif. Les vitesses limites шифрования excèdent beaucoup la vitesse du travail du paiement de matériel шифрования "Kripton-3" (jusqu'à 70 Kbt\s) et correspondent environ à la puissance du paiement de "Kripton-4" (près de 400 Kbt\s). Il suffit à la productivité atteinte non pour en effet transparent шифрования les données, gardé sur les disques durs ou transmis par le réseau rapide. D'autre part, la puissance de la réalisation il suffit tout à fait pour шифрования les données dans les voies de communication commutées et pour les cas plusieurs autres.

Si on peut encore augmenter la puissance de la réalisation de la norme d'État ? On peut, mais un peu, si rester dans le cadre de la spécification formelle de la norme d'État. Il est nécessaire de refuser pour cela le cycle dans le sous-programme «gost», продублировав le corps du cycle 32 fois, comme c'était fait par l'auteur de l'émulateur de programme du paiement "le Krypton". On peut ne pas déployer De plus la clé à la succession linéaire des éléments, mais alors pour chaque cycle de base de la transformation cryptographique il faut faire le module de programme et le code du pas principal assistera dans les codes des procédures cryptographiques à 32+32+16=80 les exemplaires. Un tel moyen de l'augmentation de l'efficacité amène au gonflement multiple du code à plus que le gain modeste à »Ó«¿ºó«ñ¿Ôѽý¡«@ßÔ¿, c'est pourquoi peu probablement on peut le trouver bon.

4. Les    questions de l'utilisation du standard.

4.1. La    sécurité de la réalisation.

La question de la sécurité du moyen de programme de la protection cryptographique cela non seulement la question de la résistance de l'algorithme utilisé. L'utilisation du chiffre ferme ne peut pas faire même votre système sûr, bien que soit la condition sine qua non. Un très important rôle est joué par le moyen de l'application de l'algorithme cryptographique. Ainsi, dans le programme mis au présent article шифрования des fichiers, la conservation de l'information clé sur les disques dans l'aspect ouvert fait le système, qui serait réalisé sur ce programme, potentiellement instable. Les procédures et les règles du plus haut niveau réglementant l'utilisation des algorithmes шифрования et tout lié avec celui-ci, dressent au total un soi-disant procès-verbal cryptographique. Ce procès-verbal définit le règlement de la production, l'utilisation, la conservation et le remplacement de l'information clé, et d'autres pas moins importantes questions. Donc pour que votre système utilisant la réalisation des algorithmes de la norme d'État, soit sûr en effet, il vous sera nécessaire de prendre soin de l'élaboration du procès-verbal correspondant.

4.2. Les    versions au sujet de la norme d'État.

Très souvent pour l'utilisation dans le système de la protection cryptographique des données on demande l'algorithme avec grand, que près de la norme d'État par la puissance de la réalisation, et il ne faut pas de plus même haut comme près de la norme d'État криптостойкость. L'exemple typique des tâches semblables sont d'une diverse génération les systèmes boursiers commerciaux dirigeant les sessions commerciales dans le temps réel. Ici il faut aux algorithmes utilisés шифрования qu'il était impossible de déchiffrer les systèmes rapides donnés pendant la session (les données sur les demandes exposées, sur les marchés détenus etc.), à son expiration ces données, en général, sont déjà inutiles aux malfaiteurs. En d'autres termes, on demande la résistance garantie de tout pour quelques heures (est telle la durée typique de la session commerciale). Clairement que l'utilisation de la norme d'État au poids requis dans cette situation serait le tir du canon selon les moineaux.

Heureusement, de cette situation il y a une sortie assez facile – utiliser la modification de l'algorithme la norme d'État avec une plus petite quantité de pas principaux dans les cycles de base. De cela on peut atteindre par deux voies – la réduction de la longueur la clé et la réduction du nombre des cycles de l'utilisation des éléments de la clé – se rappelez que le nombre des pas principaux dans les cycles de base шифрования est égal N=n·m, où n – le nombre des éléments de 32 bits en clé, m – le nombre des cycles de l'utilisation des éléments clés, dans le standard n=8, m=4. À diminue combien de fois le nombre des pas principaux dans les cycles, environ à tant de fois augmente la puissance du code.

Malheureusement, il n'y a d'aucunes informations comment change криптостойкость de la variante semblable affaiblie de la norme d'État. Quant à криптоанализа selon la ligne statistique (l'excédent des significations toutes possibles de la clé), ici tout est assez clair, puisque cette valeur est définie seulement par le montant de la clé. Il est beaucoup plus difficile de prédire, autant moins complexe deviendra криптоанализ selon la ligne algorithmique (l'analyse des équations de la transformation des données à eux шифровании).

Au choix du montant "du cycle réduit» il faut prendre en considération que la norme d'État était projetée en tenant compte du progrès possible des équipements informatiques sur quelques décennies en avant et dans lui on met le stock immense криптостойкости. À mon avis (profondément personnel), dans la plupart des cas pratiques on semble raisonnable l'utilisation des variantes réduites de la norme d'État sans changement du schéma de l'utilisation de la clé (m=4=3+1), mais avec le montant diminué quatre fois de la clé (n=2) est permettra d'augmenter la vitesse шифрования environ quatre fois. Selon la résistance aux méthodes statistiques криптоанализа la modification donnée avec sa clé de 64 bits sera de façon plus certaine, que DES avec le montant de la clé à 56 bits.

Les fonctions криптопреобразования, joignant au présent article, admettent l'utilisation semblable, puisque la longueur la clé déployée est transmise à titre du paramètre à chacun des sous-programmes de la transformation cryptographique, mais le sous-programme de "l'élargissement" de la clé permet de travailler avec la longueur arbitraire la clé et le schéma de l'élargissement de la clé.

4.3. Le    travail extraordinaire de la gamme cryptographique.

Certes, la destination principale криптоалгоритмов de la norme d'État est шифрование et имитозащита des données. Cependant la gamme cryptographique a encore une importante application – la production de l'information clé. La production du massif clé ou парольной les informations du grand volume est la tâche standard de l'administrateur de la sécurité du système. Comme était déjà marqué plus haut, la clé peut être générée comme le massif du montant nécessaire des 0 0 et 1 bits d'après les statistiques indépendants et entre significations, on peut utiliser pour cela le programme élaborant la clé selon le principe de «la roulette électronique». Mais une telle approche ne convient pas du tout, quand le volume de l'information nécessaire clé est grand. Dans ce cas l'utilisation des détecteurs de matériel des nombres accidentels est idéale qu'il n'est pas toujours possible, cependant, selon les considérations économiques ou techniques. Dans ce cas à titre de la source du flux des bits accidentels on peut utiliser le générateur de la gamme à la base de n'importe quel chiffre par blocs, y compris la norme d'État 28147-89, puisque, par la définition, la gamme cryptographique possède les caractéristiques nécessaires statistiques et криптостойкостью. Ainsi, la production de quelques clés doit seulement générer le tableau selon l'algorithme de la production de la gamme, et le couper sur les portions du montant nécessaire, pour la variante standard – 32 octets.

Avec les mots d'ordre l'affaire va un peu plus difficilement. Avant tout apparaît la question, pourquoi il les faut générer en général, si non plus facilement les prendre en cas de besoin de la tête. L'inconsistance d'une telle approche était évidemment démontrée par une série des incidents dans les réseaux informatiques, le plus grand de qui il y avait une paralysie de vingt-quatre heures du réseau Internet en novembre 1988 par Un des moyens de l'accès du programme malintentionné au système il y avait une sélection des mots d'ordre : le programme tentait d'entrer dans le système, en essayant successivement les mots d'ordre de la liste intérieure à quelques centaines, et en outre dans la part considérable des cas à celle-ci on réussissait à faire cela – la fantaisie de la personne selon l'invention des mots d'ordre s'est trouvée très pauvre. C'est pourquoi dans ces organisations, où on donne à la sécurité l'attention voulue, les mots d'ordre génère et l'administrateur systémique selon la sécurité distribue aux utilisateurs.

La production des mots d'ordre est un peu plus complexe, que la production des clés, puisque de plus il est nécessaire de transformer la gamme "crue" binaire vers l'aspect symbolique, et non simplement "couper" sur les morceaux. L'essentiel, sur quoi est nécessaire de faire l'attention de plus – la garantie de la probabilité égale de l'apparition de chacun des symboles de l'alphabet.

Les textes initiaux des programmes de la production du massif des mots d'ordre et les clés dans la langue du Si sont mis au présent article.

Яндекс цитирования

Subscribe Subscribe.Ru
The Family Tree of Family