[go: up one dir, main page]

ES2287978T3 - Metodo para la conversion criptografica de bloques de datos binarios. - Google Patents

Metodo para la conversion criptografica de bloques de datos binarios. Download PDF

Info

Publication number
ES2287978T3
ES2287978T3 ES98935436T ES98935436T ES2287978T3 ES 2287978 T3 ES2287978 T3 ES 2287978T3 ES 98935436 T ES98935436 T ES 98935436T ES 98935436 T ES98935436 T ES 98935436T ES 2287978 T3 ES2287978 T3 ES 2287978T3
Authority
ES
Spain
Prior art keywords
sub
block
value
conversion
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES98935436T
Other languages
English (en)
Inventor
Alexandr Andreevich Moldovyan
Nikolai Andreevich Moldovyan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Otkrytoe Aktsionernoe Obschestvo "moskovskaya Gorodskaya Telefonnaya Set"
Borovichsky Kombinat Ogneuporov OAO
Original Assignee
Otkrytoe Aktsionernoe Obschestvo "moskovskaya Gorodskaya Telefonnaya Set"
Borovichsky Kombinat Ogneuporov OAO
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Otkrytoe Aktsionernoe Obschestvo "moskovskaya Gorodskaya Telefonnaya Set", Borovichsky Kombinat Ogneuporov OAO filed Critical Otkrytoe Aktsionernoe Obschestvo "moskovskaya Gorodskaya Telefonnaya Set"
Application granted granted Critical
Publication of ES2287978T3 publication Critical patent/ES2287978T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Near-Field Transmission Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un método para la conversión criptográfica de bloques de datos binarios, que comprende dividir dichos bloques de datos en N >= 2 sub-bloques, convertir secuencialmente dichos bloques actuando sobre el sub-bloque i, donde i <= N, siendo al menos una operación de conversión dependiente del valor del sub-bloque j, caracterizado porque se utiliza una operación de transposición de bits del sub-bloque i como la operación dependiente del valor del sub-bloque j, donde j <= N, y porque dicha operación de transposición de bits del sub-bloque i no es una rotación.

Description

