Andrei Vinokurov.

El algoritmo de la cifración el GOST 28147-89, su uso y la realización para los ordenadores de la plataforma Intel x86.

El artículo, propuesto atención su, contiene la descripción del algoritmo aceptado en calidad del estándar de la cifración en la Federación Rusa y su realización para los procesadores de la familia Intel x86, también la discusión de las preguntas distintas de su uso práctico. La parte de los materiales que han entrado en el artículo dado, era publicada en la revista "el Monitor" №1,5 en 1995.

El contenido

En vez del prefacio...................................................................................................................... 2

1. La descripción del algoritmo.................................................................................................................

1.1. Los términos y designaciones.....................................................................................................

1.2. La lógica de la construcción de la cifra y la estructura de la información clave del GOST.......................

1.3. El paso básico криптопреобразования.............................................................................

1.4. Los ciclos básicos de las transformaciones criptográficas.....................................................

1.5. Los regímenes básicos de la cifración.......................................................................................

2. La discusión de los algoritmos criptográficos del GOST..........................................................

2.1. La firmeza criptográfica del GOST............................................................................

2.2. Las observaciones de la arquitectura del GOST...................................................................................

2.3. Las exigencias a la cualidad de la información clave y las fuentes de las llaves.........................

3. Las observaciones de la realización.......................................................................................................

3.1. Tres pasos de la optimización.....................................................................................................

3.2. La descripción de las funciones y el rasgo de la realización............................................................

3.3. La pregunta de la velocidad...................................................................................................

4. Las preguntas del uso del estándar........................................................................................

4.1. Seguridad de la realización...................................................................................................

4.2. Las variaciones al tema del GOST................................................................................................

4.3. El trabajo insólito de la escala criptográfica...............................................................


En vez del prefacio.

Lo que la información tiene el valor, las personas han reconocido hace muchísimo – no sin razón la correspondencia de los omnipotentes desde muy antiguo era el objeto de la atención fija de sus enemigos y los amigos. Entonces ha surgido la tarea de la defensa de esta correspondencia de los ojos excesivamente curiosos. Antiguo trataban de usar para la decisión de esta tarea los métodos más diversos, y un de ellos era la criptografía – la habilidad de componer los mensajes así que su sentido sea inaccesible a nadie excepto confiado el misterio. Hay unos certificados a lo que el arte de la criptografía ha nacido todavía en доантичные los tiempos. ¡A lo largo de toda la historia multisecular, hasta el tiempo completamente reciente, esta arte servía pocos, en general a la parte superior de la sociedad, sin pasar de la raya de las residencias de los jefes de los estados, las embajadas y – claro! – las misiones de exploración. Y algunos décadas atrás todo se ha cambiado radicalmente – la información ha adquirido el valor independiente comercial y se hacía la mercancía ampliamente difundida, casi regular. La hacen, guardan, transportan, venden y compran, entonces – roban y falsifican – y, por consiguiente, es necesario protegerla. La sociedad moderna todo se hace en gran medida informativo-condicionado, el éxito de cualquier tipo de la actividad todo depende más fuerte de la posesión por las ciertas noticias y de su ausencia a los competidores. Y se manifiesta más fuerte el efecto indicado, las pérdidas más de potenciales de los abusos en la esfera informativa, y es más grandes la necesidad de la defensa de la información. En una palabra, el surgimiento de la industria del tratamiento de la información con la necesidad de hierro ha llevado al surgimiento de la industria de los medios de la defensa de la información.

Entre todo el espectro de los métodos de la defensa cedido del acceso indeseable el sitio especial es ocupado por los métodos criptográficos. A diferencia de otros métodos, se apoyan sólo en las propiedades de la información y no usan la propiedad de sus portadores materiales, el rasgo de los nudos de su tratamiento, la transmisión y el almacenaje. Figuradamente hablando, los métodos criptográficos construyen la barrera entre la información protegida y el malhechor real o potencial de la información. Claro, bajo la defensa criptográfica en primer lugar – así se ha formado históricamente – sobrentiende la cifración de los datos. Antes, cuando esta operación se cumplía por la persona a mano o con el uso de las adaptaciones distintas, y a las embajadas contenían los departamentos populosos de los cifradores, el desarrollo de la criptografía se contenía por el problema de la realización de las cifras, ya que era posible inventar todo lo que sea necesario, pero como realizarle … la Aparición de las computadoras digitales que ha llevado al fin de cuentas a la creación de la industria potente informativa, ha cambiado todo radicalmente y en esta esfera. Por un lado, los efractores de las cifras han recibido en las manos el instrumento extraordinariamente potente, por otro lado, la barrera de la complicación de la realización ha desaparecido y para los fundadores de las cifras se han abierto las perspectivas prácticamente infinitas. Todo esto ha determinado el progreso impetuoso de la criptografía en las últimas décadas.

Como cada estado, que respeta, la Federación Rusa tiene el estándar de la cifración. Este estándar es fijado por el GOST №28147-89, aceptado, como se desprende de su designación, aun en 1989 en la URSS. Sin embargo, sin duda, la historia de esta cifra mucho más remoto. El estándar ha nacido hipotéticamente en los subsuelos de la octava administración central de KGB de la URSS transformada ahora en ФАПСИ. A causa de mí tiene ocasión conversar con las personas que afirmaban que aun en 70 años participaban en los proyectos de la creación de las realizaciones de programa y duras de esta cifra para las plataformas distintas informáticas. En aquel entonces él tenía el grifo «las Lechuzas. Es secreto», más tarde el grifo era cambiado en "es secreto", luego es quitado completamente. A mi copia del GOST había una marca sólo modesta «ДСП». Por desgracia, a diferencia del estándar, la historia de su creación y los criterios del diseñado de la cifra hasta ahora se quedan el misterio detrás de siete prensas.

El uso posible del GOST en sus propias elaboraciones pone la serie de preguntas. La pregunta primero – si no existe los obstáculos jurídicos para esto. La respuesta aquí las horas muertas – tales obstáculos no existe usted podéis con soltura usar el GOST, él no es patentado, por consiguiente, no de quien pedir los permiso. Además, tenéis a este derecho completo moral como los herederos de los que ha pagado la elaboración del estándar del bolsillo, – ante todo tengo en vista de sus padres. Las decisiones correspondientes del gobierno de nada nuevo no aportan el decreto conocido del Presidente de Rusia №334 de 03.04.95 y en este cuadro. Aunque es formal prohíben la elaboración de los sistemas que contienen los medios криптозащиты jurídicos y las personas físicas, que no tienen las licencias para este tipo de la actividad, pero realmente el decreto se distribuye sólo en caso de los secretos estatales dados, que componen el misterio bancario y así sucesivamente, en resumen, él funciona solamente allí, donde es necesario el trozo de papel que «los datos son protegidos».

¿Bien, con la competencia de la aplicación del GOST han comprendido, ahora se pararemos sobre la pregunta de la oportunidad – ante todo, si podemos confiarnos a este engendro de la Lubyanka lúgubre, si no han empotrado los compañeros los funcionarios de las salidas en los algoritmos de la cifración? Esto es muy poco probable, puesto que el GOST se creaba en aquel entonces, cuando era inconcebible su uso fuera de los límites de los objetos estatales con régimen especial. Por otro lado, la firmeza del algoritmo criptográfico no es posible confirmar, se puede solamente desmentirla por la fractura. Por eso, mayor algoritmo, es más grande que las posibilidades para lo que, si él no es forzado hasta ahora, él no será forzado y en el próximo futuro visible. En esta luz todas las conversaciones sobre último «las elaboraciones originales» «los muchachos talentosos» no pueden ser en general serios – cada cifra debe sostener la comprobación por el tiempo. Pero ya que las cifras que han sostenido la comprobación semejante, es a ciencia cierta más grande uno – excepto el GOST ya que es también DES, su hermanito mayor americano, es otras cifras. ¿Por qué entonces el GOST? Claro, en mucho este asunto de las propensiones personales, pero es necesario recordar también que el GOST por la mayoría de los parámetros supera todos estos algoritmos, incluso DES. ¡Y, al fin y al cabo, donde nuestro Patriotismo Ruso?!

El uso ancho del GOST en las elaboraciones de los programadores Rusos molesta, según mi opinión, la falta de la información publicada sobre ello, también cierta aureola del misterio que se ha formado de él y es hábil por alguien apoyado. En realidad nada difícil en la cifra no existe, él es accesible para la comprensión y la realización al programador de cualquier nivel pero, tanto como en todo otro, la creación de la realización realmente buena tiene que ser el profesional. Trabajaba con el GOST como el programador con 91 durante 94 año, y en este tiempo a mí ha resultado muy acertado (¡y bien, como no alabarse!) su realización de programa para los procesadores de la familia Intel x86, que se acerca por la velocidad al óptimo posible.

El objetivo del artículo presente es el conocimiento todo interesado con el algoritmo y su realización en la plataforma Intel x86. Concedo la realización, elaborada por mí, del GOST en los bienes públicos, puede usarla cada uno a condición de la referencia a mi propiedad de autor. El texto del artículo presente puede ilimitadamente distribuirse en el tipo tipográfico y electrónico en aquel y solamente en caso de que esto no es conjugado directamente o indirectamente con la extracción del beneficio, es necesario en caso contrario mi permiso escrito.

El artículo consiste de cuatro partes. La primera parte contiene la descripción, а segundo – la discusión del algoritmo, tercero y cuarto se precipita contienen respectivamente la descripción de su realización y la discusión de algunos aspectos de su aplicación. Así, comenzaremos...

1. La     descripción del algoritmo.

1.1. Los     términos y designaciones.

La descripción del estándar de la cifración de la Federación Rusa contiene en el documento muy interesante intitulado «el Algoritmo de la transformación criptográfica dado al GOST 28147-89». Lo que en su nombre en vez del término "la cifración" figura una noción más general «la transformación criptográfica», en absoluto casualmente. Además de algunos procedimientos apretadamente vinculados entre ellos de la cifración, en el documento es descrito uno construido en los principios generales con ellos el algoritmo de la fabricación имитовставки. Último es no que otro, como la combinación criptográfica de control, es decir el código producido de los datos iniciales con el uso de la clave secreta con el objetivo имитозащиты, o la defensa de los datos de la inserción en ellos de los cambios no autorizados.

