ES2270628T3 - Metodo y dispositivo para procesar criptograficamente datos. - Google Patents

Metodo y dispositivo para procesar criptograficamente datos. Download PDF

Info

Publication number
ES2270628T3
ES2270628T3 ES99963594T ES99963594T ES2270628T3 ES 2270628 T3 ES2270628 T3 ES 2270628T3 ES 99963594 T ES99963594 T ES 99963594T ES 99963594 T ES99963594 T ES 99963594T ES 2270628 T3 ES2270628 T3 ES 2270628T3
Authority
ES
Spain
Prior art keywords
data
auxiliary
key
complementary
stage
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
ES99963594T
Other languages
English (en)
Inventor
Gerrit Roelofsen
Dirk Jan Jacobus Van Bruchem
Frank Muller
Willem Rombaut
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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
Priority claimed from NL1010921A external-priority patent/NL1010921C2/nl
Priority claimed from NL1011544A external-priority patent/NL1011544C1/nl
Application filed by Nokia Oyj filed Critical Nokia Oyj
Application granted granted Critical
Publication of ES2270628T3 publication Critical patent/ES2270628T3/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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Control By Computers (AREA)

Abstract

Método para procesar criptográficamente datos usando un circuito o un procesador, que comprende la alimentación, hacia un proceso criptográfico (P), de valores, que incluyen los datos (X) y una clave (K), y la ejecución del proceso (P) para formar datos de salida procesados criptográficamente (Y), caracterizado porque se alimentan hacia el proceso (P), unos valores auxiliares (K*, A0, ..., A0+1, B0, ..., Bn) para enmascarar los valores, incluyendo la clave (K), usados en el proceso (P), y porque se compensa, mediante un proceso auxiliar, la influencia de los valores auxiliares sobre los datos de salida (Y).

Description

