ES2221932T3 - Aparato criptografico con doble funcion de alimentacion directa. - Google Patents

Aparato criptografico con doble funcion de alimentacion directa.

Info

Publication number
ES2221932T3
ES2221932T3 ES96110265T ES96110265T ES2221932T3 ES 2221932 T3 ES2221932 T3 ES 2221932T3 ES 96110265 T ES96110265 T ES 96110265T ES 96110265 T ES96110265 T ES 96110265T ES 2221932 T3 ES2221932 T3 ES 2221932T3
Authority
ES
Spain
Prior art keywords
bytes
encrypted text
text
input data
derivative
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES96110265T
Other languages
English (en)
Inventor
Eric Sprunk
Paul Moroney
Candace Anderson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Technology Inc
Original Assignee
Arris Technology Inc
General Instrument Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Application granted granted Critical
Publication of ES2221932T3 publication Critical patent/ES2221932T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Abstract

UN APARATO ES SUMINISTRADO PARA AUTENTIFICAR INFORMACION UTILIZANDO UNA FUNCION DE DOBLE ALIMENTACION DIRECTA PARTIDA, PARA PROPORCIONAR COMPLEMENTARIEDAD EN LA IMPLEMENTACION DE UN ALGORITMO DE ENCRIPTACION. UN PROCESADOR CRIPTOGRAFICO TIENE UNA PRIMERA ENTRADA PARA LA RECEPCION DE UN TEXTO INTELIGIBLE, UNA SEGUNDA ENTRADA PARA LA RECEPCION DE UNA CLAVE Y UNA SALIDA PARA ENVIAR EL TEXTO CIFRADO GENERADO POR EL PROCESAMIENTO CRIPTOGRAFICO DEL TEXTO INTELIGIBLE Y DE LA CLAVE. UN PRIMER ELEMENTO DE CIRCUITO ES RESPONSABLE DEL TEXTO CIFRADO Y DEL TEXTO INTELIGIBLE PARA ENVIARLOS A UNA PRIMERA DERIVADA DE TEXTO CIFRADO. UN SEGUNDO ELEMENTO DE CIRCUITO ES RESPONSABLE DE AL MENOS UNA PARTE DE LA PRIMERA DERIVADA DE TEXTO CIFRADO Y DE LA CLAVE PARA ENVIARLOS A UNA SEGUNDA DERIVADA DE TEXTO CIFRADO. EL PRIMER Y SEGUNDO ELEMENTOS DE CIRCUITO PUEDEN SER PUERTAS XOR. ALTERNATIVAMENTE, ESTOS ELEMENTOS PUEDEN SER PROPORCIONADOS UTILIZANDO TABLAS DE CONSULTA. ETAPAS DE PROCESADOR CRIPTOGRAFICO SUBSECUENTES, PUEDEN SER PROPORCIONADAS TENIENDO UNA PRIMERA ENTRADA PARA RECEPCION DE UN SEGUNDO TEXTO INTELIGIBLE, UNA SEGUNDA ENTRADA PARA RECEPCION DE LA SEGUNDA DERIVADA DE TEXTO CIFRADO COMO UNA CLAVE, Y UNA SALIDA PARA SACAR UN SEGUNDO TEXTO CIFRADO GENERADO POR PROCESAMIENTO CRIPTOGRAFICO DEL SEGUNDO TEXTO INTELIGIBLE Y DE LA SEGUNDA DERIVADA DE TEXTO CIFRADO. EN UNA VERSION ILUSTRADA, EL PROCESADOR CRIPTOGRAFICO ES UN PROCESADOR DES.

Description