Sobre los pasos distintos de los algoritmos del GOST los datos, que operan, son interpretados y se usan por la imagen distinta. En algunos casos los elementos de los datos son tratados como los macizos de independientes битов, en otros casos – como el número entero sin signo, en tercero – como el elemento difícil, que tiene la estructura que consiste de algunos elementos más simples. Por eso para evitar la confusión debe ponerse de acuerdo en designaciones usadas.

Los elementos de los datos en el artículo dado se dejan ver por las letras iniciales latinas con el trazado inclinado (por ejemplo, X). A través de |X | se deja ver la dimensión del elemento de los datos X en las palas. Así, si interpretar el elemento dado X como el número entero no negativo, se puede anotar la desigualdad siguiente: 0£X <2|X |.

Si el elemento de los datos consiste de algunos elementos de la dimensión menor, este hecho se deja ver del modo siguiente: X = (X0, X1..., Xn-1) = X0 || X1 ||... || Xn-1. El procedimiento de la asociación de algunos elementos de los datos en uno se llama конкатенацией de los datos y se deja ver por el símbolo ||. Naturalmente, para las dimensiones de los elementos de los datos debe cumplirse la correlación siguiente: |X | = | X0 | + | X1 | +... + |Xn-1 |. A la tarea de los elementos difíciles de los datos y la operación конкатенации los elementos que componen de los datos pasan en línea ascendiente la mayoría. Con otras palabras, si interpretar el elemento componente y todos los elementos, que entran en él, de los datos como los números enteros sin signo, es posible anotar la igualdad siguiente:

En el algoritmo el elemento de los datos puede ser interpretado como el macizo de separados битов, en este caso las palas es designado la misma letra, así como el macizo, pero en la variante minúscula, como se muestra en el ejemplo siguiente:

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

Si sobre los elementos de los datos se cumple alguna operación que tiene el sentido lógico, se supone que la operación dada se cumple sobre las palas correspondientes de los elementos. Con otras palabras AB = (a0b0, a1b1..., an-1•bn-1), donde n = | A | = | B |, а por el símbolo “” se deja ver la operación cualquiera binaria lógica; como regla, hay en vista de la operación que excluye o, – la operación de la suma del módulo 2: aÅb = (a+b) mod 2.

1.2. La     lógica de la construcción de la cifra y la estructura de la información clave del GOST.

Si estudiar con atención el original del GOST 28147–89, se puede notar que en ello contiene la descripción de los algoritmos de algunos niveles. En superior se encuentran los algoritmos prácticos destinados a la cifración de los macizos de los datos y la fabricación por ellos имитовставки. Todos ellos se apoyan en tres algoritmos del nivel inferior llamado en el texto del GOST por los ciclos. Estos algoritmos fundamentales son mencionados en el artículo dado como los ciclos básicos para distinguirlos de todos otros ciclos. Tienen los nombres siguientes y designaciones, último son llevados en los paréntesis y su sentido será explicado más tarde:

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

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

· el      ciclo de la fabricación имитовставки (16-Z).

A su vez, cada uno los ciclos básicos representa la repetición repetida de procedimiento uno solo llamado para la certeza más en el trabajo presente por el paso básico криптопреобразования.

Así para comprender el GOST, es necesario comprender tres cosas siguientes:

Que tal el paso básico криптопреобразования;

Como de los pasos básicos hay unos ciclos básicos;

Como de tres ciclos básicos hay todos unos algoritmos prácticos del GOST.

Antes de pasar al estudio de estas preguntas, debe hablar sobre la información clave usada por los algoritmos del GOST. En concordancia con el principio de Kirhgofa, a que satisfacen todas las cifras modernas, conocidas a la comunidad anchas, su confidencialidad abastece la confidencialidad del mensaje cifrado. En el GOST la información clave consiste de dos estructuras de los datos. Además de en realidad llave, necesario para todas las cifras, contiene también la tabla de las sustituciones. Son más abajo llevadas las características básicas de las estructuras claves del GOST.

1. La llave es el macizo de ocho elementos 32-de bit del código, más en el trabajo presente él se deja ver por el símbolo К:. En el GOST los elementos de la llave se usan como los números 32-de descarga enteros sin signo:. Así, la dimensión de la llave compone 32·8=256 de las palas o 32 байта.

2. La tabla de las sustituciones es la matriz 8'16, que contiene 4-bitovye los elementos, que se puede presentar en forma de los números enteros de 0 hasta 15. Las líneas de la tabla de las sustituciones se llaman en los nudos de las sustituciones, deben contener los significados distintos, es decir cada nudo de las sustituciones debe contener 16 números distintos de 0 hasta 15 en el orden cualquiera. En el artículo presente la tabla de las sustituciones se deja ver por el símbolo H:. Así, el volumen total de la tabla de las sustituciones es igual: 8 nudos ´ 16 elementos/nudos ´ 4 pala/elemento = 512 palas o 64 байта.

1.3. El     paso básico криптопреобразования.

El paso básico криптопреобразования es en su esencia al operador que determina la transformación 64-bitovogo del bloque de los datos. El parámetro adicional de este operador es 32-bitovyj el bloque, en que cualidad se usa elemento cualquiera de la llave. El esquema del algoritmo del paso básico es llevado en el dibujo 1. Son más abajo dadas las explicaciones al algoritmo del paso básico:

Øàã 0.         Determina los datos iniciales para el paso básico криптопреобразования:

·                          N – convertible 64-bitovyj el bloque de los datos, durante la ejecución de su paso menor (N1) y mayor (N2) las partes son tratadas como separados 32-bitovye los números enteros sin signo. Así, es posible anotar N = (N1, N2).

·                          X 32-bitovyj el elemento de la llave;

Øàã 1. La         adición con la llave. La mitad menor del bloque convertible se forma por el módulo 232 con el elemento, usado sobre el paso, de la llave, el resultado pasa al paso siguiente;

Øàã 2. La         sustitución Poblochnaja. 32-bitovoe el significado recibido sobre el paso anterior, es interpretado como el macizo de 4-bitovyh de los bloques del código: S = (S0, S1, S2, S3, S4, S5, S6, S7).

Más el significado cada uno ocho bloques es sustituido en nuevo, que sale por la tabla de las sustituciones del modo siguiente: el significado del bloque Si es sustituido en Si-tyj por orden el elemento (la numeración del cero) i nudos de las sustituciones (e.d. i líneas de la tabla de las sustituciones, la numeración también del cero). Con otras palabras, en calidad de la sustitución para el significado del bloque sale el elemento de la tabla de las sustituciones con el número de la línea igual al número del bloque sustituido, y el número de la columna igual al significado del bloque sustituido como 4-bitovogo del número entero no negativo. Ahora hay clara una dimensión de la tabla de las sustituciones: el número de las líneas en ella es igual al número de los elementos 4-de bit en el bloque 32-de bit dado, es decir, а el número de las columnas es igual al número de los significados distintos del bloque 4-de bit de los datos, igual como es conocido 24, dieciséis.

Fig. 1. El esquema del paso básico криптопреобразования del algoritmo el GOST 28147-89.

Øàã 3. El         desplazamiento cíclico a 11 palas a la izquierda. El resultado del paso anterior se mueve cíclicamente a 11 palas a un lado las categorías mayores y pasa al paso siguiente. Sobre el esquema del algoritmo por el símbolo Q11 es designada la función del desplazamiento cíclico del argumento a 11 palas a un lado las categorías mayores.

Øàã 4. La         adición Pobitovoe: el significado recibido sobre el paso 3, побитно se forma por el módulo 2 con la mitad mayor del bloque convertible.

Øàã 5. El         desplazamiento por la cadenita: la parte menor del bloque convertible se mueve al lugar mayor, а a su lugar está el resultado de la ejecución del paso anterior.

Øàã 6. El         significado recibido del bloque convertible vuelve como el resultado de la ejecución del algoritmo del paso básico криптопреобразования.

1.4. Los     ciclos básicos de las transformaciones criptográficas.

Como es notado a principios del artículo presente, el GOST se refiere a la clase de las cifras de bloques prefabricados, es decir la unidad del tratamiento de la información en ello es el bloque de los datos. Por consiguiente, es completamente lógico esperar que en ello serán determinados los algoritmos para las transformaciones criptográficas, es decir para зашифрования, расшифрования y "el recuento" en la combinación de control de un bloque de los datos. Estos algoritmos se llaman en los ciclos básicos del GOST que subraya su significado fundamental para la construcción de esta cifra.

Los ciclos básicos son construidos de los pasos básicos de la transformación criptográfica examinada en la sección anterior. Durante la ejecución del paso básico se usa solamente un elemento de la llave, mientras que la llave el GOST contiene tales ocho elementos. Por consiguiente que la llave sea usada por completo, cada uno los ciclos básicos debe repetidamente cumplir el paso básico con sus elementos distintos. Al mismo tiempo parece completamente natural que en cada ciclo básico todos los elementos de la llave deben ser usados el número igual de las vez, según las consideraciones de la firmeza de la cifra este número debe ser más de uno.

Todas las suposiciones hechas más arriba que se apoyan simplemente en el sentido común, se encontraban justas. Los ciclos básicos consisten en la ejecución repetida del paso básico con el uso de los elementos diferentes de la llave y se distinguen uno de otro solamente del número de la repetición del paso y el orden del uso de los elementos claves. Es más abajo llevado este orden para los ciclos distintos.

1. El   ciclo зашифрования 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. El   ciclo расшифрования 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. El   ciclo de la fabricación имитовставки 16-Z:

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

Cada uno los ciclos tiene propia designación alfanumérica correspondiente al modelo «n-X», donde el primer elemento designación (n), da el número de las repeticiones del paso básico en el ciclo, а el segundo elemento designación (X), la letra, da el orden зашифрования («З») o расшифрования («Р») en el uso de los elementos claves. Este orden tiene necesidad de la explicación adicional:

El ciclo расшифрования debe ser de vuelta al ciclo зашифрования, es decir la aplicación consecutiva de estos dos ciclos al bloque cualquiera debe dar en resumen el bloque inicial que se refleja por la correlación siguiente: Ц32-Р (Ц32-З (T)) =T, donde T – el bloque cualquiera 64-de bit de los datos, ЦX (T) – el resultado de la ejecución del ciclo X sobre el bloque de los datos T. Para la ejecución de esta condición para los algoritmos semejantes al GOST, es necesario y bastante que el orden del uso de los elementos claves por los ciclos correspondientes sea mutuamente de vuelta. En la justicia de la condición anotada para el caso examinado es fácil persuadirse, habiendo comparado las consecuencias llevadas más arriba para los ciclos 32-Ç è 32-Ð. De dicho sale una consecuencia interesante: la propiedad del ciclo de ser de vuelta a otro ciclo es mutuo, es decir el ciclo 32-Z es de vuelta con relación al ciclo del 32-río Con otras palabras, зашифрование del bloque dado ser teorético puede es cumplido por medio del ciclo расшифрования, en este caso расшифрование del bloque de los datos debe ser cumplido por el ciclo зашифрования. De dos ciclos mutuamente de vuelta cualquiera puede ser usado para зашифрования, entonces segundo debe ser usado para расшифрования de los datos, sin embargo el estándar ГОСТ28147-89 fija los papeles en los ciclos y no concede al usuario del derecho de la elección en esta pregunta.

бббббббббббббббббббббб

Fig. 2а. El esquema del ciclo зашифрования 32-Z. Fig. 2б. El esquema del ciclo расшифрования el 32-río

El ciclo de la fabricación имитовставки es dos veces más corto que los ciclos de la cifración, el orden del uso de los elementos claves en ello mismo, como en los primeros 16 pasos del ciclo зашифрования, en que es fácil persuadirse, habiendo examinado las consecuencias llevadas más arriba, por eso este orden en designación del ciclo es codificado por la misma letra «З».

Fig. 2в. El esquema del ciclo de la fabricación имитовставки 16-Z.

Los esquemas de los ciclos básicos son llevados en los dibujos del 2a-s. Cada uno ellos acepta en calidad del argumento y devuelve en calidad del resultado el bloque 64-de bit de los datos designados sobre los esquemas N. El símbolo Шàã (N, X) designa la ejecución del paso básico криптопреобразования para el bloque N con el uso del elemento clave X. Entre los ciclos de la cifración y el cálculo имитовставки hay todavía una diferencia no mencionada más arriba: a finales de los ciclos básicos de la cifración la parte mayor y menor del bloque del resultado se cambian por lugares, esto es necesario para su convertibilidad mutua.

 

1.5. Los     regímenes básicos de la cifración.

El GOST 28147-89 preve tres regímenes siguientes de la cifración de los datos:

· la      sustitución simple,

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

·      гаммирование con la realimentación,

Y un régimen adicional de la fabricación имитовставки.

En cualquier de estos regímenes los datos son tratados por los bloques por 64 pala, a que se estrella el macizo sometido la transformación criptográfica, precisamente por eso el GOST se refiere a las cifras de bloques prefabricados. Sin embargo en dos regímenes гаммирования hay una posibilidad del tratamiento del bloque incompleto dado por la dimensión menos de 8 bytes que es esencial a la cifración de los macizos de los datos con la dimensión cualquiera, que puede ser no múltiple 8 байтам.

Antes de pasar al examen de los algoritmos concretos de las transformaciones criptográficas, es necesario explicar designaciones usadas sobre los esquemas en las secciones siguientes:

Tо, Tш – los macizos respectivamente los datos abiertos y cifrados;

,I por orden los bloques 64-de bit respectivamente los datos abiertos y cifrados: 1£i£n, el último bloque puede ser incompleto:;

n – el número de los bloques 64-de bit en el macizo de los datos;

ЦX – la función de la transformación del bloque 64-de bit de los datos del algoritmo del ciclo básico «X»;

Ahora describiremos los regímenes básicos de la cifración:

1. La     sustitución simple.

Зашифрование en el régimen dado consiste en la aplicación del ciclo 32-Z a los bloques de los datos abiertos, расшифрование – el ciclo 32-R a los bloques de los datos cifrados. Esto más las horas muertas de los regímenes, 64-bitovye los bloques de los datos son tratados en ello independientemente uno de otro. Los esquemas de los algoritmos зашифрования y расшифрования en el régimen de la sustitución simple son llevados en los dibujos 3а y respectivamente, son triviales y no tienen necesidad de los comentarios.

La dimensión del macizo de los datos abiertos o cifrados, que se somete respectivamente зашифрованию o расшифрованию, debe ser múltiple 64 palas: |Tо | = | Tш | = 64·n, después de la ejecución de la operación la dimensión del macizo recibido de los datos no es cambiada.

Fig. 3а. El algoritmo зашифрования de los datos en el régimen de la sustitución simple.

Fig. 3б. El algoritmo расшифрования de los datos en el régimen de la sustitución simple.

El régimen de la cifración por la sustitución simple tiene los rasgos siguientes:

1.   Puesto que los bloques de los datos son cifrados independientemente uno de otro y de su posición en el macizo, a зашифровании de dos bloques iguales del texto abierto resultan los bloques iguales шифротекста y al contrario. La propiedad notada permitirá криптоаналитику hacer la conclusión sobre la identidad de los bloques de los datos iniciales, si en el macizo de los datos cifrados a ello había unos bloques idénticos que es inadmisible a la cifra seria.

2.   Si la longitud del macizo cifrado de los datos no es múltiple 8 байтам o a 64 palas, surge el problema, que y como completar el último bloque incompleto de los datos del macizo hasta 64 palas completas. Esta tarea no es tan simple, como parece a primera vista, ya que las decisiones evidentes como «completar el bloque incompleto con las palas de cero» o, más обще, «completar el bloque incompleto con la combinación fijada de cero y singular битов» pueden en ciertas condiciones dar en las manos криптоаналитика la posibilidad por los métodos del exceso de determinar el contenido de este bloque más incompleto, y este hecho significa el descenso de la firmeza de la cifra. Además, la longitud шифротекста se cambiará además, habiendo aumentado hasta próximas 64 palas enteras, múltiples que es a menudo indeseable.

A primera vista, los rasgos enumerados más arriba hacen prácticamente imposible el uso del régimen de la sustitución simple, ya que él puede aplicarse solamente para la cifración de los macizos de los datos con la dimensión a las 64 palas múltiples que no contiene los bloques 64-de bit que repeten. Parece que para cualesquiera real dado garantizar la ejecución de las condiciones indicadas es imposible. Esto casi así, pero es una excepción muy importante: se acuerden que la dimensión de la llave compone 32 байта, а la dimensión de la tabla de las sustituciones – 64 байта. Además, la presencia que repeten 8-bajtovyh de los bloques en la llave o la tabla de las sustituciones hablará sobre su cualidad muy mala, por eso en los elementos reales claves de tal repetición no puede ser. Así hemos aclarado que el régimen de la sustitución simple se acerca completamente para la cifración de la información clave, además, que otros regímenes son menos convenientes a este objetivo, ya que exigen la presencia del elemento adicional que sincroniza de los datos – el sincroenvío (cm. La sección siguiente). Nuestra conjetura es justa, el GOST prescribe usar el régimen de la sustitución simple exclusivamente para la cifración de los datos claves.

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

¿Cómo es posible librarse de las faltas del régimen de la sustitución simple? Para esto ¡Ñ@«íÕ«ñ¿¼« hacer posible la cifración de los bloques con la dimensión menos de 64 palas y abastecer la dependencia del bloque шифротекста de su número, en otras palabras, рандомизировать el proceso de la cifración. En el GOST esto es alcanzado por dos modos distintos en dos regímenes de la cifración que preven гаммирование. Гаммирование es una imposición (levantamiento) a los datos abiertos (cifrados) de la escala criptográfica, es decir la consecuencia de los elementos de los datos producidos por medio de algún algoritmo criptográfico, para la recepción de los datos cifrados (abiertos). Para la imposición de la escala a зашифровании y sus levantamientos a расшифровании deben usarse mutuamente las operaciones de vuelta binarias, por ejemplo, la adición y la sustracción por el módulo 264 para los bloques 64-de bit de los datos. En el GOST para este objetivo se usa la operación побитного las adiciones por el módulo 2, ya que es de vuelta a él y además se realiza más simplemente. Гаммирование decide los dos problemas mencionados; en primero, todos los elementos de la escala son distintos para los macizos reales cifrados y, por consiguiente, el resultado зашифрования hasta dos bloques iguales en un macizo de los datos será distinto. En segundo, aunque los elementos de la escala son producidos por las porciones iguales en 64 pala, puede usarse la parte de tal bloque con la dimensión igual a la dimensión del bloque cifrado.

Ahora pasaremos directamente a la descripción del régimen гаммирования. La escala para este régimen resulta del modo siguiente: por medio de algún generador algorítmico recurrente de la consecuencia de los números (РГПЧ) son producidos los bloques 64-de bit de los datos, que más se someten a la transformación por el ciclo 32-Z, es decir зашифрованию en el régimen de la sustitución simple, resultan en resultado los bloques de la escala. Gracias a lo que la imposición y el levantamiento de la escala se realiza por medio de la misma operación побитового que excluye o, los algoritmos зашифрования y расшифрования en el régimen гаммирования son idénticos, su esquema general es llevado en el dibujo 5.

РГПЧ, usado para las elaboraciones de la escala, es la función recurrente: Wi+1=f (Wi), donde Wi – los elementos de la consecuencia recurrente, f – la función de la transformación. Por consiguiente, surge inevitablemente la pregunta de su inicialización, es decir del elemento W0. En realidad, este elemento de los datos es el parámetro del algoritmo para los regímenes гаммирования, sobre los esquemas él es designado como S, y se llama en la criptografía en el sincroenvío, а en nuestro GOST – el relleno inicial de un de los registros шифрователя. Según las ciertas consideraciones los elaboradores del GOST han decidido usar para la inicialización РГПЧ no directamente el sincroenvío, а el resultado de su transformación por el ciclo 32-Z: W0=Ц32-З (S). La consecuencia de los elementos producidos РГПЧ, depende enteramente de su relleno inicial, es decir los elementos de esta consecuencia son la función del número y el relleno РГПЧ inicial: Wi=fi (W0), donde fi (X) =f (fi1 (X)), f0 (X) =X. Tomando en cuenta la transformación por el algoritmo de la sustitución simple es añadido también la dependencia de la llave:

Гi=Ц32-З (Wi) =Ц32-З (fi (W0)) =Ц32-З (fi (Ц32-З (S))) =ji (S, K), donde Гii-tyj el elemento de la escala, K – la llave.

Así, la consecuencia de los elementos de la escala para el uso en el régimen гаммирования está determinada unívocamente por los datos claves y el sincroenvío. Naturalmente, para la convertibilidad del procedimiento de la cifración en los procesos por - y расшифрования debe usarse el mismo sincroenvío. De la exigencia del carácter unical de la escala, que incumplimiento lleva al descenso catastrófico de la firmeza de la cifra, debe que la cifración de dos macizos distintos de los datos sobre una llave tiene que abastecer el uso de los sincroenvíos distintos. Esto lleva a la necesidad de guardar o entregar el sincroenvío por los canales de comunicación junto con los datos cifrados, aunque en los casos separados especiales puede ser predestinada o ser calculada de manera especial, si se excluye la cifración de dos macizos sobre una llave.

Ahora examinaremos detalladamente РГПЧ, usado en el GOST para la generación de los elementos de la escala. Es necesario notar ante todo que a él no son planteadas las exigencias del mantenimiento de características cualesquiera estadísticas producido »«ß½Ññ«óáÔѽý@¡«ßÔ¿ de los números. РГПЧ es proyectado por los elaboradores del GOST en vista de la necesidad de la ejecución de las condiciones siguientes:

· el      período de la repetición de la consecuencia de los números producidos РГПЧ, no debe fuerte (en tantos por ciento) distinguirse de máximamente posible a la dimensión dada del bloque del significado 264;

· los      significados vecinos producidos РГПЧ, deben distinguirse uno de otro en cada uno байте, de otro modo la tarea криптоаналитика será agilizada;

·      РГПЧ debe bastante simplemente ser realizado como es duro, y respecto a programas sobre los tipos más difundidos de los procesadores, la mayoría de que tienen, como es conocido, разрядность 32 pala.

En vista de los principios enumerados los fundadores del GOST han proyectado muy acertado РГПЧ, que tiene las características siguientes:

·      en 64-bitovom el bloque mayor y menor se precipita son tratados independientemente uno de otro: en realidad, hay dos independientes РГПЧ para las partes mayores y menores del bloque.

· las      correlaciones recurrentes para las partes mayores y menores los siguientes:

, Donde C1=101010116;

, Donde C2=101010416;

El índice inferior en la anotación del número significa su sistema numérico, así, las constantes usadas sobre el paso dado, son anotadas en 16-richnoj al sistema numérico.

La segunda expresión tiene necesidad de los comentarios, puesto que en el texto del GOST es llevado algo otro: con el mismo significado de la constante C2. Pero más en el texto del estándar es dado el comentario que, resulta, bajo la operación de la toma del resto del módulo 232–1 es comprendido allí no mismo, así como en el matemático. La diferencia consiste en lo que conforme al GOST (232–1) mod (232–1) = (232–1), y no 0. En realidad, esto agiliza la realización de la fórmula, а математически la expresión correcta para ella es llevada más arriba.

· el      período de la repetición de la consecuencia para la parte menor compone 232, para la parte 232–1 mayor, para toda la consecuencia el período compone 232× (232–1), la prueba de este hecho, muy no complicado, reciban. La primera fórmula de dos se realiza por una orden, segundo, a pesar de su que parece громоздкость, por dos órdenes sobre todos los procesadores modernos 32-de descarga.

Fig. 4. El algoritmo зашифрования (расшифрования) de los datos en el régimen гаммирования.

El esquema del algoritmo de la cifración en el régimen гаммирования es llevado en el dibujo 4, son más abajo expuestas las explicaciones al esquema:

Øàã 0.         Determina los datos iniciales para el paso básico криптопреобразования:

·                          Tо () – el macizo de los datos abiertos (cifrados) de la dimensión cualquiera, sometido el procedimiento зашифрования (расшифрования), a lo largo del procedimiento el macizo se somete a la transformación por las porciones por 64 pala;

·                          S ñèíõðîïîñûëêà, el elemento 64-de bit de los datos necesarios para la inicialización del generador de la escala;

Øàã 1. La         transformación inicial del sincroenvío cumplido para ella «рандомизации», es decir para la eliminación de las leyes estadísticas que asisten en ella, el resultado se usa como el relleno РГПЧ inicial;

Øàã 2.         Un paso del trabajo РГПЧ que realiza ello el algoritmo recurrente. Durante el paso dado mayor (S1) y menor (S0) las partes de la consecuencia de los datos son producidas independientemente uno de otro;

Øàã 3.         Гаммирование. El elemento siguiente 64-de bit producido РГПЧ, se somete al procedimiento зашифрования por el ciclo 32-Z, el resultado se usa como el elemento de la escala para зашифрования (расшифрования) del bloque siguiente de los datos abiertos (cifrados) de la misma dimensión.

Øàã 4. El         resultado del trabajo del algoritmo – el macizo cifrado (descifrado) de los datos.

Son más abajo enumerados los rasgos гаммирования como el régimen de la cifración.

1. Los   bloques iguales en el macizo abierto de los datos darán a зашифровании los bloques distintos шифротекста que permitirá esconder el hecho de su identidad.

2.   Ya que la imposición de la escala se cumple побитно, la cifración del bloque incompleto dado es fácilmente ejecutable como la cifración битов de este bloque incompleto, para que se usa las palas correspondientes del bloque de la escala. Así, para зашифрования del bloque incompleto en 1 palas es posible usar cualquiera de las palas del bloque de la escala.

3. El   sincroenvío usado a зашифровании, debe ser entregado de cualquier otro modo para el uso a расшифровании. Esto puede ser alcanzado por las vías siguientes:

·      guardar o entregar el sincroenvío junto con el macizo cifrado de los datos que llevará al aumento de la dimensión del macizo de los datos a зашифровании a la dimensión del sincroenvío, es decir a 8 bytes;

·      usar el significado predestinado del sincroenvío o producirla sincrónicamente por la fuente y el receptor por una cierta ley, en este caso el cambio de la dimensión del macizo entregado o almacenado de los datos falta;

Dos el modo completan uno a otro, y en aquellos casos raros, donde no trabaja primero, más usual de ellos, puede ser usado segundo, más exótico. El segundo modo tiene mucho la aplicación menor, ya que hacer el sincroenvío predestinado se puede solamente en caso de que sobre el juego dado de la información clave es cifrado a ciencia cierta no más un macizo de los datos que es rara vez. Generar el sincroenvío sincrónicamente cerca de la fuente y el destinatario del macizo de los datos también no siempre parece posible, ya que exige la atadura dura a algo en el sistema. Así, sano a primera vista la idea de usar en calidad del sincroenvío en el sistema de la transmisión de los mensajes cifrados el número del mensaje entregado no se acerca, ya que el mensaje puede ser perdido y no llegar al destinatario, habrá en este caso una desincronización de los sistemas de la cifración de la fuente y el receptor. Por eso en el caso examinado no hay alternativa a la transmisión del sincroenvío junto con el mensaje cifrado.

Por otro lado, es posible llevar y el ejemplo de vuelta. Permitiremos, la cifración de los datos se usa para la defensa de la información sobre el disco, y es realizado a un nivel bajo, para el mantenimiento del acceso independiente los datos son cifrados por los sectores. Es imposible en este caso guardar el sincroenvío junto con los datos cifrados, ya que la dimensión del sector no es posible cambiar, sin embargo se puede calcularla como alguna función del número de la cabeza que escanea del disco, el número de la senda (cilindro) y el número del sector sobre la senda. En este caso el sincroenvío se ata a la posición del sector sobre el disco, que puede cambiarse poco probable sin reformateo del disco, es decir sin destrucción de los datos sobre ello.

El régimen гаммирования tiene todavía un rasgo interesante. En este régimen de la pala del macizo de los datos son cifrados independientemente uno de otro. Así, cada uno las palas шифротекста depende del texto abierto, correspondiente la pala, y, naturalmente, el número ordinal la pala en el macizo:. Sale De esto que la pala шифротекста al significado opuesto llevará el cambio al cambio análogo la pala del texto abierto en opuesto:

,

Donde designa invertido con relación a t el significado la pala ().

La propiedad dada da al malhechor la posibilidad influyendo las palas шифротекста aportar presagiado y hasta los cambios orientados hacia un objetivo en el texto correspondiente abierto recibido después de ello расшифрования, sin poseer además la clave secreta. Esto ilustra el hecho bien conocido en la criptología que «la confidencialidad y la autenticidad la esencia las propiedades distintas de las cifras». Con otras palabras, las propiedades de las cifras de abastecer la defensa del conocimiento no autorizado con el contenido del mensaje y de la inserción no autorizada de los cambios en el mensaje son independientes y sólo pueden cruzarse en algunos casos. Dicho significa que hay unos algoritmos criptográficos que abastecen una cierta confidencialidad de los datos cifrados y además de ningún modo que no protegen de inserción de los cambios y al contrario, que abastecen la autenticidad de los datos y de ningún modo que no limitan la posibilidad del conocimiento con ellos. Por esta causa la propiedad examinada del régimen гаммирования no debe ser examinada como su falta.

3.     Гаммирование con la realimentación.

El régimen dado es muy parecido al régimen гаммирования y se distingue de él solamente del modo de la fabricación de los elementos de la escala – el elemento siguiente de la escala es producido como el resultado de la transformación por el ciclo 32-Z del bloque anterior de los datos cifrados, а para зашифрования del primer bloque del macizo dado al elemento de la escala es producido como el resultado de la transformación por el mismo ciclo del sincroenvío. Por esto es alcanzado el engranaje de los bloques – cada bloque шифротекста en este régimen depende de correspondiente y todos los bloques anteriores del texto abierto. Por eso el régimen dado se llama a veces гаммированием con el engranaje de los bloques. El hecho del engranaje de los bloques no presta a la firmeza de la cifra ninguna influencia.

