Andrei Vinokurov. El problema аутентификации de los datos y las cifras de bloques prefabricados. El artículo dado es la continuación de la serie de los artículos del autor sobre las realizaciones y el uso del estándar Ruso de la cifración [1,2,3] y sobre la arquitectura y los regímenes del uso de las cifras [4] de bloques prefabricados, y es dedicada a los problemas de la confirmación de la autenticidad y la propiedad de autor de los mensajes. El artículo era escrito en otoño de 1995 – casi hace tres años, y es preparada para la publicación en la revista "el Monitor", donde al autor han salido 2 artículos de la criptografía. Sin embargo por las causas diferentes el artículo entonces no era publicado – primero por la falta del tiempo por su afinado definitivo y la preparación de los códigos-ejemplos para el artículo, а luego por el cierre del "Monitor". El contenido La introducción........... 2 1. La tarea аутентификации de los datos............................................................................................... 2. El control de la invariabilidad de los macizos de los datos............................................................................. 2.1. La tarea имитозащиты de los datos............................................................................................. 2.2. Los accesos al control de la invariabilidad de los datos................................................................... 2.3. La fabricación del código аутентификации de los mensajes.................................................................. 2.4. La fabricación del código del descubrimiento de las manipulaciones.................................................................... 3. La firma digital en base a las cifras tradicionales de bloques prefabricados......................................... 3.1. Que tal la firma digital........................................................................................... 3.2. La idea básica de Diffi y Hellmana..................................................................................... 3.3. La modificación del esquema De Diffi-Hellmana para la firma битовых de los grupos........................ 3.4. El esquema de la firma digital en base a la cifra de bloques prefabricados................................................. La conclusión..... 24 La literatura...... 24 La introducción Nuestro completamente un siglo, próximo a la terminación, puede considerarse con todo el derecho el siglo de la informatización total de la sociedad – el papel de la información en el mundo moderno es tanto grande que la industria informativa se hacía una de las industrias de base de nuestros días, а los mecanismos, que han recibido la difusión enormes, para el tratamiento de los datos numéricos – los ordenadores – son un de los símbolos de nuestra civilización. La información presentada en las formas más distintas, como otras mercancías es hecha, está, es transportado al consumidor, se vende, se compra es consumido al fin, caduca, se estropea, y т.д. A lo largo del ciclo de la vida los macizos informativos pueden someterse a las influencias distintas, indeseables para consumidor sus, a los problemas de la lucha con que les es dedicado el artículo dado. Puesto que la información tiene el carácter inmaterial, los macizos de los datos no llevan sobre él ningunas huellas, por que era posible juzgar de su pasado – sobre el que es al autor, sobre el tiempo de la creación, sobre los hechos, el tiempo y los autores de los cambios aportados. La modificación del macizo informativo no deja las huellas tentadas en ello y no puede ser descubierto por los métodos regulares.« Las huellas de la modificación »en una u otra forma pueden asistir solamente a los portadores materiales de la información – así, la prueba pericial especial es completamente capaz de establecer que sector X en некоей al disquete era anotado después de todos los otros sectores con los datos sobre la misma senda del disquete, y esta anotación era hecha sobre otra disquetera. El hecho indicado, siendo establecido, puede, por ejemplo, significar que en los datos, almacenado sobre el disquete, eran hechos los cambios. Pero después de que estos datos serán copiados a otro portador, sus copias no contendrán ya no ningunas huellas de la modificación. Los datos reales informáticos durante la vida cambian repetidamente la base física de la representación y hacen una vida nómada constantemente del portador al portador, por fuerza de que de ellos no обнаружимое la desfiguración no presenta los problemas serios. Ya que la creación y el uso de los macizos informativos prácticamente siempre son divididas en el tiempo y/o en el espacio, cerca del consumidor siempre pueden surgir las dudas argumentadas de lo que el macizo, recibido por ello, de los datos es creado por la fuente necesaria y además con la exactitud por tal, por que él le ha llegado. Así, en los sistemas del tratamiento de la información además del mantenimiento de su confidencialidad es importante garantizar las propiedades siguientes para cada macizo tratado de los datos: · la autenticidad – él ha llegado al consumidor a tales, por que era creado por la fuente y no ha sufrido sobre el camino de la vida de los cambios no autorizados; · la propiedad de autor – él era creado por aquella fuente, por que supone el consumidor. El mantenimiento por el sistema del tratamiento de estas dos cualidades de los macizos de la información compone su tarea аутентификации, а la capacidad correspondiente del sistema de abastecer seguro аутентификацию de los datos se llama en su autenticidad. 1. La tarea аутентификации de los datos.Puede aparecer a primera vista que la tarea dada se decide la cifración simple. Realmente, si el macizo de los datos es cifrado con el uso de la cifra resistente, tal, por ejemplo, como el GOST 28147–89, para él prácticamente siempre será justo lo siguiente: · en él es difícil hacer los cambios por la imagen sensata, ya que con el grado de la probabilidad que se distingue poco de la unidad, los hechos de la modificación de los macizos cifrados de los datos se hacen evidentes después de ellos расшифрования – esta evidencia se expresa en lo que tales datos dejan de ser correctos para su interpretador: en vez del texto hay en ruso un disparate, los archiveros informan que la integridad del archivo es violada etc.; · solamente las cifraciones, que poseen la clave secretas, los usuarios del sistema pueden fabricar el mensaje cifrado, así, si al destinatario llega el mensaje cifrado sobre su clave secreta, él puede ser seguro en su propiedad de autor, puesto que excepto él solamente el remitente legal podía fabricar este mensaje. Con todo eso, el uso de la cifración en los sistemas del tratamiento de los datos por sí mismo abastecer es incapaz su autenticidad por las causas siguientes: 1. Los cambios aportados en los datos cifrados, se hacen evidentes después de расшифрования solamente en caso de la redundancia grande de los datos iniciales. Esta redundancia tiene lugar, por ejemplo, si el macizo de la información es el texto en lengua cualquiera humana. Sin embargo en el caso general esta exigencia puede no cumplirse – si la modificación casual de los datos no hace por su inadmisible a la interpretación con la parte un poco considerable de la probabilidad, la cifración del macizo no abastece su autenticidad. Hablando la lengua de la criptología, la autenticidad y la confidencialidad la esencia las propiedades distintas криптосистем. O, más simplemente: las propiedades de los sistemas del tratamiento de la información de abastecer la confidencialidad y la autenticidad de los datos tratados pueden no coincidir en el caso general. 2. El hecho exitoso (en el sentido del punto anterior) расшифрования de los datos, cifrados sobre la clave secretos, puede confirmar su propiedad de autor solamente a los ojos del destinatario. La tercera parte no puede hacerlos en razon de esta conclusión unívoca sobre la propiedad de autor del macizo de la información, puesto que su autor puede ser cualquier de los posesores de la clave secreta, а como mínimo dos – el remitente y el destinatario. Por eso en este caso las disputas de la propiedad de autor del mensaje no pueden ser permitidas por el arbitraje independiente. Esto es importante para aquellos sistemas, donde entre los participantes no hay confianza mutua que es muy característico para los sistemas bancarios vinculados a la dirección por los valores considerables. Así, la existencia del problema de la confirmación de la autenticidad y la propiedad de autor de los macizos de los datos, separado de la tarea del mantenimiento de su confidencialidad, no provoca la duda. En las secciones ulteriores del artículo presente son expuestos los accesos a su decisión, que se basan en el uso de las cifras clásicas de bloques prefabricados. En la sección 2 son examinados los accesos a la decisión de la tarea de la confirmación de la autenticidad de los datos, а en la sección 3 – a la tarea de la confirmación de su propiedad de autor. En general, para la decisión de las tareas indicadas puede ser usado cualquier algoritmo tradicional de bloques prefabricados criptográfico. En los códigos informáticos aplicados al artículo presente, el autor usa más el conocido y la cifra, próxima a ello, – криптоалгоритм el GOST 28147–89. 2. El control de la invariabilidad de los macizos de los datos.
|
№ |
El parámetro de la comparación |
El acceso |
|
|
|
El cálculo MAC |
El cálculo MDC |
1. |
Usado »ÓÑ«íÓẫ@óá¡¿Ñ de los datos |
Criptográfico »ÓÑ@«íÓẫóá¡¿Ñ (la función зашифрования) |
La función unilateral, la función de la compresión irreversible de la información |
2. |
La información usada secreta |
La clave secreta |
No se usa |
3. |
La posibilidad para la tercera parte calcular ¬«¡@ÔÓ«½ý¡Ò¯ la combinación |
El malhechor no puede calcular la combinación de control, si no le es conocido la clave secreta |
El malhechor puede calcular la combinación de control para »Ó«¿º@ó«½ý¡«ú« del bloque de los datos |
4. |
El almacenaje y la transmisión ¬«¡@ÔÓ«½ý¡«® las combinaciones |
La combinación de control puede estar y »ÑÓÑ@ñáóáÔýßn junto con ºáÚ¿Úá@Ѽټ por el macizo de los datos |
De control ¬«¼í¿¡á@µ¿n debe estar y pasar es separado del macizo protegido de los datos |
5. |
Las condiciones adicionales |
Exige la distribución preliminar de las llaves entre los participantes ¿¡@õ«Ó¼áµ¿«¡¡«ú« del cambio |
No exige »ÓÑñóáÓ¿@Ôѽý¡ÙÕ las acciones |
6. |
Las esferas, en que »«ñ@Õ«ñ tiene la ventaja |
La defensa de ¡Ñßᡬµ¿«¡¿@Ó«óá¡¡ÙÕ de los cambios ñá¡@¡ÙÕ con su transmisión |
La transmisión sencilla ¼áß@ß¿ó«ó de los datos, el control de la invariabilidad de los ficheros de los datos y los programas |
Comentaremos las diferencias: el acceso en base a MAC exige para el cálculo de la combinación de control de la clave secreta, para segundo esto no es necesario. El malhechor potencial no puede calcular MAC para el mensaje cualquiera, fabricado por ello, pero puede calcular MDC, puesto que no es necesario para esto ningunos datos secretos, por eso MAC puede pasar de la fuente al receptor por el canal abierto, mientras que para la transmisión MDC es necesario el canal protegido.
Parecería, las ventajas del primer acceso son tanto evidentes que el segundo acceso no puede encontrar a él la aplicación. Sin embargo esto no así – el uso MAC exige que preliminarmente entre los participantes del cambio informativo sean distribuidas las llaves. Si esto no ha pasado, para su realización es necesario el canal especial que abastece las confidencialidades y las autenticidades de la información entregada, por que paralelamente con la transferencia de los datos por el canal no protegido serán entregadas las llaves. Para la transmisión MDC es necesario el canal que abastece solamente la autenticidad de los datos entregados, la exigencia de la confidencialidad falta, y esto hace el método dado preferible a la transferencia de los datos desechable: La información básica pasa por el canal regular no protegido, а MDC se comunica por el remitente al destinatario por el canal, que puede ser escuchado pero no puede ser usado para la imposición de los datos falsos – por ejemplo, es con la voz por teléfono – si los participantes del cambio son personalmente conocidos y saben bien las voces uno a otro. Además, el acceso en base a la fabricación MDC es más simple y es conveniente a los sistemas, donde la creación y el uso de los macizos informativos son divididas en el tiempo, pero no en el espacio, es decir para el control de la integridad almacenado, y no la información entregada – por ejemplo, para el control de la invariabilidad de los programas y los datos en los sistemas informáticos. Además la combinación de control (MDC) debe estar en el sistema así para excluir la posibilidad de su modificación por el malhechor.
Dos el acceso permiten la posibilidad de la realización en base a cualquier cifra clásica de bloques prefabricados. Además seguridad del sistema recibido имитозащиты, es final a condición de su realización correcta, estará determinado por la firmeza de la cifra usada de bloques prefabricados es una afirmación es demostrado exclusivamente fácilmente. En dos secciones ulteriores serán examinados dos el acceso al control de la invariabilidad de los macizos de los datos.
La fabricación del código аутентификации de los mensajes con el uso del procedimiento de la transformación criptográfica de los datos oficialmente o es semioficial es fijada en muchos estándares a los algoritmos de la cifración. Así, por ejemplo, en los comentarios distintos del estándar de la cifración de los EEUU se recomienda usar DES para la fabricación de la combinación de control [5]. El estándar ruso de la cifración el GOST 28147‑89 [6] preve de manera evidente el régimen de la fabricación имитовставки, que es no que otro, como el modelo MAC.
El esquema del uso de la transformación EK criptográfica para la fabricación del código аутентификации es muy simple: todo el mensaje inicial se estrella a los bloques, luego es consecutivo para cada bloque se encuentra el resultado de la transformación por el algoritmo EK побитовой las sumas de bloque por el módulo 2 con el resultado de la ejecución del paso anterior. Así, recibimos la ecuación siguiente para la fabricación de la combinación de control:
C=CK (T) =EK (T1ÅEK (T2ÅEK (... ÅEK (Tm)))).
El esquema del algoritmo de la fabricación MAC es llevado en el dibujo 1.
Øàã 0. De entrada dado – el macizo de los datos T rotos en m de los bloques de la dimensión fijada, el bloque, igual a la dimensión, de los datos de la cifra usada (para la mayoría de las cifras más conocidas – 64 pala): T = (T1, T2..., Tm). El último bloque dado Tm por modo cualquiera es completado hasta el bloque completo de los datos, si tiene la dimensión menor.
Øàã 1. MAC recibe el significado de cero inicial.
El paso siguiente del algoritmo 2 se cumplen consecutivo para cada bloque de los datos iniciales a título de su seguimiento.
Øàã 2. La suma Pobitovaja por el módulo 2 bloques siguientes inicial dado Ti c por el significado MAC S corriente se somete a la transformación por el algoritmo зашифрования, el resultado se hace por un nuevo significado MAC corriente.
Fig. 1. El algoritmo de la fabricación del código аутентификации para el macizo de los datos. |
Øàã 3. El resultado del trabajo del algoritmo – MAC para el macizo de entrada de los datos – es el último significado MAC corriente recibido sobre el paso 2.
Examinaremos las propiedades criptográfico »ÓÑ«í@Óẫóá¡¿® EK, los datos, usados para la cifración, y determinaremos aquel de ellos, que son necesarios a la fabricación MAC:
1. La transformación de los datos debe usar en ¬á@þÑßÔóÑ del parámetro la clave secreta K. Su confidencialidad determina la confidencialidad de los datos cifrados.
2. La transformación de los datos debe ser ¬Ó¿»Ô«úÓáõ¿@þÑ߬¿ resistente, es decir no debe existir otra posibilidad de determinar el bloque de entrada del algoritmo al día festivo conocido y la llave desconocida, o determinar la llave a los bloques conocidos de entrada y de salida de otro modo como por el exceso por los significados posibles del bloque de entrada y la llave en primero y en los segundos casos respectivamente.
3. La transformación de los datos debe ser convertible – para que sea realizable el procedimiento расшифрования.
Si la transformación EK que cifra se supone de usar para la fabricación del código аутентификации, la ejecución de la tercera propiedad no es necesario, puesto que además la transformación siempre se cumple en una parte. Además криптостойкость del algoritmo de la transformación puede ser un poco más abajo, que a la cifración, y esto no llevará al descenso de seguridad de todo el esquema. Realmente, a la fabricación MAC a disposición криптоаналитика hay solamente un bloque de los datos – MAC, que es la función en seguida todos los bloques del texto inicial, а a зашифровании en su disposición hay un juego de los bloques шифротекста, cada uno de que depende solamente de un bloque del texto inicial. Es evidente, en el primer caso su tarea es esencialmente más difícil. Por esta causa en el GOST 28147–89 para la fabricación имитовставки se usa agilizado 16-raundovyj el ciclo de la transformación, mientras que para la cifración – completo 32-raundovyj.
El acceso a la fabricación de la combinación de control del macizo de los datos con la ayuda вычислительно de las funciones irreversibles ha recibido el desarrollo solamente últimamente en relación a la aparición de los esquemas prácticos de la firma digital, puesto que en su esencia él es el modo del cálculo de la hesh-función, que se usa en todos los esquemas de la firma digital.
Hay una gran cantidad de los accesos posibles a la construcción вычислительно de las funciones irreversibles, prácticamente siempre más difícil es la argumentación de la propiedad de la irreversibilidad de la función propuesta. Hay sin embargo una clase de los modos, donde tal propiedad no tiene necesidad de la prueba, sigue simplemente de las características del método aplicado es una construcción de las funciones de la transformación unilateral en base a las cifras clásicas de bloques prefabricados. El acceso dado es conocido bastante hace mucho y es expuesto en una serie de los trabajos, de lengua rusa notaremos [7], en su base está aquel hecho que la ecuación зашифрования del bloque de los datos del ciclo de la sustitución Y=EK simple (X) вычислительно es insoluble acerca de la llave K es es la propiedad integrante de cualquier cifra realmente resistente. Hasta a conocido abierto (X) y cifrado (Y) los bloques la llave K no puede ser determinada de otro modo como por el exceso por la multitud de significados posibles. El algoritmo de la fabricación de la combinación de control para el macizo de los datos T el siguiente:
· el macizo de los datos T se estrella a los bloques de la dimensión fijada igual a la dimensión de la llave de la cifra usada:
T = (T1, T2..., Tm);
|T1 | = | T2 | =... = |Tm–1 | = | K |, 0 <|Tm|£|K |.
· en caso necesario el último bloque (incompleto) es completado de cualquier otro modo hasta el bloque de la dimensión completa;
· MDC o хэш los mensajes es calculado por la fórmula siguiente:
C=H (T) =ETm (ETm–1 (... ET1 (S))),
Donde S – el relleno inicial del algoritmo – puede salir según el deseo, creen habitualmente S=0;
Es no complicado demostrar que la tarea de la selección del macizo de los datos T ' = (T ' 1, T ' 2..., T'm ') bajo la combinación C dada de control es equivalente al sistema siguiente de las ecuaciones de la selección de la llave para los bloques dados de entrada y de salida de los datos криптоалгоритма:
ET ' 1 (S) =S1,
ET ' 2 (S1) =S2,
...
ET'm ' (Sm '–1) =C,
No hay necesidad de decidir en seguida todas estas ecuaciones acerca de la llave Ti ' – todos los bloques del macizo de los datos T ', excepto uno, pueden ser escogidos cualquiera es determinará, todos los significados Si, y sólo uno, cualquiera de, debe ser determinado por la decisión de la ecuación ET'i correspondiente (Si–1) =Si relativamente T'i. Puesto que la tarea dada вычислительно es insoluble por fuerza del uso криптостойкого del algoritmo de la cifración, el esquema propuesto del cálculo MDC posee la firmeza garantizada igual a la firmeza de la cifra usada.
Sin embargo el esquema dado no toma en consideración el problema de las claves del código colaterales, que consiste en lo siguiente: pueden existir algunas llaves, con que uso a зашифровании los bloques iguales del texto abierto se traducen en los bloques iguales шифротекста:
EK1 (X) =EK2 (X) a algunos X y K1 ¹ K2.
Una de estas llaves – aquel, sobre que era pasado зашифрование – "verdadero", а otro – "colateral". Así, en la llave colateral para algún bloque de los datos X y alguna llave K verdadera se llama la llave K ', que da exactamente mismo resultado зашифрования del bloque X, así como la llave K verdadera: EK ' (X) =EK (X). Claro que para los bloques distintos del macizo inicial dado las claves colaterales también son distintas en el caso general – la probabilidad de encontrar un par de las llaves que traducen al mismo tiempo a algunos pares de los bloques iguales de los textos abiertos en los vapores de los bloques iguales шифротекстов impetuosamente sale con el crecimiento del número de estos pares. Por eso el descubrimiento de la llave colateral криптоаналитиком a la descodificación del mensaje no es su éxito especial, puesto que con la probabilidad que se distingue poco de 1, sobre esta llave encontrada él no puede correctamente descifrar ningunos otros bloques шифротекста. Completamente otro asunto en el algoritmo de la fabricación MDC – aquí significa el descubrimiento de la llave colateral que el malhechor ha recogido tal falso, es decir el bloque, que falta en el mensaje, de los datos, que uso lleva a verdadero MDC del macizo inicial de los datos.
Para reducir la probabilidad de la imposición de los datos falsos a través de la posición de las llaves colaterales, en los pasos de la transformación criptográfica se aplican no los bloques mismos del mensaje inicial, а el resultado de su ampliación por algún esquema. Bajo el esquema расширениея es comprendido aquí el procedimiento de la construcción de los bloques de los datos большего de la dimensión de los bloques de los datos de la dimensión menor. Al ejemplo puede servir, por ejemplo, la función de la ampliación, en que bloque de salida se basa de байтов (o 2-, 4... Etc.-bajtovyh de las palabras) el bloque inicial, enumerado en el orden distinto. La ampliación indicada tiene que aplicar, si la dimensión de la llave de la cifra usada en supera algunas veces la dimensión de su bloque de los datos. Así, para el algoritmo DES, con la dimensión del bloque de los datos 64 pala y la llave de 56 palas en la ampliación no existe la necesidad. Si en el esquema se usa el algoritmo el GOST 28147–89 con la dimensión del bloque 64 pala y la dimensión de la llave de 256 palas, tiene que usar 64 o los bloques 128-de bit del texto inicial y extender de ellos hasta las dimensiones de 256 palas. El ejemplo de la función de la ampliación 128-bitovogo del bloque en 256-bitovyj puede ser, por ejemplo, lo siguiente:
El bloque inicial: T = (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16),
Después de la ampliación: P (T) = (B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16,
B1, B4, B7, B10, B13, B16, B3, B6, B9, B12, B15, B2, B5, B8, B11, B14),
Donde Bi – байты del bloque de los datos, |Bi | = 8.
El esquema del algoritmo de la fabricación MDC (hesh-código) con el uso de la cifra clásica de bloques prefabricados es llevado en el dibujo 2.
Fig. 2. El algoritmo de la fabricación del código del descubrimiento manipu - ляций para el macizo de los datos. |
Øàã 0. De entrada dado – el macizo de los datos T rotos en m de los bloques de la dimensión fijada, la llave, que no supera la dimensión, usado криптоалгоритма y, como regla, que divide ello totalmente: T = (T1, T2..., Tm). El último bloque dado Tm por modo cualquiera es completado hasta el bloque completo de los datos, si tiene la dimensión menor.
Øàã 1. MDC recibe el significado de cero inicial (este significado puede ser, en general, cualquiera).
Los pasos ulteriores 2 y 3 algoritmos se cumplen consecutivo para cada bloque de los datos iniciales a título de su seguimiento.
Øàã 2. Se cumple la ampliación del bloque Ti siguiente de los datos por medio de la función de la ampliación P hasta la dimensión de la clave del código.
Øàã 3. Se cumple зашифрование del significado MDC corriente sobre la llave recibida sobre el paso 2, el resultado se hace por un nuevo significado MDC corriente.
Øàã 4. El resultado del trabajo del algoritmo (e.d. MDC para todo el macizo de entrada de los datos) es el último significado MDC corriente recibido sobre el paso 3.
El algoritmo examinado puede ser usado también para la fabricación del hesh-código en los esquemas de la firma digital.
A primera vista, esta idea misma puede aparecer por el absurdo. Realmente, es de común saber que así llamado "moderno", la criptografía dosclave ha surgido y empezaba rápidamente a desarrollarse en las últimas décadas precisamente porque una serie de las nuevas actas criptográficas como la acta de la firma digital, en que ha surgido la necesidad indispensable en relación a la penetración de las tecnologías electrónicas en las nuevas esferas, no consiguió realizar en la base tradicional криптоалгоритмов, ampliamente conocido y bien estudiado para entonces. Con todo eso, esto es posible. Y primero, quien ha prestado la atención a tal posibilidad, había … unas cabezas de linaje de la criptografía con la llave abierta de U.Diffi (W.Diffie) y M.E.Hellman (M.E.Hellman). En el trabajo [8] han publicado la descripción del acceso, que permite cumplir el procedimiento de la firma digital de un pala por medio de la cifra de bloques prefabricados. Antes de exponer esta idea fina, haremos algunas observaciones de esencia y realizaciones de la firma digital.
Así, el esquema de la firma digital o la firma elektronno-digital es un juego de los algoritmos y actas [1], que permiten construir la interacción informativa entre dos y más participantes así que el hecho de la propiedad de autor del macizo entregado de los datos "firmados" por un de los participantes, pueda ser firmemente confirmado o desmentirán por la tercera parte, «el arbitraje independiente». El esquema semejante es necesario para todos los sistemas del tratamiento electrónico de los datos, donde no hay confianza mutua completa entre los participantes del proceso informativo, ante todo esto toca la esfera financiera. Cualquier esquema de la firma digital supone la adición al macizo "firmado" de los datos del código adicional – en realidad «la firma digital», producir que puede solamente el autor del mensaje que posee la clave secreta de la firma, а todo otro pueden sólo comprobar la conformidad de esta "firma" a los datos firmados. Por eso cada esquema debe prever, como mínimo, la definición de tres algoritmos siguientes:
1. El algoritmo GK de la fabricación de los par de las llaves – la firma KS y la comprobación de la firma KC con el uso del vector de los parámetros R casuales: (KS, KC) =GK (R), aquí:
KS – la llave de la firma, él debe ser conocido solamente que firma;
KC – la llave de la comprobación de la firma, él no es secreto y es accesible cada uno, quien debe tener la posibilidad de comprobar la propiedad de autor de los mensajes.
2. El algoritmo S de la firma del mensaje T con el uso de la clave secreta de la firma KS:
s=S (T, KS),
Donde s – la firma digital del mensaje;
3. El algoritmo de V comprobación de la firma con el uso de la llave de la comprobación de la firma KC, que da en calidad del resultado булево el significado – se confirma o no se confirma la propiedad de autor del mensaje:
V (T, s, KC) Î {0,1}.
En la práctica el resultado lógico siempre reciben como el resultado de la comparación de dos números, o los códigos, o los bloques dado – el habla sobre mismo. Prácticamente en todos los esquemas conocidos de la firma digital es la comparación hacen del modo siguiente:
· calculan la combinación de control por algún algoritmo C con el uso del mensaje firmado y la firma digital:
c=C (T, s);
· igualan la combinación de control c y la llave de la comprobación de la firma KC, si coinciden, la firma está reconocida justo, а los datos – verdadero, en caso contrario los datos se consideran falso.
Propiamente dicho, basta tres algoritmos indicados para la realización del esquema de la firma digital, sin embargo en la práctica en los esquemas añaden todavía un algoritmo – la función de la fabricación del hesh-bloque para el macizo firmado de los datos T. La mayoría de los algoritmos criptográficos operan los bloques de los datos de la dimensión fijada, а los macizos большего de la dimensión tratan por partes que es necesario para el mantenimiento de la eficiencia y seguridad de estos esquemas. Si el mismo acceso se usaba a la fabricación de la firma digital, los bloques de los macizos de la información se firmarían separadamente uno de otro, y la dimensión de la firma se encontraría comparable a la dimensión del macizo firmado de los datos que por las causas completamente claras no es conveniente. Por eso en los esquemas ЭЦП prácticos se firma no el mensaje mismo, а su hesh-código, es decir el resultado del cálculo de la función de la compresión irreversible para este macizo, que tiene la dimensión fijada. Así, en el esquema ЭЦП es añadido el cuarto algoritmo:
4. El algoritmo H del cálculo de la hesh-función irreversible para los macizos firmados:
h=H (T).
El algoritmo del cálculo de la hesh-función y otros algoritmos del esquema no dependen uno de otro y concordarán solamente según la dimensión de los bloques, que operan. Esto permite en caso necesario cambiar en el esquema de la firma el modo del cálculo de los hesh-significados.
Para el esquema trabajador de la firma elektronno-digital es necesario la ejecución de las condiciones siguientes:
· nadie, excepto la persona que posee la clave secreta de la firma KS, no puede correctamente firmar el mensaje T dado;
Ya que la parte que comprueba la firma, posee la llave KC abierta de la comprobación de la firma, de la propiedad indicada debe que no debe existir вычислительно del algoritmo eficaz del cálculo de la clave secreta KS por abierto KC.
· nadie, incluso la persona que posee la llave de la firma, no en el estado de construir el mensaje T ', conveniente bajo adelante firma dada s.
A la proposición de esquema cualquiera de la firma es necesario demostrar las dos estas propiedades que se hace habitualmente por la prueba равносильности de la tarea correspondiente de la apertura del esquema otro cualquiera, sobre que es conocido que вычислительно es insoluble. Prácticamente todos los algoritmos modernos de la firma digital y otros esquemas «de la criptografía moderna» son fundados en así llamados «las tareas difíciles matemáticas» del tipo факторизации de los números grandes o логарифмирования en los campos discretos. Sin embargo la prueba de la imposibilidad de la decisión eficaz de cómputo de estas tareas falta, y no hay ningunas garantías que no serán decididos en el futuro próximo, а los esquemas correspondientes son forzados – como esto ha pasado con «ранцевой» por el esquema de la firma digital [9]. Además, con el progreso rápido de los medios de las máquinas calculadoras «las fronteras de seguridad» de los métodos son corridas en la esfera de las dimensiones siempre más grandes del bloque. En total vapor de las décadas atrás, en la aurora de la criptografía con la llave abierta se considera que para la realización del esquema de la firma RSA basta 128 o hasta битовых los números. Ahora esta frontera es corrida hasta 1024-bitovyh de los números – prácticamente sensiblemente, – y esto es lejano todavía no el límite. Si es necesario explicar que con cada tal "adelanto" cae перепроектировать los aparatos y copiar los programas que realizan el esquema. Nada semejante no existe en el campo de las cifras clásicas de bloques prefabricados, sin tener en cuenta la decisión primeramente defectuosa e incomprensible del comité de los estándares de los EEUU de limitar la dimensión de la llave del algoritmo DES 56-ju las palas, mientras que todavía durante la discusión del algoritmo era invitado a usar la llave большего de la dimensión [5]. Los esquemas de la firma fundada en las cifras clásicas de bloques prefabricados, son libres de las faltas indicadas:
· en primer lugar, su firmeza a las tentativas de la fractura sale de la firmeza de la cifra usada de bloques prefabricados;
Si es necesario hablar que los métodos clásicos de la cifración son estudiados mucho más, а su seguridad es fundamentada inmensurablemente mejor, que seguridad de los métodos «de la criptografía moderna».
· en segundo lugar, aunque la firmeza usado en el esquema de la firma de la cifra se encuentra las máquinas calculadoras insuficientes a la luz del progreso, ello será fácilmente posible sustituir por otros, más estable, con la misma dimensión del bloque de los datos y la llave, cambiar sin necesidad las características básicas de todo el esquema es exigirá solamente la modificación mínima del software;
Así, volveremos al esquema de Diffi y Hellmana de la firma de un pala del mensaje por medio del algoritmo que se basa en cualquier cifra clásica de bloques prefabricados. Supondremos, hay a nuestra disposición un algoritmo зашифрования EK, que opera los bloques de los datos de X dimensión n y la llave que usa de la dimensión nK: |X | = n, |K | = nK. La estructura de la información clave en el esquema que sigue:
· la clave secreta de la firma KS sale como el par cualquiera de las llaves K0, K1 de la cifra usada de bloques prefabricados:
KS = (K0, K1);
Así, la dimensión de la llave de la firma es igual a la dimensión doblada de la llave de la cifra usada de bloques prefabricados:
|KS | = 2|K | = 2nK
· la llave de la comprobación es calculada como el par de los bloques криптоалгоритма por las ecuaciones siguientes:
KC = (C0, C1), donde:
C0=EK0 (X0), C1=EK1 (X1),
Donde los esquemas, que son el parámetro, los bloques de los datos X0 y X1 несекретны son conocidos a la parte, que comprueba la firma.
Así, la dimensión de la llave de la comprobación de la firma es igual a la dimensión doblada del bloque de la cifra usada de bloques prefabricados:
|KC | = 2|X | = 2n.
Los algoritmos del esquema de la firma digital de Diffi y Hellmana los siguientes:
1. El algoritmo G de la fabricación del par clave:
Tomamos el bloque casual de los datos de la dimensión 2nK, esto y será la clave secreta de la firma:
KS = (K0, K1) =R.
La llave de la comprobación de la firma es calculada como el resultado de dos ciclos зашифрования por el algoritmo EK:
KC = (C0, C1) = (EK0 (X0), EK1 (X1)).
2. El algoritmo S de la fabricación de la firma digital para la pala t (t Î {0,1}) consiste simplemente en la elección de la mitad correspondiente de una pareja que compone la clave secreta de la firma:
s=S (t) =Kt.
3. El algoritmo de V comprobación de la firma consiste en la comprobación de la ecuación EKt (Xt) =Ct, que, es evidente, debe cumplirse para nuestro t. Al destinatario le son conocidas todas las cantidades usadas:
Kt=s – La firma digital la pala,
Ct – la mitad correspondiente de la llave de la comprobación,
Xt – el parámetro no secreto del algoritmo.
Así, la función de la comprobación de la firma será que sigue:
.
¡No es verdad, todos tres algoritmos de este esquema admirablemente la simplicidad en comparación con los esquemas RSA y la ale-gamalja?! Mostraremos que el esquema dado es trabajador, para que comprobaremos la ejecución de las propiedades necesarias del esquema de la firma digital:
1. La imposibilidad de firmar las palas t, si es desconocida la llave de la firma.
Realmente, para la ejecución de esto como el malhechor sería necesario decidir la ecuación Es (Xt) =Ct relativamente s, esta tarea es equivalente a la definición de la llave para el bloque conocido шифротекста y el texto abierto, correspondiente a ello, que вычислительно es imposible por fuerza del uso de la cifra resistente.
2. La imposibilidad de recoger otro significado la pala t, que se acercaría bajo la firma dada es evidente, porque el número de los significados posibles la pala solamente dos y la probabilidad de la ejecución de dos condiciones siguientes al mismo tiempo пренебрежимо es pequeña en simplemente por fuerza del uso криптостойкого del algoritmo:
Es (X0) =C0,
Es (X1) =C1.
Así, Diffi propuesto y Hellmanom el esquema de la firma digital en base a la cifra clásica de bloques prefabricados криптостойка tanto, por cuanto los mostradores la cifra usada, y es muy simple además. Ahora es el momento más oportuno de contar, por qué este esquema admirable no ha encontrado la aplicación un poco considerable práctica. El hecho es que ella tiene dos faltas. ¡Solamente dos, pero que!
La primera falta en seguida salta a los ojos – él consiste en lo que el esquema dado permite firmar sólo uno de palas de la información. En el bloque большего de la dimensión tiene que separadamente firmar cada uno las palas, por eso hasta con el recuento хеширования los mensajes todos los componentes de la firma – la clave secreta, la combinación de comprobación y en realidad la firma resultan bastante grande según la dimensión y más de a dos órdenes superan la dimensión del bloque firmado. Supondremos que en el esquema se usa el algoritmo EK criptográfico con la dimensión del bloque y la llave, expresado en las palas, respectivamente n y nK. Supondremos también que la dimensión del hesh-bloque en el esquema es igual nH. Entonces las dimensiones de los bloques básicos de trabajo serán los siguientes:
· la dimensión de la llave de la firma:
nS=nH×2nK=2nHnK.
· la dimensión de la llave de la comprobación de la firma:
nС=nH×2n=2nHn.
· la dimensión de la firma:
nSg=nH×nK=nHnK.
Si, por ejemplo, en calidad de la base en el esquema dado es usada la cifra el GOST 28147–89 con la dimensión del bloque n=64 la pala y la dimensión de la llave nK=256 de las palas, y para la fabricación de los hesh-bloques será usada la misma cifra en el régimen de la fabricación MDC que dará la dimensión del hesh-bloque nH=64 esto las dimensiones de los bloques de trabajo serán los siguientes:
· la dimensión de la llave de la firma:
nS=nH×2nK=2nHnK=2×64×256=215 Las palas = 4096 bytes.
· la dimensión de la llave de la comprobación de la firma:
nС=nH×2n=2nHn=2×64×64=213 Las palas = 1024 байта.
· la dimensión de la firma:
nSg=nH×nK=nHnK=64×256=214 Las palas = 2048 bytes.
Consientan, bastante pesado ключики.
La segunda falta del esquema dado es menos barrida, puede ser, pero es mucho más serio. ¡Es que un par de las llaves de la firma y la comprobación en ella desechable! Realmente, la pala del mensaje lleva la ejecución del procedimiento de la firma al descubrimiento de la mitad de la clave secreta, después de que él no es por completo secreto y no puede ser usado repetidamente. Por eso para cada mensaje firmado es necesario el juego de las llaves de la firma y la comprobación. Esto excluye la posibilidad del uso práctico del esquema examinado De Diffi-Hellmana en la variante originariamente propuesta en los sistemas ETSP reales.
Por fuerza de dos faltas indicadas propuesto a los esquemas hasta el tiempo relativamente reciente era examinada sólo como la posibilidad curiosa teorética, nadie no examinaba en serio la posibilidad de su uso práctico. Sin embargo hace unos años en el trabajo [7] era propuesta la modificación del esquema De Diffi-Hellmana que elimina en realidad sus faltas. En el trabajo presente el esquema dado no es examinado en todos los detalles, son expuestos aquí solamente los principios básicos del acceso a la modificación del esquema inicial De Diffi-Hellmana y la descripción de los algoritmos que trabajan.
En la sección dada son expuestas las ideas de los autores [7], que han permitido pasar de la firma a separados битов en los esquemas iniciales De Diffi-Hellmana a la firma битовых de los grupos. Central en este acceso es el algoritmo «unilateral criptográfico прокрутки», que puede servir en cierto sentido al análogo de la operación de la edificación en el grado. Como siempre, supongamos, que hay a nuestra disposición un algoritmo EK criptográfico con la dimensión del bloque de los datos y la llave respectivamente n y nK битов, y la dimensión del bloque de los datos no supera la dimensión de la llave: n£nK. Que a nuestra disposición hay también alguna función de "la ampliación" n-bitovyh de los bloques de los datos en nK-bitovye Y=Pn®nK (X), |X | = n, |Y | = nK. Determinaremos la función Rk «unilateral прокрутки» el bloque dado T a la dimensión n de las palas k la vez (k³0) por medio de que sigue рекурсивной las fórmulas:
Donde X – cualquiera no secreto n-bitovyj el bloque de los datos que es en el parámetro del procedimiento прокрутки. Por la idea la función unilateral прокрутки es extraordinariamente simple, es necesario solamente la cantidad necesaria de las vez (k) cumplir las acciones siguientes: extender n-bitovyj el bloque de los datos T hasta la dimensión de la llave usado криптоалгоритма (nK), sobre el bloque recibido extendido como sobre la llave cifrar el bloque de los datos X, el resultado зашифрования incluir al lugar del bloque inicial de los datos (T). Por fuerza de la definición la operación Rk (T) posee dos propiedades extremadamente importantes para nosotros:
1. Аддитивность por el número прокручиваний:
Rk+k ' (T) =Rk ' (Rk (T)).
2. El exclusivismo o la irreversibilidad прокрутки: si es conocido solamente algún significado de la función Rk (T), вычислительно es imposible encontrar el significado Rk ' (T) para cualquiera k ' <k – si esto era posible, sería a nuestra disposición el modo de determinar la llave de la cifración por el bloque conocido de entrada y de salida криптоалгоритма EK. Que contradice la suposición de la firmeza de la cifra.
Ahora mostraremos, cómo se puede usar la operación indicada para la firma del grupo битов: expondremos la descripción del esquema de la firma del bloque T que consiste de nT битов, por exactamente mismo esquema, por que en la sección anterior es descrito el esquema de la firma de un pala.
· la clave secreta de la firma KS sale como el par cualquiera de los bloques K0, K1, que tienen la dimensión del bloque de los datos de la cifra usada de bloques prefabricados:
KS = (K0, K1);
Así, la dimensión de la llave de la firma es igual a la dimensión doblada del bloque de los datos de la cifra usada de bloques prefabricados:
|KS | = 2n;
· la llave de la comprobación es calculada como el par de los bloques que tienen la dimensión de los bloques de los datos usados криптоалгоритма por las fórmulas siguientes:
KC = (C0, C1), donde:
C0=R2nT–1 (K0), C1=R2nT–1 (K1).
En estos cálculos se usan también los bloques no secretos de los datos X0 y X1, las funciones, que son los parámetros, «unilateral прокрутки», ellos es obligatorio deben distinto.
Así, la dimensión de la llave de la comprobación de la firma es igual a la dimensión doblada del bloque de los datos de la cifra usada de bloques prefabricados:
|KC | = 2n.
Los algoritmos de [7] esquemas, modificados por los autores, de la firma digital de Diffi y Hellmana los siguientes:
1. El algoritmo G de la fabricación del par clave:
Tomamos el bloque casual de los datos de la dimensión conveniente 2n, esto y será la clave secreta de la firma:
KS = (K0, K1) =R.
La llave de la comprobación de la firma es calculada como el resultado «unilateral прокрутки» dos mitades correspondientes de la clave secreta de la firma al número igual al significado máximo posible numérico nT-bitovogo del bloque de los datos, es decir en 2nT–1.
KC = (C0, C1) = (R2nT–1 (K0), R2nT–1 (K1)).
2. El algoritmo SnT de la fabricación de la firma digital para nT-bitovogo del bloque T limitado, por el significado, la condición 0£T£2nT–1, consiste en la ejecución «unilateral прокрутки» las dos mitades de la llave de la firma T y 2nT–1–T la vez respectivamente:
s=SnT (T) = (s0, s1) = (RT (K0), R2nT–1–T (K1)).
3. El algoritmo VnT de la comprobación de la firma consiste en la comprobación de la veracidad de las correlaciones:
R2nT–1–T (s0) =C0, RT (s1) =C1, que, es evidente, deben cumplirse para el bloque verdadero de los datos T:
R2nT–1–T (s0) =R2nT–1–T (RT (K0)) =R2nT–1–T+T (K0) =R2nT–1 (K0) =C0,
RT (s1) =RT (R2nT–1–T (K1)) =RT+2nT–1–T (K1) =R2nT–1 (K1) =C1.
Así, la función de la comprobación de la firma será que sigue:
Mostraremos que para el esquema dado se cumplen las condiciones necesarias de la capacidad de trabajo del esquema de la firma:
1. Supondremos que a disposición del malhechor es nT-bitovyj el bloque T, su firma s = (s0, s1), y la llave de la comprobación KC = (C0, C1). Usando esta información, el malhechor trata de encontrar la firma correcta s' = (s ' 0, s ' 1) para otro nT-bitovogo del bloque T '. Para esto tiene que decidir las ecuaciones siguientes relativamente s ' 0 y s ' 1:
R2nT–1–T ' (s ' 0) =C0,
RT ' (s ' 1) =C1.
A disposición del malhechor hay un bloque de los datos T con la firma s = (s0, s1), y esto lo permite calcular un de los significados s ' 0, s ' 1, sin poseer la llave de la firma:
(a) Si T <T ', s ' 0=RT ' (K0) =RT '–T (RT (K0)) =RT '–T (s0),
(b) Si T> T ', s ' 1=R2nT–1–T ' (K1) =RT–T ' (R2nT–1–T (K1)) =RT–T ' (s1).
Sin embargo para la posición de la segunda mitad de la firma (s ' 1 en el caso (a) y s ' 0 en el caso (b)) tiene que cumplir прокрутку en dirección contraria, e.d. encontrar Rk (X), disponiendo solamente del significado para большего k: Rk ' (X), k '> k que es вычислительно imposible. Así, el malhechor no puede falsificar la firma bajo el mensaje, si no dispone de la clave secreta de la firma.
2. La segunda exigencia se cumple también: la probabilidad de recoger el bloque de los datos T ', excelente del bloque T, pero la misma firma digital que posee, es extraordinariamente pequeña y puede no ser tenido en cuenta. Realmente, que la firma digital de los bloques T y T ' coincide. Entonces las firmas de los dos bloques serán iguales respectivamente:
s=SnT (T) = (s0, s1) = (RT (K0), R2nT–1–T (K1)),
s' = SnT (T ') = (s ' 0, s ' 1) = (RT ' (K0), R2nT–1–T ' (K1)),
s=s', por consiguiente:
RT (K0) =RT ' (K0) Y R2nT–1–T (K1) =R2nT–1–T ' (K1).
Pondremos para la certeza T£T ', entonces es justo lo siguiente:
RT '–T (K0 *) = K0 *, RT '–T (K1 *) = K1 *, donde K0 * = RT (K0), K1 * = R2nT–1–T ' (K1)
La última condición significa que прокручивание de dos bloques distintos de las veces, dadas al número mismas, deja sus significados invariable. La probabilidad de tal acontecimiento es extraordinariamente pequeña y puede no ser tenido en cuenta.
Así la modificación examinada del esquema De Diffi-Hellmana hace posible la firma no uno pala, а por entera битовой los grupos. Esto permite reducir la dimensión de la firma y las llaves de la firma/comprobación del esquema dado. Es necesario comprender sin embargo que el aumento de la dimensión firmado битовых de los grupos lleva al crecimiento exponencial del volumen de los cálculos necesarios y a partir de algún significado hace el trabajo del esquema es inadmisible ineficaz. La frontera «de la dimensión razonable» del grupo firmado se encuentra en algún sitio cerca de восемью por las palas, y es necesario firmar los bloques большего de la dimensión da lo mismo "por partes".
Ahora encontraremos las dimensiones de las llaves y la firma, también el volumen necesario para la realización del esquema de los cálculos. Que la dimensión del hesh-bloque y el bloque de la cifra usada es igual e igual n, а la dimensión firmado битовых de los grupos es igual nT. Supondremos también que si el último grupo contiene el número menor битов, es tratada da lo mismo como completo nT-bitovaja el grupo. Entonces las dimensiones de las llaves de la firma/comprobación y la firma coinciden y son iguales a la cantidad siguiente:
De las palas,
Donde éxù designa el redondeo del número x antes del acrecentamiento, próximo entero a un lado. El número de las operaciones de la cifración EK (X), exigido para la realización de los procedimientos del esquema, están determinados por las correlaciones siguientes:
· a la fabricación de la información clave es igual:
,
· a la firma y la comprobación de la firma es dos veces más pequeño:
.
En la tabla 2 que sigue más abajo son llevados los significados contados de las dimensiones de las llaves y la firma, y el número de las operaciones exigidas de la cifración depende de la dimensión firmado битовых de los grupos a condición del uso de bloques prefabricados криптоалгоритма con la dimensión del bloque n=64 la pala:
La tabla 2. Los índices numéricos del esquema de la firma depende de la dimensión битовых de los grupos.
nT |
El número de las palas. |
La dimensión de la firma y las llaves, el byte |
El número de las operaciones de la cifración |
|
|
De los grupos |
|KS | = | KC | = | s | |
WK |
WS=WC |
1 |
64 |
1024 |
128 |
64 |
2 |
32 |
512 |
192 |
96 |
3 |
22 |
352 |
308 |
154 |
4 |
16 |
256 |
480 |
240 |
5 |
13 |
208 |
806 |
403 |
6 |
11 |
176 |
1386 |
693 |
7 |
10 |
160 |
2540 |
1270 |
8 |
8 |
128 |
4080 |
2040 |
9 |
8 |
128 |
8176 |
4088 |
10 |
7 |
112 |
14322 |
7161 |
11 |
6 |
96 |
24564 |
12282 |
12 |
6 |
96 |
49140 |
24570 |
13 |
5 |
80 |
81910 |
40955 |
14 |
5 |
80 |
163830 |
81915 |
15 |
5 |
80 |
327670 |
163835 |
16 |
4 |
64 |
524280 |
262140 |
Se puede complementariamente reducir la dimensión de la llave de la firma y la comprobación de la firma por las recepciones siguientes:
1. No hay necesidad de guardar las llaves de la firma separados битовых de los grupos, ellos es posible dinámicamente producir en el momento necesario del tiempo por medio del generador криптостойкой las escalas. La llave de la firma será en este caso la llave regular usado en el esquema de la firma de la cifra de bloques prefabricados. Para el GOST de 28147-89 esta dimensión es igual a 256 palas, por eso si el esquema de la firma será construido sobre el GOST, la dimensión de la llave de la firma será igual a las mismas 256 palas.
2. Exactamente así como, no hay necesidad de guardar el macizo de las llaves de la comprobación de la firma separados битовых de los grupos del bloque, basta de guardar su hesh-combinación. Además el algoritmo de la fabricación de la llave de la firma y el algoritmo de la comprobación de la firma serán completados todavía por un paso – el cálculo del hesh-código para el macizo de las combinaciones de comprobación de separados битовых de los grupos.
Así, el problema de la dimensión de las llaves y la firma es decidido por completo, sin embargo, la falta principal del esquema – одноразовость de las llaves – no es superada, ya que esto es imposible en los límites del acceso De Diffi-Hellmana. Para el uso práctico de tal esquema contado para la firma N de los mensajes, el remitente tiene que guardar N de las llaves de la firma, а al destinatario – N de las llaves de la comprobación que es bastante inconveniente. Sin embargo este problema puede ser decidido con la exactitud así como, como era decidido el problema de las llaves para plural битовых de los grupos – la generación de las llaves de la firma para todos N de los mensajes de una llave maestro y el enrollamiento de todas las combinaciones de comprobación en una combinación de control por medio del algoritmo de la fabricación del hesh-código. Tal acceso decidiría el problema de la dimensión de las llaves almacenadas, llevaría sin embargo a la necesidad juntos por la firma de cada mensaje de mandar que faltan N–1 de las combinaciones de comprobación necesarias para el cálculo del hesh-código del macizo de todas las combinaciones de control de los mensajes separados. Claro que tal variante no posee las ventajas en comparación con inicial. Sin embargo en [7] era propuesto el mecanismo que permite considerablemente bajar a la agudeza del problema. Su idea básica – calcular la combinación de control (la llave de la comprobación de la firma) no como хэш del macizo lineal de las combinaciones de comprobación de todos los mensajes, а de dos en dos – por medio del árbol binario. En cada nivel la combinación de comprobación es calculada como хэш de dos combinaciones de comprobación del nivel menor. Más arriba nivel de la combinación, más de llaves separadas de la comprobación en ella "es tomado en consideración". Supondremos que nuestro esquema es contado en 2L de los mensajes. Designaremos a través de Ci (l) i combinación de l niveles. Si la numeración de las combinaciones y los niveles empezar a partir de cero, es justa la condición siguiente: 0£i <2L–l, а i combinación de comprobación de l niveles es contada en 2l de los mensajes con los números de i×2l hasta (i+1) ×2l–1 inclusivamente. El número de las combinaciones del nivel inferior, de cero es igual 2L, а de L niveles superiores, – una, ella es la combinación de control de todos 2L de los mensajes, en que es contado el esquema. En cada nivel, a partir de primero, las combinaciones de comprobación ajustan las cuentas por la fórmula siguiente:
Ci (l+1) =H (C2 (il) || C2 (il) +1),
Donde a través de A || B es designado el resultado конкатенации de dos bloques de los datos – A y B, а a través de H (X) – el procedimiento del cálculo del hesh-código del bloque de los datos X.
Al uso del acceso indicado junto con la firma del mensaje ¡Ñ«íÕ«ñ¿@¼« entregar no N–1, como en la variante inicial, pero log2N de las combinaciones de control. Pasar deben las combinaciones correspondientes a las ramas adyacentes del árbol en la vía de la cima final, la firma usada, correspondiente al número, a la raíz.
El nivel бббббб 3: C0 (3) бббббб 2: C0 (2) ббббббббббббббббббббббббббббббббббббб C1 (2) бббббб 1: C0 (1) ббббббббббббббб C1 (1) ббббббббббббббб C2 (1) ббббббббббббббб C3 (1) бббббб 0: C0 (0) C1 (0) C2 (0) C3 (0) C4 (0) C5 (0) C6 (0) C7 (0) Fig. 3. El esquema попарного хеширования de comprobación ббббббббббб las combinaciones a la fabricación de la llave general ббббббббббб las comprobaciones de la firma. |
El esquema попарного ÕÑÞ¿Ó«óá@¡¿n de las combinaciones de comprobación a la fabricación de la llave general de la comprobación de la firma a ocho mensajes »Ó¿@óÑñÑ¡á en el dibujo 3. Así, en el esquema a 8 mensajes con la transmisión ß««íÚÑ@¡¿n №5 (la combinación de control es distinguida por el límite) junto con ello »«ñ@»¿ßý¯ deben ser entregados ¬«¡@ÔÓ«½ý¡án la combinación del mensaje №4 (C4 (0)), general para los mensajes №№ 6–7 (C3 (1)) y general para ß««íÚÑ@¡¿® №№ 0–3 (C0 (2)), todos ellos óÙñѽÑ@¡Ù en el dibujo por otro fondo. Durante la comprobación de la firma el significado C5 (0) será calculado del mensaje y su firma, а la combinación total de control que está sujeta la comparación con de patrón, por la fórmula siguiente:
C=C0 (3) =H (C0 (2) || H (H (C4 (0) || C5 (0)) || C3 (1))).
Los números de las combinaciones de control de cada nivel, que deben ser entregados junto con la firma del mensaje con el número i (0£i <2L), son calculados por la fórmula siguiente: Cë (il/) 2lûÅ1, l=0..., L–1, donde xÅ1 significa el número que resulta como resultado de la inversión menor pala en el número x.
La necesidad de enviar junto con la firma del mensaje la información adicional necesaria para la comprobación a la firma, es no pesada en realidad. Realmente, en el sistema en 1024=210 de las firmas junto con el mensaje y su firma es necesario complementariamente entregar 10 combinaciones de control, а en el sistema en 1048576=220 de las firmas – solamente 20 combinaciones. Sin embargo al número grande de las firmas, en que es contado el sistema, surge otro problema – el almacenaje de las combinaciones adicionales, si son contados preliminarmente, o su fabricación en el momento de la formación de la firma.
Las combinaciones adicionales de control, que pasan junto con la firma y se usan durante su comprobación, son producidos a la formación de la llave de la comprobación por la llave de la firma y pueden estar en el sistema y usarse en el momento de la formación de la firma, o ser calculado de nuevo en este momento. El primer acceso supone los gastos de la memoria de discos, puesto que es necesario guardar 2L+1–2 de las hesh-combinaciones de todos los niveles, а segundo exige el volumen grande de los cálculos en el momento de la formación de la firma. Se puede usar y el acceso de compromiso – guardar todas las hesh-combinaciones a partir de algún nivel l *, а las combinaciones del nivel menor calcular a la formación de la firma. En el esquema examinado más arriba de la firma a 8 mensajes es posible guardar todo las 14 combinaciones de control usadas a la comprobación (todo de ellos 15, pero superior no se se usa), entonces durante la comprobación de la firma no será necesario calcularlos de nuevo. Se puede guardar 6 combinaciones a partir del nivel 1 (C0 (1), C1 (1), C2 (1), C3 (1), C0 (2), C1 (2)), entonces durante la comprobación de la firma del mensaje №5 será necesario de nuevo calcular la combinación C4 (0), а otro (C0 (2), C3 (1)) tomar del "depósito", y т.д. El acceso Indicado permite alcanzar el compromiso entre la velocidad y las exigencias a la cantidad ocupada del espacio de discos. Es necesario notar que la renuncia del almacenaje de las combinaciones de un nivel lleva a la economía de la memoria y el crecimiento de los gastos de cómputo aproximadamente dos veces, es decir la dependencia tiene el carácter exponencial.
Son más abajo llevados los parámetros numéricos y los algoritmos usados auxiliares del esquema examinado de la firma digital:
· EK – el algoritmo зашифрования con la dimensión del bloque de los datos y la llave n y nK битов respectivamente;
· Гm (s, K) – el algoritmo de la fabricación m битов криптостойкой las escalas con el uso n-bitovogo del vector de los parámetros (sincroenvío) iniciales s y nK-bitovogo de la llave K, representa el algoritmo recurrente de la fabricación n-bitovyh de los bloques de los datos y su ulterior зашифрования por el algoritmo EK;
· Pm®nK – el juego de las funciones de la ampliación m-bitovyh de los bloques de los datos hasta nK-bitovyh para distinto m (es típico – para múltiple n, menor nK);
· L – el factor de la cantidad de las firmas (el sistema es contado en N=2L de las firmas);
· nT – el número битов en firmado битовых los grupos, entonces el número de los grupos es igual.
Son más abajo expuestos los algoritmos del esquema de la firma:
1. El algoritmo de la formación de las llaves de la firma y la comprobación de la firma.
(a) Las Formaciones de la llave de la firma.
La llave de la firma se forma como nK-bitovyj el bloque de los datos por medio del generador duro de los códigos casuales o криптостойкого del generador de programa de los códigos KS=GnT seudocasuales (...). Los Bits de clave deben ser independientes y con la probabilidad igual de aceptar dos posible los significados – 0 y 1.
(b) Las Formaciones de la llave de la comprobación de la firma. El esquema del algoritmo de la formación de la llave de la comprobación de la firma es representado en el dibujo 4.
Øàã 0. Los datos iniciales del algoritmo – nK-bitovyj el macizo dado KS – la llave de la firma.
Øàã 1. Calculamos nG – la cantidad nT-bitovyh de los grupos en los bloques firmados.
Los pasos siguientes 2–9 se cumplen tantas veces, en cuántas firmas es contado el esquema, e.d. para cada número de la firma del sistema.
Fig. 4. El algoritmo de la fabricación de la llave de la comprobación de la firma. |
Øàã 2. Producir el bloque de la escala de la dimensión 2nnG de las palas por medio del generador криптостойкой las escalas sobre la llave KS con el relleno inicial i (el número de la firma) y colocarlo en 2nnG-bitovyj el macizo X.
Øàã 3. 2nnG-bitovyj el macizo X es interpretado como el macizo de 2nG n-bitovyh de los elementos Xj, X = (X1, X2..., X2nG), |Xj | = n,
Luego para cada elemento de este macizo es calculado su resultado «unilateral прокрутки» 2nT–1 la vez.
Øàã 4. Para el macizo X es calculado y se inscribe en el bloque dado S su hesh-código, que es la combinación individual de comprobación para la firma el número i.
Los pasos siguientes 5,6 se cumplen la cantidad de las vez iguales al factor de la cantidad de las firmas L.
Øàã 5. Si l de las palas menores del número de la firma – la unidad, el tránsito al paso 6, de otro modo – la ejecución del ciclo cesa la dirección pasa al paso 7.
Øàã 6. La hesh-combinación S corriente se une c corriente õýø-êîìáèíàtsiej Dl del nivel l, y para el macizo recibido es calculado el hesh-significado, que se hace por una nueva hesh-combinación corriente.
Øàã 7. La hesh-combinación S corriente sustituye õýø-êîìáèíàtsiju Dl del nivel l.
Øàã 8. Último calculado a la ejecución del algoritmo la hesh-combinación S corriente resultará los trabajos del algoritmo – la llave de la comprobación de la firma. Además, durante la ejecución del algoritmo serán sucesivamente producidas las hesh-combinaciones de todos los niveles de 0 hasta L, 0£l£L, 0£i <2L–l, que pueden estar en el sistema y usarse a la formación de la firma.
2. El algoritmo de la firma del hesh-bloque del macizo de los datos.
El esquema del algoritmo de la firma del hesh-bloque del macizo de los datos es representado en el dibujo 5.
Øàã 0. Los datos iniciales del algoritmo:
· T – firmado – n-bitovyj el hesh-bloque del macizo de los datos;
· KS – la llave de la firma – nK-bitovyj el macizo de los datos;
· i – el número ordinal de la firma.
Øàã 1. Calculamos nG – el número nT-bitovyh de los grupos en el hesh-bloque firmado n-de bit.
Øàã 2. Producir el bloque de la escala de la dimensión 2nnG de las palas por medio del generador криптостойкой las escalas sobre la llave KS con el relleno inicial i (el número de la firma) y colocarlo en 2nnG-bitovyj el macizo X.
Øàã 3. 2nnG-bitovyj el macizo X es interpretado como el macizo de nG el vapor n-bitovyh de los elementos X = ((X1, X2)..., (X2nG–1, X2nG)), |Xj | = n,
Luego para cada componente de cada elemento de este macizo, ß««ÔóÑÔßÔóÒ¯@ÚÑú« determinado битовой al grupo del hesh-bloque, el número necesario de las vez se cumple el procedimiento «unilateral прокрутки».
Fig. 5. El algoritmo de la firma del hesh-código del mensaje. |
Øàã 4. A la combinación individual de comprobación es añadido sucesivamente попарные las hesh-combinaciones, por una combinación de cada nivel de 0 hasta L–1, que son necesarios al cálculo de la combinación de comprobación del nivel superior (L), general para todos los mensajes. El número de la combinación añadida de cada nivel está determinado por el desecho de la cantidad de las últimas palas en el número de la firma, el nivel, igual al número, y en la inversión menor la pala del número recibido.
Øàã 5. Es recibido En resultado la firma digital del hesh-bloque del mensaje S = (X, D), que consiste del macizo de las firmas битовых de los grupos del bloque X = (X1, X2..., X2nG) y del macizo de las combinaciones D adicionales de comprobación = (D0, D1..., DL–1), necesario para la ejecución del procedimiento de la comprobación de la firma y usado al cálculo попарных de las combinaciones de comprobación.
3. El algoritmo de la comprobación de la firma del hesh-bloque del macizo de los datos.
El esquema del algoritmo de la comprobación de la firma del hesh-bloque del macizo de los datos es representado en el dibujo 6.
Fig. 6. El algoritmo de la comprobación de la firma. |
Øàã 0. Los datos iniciales del algoritmo:
· T – firmado – n-bitovyj el hesh-bloque del macizo de los datos;
· s – la firma del hesh-bloque, consiste del macizo X que contiene 2nG n-bitovyh de los elementos de la firma битовых de los grupos, y el macizo D que contiene L n-bitovyh de las hesh-combinaciones;
· i – el número ordinal de la firma.
Øàã 1. Calculamos nG – el número nT-bitovyh de los grupos en el hesh-bloque firmado que tiene la dimensión n de las palas.
Øàã 2. En concordancia con las reglas de la comprobación de la firma es hecho «unilateral прокрутка» los elementos de la firma битовых de los grupos que contienen en el macizo X, por dos elementos a cada grupo.
Øàã 3. Para el macizo X es calculado y se inscribe en S su hesh-código, que debe ser igual por la combinación individual de comprobación para i firmas.
Los pasos siguientes 4–6 se cumplen la cantidad de las vez iguales al factor de la cantidad de las firmas L.
Øàã 4. Es hecha la elección por el significado l pala (la numeración con 0 por parte de menor la pala) el número de la firma.
Øàã 5. Si el significado la pala es igual 0, al código es añadida a la derecha la hesh-combinación siguiente que contiene en la firma, para el bloque recibido es calculado la hesh-función, que sustituye el contenido S anterior.
Øàã 6. Si el significado la pala es igual 1, se cumple mismo, solamente la hesh-combinación es añadido al código a la izquierda.
Øàã 7. A finales de la ejecución del algoritmo en S contiene el código, que debe ser comparado con la llave de la comprobación de la firma, si los códigos son iguales, la firma se considera justo, de otro modo – equivocado.
La conclusión.
La firmeza del esquema propuesto de la firma digital está determinada por la firmeza de la cifra usada de bloques prefabricados, а la estabilidad de la apertura por los métodos reboricados – el menor de los números n, nK. El juego clave en el esquema dado es contado en un cierto número de las firmas que puede percibirse, por un lado, como la falta del esquema, pero con otra permite autorizar la cantidad de las firmas, facilitando mismo su uso comercial. El esquema examinado de la firma no corresponde al estándar de Rusia para la firma digital, а el algoritmo del cálculo MDC – el estándar a la fabricación del hesh-código del macizo de los datos que hace imposible el certificado testimonial en las organizaciones correspondientes de los mecanismos y los productos informáticos, sus que realizan. Sin embargo los esquemas expuestos pueden ser usados completamente allí, donde las cuestiones en litigio no pueden ser llevadas al nivel arbitral y los vistas de la causa, por ejemplo, en los sistemas de la automatización de la circulación de documentos interior de los establecimientos, especialmente si la circulación de documentos electrónica no sustituye de papel, а existe en adición a él para la aceleración del paso de los documentos.
En calidad de la aplicación al artículo presente son llevados los textos iniciales en la lengua del ensamblador para los procesadores del clon Intel de 8086 funciones del cálculo MDC para los bloques de los datos y las funciones que realizan los algoritmos del esquema descrito de la firma digital. La función de la fabricación del hesh-código (MDC) es escrita así que permite tratar los bloques de los datos por partes, es decir por algunas llamadas. Todas las funciones usan en calidad de la base el algoritmo зашифрования de acuerdo con GOST 28147–89. Son aplicados También los textos de los programas de test en la lengua del Si para la comprobación de la invariabilidad de los ficheros en base a MDC y la firma digital.
La literatura.
1. A.J.Vinokurov. El GOST no es simple..., а es muy simple, М, Monitor.-1995.-N1.
2. A.J.Vinokurov. Una vez más sobre el GOST., М, Monitor.-1995.-N5.
3. A.J.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 Manuscrito, 1997.
4. A.J.Vinokurov. ¿Cómo es convenida la cifra de bloques prefabricados?, el Manuscrito, 1995.
5. M.E.Smid, D.K.Bransted. El estándar de la cifración de los datos: pasado y futuro. / el callejón con inglés / М, el Mundo, ТИИЭР.–1988.–т.76.–N5.
6. Los sistemas del tratamiento de la información. La defensa criptográfico. El algoritmo de la transformación criptográfica el GOST 28147–89, М, el Estándar estatal, 1989.
7. B.V.Berezin, art. del S. Doroshkevich. La firma digital en base a la criptografía tradicional//la Defensa de la información, вып.2., М: MPa de "Irbis-Ii", 1992.
8. W.Diffie, M.E.Hellman. New Directions in cryptography//IEEE Trans. Inform. Theory, IT-22, vol 6 (Nov. 1976), pp. 644-654.
9. U.Diffi. Primero diez años de la criptografía con la llave abierta. / el callejón con inglés / М, el Mundo, ТИИЭР.–1988.–т.76.–N5.
[1] Actas en la criptografía se llama el juego gobernaba los algoritmos del más alto orden que reglamentan el uso de los algoritmos del orden inferior. Su destino básico – garantizar el uso correcto de los algoritmos criptográficos.
|