Aparato criptográfico con doble función de alimentación directa.
Antecedentes de la invención
La presente invención se refiere a aparatos criptográficos, y más en particular a un procesador criptográfico que utiliza una doble disposición de alimentación directa para implementar un algoritmo de cifrado que tiene una propiedad complementaria, de tal modo que las inversiones a la entrada del procesador criptográfico pueden ser detectadas en la salida del mismo.
El aparato criptográfico se utiliza para transformar mensajes con el fin de hacerlos ininteligibles para todos, salvo para el receptor previsto del mensaje. En sistemas de televisión por cable y por satélite, por ejemplo, el cifrado se utiliza para evitar el hurto de servicios. En comunicaciones informáticas, el cifrado de datos se utiliza para hacer que los mensajes sean ininteligibles así como para proporcionar al receptor la seguridad de que el mensaje no es una falsificación. El cifrado puede permitir también que el receptor demuestre a un tercero que el mensaje no es una falsificación. Estas diversas funciones son denominadas, respectivamente, como seguridad en las comunicaciones, autenticación y firmas digitales.
La transformación utilizada para cifrar un mensaje conlleva el uso de un algoritmo de cifrado y una clave. La información clave se mantiene en secreto. Con el fin de cifrar un mensaje, el algoritmo de cifrado se aplica al mensaje y la clave se utiliza como entrada auxiliar para controlar el cifrado. La tarea de descifrar constituye la operación inversa, y se realiza de forma similar.
Los criptosistemas dependen de una cantidad de información clave que es independiente de la longitud del mensaje. En teoría, estos sistemas son frágiles. Sin embargo, son utilizables en la práctica debido a que la persona que trata de romper el cifrado debe utilizar una cantidad poco práctica o no factible de recursos computacionales con el fin de romper el cifrado. En otras palabras, el "factor-trabajo" necesario para romper el cifrado es suficientemente alto como para evitar que un ataque tenga éxito.
Un ejemplo de un criptosistema de amplio uso en la actualidad, consiste en el estándar de cifrado de datos (DES), el cual fue aprobado por el National Bureau of Standards (Oficina Nacional de Normalización) de los Estados Unidos en 1976. El algoritmo DES cifra un bloque de mensaje de sesenta y cuatro bits bajo el control de un clave de cincuenta y seis bits para producir un texto cifrado de sesenta y cuatro bits. Los detalles del algoritmo DES pueden encontrarse en la Publicación FIPS 46, "Specifications for the Data Encryption Standard", 15 de Enero de 1977, y la Publicación FIPS 74, "Guidelines for Implementing and Using the NBS Data Encryption Standard", 1 de Abril de 1981, ambas disponibles en el Departamento de Comercio de los Estados Unidos, Servicio Nacional de Información Técnica.
Un uso común de un algoritmo de cifrado es, como parte de una "función hash" (de comprobación aleatoria) en el que se proporciona la autenticación de una señal de entrada procesando (es decir, "comprobando aleatoriamente"), la señal de entrada con una clave criptográfica. En una función hash única de alimentación directa convencional (SFFH), la inversión de una señal a la entrada de la función no puede ser detectada a la salida de la función. Esto es indeseable en muchas implementaciones, puesto que la seguridad puede verse comprometida si se realizan modificaciones en datos que se introducen al procesador protegido sin ciertos medios que detecten que se han realizado cambios. Si alguien que trate de romper la seguridad, puede obtener información con respecto a cómo responde el sistema a los cambios en los datos de entrada, sin detección por parte del sistema, entonces se proporciona una oportunidad de experimentar durante un período de tiempo relativamente largo, y potencialmente tener éxito en cuanto a desbaratar la seguridad.
Sería ventajoso proporcionar aparatos para implementar una función hash que permita la detección, en la salida de la función hash, de cambios tales como las inversiones de datos realizadas en la entrada al mismo. Una implementación de este tipo proporcionaría la propiedad de complementariedad a la función hash.
Sería más ventajoso proporcionar aparatos para la provisión de complementariedad en sistemas que utilizan funciones hash criptográficas dispuestas en cascada. Un aparato de este tipo debería proporcionar una clave de entrada a cada etapa sucesiva que se produce de tal modo que asegura la complementariedad, permitiendo con ello que las inversiones en las entradas de la función sean detectadas a la salida de la misma.
La presente invención proporciona aparatos que tienen las ventajas mencionadas anteriormente.
Sumario de la invención
Según la presente invención, se proporciona un aparato criptográfico en el que un procesador criptográfico tiene una primera entrada para recibir ocho bytes F_{1} - F_{8} paralelos de primeros datos de entrada, una segunda entrada para recibir ocho bytes S_{1} - S_{8} paralelos de segundos datos de entrada, y una salida para dar salida a ocho bytes C_{1} - C_{8} paralelos de texto cifrado generado mediante el procesamiento criptográfico de los primeros y los segundos datos de entrada. Se proporcionan primeros medios para procesar el texto cifrado, y los primeros datos de entrada para producir una primera derivada de texto codificado que comprende ocho bytes FD_{1} - FD_{8} paralelos. Segundos medios procesan la primera derivada de texto cifrado y los segundos datos de entrada, para dar salida a una segunda derivada SD_{1} - SD_{8} de texto cifrado. Los primeros medios combinan como funciones OR exclusivas cada uno de los bytes C_{1} - C_{8} de texto cifrado con los bytes F_{1} - F_{8} de los primeros datos de entrada identificados con el mismo número, para producir la primera derivada de texto cifrado. Los segundos medios combinan como funciones OR exclusivas cada uno de los bytes FD_{1} - FD_{8} de la primera derivada de texto cifrado con el byte S_{1} - S_{8} de segundos datos de entrada de igual número, para producir la segunda derivada de texto cifrado. En vez de utilizar funciones OR exclusivas, se pueden proporcionar funciones no lineales mediante los primeros y los segundos medios, para producir la primera y la segunda derivadas de texto cifrado, respectivamente. Las funciones no lineales pueden ser de un tipo que dé salida a la mitad del número de bits que están a la entrada de las mismas.
Los primeros medios pueden comprender una tabla de búsqueda direccionada por los primeros datos de entrada y por el texto cifrado, para dar salida a las funciones OR exclusivas de los de bytes de igual número. De manera similar, los segundos medios pueden comprender una tabla de búsqueda direccionada por los segundos datos de entrada y por la primera derivada de texto cifrado, para dar salida a las funciones OR exclusivas de los bytes del mismo número de las mismas. Alternativamente, los primeros y los segundos medios pueden comprender puertas lógicas OR exclusivas.
Se puede proporcionar una segunda etapa de procesador criptográfico. Esta etapa es similar a la primera etapa, y tiene una primera entrada para recibir ocho bytes paralelos de terceros datos de entrada, y una segunda entrada para recibir la segunda derivada de texto cifrado desde la etapa anterior. El segundo procesador criptográfico tiene también una salida para dar salida a ocho bytes paralelos de segundo texto cifrado generado mediante procesamiento criptográfico de los terceros datos de entrada y la segunda derivada de texto cifrado. En la realización que se ha ilustrado, los procesadores criptográficos son procesadores DES.
La presente invención proporciona también aparatos criptográficos en los que un procesador criptográfico tiene una primera entrada para recibir ocho bytes F_{1} - F_{8} paralelos de datos de entrada. Se proporciona una segunda entrada para recibir bytes F_{2} - F_{8} paralelos de los primeros datos de entrada como clave. Se proporciona una salida para dar salida a siete bytes C_{1} - C_{7} paralelos de texto cifrado generado al procesar criptográficamente los datos de entrada y la clave. Primeros medios combinan funciones OR exclusivas con (o aplican una función no lineal a) cada uno de los primeros siete bytes F_{1} - F_{7} de datos de entrada con los bytes F_{2} - F_{6} siguientes de datos de entrada, respectivamente, para producir siete bytes FF_{1} - FF_{2} de datos de alimentación directa. Se han previsto segundos medios para combinar funciones OR exclusivas con (o aplicar una función no lineal a) cada uno de los bytes FF_{1} - FF_{7} de datos de alimentación directa con los bytes C_{1} - C_{7} de texto cifrado de igual número, para producir una derivada de texto cifrado que comprende siete bytes D_{1} - D_{7} paralelos.
Los primeros medios pueden comprender una tabla de búsqueda direccionada por los primeros siete y siguientes bytes de datos de entrada, para dar salida a las funciones OR exclusivas de los mismos. De manera similar, los segundos medios pueden comprender una tabla de búsqueda direccionada por los bytes de datos de alimentación directa y por los bytes de texto cifrado de igual número, para dar salida a las funciones OR exclusivas de los mismos. Las funciones OR exclusivas pueden ser proporcionadas alternativamente por puertas OR exclusivas convencionales. El procesador criptográfico puede comprender un procesador DES.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques que ilustra una función hash de alimentación directa de la técnica anterior;
La figura 2 es un diagrama de bloques de la doble función hash de alimentación directa de la presente invención;
La figura 3A es un diagrama de bloques que ilustra el uso de la doble función hash de alimentación directa en una implementación en cascada con una función hash de alimentación directa única según la presente invención;
La figura 3B es un diagrama de bloques que ilustra el uso de la doble función hash de alimentación directa en una implementación en cascada con otra doble función d hash de alimentación directa según la presente invención;
La figura 4 es un diagrama esquemático que ilustra las conexiones específicas que implementan una doble función hash de alimentación directa según la presente invención, y
La figura 5 es un diagrama esquemático que ilustra las conexiones específicas para otro ejemplo de doble función hash de alimentación directa según la invención.
Descripción detallada de las realizaciones preferidas
El procesamiento criptográfico se utiliza para autenticar información para diversas aplicaciones. Una aplicación consiste en la comunicación de servicios de televisión de pago vía satélite. Un sistema de este tipo se encuentra descrito en la Patente U.S. núm. 4.613.901 de Gilhousen, et al., titulada "Signal Encryption and Distribution System for Controlling Scrambling and Selective Remote Descrambling of Televisión Signals". En el sistema de Gilhousen, et al., se proporcionan diversas claves criptográficas para su utilización en la provisión de una señal de televisión cifrada. Entre las claves descritas existen claves por categorías, cada una de ellas común a un subconjunto diferente de decodificadores de abonado, y claves de programa específicas para cada programa de televisión diferente con el fin de permitir que los abonados autorizados descifren una señal de programa particular.
El procesamiento de las claves de programa se realiza por lo general de forma autenticada para evitar la mala identificación de un canal. En particular, la información de identificación de un canal que incluye productos tales como los costes de programa, se envía de forma autenticada para evitar su alteración. La autenticación puede ser realizada comprobando aleatoriamente una "clave previa de programa" con la información de identificación de canal, para producir la clave real de programa utilizada para producir una clave de trabajo necesaria para descifrar un programa deseado.
El documento "128-bit Hash Function (N-Hash)", extraído de NTT Review, Noviembre de 1990, Tokyo, escrito por Miyaguchi et al, describe cómo extender la función hash de 128 bits N-Hash presentada en SECURICOMº90.
Una función hash empleada por la técnica anterior como parte del procedimiento de cifrado o descifrado, se conoce como "DES de alimentación directa" y está representada en la figura 1. La información que ha de ser autenticada ("texto en lenguaje claro") se introduce a través del terminal 10 en el procesador 14 DES. El texto en lenguaje claro se introduce en partes de ocho bytes (sesenta y cuatro bits), tanto en el procesador 14 DES como en la puerta 18 OR-exclusiva (XOR) por medio de la línea 16. Una clave previa de programa cifrado de siete bytes (cincuenta y seis bits) se introduce a través del terminal 12 en el procesador 14 DES. El texto en lenguaje claro se procesa con la clave de entrada según el algoritmo DES, para proporcionar ocho bytes (sesenta y cuatro bits) de texto cifrado que se combina como función XOR con el texto en lenguaje claro mediante la puerta XOR 18. Aunque la puerta XOR 18 da salida a sesenta y cuatro bits, solamente cincuenta y seis bits salen a través de la línea 22 como clave de entrada para una siguiente etapa DES de alimentación directa, en cascada. Los ocho bits restantes de texto cifrado de la línea 20 no se utilizan. De este modo, se introduce un byte completo de texto cifrado en cada etapa hash. Además, la función hash de la figura 1 no proporciona los beneficios de complementariedad. En su lugar, la inversión de la entrada (y por tanto los cambios realizados en los datos de entrada) no pueden ser detectados corriente abajo.
La presente invención proporciona una doble función de hash de alimentación directa con complementariedad según se ilustra en la figura 2. El texto en lenguaje claro se introduce a través del terminal 30 en un procesador DES y, por medio de la línea 36, en una puerta 38 XOR. El texto en lenguaje claro se procesa en partes de ocho bytes (sesenta y cuatro bits). Una clave de entrada de ocho bytes (sesenta y cuatro bits), se proporciona a través del terminal 32. Siete bytes de estos ocho son procesados por el procesador 34 DES, y el byte restante se introduce en la puerta 35 OR exclusiva. La clave de entrada se acopla también a la puerta 44 XOR mediante la línea 42. La puerta 44 combina como funciones OR exclusivas, cincuenta y seis bits de los sesenta y cuatro bits que salen de la puerta 38 XOR, con cincuenta y seis bits de la clave de entrada de sesenta y cuatro bits, para proporcionar una resultante de cincuenta y seis bits en la línea 45. Los ocho bits restantes de la salida de texto cifrado procedente de la puerta 38 XOR sobre la línea 40, se funcionalizan como OR exclusiva con los ocho bits restantes de la clave de entrada de sesenta y cuatro bits presente en la línea 43, en la puerta XOR 35. La salida de la puerta XOR 35 se combina con la línea 45 de cincuenta y seis bits para formar la salida de sesenta y cuatro bits sobre la línea 46.
Alimentando información adicional directa a través de las líneas 42 y 43 en las puertas 44 y 35 XOR adicionales la presente invención asegura que se proporcione complementariedad, y se supera la desventaja de las implementaciones de la técnica anterior.
Las puertas 35, 38 y 44 XOR pueden ser sustituidas por tablas de búsqueda que proporcionen una función XOR según se muestra, o una función no lineal adecuada. Como ejemplo, se pueden utilizar funciones no lineales en las que las salidas son de la mitad de tamaño que las entradas. Éstas incluyen dos bits de entrada (x, y), y un bit de salida (f), donde:
f =
x + xy + y; cuatro bits de entrada (w, x, y, z) y dos bits de salida (f1, f2)
donde:
f1 =
w + x + y + z + wx + wy + wz + xy + xz + yz + wxy + wxz + wyz + xyz + wxyz, y
f2 =
wx + wy + wz + xy + xz + yz + wxy + wxz + wyz + xyz; y seis bits de entrada (a, b, c, d, e, f) y tres bits de salida (x, y z),
\quad
donde:
x =
a + b + c + d + e + f + abc + bcd + cde + def + efa + fab + abcdef
y =
abc + def + abd + cef + abcd + bcde + ace + abcef, y
z =
abcde + abcdf + abcef + abcdef + acdef + bcdef.
Las tablas de búsqueda pueden ser implementadas en una memoria de sólo lectura (ROM). Una tabla de búsqueda que sustituya a la puerta 35 XOR podría estar direccionada por ocho bits de la "primera derivada de texto cifrado" a la salida del elemento 38, y ocho bits de la clave de entrada de sesenta y cuatro bits presente en la línea 43. Una tabla de búsqueda que sustituya a la puerta 38 XOR podría estar direccionada por el texto cifrado a la salida del procesador 34 DES y el texto en lenguaje claro transportado por la línea 36.
Una tabla de búsqueda que sustituya a la puerta XOR 44 podría estar direccionada por cincuenta y seis bits de la "primera derivada de texto cifrado" a la salida del elemento 38, y cincuenta y seis bits de la clave de entrada de sesenta y cuatro bits presente sobre la línea 42. En respuesta, el elemento 44 dispondrá a la salida cincuenta y seis bits de una "segunda derivada de texto cifrado" de sesenta y cuatro bits, para su introducción por medio de la línea 46 en una siguiente etapa de comprobación aleatoria. Los ocho bits restantes de la segunda derivada de texto cifrado se obtienen a la salida de la función 35 (por ejemplo, XOR).
La figura 3A ilustra la disposición en cascada de dos funciones hash DES según la presente invención. La primera etapa, designada en general con 80, es similar a la etapa de doble función hash DES de alimentación directa ilustrada en la figura 2, con una primera entrada de sesenta y cuatro bits (TEXTO En LENGUAJE CLARO 1) en el terminal 30, pero con sólo una segunda entrada de cincuenta y seis bits en el terminal 32'. La "segunda derivada de texto cifrado" de cincuenta y seis bits presente a la salida en la línea 47, se utiliza como clave de entrada para una segunda etapa de función hash designada en general con 82. Esta etapa incluye un procesador 70 DES que recibe una segunda entrada de texto en lenguaje claro de sesenta y cuatro bits (TEXTO EN LENGUAJE CLARO 2) a través del terminal 31. La entrada de TEXTO EN LENGUAJE CLARO 2 se alimenta de forma directa a través de la línea 72 hasta una XOR o función 74 no lineal, donde se procesa con la salida de texto cifrado procedente del procesador 70 DES. La salida de sesenta y cuatro bits resultante a partir de la línea 76, comprende la información autenticada correspondiente a las entradas de texto en lenguaje claro originales. Aunque solamente se han representado dos funciones hash en la figura 3A (es decir, una estructura doble de alimentación directa seguida de una estructura simple de alimentación directa), se debe apreciar que pueden proporcionarse cualquier número de etapas según la presente invención, donde cada etapa anterior a la etapa final comprende una estructura de doble de alimentación directa.
La figura 3B ilustra la disposición en cascada de dos funciones hash DES, según la presente invención, en la que la primera etapa, designada en general con 80', es idéntica a la etapa de doble función hash DES de alimentación directa que se ha ilustrado en la figura 2, con una primera entrada de sesenta y cuatro bits (TEXTO EN LENGUAJE CLARO 1) en el terminal 30, y una segunda entrada de sesenta y cuatro bits en el terminal 32. La salida de "segunda derivada de texto cifrado" de cincuenta y seis bits en la línea 45, se combina con la salida de ocho bits procedente de la XOR o función 35 no lineal, para formar una clave de sesenta y cuatro bits sobre la línea 46, para su introducción en la segunda etapa de función hash designada con 82. Esta etapa incluye un procesador DES 70 que recibe una segunda entrada de texto simple (TEXTO EN LENGUAJE CLARO 2) de sesenta y cuatro bits, a través del terminal 31. La entrada de TEXTO EN LENGUAJE CLARO 2 se alimenta de forma directa mediante la línea 72 a una XOR 74 o función no lineal, donde se procesa con la salida de texto cifrado procedente del procesador DES 70. La salida resultante de sesenta y cuatro bits procedente de la línea 76, comprende la información autenticada correspondiente a las entradas de texto en lenguaje claro originales, cincuenta y seis de los cuales son la entrada a una función XOR o no lineal 75, para producir cincuenta y seis bits de la entrada de sesenta y cuatro bits a la etapa siguiente. Al igual que en la realización de la figura 3A, se puede proporcionar cualquier número de etapas, comprendiendo cada etapa anterior a la etapa final una estructura de doble alimentación directa como se ha ilustrado en la figura 2.
La figura 4 es una representación esquemática de una primera implementación de la presente invención. Un procesador DES 90 recibe ocho bytes de datos de entrada 92 (conteniendo cada byte ocho bits), y una clave 94 criptográfica, para disponer en la salida ocho bytes de datos 96 cifrados. Los datos de entrada se proporcionan en forma de ocho bytes F_{21} - F_{8} paralelos a través de terminales 100 de entrada. Segundos terminales 101 de entrada, reciben ocho bytes S_{1} - S_{8} paralelos de segundos datos de entrada, cuyos siete primeros bytes (S_{1} - S_{7}) se utilizan como clave criptográfica. El procesador 90 DES procesa los datos 92 de entrada y la clave 94 para proporcionar datos 96 de salida, los cuales comprenden ocho bytes C_{1} - C_{8} paralelos de texto cifrado.
El texto cifrado se trata como función OR para producir una primera derivada de texto cifrado que comprende ocho bytes FD_{1} - FD_{8} paralelos. Más en particular, cada uno de los bytes C_{1} - C_{8} de texto cifrado se combina como función OR exclusiva con los bytes F_{1} - F_{8} de primeros datos de entrada de igual número, para producir la primera derivada de texto cifrado. De este modo, el byte C de texto cifrado, se combina como función OR exclusiva con el byte F_{1} de datos de entrada en la puerta 103 OR exclusiva para producir el primer byte FD_{1} de derivada de texto cifrado. El byte C_{2} de texto cifrado se combina como función OR exclusiva con el byte F_{2} de entrada por medio de la puerta 105 OR exclusiva para producir la primera derivada FD_{2} de texto cifrado. Se sigue el mismo patrón en todo momento hasta la combinación como función OR exclusiva del byte C_{8} de texto cifrado y del byte F_{8} de datos de entrada por medio de la puerta 117 OR exclusiva.
La primera derivada de texto cifrado y los segundos datos de entrada, se procesan para disponer a la salida una segunda derivada de texto cifrado que comprende ocho bytes SD_{1} - SD_{8} paralelos. Más en particular, cada uno de los primeros bytes FD_{1} - FD_{8} de derivada de texto cifrado se combina como función OR exclusiva con los bytes S_{1} - S_{8} de segundos datos de entrada de igual número, para producir la segunda derivada de texto cifrado. De este modo, la primera derivada FD_{1} de texto cifrado se combina como función OR exclusiva con el segundo byte S_{1} de datos de entrada por medio de la puerta 119 OR exclusiva para producir la segunda derivada SD_{1} de texto cifrado. La primera derivada FD_{2} de texto cifrado se combina como función OR exclusiva con el segundo byte S_{2} de datos de entrada por medio de la puerta 121 OR exclusiva, para producir la segunda derivada SD_{2} de texto cifrado. El proceso continúa de la misma manera hasta el punto de que la primera derivada FD_{8} de texto cifrado se combina como función OR exclusiva con el byte S_{8} de datos de entrada (a través de la puerta 133 OR exclusiva), para producir la segunda derivada SD_{8} de texto cifrado.
La figura 5 ilustra una realización en la que la introducción de la clave 94 de siete bytes en el procesador 90 DES se proporciona por medio de los bytes F_{2} - F_{8} de los datos 92 de entrada. Adicionalmente, sólo se utilizan los primeros siete bytes de los datos 96 de salida.
Según la realización de la figura 5, cada uno de los primeros siete bytes F_{1} - F_{7} de datos de entrada se combina como función OR exclusiva con los bytes F_{1} - F_{8} de datos de entrada posteriores, respectivamente, para producir siete bytes de datos FF_{1} - FF_{7} de alimentación directa. De este modo, el byte F_{1} de datos de entrada se combina como función OR exclusiva con el byte F_{2} de datos de entrada en la puerta 102 OR exclusiva para producir datos FF_{1} de alimentación directa. De forma similar, el byte F_{2} de datos de entrada se combina como función OR exclusiva con el byte F_{3} de datos de entrada en la puerta 104 OR exclusiva para producir datos FF_{2} de alimentación directa. El mismo proceso continúa a través del resto de las puertas 106, 108, 110, 112 y 114 exclusivas para producir el resto de los datos de alimentación directa.
Cada uno de los bytes FF_{1} - FF_{7} de datos de alimentación directa se combina como función OR exclusiva con el byte C_{1} - C_{7} de texto cifrado de igual número, para producir una derivada de texto cifrado que comprende siete bytes D_{1} - D_{7} paralelos. Así, por ejemplo, el byte FF_{1} de alimentación directa se combina como función OR exclusiva con el byte C_{1} de texto cifrado en la puerta 120 OR exclusiva, para producir el byte D_{1} de derivada de texto cifrado. El resto de los bytes de salida de datos se combinan como función OR exclusiva con el resto de los bytes de datos de alimentación directa en las puertas 122, 124, 126, 128, 130 y 132 OR exclusivas, respectivamente, con el fin de producir los restantes bytes D_{2} - D_{7} de derivada de texto cifrado.
Se debe apreciar que las puertas OR exclusivas de cada una de las figuras 4 y 5 pueden ser sustituidas por tablas de búsqueda que estén direccionadas por las respectivas entradas, con el fin de proporcionar una OR exclusiva de las mismas.
Se debe apreciar ahora que la presente invención proporciona un aparato criptográfico que subsana un problema potencial de seguridad que puede resultar de los esquemas de seguridad de la técnica anterior que no tienen la propiedad de complementariedad.
Aunque la invención ha sido descrita en relación con las diversas realizaciones ilustradas, los expertos en la materia comprenderán que se pueden realizar en la misma numerosas adaptaciones y modificaciones sin apartarse del alcance la invención según se establece en las reivindicaciones.

