ES2205784T3 - Procedimiento de proteccion de datos mediante la ejecucion de un algoritmo criptografiado. - Google Patents

Procedimiento de proteccion de datos mediante la ejecucion de un algoritmo criptografiado.

Info

Publication number
ES2205784T3
ES2205784T3 ES99909029T ES99909029T ES2205784T3 ES 2205784 T3 ES2205784 T3 ES 2205784T3 ES 99909029 T ES99909029 T ES 99909029T ES 99909029 T ES99909029 T ES 99909029T ES 2205784 T3 ES2205784 T3 ES 2205784T3
Authority
ES
Spain
Prior art keywords
transformation
random
stage
data
operations
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
ES99909029T
Other languages
English (en)
Inventor
Patrick Salle
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.)
Axalto SA
Original Assignee
Schlumberger Systemes SA
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 Schlumberger Systemes SA filed Critical Schlumberger Systemes SA
Application granted granted Critical
Publication of ES2205784T3 publication Critical patent/ES2205784T3/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
    • 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
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • 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/08Randomization, e.g. dummy operations or using noise

Landscapes

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

Abstract

Procedimiento de protección de datos (M) que utiliza, en un microprocesador de una tarjeta, un algoritmo criptográfico de ejecución de operaciones de tratamiento de elementos de datos (M, M0, M1, M2, M3, K1, K2, K3, K4, K5, R1, R2, R3, R4, R5, ) para elaborar una información cifrada (C), y caracterizado porque incluye al menos, por una parte, una etapa de transformación (120) aleatoria de bits de al menos uno de los elementos de datos (K2) asociando a dicho elemento de datos (K2), por medio de un operador lógico del tipo EXCLUSIVE-OR, un número aleatorio y, por otra parte, posteriormente a esta etapa de transformación aleatoria, una etapa de transformación inversa (220), de tal manera que la información cifrada (C) no sea alterada por estas etapas de transformación (120, 220).

Description

