ES2255712T3 - Aparato de transformacion de datos y procedimiento de transformacion de datos. - Google Patents
Aparato de transformacion de datos y procedimiento de transformacion de datos.Info
- Publication number
- ES2255712T3 ES2255712T3 ES96925956T ES96925956T ES2255712T3 ES 2255712 T3 ES2255712 T3 ES 2255712T3 ES 96925956 T ES96925956 T ES 96925956T ES 96925956 T ES96925956 T ES 96925956T ES 2255712 T3 ES2255712 T3 ES 2255712T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- transformation
- unit
- input
- subdata
- 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
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Communication Control (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Aparato de transformación de datos para transformar un primer dato de entrada (101) y un segundo dato de entrada (102), que comprende: - una primera unidad de transformación (121, 161) para efectuar una primera transformación no lineal del primer dato de entrada (101) utilizando un primer parámetro de clave (111), dando salida a un resultado trasformado, efectuando una operación XOR del resultado transformado y del segundo dato de entrada (102) par dar salida a un resultado operado con la función XOR como segundo dato intermedio (106), y dar salida a un segundo dato de entrada (102) como primer dato intermedio (105) sin ninguna transformación, y - una segunda unidad de transformación (122, 162) para efectuar una segunda transformación no lineal del primer dato intermedio (105) utilizando un segundo parámetro de clave (112), dando salida a un resultado transformado, efectuar una operación XOR del resultado transformado y del segundo dato intermedio (106) para dar salida a un resultado operado con la función XOR como cuarto dato intermedio (108), y dar salida al segundo dato intermedio (106) como tercer dato intermedio (107) sin ninguna transformación.
Description
Aparato de transformación de datos y
procedimiento de transformación de datos.
La presente invención se refiere a un aparato de
transformación de datos y a un procedimiento de transformación de
datos para la encriptación, la desencriptación de datos de entrada y
la difusión de datos con el fin de proteger una información digital
de comunicación.
Como procedimiento convencional de transformación
de datos con destino a su encriptación, el "Algoritmo
FEAL-8" (Algoritmo-8 de Cifrado
Rápido de datos) se divulga por Miyaguchi et al. (Miyaguchi,
Shiraishi, y Shimizu, "Algoritmo de Cifrado
FEAL-8" Informe de Investigación Práctica NTT
vol. 39, No. 4/5, 1988).
La Fig. 29 es un diagrama parcial del
anteriormente señalado algoritmo de cifrado
"FEAL-8".
En la figura, las referencias numerales 1001 y
1002 indican los datos de entrada de dos secuencias, las
referencias numerales 1003 y 1004 indican los datos de salida de dos
secuencias, y las referencias numerales 1005, 1006, 1007 y 1008
indican datos intermedios. 1011, 1012, 1013 y 1014 muestran
respectivamente un primer parámetro de clave, un segundo parámetro
de clave, un tercer parámetro de clave, y un cuarto parámetro de
clave. Cada una de las referencias 1021, 1022, 1023 y 1024 muestran
la unidad de subtransformación de cada etapa de transformación.
Cada unidad de subtransformación incluye cada uno de los
transformadores no lineales 1031, 1032, 1033, 1034 y cada uno de
los circuitos XOR (de OR exclusivo) 1041, 1042, 1043, 1044.
A continuación se explicará una operación. Los
datos de entrada 1001 y 1002 de dos secuencias son recibidos en una
unidad de subtransformación 1021 de una primera etapa para ser
transformados en nuevos datos, esto es, los datos intermedios 1005
y 1006 de dos secuencias. El dato intermedio es introducido en la
unidad de subtransformación 1022 de una segunda etapa para ser
transformados en nuevos datos, esto es, los datos intermedios 1007
y 1008. La anterior operación es repetida ocho veces en total, y los
datos de salida 1003 y 1004 de dos secuencias son sacados como el
último resultado de transformación procedente de la unidad de
subtransformación de una octava etapa.
A continuación se explicará una operación de la
unidad de subtransformación 1021 de la primera etapa para un
ejemplo de las anteriores unidades de subtransformación.
La unidad de subtransformación 1021 recibe los
datos de entrada 1001 y 1002 de dos secuencias y da salida a los
datos intermedios 1005 y 1006 de dos secuencias. De acuerdo con lo
descrito con detalle en el anteriormente señalado Informe de
Investigación Práctica [Practical Research Report], el segundo dato
de entrada, esto es, el dato de entrada 1002 es dividido en bytes
independientes y el dato dividido es operado con la función XOR con
el parámetro de clave. Y la adición aritmética es repetida respecto
del dato y el dato divido es unido de nuevo. Esta operación de
transformación no lineal se lleva a cabo en el transformador no
lineal 1031. El dato transformado es operado con la función XOR con
el primer dato de entrada 1001. El resultado operado con la función
XOR es sacado de la primera etapa en forma de segundo dato
intermedio 1006. Por otro lado, el segundo dato de entrada 1002 es
sacado de forma del primer dato intermedio 1005 sin ninguna
transformación.
En la segunda unidad de subtransformación 1022,
el dato es procesado lo mismo que en el procedimiento anterior
sacándose el dato intermedio de la segunda etapa. De la misma forma,
en este ejemplo, se llevan a cabo en total los procesos de ocho
etapas. Como resultado de ello se sacan los datos de salida 1003 y
1004.
El aparato de transformación de datos
convencional está configurado según lo anteriormente descrito. El
dato transformado es sacado únicamente después de que la
transformación no lineal se ha completado en una etapa de la unidad
de subtransformación, y es introducido en la unidad de
subtransformación de la siguiente etapa. A saber, cada
subtransformación se efectúa secuencialmente y lleva tiempo el
efectuar un procedimiento completo.
LUBY M ET AL: "Como construir
permutaciones pseudoaleatorias a partir de funciones
pseudoaleatorias", Diario SIAM sobre Informática, Sociedad de
Matemática Industrial y Aplicada, EU, ["HOW TO CONSTRUCT
PSEUDORANDOM PERMUTATIONS FROM PSEUDORANDOM FUNCTIONS", SIAM
JOURNAL ON COMPUTING, SOCIETY FOR INDUSTRIAL AND APPLIED
MATHEMATICS], US, vol. 17, no. 2, 1 April 1988
(1988-04-01) pages
373-386, XP000567129 ISSN:
0097-5397], divulgan como construir un generador de
permutación invertible pseudoaleatoria a partir de un generador
pseudoaletatorio. Esta construcción está basada en uno de las
principales características de diseño del Estándar de Encriptación
de Datos (DES) de la Oficina Internacional de Estándares de los
Estados Unidos [U.S. National Bureau of Standard]. Una aplicación
práctica de esta medida es que un generador de bytes aleatorio puede
utilizarse para construir eficazmente un criptosistema de bloques
de clave privada que se ha demostrado seguro contra un ataque
elegido de texto plano.
Así mismo, el documento
GB-A-2 285 562 describe un mecanismo
de generación de un modelo de transformación que comprende una
sección de entrada de clave para introducir una clave de
encriptación; una sección de generación de un modelo de
transformación para generar un modelo de transformación para la
transformación de los datos de entrada; una sección de salida para
dar salida al modelo de transformación generado. Cuando una
secuencia numérica correspondiente al modelo de transformación
determinado es introducida como clave en una sección de entrada de
clave, dicha sección de generación del modelo de transformación
genera y da salida al modelo de transformación predeterminado
correspondiente a la secuencia numérica. La secuencia numérica
pseudoaleatoria es preferentemente generada en respuesta a la clave
de entrada, y el modelo de transformación generado puede consistir
en un modelo de permutación o en una tabla de sustitución.
Finalmente, BROSCIUS A G ET AL:
"Explotando el paralelismo en la implementación de equipos
físicos del DES" avances en Criptología. Santa Bárbara, Ago. 11 A
15, 1991, actas de la conferencia sobre Teoría y Aplicaciones de
las Técnicas Criptográficas (CRYPTO), ["EXPLOITING PARALLELISM IN
HARDWARE IMPLEMENTATION OF THE DE" ADVANCES IN CRYPTOLOGY. SANTA
BARBARA, AUG. 11-15, 1991, PROCEEDINGS OF THE
CONFERENCE ON THEORY AND APPLICATIONS OF CRYPTOGRAPHIC TECHNIQUES
(CRYPTO), BERLIN, SPRINGER, DE, 1991, pages
367-376, XP 000269040], analiza las aproximaciones
paralelas para varios niveles de una implementación. En el nivel más
bajo, el núcleo del algoritmo puede ser separado en varias
computaciones paralelas para un incremento de velocidad. Generando
subclaves con un ciclo de antelación, el tiempo requerido puede ser
efectivamente solapado mediante el empleo de la subclave en el
resto de la operación de redondeo. Una superposición adicional puede
componerse de dos etapas de puertas OR exclusivas (XOR) a expensas
de una complejidad incrementada y del recuento de puertas. Un nivel
superior en la jerarquía, el empleo de múltiples implementaciones de
redondeo puede incrementar la anchura de banda de las computaciones
si el modo DES de la operación escogida no requiere la
realimentación del texto cifrado. De todos los modos oficiales,
esta exigencia deja fuera todos los modos excepto el Libro de
Códigos Electrónico (ECB). Desgraciadamente, se sabe que el ECB es
susceptible de ataques basados en análisis de texto plano, que los
bloques de entrada idénticos múltiples dan como resultado el mismo
bloque de texto encriptado de salida. Finalmente, al nivel del
sistema, el procesamiento de E/S concurrente con la computación DES
proporciona la operación continua de la unidad de encriptación.
Además de este almacenamiento, el uso de un Acceso Directo a
Memoria (DMA) para la encriptación posibilita que el procesador de
la máquina continúe otro trabajo concurrentemente con la
encriptación en curso.
La presente invención está destinada a resolver
el problema anterior. El objeto de la invención es efectuar una
pluralidad de subtransformaciones en paralelo para incrementar una
velocidad de procesamiento de la transformación de datos, como por
ejemplo la encriptación, la desencriptación y la difusión de
datos.
El objeto anterior de acuerdo con la invención se
resuelve mediante un aparato de transformación de datos y mediante
un procedimiento que comprende la característica de la
reivindicación 1 y de la reivindicación 17, respectivamente. Formas
de realización preferentes del aparato se definen en las
subreivindicaciones.
De acuerdo con un primer aspecto de la invención,
un aparato de transformación de datos para transformar un primer
dato de entrada y un segundo dato de entrada se caracteriza por una
primera unidad de transformación para efectuar una primera
transformación no lineal del primer dato de entrada utilizando un
primer parámetro de clave, dando salida a un resultado
transformado, efectuar una operación XOR del resultado transformado
y del segundo dato de entrada para dar salida a un resultado operado
con la función XOR como segundo dato intermedio, y dar salida a un
segundo dato de entrada como primer dato intermedio sin ninguna
transformación, y una segunda unidad de transformación para
efectuar una segunda transformación no lineal del primer dato
intermedio utilizando un segundo parámetro de clave, dar salida a un
resultado transformado, efectuar una operación XOR del resultado
transformado y del segundo dato intermedio para dar salida a un
resultado operado con la función XOR como cuarto dato intermedio, y
dar salida al segundo dato intermedio como tercer dato intermedio
sin ninguna transformación.
De acuerdo con una forma de realización
preferente de este aparato la primera unidad de transformación
incluye un primer transformador no lineal y un circuito XOR situado
entre una entrada para el primer dato de entrada y una entrada de
la segunda unidad de transformación para el segundo dato intermedio;
y la segunda unidad de transformación incluye un segundo
transformador no lineal y un circuito XOR situado entre una entrada
para un primer dato intermedio y una entrada de una siguiente unidad
de transformación para el cuarto dato intermedio; o la primera
unidad de transformación incluye un circuito XOR situado entre una
entrada para el segundo dato de entrada y una entrada de la segunda
unidad de transformación para el primer dato intermedio y un primer
transformador no lineal situado entre una entrada para un primer
dato de entrada y una entrada de la segunda unidad de
transformación para el segundo dato intermedio, y la segunda unidad
de transformación incluye un circuito XOR situado entre la entrada
para el segundo dato intermedio y una entrada de una siguiente
unidad de transformación para el tercer dato intermedio y un segundo
transformador no lineal situado entre una entrada para el primer
dato intermedio y una entrada de la siguiente unidad de
transformación para el cuarto dato intermedio; en el que la primera
unidad de transformación y la segunda unidad de transformación
están alternativamente conectadas d veces (d\geq2) desde una
primera etapa hasta una última etapa, y la unidad de transformación
de la última etapa, siendo cualquiera de entre la primera unidad de
transformación y la segunda unidad de transformación, obtiene datos
intermedios de número impar y datos intermedios de número par como
datos de salida después de la transformación.
De acuerdo con otra forma de realización
preferente de este aparato, en el que el primer dato de entrada,
introducido en la primera unidad de transformación, es divido en un
primer subdato de entrada y en un segundo subdato de entrada y el
parámetro de clave es dividido en enésimos parámetros de clave
divididos; este aparato comprende una primera unidad de
subtransformación para efectuar una transformación no lineal del
primer subdato de entrada del primer subdato de entrada, utilizando
un primer parámetro de clave, dar salida a un resultado
transformado, efectuar una operación XOR del resultado transformado
y del segundo subdato de entrada, dar salida a un resultado operado
con la función XOR como segundo subdato intermedio, y dar salida al
segundo subdato de entrada como primer subdato intermedio sin
ninguna transformación; y una segunda unidad de subtransformación
para efectuar una transformación no lineal interna de los primeros
subdatos intermedios utilizando el segundo parámetro de clave
dividido, dar salida a un resultado transformado, operar con la
función XOR el resultado transformado y los segundos datos
intermedios, dar salida a un resultado operado con la función XOR
como cuarto subdato intermedio y dar salida al segundo subdato
intermedio como tercer dato intermedio sin ninguna transformación;
en el que la primera unidad de subtransformación y la segunda unidad
de subtransformación están alternadamente conectadas n veces
(n\geq2) desde una primera etapa hasta una última etapa, y en el
que los datos intermedios de número impar y los datos intermedios de
número par sacados en la última etapa están unidos como resultado
de transformación.
De acuerdo con una forma de realización adicional
preferente del presente aparato, en la que el primer dato de
entrada, introducido en la primera unidad de transformación, es
dividido en un primer subdato de entrada y un segundo subdato de
entrada, y el parámetro de clave es dividido en un primero y unos
enésimos parámetros de clave divididos; este aparato comprende una
primera unidad de transformación para efectuar una transformación
no lineal interna del primer subdato de entrada, utilizando un
primer parámetro de clave dividido, dar salida a un resultado
transformado como segundo subdato intermedio, operar una función XOR
del primer subdato de entrada y del segundo subdato de entrada, y
dar salida a un resultado operado con la función XOR como primer
subdato intermedio; y una segunda unidad de transformación para
efectuar una transformación no lineal interna del primer subdato
intermedio, sacado de la primera unidad de subtransformación
utilizando el segundo parámetro de clave dividido, dar salida a un
resultado transformado como cuarto subdato intermedio, operando una
función XOR del primer subdato intermedio y del segundo subdato
intermedio, y dar salida a un resultado operado con la función XOR
como tercer dato intermedio; en el que la primera unidad de
subtransformación y la segunda unidad de subtransformación están
alternadamente conectadas n veces (n\geq2) desde una primera
etapa hasta una última etapa, y en el que el dato intermedio de
número impar y el dato intermedio de número par sacados a partir de
la última etapa son unidos como resultado de transformación.
De acuerdo con otra forma de realización
preferente adicional del presente aparato, el primer dato de
entrada y el segundo dato de entrada, el dato intermedio de número
impar y el dato intermedio de número par están respectivamente
divididos en piezas de dato de forma que cada uno de los datos
divididos tiene igual número de dígitos tanto de números impares
como pares.
De acuerdo con otra forma de realización
preferente adicional del presente aparato, la primera unidad de
transformación incluye un primer transformador no lineal y un
circuito XOR situados entre una entrada para el primer dato de
entrada y una entrada para la segunda unidad de transformación para
el segundo dato intermedio; y la segunda unidad de transformación
incluye un segundo transformador no lineal y un circuito XOR
situado entre una entrada para el primer dato intermedio y una
entrada de una unidad de transformación siguiente para el cuarto
dato intermedio; o la primera unidad de transformación incluye el
circuito XOR situado entre una entrada para el segundo dato de
entrada y una entrada de la segunda unidad de transformación, para
el primer dato intermedio y un primer transformador no lineal
situado entre una entrada para el primer dato intermedio y una
entrada de la segunda unidad de transformación para el segundo dato
intermedio, y la segunda unidad de transformación incluye el
circuito XOR situado entre la entrada para el segundo dato
intermedio y una entrada de una siguiente unidad de transformación
para el tercer dato intermedio y un segundo transformador no lineal
situado entre una entrada para el primer dato intermedio y una
entrada de la siguiente unidad de transformación para el cuarto
dato intermedio; en el que la primera unidad de transformación y la
segunda unidad de transformación están alternadamente conectadas d
veces (d\geq2) desde una primera etapa hasta una última etapa, y
en el que el aparato comprende así mismo una unidad de selección de
datos conectada en el lado de entrada de la primera unidad de
transformación, una unidad de retención de datos conectada en el
lado de salida de la segunda unidad de transformación, y una unidad
de suministro de parámetros de clave; en el que en un primer
momento, la unidad de selección de datos selecciona uno primero dato
de entrada y un segundo dato de entrada para introducirlos en la
primera unidad de transformación, y después de ello la unidad de
selección de datos selecciona los datos de salida procedentes de la
unidad de retención de datos para introducirlos en la primera
unidad de transformación para constituir un bucle de realimentación;
en el que este ciclo de transformación de datos es repetido m veces
(m\geq2), y después de ello la unidad de retención de datos
obtiene unos datos intermedios de número impar y unos datos
intermedios de número par como resultado de transformación.
De acuerdo con otra forma de realización
adicional preferente de este aparato para transformar el primer
dato de entrada y el segundo dato de entrada, los cuales tienen
ambos el mismo número de dígitos, comprende o bien una de entre una
unidad de transformación incluyendo un primer transformador no
lineal y un primer circuito XOR, y una segunda unidad de
transformación incluyendo un segundo circuito XOR y un segundo
transformador no lineal, en el que las unidades de transformación
están conectadas d veces (d\geq2); en el que el aparato de
transformación de datos comprende adicionalmente una unidad de
selección de datos dispuesta en el lado de entrada de una primera
unidad de transformación, una unidad de retención de datos dispuesta
en el lado de salida de una última unidad de transformación, y una
unidad de suministro de parámetros de clave; en el que, en un
primer momento, la unidad de selección de datos selecciona el
primero dato de entrada y el segundo dato de entrada para
introducirlos en la primera unidad de transformación, y después de
ello la unidad de selección de datos selecciona el dato de salida a
partir de la unidad de retención de datos para introducirlos en la
primera unidad de transformación, para formar un bucle de
realimentación; y en el que este ciclo de transformación de datos
es repetido m veces (m\geq2), y después de ello esta unidad de
retención de datos obtiene unos datos intermedios de número impar y
unos datos intermedios de número par como resultado de
transformación.
De acuerdo con otra forma de realización
preferente adicional del presente aparato, el primer dato de
entrada es dividido en un primer subdato de entrada y en un segundo
subdato de entrada, y el parámetro de clave es dividido de un
primero a unos enésimos parámetros de clave divididos; y la unidad
de transformación así mismo incluye una primera unidad de
subtransformación para efectuar una transformación no lineal del
primer subdato de entrada, utilizar el primer parámetro de clave
dividido, dar salida a un resultado transformado, operar una
función XOR del resultado transformado y del segundo subdato de
entrada para dar salida a un resultado XOR como segundo subdato
intermedio y dar salida al segundo subdato de entrada como primer
subdato intermedio sin ninguna transformación; y una segunda unidad
de subtransformación para introducir la obtención del primer
subdato intermedio a partir de la primera unidad de
subtransformación, efectuar una transformación no lineal interna
del primer subdato intermedio utilizando el segundo parámetro de
clave dividido, dar salida a un resultado transformado, operar una
función XOR del resultado transformado y del segundo subdato
intermedio para dar salida a un resultado operado con la función
XOR como cuarto subdato intermedio, y dar salida al segundo subdato
intermedio como tercer subdato intermedio sin ninguna
transformación; en el que la primera unidad de subtransformación y
la segunda unidad de subtransformación están alternadamente
conectadas n veces (n\geq2), desde una primera etapa hasta una
última etapa; en el que la unidad de de transformación incluye una
unidad de subselección de datos dispuesta en el lado de entrada de
la primera unidad de subtransformación, una unidad de subretención
de datos dispuesta en el lado de salida de cualquiera de entre la
primera y la segunda unidades de subtransformación, y una unidad de
subsuministro de parámetros de clave; en el que, en un primer
momento, la unidad de subseleccion de datos selecciona e introduce
el primer subdato de entrada y el segundo subdato de entrada,
después de seleccionar e introducir el primer subdato de entrada y
el segundo subdato de entrada, la unidad de subselección de datos
se regula para seleccionar e introducir el dato de salida
procedentes de la unidad de subretención de datos para constituir
un bucle de realimentación; y en el que la unidad de transformación
repite la transformación de datos m veces (m\geq2), y la unidad
de suministro de parámetros de clave suministra el parámetro de
clave dividido para cada unidad de subtransformación
correspondiente a la transformación repetida, y por fin, la unidad
de subretención obtiene los subdatos intermedios de número impar y
los subdatos intermedios de número par como primer dato de salida
después de la transformación.
De acuerdo con otra forma de realización
preferente adicional del presente aparato, el primer dato de
entrada es dividido en un primer subdato de entrada y en un segundo
subdato de entrada, y el parámetro de clave es dividido de un
primero a unos enésimos parámetros de clave divididos; y la unidad
de transformación incluye así mismo una primera unidad de
subtransformación para introducir un primer subdato de entrada,
efectuar una transformación no lineal del primer subdato de entrada
utilizando el primer parámetro de clave dividido, dar salida a un
resultado transformado como segundo subdato intermedio, operar una
función XOR del primer subdato de entrada y del segundo subdato de
entrada para dar salida a una función operada XOR como primer
subdato intermedio; y una segunda unidad de subtransformación de
datos para introducir el primer subdato intermedio sacado a partir
de la primera unidad de subtransformación, efectuar una
transformación no lineal del primer subdato intermedio utilizando
el segundo parámetro de clave dividido, dar salida a un resultado
transformado como cuarto subdato intermedio, operar una función XOR
del primer subdato intermedio y del segundo dato intermedio y dar
salida a un resultado operado con la función XOR como tercer subdato
intermedio; en el que la primera unidad de subtransformación y la
segunda unidad de subtransformación están alternadamente conectadas
n veces (n\geq2) desde una primera etapa hasta una última etapa,
en el que la unidad de subtransformación incluye una unidad de
subselección de datos dispuesta en el lado de entrada de la primera
unidad de subtransformación, una unidad de subretención de datos
dispuesta en el lado de salida de cualquiera de entre la primera y
la segunda unidades de subtransformación, y una unidad de
subsuministro de parámetros de clave; en el que, en un primer
momento, la unidad de subselección de datos selecciona e introduce
un primer subdato de entrada y un segundo subdato de entrada,
después de seleccionar e introducir el primer subdato de entrada y
el segundo subdato de entrada, la unidad de subselección de datos
se regula para seleccionar e introducir el dato de salida
procedentes de la unidad de subretención de datos para constituir un
bucle de realimentación; y en el que la unidad de transformación
repite la transformación de datos m veces (m\geq2), la unidad de
subsuministro de parámetros de clave suministra el parámetro de
clave dividido para cada unidad de subtransformación correspondiente
a la transformación repetida, y por fin, la unidad de subretención
emite datos intermedios de número impar y datos intermedios de
número par como primeros datos de salida después de la
transformación.
De acuerdo con otra forma de realización
preferente adicional del presente aparato, el dato de número impar
que va a introducirse en cada unidad de subtransformación, es
dividido en dos piezas de dato, ambas con un número de dígitos
idéntico; y las primeras unidades de subtransformación son
conectadas n veces (n\geq2).
De acuerdo con otra forma de realización
preferente adicional del presente aparato al menos uno de los
transformadores no lineales es un circuito X^{n} (X: un elemento)
sobre el Campo Galois, en el que el circuito X^{n} sobre el Campo
Galois puede constituirse mediante una base normal.
De acuerdo con otra forma de realización
preferente adicional del presente aparato, al menos una parte del
transformador no lineal es una Memoria de Solo Lectura, una Memoria
de Acceso Aleatorio o un Circuito Lógico.
Finalmente, de acuerdo con otra forma de
realización preferente adicional el presente aparato comprende dos
circuitos lógicos, consistiendo o bien en dos circuitos XOR o bien
en circuitos AND y OR, dispuestos en al menos uno de entre el
primer lado de entrada y del segundo lado de entrada de la primera
unidad de transformación como transformador de datos, en el que el
dato de entrada, introducido en el transformador de datos, es
dividido en dos piezas de datos que tienen un número predeterminado
de dígitos en forma de primer subdato y de segundo subdato, el
parámetro de clave es dividido en un primer parámetro de clave de
transformación y en un segundo parámetro de clave de
transformación; en el que el primer subdato es sometido a una
primera operación lógica utilizando el primer parámetro de clave de
transformación, un primer resultado operativo es operado con la
función XOR con el segundo subdato para dar salida a un primer XOR y
el primer XOR es sacado como dato de salida después de transformar
el segundo subdato; y en el que la primera función XOR es sometida a
una segunda operación lógica utilizando el segundo parámetro de
clave de transformación, un segundo resultado operativo es operado
con la función XOR con el primer subdato para dar salida a un
segundo XOR, el segundo XOR es sacado como dato de salida después
de transformar el primer subdato, y el dato de salida después de
transformar el segundo subdato son unidos y sacados.
De acuerdo con un segundo aspecto de la presente
invención, un procedimiento de transformación de datos para
transformar el primer dato de entrada y el segundo dato de entrada
se caracteriza por las etapas de:
- a)
- efectuar una primera transformación no lineal del primer dato de entrada utilizando un primer parámetro de clave, dando salida a un resultado transformado,
- efectuar una operación XOR del resultado transformado y del segundo dato de entrada para dar salida a un resultado operado con la función XOR como segundo dato intermedio, y dar salida al segundo dato de entrada como primer dato intermedio sin ninguna transformación, y
- b)
- efectuar una segunda transformación no lineal del primer dato intermedio utilizando un segundo parámetro de clave, sacando un resultado transformado,
- efectuar una operación XOR del resultado transformado y del segundo dato intermedio para dar salida a un resultado operado con la función XOR como cuarto dato intermedio, y dar salida al segundo dato intermedio como tercer dato intermedio sin ninguna transformación.
La Fig. 1 es un diagrama de bloques que muestra
una configuración de un aparato de transformación de datos de
acuerdo con la Forma de Realización 1, la Fig. 2 muestra un ejemplo
de un transformador no lineal, la Fig. 3 es un diagrama de bloques
que muestra una configuración de un aparato de transformación de
datos de acuerdo con la Forma de Realización 2, la Fig. 4 muestra
que el aparato de transformación de datos de la primera Forma de
Realización es idéntico lógicamente al aparato de transformación de
datos de la segunda Forma de Realización, la Fig. 5 muestra otro
ejemplo del aparato de transformación de datos de la misma
configuración que el aparato de transformación de datos de la
primera y la segunda Formas de Realización, la Fig. 6 muestra una
parte de una configuración básica de un transformador no lineal de
una unidad de subtransformación de un aparato de transformación de
datos de la Forma de Realización 3, la Fig. 7 muestra una
configuración global en cascada del aparato de transformación de
datos de la tercera forma de realización, la Fig. 8 muestra el
procedimiento de transformación del aparato de la Fig. 7, la Fig. 9
muestra el procedimiento de transformación del aparato de la Fig.
7, la Fig. 10 muestra el procedimiento del aparato de la Fig. 7, la
Fig. 11 muestra una parte de una configuración básica y un
transformador no lineal de una unidad de subtransformación de un
aparato de transformación de datos de la Forma de Realización 4, la
Fig. 12 muestra un parte de unas unidades de subtransformación en
cascada y un procedimiento de transformación de datos del aparato de
transformación de datos de la cuarta Forma de Realización, la Fig.
13 muestra una configuración básica de un transformador no lineal
de la unidad de transformación de un aparato de transformación de
datos de la Forma de Realización 5, la Fig. 14 es un diagrama de
bloques que muestra una configuración de un aparato de
transformación de datos de la Forma de Realización 6, la Fig. 15 es
un diagrama de bloques que muestra una configuración de un aparato
de transformación de datos de la Forma de Realización 7, la Fig. 16
es un diagrama de bloques que muestra una configuración de un
aparato de transformación de datos de la Forma de Realización 8, la
Fig. 17 es un diagrama de bloques que muestra una configuración de
un aparato de transformación de datos de la Forma de Realización 9,
la Fig. 18 muestra una configuración de un transformador no lineal
externo de un aparato de transformación de datos de la Forma de
Realización 9, la Fig. 19 muestra una configuración de un
transformador no lineal interno de un aparato de transformación de
datos de la Forma de Realización 9, la Fig. 20 muestra un ejemplo
de unos elementos no lineales (tabla de sustitución) del
transformador no lineal interno del aparato de transformación de
datos de la novena Forma de Realización, la Fig. 21 muestra un
ejemplo de unos elementos no lineales (tabla de sustitución) del
transformador no lineal interno del aparato de transformación de
datos de la novena Forma de Realización, la Fig. 22 muestra un
ejemplo de elementos no lineales del transformador no lineal
interno de la Fig. 19 constituido por una base normal de circuito
X^{n} sobre el Campo Galois, la Fig. 23 es un diagrama de bloques
que muestra una configuración de un aparato de transformación de
datos de la Forma de Realización 10, la Fig. 24 muestra una
configuración detallada del transformador de datos de la Fig. 23,
la Fig. 25 es un diagrama de bloques que muestra otro aparato de
transformación de datos de la forma de realización 11, la Fig. 26
muestra cada una de las características de once Formas de
Realización de la primera Forma de Realización a la undécima Forma
de Realización, la Fig. 27 muestra un ejemplo de aplicación del
aparato de transformación de datos de la invención, la Fig. 28
muestra un ejemplo de aplicación del aparato de transformación de
datos de la invención, y la Fig. 29 muestra una configuración de un
aparato de transformación de datos convencional.
Forma de Realización
1
En un campo de procesamiento de información, se
ha llamado la atención sobre la encriptación y desencriptación con
el fin de mantener la seguridad de los datos o la seguridad de la
comunicación entre dos personas. Es importante a los fines de
encriptación y desencriptación procesar los datos a alta velocidad
y para reducir la posibilidad del criptoanálisis.
Con referencia a un procedimiento de encriptación
bien conocido, el dato de entrada es transformado no linealmente
utilizando un parámetro de clave. La llamada probabilidad
diferencial muestra la fortaleza del cifrado. Puede decirse que el
cifrado es fuerte cuando la probabilidad diferencial es pequeña. De
acuerdo con el Documento 1: Seguridad Demostrable Contra el
Criptoanálisis Diferencial [Provable Security Against Differential
Cryptanalysis], por Kaisa Nyberg, Lars Ramkilde Knudsen, Journal of
Cryptology, vol. 8, No. 1 (1995), sobre encriptación de datos
mediante una cascada de una pluralidad de subtransformaciones, si la
probabilidad diferencial de la transformación no lineal es "p"
se demuestra lo siguiente.
(1) Si hay más de tres etapas de
subtransformaciones, la probabilidad diferencial como aparato global
es inferior a 2p^{2} cuando se efectúa la transformación no
lineal dentro del sistema en el que el valor del dato de salida es
uno determinado por uno correspondiente al dato de entrada.
La afirmación anterior, es decir, que el valor
del dato de salida es uno determinado por uno correspondiente al
dato de entrada significa lo siguiente. Cuando el dato de entrada X
tiene uno de los valores de 0 a 255 y el dato de salida Y tiene uno
de los valores de 0 a 255, un valor particular del dato de salida Y
correspondiente a un particular dato de entrada X es previamente
determinado como par de datos de entrada y de datos de salida. Por
ejemplo, cuando el valor del dato de entrada X es 8, el valor del
dato de salida Y es siempre 125.
En el algoritmo mostrado en la Fig. 29, si cada
una de las probabilidades diferenciales de los transformadores no
lineales 1031, 1032, y 1033 es "p", la probabilidad diferencial
del algoritmo global de la Fig. 29 resulta ser inferior a
2p^{2}.
La técnica convencional del Algoritmo FEAL
pertenece a un tipo de algoritmos mostrado en la Fig. 29. En este
Algoritmo FEAL, la probabilidad diferencial "p" es 1 en la
transformación no lineal de cada proceso de subtransformación, con
lo cual la probabilidad diferencial del algoritmo global resulta ser
menos de 2, de acuerdo con lo anteriormente expuesto. Esto no
demuestra nada respecto de la fortaleza del cifrado.
La Fig. 2 muestra un ejemplo de un transformador
no convencional.
En la figura, la referencia numeral 151 indica un
circuito XOR del transformador no lineal, la referencia numeral 152
indica un circuito inverso de Campo Galois. Este transformador no
lineal emite como señal de salida "0", al recibir la entrada
0. n muestra el tamaño de bit del dato de entrada/salida. Cuando se
emplea el transformador no lineal de la Fig. 2, se sabe que la
probabilidad diferencial "p" resulta ser 2/2^{n} (donde
"n" es un número impar) o p=4/2^{n} (donde "n" es un
número par).
Sin embargo, la escala del circuito del circuito
inverso 152 de Campo Galois resulta grande cuando el tamaño del
dato de entrada es grande.
De acuerdo con la presente invención, la
configuración descrita más adelante satisface también la
manifestación anterior (1), lo que se demuestra en el Documento 2:
"Sobre la Seguridad Demostrable de los Cifrados de Bloque contra
el Criptoanálisis Diferencial y Lineal", ["On Provable Security
of Block Ciphers against Differential and Linear Cryptanalysis",
(Mitsuru Matsui, Text for the 18th Simposium on Information Theory
and Its Applications, October 24-27, 1995)]. El
documento 2 muestra que esta invención proporciona unos cifrados
más fuertes que la configuración de (1) porque 2p^{2} en la
manifestación anterior (1) puede reducirse a p^{2} incluso si el
proceso de transformación no lineal es el mismo que en la Fig.
29.
En esta forma de realización, se explicará el
aparato de transformación de datos, que incluye la unidad de
subtransformación en la que la probabilidad diferencial "p" es
pequeña y los datos pueden ser transformados a alta velocidad.
La Fig. 1 muestra una configuración del aparato
de transformación de datos de la presente forma de realización.
En la figura, las referencias numerales 101 y 102
indican el dato de entrada A y el dato de entrada B,
respectivamente. Las referencias numerales 103 y 104 indican el dato
de salida A y el dato de salida B de la última etapa, que es el
resultado de la transformación de datos y las referencias numerales
105 a 108 indican los datos intermedios, y las referencias
numerales 111 a 114 indican los parámetros clave para la
encriptación. Las referencias numerales 121 a 124 indican las
unidades de subtransformación desde la primera etapa hasta la etapa
enésima, incluyendo los transformadores no lineales 131 a 134 para
la primera hasta las fases enésimas, y los circuitos XOR 141 a
144.
A continuación se explicará una operación del
aparato de transformación de datos de la configuración anterior.
Aquí, las longitudes de dos datos de entrada son idénticas. En el
proceso de transformación de datos, lleva tiempo efectuar una
transformación no lineal. El tiempo requerido por una operación XOR
es lo suficientemente corto para ser ignorado en comparación con la
transformación no lineal.
En la Fig. 1, se efectúa una primera
transformación no lineal de una de las entradas, el dato de entrada
A 101, utilizando el primer parámetro de clave 111 en el circuito
XOR 151 y en el circuito inverso 152 de Campo Galois ambos
mostrados en la Fig. 2. El resultado transformado 109 es operado con
la función XOR con otra entrada, el dato de entrada B 102 y el
resultado operado con la función XOR es transmitido hasta la
siguiente fase como dato intermedio B 106 (S2). Por otro lado, el
dato de entrada B 102 es transmitido hasta la siguiente fase sin
ninguna transformación como primer dato intermedio A 105 (S1). Se
efectúa una segunda transformación no lineal del dato intermedio A
y el resultado transformado es operado con la función XOR con el
dato intermedio B 106 para dar salida al dato intermedio B 108 (S4).
El dato intermedio B 106 es transmitido hasta la siguiente etapa
como dato intermedio A 107 sin ninguna transformación (S3). En el
procedimiento de la operación anterior, la operación del segundo
transformador no lineal 132 se efectúa en paralelo con la primera
transformación no lineal.
Tanto en las unidades de subtransformación de la
fase de número impar como de la fase de número par, las
transformaciones no lineales se efectúan casi en paralelo de acuerdo
con lo anteriormente descrito, lo que posibilita una transformación
de datos de alta velocidad.
En la anterior explicación de la forma de
realización, las longitudes de dos datos de entrada son idénticas.
En otro caso, cuando las longitudes de dos datos de entrada son
diferentes, por ejemplo, cuando el dato de entrada A incluye
n_{1} bits y el dato de entrada B incluye n_{2} (n_{1} >
n_{2}), se demuestra lo que sigue:
(2) Si hay más de tres etapas de
subtransformaciones, la probabilidad diferencial de un aparato
global resulta ser inferior a p^{2} cuando se efectúa la
transformación no lineal dentro del sistema en el que el valor de
un dato de salida se determina por una correspondiente al dato de
entrada.
De acuerdo con ello, en la configuración de la
Fig. 1, cuando las longitudes de los dos datos de entrada son
diferentes, aún cuando la probabilidad diferencial "p" de cada
unidad de transformación es la misma que en el caso anterior, el
aparato de transformación de datos puede configurarse de forma que
la probabilidad de diferencial "p" del aparato global se
garantiza como inferior a p^{2}. En cuanto a las entradas en el
circuito XOR del aparato anterior, se introducen dos datos con
diferentes longitudes. Unos bits de datos sobrantes ((n_{1} -
n_{2}) bits) de un dato de entrada A resulta excluido con la
operación XOR. Únicamente el mismo número de bits como dato de
entrada B (n_{2} bits) del dato de entrada A es operado con la
función XOR con el dato de entrada B. En otra forma de operación,
por ejemplo,
(n_{1} - n_{2}) bits de constantes puede concatenarse con el dato de entrada B y con el dato de entrada B con la parte concatenada que es operada con la función XOR con un dato de entrada A. Así mismo, el parámetro de clave es suministrado apropiadamente en correspondencia con la longitud de los datos que van a procesarse cuando el dato de entrada A y el dato de entrada B tienen longitudes de dato diferentes.
(n_{1} - n_{2}) bits de constantes puede concatenarse con el dato de entrada B y con el dato de entrada B con la parte concatenada que es operada con la función XOR con un dato de entrada A. Así mismo, el parámetro de clave es suministrado apropiadamente en correspondencia con la longitud de los datos que van a procesarse cuando el dato de entrada A y el dato de entrada B tienen longitudes de dato diferentes.
La configuración del soporte físico es la
anteriormente mencionada en esta forma de realización. Es posible
efectuar una transformación no lineal y una operación XOR utilizando
un soporte lógico. Y el aparato de transformación de datos puede
efectuar una operación de fase de número impar y, en paralelo, otra
operación de número par, la cual es tan efectiva como la
anteriormente expuesta.
Forma de Realización
2
A continuación se explicará otra configuración de
una transformación no lineal de alta velocidad, la cual constituye
el punto esencial de análisis de la presente invención.
En esta forma de realización, una localización
del circuito XOR es alterada en cada unidad de subtransformación.
La Fig. 3 muestra un diagrama de bloques de esta configuración. En
la figura, las referencias numerales 161 a 164 indican la primera a
la cuarta unidades de subtransformación. Los parámetros de clave 111
a 114, los transformadores no lineales 132 a 135, y los circuitos
XOR 141 a 144 son los mismos elementos que en la primera forma de
realización de la Fig. 1. Las conexiones internas de las unidades de
subtransformación 161 a 164 son diferentes de las unidades de
subtransformación 121 a 124 de la Fig. 1.
En el aparato de transformación de datos en el
que los elementos están conectados de acuerdo con lo anteriormente
descrito, la probabilidad diferencial de un aparato global resulta
ser inferior a p^{2}, lo que significa que es menor que 2 p^{2}
de acuerdo con lo anteriormente expuesto en (1), y el aparato puede
generar un cifrado fuerte.
En cuanto al dato de entrada A 101 y al dato de
entrada B 102 introducidos en la primera unidad de subtransformación
161, el dato de entrada A 101 es transformado no linealmente
utilizando el primer parámetro de clave 111 del transformador no
lineal 132, y el resultado transformado es sacado como el dato
intermedio B 106 de la primera etapa (S12). El dato de entrada A
101 es operado con la función XOR con el dato de entrada B 102 en el
circuito XOR 141, y el resultado operado con la función XOR es
sacado como el dato intermedio A 105 de la primera etapa (S11).
El dato intermedio A 105 sacado por la unidad de
subtransformación 161, es introducido en la segunda unidad de
subtransformación 162. El dato intermedio A es transformado no
linealmente utilizando el segundo parámetro de clave 112 del
transformador no lineal 133, y el resultado transformado es sacado
como dato intermedio B 108 de la segunda etapa (S14). El dato
intermedio A 105 de la primera etapa y el dato intermedio B 106 son
operados con la función XOR en el circuito XOR 142, y el resultado
operado con la función XOR es sacado como dato intermedio A 107 de
la segunda etapa (S13).
Las anteriores unidades primera y segunda de
subtransformación están conectadas de manera alternada. La última
etapa puede ser cualquiera de las dos unidades primera y segunda de
subtransformación lo mismo que en la primera forma de
realización.
En el aparato de transformación de datos
conectado de acuerdo con lo anteriormente descrito, la probabilidad
diferencial de un aparato global resulta ser inferior a p^{2} de
acuerdo con el Documento 2, lo que se explicó en la primera forma
de realización. En cuanto a la velocidad operativa del circuito, la
operación XOR es mucho más rápida que la transformación no lineal.
La transformación no lineal de la primera etapa y de la segunda
etapa se llevan a cabo de esta forma casi en paralelo, lo que
incrementa la velocidad de procesamiento del aparato de
transformación de datos como conjunto.
A continuación se explicará, con referencia a la
Fig. 4, que la configuración de la Fig. 1 es sustancialmente la
misma que la configuración de la Fig. 3.
En la Fig. 4, las referencias numerales 121 a 124
muestran las unidades de subtransformación de la Fig. 1. Las
referencias numerales 161 a 164 muestran las unidades de
subtransformación de la Fig. 3. Tanto las unidades de
subtransformación de la Fig. 1 como las unidades de
subtransformación de la Fig. 3 están incluidas en la configuración
de la Fig 4. La diferencia de la Fig. 1 y la Fig. 3 es qué parte del
circuito es definida como unidad de subtransformación. Es decir, en
la Fig. 1, los elementos situados entre el lado de entrada del
primer transformador no lineal 131 y del lado de entrada del segundo
transformador no lineal 132 (el primer transformador no lineal 131
y el circuito XOR 141) se definen como la primera unidad de
subtransformación 121. Y los elementos situados entre el lado de
entrada del segundo transformador no lineal 132 y del lado de
entrada del siguiente primer transformador no lineal 133 (el segundo
transformador no lineal 132 y el circuito XOR 142) se definen como
la segunda unidad de subtransformación 122. En la Fig. 3, los
elementos situados entre el lado de salida del primer transformador
no lineal 131 y del lado de salida del segundo transformador no
lineal 132 (el circuito XOR 141 y el segundo transformador no lineal
132) se definen como primera unidad de subtransformación 161. Y los
elementos situados entre el lado de salida del segundo transformador
no lineal 132 y del lado de salida del siguiente primer
transformador no lineal 133 (el circuito XOR 142 y el primer
transformador no lineal 133) se definen como segunda unidad de
transformación 162.
La Fig. 5 muestra una configuración de otro
ejemplo del aparato de transformación de datos, que es
sustancialmente igual que el de las configuraciones de la Fig. 1 y
de la Fig. 3.
En la Fig. 5, los circuitos XOR 141 a 145 están
conectados en cascada. Esto es, los circuitos XOR están conectados
de forma que el dato de salida procedente del circuito XOR resulta
ser uno del dato de entrada del siguiente circuito XOR. Los
transformadores no lineales 131, 133, 135 están conectados con los
circuitos XOR de número impar 141, 143, 145, respectivamente. Los
transformadores no lineales 132, 134, 136 están conectados con los
circuitos XOR de número par 142, 144, respectivamente.
El aparato de transformación de datos configurado
de acuerdo con lo mostrado en la Fig. 5 es capaz de procesar datos
a alta velocidad porque las operaciones del primer y segundo
transformadores no lineales 131 y 132, 133 y 134, o 135 y 156 se
efectúan casi en paralelo de la misma forma que el aparato de
transformación de datos configurado de acuerdo con lo mostrado en
las Figs. 1 y 3.
Forma de Realización
3
De acuerdo con lo descrito en la Forma de
Realización 1, el transformador no lineal de la Fig. 2, cuando el
tamaño de los datos de entrada/salida resulta ser grande, la escala
del circuito resulta también grande. En esta forma de realización,
el aparato de transformación de datos está configurado como una
estructura anidada para constituir un aparato de transformación de
datos compacto utilizando un transformador no lineal de pequeño
tamaño (por ejemplo, un circuito de elementos inversos).
El algoritmo FEAL de la técnica convencional no
genera cifrados suficientemente fuertes porque la probabilidad
diferencial "p" es grande.
En esta forma de realización, se utiliza un
transformador no lineal de pequeño tamaño, lo que convierte en
pequeña la escala del circuito y reduce también la probabilidad
diferencial de un circuito global.
La Fig. 6 muestra la unidad de subtransformación
y el transformador no lineal situado dentro de la unidad de
subtransformación.
En la Fig. 6 "a" muestra la unidad de
subtransformación de la primera etapa, la referencia numeral 221
muestra la unidad de subtransformación externa, y la referencia
numeral 231 muestra el transformador no lineal externo de ella.
"b" muestra una configuración detallada del transformador no
lineal externo 231 anteriormente expuesto. Una unidad de división
interna 351 divide el dato de entrada A 101 en dos piezas de dato,
el dato de entrada A1 301 y el dato de entrada A2 302. Las
referencias numerales 303 a 308 indican los datos internos
intermedios y las referencias numerales 311 a 313 indican los
parámetros de clave divididos del parámetro de clave 111. Una
unidad conjunta interna 352 une el dato intermedio interno 303 y el
dato intermedio interno 304. Las referencias numerales 321 y 322
muestran unidades de subtransformación internas, las referencias
numerales 331 a 333 muestran transformadores no lineales internos,
y las referencias 341 a 343 muestran circuitos XOR internos. La
unidad de suministro 158 de parámetros de clave divide el parámetro
de clave 111.
Por ejemplo, en el algoritmo mostrado en la Fig.
6, cuando se utilizan los transformadores no lineales internos 331,
332 y 333 que tienen una probabilidad diferencial "p", la
probabilidad diferencial del transformador no lineal externo 231
resulta ser inferior a p^{2}. De acuerdo con ello, la probabilidad
diferencial del algoritmo que incluye más de tres etapas de las
unidades de subtransformación externas 221, resulta ser inferior a
(p^{2})^{2} = p^{4}.
La Fig. 7 muestra una configuración global de la
unidad de subtransformación en la que cuatro etapas de las unidades
de subtransformación externas mostradas como "a" de la Fig. 6
están conectadas y cada una de las unidades de subtransformación
externas incluye los transformadores no lineales mostrados como
"b" de la Fig. 6 teniendo tres etapas de las unidades de
subtransformación internas.
En la figura, únicamente elementos
representativos están indicados por referencias numerales: las
unidades de subtransformación externas 221 a 224, los
transformadores no lineales externos 231, 234, los circuitos XOR
141 a 144 de la unidad de subtransformación externa, las unidades de
subtransformación interna 321 a 323, los transformadores no
lineales internos 331 a 336 de los primero y segundo transformadores
no lineales externos 231 y 232.
Las Figs. 8 a 10 muestran un procedimiento de
transformación de datos secuencial del aparato de transformación de
datos configurado de acuerdo con lo mostrado en la Fig. 7.
A continuación se expondrá, con referencia a la
Fig. 6, una operación del transformador no lineal externo 231.
La unidad de división interna 351 divide el dato
de entrada A 101 recibido en la unidad de subtransformación externa
221 con un número arbitrario de dígitos en dos piezas de dato, el
dato de entrada A1 301 y el dato de entrada A2 302. La unidad de
suministro 158 de parámetros de clave divide el parámetro de clave
111 por un número arbitrario de dígitos en un número "n" de
parámetros de clave divididos. La unidad de suministro 158 de
parámetros de clave suministra los parámetros de clave divididos en
forma de primer parámetro de clave dividido 311 hasta el parámetro
de clave dividido enésimo 313. En la primera unidad de
subtransformación interna 321, se efectúa una transformación no
lineal interna del dato de entrada A1 101, el dato dividido del
dato de entrada A 101, utilizando el primer parámetro de clave
dividido 311. El dato transformado es operado con la función XOR
con el dato de entrada A2 302 y el resultado operado con la función
XOR es sacado como primer dato intermedio interno A2 306. El dato
de entrada A2 es sacado como primer dato intermedio interno A1 sin
ninguna transformación.
El primer dato intermedio interno A1 305 de la
primera unidad de subtransformación interna 321 es introducido en
la segunda unidad de subtransformación 322 como entrada A1. Se
efectúa una transformación no lineal interna del primer dato
intermedio interno A1 utilizando el segundo parámetro de clave
dividido 312. El dato transformado es operado con la función XOR
con el dato de entrada A2, esto es, el primer dato intermedio
interno A2 306. El resultado operado con la función XOR es sacado
como segundo dato intermedio interno A2 308, y el primer dato
intermedio interno A2 306 es sacado como segundo dato intermedio
interno A1 307 sin ninguna transformación. La primera unidad de
subtransformación interna anteriormente expuesta, y la anteriormente
expuesta segunda unidad de subtransformación interna están
conectadas alternadamente hasta "n" fases. El dato intermedio
interno A1 303 y el dato intermedio interno A2 304 de la última
etapa están unidos por una unidad conjunta interna 352 y el
resultado es sacado como resultado de transformación 109.
A continuación se explicará una operación del
aparato de transformación de datos de la Fig. 7 configurado de
acuerdo con lo anteriormente descrito.
En el primer ciclo, tanto el dato de entrada A
101 como el dato de entrada B 102 son introducidos y procesados
como se muestra en la Fig. 8. Lleva tiempo efectuar una
transformación no lineal, de forma que la mayor parte del periodo
de tiempo requerido por el primer ciclo se invierte en las
operaciones de los transformadores no lineales internos 331, 332 de
la unidad de subtransformación externa 221 y de los transformadores
no lineales internos 334, 335 de la unidad de subtransformación
externa 222. Es decir, los datos suministrados dentro del aparato
de transformación de datos dentro del primer ciclo se muestran
mediante la línea en negrita de la Fig. 8 y las operaciones se
efectúan en los transformadores no lineales internos 331, 332, 334 y
335.
En el siguiente ciclo, las operaciones se
efectúan como se muestra en la Fig. 9. A saber, la mayor parte del
periodo de tiempo del segundo ciclo se invierte por el transformador
no lineal interno 333 de la primera unidad de subtransformación
externa 221, el transformador no lineal interno 336 de la segunda
unidad de subtransformación externa 222, el transformador no lineal
interno 337 de la tercera unidad de subtransformación externa 223,
y el transformador no lineal interno 391 de la cuarta unidad de
subtransformación externa 224. En la figura, la línea discontinua
en negrita muestra la transmisión de los datos del lado de entrada
A.
En el siguiente ciclo, las operaciones se
efectúan como se muestra en la Fig. 10. A saber, la mayor parte del
periodo de tiempo de este ciclo se invierte por los demás
transformadores no lineales internos 338, 339 y 392, 393 de las
tercera y cuarta unidades de subtransformación externa 223 y 224.
Las operaciones del procedimiento de transformación de datos global
se completa mediante estos tres ciclos. En el sistema convencional,
el dato es transformado secuencialmente, esto es, la transformación
no lineal de cada etapa es iniciada después de que ha terminado la
transformación no lineal de la etapa previa. En este caso de
transformación de datos convencional, el procedimiento de
transformación de datos requiere doce ciclos. A saber, el aparato de
transformación de datos de la presente forma de realización puede
procesar datos a una velocidad aproximadamente cuatro veces mayor
que el aparato de transformación de datos convencional.
En el aparato de transformación de datos de la
presente forma de realización, un transformador no lineal de la
Forma de Realización 1 se emplea para los transformadores no
lineales 331 a 393, teniendo una configuración anidada dentro de
las unidades de subtransformación. También puede utilizarse un
transformador no lineal de la Forma de Realización 2, que es
también una configuración anidada. El mismo efecto puede sacarse
como con el transformador no lineal expuesto en la Forma de
Realización 1.
Forma de Realización
4
En esta forma de realización, un transformador no
lineal de pequeño tamaño es aplicado al transformador no lineal en
la unidad de subtransformación convencional.
La Fig. 11 muestra la unidad de subtransformación
y la configuración detallada del transformador no lineal dentro de
la unidad de subtransformación.
En la Fig. 11, "a" muestra la unidad de
subtransformación de la primera etapa. La referencia numeral 421
indica una unidad de subtransformación externa y la referencia
numeral 431 indica un transformador no lineal externo. En la Fig.
11, "b" muestra una configuración detallada del transformador
no lineal externo 431, la referencia numeral 551 muestra una unidad
de división interna y las referencias numerales 501 a 508 indican
datos de entrada. Las referencias numerales 511 a 513 indican
parámetros de clave divididos del parámetro de clave 111. La
referencia numeral 552 muestra una unidad conjunta interna, y las
referencias numerales 521 a 523 muestran unas unidades de
subtransformación internas, las referencias numerales 531 a 533
muestran unos transformadores no lineales internos, y las
referencia numerales 541 a 543 indican circuitos XOR.
En el algoritmo mostrado en la Fig. 11, cuando
los transformadores no lineales internos 531, 532, 533 tienen la
probabilidad diferencial "p", la probabilidad diferencial del
transformador no lineal externo 431 es inferior a p^{2}. De
acuerdo con ello, cuando el algoritmo incluye más de tres etapas de
la unidad de subtransformación externa 421, la probabilidad
diferencial del algoritmo resulta ser inferior a
2(p^{2})^{2} = 2 p^{4}.
En la Fig. 12, "a" muestra una configuración
general de la unidad de subtransformación, en la que están
conectadas dos etapas de las unidades de subtransformación externas
mostradas como "a" en la Fig. 11. La unidad de
subtransformación interna que tiene las tres etapas mostradas como
"b" en la Fig. 11 se utiliza para el transformador no lineal
de cada unidad de subtransformación externa. La Fig. 12 muestra
también el procedimiento de transformación de datos secuencial del
aparato de transformación de datos configurado como "a".
En la figura, únicamente se indican con
referencias numerales los elementos representativos: las unidades
de subtransformación externas 421 y 422, los circuitos XOR 441 y 442
de las unidades de subtransformación externa, las unidades de
subtransformación internas 521, 522 y 523, y los transformadores no
lineales internos 531 a 536 situados dentro de las primera y
segunda unidades de subtransformación internas. Los demás elementos
no se indican mediante referencias numerales.
A continuación se expondrá una operación del
aparato de transformación de datos configurado de acuerdo con lo
anteriormente descrito.
En el primer ciclo, el dato de entrada A 101 y el
dato de entrada B 102 son introducidos y procesados como se muestra
en "b" de la Fig. 12. Lleva tiempo procesar el dato en los
transformadores no lineales internos 531 y 532 de la unidad de
subtransformación externa 421. A saber, en el primer ciclo, el dato
es procesado dentro de los transformadores no lineales internos 531
y 532 y el dato de entrada A y el dato de entrada B son
transmitidos como se muestra mediante la línea en negrita "b"
de la Fig. 12.
En el siguiente ciclo, el dato es procesado
adicionalmente como se muestra en "c" de la Fig. 12. Lleva
tiempo procesar el dato en el transformador no lineal interno 533
de la unidad de subtransformación externa 421 y del transformador
no lineal interno 534 de la segunda unidad de subtransformación
externa 422. La línea interrumpida en negrita muestra la
transmisión del dato del lado de entrada A.
En el siguiente ciclo, el dato es adicionalmente
procesado como se muestra en "d" de la Fig. 12. Lleva tiempo
procesar el dato dentro del resto de los transformadores no lineales
internos 535 y 536 de la segunda unidad de subtransformación
externa 432. Las operaciones del procedimiento de transformación del
dato global se completan mediante estos tres ciclos. En el sistema
convencional, el dato es secuencialmente transformado, esto es, la
transformación no lineal de cada fase es iniciada después de que ha
finalizado la transformación no lineal de la fase previa. En el
ejemplo convencional, el procedimiento de transformación de datos
convencional requiere seis ciclos. El aparato de transformación de
datos de la presente forma de realización completa la transformación
de datos mediante tres ciclos, lo que significa que puede
efectuarse una operación a alta velocidad.
En la forma de realización anterior, el
transformador no lineal mostrado en la Forma de Realización 1 se
utiliza dentro de la unidad de subtransformación que tiene una
configuración anidada. El transformador no lineal mostrado en la
Forma de Realización 2 puede también emplearse para una
configuración anidada de la misma, lo que produce el mismo
efecto.
Forma de Realización
5
Otro aparato de transformación de datos, en el
que un transformador no lineal, siendo un elemento básico de la
configuración de la presente invención, se aplica a un transformador
no lineal de la unidad de subtransformación convencional.
La Fig. 13 muestra una configuración de este
aparato de transformación de datos y del transformador no lineal
situado dentro de la unidad de transformación.
En la Fig. 13, "a" muestra una configuración
general, las referencias numerales 621 a 624 indican las unidades
de subtransformación externas, las referencias numerales 631 a 634
indican los transformadores no lineales externos situados dentro de
las unidades de subtransformación externas, y las referencias
numerales 641 a 644 y 741 a 744 indican circuitos XOR. Las
referencias numerales 601, 602, 701, 702 indican datos de entrada
A1, B1, A2, B2, respectivamente. Las referencias numerales 603, 604,
703, 704, indican datos de salida después de la transformación. Las
referencias numerales 605 a 608, 705 a 708 indican datos
intermedios. En la Fig. 13, "b" muestra una configuración
detallada del transformador no lineal externo 631. Las referencias
numerales 651, 751 son datos después de la transformación no
lineal, las referencias numerales 775 a 778 indican datos
intermedios internos, y las referencias numerales 711 a 713 indican
parámetros de clave divididos del parámetro de clave 111. Las
referencias numerales 721 a 723 indican las unidades de
subtransformación internas, las referencias numerales 731 a 733
indican transformadores no lineales internos y las referencias
numerales 761 a 763 indican circuitos XOR.
El aparato de transformación de datos de la Fig.
13 introduce cuatro piezas arbitrarias de datos, un dato de entrada
A1, un dato de entrada A2, un dato de entrada B1, y un dato de
entrada B2. En cada proceso de subtransformación, se efectúan una
transformación no lineal y una operación XOR, cada una de ellas
entre el dato de entrada A1 y el dato de entrada B1, y entre el
dato de entrada A2 y el dato de entrada B2. El resultado
transformado es sacado como dato intermedio B1 y como dato
intermedio B2. El dato de entrada B1 y el dato de entrada B2, se
convierten en el dato intermedio A1 y el dato intermedio A2 sin
ninguna transformación.
Una operación del aparato de transformación de
datos anteriormente expuesto se desarrolla de la misma manera que
en los aparatos de transformación de datos de las Formas de
Realización 3 y 4, operación que se describió anteriormente con
detalle y no se explicará aquí. El aparato de transformación de
datos de la presente forma de realización mejora la velocidad
operativa del aparato.
Forma de Realización
6
En esta forma de realización, la primera unidad
de subtransformación 121 y la segunda unidad de subtransformación
122 están emparejadas como forma de unidad operativa básica. El
procedimiento de transformación de datos de la Forma de
Realización, el cual se efectuó mediante los plurales primeras
unidades de subtransformación 121 y las plurales segundas unidades
de subtransformación 122 conectadas de manera alternada, se efectuó
repitiendo la operación de la unidad operativa básica anteriormente
explicada. A saber, una unidad operativa está configurada por la
primera unidad de transformación 121 y por la segunda unidad de
subtransformación 122, cuyas operaciones pueden efectuarse
repetidamente. Al final de la operación efectuada por esta unidad
operativa, la salida procedente de la segunda unidad de
transformación es almacenada y suministrada como siguiente dato de
entrada para la primera unidad de subtransformación. La operación
de la unidad operativa puede así repetirse, lo que reduce la escala
del soporte físico.
La Fig.14 es un diagrama de bloques que muestra
la configuración anterior. En la figura, las referencias numerales
121 y 122 muestran la primera y segunda unidad de subtransformación,
respectivamente. Las referencias numerales 111 y 112 muestran el
primero y segundo parámetros de clave. Los transformadores no
lineales 131 y 132, los circuitos XOR 141 y 142 son los mismos de
los de la Fig. 1 de la Forma de Realización 1. A referencia numeral
153 indica una unidad de control, la referencia numeral 154 indica
una unidad de repetición, las referencias numerales 156a y 156b son
unidades de selección de datos, las referencias numerales 157a y
157b son unidades de retención de datos, y la referencia numeral
158 indica una unidad de suministro de parámetros de clave.
La que sigue es una operación del aparato de
transformación de datos expuesto.
El dato arbitrario de entrada A 101 y el dato
arbitrario B 102 son introducidos en la primera unidad de
subtransformación 121 a través de las unidades de selección de datos
156a y 156b. A continuación, un dato intermedio A 105 y un dato
intermedio B 106 son introducidos en la segunda unidad de
subtransformación 122. La operación de la primera y segunda
unidades de subtransformación es la misma de la Forma de Realización
1. La unidad de suministro 158 de parámetros de clave suministra
unos parámetros, que son apropiados para cada una de la primera y
segunda unidades de subtransformación, a los transformadores no
lineales de la primera y segunda unidades de subtransformación para
repetir el proceso, lo que se explicará más adelante. Un dato
intermedio A 107 y un dato intermedio B sacado a partir de la
segunda unidad de subtransformación 122 son introducidos en las
unidades de retención de datos 157a y 157b. Los datos son entonces
transmitidos a las unidades de selección de datos 156a y 156b a
través de la unidad de repetición 154, y de esta forma introducidos
en la primera unidad de subtransformación 121 como un dato de
entrada A y dato de entrada B. A continuación, el proceso anterior
se repite para dar salida al dato de salida A 103 y el dato de
entrada B 104.
El aparato de transformación de datos de la
presente forma de realización puede transformar los datos a alta
velocidad de la misma forma que la Forma de Realización1. El número
de unidades de subtransformación se reduce, lo que reduce la escala
del aparato.
En la forma de realización anterior un conjunto
de una etapa de la primera unidad de subtransformación 121 y de una
etapa de la segunda unidad de subtransformación 122 se define como
unidad operativa básica de repetición. La otra forma, la serie de
la primera unidad de transformación y de la segunda unidad de
transformación está conectada el necesario numero de veces puede
definirse como unidad operativa de repetición.
En una configuración de la Fig.14, una serie de
la primera unidad de su transformación y la segunda unidad de su
trasformación que define como una unidad de conexión encascada. El
aparato de transformación de datos incluye de esta forma siempre un
número par de unidades de subtransformación. Esta forma, puede
efectuarse la transformación adecuada incluso si el dato de entrada
A y el dato de entrada B tienen números diferentes de dígitos de
los datos. Por ejemplo, se emplean un dato de entrada A que tiene 7
dígitos y un dato de entrada B que tiene 9 dígitos, la unidad de
suministro de parámetros de clave suministra el parámetro de clave
111 para un dato de 7 dígitos al transformador no lineal 131 y la
unidad de suministro 158 de parámetros de clave suministra el
parámetro de clave 119 para el dato de 9 dígitos al transformador no
lineal 132. El dato de entrada A 101 de 7 dígitos es transformado
no linealmente en el transformador no lineal 131 utilizando el
parámetro de clave 111 de 7 dígitos dentro del dato intermedio B 106
de 7 dígitos y así es sacado como dato intermedio A 107. Este dato
intermedio A 107 es transmitido mediante la unidad de retención 157a
de datos y de la unidad de selección 156a de datos y se convierte
de nuevo en el dato de entrada A. De esta forma debe haber un
número par de unidades de subtransformación para que el dato de
entrada A con 7 dígitos sea siempre transformado utilizando el
parámetro de clave 111 de 7 dígitos. Si existe un número impar en
las unidades de subtransformación dentro del transformador no
lineal 131, el dato de 7 dígitos y el dato de 9 dígitos son
linealmente transformados de forma alternante.
Un número impar de unidades de subtransformación
puede conectarse en cascada si la unidad de suministro 158 de
parámetros de clave puede alternativamente suministrar el parámetro
de clave del dato de 7 dígitos y el parámetro de clave del dato de
9 dígitos (este supuesto no se muestra en la figura).
Forma de Realización
7
En esta forma de realización, el proceso
efectuado por el proceso de transformación de datos de la Forma de
Realización 2, el cual está configurado mediante las plurales
primeras unidades de subtransformación 161 y las plurales de
segunda subtransformación 162 alternadamente conectadas, se efectúa
ahora repitiendo la operación de la unidad operativa básica de una
primera unidad de subtransformación y de una segunda unidad de
subtransformación. A saber, un bucle de alimentación se constituye
de acuerdo con lo descrito en la Forma de Realización, de forma que
el dato intermedio A y el dato intermedio B son devueltos a la
unidad de selección de datos del lado de entrada para ser
procesados de nuevo. Así, la escala del circuito puede
reducirse.
La Fig. 15 es un diagrama de bloques que muestra
la configuración anterior. En la figura, las referencias numerales,
125, 126 muestran la primera unidad de subtransformación y la
segunda unidad de subtransformación, respectivamente. Las
referencias numerales 111,112 muestran el primero y el segundo
parámetro de clave, respectivamente. Los transformadores no
lineales 132- 133 los circuitos XOR 141a 142 son los mismos de los
de las Fig. 3 de la Forma de Realización 2. La unidad de control
153, la unidad de repetición 154, las unidades de selección 156a,
156 b de datos, las unidades de retención 157a, 157b de datos, y la
unidad de suministro 158 de parámetros de claves son las mismas que
las de la Forma de Realización 6.
La que sigue será una operación del aparato de
transformación datos configurado de acuerdo con lo anteriormente
descrito.
Un dato de entrada A arbitrario 101 y un dato de
entrada B 102 son introducidos a la primera unidad de
subtransformación 125 a través de las unidades de selección 156a,
156b de datos. A continuación un dato intermedio 105 A y un dato
intermedio B 106 son introducidos en la segunda unidad de
subtransformación 126. Las operaciones de la primera y segunda
unidades de subtransformación son las mismas que en la Forma de
Realización2. El parámetro de clave, que va a suministrarse a las
primeras y segundas de subtransformación correspondientes al
proceso de repetición posteriormente descrito, es suministrado a los
transformadores no lineales de las primeras y segundas unidades de
subtransformación mediante la unidad de suministro de parámetros
clave. El dato intermedio A 107 y el dato intermedio B 108 sacados
por la segunda unidad de subtransformación 126 son transmitidos a
través de las unidades de retención 157a, 157b de datos, las
unidades de selección 156a, 156b de datos de la unidad de
repetición 154 que va a ser introducida en la primera unidad de
subtransformación 125 como el dato de entrada A y como dato de
entrada B respectivamente. Después de el proceso de repetición
anteriormente expuesto, el dato de salida A 103 y el dato de salida
B 104 son finalmente sacados.
La transformación de datos puede efectuarse a
alta velocidad mediante la configuración expuesta porque por la
misma razón que la indicada Forma de Realización, forma de
realización 2, de forma que también el numero de unidades de
subtransformación puede reducirse y reducirse también la escala del
circuito.
En la explicación anterior de la operación, una
etapa de la primera unidad de subtransformación 125 y un a etapa de
segunda unidad de subtransformación 126 están conectadas encascada
para constituir la unidad operativa de repetición. En otra forma,
la primera unidad de subtransformación 125 y la segunda unidad de
subtransformación 126 están emparejadas y un numero necesario de
etapas están conectadas encascada para constituir la unidad
operativa de repetición, la cual es la misma que en la Forma de
Realización 6. En otro ejemplo, aunque no se muestra una
configuración detallada de la misma la figura en este la presión de
memoria no se especifica la operación, un numero par de fases de
las unidades de subtransformación externas de las Formas de
Realización 4 y 5 puede sustituirse mediante la unidad operativa de
repetición de la misma forma que las formas de realización, Formas
de Realización 6 y 7. En este ejemplo el numero de unidades de
subtransformación externas pueden reducirse sin reducir la
velocidad operativa. Así mismo, en este mismo, cuando la unidad
operativa de repetición consiste en un numero par de unidades de
subtransformación externa, puede llevarse a cabo una operación de
alta velocidad puede desprenderse mediante la explicación de la
Forma de Realización 4.
La unidad de selección de datos y la unidad de
datos de la Forma de Realización 607 están dispuestas formando un
par constitutivo de un bucle de realimentación. Aunque no se muestra
en la figura una configuración detallada ni se especifica una
numeración de esta memoria descriptiva, el bucle de alimentación
puede aplicarse al las unidades de subtransformación interna Formas
de Realización 3 a 5. A saber, una unidad de selección de datos
internas esta dispuesta de o después de las unidades internas 351 o
551 del transformador no lineal externo mostrado en las Figs. 6 y
11 para la selección de datos de entrada. Una unidad de retención de
datos internas esta dispuesta dentro de o antes de las unidades
conjuntas internas 352 o 552. El bucle de realimentación puede así
constituirse incluyendo esta unidad de selección de datos interna y
esta unidad de datos interna . En otra forma, la unidad de
selección de datos puede disponerse antes del transformador no
lineal externo de la Fig,13 para seleccionar los datos de entrada.
La unidad de retención de datos puede disponerse después del
transformador no lineal externo. El bucle de realimentación se
constituye incluyendo la unidad de selección de datos y la unidad
de retención de datos. De esta forma la escala de circuito de la
unidad de subtransformación interna puede reducirse sin reducirse
la velocidad operativa.
Forma de Realización
8
En esta forma de realización el proceso descrito
en la Forma de Realización 1, el cual se efectuó mediante las
unidades plurales de subtransformación 121 a 124, se efectúa
repitiendo la unidad operativa básica de repetición. En esta
explicación de la forma de realización, el dato de entrada
arbitraria A 101 y el dato de entrada B102 tienen idénticos dígitos
de dato. Cuando los números de los dígitos del dato de entrada A
101 y el dato de entrada B 102 son idénticos, el número de las
unidades de subtransformación de repetición tiene que ser siempre
un número par. El número arbitrario de etapas, de esta forma puede
conectarse para constituir el bucle de realimentación.
La Fig. 16 es un diagrama de bloques que muestra
la configuración anteriormente expuesta. Para facilitar la
explicación de la operación, la configuración incluye únicamente una
fase de la unidad de subtransformación y constituye el bucle de
realimentación de la Fig. 16.
En la figura, la referencia numeral 121 indica la
unidad de subtransformación. El primer parámetro de clave 111, el
transformador 131, el circuito XOR 141, la unidad de repetición 154,
las unidades de selección 156a, 156b, las unidades de retención
157a, 157b, y la unidad de suministro 158 de parámetros de clave,
son los mismos elementos de las otras formas de realización.
La que sigue es una operación del aparato de
transformación de datos anteriormente configurado.
El dato de entrada A arbitrario 101 y el dato de
entrada B 102 son introducidos en la unidad de subtransformación
121 a través de las unidades de selección 156a, 156b de datos. La
operación de la unidad de subtransformación 121 es la misma que en
la Forma de Realización 1. El parámetro de clave es suministrado al
transformador no lineal de la unidad de subtransformación mediante
la unidad de suministro 158 de parámetros de clave correspondiente
al proceso de repetición descrito más abajo. El dato intermedio A
105 y el dato intermedio B 106, sacados de la unidad de
subtransformación 121, son introducidos en la unidad de
subtransformación 121 como dato de entrada A y dato de entrada B,
respectivamente, mediante la unidad de repetición 154. A
continuación el proceso anteriormente expuesto se repite hasta
finalmente dar salida al dato de salida A 103 y el dato de salida B
104.
Mediante la configuración expuesta, el número de
transformadores no lineales puede reducirse y la escala del aparato
puede también reducirse.
En la anterior explicación de la forma de
realización, la unidad operativa de repetición incluye únicamente
una fase de la unidad de subtransformación 121. Es posible que la
unidad operativa de repetición incluya varias fases de las unidades
de subtransformación conectadas en cascada. La velocidad operativa
no puede reducirse y la escala del aparato puede reducirse.
En otra forma, la unidad de subtransformación
puede sustituirse por la unidad de subtransformación del aparato de
transformación de datos especificado en la Forma de Realización
2.
Así mismo, esta forma de realización puede
aplicarse a la unidad de subtransformación interna de las Formas de
Realización 3 a 5 así como a las Formas de Realización 6 y 7, aunque
en la figura no se muestra una configuración detallada del supuesto
actual y tampoco se especifica una operación en la presente
memoria.
Forma de Realización
9
En la presente forma de realización, un
transformador no lineal de pequeño tamaño es aplicado a un
transformador no lineal de una unidad de subtransformación
convencional.
La Fig. 17 muestra una configuración de un
aparato de transformación de datos de la presente forma de
realización.
La Fig. 18 es un diagrama de bloques que muestra
una configuración de un transformador no lineal externo 831 (y 832
a 838) mostrado en la Fig. 17,
La Fig. 19 es un diagrama de bloques que muestra
una configuración de un transformador no lineal interno 931 (y 932,
933) mostrado en la Fig. 18.
En esta forma de realización, se presume que el
parámetro de clave 811 tiene 32 x 3 = 96 bits, la longitud del
parámetro de clave 811a + el parámetro de clave 811b + el parámetro
de clave 811c es de 32 bits, la longitud del parámetro de clave
811d + el parámetro de clave 811e + el parámetro de clave 811f es
de 32 bits, y la longitud del parámetro de clave 811g + el parámetro
de clave 811h + el parámetro de clave 811i es de 32 bits. El
parámetro de clave 811a tiene 16 bits, y el parámetro de clave 811b
tiene 7 bits y el parámetro de clave 811c tiene 9 bits.
Las Figs. 20 y 21 son tablas de sustitución S7 y
S9 en caso de que los transformadores no lineales 951, 952a, y 952b
mostrados en la Fig. 19 se lleven a cabo mediante una ROM (Memoria
de Solo Lectura) o una RAM (Memoria de Acceso Aleatorio). Por
ejemplo, en la tabla de sustitución S7, cuando el dato X = 0 es
introducido, es sacado el dato Y = 85. Cuando el dato X= 1 es
introducido, es sacado el dato Y = 95. Así mismo, cuando X = 128 es
introducido, es sacado Y = 42. En el caso de la tabla de sustitución
S9, la operación es la misma que en la tabla S7. Cuando el
dato
X = 0, 1, ..., 511 es introducido, es sacado Y = 341, 310, ..., 170.
X = 0, 1, ..., 511 es introducido, es sacado Y = 341, 310, ..., 170.
La anterior tabla de sustitución S7 está
configurada de acuerdo con lo descrito a continuación.
Cuando se presume que la raíz es "\alpha"
para una función polinómica irreducible de grado siete
- x^{7} + x^{5} + x^{4} + x^{3} + 1 = 0,
y se presume que la base de entrada
es una base
normal
- \{\alpha, \ \alpha^{2}, \ \alpha^{4}, \ \alpha^{8}, \ \alpha^{16}, \ \alpha^{32}, \ \alpha^{64}\}
y se presume que la base de salida
es una base
normal
- \{\alpha^{32}, \ \alpha^{4}, \ \alpha^{2}, \ \alpha^{64}, \ \alpha^{16}, \ \alpha, \ \alpha^{8}\}.
X^{17} se expresa mediante "entrada X",
que es el elemento de GF (Campo Galois) (2^{7}), de acuerdo con
la base anterior. X^{17} es operado con la función XOR (operado
con la función OR exclusivo) con 55h (número hexadecimal) y sacado.
Las anteriores entradas y salidas se muestran en la tabla de la Fig.
20 mediante número decimal. En esta tabla, el lado izquierdo de los
datos de entrada/salida muestra el LSB (bit menos
significativo).
Así mismo, la tabla de sustitución anterior S9
está configurada del modo siguiente.
Cuando se presume que la raíz es "\alpha"
para un factor polinómico irreducible de 9 grados
- X^{9} + x^{8} + x^{7} + x^{6} + x^{4} + x^{3} + 1 = 0,
y se presume que la base de entrada
sea una base
normal
- \{\alpha, \ \alpha^{2}, \ \alpha^{4}, \ \alpha^{8}, \ \alpha^{16}, \ \alpha^{32}, \ \alpha^{64}, \ \alpha^{128}, \ \alpha^{256}\}
y se presume que la base de salida
sea una base
normal
- \{\alpha^{64}, \ \alpha, \ \alpha^{16}, \ \alpha^{8}, \ \alpha^{256}, \ \alpha^{2}, \ \alpha^{128}, \ \alpha^{32}, \ \alpha^{4}\}
X^{5} es expresado mediante
"entrada X", que es el elemento de GF (Campo Galois) (2^{9}),
de acuerdo con la base anterior. X^{5} es operado con la función
XOR (operado con la función de OR exclusivo) con 155h (número
hexadecimal) y sacado. Las anteriores entradas y salidas se muestran
en la tabla de la Fig. 21 mediante un número decimal. En esta
tabla, el lado izquierdo de los datos de entrada/salida muestra el
LSB (bits menos
significativo).
El Campo Galois es representado mediante un
vector que utiliza una base polinomial, o base normal.
Típicamente el vector está representado
utilizando la base polinomial. Por ejemplo, cuando el elemento
primitivo de GF (2^{m}) se presume que es "\alpha", un
elemento arbitrario de GF (2^{m}) se representa mediante el vector
que utiliza una base polinómica {1, \alpha, \alpha^{2}, ...,
\alpha^{m-1}}.
Es una ventaja de la base polinómica que la
adición de elementos sobre el GF (2^{m}) se efectúa mediante la
adición (operación XOR) por cada bit. A saber, cuando esta operación
se efectúa mediante el equipo físico, puede aplicarse un número
"m" de circuitos XOR de 2 entradas. En el caso de
representación por un vector utilizando una base polinómica, sin
embargo, es difícil efectuar la multiplicación por el equipo físico
comparado con la adición. Ello es generalmente implementado mediante
una ROM para efectuar la multiplicación.
Para otra base típica, se emplea una base normal
para representar el vector. La base normal se fija consistiendo en
una raíz "\alpha" de una función polinómica primitiva de m
grados y sus elementos conjugados, y se describe como
- \{\alpha, \ \alpha^{2}, \ \alpha^{4}, \ ..., \ \alpha^{m-2}, \ \alpha^{m-1}\}.
Es muy fácil efectuar una operación cuadrática
utilizando una base normal, que es la mayor ventaja de de utilizar
una base normal. Cuando se introduce un elemento arbitrario de GF
(2^{m}) mediante una operación cuadrática ello se efectúa
variando la representación del vector del elemento arbitrario a la
derecha cíclicamente. En el caso de que la operación cuadrática
anterior sea efectuada mediante soporte físico, se lleva a cabo
únicamente mediante la reconexión de las líneas de los bits. La
ventaja expuesta de representar el vector mediante una base normal
posibilita efectuar el circuito X^{n} para un elemento arbitrario
X mediante una escala menor de soporte físico que en el caso de
representar el vector mediante una base polinómica. Un circuito de
elemento inverso (X^{-1}) puede también presumirse como que es el
circuito X^{n}. A saber, un elemento inverso X^{-1} de un
elemento arbitrario X sobre el GF (2^{m}) es igual a
X^{2m-2}^{}, y puede ser procesado en el
circuito X^{n} mediante su tratamiento como n = 2^{m} - 2. Para
un ejemplo del equipo físico anterior, el caso del sexto bit menos
significativo (5 de salida se muestra en la Fig. 22 cuando es
implementado por un circuito lógico suponiendo que los 7 bits de
entrada de la anterior tabla de sustitución S7 son {el bit 0 de
entrada, el bit 1 de entrada, el bit 2 de entrada, el bit 3 de
entrada, el bit 4 de entrada, el bit 5 de entrada, el bit 6 de
entrada} y que los 7 bits de salida son {el bit 0 de salida, el bit
1 de salida, el bit 2 de salida, el bit 3 de salida, el bit 4 de
salida, el bit 5 de salida, el bit 6 de salida}.
La operación del aparato de transformación de
datos configurado como se muestra en las Figs. 17 a 19 puede
claramente entenderse mediante la descripción de las formas de
realización anteriores, por consiguiente, la operación no se
explica aquí con detalle.
Forma de Realización
10
En la presente forma de realización, se explicará
un aparato de transformación de datos, donde la escala del circuito
está ligeramente incrementada y que genera un cifrado más
fuerte.
La Fig. 23 muestra una configuración del aparato
de transformación de datos de la presente invención.
El aparato de la forma de realización influye así
mismo unos transformadores de datos FL1 a FL10 del aparato de
transformación de datos de la Forma de Realización 9.
La Fig. 24 muestra una configuración detallada
del transformador de datos FL1 971 (a FL10 980).
Cada uno de los transformadores de datos FL1 a
FL10 incluye un circuito AND 971a, un circuito OR 971b y unos
circuitos XOR 971c, 971d. Un parámetro de claves KL1 tiene 32 bits,
el cual es dividido en unos parámetros de clave KL1a y KL1b por una
unidad de suministro de parámetros de clave (esto no se ilustra).
Por ejemplo, el parámetro de claves KL1 es dividido en el parámetro
de clave KL1a de 16 bits y el parámetro de clave KL1b de 16 bits.
En la figura, cada circuito AND 971a y el circuito OR 971b pueden
ser, o bien un circuito AND o un circuito OR. Ambos pueden ser
circuitos OR.
La siguiente es una operación del aparato de
transformación de datos anterior.
El transformador de datos 971 incluye dos
circuitos XOR 971c, 971d y el primer y segundo circuitos lógicos,
los cuales son ambos dos circuitos AND, dos circuitos OR, o
circuitos AND y OR. El transformador de datos 971 está dispuesto a
uno u otro o a ambos lados del lado de entrada A o/y del lado de
entrada B de la primera unidad de subtransformación.
El dato de entrada A (o el dato de entrada B) es
dividido por un número arbitrario de dígitos en dos piezas de dato,
AA y AB. El parámetro de clave es dividido en un parámetro de clave
de transformación A 981a y en parámetro de clave de transformación
B 981b, cada uno de los cuales corresponde a una pieza dividida de
dato. Una primera operación AND/OR de las piezas de dato AA y del
parámetro de clave de transformación A 981a se efectúa dentro del
primer circuito lógico. El circuito lógico XOR 971c opera con la
función XOR el primer resultado operado con la función AND/OR con
las piezas de dato AB para dar salida al primer resultado operado
con la función XOR. Este primer resultado operado con la función XOR
es sacado como dato después de la transformación de las piezas de
dato AB. El segundo circuito lógico efectúa la operación AND/OR del
primer resultado operado con la función XOR y del parámetro de
clave de transformación B para dar salida al segundo resultado
operado con la función AND/OR. El circuito XOR 971d opera con la
función XOR el segundo resultado operado con la función AND/OR y
las piezas de dato AA para dar salida al segundo resultado operado
con la función XOR. Este segundo resultado operado con la función
XOR es sacado como dato de salida después de la transformación de
las piezas de dato AA. Los datos de salida expuestos después de la
transformación de las piezas de dato AA y de los datos de salida
después de la transformación de las piezas de datos AB se unen para
emitir una salida sobre la siguiente fase como dato de salida A (o
dato de
salida B).
salida B).
Los transformadores de datos nuevamente
suministrados FL1 A FL10 son funciones lineales, cuya salida varía
de acuerdo con el valor del parámetro de clave. Estos
transformadores no incrementan la probabilidad diferencial y
posibilitan que el aparato de transformación de datos mejore su
resistencia contra otros criptoanálisis exceptuando el
criptoanálisis diferencial. La operación de la transformación no
lineal se ha explicado ya en las formas de realización anteriores y
no se describirá aquí.
Los transformadores de datos FL1 a FL10 no
necesitan siempre estar configurados como se muestra en la Fig. 23.
Por ejemplo, los transformadores de datos FL1, LF3, FL5, FL7, FL9
pueden insertarse en un lado de una secuencia A (lado izquierdo en
la figura) y en la secuencia B (lado derecho de la figura). En otra
forma, los transformadores de datos pueden suministrarse en uno u
otro de las primeras y segundas unidades de subtransformación del
par a uno o ambos lados de una secuencia A o/y una secuencia B.
Forma de Realización
11
En las formas de realización 9 y 10, los
transformadores no lineales, siendo un elemento básico del aparato
de transformación de datos de la presente invención, son anidados en
el transformador no lineal de la unidad de subtransformación
convencional. En la presente forma de realización, los
transformadores no lineales, siendo un elemento básico del aparato
de transformación de datos de la invención, están anidados en el
transformador no lineal de la unidad de subtransformación, siendo un
elemento básico del aparato de transformación de datos de la
presente invención. Como se muestra en la Fig. 25, la presente forma
de realización es un aparato de transformación de datos modificado
de la Forma de Realización 10, algunos de cuyos elementos están
dispuestos de manera diferente dentro del aparato. Como la operación
del aparato de transformación de datos ha sido explicada en las
anteriores formas de realización, no se describe aquí con detalle.
Cada localización del transformador de datos FL1 a FL10 no siempre
necesita estar situado como se muestra en la figura así como en la
Forma de Realización 10. Aun con dicha localización diferente, el
aparato puede trabajar eficazmente también.
La Fig. 26 es una tabla que muestra cada una de
las características de las Formas de Realización 1 a 11.
Las Formas de Realización 1, 2, 4, y 5 se
muestran, respectivamente, en las filas, y en las columnas, las
Formas de Realización 3, 6, 7, 8, 9, 10, y 11, se muestran para
combinar con cada una de las citadas Formas de Realización 1, 2, 4
y 5. Las filas de las Formas de Realización 1 y 2 muestran
respectivamente características de sus unidades de
subtransformación. En la Fig. 26, la unidad de subtransformación de
la Forma de Realización 1, configurada como se muestra en la Fig.
1, se denomina tipo 1. La unidad de subtransformación de la Forma
de Realización 2, configurada como se muestra en la Fig. 3, se
denomina tipo 2. La Forma de Realización 3 tiene una configuración
anidada de la unidad de subtransformación externa y de la unidad de
subtransformación interna. Las unidades de subtransformación de las
Figs. 1 y 3 sin tener configuraciones anidadas, son definidas como
las unidades de subtransformación externas en la Fig. 26. En la Fig.
26, el número de la figura entre paréntesis mediante () indica qué
figura de la configuración se muestra dentro. Por ejemplo, (Fig. 1)
indica que en la Fig. 1 se muestra el tipo 1 de unidad de
subtransformación. (Fig. 6) indica que en la Fig. 6 se indica la
Forma de Realización 3, lo cual incluye la unidad de
subtransformación externa del tipo 1 y la unidad de
subtransformación interna del tipo 2. Los elementos plurales entre
paréntesis mediante {} indica que uno cualquiera de los elementos
plurales puede ser elegido opcionalmente. En la Forma de Realización
3, por ejemplo, de cualquiera de las unidades de subtransformación
del tipo 1 y del tipo 2 es aplicable a la unidad de
subtransformación interna. Puede claramente entenderse mediante la
figura que cualquier característica de las Formas de Realización 1,
2, 4, y 5 puede combinarse con cualquier característica de las
Formas de Realización 3, 6, 7, 8, 10 y 10. El aparato de
transformación de datos de la presente invención puede configurarse
no solo mediante la combinación de las características mostradas en
la Fig. 26, sino que también puede configurarse mediante la
combinación de estas características con otras características que
no se muestran en la Fig. 26. El aparato de transformación de datos
puede configurarse no solo mediante una combinación de
características, sino también configurarse mediante cada
característica de cada Forma de Realización.
Lo que sigue muestra la aplicación de ejemplos
del aparato de transformación de datos de acuerdo con la presente
invención.
La Fig. 27 ilustra un ordenador personal con una
estación de trabajo, donde el aparato de transformación de datos de
la invención es aplicado.
El aparato de transformación de datos 60 incluye
una unidad de visualización 61, un teclado 62, un ratón 63, una
almohadilla 64 para el ratón, una unidad 65 del sistema y un
elemento accionador 100 de disco compacto.
En el aparato de transformación de datos de la
invención, por ejemplo, un dato es introducido desde el elemento
accionador 100 de disco compacto, el dato es transmitido hasta la
unidad 65 del sistema, y es visualizado sobre la unidad de
visualización 61 como se muestra en la Fig. 27. Por otro lado, el
aparato de transformación de datos emite el dato visulizado por la
unidad de visualización 61 hasta el elemento accionador 100 de
disco compacto. El aparato de transformación de datos también
transforma un dato y transmite la información a través de unos
conductores (no ilustrados). Sin embargo, la aplicación del aparato
de transformación de datos de la invención no está limitada al
ordenador personal o a la estación de trabajo mostrada en la Fig.
27. El aparato de transformación de datos puede configurarse de
diversas formas, por ejemplo, un reproductor de vídeo puede
incluirse en lugar del accionador 100 de disco compacto como
dispositivo de entrada.
En otro ejemplo, el dato puede introducirse a
partir de una red. El dato puede recibirse en analógico o en
digital.
En la Fig. 27, el aparato de transformación de
datos de la invención se muestra configurado de manera
independiente. El aparato de transformación de datos puede
implementarse dentro unidades, telas como una impresora 66, un
escáner 68, o una unidad de facsímil 69 como se muestra en la Fig.
28. En otro ejemplo, el aparato de transformación de datos de la
invención puede implementarse como parte de una tarjeta de un
sistema de cámara de televisión, de una máquina de medición, de un
ordenador, etc. En un ejemplo de aplicación adicional, cada uno de
los equipos mostrados en la Fig. 28 está conectado a través de una
LAN (RAL) (Red de Aérea Local) para transmitir mutuamente la
información codificada, lo cual no se ilustra en la Fig. 28. La
información codificada puede transmitirse/recibirse a través de una
WAN (RAA) (Red de Aérea Amplia) como por ejemplo ISDN (Sri).
Como ha sido descrito, en el aparato de
transformación de datos de acuerdo con la presente invención, la
unidad de subtransformación está configurada para procesar
parcialmente datos de entrada en paralelo, lo que posibilita que el
aparato tenga una probabilidad diferencial pequeña y que se efectúe
una transformación de datos a alta velocidad. El aparato de
transformación de datos puede eficazmente aplicarse sobre un
encriptador para el aparato de procesamiento de la información o la
comunicación de datos. Así mismo, en el aparato de transformación
de datos de la invención, el bucle de realimentación está dispuesto
para repetir la operación de los mismos elementos existentes dentro
del circuito. Por consiguiente, el aparato puede ser aplicable a un
encriptador con una escala de circuitos reducida y con unas
prestaciones a alta velocidad.
Claims (17)
1. Aparato de transformación de datos para
transformar un primer dato de entrada (101) y un segundo dato de
entrada (102), que comprende:
una primera unidad de transformación (121, 161)
para efectuar una primera transformación no lineal del primer dato
de entrada (101) utilizando un primer parámetro de clave (111),
dando salida a un resultado trasformado, efectuando una operación
XOR del resultado transformado y del segundo dato de entrada (102)
par dar salida a un resultado operado con la función XOR como
segundo dato intermedio (106), y dar salida a un segundo dato de
entrada (102) como primer dato intermedio (105) sin ninguna
transformación, y
una segunda unidad de transformación (122, 162)
para efectuar una segunda transformación no lineal del primer dato
intermedio (105) utilizando un segundo parámetro de clave (112),
dando salida a un resultado transfor-
mado,
mado,
efectuar una operación XOR del resultado
transformado y del segundo dato intermedio (106) para dar salida a
un resultado operado con la función XOR como cuarto dato intermedio
(108), y dar salida al segundo dato intermedio (106) como tercer
dato intermedio (107) sin ninguna transformación.
2. El aparato de transformación de datos de la
reivindicación 1, en el que la primera unidad de transformación
(121) incluye un primer transformador no lineal (131) y un circuito
XOR (141) situado entre una entrada para el primer dato de entrada
(101) y una entrada de la segunda unidad de transformación (122)
para el segundo dato intermedio (106); y
la segunda unidad de transformación (122) incluye
un segundo transformador no lineal (132) y un circuito XOR (142)
situado entre una entrada para el primer dato intermedio (105) y una
entrada de una siguiente unidad de transformación (123) para el
cuarto dato intermedio (108); o
en el que la primera unidad de transformación
(161) incluye un circuito XOR (141) situado entre una entrada para
el segundo dato de entrada (102) y una entrada de la segunda unidad
de transformación (162) para el primer dato intermedio (105) y un
primer transformador no lineal (132) situado entre una entrada el
primer dato de entrada (101) y una entrada de la segunda unidad de
transformación (162) para el segundo dato intermedio (106), y
la segunda unidad de transformación (162) incluye
el circuito XOR (142) situado entre la entrada para el dato
intermedio (106) y una entrada para el siguiente unidad de
transformación (163) para el tercer dato intermedio (107) y un
segundo transformador no lineal (133) situado entre una entrada para
el primer dato intermedio (105) y una entrada para la siguiente
unidad de transformación (163) para el cuarto dato intermedio
(108);
en el que la primera unidad de transformación
(121, 161) y la segunda unidad de transformación (122, 162) están
conectadas de forma alternada d (d \geq 2) veces desde una primera
etapa hasta una última etapa
en el que la unidad de transformación de la
última etapa, siendo cualquiera de entre la primera unidad de
transformación y la segunda unidad de transformación, da salida a un
dato intermedio (103) de número impar y un dato intermedio (104) de
número par, como datos de salida después de la transformación.
3. El aparato de transformación de datos de la
reivindicación 2,
en el que el primer dato de entrada (101),
introducido en la primera unidad de transformación (221), es
dividido en un primer subdato de entrada (301) y un segundo subdato
de entrada (302) y el parámetro de clave (111) es dividido de un
primero a unos enésimos parámetros de clave divididos (311 a 313);
y
comprendiendo adicionalmente el aparato de
transformación de datos:
una primera unidad de subtransformación (321)
para efectuar una transformación no lineal del primer subdato de
entrada (301), utilizando un primer parámetro de clave dividido
(311), dando salida a un resultado transformado, efectuando una
operación XOR del resultado transformado y del segundo subdato de
entrada (302),
dando salida a un resultado operado con la
función XOR como segundo subdato intermedio (306), y dando salida
al segundo subdato de entrada (302) como primer subdato intermedio
(305) sin ninguna transformación; y una segunda unidad de
subtransformación (322) para efectuar una transformación no lineal
interna del primer subdato intermedio (305) utilizando el segundo
parámetro clave dividido (312) dando salida a un resultado
transformado, operando una función XOR del resultado transformado y
del segundo subdato intermedio (306), dando salida a un resultado
operado con la función XOR como cuarto subdato intermedio (308), y
dando salida al segundo dato intermedio (306) como tercer subdato
intermedio (307) sin ninguna transformación;
en el que la primera unidad de subtransformación
(321) y la segunda unidad de subtransformación (322) están
conectadas de forma alternada n veces (n\geq2) desde una primera
etapa hasta una última etapa, y
en el que el dato intermedio de número impar
(303) y el dato intermedio de número par (304) sacados de la última
etapa son unidos como resultado de transformación (109).
4. El aparato de transformación de datos de la
reivindicación 2, en el que el primer dato de entrada (101)
introducido en la primera unidad de transformación (221), es
dividido en un primer subdato de entrada (301) y en un segundo
subdato de entrada (302) y el parámetro de clave (111) es dividido
de un primero a unos enésimos parámetros de clave divididos; y
comprendiendo adicionalmente el aparato de
transformación de datos:
una primera unidad de transformación para
efectuar una transformación no lineal interna del primer subdato de
entrada, utilizando un primer parámetro de clave dividido, dar
salida a un resultado transformado como segundo subdato
intermedio,
operar una función XOR del primer subdato de
entrada y del segundo subdato de entrada, y dar salida a un
resultado operado con la función XOR como primer subdato intermedio;
y
una segunda unidad de subtransformación para
efectuar una transformación no lineal interna del primer subdato
intermedio, sacado de la primera unidad de subtransformación
utilizando el segundo parámetro de clave dividido, dar salida a un
resultado transformado como cuarto subdato intermedio, operar una
función XOR del primer subdato intermedio y del segundo subdato
intermedio, y dar salida a un resultado operado como una función XOR
como tercer dato intermedio;
en el que la primera unidad de subtransformación
y la segunda unidad de subtransformación están conectadas
alternadamente n veces (n\geq2) desde una primera etapa hasta una
última etapa, y
en el que el dato intermedio de número impar, y
el dato intermedio de número par sacados de la última etapa son
unidos como resultado de transformación.
5. El aparato de transformación de datos de la
reivindicación 1,
en el que el primer dato de entrada (101) y el
segundo dato de entrada (102), el dato intermedio de número impar
(105, 107, 109) y el dato intermedio de número par (106, 108, 104)
están respectivamente divididos en piezas de dato de forma que cada
uno de los datos divididos tiene un número igual de dígitos en ambos
datos de número impar y de número par.
6. El aparato de transformación de datos de la
reivindicación 1,
en el que la primera unidad de transformación
(121) incluye un primer transformador no lineal (131) y un circuito
XOR (141) situado entre una entrada para el primer dato de entrada
(101) y una entrada de la segunda unidad de transformación (122)
para el segundo dato intermedio (106); y
la segunda unidad de transformación (122) incluye
un segundo transformador no lineal (132) y un circuito XOR (142)
situado entre una entrada para el primer dato intermedio (105) y una
entrada de una siguiente unidad de transformación (123) para el
cuarto dato intermedio (108); o
en el que la primera unidad de transformación
(161) incluye un circuito XOR (141) situado entre una entrada para
el segundo dato de entrada (102) y una entrada de la segunda unidad
de transformación (162) para el primer dato intermedio (105) y un
primer transformador no lineal (132) situado entre una entrada para
el primer dato de entrada (101) y una entrada de la segunda unidad
de transformación (162) para el segundo dato intermedio (106), y
en el que la segunda unidad de transformación
(162) incluye el circuito XOR (142) situado entre la entrada para
el segundo dato intermedio (106) y una entrada de una siguiente
unidad de transformación (163) para el tercer dato intermedio (107)
y un segundo transformador no lineal (133) situado entre una entrada
para el primer dato intermedio (105) y una entrada de la siguiente
unidad de transformación (163) para el cuarto dato intermedio
(108); y
en el que la primera unidad de transformación
(121, 161) y la segunda unidad de transformación (122, 162) están
conectadas de manera alternada d veces (d\geq2) desde una primera
etapa hasta una última etapa,
comprendiendo adicionalmente el aparato de
transformación de datos:
una unidad (156a, 156b) de selección de datos
conectada en el lado de entrada en la primera unidad de
transformación (121, 161),
una unidad (157a, 157b) de retención de datos
conectada en el lado de salida de la segunda unidad de
transformación (122, 162), y
una unidad (158) de suministro de parámetros de
clave;
en el que, en un primer momento, la unidad (156a,
156b) de selección de datos está adaptada para seleccionar un
primer dato de entrada (101) y un segundo dato de entrada (102) para
introducirlos en la primera unidad de transformación (121, 161), y
después de ello la unidad (156a, 156b) de selección de datos está
adaptada para seleccionar el dato de salida a partir de la unidad
(157a, 157b) de retención de datos para introducirlos en la primera
unidad de transformación (121, 161) para constituir un bucle de
realimentación;
en el que este ciclo de transformación de datos
es repetido m veces (m\geq2), y después de ello la unidad (157a,
157b) de retención de datos está adaptada para dar salida a un dato
intermedio de número impar (103) y un dato intermedio de número par
(104) como resultado de transformación.
7. El aparato de transformación de datos de la
reivindicación 1,
para transformar un primer dato de entrada (101)
y un segundo dato de entrada (102), teniendo ambos el mismo número
de dígitos, comprendiendo una cualquiera de entre:
una primera unidad de transformación (121) que
incluye un primer transformador no lineal (131) y un primer circuito
XOR (141); y
una segunda unidad de transformación (122)
incluyendo un segundo circuito XOR (142) y un segundo transformador
no lineal (132);
en el que las unidades de transformación están
conectadas d veces (d\geq2);
comprendiendo adicionalmente al aparato de
transformación de datos:
una unidad (156a, 156b) de selección de datos
dispuesta en el lado de entrada de una primera unidad de
transformación (121),
una unidad (157a, 157b) de retención de datos
dispuesta en el lado de salida de una última unidad de
transformación (122),
y
una unidad (158) de suministro de parámetros de
clave;
en el que, en un primer momento, la unidad (156a,
156b) de selección de datos está adaptada para seleccionar el
primer dato de entrada (101) y el segundo dato de entrada (102) para
introducirlos en la primera unidad de transformación (121), y
después de ello la unidad de selección de datos (156a, 156b) está
adaptada para seleccionar el dato de salida desde la unidad (157a,
157b) de retención de datos para introducirlos en la primera unidad
de transformación (121) para constituir un bucle de realimentación;
y
en el que este ciclo de transformación de datos
es repetido m veces (m \geq2), y después de ello la unidad (157a,
157b) de retención de datos está adaptada para dar salida a un dato
intermedio de número impar (103) y un dato intermedio de número par
(104) como resultado de transformación.
8. El aparato de transformación de datos de la
reivindicación 2,
en el que el primer dato de entrada (101) es
dividido en un primer subdato de entrada (301) y un segundo subdato
de entrada (302), y el parámetro de clave (111) es dividido de un
primero hasta unos enésimos parámetros de clave (311 a 313);
en el que la unidad de transformación incluye
adicionalmente:
una primera unidad de subtransformación (321)
para efectuar una transformación lineal del primer subdato de
entrada (301), utilizando el primer parámetro de clave dividido
(311), dando salida a un resultado transformado, operando una
función XOR del resultado transformado y del segundo subdato de
entrada (302) para dar salida a un resultado XOR como segundo
subdato intermedio (306) y dando salida al segundo subdato de
entrada (302) como primer subdato intermedio (305) sin ninguna
transformación; y
una segunda unidad de subtransformación (322)
para introducir el primer subdato intermedio (305) sacado de la
primer unidad de subtransformación efectuando una subtransformación
no lineal interna del primer subdato intermedio (305) utilizando el
segundo parámetro de clave dividido (312) dar salida a un resultado
transformado, operando una función XOR del resultado transformado y
del segundo subdato intermedio (306) para dar salida a un resultado
operado con la función XOR como cuarto subdato intermedio (308), y
dar salida al segundo sudbato intermedio (306) como tercer subdato
intermedio (307) sin ninguna transformación;
en el que la primera unidad de subtransformación
(321) y la segunda unidad de subtransformación (322) están
conectadas de forma alternada n veces (n \geq2) desde una primera
etapa hasta una última etapa,
en el que la unidad de transformación incluye
adicionalmente:
una unidad de subselección de datos dispuesta en
el lado de entrada de la primera unidad de subtransformación, una
unidad de subretención de datos dispuesta en el lado de salida de
cualquiera de entre las unidades primera y segunda de
transformación y,
una unidad de subsuministro de parámetros de
clave;
en el que, en un primer momento, la unidad de
subselección de datos está adaptada para suministrar el primer
subdato de entrada y el segundo subdato de entrada, después de
seleccionar e introducir el primer subdato de entrada y el segundo
subdato de entrada, la unidad de subselección de datos se regula
para seleccionar e introducir el dato de salida de la unidad de
subretención de datos para constituir un bucle de realimentación;
y
en el que la unidad de transformación está
adaptada para repetir la transformación de datos m veces (m
\geq2), la unidad de subsuministro de parámetros de clave está
adaptada para suministrar el parámetro de clave dividido para cada
unidad de subtransformación correspondiente a la transformación
repetida, y por fin, la unidad de subretención de datos está
adaptada para dar salida a un subdato intermedio de número impar y
un subdato intermedio de número par como primer dato de salida
después de la transformación.
9. El aparato de transformación de datos de la
reivindicación 2,
en el que el primer dato de entrada (101) es
dividido en un primer subdato de entrada (301) y en un segundo
subdato de entrada (302), y el parámetro de clave (111) es dividido
en un primer parámetro hasta unos enémisimos parámetros de clave
divididos (311 a 313);
en el que la unidad de transformación incluye
adicionalmente:
una primera unidad de subtransformación (321)
para introducir el primer subdato de entrada (301), efectuar una
transformación no lineal del primer subdato de entrada (301)
utilizando el primer parámetro de clave dividido (311), dar salida
a un resultado transformado como segundo subdato intermedio, operar
una función XOR del primer subdato de entrada y del segundo subdato
de entrada para dar salida a una función operada XOR como primer
subdato intermedio; y
una segunda unidad de transformación para
introducir el primer subdato intermedio sacado de la primera unidad
de subtransformación, efectuar una transformación no lineal del
primer subdato intermedio utilizando el segundo parámetro de clave
dividido, dar salida a un resultado transformado como cuarto dato
intermedio, operar una función XOR del primer subdato intermedio y
del segundo subdato intermedio y dar salida a un resultado sacado
con la función XOR, como tercer subdato intermedio;
en el que la primera unidad de subtransformación
y la segunda unidad de subtransformación están conectadas de modo
alternado n veces (n \geq2) desde una primera etapa hasta una
última etapa,
en el que la unidad de subtransformación incluye
adicionalmente:
una unidad de subselección de datos dispuesta en
el lado de entrada de la primera unidad de subtransformación,
una unidad de subretención de datos dispuesta en
el lado de salida de una cualquiera de entre la primera y la
segunda unidad es de subtransformación y
una unidad de subsuministro de parámetros de
clave;
en el que, en un primer momento, la unidad de
subselección de datos está adaptada para seleccionar e introducir
el primer subdato de entrada y el segundo subdato de entrada,
después de seleccionar e introducir el primer subdato de entrada y
el segundo subdato de entrada, la unidad de subselección de datos se
regula para seleccionar e introducir el dato de entrada procedente
de la unidad de subretención de datos para constituir un bucle de
realimentación; y
el en el que la unidad de transformación está
adaptada para repetir la transformación de datos m veces (m
\geq2), la unidad de subsuministro de parámetros de clave está
adaptada para suministrar el parámetro de clave dividido a cada
unidad de subtransformación correspondiente a la transformación
repetida, y por fin, la unidad de subretención de datos está
adaptada para dar salida al dato intermedio de número impar y al
dato intermedio de número par como primeros datos de salida después
de la transformación.
10. El aparato de transformación de datos de las
reivindicaciones 8 o 9, en el que el dato de número impar que va a
introducirse en cada unidad de subtransformación, es dividido en dos
piezas de dato, las cuales tienen ambas un número idéntico de
dígitos; y
en el que las primeras unidades de
subtransformación están conectadas n veces (n \geq2).
11. El aparato de transformación de datos de la
reivindicación 1, en el que al menos uno de entre los
transformadores no lineales es un circuito X^{n} sobre Campo
Galois.
12. El aparato de transformación de datos de la
reivindicación 11 en el que el circuito X^{n} sobre Campo Galois
está constituido por una base normal.
13. El aparato de transformación de datos de la
reivindicación 1, en el que al menos una parte del transformador no
lineal es una Memoria de Solo Lectura.
14. El aparato de transformación de datos de la
reivindicación 1, en el que al menos una parte del transformador no
lineal es una Memoria de Acceso Aleatorio.
15. El aparato de transformación de datos de la
reivindicación 1, en el que al menos una parte del transformador no
lineal es un Circuito Lógico.
16. El aparato de transformación de datos de la
reivindicación 2, comprendiendo adicionalmente:
dos circuitos lógicos (971a y 971b), siendo
cualquiera de dos circuitos XOR (971c y 971d) y unos circuitos AND
y OR dispuestos para al menos uno de entre el primer lado de entrada
y el segundo lado de entrada de la primera unidad de transformación
como transformador (971) de datos,
en el que el dato de entrada, introducido en el
transformador (971) de datos es dividido en dos piezas de dato
teniendo un número predeterminado de dígitos como primer subdato y
segundo subdato, el parámetro de clave es dividido en un primer
parámetro (981a) de clave de transformación y un segundo parámetro
(981b) de clave de transformación;
en el que una primera operación lógica se efectúa
sobre el primer subdato utilizando el primer parámetro (981a) de
clave de transformación, el primer resultado de la operación es
operado con la función XOR con el segundo subdato para dar salida a
un primer resultado XOR y el primer resultado XOR es sacado como
dato de salida después de transformar el segundo subdato;
en el que una segunda operación lógica se efectúa
sobre el primer resultado XOR, utilizando el segundo parámetro de
clave de transformación, el resultado de la segunda operación es
operado con la función XOR con el primer subdato para dar salida a
un segundo resultado XOR, el segundo resultado XOR es sacado como
dato de salida después de transformar el primer subdato, y el dato
de salida después de transformar el primer subdato y el dato de
salida después de transformar el segundo subdato son unidos y
sacados.
17. Procedimiento de transformación de datos
para transformar el primer dato de entrada (101) y el segundo de
dato (102), comprendiendo las etapas de:
- a)
- efectuar una primera transformación no lineal del primer dato de entrada (101) utilizando un primer parámetro de clave (111), dar salida a un resultado transformado,
- efectuar una operación XOR del resultado transformado y del segundo dato de entrada (102) para dar salida a un resultado operado con la función XOR como segundo dato intermedio (106), y dar salida al segundo dato de entrada (102) como primer dato intermedio (105) sin ninguna transformación, y
- b)
- efectuar una segunda transformación no lineal del primer dato intermedio (105) utilizando un segundo parámetro de clave (112), dando salida a un resultado transformado,
- efectuar una operación XOR del resultado transformado y del segundo dato intermedio (106) para dar salida a un resultado operado con la función XOR como cuarto dato intermedio (108) y dar salida al segundo dato intermedio (106) como tercer dato intermedio (107) sin ninguna transformación.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22768595 | 1995-09-05 | ||
JP8-11073 | 1996-01-25 | ||
JP7-227685 | 1996-01-25 | ||
JP1107396 | 1996-01-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2255712T3 true ES2255712T3 (es) | 2006-07-01 |
Family
ID=26346455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES96925956T Expired - Lifetime ES2255712T3 (es) | 1995-09-05 | 1996-07-31 | Aparato de transformacion de datos y procedimiento de transformacion de datos. |
Country Status (10)
Country | Link |
---|---|
US (3) | US6201869B1 (es) |
EP (1) | EP0790595B1 (es) |
KR (1) | KR100250803B1 (es) |
CN (2) | CN100435505C (es) |
AU (1) | AU693719B2 (es) |
DE (1) | DE69635651T2 (es) |
DK (1) | DK0790595T3 (es) |
ES (1) | ES2255712T3 (es) |
NO (1) | NO324428B1 (es) |
WO (1) | WO1997009705A1 (es) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69635651T2 (de) * | 1995-09-05 | 2006-09-07 | Mitsubishi Denki K.K. | Vorrichtung und Verfahren zur Datenumwandlung |
JP3088337B2 (ja) | 1997-05-30 | 2000-09-18 | 三菱電機株式会社 | 暗号処理装置、icカード及び暗号処理方法 |
US6088800A (en) | 1998-02-27 | 2000-07-11 | Mosaid Technologies, Incorporated | Encryption processor with shared memory interconnect |
JP2000124813A (ja) | 1998-10-20 | 2000-04-28 | Texas Instr Japan Ltd | リードソロモン符号化装置およびその方法とリードソロモン復号装置およびその方法 |
MY131509A (en) * | 1999-03-15 | 2007-08-30 | Sony Corp | Data processing method, apparatus and system for encrypted- data transfer |
JP3499810B2 (ja) | 2000-03-06 | 2004-02-23 | 株式会社東芝 | 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体 |
EP1686721B1 (en) * | 2000-03-09 | 2013-03-06 | Mitsubishi Denki Kabushiki Kaisha | Block cipher apparatus using auxilliary transformation |
US7283628B2 (en) * | 2001-11-30 | 2007-10-16 | Analog Devices, Inc. | Programmable data encryption engine |
US7269615B2 (en) | 2001-12-18 | 2007-09-11 | Analog Devices, Inc. | Reconfigurable input Galois field linear transformer system |
US7508937B2 (en) * | 2001-12-18 | 2009-03-24 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
KR100446533B1 (ko) * | 2002-10-08 | 2004-09-01 | 삼성전자주식회사 | 무선 통신 시스템에서 암호화 장치 및 방법 |
KR100456599B1 (ko) * | 2002-11-12 | 2004-11-09 | 삼성전자주식회사 | 병렬 디이에스 구조를 갖는 암호 장치 |
US7310421B2 (en) * | 2003-10-06 | 2007-12-18 | National Institute Of Information And Communications Technology | Particular plaintext detector |
US7433469B2 (en) * | 2004-04-27 | 2008-10-07 | Intel Corporation | Apparatus and method for implementing the KASUMI ciphering process |
FR2871969B1 (fr) * | 2004-06-18 | 2006-12-01 | Sagem | Procede et dispositif d'execution d'un calcul cryptographique |
WO2006117390A1 (de) * | 2005-05-04 | 2006-11-09 | Siemens Enterprise Communications Gmbh & Co. Kg | Verfahren und vorrichtung zum ermitteln von indizes die korrektursymbolen zugeordnet sind |
FR2878390A1 (fr) * | 2005-11-24 | 2006-05-26 | Samsung Electronics Co Ltd | Systeme et procede cryptographiques pour chiffrer des donnees d'entree |
WO2007105709A1 (ja) * | 2006-03-14 | 2007-09-20 | Nec Corporation | 情報処理システム、情報処理方法および情報処理プログラム |
JP2007299088A (ja) * | 2006-04-28 | 2007-11-15 | Fujitsu Ltd | データ保護システム、方法及びプログラム |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
US7620792B2 (en) * | 2006-08-21 | 2009-11-17 | Sigmatel, Inc. | Processing system, memory and methods for use therewith |
JP2008172617A (ja) * | 2007-01-12 | 2008-07-24 | Fujitsu Ltd | 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム |
JP2008270870A (ja) * | 2007-04-16 | 2008-11-06 | Sony Corp | 通信システム、通信装置及び通信方法、並びにコンピュータ・プログラム |
US20100027781A1 (en) * | 2007-12-20 | 2010-02-04 | Galbi Duane E | Method and apparatus for enhancing performance of data encryption standard (des) encryption/decryption |
JP5272417B2 (ja) * | 2008-01-21 | 2013-08-28 | ソニー株式会社 | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
JP5200949B2 (ja) | 2009-01-16 | 2013-06-05 | 富士通株式会社 | 暗号処理装置 |
JP5488608B2 (ja) | 2009-10-27 | 2014-05-14 | 日本電気株式会社 | ブロック暗号装置、ブロック暗号化方法およびプログラム |
US8266181B2 (en) | 2010-05-27 | 2012-09-11 | International Business Machines Corporation | Key-break and record-loop processing in parallel data transformation |
US20120079462A1 (en) * | 2010-09-24 | 2012-03-29 | SoftKrypt LLC | Systems and methods of source software code obfuscation |
JP5682526B2 (ja) * | 2011-03-28 | 2015-03-11 | ソニー株式会社 | データ処理装置、およびデータ処理方法、並びにプログラム |
JP5682527B2 (ja) | 2011-03-28 | 2015-03-11 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
JP2018182429A (ja) * | 2017-04-06 | 2018-11-15 | 株式会社村田製作所 | データ変換装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6037586A (ja) | 1983-08-09 | 1985-02-26 | 富士通株式会社 | Des暗号装置鍵誤り検出方式 |
JPS61117940A (ja) | 1984-11-13 | 1986-06-05 | Hitachi Ltd | デ−タ保護方式 |
JPH0727325B2 (ja) * | 1987-02-13 | 1995-03-29 | 沖電気工業株式会社 | 暗号化装置 |
JP2760799B2 (ja) | 1988-04-28 | 1998-06-04 | 株式会社日立製作所 | 暗号方式 |
JP2825205B2 (ja) | 1989-07-20 | 1998-11-18 | 日本電信電話株式会社 | 暗号装置 |
JP3053106B2 (ja) | 1990-11-02 | 2000-06-19 | 株式会社日立製作所 | 暗号化処理装置、及び復号化処理装置 |
JP2862030B2 (ja) * | 1991-06-13 | 1999-02-24 | 三菱電機株式会社 | 暗号化方式 |
JPH0535448A (ja) | 1991-07-26 | 1993-02-12 | Matsushita Electric Ind Co Ltd | 有限体における乗算器 |
JPH0588849A (ja) | 1991-09-26 | 1993-04-09 | Matsushita Electric Ind Co Ltd | 正規基底を用いた乗算器の構成法 |
JP3180836B2 (ja) | 1992-05-21 | 2001-06-25 | 日本電気株式会社 | 暗号通信装置 |
US5317638A (en) | 1992-07-17 | 1994-05-31 | International Business Machines Corporation | Performance enhancement for ANSI X3.92 data encryption algorithm standard |
US5398284A (en) * | 1993-11-05 | 1995-03-14 | United Technologies Automotive, Inc. | Cryptographic encoding process |
JPH07191603A (ja) | 1993-12-24 | 1995-07-28 | Canon Inc | 暗号装置及びこれを用いた秘匿・認証通信システム |
JP3029381B2 (ja) * | 1994-01-10 | 2000-04-04 | 富士通株式会社 | データ変換装置 |
US6125182A (en) * | 1994-11-09 | 2000-09-26 | Channel One Communications, Inc. | Cryptographic engine using logic and base conversions |
US5717760A (en) * | 1994-11-09 | 1998-02-10 | Channel One Communications, Inc. | Message protection system and method |
JPH08179690A (ja) | 1994-12-22 | 1996-07-12 | Nec Corp | プロダクト暗号装置 |
JP3129384B2 (ja) | 1995-02-08 | 2001-01-29 | 日亜化学工業株式会社 | 窒化物半導体レーザ素子 |
US5757915A (en) * | 1995-08-25 | 1998-05-26 | Intel Corporation | Parameterized hash functions for access control |
DE69635651T2 (de) * | 1995-09-05 | 2006-09-07 | Mitsubishi Denki K.K. | Vorrichtung und Verfahren zur Datenumwandlung |
JPH0990870A (ja) | 1995-09-27 | 1997-04-04 | Nec Corp | 基本変換方法、暗号化方法、基本変換回路および暗号装置 |
-
1996
- 1996-07-31 DE DE69635651T patent/DE69635651T2/de not_active Expired - Lifetime
- 1996-07-31 AU AU66293/96A patent/AU693719B2/en not_active Expired
- 1996-07-31 US US08/836,401 patent/US6201869B1/en not_active Expired - Lifetime
- 1996-07-31 CN CNB031457525A patent/CN100435505C/zh not_active Expired - Lifetime
- 1996-07-31 EP EP96925956A patent/EP0790595B1/en not_active Expired - Lifetime
- 1996-07-31 CN CNB961910194A patent/CN1136692C/zh not_active Expired - Lifetime
- 1996-07-31 WO PCT/JP1996/002154 patent/WO1997009705A1/ja active IP Right Grant
- 1996-07-31 DK DK96925956T patent/DK0790595T3/da active
- 1996-07-31 KR KR1019970702916A patent/KR100250803B1/ko active IP Right Grant
- 1996-07-31 ES ES96925956T patent/ES2255712T3/es not_active Expired - Lifetime
-
1997
- 1997-05-02 NO NO19972052A patent/NO324428B1/no not_active IP Right Cessation
-
2000
- 2000-12-13 US US09/734,740 patent/US6415030B2/en not_active Expired - Lifetime
-
2002
- 2002-05-22 US US10/152,029 patent/US7096369B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
NO324428B1 (no) | 2007-10-15 |
US6415030B2 (en) | 2002-07-02 |
EP0790595B1 (en) | 2005-12-28 |
EP0790595A4 (en) | 2003-10-15 |
CN100435505C (zh) | 2008-11-19 |
CN1136692C (zh) | 2004-01-28 |
US20020131589A1 (en) | 2002-09-19 |
DE69635651D1 (de) | 2006-02-02 |
US7096369B2 (en) | 2006-08-22 |
KR970707525A (ko) | 1997-12-01 |
DE69635651T2 (de) | 2006-09-07 |
DK0790595T3 (da) | 2006-05-08 |
CN1496048A (zh) | 2004-05-12 |
US6201869B1 (en) | 2001-03-13 |
NO972052L (no) | 1997-05-05 |
EP0790595A1 (en) | 1997-08-20 |
NO972052D0 (no) | 1997-05-02 |
CN1164912A (zh) | 1997-11-12 |
AU693719B2 (en) | 1998-07-02 |
AU6629396A (en) | 1997-03-27 |
KR100250803B1 (ko) | 2000-04-01 |
WO1997009705A1 (fr) | 1997-03-13 |
US20010000708A1 (en) | 2001-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2255712T3 (es) | Aparato de transformacion de datos y procedimiento de transformacion de datos. | |
Massey | SAFER K-64: A byte-oriented block-ciphering algorithm | |
Beaulieu et al. | The SIMON and SPECK lightweight block ciphers | |
Brown et al. | Improving resistance to differential cryptanalysis and the redesign of LOKI | |
Stallings | The advanced encryption standard | |
KR101246490B1 (ko) | 갈루아 폐체 암호 시스템 | |
DK1686722T3 (en) | Block encryption device and block encryption method comprising rotation key programming | |
JP4128395B2 (ja) | データ変換装置 | |
KR100435052B1 (ko) | 암호화장치 | |
US20090055458A1 (en) | Substitution Boxes | |
ES2364826A1 (es) | Clave de encriptado precalculada. | |
WO2009031883A1 (en) | Encryption processor | |
US20140055290A1 (en) | Methods and Apparatus in Alternate Finite Field Based Coders and Decoders | |
US20110064214A1 (en) | Methods and Apparatus in Alternate Finite Field Based Coders and Decoders | |
US20160112069A1 (en) | Methods and Apparatus in Alternate Finite Field Based Coders and Decoders | |
JPH08179690A (ja) | プロダクト暗号装置 | |
JPH10240500A (ja) | 乱数生成装置及び方法、暗号化装置及び方法、復号装置及び方法、並びにストリーム暗号システム | |
Masoodi et al. | Symmetric algorithms I | |
JP4098719B2 (ja) | Aesアルゴリズム用のプログラマブルデータ暗号化エンジン | |
JP2005513541A6 (ja) | Aesアルゴリズム用のプログラマブルデータ暗号化エンジン | |
Matsumoto et al. | Cryptographic Mersenne Twister and Fubuki stream/block cipher | |
Mihalkovich et al. | MPF based symmetric cipher performance comparison to AES and TDES | |
KR100434558B1 (ko) | 고속블록암호화방법및이를위한키스케쥴링방법 | |
JP2006517036A (ja) | マスクされたデータを操作する装置及び方法 | |
ES2293665T3 (es) | Metodo para la conversion criptografica de bloques de entrada de l bits de informacion de datos digitales en bloques de salida de l bits. |