Claims (20)

1. Aparato criptográfico, que comprende:
un procesador (90) criptográfico que tiene una primera entrada (92) para recibir ocho bytes F_{1} - F_{8} paralelos de primeros datos de entrada, una segunda entrada (94) para recibir ocho bytes S_{1} - S_{8} paralelos de segundos datos de entrada, y una salida (96) para dar salida a ocho bytes C_{1} - C_{8} paralelos de texto cifrado;
primeros medios (103 - 117) para procesar dicho texto cifrado y dichos primeros datos de entrada, para producir una primera derivada de texto cifrado que comprende ocho bytes FD_{1} - FD_{8} paralelos;
dichos primeros medios procesan lógicamente cada uno de dichos bytes C_{1} - C_{8} de texto cifrado con el primer byte F_{1} - F_{8} de datos de entrada de igual número, para producir dicha primera derivada de texto cifrado;
segundos medios (119 - 133) para procesar dicha primera derivada de texto cifrado y dichos ocho bytes S_{1} - S_{8} de dichos segundos datos de entrada, para dar salida a una segunda derivada de texto cifrado que comprende ocho bytes SD_{1} - SD_{8} paralelos;
dichos segundos medios procesan lógicamente cada uno de dichos primeros bytes FD_{1} - FD_{8} de derivada de texto cifrado con el segundo byte S_{1} - S_{8} de datos de entrada de igual número, para producir dicha segunda derivada de texto cifrado, caracterizado porque:
dichos ocho bytes C_{1} - C_{8} paralelos de texto cifrado son generados al procesar criptográficamente dichos ocho bytes F_{1} - F_{8} paralelos de dichos primeros datos de entrada, utilizando los primeros siete bytes S_{1} - S_{7} de dichos segundos datos de entrada, como clave criptográfica.
2. Aparato criptográfico según la reivindicación 1, en el que:
dichos primeros medios comprenden una función no lineal para procesar lógicamente cada uno de dichos bytes C_{1} - C_{8} de texto cifrado con el byte F_{1} - F_{8} de primeros datos de entrada de igual número, para producir dicha primera derivada de texto cifrado, y
dichos segundos medios comprenden una función no lineal para procesar lógicamente cada uno de dichos primeros bytes FD_{1} - FD_{8} de derivada de texto cifrado con el byte S_{1} - S_{8} de los segundos datos de entrada de igual número, para producir la segunda derivada de texto cifrado.
3. Aparato criptográfico según la reivindicación 1 ó 2, en el que dichas funciones no lineales dan salida a la mitad del número de bits que están a la entrada de las mismas.
4. Aparato criptográfico según cualquiera de las reivindicaciones anteriores, en el que dichos primeros medios combinan como funciones OR exclusivas cada uno de dichos bytes C_{1} - C_{8} de texto cifrado con el byte F_{1} - F_{8} de primeros datos de entrada de igual número, para producir dicha primera derivada de texto cifrado; y dichos segundos medios combinan como función OR exclusiva cada uno de dichos primeros bytes FD_{1} - FD_{8} de derivada de texto cifrado con el byte S_{1} - S_{8} de segundos datos de entrada de igual número, para producir dicha segunda derivada de texto cifrado.
5. Aparato criptográfico según la reivindicación 4, en el que dichos primeros medios comprenden una tabla de búsqueda direccionada por dichos primeros datos de entrada y por dicho texto cifrado, para dar salida a las funciones OR exclusivas de los bytes de los mismos con igual número.
6. Aparato criptográfico según la reivindicación 4 ó 5, en el que dichos segundos medios comprenden una tabla de búsqueda direccionada por dichos segundos datos de entrada y por dicha primera derivada de texto cifrado, para dar salida a las funciones OR exclusivas de los bytes de los mismos con igual número.
7. Aparato criptográfico según una de las reivindicaciones 4 a 6, en el que dichos segundos medios comprenden una tabla de búsqueda direccionada por dichos segundos datos de entrada y por dicha primera derivada de texto cifrado, para dar salida a las funciones OR exclusivas de los bytes de los mismos de igual número.
8. Aparato criptográfico según cualquiera de las reivindicaciones anteriores, que comprende además:
una segunda etapa de procesador criptográfico, que tiene una primera entrada para recibir ocho bytes paralelos de terceros datos de entrada, una segunda entrada para recibir dicha segunda derivada de texto cifrado, y una salida para dar salida a ocho bytes paralelos de segundo texto cifrado generado al procesar criptográficamente dichos terceros datos de entrada y dicha segunda derivada de texto cifrado.
9. Aparato criptográfico según la reivindicación 8, en el que dichos procesadores criptográficos son procesadores DES.
10. Aparato criptográfico según cualquiera de las reivindicaciones anteriores, en el que dicho procesador criptográfico es un procesador DES.
11. Aparato criptográfico según una de las reivindicaciones anteriores, que comprende además tablas de búsqueda para implementar las funciones no lineales de dichos primeros y segundos medios.
12. Aparato criptográfico, que comprende:
un procesador (90) criptográfico que tiene una primera entrada (92) para recibir ocho bytes F_{1} - F_{8} paralelos de datos de entrada, una segunda entrada (94) para recibir bytes paralelos como clave, y una salida (96) para dar salida a bytes C_{1} - C_{7} paralelos de texto cifrado generado al procesar criptográficamente dichos datos de entrada y dicha clave, caracterizado porque:
dichos bytes paralelos recibidos como clave en dicha segunda entrada (94), son bytes F_{2} - F_{8} de dichos primeros datos de entrada;
porque dicha salida (96) da salida a siete bytes C_{1} - C_{7} paralelos;
porque se proporcionan primeros medios (102 - 114) para procesar lógicamente cada uno de los primeros siete bytes F_{1} - F_{7} de datos de entrada con el siguiente byte F_{2} - F_{8} de datos de entrada, respectivamente, para producir siete bytes de datos FF_{1} - FF_{7} de alimentación directa, y
porque se proporcionan segundos medios (120 - 132) para procesar lógicamente cada uno de dichos bytes FF_{1} - FF_{7} de datos de alimentación directa con el byte C_{1} - C_{7} de texto cifrado de igual número, para producir una derivada de texto cifrado que comprende siete bytes D_{1} - D_{7} paralelos.
13. Aparato criptográfico según la reivindicación 12, en el que:
dichos primeros medios comprenden una función no lineal para procesar lógicamente cada uno de los primeros siete bytes F_{1} - F_{7} de datos de entrada con el siguiente byte F_{2} - F_{8} de datos de entrada, respectivamente, para producir dichos siete bytes de datos FF_{1} - FF_{7} de alimentación directa, y
dichos segundos medios comprenden una función no lineal para procesar lógicamente cada uno de dichos bytes FF_{1} - FF_{7} de datos de alimentación directa con el byte C_{1} - C_{7} de texto cifrado de igual número, para producir dicha derivada de texto cifrado que comprende dichos siete bytes D_{1} - D_{7} paralelos.
14. Aparato criptográfico según la reivindicación 12 ó 13, en el que dichas funciones no lineales dan salida a la mitad del número de bits que están a la entrada de las mismas.
15. Aparato criptográfico según una de las reivindicaciones 12 a 14, en el que:
dichos primeros medios combinan como función OR exclusiva cada uno de los primeros siete bytes F_{1} - F_{7} de datos de entrada con el siguiente byte F_{2} - F_{8} de datos de entrada, respectivamente, para producir dichos siete bytes de datos FF_{1} - FF_{7} de alimentación directa, y
dichos segundos medios combinan como función OR exclusiva cada uno de dichos bytes FF_{1} - FF_{7} de datos de alimentación directa con el byte C_{1} - C_{7} de texto cifrado de igual número, para producir dicha derivada de texto cifrado que comprende dichos siete bytes D_{1} - D_{7} paralelos.
16. Aparato criptográfico según la reivindicación 15, en el que dichos primeros medios comprenden una tabla de búsqueda direccionada por dichos primeros siete y siguientes bytes de datos de entrada, para dar salida a las funciones OR exclusivas de los mismos.
17. Aparato criptográfico según la reivindicación 15 ó 16, en el que dichos segundos medios comprenden una tabla de búsqueda direccionada por dichos bytes de datos de alimentación directa y los bytes de texto cifrado de igual número, para dar salida a las funciones OR exclusivas de los mismos.
18. Aparato criptográfico según una de las reivindicaciones 15 a 17, en el que dichos segundos medios comprenden una tabla de búsqueda direccionada por dichos bytes de datos de alimentación directa y los bytes de texto cifrado de igual número, para dar salida a las funciones OR exclusivas de los mismos.
19. Aparato criptográfico según una de las reivindicaciones 12 a 18, en el que dicho procesador criptográfico es un procesador DES.
20. Aparato criptográfico según las reivindicaciones 12 a 19, que comprende además tablas de búsqueda para implementar las funciones no lineales de dichos primeros y segundos medios.
ES96110265T 1995-07-03 1996-06-26 Aparato criptografico con doble funcion de alimentacion directa. Expired - Lifetime ES2221932T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/497,880 US5606616A (en) 1995-07-03 1995-07-03 Cryptographic apparatus with double feedforward hash function
US497880 1995-07-03