Procedimiento de protección de datos mediante la ejecución de un algoritmo criptografiado.
Esta invención consiste en un procedimiento de protección de datos destinado, por ejemplo, a ser aplicado por el microprocesador de una tarjeta bancaria o una tarjeta de autorización de acceso en una conexión a un terminal informático de autenticación.
Los procedimientos de protección de datos conocidos utilizan un algoritmo criptográfico que incluye ciclos de ejecución de operaciones repetitivas de tratamiento de elementos de datos contenidos en una memoria de la tarjeta para elaborar una información cifrada destinada a ser comunicada al terminal informático.
El documento D1 "Timing attacks on implementations of Diffie-Heliman, RSA, DSS and other systems" de Paul C Kocher, publicado el 18/08/1996 aborda del problema de la protección de datos en una tarjeta inteligente. En dicho documento se presentan diferentes técnicas para prevenir ataques: concretamente, se calcula una firma para los algoritmos RSA y Diffie-Helleman antes de la ejecución de una operación de exponenciación modular.
La ejecución del procedimiento por parte del microprocesador de la tarjeta provoca la emisión de señales derivadas, como por ejemplo picos de consumo en la alimentación eléctrica del microprocesador, o variaciones de radiación electromagnética, de tal manera que la envolvente de radiación electromagnética es sintomática de los datos tratados. Un infractor que quisiera utilizar sin autorización las tarjetas con microprocesador puede realizar repetidamente la ejecución de dicho procedimiento y analizar las señales derivadas emitidas para establecer correspondencias entre las diferentes operaciones de tratamiento y su señal o serie de señales. A partir de estas correspondencias, y sometiendo la tarjeta, por ejemplo, a perturbaciones electromagnéticas o a bajadas de tensión en determinados momentos del desarrollo del algoritmo, dicho infractor podría estudiar la información cifrada obtenida y sus diferencias, o por el contrario, la ausencia de diferencias, entre las señales derivadas emitidas y llegar a descubrir los datos contenidos en la memoria de la tarjeta.
Para complicar dicho análisis de las señales derivadas, se pensó en engendrar señales parásitas que se añadieran a las señales derivadas emitidas en la ejecución del procedimiento. La extracción de las señales correspondientes a la ejecución del procedimiento sería entonces más complicada pero seguiría siendo posible. Se pensó también en diseñar los componentes electrónicos de la tarjeta y el programa de ejecución de procedimiento de tal manera que las señales derivadas emitidas fueran independientes del valor de los datos sensibles. Sin embargo, esto complica la realización de tarjetas y no garantiza de modo satisfactorio la protección de los datos.
Una de las finalidades de esta invención es proponer un procedimiento de protección eficaz sin los inconvenientes anteriormente citados.
Para conseguir dicho fin, la presente invención prevé un procedimiento de protección de datos que aplica un algoritmo criptográfico de ejecución de operaciones de tratamiento de elementos de datos para la elaboración de una información cifrada y que incluye al menos una etapa de transformación aleatoria de la ejecución de una operación, como mínimo de un ciclo a otro o de transformación aleatoria de al menos uno de los elementos de datos, de tal manera que la información cifrada no sea alterada por dicha transformación aleatoria.
Se entiende por transformación aleatoria de la ejecución de al menos una operación, una modificación del orden de ejecución de operaciones o de partes de operaciones o una modificación del desarrollo de una sola operación. Así, se modifica aleatoriamente al menos una operación y/o, como mínimo, uno de los datos tratados, lo que afecta de modo aleatorio a las señales derivadas emitidas. Por ello, es muy difícil para un infractor distinguir las diferentes operaciones de tratamiento y descubrir los datos a partir de las señales derivadas. Además, la modificación aleatoria no afecta la información cifrada, de modo que ésta puede ser utilizada de modo habitual tras su elaboración.
Aparecerán otras características y ventajas de esta invención en el transcurso de la lectura de la descripción que se hace a continuación de una aplicación particular, no limitativa de la invención, en relación con la figura única anexada que ilustra en forma de diagrama de bloques el desarrollo del procedimiento para este modo de aplicación.
Se describe aquí el procedimiento de protección de esta invención aplicando un algoritmo criptográfico simétrico de tipo DES (siglas de los términos
DATA ENCRYPTION STANDARD) para elaborar una información cifrada C de 64 bits a partir de un bloque mensaje M y de una clave secreta K1, ambos también de 64 bits.
El procedimiento se inicia por la permutación 10 de los bits del bloque mensaje M entre sí para formar el bloque M0.
Se divide entonces el bloque M0 en dos bloques M1 y M2 de 32 bits en una etapa de división 20.
Posteriormente se procede a la expansión 30 del bloque M2 para formar un bloque M3 de 48 bits. Esta expansión 30 se realiza, por ejemplo, dividiendo el bloque M2 en ocho cuartetos y añadiendo a cada cuarteto el bit extremo adyacente de los cuartetos que enmarcan al cuarteto en cuestión (siendo considerados como adyacentes los cuartetos extremos).
Paralelamente a estas operaciones, se efectúa una permutación 110 sobre los bits de la clave K1 para formar la clave K2. Los bits no significativos de la clave K1 son suprimidos simultáneamente de tal manera que la clave K2 queda sólo con 56 bits.
Según la presente invención, los bits de la clave K2 son modificados aleatoriamente en una transformación 120. Son memorizados los bits de la clave K3 correspondientes a los bits modificados de la clave K2, marcados aquí por un asterisco. La transformación aleatoria 120 es realizada por ejemplo asociando a la clave K2, por medio de un operador lógico de tipo EXCLUSIVE-OR, un número aleatorio creado por un generador de números no predecibles de la tarjeta.
Se obtiene una clave K4 por la rotación 130 de los bits de la clave K3. Después se realiza una permutación 140 sobre los bits de la clave K4 para formar la clave K5. Simultáneamente a la permutación 140, se eliminan los bits no significativos de la clave K4, de modo que la clave K5 está compuesta por 48 bits.
El procedimiento continúa por la asociación 210 del bloque M3 y de la clave K5 por medio de un operador lógico del tipo EXCLUSIVE-OR. El resultado de dicha asociación es el bloque R1.
Se realiza posteriormente la transformación inversa de los bits del bloque R1 correspondiente a los bits modificados por la transformación 120 para formar el bloque R2. Esta transformación 220 inversa de la transformación 120 se propone volver a poner los bits del bloque R1 correspondiente a los bits marcados por un asterisco en el estado en que habrían estado sin la transformación 120.
Se procede posteriormente, del modo clásico, a la división y al tratamiento 230 del bloque R2, a la permutación 240 de los bits del bloque R3 formados en la etapa 230, y a la asociación 250 del bloque R4, resultado de la etapa 240, al bloque M1 por un operador EXCLUSIVE-OR para formar el bloque R5.
El grupo de operaciones, designado de manera general por la referencia 270, se efectúa otras quince veces vinculando, en cada una de ellas, el valor del bloque M1 al bloque M2 y el valor del bloque R5 al bloque M1 en una etapa de vinculación 260.
El procedimiento se termina por la operación 300 de obtención de la información cifrada C por la permutación inversa y la reunión del bloque último M2 y del bloque último R5 obtenidos.
Se entiende que la etapa de modificación aleatoria de la clave K2 incluye la fase de transformación 120 y la fase de transformación inversa 220. Ambas fases permiten obtener una información cifrada C que no está afectada por dicha modificación aleatoria.
Del mismo modo, se podría realizar asimismo una modificación aleatoria del bloque M2 y/o de otros datos.
Según otra forma de aplicación de esta invención, que puede ser asociada a una etapa de modificación como se ha descrito anteriormente, la ejecución de al menos una operación puede ser modificada de modo aleatorio de un ciclo al otro, pudiendo ser o bien un ciclo completo de ejecución del algoritmo o bien un ciclo intermedio de ejecución de un grupo de operaciones.
Por ejemplo, puede realizarse una determinación aleatoria del orden de ejecución de determinadas operaciones en el transcurso de un ciclo de ejecución del algoritmo. Las operaciones escogidas serán aquéllas cuyo orden de ejecución de unas con relación a las otras no influya en el resultado. Para realizar esta determinación, se podrá prever al final de las operaciones escogidas un salto condicional hacia determinadas operaciones en función del valor de un número aleatorio o definir un cuadro de direcciones de las diferentes operaciones que será recorrido de modo aleatorio.
Como ejemplo, la permutación 10 de los bits del bloque mensaje M podría ser efectuada tras la permutación 110 de los bits de la clave K1 o viceversa.
Del mismo modo, se podría prever una determinación aleatoria del orden de ejecución de las operaciones del grupo 270 para cada ciclo intermedio de ejecución de éstas (16 ciclos intermedios de ejecución de dichas operaciones para un ciclo completo de ejecución del algoritmo). Aquí otra vez será necesario escoger el orden de ejecución de estas operaciones para no influir en el resultado.
Por otra parte, para algunas operaciones, se tratan los datos por elementos. Así, en la expansión 30, los bloques M2 son tratados por cuartetos. En esta operación, se puede prever la determinación aleatoria del orden de tratamiento de los diferentes cuartetos. Del mismo modo, en la permutación 140 los bits de la clave K4 son tratados individualmente. Se puede prever igualmente una etapa de determinación aleatoria del orden de tratamiento de los bits para la ejecución de esta permutación. Los cuartetos del bloque M2 pueden también ser tratados alternativamente con los bits de la clave K4, es decir, que se trata por ejemplo un primer cuarteto del bloque M2, después una serie de bits de la clave K4, después un segundo cuarteto del bloque M2, etc., memorizando en cada ocasión los elementos de datos tratados para verificar que todas las operaciones requeridas están bien ejecutadas.
Por supuesto, esta invención no se limita al modo de realización que acaba de describirse, sino que, por el contrario, engloba cualquier variante que recoja, con medios equivalentes, sus características esenciales.
Aunque la invención se haya descrito en relación con un algoritmo de tipo DES, puede aplicarse en particular a otros algoritmos simétricos que utilizan una modificación de bits. Así, al ser efectuada la modificación por medio de un operador lógico del tipo
EXCLUSIVE-OR, la longitud de los elementos de datos no transformados es idéntica a la longitud de estos elementos de datos transformados.
Además, los números de bits de los datos, sólo son mencionados a título indicativo y pueden ser modificados para ser adaptados al grado de protección deseado.
Se puede ver, además, que todos los elementos de los datos M, M0, M1, M2, M3, K1, K2, K3, K4, K5, R1, R2, R3, R4 y R5 pueden ser transformados si se les asocia, por medio del operador lógico EXCLUSIVE- OR, un número aleatorio teniendo en cuenta que, después de esta etapa de transformación aleatoria, se procederá a una etapa de transformación inversa de tal manera que la información cifrada C no sea alterada por dichas transformaciones.
Concretamente, los elementos de datos pueden ser claves K1, K2, K3, K4, K5 o bloques de mensaje M, M0, M1, M2, M3 o bloques de mensajes asociados a una clave por un operador lógico del tipo EXCLUSIVE-OR R1, R2, R3, R4, R5.
Finalmente se puede ver que si bien la etapa de transformación aleatoria es una etapa previa al grupo de operaciones ejecutado varias veces y si bien la etapa de transformación inversa es una etapa posterior a dicho grupo de operaciones, basta con generar un número aleatorio una vez y tratar el bloque de mensaje M con el algoritmo para obtener una información cifrada, ya que esto modifica todos los elementos de datos del bloque. La cadena de datos queda protegida de principio a fin. Además, al no multiplicar las etapas de transformación y la cantidad de números aleatorios generados, el algoritmo es aplicado rápidamente, lo que es necesario en el caso de una tarjeta con microprocesador en la que la duración de la ejecución de un algoritmo debe ser mínima.