Fig. 5. El algoritmo зашифрования (расшифрования) de los datos en el régimen гаммирования con la realimentación.

El esquema de los algoritmos por - y расшифрования en el régimen гаммирования con la realimentación es llevado en el dibujo 5 y en vista de la simplicidad de los comentarios no tiene necesidad.

La cifración en el régimen гаммирования con la realimentación posee los mismos rasgos, así como la cifración en el régimen regular гаммирования, a excepción de la influencia de las desfiguraciones шифротекста al texto correspondiente abierto. Para la comparación anotaremos las funciones расшифрования del bloque para los dos regímenes mencionados:

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

, гаммирование con la realimentación;

Si en el régimen regular гаммирования los cambios en las ciertas palas шифротекста influyen solamente sobre las palas correspondientes del texto abierto, en el régimen гаммирования con la realimentación el cuadro es un poco más difícil. Según parece de la ecuación correspondiente, a расшифровании del bloque de los datos en el régimen гаммирования con la realimentación, el bloque de los datos abiertos depende de los bloques correspondientes y anteriores de los datos cifrados. Por eso, si aportar las desfiguraciones en el bloque cifrado, después de расшифрования alterado se encuentran dos bloques de los datos abiertos – correspondiente y que sigue por él, y las desfiguraciones en el primer caso tendrán el mismo carácter, así como en el régimen гаммирования, а en el segundo caso – como en el régimen de la sustitución simple. Con otras palabras, en el bloque correspondiente de los datos abiertos alterado se encuentran las mismas palas, así como en el bloque de los datos cifrados, а en el bloque siguiente de los datos abiertos todas las palas independientemente uno de otro con la probabilidad 1/2 cambiarán los significados.

4. La     fabricación имитовставки al macizo de los datos.

En las secciones anteriores hemos discutido la influencia de la desfiguración de los datos cifrados en los datos correspondientes abiertos. Hemos establecido que a расшифровании en el régimen de la sustitución simple el bloque correspondiente de los datos abiertos resulta por la imagen alterada imprevisible, а a расшифровании del bloque en el régimen гаммирования los cambios son presagiados. En el régimen гаммирования con la realimentación alterado se encuentran dos bloques, uno presagiado, а otro la imagen imprevisible. ¿Si lo significa que desde el punto de vista de la defensa de la imposición falso dado al régimen гаммирования es malo, а los regímenes de la sustitución simple y гаммирования con la realimentación bueno? En ningún caso. Durante el análisis de la situación dada es necesario tomar en consideración lo que los cambios imprevisibles en el bloque descifrado de los datos pueden ser descubiertos solamente en caso de la redundancia de estos datos, y más el grado de la redundancia, es más probable el descubrimiento de la desfiguración. La redundancia muy grande tiene lugar, por ejemplo, para los textos en natural y las lenguas artificiales, en este caso el hecho de la desfiguración se descubre prácticamente inevitablemente. Sin embargo en otros casos, por ejemplo, a la desfiguración de las imágenes apretadas sonoras, recibiremos simplemente otra imagen, que puede percibir nuestra oreja. La desfiguración se quedará en este caso no descubierto, si, claro, no hay información apriorística sobre el carácter del sonido. La conclusión aquí tal: ya que la capacidad de algunos regímenes de la cifración de descubrir las desfiguraciones aportadas en los datos cifrados, se apoya significativamente en la presencia y el grado de la redundancia de los datos cifrados, esta capacidad no es la propiedad inmanente de los regímenes correspondientes y no puede ser examinado como su dignidad.

Fig. 6. El algoritmo de la fabricación имитовставки para el macizo de los datos.

Para la decisión de la tarea del descubrimiento de las desfiguraciones en el macizo cifrado de los datos con la probabilidad dada en el GOST es previsto el régimen adicional ¬Ó¿»Ô«úÓáõ¿þÑß@¬«ú« las transformaciones – la fabricación имитовставки. Имитовставка es de control ¬«¼@í¿¡áµ¿n, que depende de los datos abiertos y la información secreta clave. El objetivo del uso ¿¼¿@Ô«óßÔáó¬¿ es el descubrimiento de todos los cambios casuales o premeditados en el macizo de la información. El problema expuesto en el punto anterior, puede ser con éxito decidido por medio de la adición a los datos cifrados имитовставки. Para el malhechor potencial dos tareas siguientes son prácticamente insolubles, si él no posee la información clave:

· el      cálculo имитовставки para el macizo dado abierto de la información;

· la      selección de los datos abiertos bajo dado имитовставку;

El esquema del algoritmo de la fabricación имитовставки es llevado en el dibujo 6. En la cualidad имитовставки se coge la parte del bloque recibido a la salida, habitualmente 32 su pala menor. En la elección de la dimensión ¿¼¿Ô«@óßÔáó¬¿ es necesario tener en cuenta que la probabilidad de la imposición exitosa de los datos falsos es igual a la cantidad 2 | Y | a una tentativa de la selección. Durante el uso имитовставки a la dimensión 32 pala esta probabilidad es igual

2–32 »0.23·10–9.

2. La    discusión de los algoritmos criptográficos del GOST.

2.1. La    firmeza criptográfica del GOST.

En la elección del algoritmo criptográfico para el uso en la elaboración concreta un de los factores que determinan es su firmeza, es decir la estabilidad de las tentativas de la parte opuesta de ello abrir. La pregunta de la firmeza de la cifra se reduce ante una próxima examinación a dos preguntas conexas:

     Si ·      es posible en general abrir la cifra dada;

·      si sí, por cuanto esto es difícil hacer prácticamente;

Las cifras, que es imposible en general abrir, se llaman absolutamente o es teorético resistente. La existencia de las cifras semejantes es demostrada por el teorema de Shennona, sin embargo a costa de esta firmeza es la necesidad del uso para la cifración de cada mensaje de la llave, no menor según la dimensión del mensaje. En todos los casos a excepción de una serie especial este precio es excesivo, por eso en la práctica se usan en general las cifras que no poseen la firmeza absoluta. Así, los esquemas más usuales de la cifración pueden ser abiertos por el tiempo final o que es más exacto, por el número final de los pasos, cada uno de que es alguna operación sobre los números. Para ellos наиважнейшее el significado tiene la noción de la firmeza práctica que expresa a la dificultad práctica de su descubrimiento. A la medida cuantitativa de esta dificultad puede servir el número de las operaciones elementales aritméticas y lógicas, que es necesario cumplir para abrir la cifra es decir que para dado шифротекста con la probabilidad, no la cantidad menor dada, determinar el texto correspondiente abierto. Además en el complemento al macizo descifrado de los datos криптоаналитик puede disponer de los bloques de los datos cifrados, abiertos dados y correspondientes a ellos, o hasta la posibilidad de recibir para cualesquiera escogido por ello abierto dado a los datos correspondientes cifrados – depende de muchas otras condiciones enumeradas y no indicadas distinguen los tipos separados криптоанализа.

Todo moderno криптосистемы son construidos según el principio de Kirhgoffa, es decir la confidencialidad de los mensajes cifrados está determinada por la confidencialidad de la llave. Esto significa que aunque el algoritmo mismo de la cifración es conocido криптоаналитику, aquel con todo eso no en el estado de descifrar el mensaje, si no dispone de la llave correspondiente. Todas las cifras clásicas de bloques prefabricados, incluso DES y el GOST, corresponden a este principio y son proyectados así que abrir la vía por su modo más eficaz, que el exceso completo por todo el espacio clave, e.d. por todo lo posible a los significados de la llave. Claro que la firmeza de tales cifras está determinada a la dimensión de la llave, usada en ellos.

En la cifra el GOST se usa 256-bitovyj la llave y el volumen del espacio clave compone 2256. Ni sobre un de que existen en la actualidad o supuesto a la realización en el futuro cercano del ORDENADOR de la aplicación general no es posible escoger la llave por el tiempo, menor muchos centenares de años. El estándar ruso era proyectado con la reserva grande y por la firmeza a muchos órdenes supera el estándar DES americano con su dimensión real de la llave en 56 palas y el volumen del espacio clave solamente 256. A la luz del progreso de los medios modernos de cómputo de esto no basta. En esta relación DES puede presentar más bien de investigación o científico, que el interés práctico. Como se espera, en 1998 él dejará de ser el estándar de los EEUU a la cifración.

2.2. Las    observaciones de la arquitectura del GOST.

Es de común saber que la cifra el GOST 28147-89 es al representante de la familia entera de las cifras construidas sobre los mismos principios. A su "pariente" más conocido es el estándar americano de la cifración, el algoritmo DES. Todas estas cifras, como el GOST, contienen los algoritmos de tres niveles. En la base siempre está cierto «el paso básico», en que base por la imagen semejante se basan «los ciclos básicos», y ya en su base son construidos los procedimientos prácticos de la cifración y la fabricación имитовставки. Así, el carácter específico de esta familia, cada las cifras, es concluido en su paso básico, es más exacto hasta en su parte. Aunque la arquitectura de las cifras clásicas de bloques prefabricados, a que se refiere el GOST, está lejos fuera de los límites del tema del artículo presente, tiene que decir con todo algunas palabras con su motivo.

Los algoritmos «los pasos básicos ¬Ó¿»Ô«»ÓÑ«íÓá@º«óá¡¿n» para las cifras semejantes al GOST, son construidos por la imagen idéntica. Su esquema general es llevado en el dibujo 7. A la entrada del paso básico se aparta el bloque de la dimensión par, mayor y que menor las mitades son tratadas separadamente uno de otro. Durante la transformación la mitad menor del bloque está al lugar mayor, а mayor, скомбинированная por medio de la operación побитного que excluye o con el resultado del cálculo de alguna función, al lugar menor. Esta función que acepta en calidad del argumento la mitad menor del bloque y algún elemento de la información (X) clave, es la parte sustancial de la cifra y se llama en su función de la cifración. Las consideraciones de la firmeza de la cifra exigen que las dimensiones de todos los elementos enumerados de los bloques sean iguales: |N1 | = | N2 | = | X |, en el GOST y DESе son iguales a 32 palas.