Método para la conversión criptográfica de bloques de datos binarios.
La presente invención se refiere al campo de las comunicaciones eléctricas y a la tecnología de ordenadores y, más particularmente, al campo de métodos criptográficos y dispositivos para el cifrado de mensajes (información).
Técnica anterior
La totalidad de las características del método reivindicado utilizan los términos siguientes:
-
la clave secreta es una información binaria conocida solamente por el propietario legítimo;
-
la conversión criptográfica es una conversión digital de los datos, que permite la influencia del bit de datos fuentes sobre una pluralidad de bits de datos de salida, por ejemplo, con la finalidad de proteger la información contra la lectura no autorizada, generar una firma digital, de generar el código de detección de la modificación; algunos tipos importantes de conversiones criptográficas son la conversión unilateral, el cálculo de la clave y el cifrado;
-
el cálculo de la clave de la información es un cierto método de formación de un llamado código de cálculo de un tamaño fijo (típicamente 128 bits) para mensajes de cualquier tamaño; los métodos de cálculo de la clave que se utilizan ampliamente se basan en funciones iterativas de cálculo de la clave que utilizan mecanismos de bloques de conversión criptográfica dela información (ver Lai X, Massey J. L., Hash Functions Bases on Block Cipher/Workshop on the Theory and Applications of Cryptographic Techniques, EUROCRYPT' 92, Hungría, 24-28 de Mayo de 1992m Proceedings, páginas 53-66);
-
el cifrado es un proceso de conversión de la información que depende de la clave secreta y que transforma un texto fuente en un texto cifrado que representa una secuencia de caracteres pseudo-aleatorios a partir de la cual es prácticamente imposible obtener información sin el conocimiento de la clave secreta;
-
el descifrado es un proceso que es inverso al procedimiento de cifrado; el descifrado asegura la recuperación de información de acuerdo con el criptograma cuando se conoce la clave secreta;
-
el cifrado es una totalidad de etapas elementales de conversión de datos de entrada utilizando la clave secreta; el cifrado se puede implementar en la forma de un programa de ordenador o como un dispositivo separado;
-
un vector binario es una cierta secuencia de bits inactivos y de bits activos, tales como 1011010011; una estructura específica del vector binario puede ser interpretada como un número binario si se supone que la posición de cada bit corresponde a un bit binario, es decir, que el vector binario se puede comparar con un valor numérico que está determinado unívocamente por la estructura del vector binario;
-
el criptanálisis es un método de cálculo de la clave secreta para obtener acceso no autorizado a información cifrada o de desarrollo de un método que proporciona acceso a la información cifrada sin calcular la clave secreta;
-
la conversión unilateral es una conversión de un bloque de datos de entrada de bits-L en un bloque de datos de salida de bits-L que permite calcular con facilidad el bloque de datos de salida de acuerdo con el bloque de entrada, mientras que el cálculo del bloque de entrada que se transformaría en un bloque de salida seleccionado de forma aleatoria es una tarea esencialmente impracticable;
-
la función unilateral es una función cuyo valor se calcula fácilmente de acuerdo con un argumento dado, sin embargo el cálculo del argumento de acuerdo con una función dada es un problema difícil desde el punto de vista del cálculo; las funciones unilaterales son implementadas como una secuencia de procedimientos de conversión unilateral de un cierto bloque de entrada (argumento), cuyo valor de salida se supone como el valor de la función;
-
la resistencia criptográfica es una medida de seguridad de protección de la información cifrada y representa mano de obra intensiva medida en el número de operaciones que deben realizarse con el fin de recuperar información de acuerdo con un criptograma cuando se conoce el algoritmo de conversión, pero sin el conocimiento de la clave secreta; en el caso de las conversiones unilaterales, por resistencia criptográfica se entiende la complejidad de cálculo del valor del bloque de entrada de acuerdo con su valor de salida;
-
las operaciones de desplazamiento cíclico, que dependen de un vector binario son operaciones de desplazamiento cíclico sobre un número de bits establecido por el valor del sub-bloque o por el valor del vector binario; las operaciones de desplazamiento cíclico hacia la izquierda (derecha) se designan con el signo "\men{3}" ("\may{3}"), por ejemplo la anotación B_{1} \men{3} B_{2} significa una operación de desplazamiento cíclico hacia la izquierda del sub-bloque B_{1} sobre el número de bits igual al valor del vector binario B_{2}; operaciones similares son básicas para la cifra RC5;
-
una operación de sitio individual es una operación realizada sobre un operando (bloque de datos o vector binario); el valor del sub-bloque después de realizar una cierta operación de sitio individual dada depende solamente de un valor inicial; un ejemplo de operaciones se sitio individual son operaciones para adición, substracción, multiplicación, etc.
Se conocen métodos de cifrado de bloques de datos, ver por ejemplo la Norma US DES (National Bureau of Standards. Data Encryption Standard, Federal Information Proccessing Syandards Publication 46, Enero de 1977). Este método de cifrado de bloques de datos comprende la generación de una clave secreta, la división del bloque de datos que se convierte en dos sub-bloques L y R y el cambio alternativo de este último llevando a cabo la operación de la suma bit por bit módulo 2 sobre el sub-bloque L y un vector binario que es generado como un valor de salida de una cierta función F de acuerdo con el valor del sub-bloque R. Después los bloques son intercambiados. La función F en este método es implementada realizando las operaciones de transposición y relleno llenadas a cabo en el sub-bloque R. Este método tiene una tasa de conversión alta cuando se realiza en la forma de una circuitería electrónica especializada.
Moldovyan, A. A., Moldovyan N. A., Sovotev B. Ya., Software-Oriented Ciprés for Computer Communication Portection, 4th Int. Conf. APPLICATIONS OF COMPUTER SYSTEMS ACS '97, 13-14 de Noviembre de 1997, Zsczecin, Polonia, Proc. Páginas 443-450, describe un método de cifrado de bloques de datos que comprende generar una clave expandida, dividir el bloque de datos que se convierte en un conjunto de N sub-bloques de 32 bits, la selección de la sub-clave dependiente de los datos, y cambiar de una manera alternativa los sub-bloques realizando operaciones de adición sobre sub-bloques y sub-claves y realizando sobre una rotación de sub-bloques i una operación que conserva la secuencia inicial de bits del sub-bloque i, donde i \leq N, dependiendo del sub-bloque j, donde j \leq.
No obstante, la técnica anterior más próxima conocida utiliza una clave secreta de un tamaño pequeño (56 bits) que la hace vulnerable a criptanálisis sobre la base de la localización de una clave para ajustarla. Esta última se asocia con una alta potencia de cálculo de ordenadores de módem de uso en masa.
El más próximo por su esencia técnica al método reivindicado para conversión criptográfica de bloques de datos binarios es el método implementado en la cifra RC5 y se describe en la obra (R. Rivest, The RC5 Encryption Algorithm/Fast Software Encryption, second International Workshop Proceedings (Lieja, Bélgica, 14- 16 de Diciembre de 1994), Lecture Notes in Computer Science, v. 1008, Springer-Verlag, 1995, páginas 86-96). El método más próximo de la técnica anterior comprende generar una clave secreta en la forma de una totalidad de sub-claves, dividir un bloque de datos de entrada en sub -bloques A y B, y la conversión alterna de sub-bloques. Los sub-bloques son transformados realizando sobre ellos operaciones de sitio individual y de sitio dual. Como operaciones de sitio dual, se utilizan operaciones de adición de módulo 2^{n}, donde n = 8, 16, 32, 64 y una operación de suma bit por bit de módulo 2. Como la operación de sitio individual se utiliza una operación de desplazamiento cíclico hacia la izquierda, donde el número de bits sobre el que se desplaza el sub-bloque que está siendo convertido, depende del valor del otro sub-bloque, esto determina la dependencia de la operación de desplazamiento cíclico en la etapa actual de conversión de sub-bloque sobre el valor inicial del bloque de datos de entrada. La operación de sitio dual se realiza en un sub-bloque y sub-clave así como en dos sub-bloques. Una característica del método de la técnica anterior más próxima es el uso de la operación de desplazamiento cíclico de bits de uno de los sub-bloques en función del valor de otro sub-bloque.
U sub-bloque, por ejemplo el sub-bloque B, es convertido de la siguiente manera. Se lleva a cabo una operación de adición bit por bit de módulo 2 ("\oplus") sobre los sub-bloques A y B y el valor obtenido después de esta operación es asignado al sub-bloque B. esto se escribe como una relación:
B \ \leftarrow \ B \ \oplus \ A
Donde el signo "\leftarrow" significa la operación de asignación. Después de eso, se realiza la operación de desplazamiento cíclico sobre el número de bits igual al valor del sub-bloque A en el sub-bloque B:
B \ \leftarrow \ B \ \men{3} \ A
Luego se realiza la operación de adición de módulo 2^{n} sobre el sub-bloque y una de las sub-claves S: By \leftarrow (B + S) mod 2^{n}, donde n es la longitud del sub-bloque en bits. Después de esto, el sub-bloque A se convierte de una manera similar. Se llevan a cabo varias etapas de conversión de este tipo para los dos sub-bloques.
Este método proporciona una tasa de cifrado alta cuando se ejecuta en la forma de un programa de ordenador o en la forma de dispositivos electrónicos de cifrado. No obstante, la técnica anterior más próxima tiene algunos inconvenientes, a saber, no asegura una resistencia alta de la conversión de datos criptográficos a criptoanálisis diferencial y lineal (Kalioski B. S., Yin Y. L. On Differential and Lineal Cryptanalysis of the RC5 Encryption Algorithm. Advances in Cryptology -CRYPTO'95 Proceedings, Springer-Verlag, 1955, Páginas 171-184). Este avance es debido al hecho de que se reduce la efectividad del uso de operaciones en función de los datos que se están convirtiendo, con el propósito de mejorar la resistencia al cifrado en métodos de criptanálisis conocido, por el hecho de que el número de versiones potencialmente realizables de operaciones de desplazamiento cíclico es igual al número de bits binarios del sub-bloque n y no excede de 64. este inconveniente es debido también a hecho de que la operación de desplazamiento cíclico es una operación de rotación que conversa la secuencia inicial de bits del sub-bloque convertido.
La base de la invención está formada por la tarea de desarrollar un método de conversión criptográfica de bloques de datos binarios, en el que la conversión de los datos de entrada sería efectuada de tal manera que se proporciona el incremento en el número de varias versiones de una operación que depende del bloque que se está convirtiendo debido a que se incrementa la resistencia al criptoanálisis diferencial y lineal.
Descripción de la invención
De acuerdo con la presente invención, se proporciona un método para la conversión criptográfica de bloques de datos binarios que comprende dividir dichos bloques de datos en N \geq 2 sub-bloques, convertir secuencialmente dichos bloques actuando sobre el sub-bloque i, donde i \leq N, siendo al menos una operación de conversión dependiente del valor del sub-bloque j, caracterizado porque se utiliza una operación de transposición de bits del sub-bloque i como la operación dependiente del valor del sub-bloque j, donde j \leq N, y porque dicha operación de transposición de bits del sub-bloque i no es una rotación.
Debido a tal solución, se incrementa el número de versiones posibles del de la operación en función del valor del sub-bloque j, lo que permite mejorar la resistencia de la conversión criptográfica a criptoanálisis diferencial y lineal.
Además, una característica nueva es que la operación de transposición de los bits del sub-bloque i, que depende del valor del sub-bloque j, se forma en función de una clave secreta antes del comienzo de la conversión del sub-bloque i.
Debido a tal solución, la modificación de la operación de transposición de los bits del sub-bloque i, que depende del valor del sub-bloque j, no está predeterminada, lo que proporciona una mejora adicional de la resistencia de la conversión criptográfica a criptoanálisis diferencial y lineal y permite reducir el número de operaciones de conversión y, por lo tanto, incrementar la tasa de cifrado.
Además, una característica nueva es que antes de la realización de la operación actual de transposición de los bits del sub-bloque i, que depende del sub-bloque j, se genera adicionalmente un vector binario V, mientras que la operación de transposición de los bits del sub-bloque i se realiza en función del valor de V, por lo que el vector binario es generado en función de su valor en el instante de la realización de la etapa de conversión previa para uno de los sub-bloques y sobre el valor del sub-bloque j.
Debido a esta solución, es proporciona una mejora adicional de resistencia criptográfica a ataques basados en interrupciones del dispositivo de cifrado.
A continuación se explicará con más detalle la esencia de la invención en formas de realización con referencia a los dibujos que se acompañan.
Breve descripción de los dibujos
La figura 1 presenta un diagrama generalizado de conversión criptográfica de acuerdo con el método reivindicado.
La figura 2 presenta de forma esquemática la estructura del bloque de transposición controlado.
La figura 3 representa la estructura del bloque de transposición controlado que tiene una entrada de información de 32 bits.
La figura 4 presenta un diagrama de bloques del conmutador elemental.
La figura 5 presenta una tabla de señales de entrada y salida del conmutador elemental cuando u =1 es una señal de control.
La figura 6 presenta una tabla de señales de entrada y salida del conmutador elemental controlado cuando el valor de la señal de control es u = 0.
Mejores formas de realización de la invención
La invención se explica con un diagrama generalizado de conversión de bloques de datos basado en el método reivindicado que se muestra en la figura 1, donde: P es el bloque de transposición controlado; A y B son sub-bloques de n bits convertidos, K_{4r}, K_{4r-1}, K_{4r-2}, K_{4r-3} son elementos claves secretos de n bits (sub-claves de n bits); V es un vector binario generado en función de los datos de entrada; el símbolo \oplus significa una operación de adición bit por bit de módulo 2; el signo \otimes denota una operación de adición de módulo n, donde n es la longitud en bits del sub-bloque de datos. Las líneas continuas en negrilla designan el bus de transmisión de señales de n bits, las líneas continuas finas significan la transmisión de un bit, las líneas de puntos finas significan la transmisión del bit de control. Las líneas de puntos en negrilla significan un bus de transmisión de n señales de control, siendo n señales de control los bits de las sub-claves o bits de vectores binarios. Utilizando los bits de las sub-claves como señales de control se asegura la formación de una modificación específica de la operación de transposición de bits de sub-bloques en función del valor de un bloque de entrada que mejora adicionalmente la resistencia de la conversión criptográfica.
La figura 1 muestra un circuito de conversión. En función de una implementación específica del bloque de transposición controlada y de la tasa de conversión requerida, se pueden ajustar de 2 a 16 y más circuitos. Este esquema de procedimientos de conversión criptográfica se puede utilizar para cifrados y conversiones unilaterales. En este último caso, la clave secreta no se utiliza, y en lugar de señales de sub-claves, la entrada de control del bloque P es alimentada con señales del vector binario V generado en función del valor de los sub-bloques que están siendo convertidos en etapas de conversión intermedias. Durante el cifrado, se pueden utilizar las mismas cuatro sub-claves de n bits K_{4}, K_{3}, K_{2} y K_{1} para realizar cada circuito de cifrado. En este caso, cuando el tamaño típico del sub-bloque es n = 32, la longitud de la clave secreta es 128 bits. Cuando se emplea una clave secreta de un tamaño mayor, cada circuito puede utilizar K_{4r}, K_{4r-1}, K_{4r-2}, K_{4r-3}. Por ejemplo, cuando el número de circuitos es r = 3, el primer circuito utiliza las sub-claves K_{4}, K_{3}, K_{2} y K_{1}, el segundo circuito utiliza las sub-claves K_{8}, K_{7}, K_{6} y K_{5}, el tercer circuito utiliza las sub-claves K_{12}, K_{11}, K_{10} y K_{9}.
La posibilidad de implementación técnica del método reivindicado se explica con las siguientes formas de realización específicas.
Ejemplo 1
Este ejemplo se refiere al uso de un método para cifrar datos. La clave secreta se presenta en forma de cuatro sub-claves K_{4r}, K_{4r-1}, K_{4r-2}, K_{4r-3}. Se describe un circuito de cifrado por la siguiente secuencia del procedimiento:
1. Conversión del sub-bloque A de acuerdo con la expresión:
A \ \leftarrow \ A \ \oplus \ K_{4r-3},
en la que "\leftarrow" es la designación de la operación de asignación.
2. Conversión del sub-bloque B de acuerdo con la expresión:
A \ \leftarrow \ B \ \oplus \ K_{4r-2}.
3. Dependiendo del valor del sub-bloque A y de la sub-clave K_{4r-1}, se efectúa la transposición del bit del sub-bloque.
4. Conversión del sub-bloque A de acuerdo con la expresión:
B \ \leftarrow \ B \ \oplus \ A.
Ejemplo 2
Este ejemplo describe un circuito de conversiones unilaterales de acuerdo con la siguiente secuencia del procedimiento:
1. Generar el vector binario V:
V \ \leftarrow \ \men{3} \ B.
2. Convertir el sub-bloque B de acuerdo con la expresión:
B \ \leftarrow \ B \ \oplus \ B.
3. Generar el vector binario V en función de su valor en la etapa anterior y en función de los valores de los sub-bloques A y B de acuerdo con la fórmula:
V \ \leftarrow \ (V \ \men{3} \ A) \ \oplus \ (B \ \men{3} \ 13).
4. Convertir el sub-bloque A de acuerdo con la expresión:
A \ \leftarrow \ A \ \oplus \ V.
5. En función de los valores de A y V, efectuar la transposición de bits del sub-bloque B.
6. Convertir el sub-bloque A de acuerdo con la expresión:
A \ \leftarrow \ A \ \oplus \ B.
7. Generar el vector binario V:
V \ \leftarrow \ (V \ \men{3} \ B) \ \oplus \ (A \ \men{3} \ 11).
8. En función de los valores B y V, efectuar la transposición de bits de. Sub-bloque A.
9. Convertir el sub-bloque B de acuerdo con la expresión:
B \ \leftarrow \ B \ \oplus \ A.
La figura 2 muestra una forma de realización posible del bloque de transposición controlada utilizando la totalidad de conmutadores elementales S. Esta forma de realización corresponde al bloque P que tiene una entrada de 8 bits para señales de datos y una entrada de 8 bits para señales de control designadas con líneas de puntos similares a la designación en la figura 1.
El número de varias versiones de la operación de transposición es igual al número de combinaciones posibles de códigos en la entrada de control y es 2^{8} = 256 para el bloque P con la estructura presentada en la figura 2, que excede al número de operaciones de desplazamiento cíclico utilizadas en el método de la técnica anterior más próxima. Utilizando el método similar, es posible formar el esquema para el bloque P con un tamaño arbitrario de entrada de datos y de entrada de señales de control, en particular para el bloque P con una entrada de datos de 32 bits y una salida de señales de control de 32 bits. En el último caso, el número de diferentes variaciones de la operación de transposición es igual a 2^{32} > 10^{9}.
La figura 3 muestra la estructura del bloque de transposición controlada que tiene una entrada de datos de 32 bits y una entrada de control de 79 bits. Este bloque de transposición controlada implemente una única transposición de bits binarios de entrada para cada valor posible de combinación de códigos en la entrada de control, cuyo número es 2^{79}. Las entradas de información externa del bloque de transposición controlada se designan con i1, i2,..., i32, las salidas externas se designan con o1 o2,..., 032, las entradas de control se designan con c1, c2,... c79. Los conmutadores elementales S se conectan de tal manera que forman una matriz que consta de 31 líneas. En la primera línea, se conectan 31 conmutadores elementales, en la segunda línea 30 conmutadores, en la tercera línea 29 conmutadores, etc. En cada línea siguiente, se reduce en 1 el número de conmutadores elementales. En la línea más baja 31 se conecta un conmutador elemental.
El número j = 31 líneas tiene 33 entradas j y 32 entradas de control j. La última salida (más a la derecha) de la línea j es una salida externa del bloque de transposición controlada, las 32 salidas j restantes están conectadas a las entradas correspondientes de la línea (j + 1). La última línea 31 tiene dos salidas y ambas son salidas externas del bloque de transposición controlada. Una señal de control unitaria (u = 1) es suministrada a no más de una entrada de control de cada línea. Los descifradores binarios de orden 32 F_{1}, F_{2}, ... F_{15} y los descifradores binarios de orden 16 F_{16} sirven para cumplir este requerimiento. Los descifradores F_{1}, F_{2}, ... F_{15} tienen cinco entradas de control externas a las que se suministra un código binario de 5 bits arbitrario, y 32 salidas. Los descifradores generan una señal unitaria solamente en una salida. Se ajusta una señal cero en las 31 salidas restantes. El descifrador F_{16} tiene 4 entradas a las que se suministra un código binario de 4 bits arbitrario, y 16 salidas solamente en una de las cuales se ajusta una señal unitaria. Para todos los descifradores F_{1}, F_{2}, ... F_{15} y F16, cada valor de código binario de entrada define un número de salidas únicamente posible, en el que se ajusta la señal unitaria (u = 1).
Una parte de las salidas de descifradores F_{h}, donde h \leq 15, se conecta a entradas de control de la línea h (32 entradas h), mientras que una parte de las salidas se conectan a entradas de control de la línea (32-h) (las restantes salidas de descifradores h). La señal de control u =1 se ajusta en cada línea en no más de un conmutador elemental. La entrada de la línea conectada a la entrada derecha del conmutador elemental, al que se suministra la señal de control unitaria, es conmutada con la salida externa del bloque de transposición controlado que corresponde a esta línea. Si la señal de control unitaria se alimenta al conmutador elemental dispuesto más a la izquierda, entonces la salida externa del bloque de transposición controlada (bloque P) es conmutada con la entrada de la línea más a la izquierda. La primera línea conmuta una de las entradas externas i1, i2,..., i32 del bloque P con la salida externa o1, mientras que las 31 entradas externas restantes conmutan con las entradas de la segunda línea. La segunda línea conmuta sobre las 32 entradas externas restantes con la salida externa o2, mientras que las 30 entradas externas restantes conmutan con las entradas de la tercera línea y así sucesivamente. Tal estructura del bloque P implementa la transposición única de bits de entrada para cada valor del código binario suministrado a la entrada de control de 79 bits del
bloque P.
\newpage
Por ejemplo, es posible la siguiente versión de uso de la entrada de control de 79 bits en el esquema de conversión criptográfica mostrada en la figura 1. Se utilizan 32 bits como señales de control, por ejemplo, del sub-bloque B, y 47 bits de la clave secreta. Como a continuación, por ejemplo, se pueden utilizar 32 bits de la sub-clave K_{4r-1} y 15 bits de la sub-clave K_{4r-2}. En este caso, cuando la clave secreta es introducida en el dispositivo de cifrado, en función de estos 47 bits de la clave secreta, se genera una de las 2^{47} modificaciones diferentes de la operación de transposición de bits, que depende del valor del bloque de entrada. Aquí cada modificación de esta operación incluye 2^{32} operaciones diferentes de bits de transposición del sub-bloque A, cuya selección se determina por el valor del sub-bloque B. La selección de la modificación no está predeterminada, puesto que se determina por la clave secreta. Esto mejora adicionalmente la resistencia de la conversión criptográfica. Si el dispositivo de descifrado emplea 4 bloques P que tienen la estructura mostrada en la figura 3, entonces el número de combinaciones posibles de modificaciones de las operaciones de transposición que se están ajustando en los bloques P en función de la clave secreta, se puede ajustar hasta (2^{47}) 4 = 2^{188} utilizando la clave secreta con una longitud no menor que 188 bits.
La figura 4 ilustra la operación del conmutador elemental, en la que u es una señal de control, a y b son señales de datos de entrada, c y d son señales de datos de salida.
Las Tablas mostradas en las figuras 5 y 6 demuestran la dependencia de las señales de salida de las señales de entrada y de las señales de control. Es evidente a partir de estas Tablas que cuando u = 1, la línea a está conmutada con la línea c, y la línea b con la línea d. Cuando u = 0, la línea a está conmutada con la línea d, y la línea b con la línea d.
Debido a la estructura sencilla, la tecnología planar de módem de fabricación de circuitos integrados permite producir con facilidad microprocesadores criptográficos que comprenden bloques de transposición controlada con el tamaño de entrada de 32 y 64 bits.
Los ejemplos anteriores muestran que el método propuesto para conversiones criptográficas de bloques de datos binarios es factible técnicamente y permiten resolver el problema que se ha planteado.
Aplicabilidad industrial
El método reivindicado se puede realizar, por ejemplo, en microprocesadores criptográficos especializados que proporcionan una tasa de cifrado en el orden de 1 Gbit/s, que es suficiente para el cifrado en los datos en tiempo real transmitidos en canales de comunicación de fibra óptica de alta velocidad.

Claims (3)

1. Un método para la conversión criptográfica de bloques de datos binarios, que comprende dividir dichos bloques de datos en N \geq 2 sub-bloques, convertir secuencialmente dichos bloques actuando sobre el sub-bloque i, donde i \leq N, siendo al menos una operación de conversión dependiente del valor del sub-bloque j, caracterizado porque se utiliza una operación de transposición de bits del sub-bloque i como la operación dependiente del valor del sub-bloque j, donde j \leq N, y porque dicha operación de transposición de bits del sub-bloque i no es una rotación.
2. Un método de acuerdo con la reivindicación 1, caracterizado porque dicha operación de transposición de dicho sub-bloque i, que depende del valor del sub-bloque j, es generada en función de una clave secreta antes del comienzo de la conversión del sub-bloque i.
3. Un método de acuerdo con la reivindicación 1, caracterizado porque antes de realizar la operación actual de transposición de bits de dicho sub-bloque i, que depende del valor de dicho sub-bloque j, se genera adicionalmente un vector binario V, siendo realizada dicha operación de transposición de bits de dicho sub-bloque i en función del valor V, por lo que dicho vector binario es generado en función de su valor en el instante de la realización de la etapa precedente de conversión de uno de dichos sub-bloques y en función del valor del sub-bloque j.
ES98935436T 1998-01-19 1998-06-19 Metodo para la conversion criptografica de bloques de datos binarios. Expired - Lifetime ES2287978T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU98100685 1998-01-19
RU98100685A RU2141729C1 (ru) 1998-01-19 1998-01-19 Способ криптографического преобразования блоков двоичных данных

Publications (1)

Publication Number Publication Date
ES2287978T3 true ES2287978T3 (es) 2007-12-16

Family

ID=20201205

Family Applications (1)

Application Number Title Priority Date Filing Date
ES98935436T Expired - Lifetime ES2287978T3 (es) 1998-01-19 1998-06-19 Metodo para la conversion criptografica de bloques de datos binarios.

Country Status (15)

Country Link
US (1) US20050169471A1 (es)
EP (1) EP1087425B1 (es)
JP (1) JP2002510058A (es)
KR (1) KR100411684B1 (es)
CN (1) CN100393026C (es)
AT (1) ATE358369T1 (es)
CZ (1) CZ296186B6 (es)
DE (1) DE69837449D1 (es)
ES (1) ES2287978T3 (es)
PL (1) PL342036A1 (es)
RU (1) RU2141729C1 (es)
SI (1) SI20349A (es)
SK (1) SK286323B6 (es)
UA (1) UA49102C2 (es)
WO (1) WO1999036942A1 (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100403820B1 (ko) * 2001-07-03 2003-10-30 삼성에스디에스 주식회사 암호화 처리장치 그 방법
RU2211541C2 (ru) * 2001-11-08 2003-08-27 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ криптографического преобразования блоков цифровых данных
RU2239290C2 (ru) * 2001-12-24 2004-10-27 Воронежский государственный университет Способ поточного шифрования данных
RU2241314C2 (ru) * 2002-10-14 2004-11-27 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Управляемый операционный блок
RU2239955C1 (ru) * 2003-05-05 2004-11-10 Молдовян Николай Андреевич Криптографический преобразователь двоичных данных
KR100446336B1 (ko) * 2003-05-20 2004-09-01 엔에이치엔(주) 데이터 암호화 방법 및 장치
EP2487827A3 (en) * 2004-08-12 2013-03-27 Cmla, Llc. Permutation data transform to enhance security
US7577250B2 (en) 2004-08-12 2009-08-18 Cmla, Llc Key derivation functions to enhance security
US8077861B2 (en) 2004-08-12 2011-12-13 Cmla, Llc Permutation data transform to enhance security
RU2284666C1 (ru) * 2005-06-21 2006-09-27 Федеральное государственное унитарное предприятие "Воронежский научно-исследовательский институт связи" Способ передачи и приема дискретной информации с псевдослучайными сигналами
US20070061835A1 (en) * 2005-08-05 2007-03-15 Realnetworks, Inc. System and method for registering users and devices
CN104091129B (zh) * 2014-06-26 2016-12-14 腾讯科技(深圳)有限公司 一种数据处理方法及装置
RU2734829C1 (ru) * 2020-03-03 2020-10-23 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" (Госкорпорация "Росатом") Способ криптографического преобразования данных

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275265A (en) * 1978-10-02 1981-06-23 Wisconsin Alumni Research Foundation Complete substitution permutation enciphering and deciphering circuit
FR2582174B1 (fr) * 1985-05-15 1990-03-09 Thomson Csf Dispositif de chiffrement par substitutions-permutations
GB8619453D0 (en) * 1986-08-08 1986-09-17 British Broadcasting Corp Data encipherment
US5001754A (en) * 1990-02-01 1991-03-19 The Trustees Of Princeton University Encryption system and method
IL100238A (en) * 1991-12-04 1995-01-24 Labaton Isaac J Device and method for credit accounts charging
GB2288519A (en) * 1994-04-05 1995-10-18 Ibm Data encryption
RU2099890C1 (ru) * 1994-04-19 1997-12-20 Борис Владимирович Березин Способ шифрования двоичной информации и устройство для осуществления способа - "албер"
RU2097931C1 (ru) * 1995-01-12 1997-11-27 Борис Владимирович Березин Способ шифрования двоичной информации и устройство для его осуществления
US5696823A (en) * 1995-03-31 1997-12-09 Lucent Technologies Inc. High-bandwidth encryption system with low-bandwidth cryptographic modules
KR970005596A (ko) * 1995-07-13 1997-02-19 전중호 합성수지 필름의 고주파융착방법
SE506619C2 (sv) * 1995-09-27 1998-01-19 Ericsson Telefon Ab L M Metod för kryptering av information
KR980007156A (ko) * 1997-12-09 1998-03-30 임종인 비밀키 블록 암호화 및 복호화 방법
KR101937887B1 (ko) * 2016-12-09 2019-01-14 한국생산기술연구원 아이소소바이드 유도체 화합물을 포함하는 치과용 충전재 조성물

Also Published As

Publication number Publication date
WO1999036942A1 (en) 1999-07-22
SI20349A (sl) 2001-02-28
US20050169471A1 (en) 2005-08-04
SK286323B6 (en) 2008-07-07
CZ296186B6 (cs) 2006-01-11
RU2141729C1 (ru) 1999-11-20
PL342036A1 (en) 2001-05-21
CZ20002653A3 (cs) 2001-03-14
KR20010034058A (ko) 2001-04-25
DE69837449D1 (de) 2007-05-10
EP1087425B1 (en) 2007-03-28
EP1087425A1 (en) 2001-03-28
KR100411684B1 (ko) 2003-12-18
SK10382000A3 (sk) 2001-09-11
ATE358369T1 (de) 2007-04-15
JP2002510058A (ja) 2002-04-02
UA49102C2 (uk) 2002-09-16
CN1286855A (zh) 2001-03-07
CN100393026C (zh) 2008-06-04
EP1087425A4 (en) 2004-08-25

Similar Documents

Publication Publication Date Title
KR100349332B1 (ko) 데이터 암호화장치 및 방법
KR100362458B1 (ko) 암호화 처리장치, 암호화 처리방법 및 보안성을 손상시키지 않고 고속으로 암호화 처리를 실현하는 암호화 처리 프로그램을 기록하는 기록매체
US6014446A (en) Apparatus for providing improved encryption protection in a communication system
US5623548A (en) Transformation pattern generating device and encryption function device
KR19990002840A (ko) 차분 해독법과 선형 해독법에 대해서 안전성을 보장하는 고속 블럭 암호 알고리즘
ES2287978T3 (es) Metodo para la conversion criptografica de bloques de datos binarios.
KR20090094086A (ko) 암호 처리 장치, 암호 처리 방법과 컴퓨터 프로그램
CA2414261A1 (en) Method of encryption using multi-key process to create a variable-length key
JP2011512562A (ja) アクセス及び通信に関するデータのランダム暗号化及び復号化方法
JP2000511755A (ja) バイナリーコード情報を暗号化する方法
EP1059760A1 (en) Method for the block-encryption of discrete data
RU2140714C1 (ru) Способ итеративного шифрования блоков данных
US20050147244A1 (en) Method for cryptographic transformation of binary data blocks
RU2140713C1 (ru) Способ блочного криптографического преобразования двоичной информации
JPH1117673A (ja) 共通鍵暗号通信方法及びその通信ネットワーク
KR100350207B1 (ko) 디지털 데이터의 엘-비트 입력 블록들을 엘-비트 출력비트들로 암호 변환하는 방법
RU2206961C2 (ru) Способ итеративного блочного шифрования двоичных данных
JP3473171B2 (ja) 逐次暗号方式
CN112311527A (zh) 一种主密钥变换为多项式表格子密钥查表的加密方法
KR100226867B1 (ko) 무선 통신의 스트림 암호 시스템
RU2199826C2 (ru) Способ итеративного шифрования блоков цифровых данных
RU2140712C1 (ru) Способ блочного шифрования двоичной информации
RU2184423C2 (ru) Способ блочного итеративного шифрования цифровых данных
RU2186466C2 (ru) Способ итеративного шифрования блоков дискретных данных
KR100317250B1 (ko) 데이터암호화방법