Claims (10)

1. Procedimiento de protección de datos (M) que utiliza, en un microprocesador de una tarjeta, un algoritmo criptográfico de ejecución de operaciones de tratamiento de elementos de datos (M, M0, M1, M2, M3, K1, K2, K3, K4, K5, R1, R2, R3, R4, R5,) para elaborar una información cifrada (C), y caracterizado porque incluye al menos, por una parte, una etapa de transformación (120) aleatoria de bits de al menos uno de los elementos de datos (K2) asociando a dicho elemento de datos (K2), por medio de un operador lógico del tipo EXCLUSIVE-OR, un número aleatorio y, por otra parte, posteriormente a esta etapa de transformación aleatoria, una etapa de transformación inversa (220), de tal manera que la información cifrada (C) no sea alterada por estas etapas de transformación (120, 220).
2. Procedimiento de protección según la reivindicación 1, caracterizado porque un elemento de datos transformado de manera aleatoria es una clave (K1, K2, K3, K4, K5).
3. Procedimiento de protección según una de las reivindicaciones 1 ó 2, caracterizado porque un elemento de datos transformado de manera aleatoria es un bloque de mensaje (M, M0, M1, M2, M3).
4. Procedimiento de protección según una de las reivindicaciones 1, 2, ó 3, caracterizado porque un elemento de datos transformado de manera aleatoria es un bloque de mensaje asociado a una clave por un operador lógico del tipo EXCLUSIVE-OR (R1, R2, R3, R4, R5).
5. Procedimiento de protección según una de las reivindicaciones anteriores, caracterizado porque el algoritmo criptográfico de ejecución de operaciones de tratamiento de datos (M, M0, M1, M2, M3, K1, K2, K3, K4, K5, R1, R2, R3, R4, R5) incluye un grupo de operaciones (270) ejecutado varias veces.
6. Procedimiento de protección según la reivindicación 5, caracterizado porque la etapa de transformación aleatoria es una etapa previa al grupo de operaciones (270) ejecutado varias veces y porque la etapa de transformación inversa es una etapa posterior a dicho grupo de operaciones (270).
7. Procedimiento de protección según una de las reivindicaciones anteriores, caracterizado porque incluye además una etapa de modificación aleatoria del orden de ejecución de las operaciones del grupo de operaciones (270).
8. Procedimiento de protección según una de las reivindicaciones anteriores, caracterizado porque el algoritmo criptográfico es del tipo DATA
\hbox{ENCRYPTON}
STANDARD.
9. Tarjetas electrónicas que incluyen un microprocesador para aplicar un algoritmo cartográfico de ejecución de operaciones de tratamiento de elementos de datos (M, M0, M1, M2, M3, K1, K2, K3, K4, K5, R1, R2, R3, R4, R5) para elaborar una información cifrada (C); el procedimiento de protección de datos (M) incluye al menos, por una parte, una etapa de transformación (120) aleatoria de bits de al menos uno de los elementos de datos (K2) asociando a dicho elemento de datos (K2), por medio de un operador lógico del tipo EXCLUSIVE-OR, un número aleatorio, y, por otra parte, posteriormente a esta etapa de transformación aleatoria, una etapa de transformación inversa (220), de tal manera que la información cifrada (C) no sea alterada por estas etapas de transformación (120, 220)
10. Producto de programa de ordenador para un microprocesador de una tarjeta inteligente que incluye un conjunto de instrucciones y que, cuando es cargado en el microprocesador, lleva a éste a ejecutar un algoritmo criptográfico que implica operaciones de tratamiento de elementos de datos (M, M0, M1, M2, M3, K1, K2, K3, K4, K5, R1, R2, R3, R4, R5) para elaborar una información cifrada (C); las operaciones de tratamiento de elementos de datos incluyen al menos, por una parte, una etapa de transformación (120) aleatoria de bits de al menos uno de los elementos de datos (K2) asociando a dicho elemento de datos (K2), por medio de un operador lógico del tipo EXCLUSIVE-OR, un número aleatorio y, por otra parte, posteriormente a esta etapa de transformación aleatoria, una etapa de transformación inversa (220), de tal manera que la información cifrada (C) no sea alterada por estas etapas de transformación (120, 220).
ES99909029T 1998-03-17 1999-03-17 Procedimiento de proteccion de datos mediante la ejecucion de un algoritmo criptografiado. Expired - Lifetime ES2205784T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9803242A FR2776445A1 (fr) 1998-03-17 1998-03-17 Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
FR9803242 1998-03-17