Si aplicar dicho al esquema del paso básico del algoritmo el GOST, será evidente que los bloques 1,2,3 algoritmos determinan el cálculo de su función de la cifración, а los bloques 4 y 5 dan la formación del bloque de salida del paso básico en vista del contenido del bloque de entrada y el significado de la función de la cifración.

Fig. 7. Сîäåðæàíèå del paso básico криптопреобразования para las cifras de bloques prefabricados semejantes al GOST.

En la sección anterior hemos comparado ya DES y el GOST por la firmeza, ahora los compararemos por el contenido funcional y la comodidad de la realización. En los ciclos de la cifración del GOST el paso básico repete 32 veces, para DESа esta cantidad es igual 16. Sin embargo la función misma de la cifración del GOST es esencialmente más fácil de la función DESа análoga, en que hay una multitud de recodificaciones por las tablas con el cambio de la dimensión de los elementos recodificados. Además, entre los pasos básicos en los ciclos de la cifración DESа es necesario cumplir битовые los traslados en los bloques de los datos. Todas estas operaciones es extraordinariamente ineficaz se realizan sobre los procesadores modernos no especializados. El GOST no contiene las operaciones semejantes, por eso él es considerablemente más conveniente a la realización de programa. Ni una de las realizaciones DESа, examinadas por el autor, para la plataforma Intel x86 no alcanza hasta la mitad de la productividad propuesto su atención en el artículo presente de la realización del GOST, a pesar del ciclo dos veces más corto. Todo dicho testimonia más arriba lo que los elaboradores del GOST han tomado en consideración positivo, así como las partes DeSa negativas, también han estimado más realmente las posibilidades corrientes y perspectivas криптоанализа.

2.3. Las    exigencias a la cualidad de la información clave y las fuentes de las llaves.

No todas las llaves y las tablas de las sustituciones abastecen la firmeza máxima de la cifra. Para cada algoritmo de la cifración hay unos criterios de la apreciación de la información clave. Así, para el algoritmo DES es conocida la existencia de así llamados de "las llaves débiles», durante que uso el enlace entre los datos abiertos y cifrados no se enmascara por la imagen suficiente, y la cifra es revelada relativamente simplemente.

La respuesta completa a la pregunta de los criterios de la cualidad de las llaves y las tablas de las sustituciones del GOST si se puede en general en algún sitio recibir, solamente a los elaboradores del algoritmo. Los datos correspondientes no eran publicados en la prensa abierta. Sin embargo conforme al orden establecido, para la cifración de la información que tiene el grifo, deben ser usados los datos claves recibidos de la organización autorizada. De modo indirecto esto puede testimoniar la presencia de las metodologías de la comprobación de los datos claves a "la piojería". El hecho mismo de la existencia de los datos débiles claves en el estándar Ruso de la cifración no provoca la duda. Es evidente, la llave de cero y la tabla trivial de las sustituciones, por que cualquier significado es sustituido pero él, son débil, durante el uso por lo menos un de ellos la cifra es forzada bastante simplemente, cualquiera que sea el segundo elemento clave.

Como era notado ya más arriba, los criterios de la apreciación de la información clave son inaccesibles, sin embargo a su cuenta es posible expresar con todo algunas consideraciones:

1. La llave debe ser el macizo es estadístico de independientes битов, que aceptan con la probabilidad igual del significado 0 y 1. Además algunos significados concretos de la llave pueden encontrarse "débiles", es decir la cifra puede no abastecer el nivel dado de la firmeza en caso de su uso. Sin embargo, hipotéticamente, la parte de tales significados en su mayoría todas las llaves posibles es pequeña. Por eso las llaves producidas por medio de algún captador de los números en realidad casuales, serán cualitativas con la probabilidad que se distingue de la unidad a la cantidad pequeña. Si las llaves son producidas por medio del generador de los números seudocasuales, el generador usado debe abastecer las características indicadas más arriba estadísticas y, además, poseer alto криптостойкостью, no menor, que cerca del GOST. Con otras palabras, la tarea de la definición de los miembros que faltan de la consecuencia, producida por el generador, de los elementos no debe ser más fácil, que la tarea de la apertura de la cifra. Además, para отбраковки de las llaves con las características malas estadísticas pueden ser usados los criterios distintos estadísticos. En la práctica basta habitualmente dos criterios, – para la comprobación de la distribución equiprobable de los bits de clave entre los significados 0 y 1 se usa habitualmente el criterio de Pirsonaхи el cuadrado»), а para la comprobación de la independencia de los bits de clave – el criterio de las series. Sobre los criterios mencionados es posible leer en los libros de texto o las guías según la estadística matemática.

2. La tabla de las sustituciones es el elemento a largo plazo clave, es decir funciona durante el plazo mucho más largo, que la llave separada. Se Supone que es general para todos los nudos de la cifración en los límites de un sistema de la defensa criptográfica. Hasta a la infracción de la confidencialidad de la tabla de las sustituciones la firmeza de la cifra se queda extraordinariamente alto y no baja más abajo del límite admisible. A la cualidad de los nudos separados de las sustituciones es posible presentar la exigencia llevada más abajo. Cada nudo de las sustituciones puede ser descrito por los cuatro de las funciones lógicas, cada uno de que tiene cuatro argumentos lógicos. Es necesario que estas funciones sean bastante difíciles. Esta exigencia de la complicación es imposible expresar es formal, sin embargo en calidad de la condición necesaria es posible exigir que las funciones correspondientes lógicas anotadas en la forma mínima (e.d. con la longitud posible de la expresión) con el uso de las operaciones básicas lógicas, no sean más corto que algún mínimo necesario. En el acercamiento primer y muy rudo esta condición puede bajar y por suficiente. Además, las funciones separadas dentro de los límites de toda la tabla de las sustituciones deben distinguirse uno de otro suficientemente. En la práctica es bastante recibir los nudos de las sustituciones como los traslados independientes casuales de los números de 0 hasta 15, esto puede ser prácticamente realizado, por ejemplo, por medio de la mezcla del tronco de dieciséis tarjetas, por cada uno de que es fijado un de los significados de la banda indicada.

Es necesario notar todavía un hecho interesante acerca de la tabla de las sustituciones. La convertibilidad de los ciclos de la cifración 32-Z y 32-R no es necesario que los nudos de las sustituciones sean los traslados de los números de 0 hasta 15. Todo trabaja hasta en caso de que en el nudo de las sustituciones hay unos elementos que repeten, y la sustitución determinada en tal nudo, es irreversible, sin embargo baja en este caso la firmeza de la cifra. Por qué así, no es examinado en el artículo presente, sin embargo en el hecho es no complicado persuadirse. Basta para esto, usando el programa de exposición de la cifración de los ficheros de los datos, que aplica al artículo presente, cifrar а luego descifrar el fichero de los datos, habiendo usado para este procedimiento la tabla "deficiente" de las sustituciones, que nudos contienen los significados que repeten.

Si elaboráis los programas que usan los algoritmos criptográficos, tenéis que preocuparos de las utilidades que producen la información clave, а para tales utilidades es necesaria la fuente de los números casuales (СЧ) de una alta cualidad estadística y криптостойкости. El acceso mejor sería aquí el uso de los captadores SCH duros, sin embargo esto no siempre es tomado según las consideraciones económicas. En calidad de la alternativa razonable probablemente (y es difundido muy ampliamente) el uso de los captadores SCH distintos de programa. A la generación del macizo pequeño por el volumen de la información clave se aplica ampliamente el método «de la ruleta electrónica», cuando la porción siguiente, recibida de captador tal, casual битов depende del momento del tiempo de la presión por el operador de alguna tecla sobre el teclado del ordenador.

Este acceso es usado en el programa de la generación de una llave, que texto inicial en la lengua del Si con ассемблерными por las inclusiones es aplicado al artículo presente en el fichero make1key.c. Para la fabricación de los números casuales de la banda dada se usa el canal 2 temporizadores de sistema, la información es escaneada de él con la presión por el operador de tecla cualquiera sobre el teclado de la visualización. Por una presión es generado un byte de la llave y a la pantalla desaparece el punto. Que era imposible generar байты de la llave por el descuento de la tecla en el estado presionado, entre los ciclos de la generación es introducida la demora temporal y a principios de cada ciclo es comprobado, si era durante la pausa la presión de la tecla. Si tal tenía lugar, sale la señal acústica y la presión es desdeñado. El programa es oportuno poner en marcha solamente de "desnudo" DOSа, en la DOS-sesión Windows 3.x/95 trabaja también, pero no hay seguridad del mantenimiento de las características necesarias estadísticas, а bajo Windows NT el programa por las causas completamente claras (trepa directamente en los puertos) no trabaja correctamente.

3. Las    observaciones de la realización.

3.1.    Tres pasos de la optimización.

El objetivo la realización, descrita en el artículo presente, del GOST era no la creación del código máximo por la eficiencia a toda costa, el objetivo era la creación casi óptimo por la velocidad, pero además compacto y fácil para la percepción por el programador del código.

La programación de los algoritmos del GOST «en la frente» hasta en la lengua del ensamblador da el resultado muy lejano del óptimo posible. La tarea de la creación de la realización eficaz de los algoritmos indicados para los procesadores Intel de 16-bits 8088–80286 representa aunque y no superdifícil, pero con todo y no la tarea completamente trivial, y exige el conocimiento muy bueno de la arquitectura y el sistema de las órdenes de la familia mencionada de los procesadores. La dificultad consiste aquí en lo que para el logro de la productividad máxima la realización de programa debe como se puede cumplir la mayor parte de las operaciones con los datos en los registros y como es posible más raramente dirigirse a la memoria, а los procesadores examinados no tienen los registros así mucho y todos ellos de 16-bits. Con los procesadores 32-de descarga de la misma línea (Intel 80386 y es mayor) todo mucho más fácilmente por fuerza de ellos 32-razrjadnosti, no será aquí las dificultades hasta al novato.

