FR2833120A1 - Appareil et procede de cryptage de donnees - Google Patents

Appareil et procede de cryptage de donnees Download PDF

Info

Publication number
FR2833120A1
FR2833120A1 FR0214878A FR0214878A FR2833120A1 FR 2833120 A1 FR2833120 A1 FR 2833120A1 FR 0214878 A FR0214878 A FR 0214878A FR 0214878 A FR0214878 A FR 0214878A FR 2833120 A1 FR2833120 A1 FR 2833120A1
Authority
FR
France
Prior art keywords
index
memory
data
encryption
code
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.)
Granted
Application number
FR0214878A
Other languages
English (en)
Other versions
FR2833120B1 (fr
Inventor
Sang Joon Nam
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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of FR2833120A1 publication Critical patent/FR2833120A1/fr
Application granted granted Critical
Publication of FR2833120B1 publication Critical patent/FR2833120B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

L'invention concerne un appareil pour crypter des données entre un processeur et une mémoire.Le processeur (10) comprend un module (12) destiné à crypter des données d'entrée (DATA) ou à décrypter des données cryptées (EDATA), une table de codes (13) destinée à stocker des codes secrets pour le cryptage/ décryptage de données, et des moyens de commande (14) destinés à générer un index (IND), pour l'opération de cryptage.La mémoire (20) comprend une matrice de cellules de mémoire (21) pour stocker des données cryptées par le module du processeur, et une mémoire d'état de code (22) pour stocker l'index généré dans les moyens de commande du processeur et utilisé pour le cryptage des données d'entrée.L'invention concerne également un procédé de cryptage et de décryptage de données utilisé par cet appareil.

Description

une durée prédétermince.
La présente invention concerne un appareil et un procédé pour crypter des données entre un processeur et une mémoire et, en particulier, un appareil et un procédé de cryptage de données permettant d'éviter des écritures en mémoire inutiles dues à un recryptage et de réduire une consommation d'énergie grâce à l'exécution d'un cryptage de données dynamique sans recryptage, à l'enregistrement dans une zone spéciale d'une mémoire d'un index-indiquant lequel de plusieurs codes secrets est utilisé pour crypter des données lors de l'écriture de celles-ci, à la lecture de l' index stocké lors de la lecture des données cryptées et à
l'utilisation de l' index pour décrypter celles-ci.
Un système de cryptographie sert à protéger un
système interne contre des attaques extérieures.
Par exemple, dans la société informatisce actuelle dans laquelle de plus en plus de cartes à mémoire ou cartes à puce sont distribuées, il est essentiel de protoger les informations personnelles et les informations de compte bancaire d'utilisateurs qui sont
mémorisées dans ces cartes à mémoire.
Etant donné que ces informations sont stockées dans une mémoire prédéterminée après une opération de traitement spécial, la mémoire peut être la cible
d'attaques par des agresseurs extérieurs.
Comme procédés de cryptage de donnces entre un processeur et une mémoire, on connaît un procédé de brouillage de mémoire, un procédé de brouillage de bus
et un procédé de cryptage dynamique.
Dans le procédé de brouillage de mémoire, lorsque des données sont stockées dans une mémoire, un emplacement de stockage des données est modifié à l' aide d'une adresse convertie au moyen d'un certain algorithme, en remplacement d'une adresse initiale. Par conséquent, des agresseurs extérieurs ne peuvent pas
détecter le contenu de la mémoire.
Dans le procédé de brouillage de bus, les bus prévus entre le processeur et la mémoire ne sont pas alignés de manière séquentielle. Par conséquent, même si des agresseurs extérieurs sondent les bus, ils ne
peuvent pas décrypter le contenu de ceux-ci.
Cependant, comme les procédés mentionnés ci-dessus . sont mis en oeuvre de manière statique dans la configuration des puces, il existe un risque de fuite de données par suite de tentatives et d'erreurs des agresseurs. Pour compenser les procédés de brouillage statiques, on a proposé le procédé de cryptage dynamique divulgué dans le brevet américain
n 5 987 572.
Le procédé de cryptage dynamique fait appel au recryptage. En l' absence d'une demande d'accès mémoire, des données sont lues dans une mémoire désignée par un indicateur, décryptées à l'aide d'un premier code secret, cryptées à l 'aide d'un second code secret et
réccrites dans la mémoire désignée par l'indicateur.
Le procédé de cryptage dynamique crypte les données de la zone de mémoire désignée par l'indicateur, au moyen de deux codes secrets différents. Dans ce cas, l'opération de recryptage exécutée pour renouveler des informations de code secret lorsqu'une demande d'accès mémoire n'est pas générée conserve simplement le cryptage des données. Par conséquent, le recryptage n'est pas nécessaire lors
d'une opération de cryptage de données du processeur.
En particulier, les mémoires mortes reprogrammables et effagables électriquement (EEPROM) généralement utilisées pour les cartes à puce ont un nombre d'écritures limité. Ce recryptage inutile réduit
la durée de vie des cartes à puce.
En outre, la consommation d'énergie de l'ensemble
s de la puce est augmentée par le recryptage fréquent.
La présente invention a par conséquent pour but principal de réduire une consommation d'énergie en évitant une opération d'écriture en mémoire due à un recryptage inutile lors d'un cryptage de donnces ..
dynamique entre un processeur et une mémoire.
La présente invention a pour autre but d' augmenter la durée de vie de dispositifs à mémoire, tels que des cartes à mémoire, en évitant une opération d'écriture en mémoire due à un recryptage inutile au cours d'un cryptage de données dynamique entre un processeur et
une mémoire.
Pour atteindre ce but et selon un premier aspect de la présente invention, il est proposé un appareil pour crypter des donnses entre un processeur et une mémoire, caractérisé en ce qu'il comprend un module destiné à crypter des données d'entrée ou à décrypter des donnces cryptées; une table de codes destinée à stocker des codes secrets pour le cryptage/décryptage de données; et des moyens de commande destinés à 2s générer un lndex pour l'opération de cryptage du module; et en ce que la mémoire comprend une matrice de cellules de mémoire destinée a stocker des données cryptées par le module du processeur; et une mémoire d'état de code destinée à stocker l' index généré dans les moyens de commande du processeur et utilisé pour le
cryptage des données d'entrée.
De préférence, le module comprend un multiplexeur destiné à sélectionner l'un des codes secrets stockés dans la table de codes; et des moyens opérateurs pour 3s crypter des données d'entrce ou décrypter des données cryptées stockées dans la mémoire, en fonction du code
secret sélectionné par le multiplexeur.
De préférence également, le multiplexeur sélectionne l'un des codes secrets stockés dans la table de codes en fonction de l' index généré dans les moyens de commande, au cours du cryptage, et l'un des codes secrets stockés dans la table de codes en fonction de l' index stocké dans la mémoire d'état de
code de la mémoire, au cours du décryptage.
- Conformément à une caractéristique particulière de la présenteinvention, des moyens exécutant une opération OU exclusif peuvent être utilisés comme
moyens opérateurs.
De préférence, les moyens de commande comprennent un registre destiné à stocker un index global; et des moyens d'incrémentation destinés à incrémenter une valeur de l' index utilisé pour le cryptage et à stocker
la valeur dans le registre.
De préférence également, les moyens de commande comprennent un générateur de nombres aléstoires destiné
à générer l' index.
La mémoire d'état de code peut comprendre des cellules de mémoire identiques aux cellules de mémoire
qui constituent la matrice de cellules de mémoire.
Selon un second aspect de la présente invention, il est également proposé un procédé de cryptage et de décryptage de données, caractérisé en ce que le cryptage comprend les étapes qui consistent à générer un index; à sélectionner un code secret pour le cryptage en fonction de l' index; à stocker l' index utilisé pour le cryptage dans une zone de stockage spéciale de la mémoire; et à crypter des données d'entrée à l 'aide du code secret sélectionné; et en ce que le décryptage comprend les étapes qui consistent à lire des donnéss cryptées stockées dans la mémoire; à lre l' index stocké dans la zone de stockage spéciale de la mémoire; à sélectionner un code secret pour le décryptage en fonction de l' index; et à décrypter les
donnces cryptées à l' aide du code secret sélectionné.
s L'étape de génération d' index peut comprendre les étapes qui consistent à stocker un index global; et à incrémenter une valeur de l' index à utiliser pour le
cryptage suivant.
De préférence, l'étape de génération d' index génère l' index de manière aléatoire à l'aided-e moyens
générateurs de nombres aléatoires.
Ce qui précède, ainsi que d'autres buts, caractéristiques et avantages de la présente invention,
ressortira plus clairement de la description détaillée
suivante d'un mode de réalisation préféré donnée à titre d'exemple nullement limitatif en référence aux dessins annexés dans lesquels: la figure 1 est un schéma fonctionnel d'un appareil pour exéauter un cryptage dynamique de données entre un processeur et une mémoire, conformément à la présente invention; la figure 2 est un schéma représentant une opération de cryptage de données entre le processeur et la mémoire, conformément à la présente invention; 2s la figure 3 est un schéma représentant une opération de décryptage de données entre le processeur et la mémoire, conformément à la présente lnvention; la figure 4 est un organigramme d'un procédé de cryptage de données entre le processeur et la mémoire, conformément à la présente invention; et la figure 5 est un organigramme d'un procédé de décryptage de données entre le processeur et la
mémoire, conformément à la présente invention.
Un appareil et un procédé de cryptage de données selon un mode de réalisation préféré de la présente invention vont maintenant être décrits en détail en
référence aux dessins.
En référence à la figure 1, l'appareil de cryptage de données comprend un processeur 10 et un bloc de mémoire 20. Le processeur 10 comprend une mémoire centrale 11 destinée à stocker des données DATA introduites de l'extérieur, un module de cryptage/décryptage 12 destiné à crypter les données DATA stockées dans la mémoire centrale 11, une table de codes 13 destinée à stocker des codes secrets K1 à Kn pour le cryptage/décryptage des données; et une unité de commande de cryptage de données 14 destinée à générer un index IND en vue de la sélection du code secret Ki
pour le cryptage/décryptage des donnces.
Le bloc de mémoire 20 comprend une matrice de cellules de mémoire 21 destinée à stocker des données EDATA cryptées dans le processeur 10, et une mémoire d'état de code 22 destinée à stocker l' index IND
utilisé pour le cryptage des données.
Dans ce mode de réalisation, l' index IND qui constitue les informations de cryptage dynamique de données est stocké dans la mémoire d'état de code 22 du bloc de mémoire 20. Plus précisément, l' index IND qui indique lequel de n codes secrets K1 à Kn est utilisé pour le cryptage des données est enregistré dans la mémoire d'état de code 22 lors de l'écriture des donnces. De plus, l' index IND stocké dans la mémoire d'état de code 22 est lu en même temps que les données cryptées EDATA et utilisé pour le décryptage des données. La mémoire d'état de code 22 est constituée par l'addition d'une cellule à 2N bits à chaque unité d'accès minimum (en général octale) de la mémoire. Une cellule de mémoire de la mémoire d'état de code 22 présente la même configuration que celle de la mémoire générale. La table de codes 13 comprend un registre ou une cellule de mémoire pour stocker n codes secrets K1
S à Kn.
En fonction de l' index IND délivré en sortie par l'unité de commande de cryptage de données 14 au cours du cryptage, ou de l' index IND délivré en sortie par la mémoire d'état de code 22 du bloc de mémoire 20 au l0 cours du décryptage, un code se-cret Ki -ou Km est sélectionné par l'intermédiaire d'un multiplexeur N à -1 parmi les n codes secrets K1 à Kn et est utilisé
pour le cryptage ou le décryptage.
On suppose que "n" est un nombre pouvant être IS défini arbitrairement conformément aux spécifications du système et que les n codes secrets K1 à Kn ont été générés préalablement grâce à un générateur de nombres
aléatoires (non représenté).
L'unité de commande de cryptage de donnces 14 détermine l' index IND du code secret exécutant le cryptage récl parmi les codes secrets stockés dans la table de codes 13. Dans le présent mode de réalisation, l'unité de commande de cryptage de données 14 comprend un registre à 2N bits 17 pour stocker un index global,
2s et un dispositif d'incrémentation à 2N bits 18.
Dans un autre mode de réalisation de la présente invention, l'unité de commande de cryptage de données 14 peut comprendre un générateur de nombres aléatoires
à 2N bits pour générer l' index IND.
Une valeur stockée dans le registre binaire 17 est utilisée comme index de cryptage IND au cours de l'opération d'écriture en mémoire, et incrémentée de +1 dans le dispositif d'incrémentation 18 au cours d'une opération d'écriture en mémoire suivante, puis stockée 3s dans le registre binaire 17. En vertu de l'opération de postincrémentation, même les données stockées à la même adresse peuvent être cryptées de manière dynamique à l' aide de codes secrets différents lors de chaque
opération d'écriture en mémoire.
L' index IND utilisé pour le cryptage est stocké dans la mémoire d'état de code 22 du bloc de mémoire 20 afin que le code secret utilisé pour le cryptage
corresponde au code secret utilisé pour le décryptage.
Le module de cryptage/décryptage 12 crypte les données DATA du processeur lO ou décrypte les données EDATA stoc-kées-dans la mémoire, à l' aide du code secret sélectionné à partir de la table de codes 13. Par conséquent, un code secret différent est sélectionné à chaque cryptage par l' index IND de l'unité de commande de cryptage de données 14, pour exécuter le cryptage
dynamique des données.
Une unité de cryptage/décryptage l6 crypte/décrypte les données et le code secret conformément à une opération logique OU exclusif. Etant donné que l'opération logique OU exclusif est une opération symétrique pour décrypter les donnces cryptées EDATA à l' aide du code secret utilisé pour le cryptage, les
données d'origine sont reconstituées avec précision.
Comme on peut le voir sur la figure 2 qui représente une opération de cryptage de données à l' aide de l'appareil de cryptage de données de la figure l, au cours de l'opération d'écriture de données, l' index de cryptage IND est généré dans l'unité de commande de cryptage de données 14. Dans le présent mode de réalisation, l' index de cryptage IND est incrémenté par le dispositif d'incrémentation 18 pour avoir une valeur différente à chaque opération d'écriture en mémoire et est stocké dans le registre
binaire 17.
En fonction de l' index IND généré par 1lunité de commande de cryptage de données 14, le multiplexeur 15 sélectionne pour le cryptage le code secret Ki parmi les multiples codes secrets K1 à Kn fournis par la
s table de codes 13.
L'unité de cryptage/décryptage 16 qui comporte une porte OU exclusif crypte les donnces DATA stockées dans la mémoire centrale 11 à l'aide du code secret Ki sélectionné. Les donnces cryptées EDATA sont inscrites dans la matrice de cellules de mémoire 21 du bloc -de mémoire 20. Dans le présent mode de réalisation, l' index IND utilisé pour le cryptage est également stocké dans la
mémoire d'état de code 22 du bloc de mémoire 20.
En référence à la figure 3 qui représente une opération de décryptage de données à l' aide de l'appareil de la figure 1, au cours de l'opération de lecture de données, les données cryptées EDATA stockées dans la matrice de cellules de mémoire 21 du bloc de mémoire 20 sont tout d'abord lues en méme temps que l' index IND stocké dans la mémoire d'état de code 22 du
bloc de mémoire 20.
En fonction de l' index IND lu dans la mémoire d'état de code 22 du bloc de mémoire 20, le 2s multiplexeur 15 sélectionne à partir de la table de codes 13 le même code secret Km que celui utilisé pour
les données cryptées EDATA.
Etant donné que le même index IND est utilisé pour sélectionner le code secret destiné au cryptage et au décryptage, le même code est utilisé pour crypter/décrypter les mêmes données. Par conséquent, les données cryptées EDATA sont reconstituces exactement sous là forme des donnces initiales DATA par
l'opération de décryptage.
Le procédé de cryptage dynamique de donnces entre le processeur et la mémoire, selon la présente invention, va maintenant être décrit en référence à
l'organigramme de la figure 4.
s L'unité de commande de cryptage de données 14 génère l' index de cryptage IND au cours de l'étape S1, puis génère et stocke un index IND' en vue de son
utilisation ultérieure.
En fonction de l' index IND généré dans l'unité de commande de cryptage de données 14, le multiplexeur 1$ sélecti-onne-le code secret Ki parmi les multiples codes secrets K1 à Kn stockés dans la table de codes 13, au
cours de l'étape S2.
L' index IND utilisé pour le cryptage est stocké dans la mémoire d'état de code 22 du bloc de mémoire 20
au cours de l'étape S3.
Les données d'entrce DATA sont cryptées à l 'aide
du code secret Ki sélectionné, au cours de l'étape S4.
Les données cryptées EDATA sont stockées dans la matrice de cellules de mémoire 21 du bloc de mémoire 20
au cours de l'étape S5.
Le procédé de décryptage dynamique de donnces entre le processeur et la mémoire, conformément à la présente invention, va maintenant étre décrit en
référence à l'organigramme de la figure 5.
Les données cryptées EDATA stockées dans la matrice de cellules de mémoire 21 du bloc de mémoire 20 sont lues au cours de l'étape S11. Conformément au procédé de décryptage dynamique de l' invention, l' index IND stocké dans la mémoire d'état de code 22 du bloc de
mémoire 20 est lui aussi lu au cours de l'étape S12.
En fonction de l' index IND, le multiplexeur 15 sélectionne pour le décryptage le code secret Km parmi les multiples codes secrets K1 à Kn au cours de l'étape S13. Les données cryptées EDATA sont décryptées à l aide du code secret Km sélectionné, et les données décryptées sont déllvrées en sortie au cours de l'étape S14. s Comme cela a été expliqué précédemment, l'appareil et le procédé proposés par la présente invention pour crypter les données entre le processeur et la mémoire permettent d'éviter une écriture en mémoire inutile due au recryptage, et de réduire une consommation d'énergie grâce à l'enregistrement de l' index indiquant celui des multiples codes- secrets qui est utilisé pour le cryptage des données, dans la mémoire d'état de code qui constitue la zone de mémoire spéciale au cours de l'écriture des données, à la lecture de l' index stocké dans la mémoire d'état de code au cours de la lecture des données et à l'utilisation de l' index pour le décryptage.
Bien que la description précédente ait porté sur
un mode de réalisation préféré de la présente invention, celle-ci n'est bien entendu pas limitée à l'exemple particulier décrit et illustré ici et l'homme de l'art comprendra aisément qu'il est possible d'y apporter de nombreuses variantes et modifications sans
pour autant sortir du cadre de l' invention.

Claims (10)

REVENDI CAT IONS
1. Appareil pour crypter des données entre un processeur et une mémoire, caractérisé en ce que le processeur (10) comprend: un module (12) destiné à crypter des données d'entrée ou à décrypter des donnces cryptées; une table de codes (13) déstinée à stocker des codes secrets pour le cryptage/décryptage de données; ; et : - des moyens de commande (14) destinés à générer un index pour l'opération de cryptage du module; et ence que la mémoire (20) comprend: une matrice de cellules de mémoire (21) destinée à stocker des données cryptées par le module du processeur; et une mémoire d'état de code (22) destinée à stocker l' index généré dans les moyens de commande du processeur et utilisé pour le cryptage des données d'entrée.
2. Appareil selon la revendication 1, caractérisé en ce que le module (12) comprend: un multiplexeur (15) destiné à sélectionner l'un des codes secrets stockés dans la table de codes (13); et des moyens opérateurs (16) destinés à crypter des données d'entrée ou à décrypter des données cryptées stockées dans la mémoire, en fonction du code
secret sélectionné par le multiplexcur.
3. Appareil selon la revendication 2, caractérisé en ce que le multiplexeur (15) sélectionne l'un des codes secrets stockés dans la table de codes (13) en fonction de l' index généré dans les moyens de commande (14), au cours du cryptage, et l'un des codes secrets stockés dans la table de codes en fonction de l' index stocké dans la mémoire d'état de code (22) de la
mémoire, au cours du décryptage.
4. Appareil selon la revendication 2, caractérisé en ce que des moyens exécutant une opération OU exclusif sont utilisés comme moyens opérateurs (16).
5. Appareil selon la revendication 1, caractérisé en ce que les moyens de commande (14) comprennent: un registre (17) destiné à stocker un index global; et des moyens d'incrémentation (18) destinés à incrémenter une valeur de l' index utilisé pour le
cryptage, et à stocker la valeur dans le registre (17).
6. Apparei.l selon la revendication 1, caractérisé en ce que les moyens de commande (14) comprennent un
générateur de nombres aléatoires pour générer l' index.
7. Appareil selon la revendication 1, caractérisé en ce que la mémoire d'état de code (22) comprend des cellules de mémoire identiques aux cellules de mémoire
qui constituent la matrice de cellules de mémoire (21).
8. Procédé de cryptage et de décryptage de données, caractérisé en ce que le cryptage comprend les étapes qui consistent à: générer un index (IND); sélectionner un code secret (Ki) pour le cryptage en fonction de l'index; stocker l' index (IND) utilisé pour le cryptage dans une zone de stockage spéciale d'une mémoire; et crypter des données d'entrée (DATA) à l 'aide du code secret (Ki) sélectionné; et en ce que le décryptage comprend les étapes qui consistent à: lire des donnces cryptées (EDATA) stockéss dans la mémoire; lire l' index (IND) stocké dans la zone de stockage spéciale de la mémoire; sélectionner un code secret (Km) pour le décryptage en fonction de l' index; et décrypter les donnces cryptées (EDATA) à l' aide
du code secret (Km) sélectionné.
9. Procédé selon la revendication 8, caractérisé en ce que l'étape de génération d' index comprend les étapes qui consistent à: stocker un index global; et incrémenter une valeur de l' index à utiliser
pour le cryptage suivant.
10. Procédé selon la revendication 8, caractérisé en ce que l'étape de génération d' index génère l' index de manière aléatoire à l' aide de moyens générateurs de
FR0214878A 2001-11-30 2002-11-27 Appareil et procede de cryptage de donnees Expired - Fee Related FR2833120B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0075492A KR100445406B1 (ko) 2001-11-30 2001-11-30 데이터 암호화 장치 및 그 방법

Publications (2)

Publication Number Publication Date
FR2833120A1 true FR2833120A1 (fr) 2003-06-06
FR2833120B1 FR2833120B1 (fr) 2005-04-08

Family

ID=19716509

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0214878A Expired - Fee Related FR2833120B1 (fr) 2001-11-30 2002-11-27 Appareil et procede de cryptage de donnees

Country Status (5)

Country Link
US (1) US20030105967A1 (fr)
JP (1) JP2003198534A (fr)
KR (1) KR100445406B1 (fr)
DE (1) DE10254396A1 (fr)
FR (1) FR2833120B1 (fr)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171560B2 (en) 1998-06-22 2007-01-30 Semtek Solutions, Inc. Method and apparatus for securing and authenticating encoded data and documents containing such data
FI114061B (fi) * 2002-05-17 2004-07-30 Nokia Corp Menetelmä ja järjestelmä digitaalisessa langattomassa tiedonsiirtoverkossa datasalauksen järjestämiseksi ja vastaava palvelin
JP4263976B2 (ja) * 2003-09-24 2009-05-13 株式会社東芝 オンチップマルチコア型耐タンパプロセッサ
DE10345454A1 (de) * 2003-09-30 2005-04-28 Infineon Technologies Ag Wortindividuelle Schlüsselerzeugung
US7562230B2 (en) * 2003-10-14 2009-07-14 Intel Corporation Data security
KR100585135B1 (ko) * 2004-02-28 2006-06-01 삼성전자주식회사 불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법
US7543158B2 (en) * 2004-03-23 2009-06-02 Texas Instruments Incorporated Hybrid cryptographic accelerator and method of operation thereof
US7506812B2 (en) 2004-09-07 2009-03-24 Semtek Innovative Solutions Corporation Transparently securing data for transmission on financial networks
US7711965B2 (en) * 2004-10-20 2010-05-04 Intel Corporation Data security
KR20060066626A (ko) * 2004-12-13 2006-06-16 엘지전자 주식회사 컨텐트의 암호/해독을 위한 키를 기록하고 사용하는 방법및 장치와 그 방법에 의해 키가 기록되어 있는 기록매체
EP1825470A4 (fr) * 2004-12-13 2009-04-29 Lg Electronics Inc Procede et dispositif pour ecrire et utiliser des cles servant a chiffrer/dechiffrer du contenu, et support d'enregistrement stockant les cles ecrites a l'aide du procede
AU2005317447A1 (en) * 2004-12-13 2006-06-22 Lg Electronics Inc. Method and apparatus for writing and using keys for encrypting/decrypting a content and a recording medium storing keys written by the method
KR20060066627A (ko) * 2004-12-13 2006-06-16 엘지전자 주식회사 컨텐트의 암호/해독을 위한 키를 기록하고 사용하는 방법및 장치와 그 방법에 의해 키가 기록되어 있는 기록매체
JP2008530663A (ja) * 2005-02-11 2008-08-07 ユニバーサル データ プロテクション コーポレーション マイクロプロセッサのデータセキュリティの方法およびシステム
US20060194603A1 (en) * 2005-02-28 2006-08-31 Rudelic John C Architecture partitioning of a nonvolatile memory
US8165302B2 (en) * 2005-06-07 2012-04-24 Sony Corporation Key table and authorization table management
EP1785902B1 (fr) * 2005-10-28 2010-05-05 Emma Mixed Signal C.V. Contrôle d'accès par table à clé de décryptage sur ASIC ou ASSP
US8001591B2 (en) * 2006-01-31 2011-08-16 Freescale Semiconductor, Inc. Distributed resource access protection
US20070239605A1 (en) * 2006-04-06 2007-10-11 Peter Munguia Supporting multiple key ladders using a common private key set
US8769275B2 (en) 2006-10-17 2014-07-01 Verifone, Inc. Batch settlement transactions system and method
US9361617B2 (en) 2008-06-17 2016-06-07 Verifone, Inc. Variable-length cipher system and method
US9123042B2 (en) * 2006-10-17 2015-09-01 Verifone, Inc. Pin block replacement
US20080288403A1 (en) * 2007-05-18 2008-11-20 Clay Von Mueller Pin encryption device security
US8355982B2 (en) 2007-08-16 2013-01-15 Verifone, Inc. Metrics systems and methods for token transactions
EP2028603B1 (fr) 2007-08-20 2011-07-13 NTT DoCoMo, Inc. Support d'adaptateur de stockage externe
JP2009064055A (ja) * 2007-09-04 2009-03-26 Hitachi Ltd 計算機システム及びセキュリティ管理方法
KR101012770B1 (ko) * 2008-05-16 2011-02-08 한국표준과학연구원 가변압력을 이용한 건조기 및 이를 이용한 건조방법
EP2300954B1 (fr) * 2008-06-24 2014-12-03 NDS Limited Sécurité dans des circuits intégrés
US8144940B2 (en) 2008-08-07 2012-03-27 Clay Von Mueller System and method for authentication of data
JP4648461B2 (ja) * 2009-01-30 2011-03-09 株式会社東芝 磁気ディスク装置及び同装置における暗号鍵更新方法
US8251283B1 (en) 2009-05-08 2012-08-28 Oberon Labs, LLC Token authentication using spatial characteristics
WO2012161505A1 (fr) * 2011-05-23 2012-11-29 Samsung Electronics Co., Ltd. Procédé et appareil destinés à l'authentification d'un dispositif à mémoire non volatile
KR101878682B1 (ko) * 2011-11-14 2018-07-18 삼성전자주식회사 컨텐츠를 보호하기 위한 방법 및 저장 매체
KR101329084B1 (ko) * 2012-05-17 2013-11-14 한국전자통신연구원 무중단 암호통신을 위한 암복호 통신 방법 및 장치
US9672519B2 (en) 2012-06-08 2017-06-06 Fmr Llc Mobile device software radio for securely passing financial information between a customer and a financial services firm
KR102218715B1 (ko) * 2014-06-19 2021-02-23 삼성전자주식회사 채널별로 데이터를 보호할 수 있는 반도체 장치
KR101625018B1 (ko) 2014-09-30 2016-05-30 칩스브레인글로벌주식회사 데이터 암호화 장치 및 방법, 그를 이용한 컴퓨팅 장치 및 통신 장치
KR101828234B1 (ko) * 2016-04-05 2018-02-12 주식회사 다산네트웍스 시각 동기 기반의 차량용 전자 제어 시스템, 장치 및 방법
KR101932680B1 (ko) * 2018-09-27 2018-12-26 (주)아이엔아이 데이터를 안전하게 보호하는 암호화 키 생성 모듈
KR102285885B1 (ko) * 2019-05-22 2021-08-05 주식회사 디지트로그 무선 데이터 통신용 대칭형 양자 암호화 키 기반 암호화 장치
CN111556071B (zh) * 2020-05-12 2020-12-04 深圳市汇智通咨询有限公司 一种用于计算机的数据加密算法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4731840A (en) * 1985-05-06 1988-03-15 The United States Of America As Represented By The United States Department Of Energy Method for encryption and transmission of digital keying data
US5222137A (en) * 1991-04-03 1993-06-22 Motorola, Inc. Dynamic encryption key selection for encrypted radio transmissions
US5987572A (en) * 1997-09-29 1999-11-16 Intel Corporation Method and apparatus employing a dynamic encryption interface between a processor and a memory

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253294A (en) * 1983-02-22 1993-10-12 At&T Bell Laboratories Secure transmission system
US4853962A (en) * 1987-12-07 1989-08-01 Universal Computer Consulting, Inc. Encryption system
US5265162A (en) * 1990-01-16 1993-11-23 George Bush Portable pin card
US5365589A (en) * 1992-02-07 1994-11-15 Gutowitz Howard A Method and apparatus for encryption, decryption and authentication using dynamical systems
JPH104403A (ja) * 1996-06-17 1998-01-06 N T T Data Tsushin Kk 暗号化装置、復号化装置およびその方法
KR100201396B1 (ko) * 1996-07-20 1999-06-15 구본준 이피롬의 비화코드 해독 방지회로
US5970147A (en) * 1997-09-30 1999-10-19 Intel Corporation System and method for configuring and registering a cryptographic device
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US7457415B2 (en) * 1998-08-20 2008-11-25 Akikaze Technologies, Llc Secure information distribution system utilizing information segment scrambling
JP4206529B2 (ja) * 1998-09-17 2009-01-14 ソニー株式会社 コンテンツ管理方法及びコンテンツ記憶システム
US6490353B1 (en) * 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
US6094368A (en) * 1999-03-04 2000-07-25 Invox Technology Auto-tracking write and read processes for multi-bit-per-cell non-volatile memories
DE50015839D1 (fr) * 1999-12-02 2010-02-25 Infineon Technologies Ag
US7005733B2 (en) * 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
JP2001325153A (ja) * 2000-05-15 2001-11-22 Toyo Commun Equip Co Ltd フィールドプログラマブルゲートアレイの回路情報保護方法
US7277542B2 (en) * 2000-09-25 2007-10-02 Broadcom Corporation Stream cipher encryption application accelerator and methods thereof
JP2002344441A (ja) * 2001-05-11 2002-11-29 Ricoh Co Ltd ディジタルデータ暗号システム、ディジタルデータ再生装置、ディジタルデータ暗号方法、ディジタルデータ再生方法およびそれらの方法をコンピュータに実行させるプログラム
US7594265B2 (en) * 2001-11-14 2009-09-22 Ati Technologies, Inc. System for preventing unauthorized access to sensitive data and a method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4731840A (en) * 1985-05-06 1988-03-15 The United States Of America As Represented By The United States Department Of Energy Method for encryption and transmission of digital keying data
US5222137A (en) * 1991-04-03 1993-06-22 Motorola, Inc. Dynamic encryption key selection for encrypted radio transmissions
US5987572A (en) * 1997-09-29 1999-11-16 Intel Corporation Method and apparatus employing a dynamic encryption interface between a processor and a memory

Also Published As

Publication number Publication date
US20030105967A1 (en) 2003-06-05
DE10254396A1 (de) 2003-08-21
KR100445406B1 (ko) 2004-08-25
JP2003198534A (ja) 2003-07-11
FR2833120B1 (fr) 2005-04-08
KR20030044654A (ko) 2003-06-09

Similar Documents

Publication Publication Date Title
FR2833120A1 (fr) Appareil et procede de cryptage de donnees
US8175276B2 (en) Encryption apparatus with diverse key retention schemes
JP4500306B2 (ja) 解読待ち時間が削減されたメモリ暗号化のための装置及び方法
US7444480B2 (en) Processor, memory device, computer system, and method for transferring data
US20190384939A1 (en) Data Protection Device and Method and Storage Controller
EP1617586B1 (fr) Chiffrement en continu du contenu d'une mémoire externe à un processeur
EP0800691A1 (fr) Procede pour la mise en uvre d'un protocole de communication a cle secrete entre deux dispositifs de traitement
FR2995111A1 (fr) Protection contre canaux auxiliaires
EP3555743B1 (fr) Procédé d'exécution par un microprocesseur d'un code machine polymorphique d'une fonction prédéterminée
US8090108B2 (en) Secure debug interface and memory of a media security circuit and method
FR2979443A1 (fr) Microcontroleur securise a base de mode
US7657034B2 (en) Data encryption in a symmetric multiprocessor electronic apparatus
US8607068B2 (en) Method of storing data in a memory device and a processing device for processing such data
EP1355446B1 (fr) Chiffrement du contenu d'une mémoire externe à un processeur
EP1615369A1 (fr) Chiffrement par blocs du contenu d'une mémoire externe à un processeur
CN116070293A (zh) 一种通过芯片加密进行固件保护的处理方法和装置
WO2015032921A1 (fr) Procédé de gestion de cohérence de caches
CN108920967B (zh) 一种数据处理方法、装置、终端和计算机存储介质
EP2088732A1 (fr) Appareil et procédé de traitement de données sécurisées
FR3078419A1 (fr) Procede et circuit de realisation d'une operation de substitution
FR3078463A1 (fr) Procede et dispositif de realisation d'operations en table de substitution
EP1493072B1 (fr) Procede et dispositif de protection de donnees numeriques stockees dans une memoire
EP4242884A1 (fr) Procédé de protection contre les attaques par canaux auxiliaires
EP4068681A1 (fr) Procédé et dispositif pour le déchiffrement sécurisé de données chiffrées
CN114817869A (zh) 程序处理装置、方法、计算机设备、存储介质及程序产品

Legal Events

Date Code Title Description
TP Transmission of property
ST Notification of lapse

Effective date: 20070731