Publications (1)

Publication Number Publication Date
ES2205784T3 true ES2205784T3 (es) 2004-05-01

Family

ID=9524129

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99909029T Expired - Lifetime ES2205784T3 (es) 1998-03-17 1999-03-17 Procedimiento de proteccion de datos mediante la ejecucion de un algoritmo criptografiado.

Country Status (7)

Country Link
US (2) US7073072B1 (es)
EP (1) EP1064752B1 (es)
AU (1) AU2842299A (es)
DE (1) DE69910549T2 (es)
ES (1) ES2205784T3 (es)
FR (1) FR2776445A1 (es)
WO (1) WO1999048239A1 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1050133B2 (en) * 1998-01-02 2009-05-27 Cryptography Research Inc. Leak-resistant cryptographic method and apparatus
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
JP2002519722A (ja) 1998-06-03 2002-07-02 クリプターグラフィー リサーチ インコーポレイテッド スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
US6539092B1 (en) 1998-07-02 2003-03-25 Cryptography Research, Inc. Leak-resistant cryptographic indexed key update
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
DE19837808A1 (de) * 1998-08-20 2000-02-24 Orga Kartensysteme Gmbh Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
JP2003524916A (ja) * 1998-09-30 2003-08-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 暗号処理を実行するための符号化方法
FR2789776B1 (fr) * 1999-02-17 2001-04-06 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
DE19921633A1 (de) * 1999-05-10 2000-11-16 Deutsche Telekom Ag Verfahren zur Implementierung kryptographischer Algorithmen
US6724894B1 (en) * 1999-11-05 2004-04-20 Pitney Bowes Inc. Cryptographic device having reduced vulnerability to side-channel attack and method of operating same
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis
FR2813972B1 (fr) * 2000-09-14 2003-12-12 St Microelectronics Sa Procede de brouillage de la consommation electrique d'un circuit integre
CA2327911A1 (en) * 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
FR2820577B1 (fr) * 2001-02-08 2003-06-13 St Microelectronics Sa Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
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
FR2844409B1 (fr) * 2002-09-05 2004-12-24 Sagem Protection d'une cle secrete pour algorithme d'authentification dans un radiotelephone mobile
FR2862454A1 (fr) * 2003-11-18 2005-05-20 Atmel Corp Methode de reduction modulaire aleatoire et equipement associe
FR2867635B1 (fr) 2004-03-11 2006-09-22 Oberthur Card Syst Sa Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique
FR2885711B1 (fr) * 2005-05-12 2007-07-06 Atmel Corp Procede et materiel modulaire et aleatoire pour la reduction polynomiale
FR2889349A1 (fr) * 2005-07-26 2007-02-02 St Microelectronics Sa Procede et dispositif de securisation d'un circuit integre, notamment une carte a microprocesseur
FR2897216B1 (fr) * 2006-02-08 2008-05-02 Sagem Defense Securite Protection d'un algorithme cryptographique
FR2914129B1 (fr) * 2007-03-21 2009-06-12 Oberthur Card Syst Sa Procede de traitement de donnees au sein d'une entite electronique
US8539596B2 (en) 2008-06-24 2013-09-17 Cisco Technology Inc. Security within integrated circuits
EP2234031A1 (en) * 2009-03-24 2010-09-29 SafeNet, Inc. Obfuscation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3029381B2 (ja) * 1994-01-10 2000-04-04 富士通株式会社 データ変換装置
US6049613A (en) * 1997-03-07 2000-04-11 Jakobsson; Markus Method and apparatus for encrypting, decrypting, and providing privacy for data values
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US6064740A (en) * 1997-11-12 2000-05-16 Curiger; Andreas Method and apparatus for masking modulo exponentiation calculations in an integrated circuit
US6327661B1 (en) * 1998-06-03 2001-12-04 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
EP1050133B2 (en) 1998-01-02 2009-05-27 Cryptography Research Inc. Leak-resistant cryptographic method and apparatus
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP4188571B2 (ja) * 2001-03-30 2008-11-26 株式会社日立製作所 情報処理装置の演算方法および耐タンパ演算攪乱実装方式