En la realización de los algoritmos eran usados los accesos expuestos más abajo, que han permitido alcanzar la productividad máxima. Primero dos de ellos son bastante evidentes, tanto que se encuentran prácticamente en cada realización del GOST.

1. Los   ciclos básicos del GOST contienen los ciclos impuestos (suena es torcido, pero no dirás de otra manera), y en el ciclo interior el orden del uso de ocho elementos 32-de bit de la llave puede ser directo o de vuelta. Es esencial agilizar la realización y subir la eficiencia de los ciclos básicos se puede, si evitar el uso de los ciclos impuestos y ver la consecuencia de los elementos de la llave sólo una vez. Es necesario preliminarmente formar para esto »«ß½Ññ«óáÔѽý@¡«ßÔý de los elementos de la llave en aquel orden, en que se usan en el ciclo correspondiente básico.

2.   En general el paso криптопреобразования 8 veces se cumplen la substitución de los grupos 4-de bit de los datos. El procesador con destinación especial de la realización no tiene la orden de la sustitución de los grupos 4-de bit, tiene sin embargo la orden conveniente байтовой las sustituciones (xlat). Su uso da las ventajas siguientes:

·      por una orden se cumplen en seguida dos sustituciones;

·      desaparece la necesidad de distinguir полубайты de las palabras dobles para la ejecución de la sustitución, а luego de 4-bitovyh de los resultados de las sustituciones de nuevo formar la palabra doble.

Por esto es alcanzado el aumento considerable de la velocidad del código, sin embargo el mundo es convenido así que por todo cae pagar, y en este caso el pago es la necesidad de la transformación de la tabla de las sustituciones. Cada uno cuatro pares de nudos 4-de descarga de las sustituciones es sustituido por un nudo 8-de descarga, que, hablando la lengua de los matemáticas, representa la obra directa de los nudos que entran en el vapor. Un par de los nudos 4-de descarga exige para la representación 16 байтов, uno 8-de descarga – 256 байтов. Así, la dimensión de la tabla de las sustituciones, que debe estar en la memoria del ordenador, se aumenta hasta 4·256=1024 байтов, o hasta un kilobyte. Claro, tal pago por el aumento esencial de la eficiencia de la realización es completamente tomado.

3.   Después de la ejecución de las substituciones del código de la tabla de las sustituciones el paso básico криптопреобразования supone el desplazamiento cíclico de la palabra doble a la izquierda a 11 palas. Por fuerza de la arquitectura de 16-bits de los procesadores examinados el giro del bloque 32-de descarga hasta en 1 palas es imposible realizar menos, que por tres ассемблерные las órdenes, а el giro en большее el número de las categorías solamente como la consecuencia de los giros separados a 1 categoría. Por suerte, se puede presentar el giro a 11 palas a la izquierda como el giro a 8 palas, а luego todavía en 3 pala a la izquierda. Pienso, a todos es evidente que el primer giro se realiza por tres órdenes del cambio байтовых de los registros (xchg). Pero el secreto de la tercera optimización aun en esto. La sustitución de un байта por la tabla de las sustituciones se realiza por la orden xlat, que cumple la operación sobre el argumento en el registro AL, para sustituir todo байты de la palabra doble, es necesario sucesivamente colocarlos en este registro. El secreto de la tercera optimización consiste en lo que se puede organizar estos traslados así que en resultado la palabra doble se encuentra vuelto en 8 palas a la izquierda, es decir en la simultaneidad de la sustitución por la tabla y en el giro en el byte a la izquierda. ¡Todavía un momento, a que tiene que prestar la atención, esta codificación óptima de tres giros consecutivos en 1 palas, esto puede ser realizado de formas diferentes y era importante escoger el modo óptimo, que se encontraba en absoluto evidente, ya que ha exigido la salida por los límites de la lógica битовых de los desplazamientos y el uso de la orden de la suma con las palas del traslado (adc), es decir las palas está a la posición no por la orden del desplazamiento, а por la orden de la suma!

3.2. La    descripción de las funciones y el rasgo de la realización.

Tomando en cuenta los principios expuestos más arriba son creadas dos realizaciones del GOST para los procesadores de la familia Intel x86, los próximos por la velocidad al óptimo posible – respectivamente para 16 y 32 битовых de los procesadores. El código para los procesadores 32-de descarga aproximadamente es más rápido en vez y media del código correspondiente para los procesadores de 16-bits. El núcleo es el subprograma que realiza el ciclo universal básico del GOST. Los textos iniciales de todos los subprogramas son llevados en calidad de las aplicaciones al artículo presente en los ficheros separados, son enumerados en la tabla 1 que sigue más abajo. Todas las funciones son autodocumentadas, cada uno es descrita en el fichero correspondiente con su texto inicial.

La tabla 1. La lista de los ficheros.

La función del módulo

El nombre del fichero исх.текста

 

 

16 palas

32 pala

1.    

El ciclo universal básico del GOST

gost.asm

gost ~. asm

2.    

La función por - y расшифрования de los datos en el régimen de la sustitución simple

simple.asm

simple ~. asm

3.    

La función por - y расшифрования de los datos en el régimen гаммирования

gamma.asm

gamma ~. asm

4.    

La función зашифрования de los datos en el régimen гаммирования con la realimentación

gammale.asm

gammale ~. asm

5.    

La función расшифрования de los datos en el régimen гаммирования con la realimentación

gammald.asm

gammald ~. asm

6.    

La función del cálculo имитовставки para el macizo de los datos

imito.asm

imito ~. asm

7.    

La función de la construcción de la llave extendida

expkey.asm

expkey ~. asm

8.    

La función de la construcción extendido (1Кбайт) las formas de la tabla de las sustituciones de la forma regular (128 bytes)

expcht.asm

9.    

La función de la comprobación, si es el procesador, sobre que cumple la aplicación, 32-bitovym.

ge386cpu.asm

10. 

El fichero de título para el uso ¬Ó¿»Ô«úÓáõ¿@þÑ߬¿Õ de las funciones en los programas en la lengua del Si

gost.h

El juego de los módulos incluye las funciones para los regímenes básicos de la cifración, también dos funciones auxiliares destinadas a la construcción extendidas respectivamente llave y la tabla de las sustituciones. Son más abajo expuestos los principios de la construcción de los módulos de programa.

1.   Todas las funciones de la cifración y el cálculo имитовставки tratan (e.d. cifran o calculan имитовставку) las esferas con la dimensión, múltiple. La longitud de la esfera tratada con la llamada de las funciones mencionadas es dada en восьмибайтных los bloques. En las situaciones reales esto no lleva a la incomodidad por las causas siguientes:

· a la      cifración por la sustitución simple la dimensión de la esfera cifrada es obligada a ser múltiple байтам;

· a la      cifración гаммированием (con o sin realimentación) el macizo de los datos con la dimensión, no múltiple, será cifrado también "la basura" que contiene en última восьмибайтовом el bloque fuera de los límites de los datos que significan, sin embargo su contenido no presta ninguna influencia en los datos que significan y puede no ser tenido en cuenta;

· al      cálculo имитовставки para los macizos dado a su dimensión debe ser llevado al significado, múltiple, la adición de código cualquiera fijado (habitualmente de cero битов).

2. Las   funciones criptográficas de la cifración y el cálculo имитовставки permiten cumplir el tratamiento de los macizos de los datos por partes. Esto significa que con la llamada de la función correspondiente una vez para alguna área de los datos y con algunas llamadas de la misma función para los fragmentos consecutivos de la misma esfera (naturalmente su dimensión debe ser múltiple байтам, cm. La observación anterior) será recibido el mismo resultado. Esto permite tratar dado por las porciones, usando el portapapeles de la dimensión solamente 8 байтов.

3.   Para por - y расшифрования del macizo de los datos en el régimen de la sustitución simple se usa la misma función. La elección de un de dos operaciones indicadas se realiza por la tarea de la llave correspondiente extendida. La sucesión de los elementos de la llave debe ser mutuamente de vuelta para las operaciones indicadas.

4.   Para por - y расшифрования del bloque de los datos en el régimen гаммирования se usa la misma función, ya que en el régimen dado зашифрование y расшифрование de los datos son idénticos. La función que realiza la cifración гаммированием no realiza la transformación inicial del sincroenvío (cm. El esquema del algoritmo a fig. 5, el bloque 1), esto es necesario cumplir por medio de la llamada evidente de la función de la cifración en el régimen de la sustitución simple para el sincroenvío, es un pago por la posibilidad de cifrar el macizo por partes.

5.   Para la universalidad del código todos los índices en la esfera de los datos tratados son hechos lejano. Si hacer el código para cada modelo de la memoria, probablemente, será alcanzado algún no de cero (¡pero muy pequeño!) la economía de la memoria y el tiempo de la ejecución, pero según mi opinión, esta el juego no vale la pena.

6.   Para el ensamblaje (compilación) y el montaje de los módulos aplicados por mí se usaban los medios de la elaboración de la firma Borland – TASM 2.5 y es más alto, Borland C/C ++ 2.0 y es más alto. Al uso de otros medios de la elaboración será necesaria probablemente la inserción de los cambios en los textos iniciales de los programas.

Para la ilustración del uso de las funciones presentadas criptográficas al artículo presente son aplicados también el texto del programa de la cifración de los ficheros de los datos en la lengua del Si y los ficheros correspondientes del proyecto. Estos ficheros los siguientes:

·      cryptor.c los textos Iniciales del programa de la cifración de los ficheros;

·                                                              gost.mak el Fichero del proyecto para la versión de 16-bits del programa de la cifración de los ficheros;

·                                                              gost386.mak el Fichero del proyecto para la versión 32-de descarga del programa de la cifración de los ficheros.

La descripción de la construcción y la sintaxis de la llamada (la línea de mando) del programa de la cifración de los ficheros es aplicada también al artículo presente.

3.3. La    pregunta de la velocidad.