Método y dispositivo para procesar criptográficamente datos.
Antecedentes de la invención
La presente invención se refiere a un método para procesar criptográficamente datos, que comprende la alimentación, hacia un proceso criptográfico, de valores, a saber, los datos y una clave, y la ejecución del proceso para formar datos procesados criptográficamente. En general dicho método es conocido.
Para procesar criptográficamente datos, en la práctica frecuentemente se aplican procesos en general conocidos. Entre los ejemplos de dichos procesos (algoritmos) criptográficos se encuentran el DES y el RSA [DES = Norma de Cifrado de Datos y RSA = Rivest, Shamir y Adleman], los cuales se describen, por ejemplo, en el libro "Applied Cryptography" de B. Schneier (2ª edición), Nueva York, 1996.
Dichos procesos se publican debido a que se consideró que, en el caso de longitudes de clave suficientemente grandes, resultaría imposible recuperar, basándose en los datos procesados, los datos originales y/o la clave, incluso si se conociera el proceso criptográfico.
No obstante, los Algoritmos criptográficos se pueden atacar -el objetivo es siempre encontrar la clave de cifrado que se está usando- de diferentes maneras:
(1) Ataques matemáticos como el criptoanálisis diferencial y lineal;
(2) Ataques orientados al hardware, denominados "Ataques por Canal Lateral", es decir, ataques basados en el análisis del consumo de potencia o el análisis de la temporización I/O.
El documento US-A-5745577 da a conocer un método para la planificación avanzada de claves correspondiente a una clave secreta. Su finalidad es ofrecer una protección contra dichos ataques matemáticos (criptoanálisis diferencial y lineal) corrigiendo el algoritmo de cifrado. La corrección del algoritmo provocará un cambio de su salida y por lo tanto el método dado a conocer no presenta ninguna mejora contra dichos "Ataques por Canal Lateral".
Sumario de la invención
La presente invención pretende mejorar la protección de un dispositivo criptográfico contra los "Ataques por Canal Lateral". En resumen, dicha mejora se consigue enmascarando los datos y/o la clave por medio de la generación de una entrada adicional, auxiliar (datos o clave) y de la compensación de su influencia en la salida añadiendo, al proceso de cifrado "principal", un proceso auxiliar (de compensación). Mediante dichas medidas de enmascaramiento resultará mucho más difícil obtener el valor de datos o una clave a partir del comportamiento del consumo de potencia del dispositivo criptográfico (ver página 1, líneas 32 a 34). No obstante, dicho enmascaramiento se produce de tal manera que el resultado del proceso en conjunto permanece invariable: con la misma entrada y la misma clave el algoritmo corregido da como resultado la misma salida invariable.
De este modo, la invención presenta un método del tipo al que se hace referencia en el preámbulo según la invención el cual está caracterizado porque la alimentación, hacia el proceso, de valores auxiliares, al mismo tiempo que por la compensación, por medio de un proceso auxiliar, de la influencia de los valores auxiliares en los datos de salida, para enmascarar los valores usados en el proceso.
Con el enmascaramiento de los datos y/o la(s) clave(s) resulta considerablemente más difícil obtener dichos valores basándose en el comportamiento del proceso. El resultado del proceso, es decir, la recogida de datos procesados, en el caso de una elección adecuada de los valores auxiliares puede resultar invariable, es decir, idéntico al resultado del proceso si hacia el mismo no se han alimentado valores auxiliares. En relación con esto, se entiende que la expresión "valor auxiliar" significa un valor (datos o clave) el cual se alimenta hacia el proceso como complemento para los datos y la clave correspondientes. Por esta razón, la invención se basa en la conclusión de que la obtención de los valores usados en un proceso criptográfico resulta considerablemente más difícil si dichos valores se enmascaran usando dichos valores auxiliares y dicho proceso auxiliar.
La invención se basa parcialmente en la conclusión adicional de que el uso de valores auxiliares no influye necesariamente en el resultado del proceso.
En una primera forma de realización de la invención, un valor auxiliar comprende una clave complementaria la cual se alimenta hacia un proceso complementario para formar la clave.
Mediante la aplicación de una combinación de un proceso conocido y un proceso complementario, se forma un proceso criptográfico nuevo, desconocido por sí mismo, incluso si el proceso complementario también es conocido por sí mismo.
\newpage
Mediante la obtención de la clave usada para el proceso conocido (clave primaria) a partir de una clave complementaria (clave secundaria) usando un proceso complementario, se llega al resultado de que a la combinación de procesos se le ofrece, no la clave (primaria) del proceso conocido, sino la clave complementaria (secundaria). En otras palabras, externamente se usa la clave complementaria (secundaria), y no la clave real (primaria) del propio proceso. De este modo, se consigue que resulte imposible la obtención de la clave a partir de los datos originales y los datos procesados. Adicionalmente, de este modo se consigue que resulte imposible la obtención de la clave a partir de los datos originales y los datos procesados. Adicionalmente, se consigue que la obtención de la clave complementaria resulte mucho más difícil, ya que no se conoce la combinación del proceso original y el proceso
complementario.
Por esta razón, dicha forma de realización de la invención se basa, entre otros aspectos, en la conclusión de que la existencia conocida de un proceso criptográfico no es deseable, contrariamente a lo que se consideraba hasta el momento. Dicha forma de realización se basa también en la conclusión adicional de que los ataques que se construyen sobre el conocimiento del proceso resultan considerablemente más difíciles si el proceso es desconocido.
El proceso complementario comprende preferentemente un proceso criptográfico. Esto hace que la obtención de la clave complementaria resulte más difícil. No obstante, básicamente, como proceso complementario, se puede aplicar por ejemplo una codificación sencilla. En el caso de un proceso criptográfico, se aplica preferentemente una clave auxiliar.
El proceso complementario es de forma ventajosa un proceso invertible. Esto posibilita la aplicación del método según la invención en equipos existentes con modificaciones mínimas. Si, por ejemplo, un primer dispositivo emite una clave (complementaria) la cual se aplica en un segundo dispositivo según la invención, en ese caso en el primer dispositivo se puede usar el inverso del proceso complementario para obtener la clave complementaria a partir de la clave original. En otras palabras, aunque internamente tanto en el primer como en el segundo dispositivos se usa la clave original (primaria), entre los dispositivos se intercambia la clave complementaria (secundaria). No obstante, la interceptación de la clave complementaria no da como resultado el conocimiento de la clave original.
Puede resultar ventajoso el hecho de que la ejecución del proceso complementario tenga lugar exclusivamente si los datos presentan unas propiedades predeterminadas. De esta manera, el proceso criptográfico se puede llevar a cabo únicamente para datos específicos, seleccionados, mientras que queda bloqueado para la totalidad del resto de datos. De esta manera, se alcanza una protección complementaria.
Se proporciona una seguridad óptima si el proceso y el proceso complementario se construyen cada uno de ellos con varias etapas y se llevan a cabo de forma alternada etapas del proceso y el proceso complementario. Como consecuencia, las propiedades del proceso conocido quedan ocultas adicionalmente, como consecuencia de lo cual se complica todavía más la obtención de las claves.
En una segunda forma de realización de la invención, el proceso comprende varias etapas, cada una de las cuales dispone de una operación criptográfica para procesar datos del lado derecho obtenidos a partir de los datos y de una operación combinatoria para combinar, con los datos del lado izquierdo obtenidos a partir de los datos, los datos procesados del lado derecho con vistas a formar datos del lado izquierdo modificados, en los cuales los datos del lado derecho, antes de la primera etapa, se combinan con un valor auxiliar primario y los datos del lado izquierdo se combinan con un valor auxiliar adicional. Como consecuencia, los datos usados en las etapas y transferidos entre las etapas quedan enmascarados.
Para posibilitar que los valores auxiliares primario y adicional no se manifiesten ellos mismos en el resultado final del proceso, los datos del lado derecho se combinan, de forma preferente inmediatamente después de la última etapa, con otro valor auxiliar primario, y los datos del lado izquierdo modificados se combinan con otro valor auxiliar adicional.
Para conseguir que el resultado de las operaciones no se vea influido por los valores auxiliares primarios, el método según la invención se lleva a cabo preferentemente de tal manera que los datos del lado derecho, en cada etapa y antes de la operación, se combinan con el valor auxiliar primario de dicha etapa.
Se consigue una protección adicional si los datos procesados del lado derecho, después del procesado, se combinan con un valor auxiliar secundario de dicha etapa.
El valor auxiliar secundario de una etapa se forma de manera ventajosa a partir de la combinación del valor auxiliar primario de la etapa anterior y el valor auxiliar primario de la siguiente etapa. Como consecuencia, resulta posible compensar el valor auxiliar repetidamente en la siguiente etapa, como consecuencia de lo cual dicho valor auxiliar no se manifestará el mismo en el resultado final del proceso.
Es posible llevar a cabo el método según la invención de tal manera que todos los valores auxiliares primarios sean iguales. Como consecuencia, es posible una realización práctica muy sencilla. No obstante, el uso de varios valores auxiliares, los cuales son preferentemente números aleatorios y se generan nuevamente cada vez que se lleva a cabo el proceso, ofrece una mayor seguridad criptográfica.
Puede obtenerse otra de las simplificaciones de dicha forma de realización si los valores auxiliares primarios y/o los valores auxiliares secundarios se han combinado repetidamente de antemano con la operación en cuestión. Es decir, la combinación con valores auxiliares se procesa en la operación en cuestión (por ejemplo, una sustitución) de tal manera que el resultado de la operación en cuestión es igual al correspondiente a la operación original más una o dos operaciones combinatorias con valores auxiliares. Incluyendo de antemano en la operación las operaciones combinatorias, es posible una realización práctica más sencilla y rápida.
Dichas operaciones combinatorias se llevan a cabo preferentemente usando una operación XOR [XOR = OR eXclusiva]. No obstante, básicamente también son posibles otras operaciones combinatorias, tales como una suma binaria.
La invención proporciona además un circuito para llevar a cabo un método para procesar criptográficamente datos. Adicionalmente, la invención suministra una tarjeta de pago y un terminal de pago provisto de dicho circuito.
A continuación se explicará adicionalmente la invención basándose en las formas de realización ilustrativas mostradas en las figuras.
Breve descripción de los dibujos
La Fig. 1 muestra esquemáticamente un proceso criptográfico según la técnica anterior.
La Fig. 2 muestra esquemáticamente un primer proceso criptográfico según una primera forma de realización de la invención.
La Fig. 3 muestra esquemáticamente un segundo proceso criptográfico según una primera forma de realización de la invención.
La Fig. 4 muestra esquemáticamente una forma según la cual se pueden llevar a cabo los procesos de las Figs. 1 y 2.
La Fig. 5 muestra esquemáticamente un proceso criptográfico que presenta varias etapas según la técnica anterior.
La Fig. 6 muestra esquemáticamente un primer proceso criptográfico de acuerdo con una segunda forma de realización de la invención.
La Fig. 7 muestra esquemáticamente un segundo proceso criptográfico de acuerdo con una segunda forma de realización de la invención.
La Fig. 8 muestra esquemáticamente un tercer proceso criptográfico de acuerdo con una segunda forma de realización de la invención.
La Fig. 9 muestra esquemáticamente un circuito en el cual se aplica la invención.
La Fig. 10 muestra esquemáticamente un sistema de pago en el cual se aplica la invención.
Formas de realización preferidas
En la Fig. 1 se muestra esquemáticamente un proceso (criptográfico) P según la técnica anterior. Hacia el proceso P se alimentan datos de entrada X y una clave K. Sobre la base de la clave K, el proceso P transforma los datos de entrada X en datos de salida procesados (criptográficamente) Y: Y = P_{x}(X). El proceso P puede ser un proceso criptográfico conocido, tal como el DES (Norma de Cifrado de Datos), el triple DES, o el RSA (Rivest, Shamir y Adleman).
Si los datos de entrada X y los datos de salida Y son conocidos, básicamente es posible obtener la clave K usada. En el caso de una clave de la longitud suficiente (es decir, un número suficiente de bits), hasta el momento se consideraba imposible obtener dicha clave, incluso si el proceso P era conocido. Imposible en este caso significa que se admite que en teoría es posible, por ejemplo, probando todas las claves posibles, recuperar la clave usada, pero dicha operación requiere un tiempo de cálculo increíblemente largo. Por esta razón, dicho "ataque por fuerza bruta" representa apenas una amenaza para la seguridad criptográfica.
No obstante, los ataques descubiertos recientemente hacen uso del conocimiento del proceso, como consecuencia de lo cual el número de claves posibles se puede reducir drásticamente. Por esta razón, la obtención de la clave K usada y/o los datos de entrada X a partir de los datos de salida Y resulta posible en unos tiempos de cálculo
aceptables.
En la Fig. 2 se muestran esquemáticamente los fundamentos de la invención, cuyo objetivo es conseguir que dichos ataques resulten considerablemente más difíciles y consuman más tiempo. Exactamente tal como en la Fig. 1, a un proceso (conocido) P se le alimentan datos de entrada X y una clave (secreta) K para generar datos de salida Y.
En contraposición a la situación de la Fig. 1, en la situación de la Fig. 2 la clave K se alimenta hacia el proceso P desde un proceso complementario P*. El proceso complementario P* tiene una clave (secundaria) complementaria K* como datos de entrada para producir, bajo la influencia de una clave auxiliar K', la clave (primaria) K como datos de salida. Por esta razón, hacia el proceso P no se alimenta la clave K, tal como en el caso de la situación de la Fig. 1, desde una fuente externa (por ejemplo, una memoria), sino que la misma la produce el proceso P* a partir de la clave (secundaria) complementaria K*:
K = P\text{*}_{K'}(K).
Por esta razón, es la clave secundaria K*, en lugar de la clave primaria K, la cual se predetermina y se almacena, por ejemplo, en una memoria de claves (no mostradas). Según la invención, la clave primaria K, la cual se alimenta hacia el proceso P, no se predetermina.
La clave auxiliar K' puede ser una clave predeterminada, almacenada de forma permanente. También es posible aplicar un proceso complementario P* en el cual no se use ninguna clave auxiliar K'.
La combinación de los procesos P y P* constituye un nuevo proceso el cual se designa esquemáticamente mediante la referencia Q. Hacia el proceso Q el cual, a causa del proceso complementario P*, es desconocido por sí mismo, se alimentan los datos de entrada X y la clave (secundaria) K* para producir los datos de salida Y. La relación entre la clave secundaria K* y la clave primaria K queda oculta por el proceso complementario P*.
Preferentemente, el proceso complementario P* es el inverso de otro proceso invertible R. Es decir:
P\text{*} = R^{-1}.
Esto permite producir la clave secundaria K* a partir de la clave primaria K usando R y la clave auxiliar K':
K\text{*} = R_{K'}(K),
tal como se explicará posteriormente de forma adicional haciendo referencia a la Fig. 5. Cabe la posibilidad de ampliar el proceso nuevo Q con el proceso R, de tal manera que hacia el proceso Q se alimente la clave primaria K, en lugar de la clave secundaria K*. En este caso, la clave primaria K en el proceso Q se obtiene a partir de:
K = P\text{*}_{k'}(K\text{*}) = P\text{*}_{K'}(R_{K'}(K)).
Esto permite usar la misma clave (primaria) que en la técnica anterior.
El proceso criptográfico Q según la invención, mostrado esquemáticamente en la Fig. 3, comprende también un proceso P que tiene una clave primaria K y un proceso complementario P* que tiene una clave auxiliar K', obteniéndose la clave primaria K a partir de la clave complementaria K* por medio del proceso complementario P*. Con la complementación del proceso de la Fig. 1, en este caso los datos de entrada X se alimentan también hacia el proceso complementario P* de tal manera que la clave primaria K se determina parcialmente como una función de los datos de entrada X:
K = P\text{*}_{K'}(K\text{*}, X).
Como consecuencia, se obtiene una protección criptográfica complementaria. Adicionalmente, como consecuencia se ofrece la posibilidad de llevar a cabo el proceso complementario P* de forma exclusiva si se ofrecen ciertos datos de entrada. Esto significa que el proceso complementario P* puede comprender una prueba de los datos de entrada X, y la ejecución del proceso complementario P* puede depender del resultado de dicha prueba. De este modo, el proceso complementario P* se puede llevar a cabo, por ejemplo solamente si los últimos dos bits de los datos de entrada X son iguales a cero. El efecto de dicha operación dependiente de los datos de entrada es que la clave primaria correcta K se producirá únicamente para ciertos datos de entrada X de tal manera que únicamente dichos datos de entrada generarán los datos de salida Y deseados. Como consecuencia, se entenderá que se produce una mejora adicional de la seguridad criptográfica.
La Fig. 4 muestra esquemáticamente la forma según la cual se pueden llevar a cabo de forma alternada ("intercalado") las subetapas de los procesos P y P* para mejorar adicionalmente la protección contra ataques. Las subetapas pueden incluir las denominadas "rondas", tal como, por ejemplo, en el caso del DES. No obstante, preferentemente las subetapas comprenden solamente una o unas pocas instrucciones de un programa, con el cual se están llevando a cabo los procesos.
\newpage
En una primera etapa 101, se lleva a cabo una primera subetapa P_{1} del proceso P. Subsiguientemente, en una segunda etapa 102, se lleva a cabo la primera subetapa P_{1}* del proceso complementario P*. De forma similar, en una tercera etapa 103, se lleva a cabo la segunda etapa P_{2} del proceso P, etcétera. Esta secuencia continúa hasta que se ha llevado a cabo, en la etapa 110, la última subetapa P_{n}* del proceso complementario P*, suponiendo, en aras de simplificar el ejemplo, que los procesos P y P* comprenden el mismo número de subetapas. Si no es así, en la etapa 110 se lleva a cabo la última subetapa correspondiente, y en otras etapas se llevan a cabo las subetapas restantes.
Alternando las subetapas del proceso P, el cual es conocido por sí mismo, y el proceso P* (posiblemente también conocido por sí mismo), se puede obtener una serie de subetapas la cual no se corresponde con la de un proceso conocido. Como consecuencia, resulta más difícil reconocer la naturaleza del proceso.
El proceso criptográfico P mostrado esquemáticamente, únicamente a título de ejemplo, en la Fig. 5, según la técnica anterior, comprende varias etapas S_{i} (es decir, S_{1}, S_{2},...S_{n}). En cada etapa S_{i}, hacia una operación criptográfica F_{i} se alimentan datos (del lado derecho) RD_{i}. Dicha operación criptográfica puede comprender en sí misma una serie de subetapas, tales como una expansión, una combinación con una clave, una sustitución y una permutación las cuales, sin embargo, no se han designado por separado en aras de simplificar el dibujo. La operación criptográfica F_{i} proporciona datos procesados FD_{i}:
FD_{i} = F_{i}(RD_{i}).
En una operación combinatoria CC_{i} (CC_{1}, CC_{2},..., indicando siempre el índice i la etapa S en cuestión), los datos procesados FD_{i} se combinan con datos del lado izquierdo LD_{i} para formar datos (del lado izquierdo) modificados SD_{i} los cuales, exactamente tal como los datos del lado derecho originales RD, se trasladan hacia la siguiente etapa. Preferentemente, las operaciones combinatorias CC_{i} son operaciones XOR (símbolo: \oplus).
Tal como se muestra en la Fig. 5, al final de cada etapa S_{i} los datos del lado izquierdo modificados SD_{i} y los datos del lado derecho RD_{i} cambian posiciones de tal manera que forman los datos del lado derecho RD_{i+1} y los datos del lado izquierdo LD_{i+1} de la siguiente etapa S_{i+1}.
Los datos del lado izquierdo LD_{1} y los datos del lado derecho RD_{1} de la primera etapa S_{1} se obtuvieron, en una operación anterior, a partir de los datos de entrada X y, al realizar dicha operación, pueden experimentar un procesado preparatorio, tal como una permutación de entrada. Los datos de salida SD_{n} y RD_{n} de la última etapa S_{n} forman los datos procesados Y del proceso P, posiblemente después de que los mismos hayan experimentado una operación final, tal como una permutación de salida PP^{-1}.
El proceso criptográfico de la Fig. 6 se corresponde en gran parte con el de la Fig. 5. Según la invención, los datos presentes en y entre las etapas se enmascaran con valores auxiliares. Con este fin, en esta forma de realización la primera etapa S_{1} viene precedida por las operaciones combinatorias (preparatorias) DC y EC, las cuales son también preferentemente operaciones XOR. Las mismas combinan respectivamente los datos del lado izquierdo LD_{1} y los datos del lado derecho RD_{1}, los cuales se originan a partir de la operación preparatoria (PP), con un valor auxiliar inicial A_{0} y un primer valor auxiliar A_{1}. Los resultados de las operaciones combinatorias DC y EC son respectivamente datos enmascarados del lado izquierdo LD'_{1} y datos enmascarados del lado derecho RD_{1}' (en el presente texto, en lo sucesivo los datos enmascarados se designarán con un apóstrofo). Los enmascaramientos se realizan en las etapas subsiguientes. Como los datos del lado izquierdo de la segunda etapa S_{2} son iguales a los datos del lado derecho enmascarados de la primera etapa S_{1}, también se enmascaran dichos datos del lado izquierdo LD'_{2}. Los datos del lado derecho RD_{2}' de la segunda etapa se enmascaran ya que son iguales a los datos modificados enmascarados SD_{1}'.
De este modo, la combinación de los datos LD_{i} y RD_{i} con los valores auxiliares A_{1} da como resultado el enmascaramiento de los datos modificados LD_{i}' y RD_{i}', como consecuencia de lo cual resulta considerablemente más difícil obtener los datos originales X la clave usada a partir de los datos enmascarados LD_{i}' y RD_{i}'.
Para eliminar los valores auxiliares A_{1} antes de la operación final (PP^{-1}), se proporcionan operaciones combinatorias suplementarias FC y GC, las cuales combinan los datos del lado izquierdo modificados y enmascarados SD'_{n} de la última etapa S_{n} con un valor auxiliar A_{n+1} y los datos del lado derecho enmascarados RD_{n}' con un valor auxiliar A_{n}, respectivamente. De esta manera, debido a que A_{i} \oplus A_{i} es cero, los valores auxiliares A_{i} eliminan los enmascaramientos. Como consecuencia, es posible llevar a cabo el método de tal manera que, a pesar del uso de los valores auxiliares A_{i}, los datos finales Y son iguales a los que se habrían obtenido a través del método convencional según la Fig. 5.
Para excluir el efecto de los valores auxiliares A_{i} sobre los resultados FD_{i} de las operaciones F_{i}, en cada etapa S_{i} hay presente preferentemente una operación combinatoria complementaria AC_{i} la cual combina los datos del lado derecho RD_{i} con un valor auxiliar (primario) A_{i} antes de que estos datos se alimenten a la operación criptográfica F_{i}. El resultado de cada operación combinatoria complementaria AC_{i} es los datos del lado derecho no enmascarados RD_{i}, de manera que la operación criptográfica F_{i} actúa sobre los mismos datos que en el proceso de la Fig. 5.
De forma ventajosa, se puede insertar otra operación combinatoria BC_{i} entre la operación criptográfica F_{i} y la operación combinatoria CC_{i} con el fin de combinar los datos (del lado derecho) procesados FD_{i} con otro valor auxiliar (secundario) B_{i}. Como consecuencia, se puede conseguir un enmascaramiento de los datos procesados FD_{i} y otro enmascaramiento de los datos del lado izquierdo (modificados) SD_{i}'. Preferentemente, las operaciones combinatorias AC_{i} y BC_{i} son también operaciones XOR.
Según otro aspecto de la invención, los valores auxiliares A_{i} y B_{i} están relacionados. Los valores auxiliares secundarios B_{i} se forman, preferentemente usando una operación XOR, a partir del primer valor auxiliar A_{i-1} de la etapa anterior y el valor auxiliar A_{i+1} de la siguiente etapa:
B_{i} = A_{i-1} \ \oplus \ A_{i+1}.
Esto da como resultado que cada valor auxiliar primario A_{i+1} el cual, usando otra operación combinatoria complementaria BC_{i}, se combina con los datos procesados del lado derecho FD_{i} como un componente del segundo valor auxiliar B_{i}, se compense repetidamente en la siguiente etapa, es decir, la etapa S_{i+1}, por medio de una operación combinatoria AC_{i} antes de someter los datos del lado derecho RD_{i+1} a la operación F_{i}. Los datos del lado derecho (enmascarados) RD_{i}' en cuestión, los cuales constituyen los datos del lado izquierdo (enmascarados) LD_{i+1}' de la todavía siguiente etapa S_{i+2}, se combinan allí con el valor auxiliar primario A_{i+1} y quedan compensados de esta manera. El valor auxiliar A_{i+1} se manifiesta él mismo en los datos modificados SD_{i}', de tal manera que permanece enmascarado entre dos etapas.
Los datos del lado izquierdo LD_{1} de la primera etapa S_{1} se enmascaran con el valor auxiliar adicional o inicial (primario) A_{0}. Mediante la combinación, con el valor auxiliar secundario B_{1} = A_{0} \oplus A_{2}, se elimina el valor auxiliar inicial A_{0} (debido a que A_{0} \oplus A_{0} es cero), aunque se mantienen el valor auxiliar A_{2} y el enmascaramiento obtenido con el mismo. En esta forma de realización, el valor auxiliar inicial A_{0} se selecciona preferentemente de manera que es igual al primer valor auxiliar A_{1}.
Aunque todos los valores auxiliares primarios A_{i} se seleccionan preferentemente de manera que son diferentes, con la excepción de A_{0} = A_{1}, es posible seleccionar todos los valores auxiliares primarios A_{i} de manera que sean iguales. En este caso, todos los valores auxiliares secundarios B_{i} de la forma de realización mostrada serán iguales a cero, de manera que se pueden omitir las otras operaciones combinatorias BC_{i}. La invención se aplica además a procesos P que contienen solamente una etapa S, o presentan una estructura modificada.
En el proceso de la Fig. 7, el cual se corresponde en gran parte con el de la Fig. 6, las operaciones combinatorias AC_{i} y BC_{i} y la operación criptográfica F_{i} en cada una de las etapas se integran para formar una operación combinada F_{i}'. La integración de las operaciones combinatorias en las operaciones F_{i} es posible ajustando adecuadamente, por ejemplo, una tabla de sustitución de la operación F_{i}. Como consecuencia, se pueden omitir las operaciones combinatorias complementarias AC_{i} y BC_{i} y el resultado de la operación ajustada F_{i}' es igual al resultado del total de la propia operación F_{i} y las operaciones combinatorias:
FD_{i}' = F_{i}'(RD_{i}') = B_{i} \ \oplus \ F_{i} (A_{i} \ \oplus \ RD_{i}').
Básicamente, cada etapa S_{i} requiere una operación combinatoria F_{i} diferente en la cual se integran varios valores auxiliares A_{i} (ver Fig. 6). Unicamente si los valores auxiliares A_{i} se seleccionan de manera que son iguales, es decir, A_{1}=A_{2}=...=A_{n}, las operaciones combinatorias F_{i} en esta forma de realización pueden ser iguales.
Preferentemente, cada vez que se lleva a cabo el proceso, se seleccionan de nuevo los valores A_{i}. Para el proceso de la Fig. 7, esto significa en este caso que las operaciones combinadas F_{i}' se determinan nuevamente. Como las operaciones F_{i}' en muchas implementaciones comprenderán el uso de varias tablas, tales como tablas de sustitución, dichas tablas se determinarán nuevamente cada vez que se lleve a cabo el proceso P. Para ofrecer una protección complementaria contra ataques, según otro aspecto de la invención, las tablas se determinarán en un orden aleatorio. Si una operación combinada F_{i}' comprende, por ejemplo, ocho tablas, dichas ocho tablas se determinarán en otro orden cada vez que dicha operación F_{i}' se lleve a cabo nuevamente. Dicho orden se puede determinar basándose en el contenido de un registro de orden, cuyo contenido se puede formar cada vez por medio de un número aleatorio originado a partir de un generador de números aleatorios. Basándose en el contenido del registro de orden, se puede componer cada vez una tabla de consulta nueva. Usando la tabla de consulta, las tablas se pueden escribir en una memoria y pueden ser leídas posteriormente.
Según otro aspecto de la invención, que complementa al anterior o en lugar del mismo, los elementos de cada tabla se pueden determinar y/o almacenar en un orden aleatorio. Con esta medida, se consigue mejorar también la protección contra los ataques. También en este caso, se puede aplicar una tabla de consulta sobre la base de la cual se pueden recuperar posteriormente los elementos.
Las medidas a las que se ha hecho referencia anteriormente también se pueden aplicar en otra forma de realización de la invención, tal como la de la Fig. 8, o en otros procesos completamente diferentes, ya sean criptográficos
o no.
La forma de realización de la Fig. 8 se corresponde en gran parte con la de la Fig. 7. Complementando la Fig. 7, cada etapa S_{i}, con la excepción de la última etapa S_{n}, incluye una operación combinatoria HC_{i} la cual combina los datos del lado derecho RD_{i} con un valor auxiliar terciario W_{i}. Preferentemente, el valor auxiliar terciario W_{i} es igual a la combinación XOR de los valores auxiliares A_{0} y A_{1}:
W = A_{0} \ \oplus \ A_{1},
en la que A_{0} \neq A_{1}.
Esto da como resultado que la operación HC_{i} sume siempre el valor auxiliar inicial A_{0} y compense el primer valor auxiliar A_{1}. Como consecuencia, es posible que todas las operaciones criptográficas F_{i} sean esencialmente idénticas, lo cual requiere una capacidad mucho menor de procesado y/o almacenamiento de un sistema procesador con el cual se lleve a cabo el método. En la forma de realización de la Fig. 8, las operaciones F_{i}'' son unos ajustes de las operaciones originales F_{i} tales que las mismas se corrigen para el valor auxiliar A_{1} y adicionalmente combinan el valor auxiliar terciario W = A_{o} \oplus A_{1} con su resultado. En otras palabras, si RD_{i} \oplus A_{1} se alimenta a F'', el resultado será igual a
FD_{i}' = F_{1}(RD_{1}) \ \oplus \ W.
Los expertos en la materia entenderán que los procesos combinatorios AC_{i}, BC_{i} y HC_{i} se pueden llevar a cabo en sitios diferentes del proceso criptográfico P para alcanzar un efecto comparable o incluso idéntico.
La Fig. 9 muestra esquemáticamente un circuito 10 para implementar el método según la invención. El circuito 10 comprende una primera memoria 11, una segunda memoria 12 y un procesador 13, acoplándose las memorias 11 y 12 y el procesador 13 mediante el uso de un bus de datos 14. Al proporcionar dos memorias, es posible llevar a cabo cada vez una subetapa de uno de entre los procesos P y P* (ver Fig. 4) para almacenar el resultado de dicha subetapa, por ejemplo, en la primera memoria 11, y desde la segunda memoria 12 transferir un resultado provisional anterior del otro proceso hacia el procesador 13. De esta manera, es posible llevar a cabo eficazmente el cálculo alternado de las subetapas de dos procesos diferentes.
El sistema de pago, mostrado esquemáticamente en la Fig. 10, comprende unos medios electrónicos de pago 1 y una estación de pago 2. Los medios electrónicos de pago 1 son, por ejemplo, la denominada tarjeta inteligente, es decir, una tarjeta provista de un circuito integrado para almacenar y procesar datos de pagos. La estación de pago 2 comprende un lector de tarjetas 21 y un circuito procesador 22. El circuito procesador 22 se puede corresponder con el circuito 10 de la Fig. 9.
En el comienzo de una transacción, los medios de pago 1 transmiten una identificación (identificación de tarjeta) ID hacia la estación de pago 2. Haciendo referencia a dicha identificación, la estación de pago 2 determina una clave la cual será usada para dicha transacción. Dicha identificación ID se puede alimentar como datos de entrada X (ver las figuras 1 a 3) hacia un proceso criptográfico el cual, basándose en una clave maestra MK, produce una clave de transacción dependiente de la identificación K_{ID} como datos de salida Y. Con este fin, según la invención, se usa el proceso mostrado en las figuras Fig. 2 y 3, habiéndose transformado de antemano la clave maestra MK, usando un proceso R, en una clave maestra complementaria MK*. A continuación, dicha clave maestra complementaria MK* se alimenta, preferentemente junto con la identificación ID, según la Fig. 3, hacia el proceso complementario P* para reproducir la clave maestra original MK y obtener la clave de transacción K_{ID} a partir de la identificación ID.
Aunque en las figuras Fig. 2 y 3, se muestra siempre un único proceso complementario P*, cabe la posibilidad de que se puedan usar varios procesos P*, P**, P***,..., en serie y/o en paralelo para obtener la clave primaria K.
Los expertos en la materia entenderán que son posibles muchas modificaciones y correcciones sin apartarse del alcance de la invención.

Claims (25)

1. Método para procesar criptográficamente datos usando un circuito o un procesador, que comprende la alimentación, hacia un proceso criptográfico (P), de valores, que incluyen los datos (X) y una clave (K), y la ejecución del proceso (P) para formar datos de salida procesados criptográficamente (Y), caracterizado porque se alimentan hacia el proceso (P), unos valores auxiliares (K*, A_{0},..., A_{0+1}, B_{0},..., B_{n}) para enmascarar los valores, incluyendo la clave (K), usados en el proceso (P), y porque se compensa, mediante un proceso auxiliar, la influencia de los valores auxiliares sobre los datos de salida (Y).
2. Método según la reivindicación 1, en el que un valor auxiliar comprende una clave complementaria (K*) la cual se alimenta hacia un proceso complementario (P*) para formar la clave (K).
3. Método según la reivindicación 2, en el que el proceso complementario (P*) comprende un proceso criptográfico hacia el cual se alimenta una clave auxiliar (K').
4. Método según la reivindicación 2 ó 3, en el que el proceso complementario (P*) es un proceso invertible.
5. Método según la reivindicación 2, 3 ó 4, en el que los datos (X) se alimentan también hacia el proceso complementario (P*).
6. Método según la reivindicación 5, en el que la ejecución del proceso complementario (P*) tiene lugar exclusivamente si los datos (X) tienen unas propiedades predeterminadas.
7. Método según cualquiera de las reivindicaciones 2 a 6, en el que el proceso (P) y el proceso complementario (P*) se constituyen cada uno de ellos a partir de una serie de etapas, y en el que se alternan las etapas del proceso (P) y el proceso complementario (P*).
8. Método según cualquiera de las reivindicaciones anteriores, en el que el proceso (P) comprende una serie de etapas (S_{i}), presentando cada una de ellas una operación criptográfica (F_{i}, F_{i}', F_{i}'') para procesar datos del lado derecho (RD_{i}) obtenidos a partir de los datos (X) y una operación combinatoria (C_{i}) para combinar, con datos del lado izquierdo (LD_{i}) obtenidos también a partir de los datos (X), los datos procesados del lado derecho (FD_{i}) con vistas a formar datos del lado izquierdo modificados (SD_{i}), y en el que los datos del lado derecho (RD_{i}) se combinan con un valor auxiliar primario (A_{1}) antes de la primera etapa (S_{1}) y los datos del lado izquierdo (LD_{1}) se combinan con un valor auxiliar adicional (A_{0}).
9. Método según la reivindicación 8 en el que, inmediatamente después de la última etapa (S_{n}), los datos del lado derecho (RD_{n}) se combinan con otro valor auxiliar primario (A_{n}) y los datos del lado izquierdo modificados (SD_{n}^{1}) se combinan con otro valor auxiliar adicional (A_{n+1}).
10. Método según la reivindicación 8 ó 9, en el que los datos del lado derecho (RD_{i}) se combinan, en cada etapa (S_{i}) y antes de la operación (F_{i}'), con el valor auxiliar primario (A_{i}) de dicha etapa (S_{i}).
11. Método según la reivindicación 10, en el que los datos procesados del lado derecho (FD_{i}) se combinan, después de la operación (F_{i}), con el valor auxiliar secundario (B_{i}) de dicha etapa (S_{i}).
12. Método según las reivindicaciones 10 y 11, en el que el valor auxiliar secundario (B_{i}) de una etapa (S_{i}) se forma a partir de la combinación del valor auxiliar primario (A_{i-1}) de la etapa anterior y el valor auxiliar primario (A_{i+1}) de la siguiente etapa.
13. Método según cualquiera de las reivindicaciones 8 a 12, en el que todos los valores auxiliares primarios (A_{i}) son iguales.
14. Método según cualquiera de las reivindicaciones 9 a 13, en el que los valores auxiliares primarios (A_{i}) y/o los valores auxiliares secundarios (B_{i}) se han combinado cada vez de antemano con la operación respectiva (F_{i}).
15. Método según la reivindicación 14, en el que una operación combinada (F_{i}') contiene varias tablas, y en el que las tablas se determinan en un orden diferente cada vez que se lleva a cabo el proceso (P).
16. Método según la reivindicación 14 ó 15, en el que una operación combinada (F_{i}') contiene varias tablas, y en el que los elementos de las tablas se determinan y/o almacenan en un orden diferente cada vez que se lleva a cabo el proceso (P).
17. Método según la reivindicación 16, en el que el orden se almacena en forma de una tabla de consulta para beneficiar a la lectura de los elementos.
18. Método según cualquiera de las reivindicaciones 8 a 17, en el que los datos del lado derecho (RD_{i}) se combinan con un valor auxiliar terciario (W_{i}) después de cada etapa (S_{i}).
19. Método según la reivindicación 18, en el que el valor auxiliar terciario (W_{i}) en todas las etapas, excepto la última (S_{n}), es igual a la combinación del valor auxiliar primario (A_{1}) de la primera etapa (S_{1}) y el valor auxiliar adicional (A_{0}), y en la última etapa (S_{n}) es igual a cero.
20. Método según cualquiera de las reivindicaciones 8 a 19, en el que la combinación se lleva a cabo usando una operación XOR.
21. Método según cualquiera de las reivindicaciones anteriores, en el que los datos (X) comprenden unos datos de identificación de unos medios de pago (1) y los datos procesados (Y) forman una clave diversificada.
22. Método según cualquiera de las reivindicaciones anteriores, en el que el proceso (P) comprende el DES, preferentemente el triple DES.
23. Circuito (10) que comprende unos medios adaptados para llevar a cabo cada una de las etapas del método según la reivindicación 1.
24. Tarjeta de pago (1) que comprende un circuito (10) según la reivindicación 23.
25. Terminal de pago (2) que comprende un circuito (10) según la reivindicación 23.
ES99963594T 1998-12-30 1999-12-16 Metodo y dispositivo para procesar criptograficamente datos. Expired - Lifetime ES2270628T3 (es)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
NL1010921A NL1010921C2 (nl) 1998-12-30 1998-12-30 Werkwijze en inrichting voor het cryptografisch bewerken van data.
NL1010921 1998-12-30
NL1011544 1999-03-12
NL1011544A NL1011544C1 (nl) 1998-12-30 1999-03-12 Werkwijze en inrichting voor het cryptografisch bewerken van data.
NL1011800A NL1011800C2 (nl) 1998-12-30 1999-04-15 Werkwijze en inrichting voor het cryptografisch bewerken van data.
NL1011800 1999-04-15

Publications (1)

Publication Number Publication Date
ES2270628T3 true ES2270628T3 (es) 2007-04-01

Family

ID=27351198

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99963594T Expired - Lifetime ES2270628T3 (es) 1998-12-30 1999-12-16 Metodo y dispositivo para procesar criptograficamente datos.

Country Status (7)

Country Link
US (1) US7162031B1 (es)
EP (1) EP1142191B1 (es)
AT (1) ATE336122T1 (es)
AU (1) AU1983300A (es)
DE (1) DE69932740T2 (es)
ES (1) ES2270628T3 (es)
WO (1) WO2000041356A1 (es)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2802741B1 (fr) * 1999-12-15 2003-10-31 Sagem Dispositif mettant en oeuvre un algorithme de chiffrage par bloc a repetition de rondes
FR2804524B1 (fr) * 2000-01-31 2002-04-19 Oberthur Card Systems Sas Procede d'execution d'un protocole cryptographique entre deux entites electroniques
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis
US20020061107A1 (en) * 2000-09-25 2002-05-23 Tham Terry K. Methods and apparatus for implementing a cryptography engine
CA2327911A1 (en) * 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
US9323955B2 (en) 2000-12-21 2016-04-26 Gemalto Sa Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system
FR2820576B1 (fr) * 2001-02-08 2003-06-20 St Microelectronics Sa Procede de cryptage protege contre les analyses de consommation energetique, et composant utilisant un tel procede de cryptage
WO2003075506A1 (en) * 2002-03-07 2003-09-12 Axalto Sa Method for making safe an electronic cryptography assembly with a secret key
US7403620B2 (en) 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit
DE10328860B4 (de) * 2003-06-26 2008-08-07 Infineon Technologies Ag Vorrichtung und Verfahren zum Verschlüsseln von Daten
JP2005056413A (ja) 2003-08-01 2005-03-03 Stmicroelectronics Sa 複数の同じ計算の保護
EP1513285A1 (en) * 2003-09-05 2005-03-09 Mediacrypt AG Method for generating pseudo-random sequence
DE102004052196B4 (de) * 2004-10-27 2017-04-06 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Ausführen von Operationen unter Verwendung einer maskenunterstützenden Recheneinheit
FR2924550A1 (fr) * 2007-11-30 2009-06-05 Commissariat Energie Atomique Procedes et dispositifs de cryptage et de decryptage d'un message de donnees a cle secrete aleatoire.
FR2941343B1 (fr) * 2009-01-20 2011-04-08 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie, protege notamment contre les attaques par observation de fuites d'information par leur chiffrement.
JP5458611B2 (ja) * 2009-03-13 2014-04-02 ソニー株式会社 暗号処理装置
FR2951599B1 (fr) * 2009-10-20 2011-11-25 St Microelectronics Rousset Procede securise de calcul cryptographique et composant electronique correspondant
DE102011088502B3 (de) * 2011-12-14 2013-05-08 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
WO2016034912A1 (en) * 2014-09-05 2016-03-10 Umm Al-Qura University Method and apparatus for scalar multiplication secure against differential power attacks
US10311229B1 (en) * 2015-05-18 2019-06-04 Amazon Technologies, Inc. Mitigating timing side-channel attacks by obscuring alternatives in code
US10868665B1 (en) * 2015-05-18 2020-12-15 Amazon Technologies, Inc. Mitigating timing side-channel attacks by obscuring accesses to sensitive data
US11177933B2 (en) 2019-03-24 2021-11-16 Google Llc Side channel timing attack mitigation in securing data in transit

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302810A (en) * 1979-12-28 1981-11-24 International Business Machines Corporation Method and apparatus for secure message transmission for use in electronic funds transfer systems
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
JPH0812537B2 (ja) * 1993-03-11 1996-02-07 日本電気株式会社 暗号化装置
US5768390A (en) * 1995-10-25 1998-06-16 International Business Machines Corporation Cryptographic system with masking
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
US6028933A (en) * 1997-04-17 2000-02-22 Lucent Technologies Inc. Encrypting method and apparatus enabling multiple access for multiple services and multiple transmission modes over a broadband communication network
TW396704B (en) 1997-08-07 2000-07-01 Hitachi Ltd Cipher conversion method, cipher conversion apparatus, decoding method, decoding apparatus, and data communication system

Also Published As

Publication number Publication date
DE69932740T2 (de) 2006-12-07
EP1142191B1 (en) 2006-08-09
US7162031B1 (en) 2007-01-09
EP1142191A1 (en) 2001-10-10
AU1983300A (en) 2000-07-24
WO2000041356A1 (en) 2000-07-13
DE69932740D1 (de) 2006-09-21
ATE336122T1 (de) 2006-09-15

Similar Documents

Publication Publication Date Title
ES2270628T3 (es) Metodo y dispositivo para procesar criptograficamente datos.
ES2717999T3 (es) Método criptográfico por bloques para cifrar/descifrar mensajes y dispositivos criptográficos para implementar este método
EP3386143B1 (en) Method and system for generating a private key for encrypted data transfer between an electronic identity document and a terminal
US8577023B2 (en) Encryption processing method, apparatus, and computer program utilizing different types of S-boxes
US11308241B2 (en) Security data generation based upon software unreadable registers
US11151290B2 (en) Tamper-resistant component networks
CA2400220A1 (en) Consumable authentication protocol and system
EP1833190A1 (en) Table splitting for cryptographic processes
EP3363142B1 (en) A cryptographic device and an encoding device
EP3531613B1 (en) Method and circuit for implementing a substitution table
KR102169369B1 (ko) 경량 블록 암호화에 대한 1차 부채널 공격에 대응하는 방법 및 이를 이용한 장치
US8619985B2 (en) Table splitting for cryptographic processes
US20060153372A1 (en) Smart card and method protecting secret key
CN106100823B (zh) 保护密码装置
JP2021507310A (ja) キー付きメッセージ認証コードのホワイトボックス計算
Regazzoni et al. Power attacks resistance of cryptographic s-boxes with added error detection circuits
US20200226270A1 (en) System and method for multilayer data protection for memory devices
US7450716B2 (en) Device and method for encrypting data
US11500786B2 (en) System and method for protecting memory encryption against template attacks
EP3531612B1 (en) Method and device for performing substitution table operations
Noorbasha et al. FPGA implementation of cryptographic systems for symmetric encryption.
KR101105384B1 (ko) 키 암호화 및 셔플링이 적용된 부채널 공격에 안전한 키 관리방법
US11477024B2 (en) Information processing apparatus and information processing method
KR20090079664A (ko) 아리아 마스킹 방법 및 이를 이용한 아리아 암호 장치 및방법
JP5556955B2 (ja) 暗号処理装置、認証方法およびプログラム