ES2287978T3 - Metodo para la conversion criptografica de bloques de datos binarios. - Google Patents
Metodo para la conversion criptografica de bloques de datos binarios. Download PDFInfo
- 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
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000017105 transposition Effects 0.000 claims abstract description 40
- 239000013598 vector Substances 0.000 claims abstract description 22
- 230000001419 dependent effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 4
- 125000004122 cyclic group Chemical group 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key 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).
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.
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.
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.
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.
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.
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.
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.
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.
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)
| 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)
| 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 | 한국생산기술연구원 | 아이소소바이드 유도체 화합물을 포함하는 치과용 충전재 조성물 |
-
1998
- 1998-01-19 RU RU98100685A patent/RU2141729C1/ru not_active IP Right Cessation
- 1998-06-19 EP EP98935436A patent/EP1087425B1/en not_active Expired - Lifetime
- 1998-06-19 JP JP2000540561A patent/JP2002510058A/ja active Pending
- 1998-06-19 WO PCT/RU1998/000182 patent/WO1999036942A1/ru not_active Ceased
- 1998-06-19 ES ES98935436T patent/ES2287978T3/es not_active Expired - Lifetime
- 1998-06-19 PL PL98342036A patent/PL342036A1/xx not_active Application Discontinuation
- 1998-06-19 UA UA2000084934A patent/UA49102C2/uk unknown
- 1998-06-19 KR KR10-2000-7007667A patent/KR100411684B1/ko not_active Expired - Fee Related
- 1998-06-19 CZ CZ20002653A patent/CZ296186B6/cs not_active IP Right Cessation
- 1998-06-19 DE DE69837449T patent/DE69837449D1/de not_active Expired - Lifetime
- 1998-06-19 SK SK1038-2000A patent/SK286323B6/sk not_active IP Right Cessation
- 1998-06-19 SI SI9820084A patent/SI20349A/sl not_active IP Right Cessation
- 1998-06-19 AT AT98935436T patent/ATE358369T1/de not_active IP Right Cessation
- 1998-06-19 CN CNB988131781A patent/CN100393026C/zh not_active Expired - Fee Related
-
2004
- 2004-12-03 US US11/002,972 patent/US20050169471A1/en not_active Abandoned
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) | 데이터암호화방법 |