Publications (1)

Publication Number Publication Date
ES2221932T3 true ES2221932T3 (es) 2005-01-16

Family

ID=23978699

Family Applications (1)

Application Number Title Priority Date Filing Date
ES96110265T Expired - Lifetime ES2221932T3 (es) 1995-07-03 1996-06-26 Aparato criptografico con doble funcion de alimentacion directa.

Country Status (12)

Country Link
US (1) US5606616A (es)
EP (1) EP0752770B1 (es)
JP (1) JP3140686B2 (es)
KR (1) KR100284233B1 (es)
CN (2) CN1092433C (es)
AU (1) AU697818B2 (es)
CA (1) CA2179691C (es)
DE (1) DE69632707T2 (es)
ES (1) ES2221932T3 (es)
MX (1) MX9602587A (es)
NO (1) NO318267B1 (es)
TW (1) TW293222B (es)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014167161A2 (es) 2013-04-10 2014-10-16 Elatentia, S.L. Dispositivo de cifrado simétrico y procedimiento empleado

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933501A (en) 1996-08-01 1999-08-03 Harris Corporation `Virtual` encryption scheme combining different encryption operators into compound-encryption mechanism
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
US6144745A (en) * 1997-04-07 2000-11-07 Fujitsu Limited Method of and apparatus for retaining and verifying of data on recording medium
TW367465B (en) * 1997-04-23 1999-08-21 Matsushita Electric Ind Co Ltd Cryptographic processing apparatus cryptographic processing method, and storage medium storing cryptographic processing program for improving security without greatly increasing hardware scale and processing time
US6249582B1 (en) 1997-12-31 2001-06-19 Transcrypt International, Inc. Apparatus for and method of overhead reduction in a block cipher
US6215876B1 (en) 1997-12-31 2001-04-10 Transcrypt International, Inc. Apparatus for and method of detecting initialization vector errors and maintaining cryptographic synchronization without substantial increase in overhead
CA2332350C (en) 1998-05-18 2015-07-07 Giesecke & Devrient Gmbh Access-protected data carrier
US6266412B1 (en) * 1998-06-15 2001-07-24 Lucent Technologies Inc. Encrypting speech coder
US6275503B1 (en) 1998-07-24 2001-08-14 Honeywell International Inc. Method for transmitting large information packets over networks
US6351539B1 (en) 1998-09-18 2002-02-26 Integrated Device Technology, Inc. Cipher mixer with random number generator
JP3481470B2 (ja) * 1998-10-19 2003-12-22 日本電気株式会社 データ等の不正改竄防止システム及びそれと併用される暗号化装置
JP3679936B2 (ja) * 1998-11-27 2005-08-03 東芝ソリューション株式会社 暗復号装置及び記憶媒体
DE60024941T8 (de) * 1999-08-31 2006-08-10 Matsushita Electric Industrial Co., Ltd., Kadoma Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung
AU2000263273A1 (en) * 2000-04-10 2001-10-23 Anatoly Viktorovich Klepov Method for cryptographic protection of information in information technology anda device for performing said method
US6829355B2 (en) 2001-03-05 2004-12-07 The United States Of America As Represented By The National Security Agency Device for and method of one-way cryptographic hashing
JP2003023421A (ja) * 2001-07-09 2003-01-24 C4 Technology Inc 暗号方法、そのプログラム、そのプログラムを記録した記録媒体および暗号装置並びに復号方法および復号装置
JP3730926B2 (ja) * 2002-03-14 2006-01-05 京セラ株式会社 ヘリカル型アンテナの設計方法
GB2387088B (en) * 2002-03-26 2005-06-01 Gordon Geoffrey Hodson Method and apparatus for data encryption/decryption
US20040083296A1 (en) * 2002-10-25 2004-04-29 Metral Max E. Apparatus and method for controlling user access
US20050261970A1 (en) * 2004-05-21 2005-11-24 Wayport, Inc. Method for providing wireless services
WO2006084375A1 (en) * 2005-02-11 2006-08-17 Universal Data Protection Corporation Method and system for microprocessor data security
US7546461B2 (en) * 2005-06-28 2009-06-09 Microsoft Corporation Strengthening secure hash functions
EP2026530A1 (en) 2007-07-12 2009-02-18 Wayport, Inc. Device-specific authorization at distributed locations
US9020146B1 (en) 2007-09-18 2015-04-28 Rockwell Collins, Inc. Algorithm agile programmable cryptographic processor
US8204220B2 (en) * 2008-09-18 2012-06-19 Sony Corporation Simulcrypt key sharing with hashed keys
US8340343B2 (en) 2008-10-31 2012-12-25 General Instrument Corporation Adaptive video fingerprinting
KR101445339B1 (ko) 2010-12-23 2014-10-01 한국전자통신연구원 기밀성과 무결성을 제공하는 통합 암호화 장치 및 그 방법
DE102013219105A1 (de) * 2013-09-24 2015-03-26 Robert Bosch Gmbh Verfahren zur automatischen Erkennung von Steuergeräten in Batteriemanagementsystemen
US9871786B2 (en) 2015-07-23 2018-01-16 Google Llc Authenticating communications
CN106610081B (zh) * 2015-10-22 2019-08-20 上海三菱电机·上菱空调机电器有限公司 一种空调机连续运转的方法
US20220006791A1 (en) * 2021-07-15 2022-01-06 Mohammed Mujib Alshahrani Secured Node Authentication and Access Control Model for IoT Smart City

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5307409A (en) * 1992-12-22 1994-04-26 Honeywell Inc Apparatus and method for fault detection on redundant signal lines via encryption
JP2576385B2 (ja) * 1993-10-28 1997-01-29 日本電気株式会社 データ保護装置
US5432848A (en) * 1994-04-15 1995-07-11 International Business Machines Corporation DES encryption and decryption unit with error checking

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014167161A2 (es) 2013-04-10 2014-10-16 Elatentia, S.L. Dispositivo de cifrado simétrico y procedimiento empleado