Also Published As

Publication number Publication date
EP1064752B1 (fr) 2003-08-20
US20060271795A1 (en) 2006-11-30
FR2776445A1 (fr) 1999-09-24
DE69910549D1 (de) 2003-09-25
US7073072B1 (en) 2006-07-04
WO1999048239A1 (fr) 1999-09-23
AU2842299A (en) 1999-10-11
DE69910549T2 (de) 2004-06-17
EP1064752A1 (fr) 2001-01-03

Similar Documents

Publication Publication Date Title
ES2205784T3 (es) Procedimiento de proteccion de datos mediante la ejecucion de un algoritmo criptografiado.
ES2344399T3 (es) Procedimiento de segurizacion de un conjunto electronico de criptografia con clave secreta contra los ataques por analisis fisico.
JP4611027B2 (ja) 不揮発性メモリモジュールを有する回路構成および不揮発性メモリモジュールにおけるデータの暗号化/暗号解読の方法
EP2207087B1 (en) Method for protecting a cryptographic device against SPA, DPA and timing attacks
US7201326B2 (en) Information processing device
KR20020085753A (ko) 반도체 집적 회로 및 집적 회로 카드의 보안성 보호 방법
ES2379100T3 (es) Procedimiento para la determinación segura de datos
JP3844116B2 (ja) 暗号化・復号化装置とicカード
US8566609B2 (en) Integrity of ciphered data
US20170046280A1 (en) Data processing device and method for protecting a data processing device against attacks
TW202109335A (zh) 記憶體裝置
ES2222353T3 (es) Procedimiento de contramedida para un microcontrolador basado en una arquitectura con "pipeline".
ES2295007T3 (es) Procedimiento de contramedida en un componente electronico que emplea un alritmo de criptografia con clave secreta.
ES2372889T3 (es) Utilización segura de datos.
ES2262502T3 (es) Procedimiento de contramedidas en un componente electronico que utiliza un algoritmo de criptografia con clave secreta.
US9900151B2 (en) Secure method for processing content stored within a component, and corresponding component
US9483663B2 (en) Countermeasure method for protecting stored data
ES2269823T3 (es) Componente electronico digital protegido contra analisis de tipo electrico.
JP2001195555A (ja) Icカードとマイクロコンピュータ
US20220237304A1 (en) Data Processing Device and Method for Processing Secret Data
ES2255296T3 (es) Procedimiento de contramedida en un componente electronico que utiliza un algoritmo de criptografia con clave secreta.
JP2000235523A (ja) 電子式データ処理用回路装置
ES2269625T3 (es) Procedimiento fundado en un algoritmo de cifrado por bloque con repeticion de rondas y dispositivo para su realizacion.
WO2005027403A1 (ja) 情報処理装置
BRPI0210673B1 (pt) método criptográfico para proteger um chip eletrônico contra fraude