Después de la elaboración de la nueva realización de programa era medido ella íÙßÔÓ«@ñÑ®ßÔó¿Ñ, para que era elaborado el juego de los módulos simples destinados a la construcción de la tarea de medida. Esta tarea fija y saca a la visualización el tiempo (en los ritmos del generador de la frecuencia de compás del temporizador, 1193180 Hertz), gastado por el subprograma testado para la ejecución. Por el tiempo medido del trabajo del subprograma luego es calculada (a mano su velocidad como la relación de la cantidad del trabajo al tiempo de su ejecución.

La duración máxima, medida por el programa, del proceso es igual 232/1193180 »3599.6 segundos, es decir aproximadamente a una hora. El programa trabaja correctamente y da los resultados correctos, solamente si es puesta en marcha de ДОСа.

Para los módulos del GOST era medida la duración de la cifración de un Megabyte de los datos, que era modelada por la cifración 32-múltiple 32-Kilobajtnoj las esferas de la memoria. Las medidas eran pasadas en los coches de las clases distintas, los resultados de la medida son llevados más abajo en la tabla 2. Para 32-bitovyh de los procesadores es llevada también la velocidad 32-bitovyh de las realizaciones de los módulos criptográficos (el número inferior en la célula correspondiente). Para la comparación son llevadas también las medidas de la velocidad de la realización del estándar americano de la cifración DES, publicado en la revista "el Monitor" №7/1994. Los resultados de los tests han mostrado que la velocidad de los módulos es igual a todos los regímenes de la cifración del GOST aproximadamente, а la velocidad del módulo del cálculo имитовставки supera aproximadamente dos veces la velocidad de la cifración – que, en realidad, y se espera. La realización de la cifración es esencial de acuerdo con GOST (más de dos veces) supera la realización DES investigada por la velocidad.

La tabla 2. Los resultados de la medida de la velocidad de los módulos de la cifración

Marca del ordenador,

т.ч.,

La velocidad de los módulos criptográficos

El tipo del procesador

MHz

gamma

gammaLD

gammaLE

simple

imito

DES

La chispa 1031, К1810ВМ88

4.52

8.4

8.6

8.7

8.7

16.9

No hay datos

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

Ahora estimaremos los índices alcanzados del punto de vista cualitativo. Las velocidades máximas de la cifración superan mucho la velocidad del trabajo del pago de la cifración dura de "Kripton-3" (hasta 70 Kb/con) y corresponden aproximadamente a la velocidad del pago de "Kripton-4" (cerca de 400 Kb/con). La productividad alcanzada no basta para la cifración realmente transparente de los datos, almacenado sobre los discos duros o entregado a través de la red rápida. Al mismo tiempo, la velocidad de la realización basta completamente la cifración de los datos en коммутируемых los canales de comunicación y para muchos otros casos.

¿Si es posible todavía aumentar la velocidad de la realización del GOST? Se puede, pero un poco, si quedarse en los límites de la especificación formal del GOST. Es necesario negarse para esto al ciclo en el subprograma «gost», habiendo duplicado el cuerpo del ciclo 32 veces, como esto ha hecho el autor de programa эмулятора los pagos "el Kriptón". Es posible no desenvolver Además la llave en la consecuencia lineal de los elementos, pero entonces cada ciclo básico de la transformación criptográfica tiene que hacer el módulo de programa y el código del paso básico asistirá en los códigos de los procedimientos criptográficos en 32+32+16=80 las copias. Tal modo del aumento de la eficiencia lleva a la hinchazón repetida del código a más del premio modesto en »Ó«¿ºó«ñ¿Ôѽý¡«@ßÔ¿, por eso poco probable se puede contarlo bueno.

4. Las    preguntas del uso del estándar.

4.1.    Seguridad de la realización.

La pregunta de seguridad del software de la defensa criptográfica esto no sólo la pregunta de la firmeza del algoritmo usado. El uso de la cifra resistente no puede hacer por sí mismo su sistema seguro, aunque es la condición necesaria. El papel muy importante es jugado el modo de la aplicación del algoritmo criptográfico. Así, en el programa, aplicado al artículo presente, de la cifración de los ficheros, el almacenaje de la información clave sobre los discos en el tipo abierto hace el sistema, que sería realizado sobre este programa, potencialmente inestable. Los procedimientos y la regla del más alto nivel que reglamentan el uso de los algoritmos de la cifración y todo vinculado con esto, componen en conjunto la acta así llamada criptográfica. Esta acta determina el reglamento de la fabricación, el uso, el almacenaje y el cambio de la información clave, y otras preguntas, no importantes. Así que su sistema que usa la realización de los algoritmos del GOST, sea realmente seguro, tendréis que preocuparos de la elaboración de la acta correspondiente.

4.2. Las    variaciones al tema del GOST.

Muy a menudo para el uso en el sistema de la defensa criptográfica de los datos es necesario el algoritmo con grande, que cerca del GOST por la velocidad de la realización, y no es necesario además mismo alto como cerca del GOST криптостойкость. El ejemplo típico de las tareas semejantes son diferente los sistemas bursátiles comerciales que dirigen las sesiones comerciales en el tiempo real. Aquí es necesario de los algoritmos usados de la cifración que era imposible descifrar los sistemas operativos dados durante la sesión (los datos sobre las demandas sacadas, sobre las transacciones concluidas y así sucesivamente), a su expiración estos datos, como regla, son inútiles ya para los malhechores. Con otras palabras, es necesaria la firmeza garantizada de todo para algunas horas (es tal la duración típica de la sesión comercial). Claro que el uso del GOST de peso completo en esta situación sería el tiroteo del cañón por los gorriones.

Por suerte, de esta situación hay una salida bastante fácil – usar la modificación del algoritmo el GOST con la cantidad menor de los pasos básicos en los ciclos básicos. Se puede alcanzar esto por dos vías – la reducción de la longitud de la llave y la reducción del número de los ciclos del uso de los elementos de la llave – se acuerden que el número de los pasos básicos en los ciclos básicos de la cifración es igual N=n·m, donde n – el número de los elementos 32-de bit en la llave, m – el número de los ciclos del uso de los elementos claves, en el estándar n=8, m=4. En cuantas veces se disminuye el número de los pasos básicos en los ciclos, aproximadamente en tantas veces se aumenta la velocidad del código.

Por desgracia, no hay ningunas noticias como es cambiado криптостойкость de la variante semejante debilitada del GOST. En cuanto a криптоанализа por la línea estadística (el exceso de todos los significados posibles de la llave), aquí todo bastante está claro, puesto que esta cantidad está determinada solamente a la dimensión de la llave. Es mucho más difícil predecir, por cuanto menos difícil se hace криптоанализ por la línea algorítmica (el análisis de las ecuaciones de la transformación de los datos a su cifración).

En la elección de la dimensión «del ciclo reducido» es necesario tener en cuenta que el GOST era proyectado tomando en cuenta el progreso posible de las máquinas calculadoras a algunas décadas adelante y en ello es puesta la reserva enorme криптостойкости. Según mi opinión (profundamente personal), en la mayoría de los casos prácticos parece razonable el uso de las variantes reducidas del GOST sin cambio del esquema del uso de la llave (m=4=3+1), pero la dimensión reducida en cuatro veces de la llave (n=2) es permitirá aumentar la velocidad de la cifración aproximadamente en cuatro veces. Por la firmeza a los métodos estadísticos криптоанализа la modificación dada con su llave 64-de bit será más firmemente, que DES con la dimensión de la llave en 56 palas.

Las funciones криптопреобразования, que aplican al artículo presente, permiten el uso semejante, ya que la longitud de la llave desenvuelta pasa en calidad del parámetro en cada uno los subprogramas de la transformación criptográfica, а el subprograma de "la ampliación" de la llave permite trabajar con la longitud cualquiera de la llave y el esquema de la ampliación de la llave.

4.3. El    trabajo insólito de la escala criptográfica.

Claro, el destino básico криптоалгоритмов del GOST es una cifración y имитозащита de los datos. Sin embargo la escala criptográfica tiene todavía una aplicación importante – la fabricación de la información clave. La fabricación del macizo clave o парольной la información del volumen grande es la tarea tipo del administrador de la seguridad del sistema. Como era notado ya más arriba, la llave puede ser generada como el macizo de la dimensión necesaria es estadístico de independientes y es equiprobable distribuido entre los significados 0 y 1 битов, es posible usar para esto el programa que produce la llave según el principio «de la ruleta electrónica». Pero tal acceso no sirve, cuando el volumen de la información necesaria clave es grande. En este caso idealmente el uso de los captadores duros de los números casuales que, sin embargo, no siempre es posible según las consideraciones económicas o técnicas. En este caso en calidad de la fuente del flujo casual битов puede ser usado el generador de la escala en base a cualquier cifra de bloques prefabricados, incluso el GOST 28147-89, puesto que, por la definición, la escala criptográfica posee las características necesarias estadísticas y криптостойкостью. Así, la fabricación de algunas llaves tiene que solamente generar el macizo de los datos del algoritmo de la fabricación de la escala, y cortarlo en la porción de dimensión necesaria, para la variante estandartizada – 32 байта.

Con las consignas el asunto va un poco más difícil. Surge ante todo la pregunta, para que los es necesario generar en general, si no más fácilmente tomarlos según la necesidad de la cabeza. La insolvencia de tal acceso era de un modo evidente demostrada por una serie de los incidentes en las redes informáticas, más grande de que era la parálisis diaria de la red Internet en noviembre de 1988 Por un de los modos del acceso del programa malintencionado en el sistema era la selección de las consignas: el programa trataba de entrar en el sistema, sucesivamente probando las consignas de la lista interior en algunos centenares, y en la parte considerable de los casos le consigue hacerlo – la fantasía de la persona por la invención de las consignas se encontraba muy pobre. Precisamente por eso en aquellas organizaciones, donde a la seguridad le es prestada la atención debida, las consignas genera y distribuye a los usuarios el administrador de sistema por la seguridad.

La fabricación de las consignas un poco es más difícil, que la fabricación de las llaves, puesto que además es necesario transformar la escala "cruda" binaria al tipo simbólico, y no "cortar" simplemente a los pedazos. Básico, en que es necesario prestar la atención además – el mantenimiento de la probabilidad igual de la aparición del alfabeto, cada los símbolos.

Los textos iniciales de los programas de la fabricación del macizo de las consignas y las llaves en la lengua del Si son aplicados al artículo presente.



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

Subscribe Subscribe.Ru
The Family Tree of Family