Also Published As

Publication number Publication date
DE69632707D1 (de) 2004-07-22
KR100284233B1 (ko) 2001-03-02
US5606616A (en) 1997-02-25
NO962786D0 (no) 1996-07-02
AU5619396A (en) 1997-01-16
KR970008912A (ko) 1997-02-24
EP0752770A2 (en) 1997-01-08
CN1182677C (zh) 2004-12-29
NO318267B1 (no) 2005-02-28
JP3140686B2 (ja) 2001-03-05
CN1398122A (zh) 2003-02-19
AU697818B2 (en) 1998-10-15
CN1146032A (zh) 1997-03-26
EP0752770A3 (en) 1998-05-20
EP0752770B1 (en) 2004-06-16
CN1092433C (zh) 2002-10-09
DE69632707T2 (de) 2005-07-07
CA2179691C (en) 2000-12-19
TW293222B (es) 1996-12-11
MX9602587A (es) 1997-03-29
JPH09127868A (ja) 1997-05-16
NO962786L (no) 1997-01-06
CA2179691A1 (en) 1997-01-04

Similar Documents

Publication Publication Date Title
ES2221932T3 (es) Aparato criptografico con doble funcion de alimentacion directa.
AU683325B2 (en) System and apparatus for blockwise encryption/decryption of data
EP0343805B1 (en) Reproduction of secure keys by using distributed key generation data
US8045716B2 (en) System and method for the concealment of device input parameters
US4596898A (en) Method and apparatus for protecting stored and transmitted data from compromise or interception
US6347143B1 (en) Cryptographic device with encryption blocks connected parallel
AU775055B2 (en) Self authentication ciphertext chaining
US10673830B2 (en) Devices for transmitting and communicating randomized data utilizing sub-channels
KR19990035965A (ko) 은폐된 작업인자를 가진 암호시스템
EP0877509A2 (en) Data encyrption/decryption method and apparatus
KR20150064042A (ko) 디지털 데이터 블록 암호화 및 해독화 방법
WO1998000770A2 (en) Encryption enhancement system
Abbasi et al. Cryptography: Security and integrity of data management
US20230299940A1 (en) Single stream one time pad with encryption with expanded entropy
Piper Basic principles of cryptography
Mishra et al. Comparative Study Of Efficient Data Hiding Techniques
KR20070063713A (ko) 아리아 알고리즘을 이용한 블록 암호화 장치
WO2018231760A1 (en) Devices for transmitting and communicating randomized data utilizing sub-channels
JP2000151577A (ja) 暗号化、復号化装置
Verma et al. Digital Right Management Model based on Cryptography for Text Contents
Rajaraman Electronic commerce. 3. Secure messaging
Masadeh et al. Multimedia Transcoding in Wireless and Mobile Networks: Keyless Self-Encrypting/Decrypting Scheme for Multimedia Transporting Systems
KR19990026758A (ko) 스트림 엔사이퍼 및 디사이퍼 장치