FR2858731A1 - Procede et appareil de cryptage - Google Patents

Procede et appareil de cryptage Download PDF

Info

Publication number
FR2858731A1
FR2858731A1 FR0408630A FR0408630A FR2858731A1 FR 2858731 A1 FR2858731 A1 FR 2858731A1 FR 0408630 A FR0408630 A FR 0408630A FR 0408630 A FR0408630 A FR 0408630A FR 2858731 A1 FR2858731 A1 FR 2858731A1
Authority
FR
France
Prior art keywords
circuit
encryption
encryption performed
encrypted data
respect
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
FR0408630A
Other languages
English (en)
Other versions
FR2858731B1 (fr
Inventor
Sung Woo Lee
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of FR2858731A1 publication Critical patent/FR2858731A1/fr
Application granted granted Critical
Publication of FR2858731B1 publication Critical patent/FR2858731B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/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/004Countermeasures against attacks on cryptographic mechanisms for 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/12Details relating to cryptographic hardware or logic circuitry

Landscapes

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

Abstract

Procédé et appareil de cryptage effectuant une opération de chevauchement, une opération à horloge variable et une combinaison des deux opérations. Dans le procédé de cryptage utilisant la technique de chevauchement, des première à N-ème sources de défauts affectent des premier à N-ème cycles d'un premier moteur matériel (430, 530) pour fournir un premier texte chiffré. Les second à (N+1)-ème sources de défauts affectent alors des premier à N-ème cycles d'un second moteur matériel (440, 540), pour fournir un second texte chiffré. Les premier et second textes chiffrés sont comparés et s'ils sont identiques, le premier ou le second texte chiffré est fourni. Les premier et second moteurs matériels (430, 530) exploitent un algorithme DES. Comme décrit ci-dessus, si les premier et second textes chiffrés sont identiques, le premier ou le second texte chiffré est fourni. Par conséquent, cela conduit à un algorithme de cryptage de grande stabilité.

Description

1.
Certains modes de réalisation de la présente invention concernent un procédé de cryptage mis en oeuvre par chevauchement ou utilisation d'une horloge variable. La présente demande revendique priorité sur la demande de 5 brevet coréenne N 2003-55031 déposée le 8 Août 2003 auprès de l'Office Coréen de la Propriété Intellectuelle, sa divulgation étant mentionnée ici dans sa totalité à titre de référence.
L'algorithme défini par la Norme de Cryptage de 10 Données (DES) est utilisé en tant que procédé de cryptage et est important dans les réseaux de communications. Par exemple, l'algorithme DES est utilisé dans des applications Internet sécurisées, des serveurs d'accès distants, des modems-cables, et des modems-satellites. L'algorithme DES 15 reçoit en entrée un bloc de 64 bits et fournit en sortie un bloc de 64 bits. Parmi les 64 bits, 56 bits sont utilisés pour le cryptage et le décryptage. Les 8 bits restants sont utilisés pour le contrôle de parité. Un système DES est un appareil de cryptage qui reçoit un bloc de texte clair à 64 20 bits et une clé à 56 bits et délivre un texte chiffré à 64 bits.
Comme exemples de techniques mettant en oeuvre l'algorithme DES, on peut citer la permutation (par exemple par la méthode P-Box), la substitution (par exemple par la 25 méthode S-Box), et la planification de clés pour générer des sous-clés. Pendant le cryptage de données, 16 cycles (rounds) d'opérations répétitives sont effectués. Une partie d'entrée effectue une permutation initiale (IP) et une partie de sortie effectue une permutation initiale (IP) 30 inverse.
La figure 1 représente un schéma fonctionnel d'un appareil de cryptage qui met en oeuvre un algorithme DES.
En premier lieu, la partie 110 effectuant la permutation initiale (IP) permute un bloc de texte clair de 64 bits. 35 Après cela, la partie de transformation 120 divise le bloc de texte clair à 64 bits en deux blocs de 32 bits. L'un des blocs de 32 bits est stocké dans le registre de variable de gauche (L0), tandis que l'autre bloc de 32 bits est stocké dans le registre de variable de droite (R0). 16 cycles d'une transformation du produit qui utilise une fonction de 5 chiffrage (f) et 16 cycles d'une transformation de blocs sont ensuite effectués. La transformation de blocs est exécutée en croisant les variables de gauche et de droite Li et Ri (où i est un entier allant de 1 à 16) l'une avec l'autre. La partie 130 effectuant la permutation initiale 10 inverse (IP1) crypte le résultat des transformations précédentes en utilisant une permutation initiale inverse et délivre le texte chiffré.
Des transformations de produits sont effectuées par la fonction de chiffrage (f) 121 et par la partie 122 15 effectuant un OU exclusif (OUX). La fonction de chiffrage (f) 121 reçoit les données d'un bloc à 32 bits de la variable de droite Ri provenant d'un registre Ri en association avec la sous-clé Ki et exécute un algorithme de cryptage. La sous-clé Ki est produite par un planificateur 20 de clé. La partie XOR 122 applique une opération OUX au résultat de la fonction de chiffrage (f) 121 et à la sortie d'un registre Li. Le OUX délivre le résultat de l'opération OUX au registre de variable de droite, puis au registre Ri.
Plus précisément, les données du bloc de 32 bits obtenues 25 par la partie OUX 122 sont transférées vers et stockées dans un registre de variable de droite (Ri+,). Les données à 32 bits stockées dans le registre Ri sont transférées vers et stockées dans un registre de variable de gauche (Li+1).
Cet algorithme correspond à un cycle, et 16 cycles sont 30 exécutés conformément à l'algorithme DES.
Lorsqu'un bloc de texte clair à 64 bits est traité par la partie IP 110, il est divisé en deux blocs. Ces deux blocs sont stockés dans les registres L0 et R0, chacun des 16 cycles étant exprimé par les équations 1 et 2 35 suivantes: Li = Ri-,, i=1, 2, ..., 16..(1) Ri = Li- p f(Ri-,Ki), i=1,2,..., 16... (2) La figure 2 illustre un planificateur de clé qui 5 génère une sous-clé Ki (où i est un entier allant de 1 à 16). Le planificateur de clé comprend la première partie 200 effectuant un choix de permutation (PC), la partie 210 effectuant une opération de base, et la seconde partie PC 220. La première partie PC 200 reçoit et permute une clé à 10 56 bits. La partie 210 effectuant l'opération de base divise un bloc de clé à 56 bits, permuté par la première partie PC 200 en deux blocs de 28 bits. La partie effectuant l'opération de base stocke le premier bloc à 28 bits dans un registre de variable (Co) et stocke le second 15 bloc à 28 bits dans un registre de variable (Do). La partie 210 effectuant l'opération de base produit des sous-clés à 48 bits qui sont exigées par une opération effectuée par la fonction de chiffrage pendant les 16 cycles de la transformation de produits. Pour assurer cette production 20 de sous-clés, des dispositifs de décalage à gauche 213 et 214 de la partie 210 effectuant l'opération de base décalent vers la gauche une variable de gauche (Ci) d'un registre Ci 211 et une variable de droite (Di) d'un registre Di 212, respectivement, d'une ou deux positions. 25 Les dispositifs de décalage à gauche 213 et 214 stockent les variables de gauche et de droite décalées à gauche Ci et Di dans un registre de variable de gauche (Ci+l) et dans un registre de variable de droite (Di+l), respectivement.
Les secondes parties PC 220 reçoivent des blocs à 28 bits 30 des variables de gauche et de droite Ci et Di, décalées à gauche lors de chaque cycle. La seconde partie PC 220 délivre des sous-clés à 48 bits Ki. Pendant les 16 cycles, les variables de gauche et de droite Ci et Di sont décalées de 28 positions. Par conséquent, la variable de gauche C16 35 est identique à la variable de gauche C0 et la variable de droite D16 est identique à la variable de droite Do.
La figure 3 est un schéma fonctionnel de l'architecture d'un noyau général de type DES. Se référant à la figure 3, la fonction de chiffrage (f) comprend la partie 300 effectuant une permutation avec expansion, la 5 partie OUX 310, la partie 320 effectuant une permutation SBox, et la partie 330 effectuant une permutation P-Box. La partie 300 effectuant la permutation avec expansion recopie certains des 32 bits de la variable de droite Ri- reçue d'un registre Ri-1 pour permuter la variable de droite Ri- à 10 32 bits afin de fournir une variable de droite à 48 bits.
La partie OUX 310 effectue une opération OUX sur le résultat de la permutation effectuée par la partie 300 effectuant la permutation avec expansion et sur une sousclé à 48 bits produite lors de chaque cycle par un 15 planificateur de clé. La partie 320 effectuant la permutation S-Box substitue un bloc de 32 bits à un bloc de 48 bits obtenu par la partie OUX 310. La partie 330 effectuant la permutation P-Box permute le bloc de 32 bits obtenu par la partie 320 effectuant la permutation S-Box, 20 et fournit un bloc de 32 bits permuté. Le bloc de 32 bits fourni par la partie 330 effectuant la permutation P-Box est soumis à une opération OUX avec une variable de gauche à 32 bits Li- stockée dans un registre Li-1. Le résultat de l'opération OUX est stocké en tant que variable de droite 25 Ri dans un registre Ri. Une variable de droite à 32 bits Ri-1 stockée dans le registre Ri- est transférée vers et stockée dans un registre Li.
La cryptanalyse différentielle et la cryptanalyse linéaire sont largement répandues en tant qu'algorithmes 30 permettant d'attaquer l'algorithme de cryptage DES. Comme ces algorithmes d'attaque du cryptage sont basés sur la vulnérabilité de l'algorithme DES, ils ne sont pas appropriés pour les attaques effectuées sur le cryptage.
Des attaques visant des défauts sont récemment apparues en 35 tant que méthodes d'attaque efficaces d'un algorithme de cryptage à clé publique tel que l'algorithme de cryptage RSA. Eli Biham, qui a conçu la cryptanalyse différentielle, a proposé une attaque de défaut différentielle (DFA) par laquelle l'attaque d'un défaut est appliquée à une technique de cryptage par bloc, comme dans le cas de 5 l'algorithme DES. L'attaque d'un défaut permet de détecter une clé en utilisant plusieurs centaines de paires d'un texte clair, ce qui représente une quantité beaucoup plus faible que dans le cas de méthodes d'attaque utilisant des techniques apparentées. Par conséquent, l'attaque d'un 10 défaut est plus puissante que d'autres méthodes d'attaque théoriques. De ce fait, un appareil et un procédé de cryptage résistant à une attaque DFA est nécessaire.
Des aspects de certains modes de réalisation de la présente invention fournissent un procédé de cryptage 15 permettant de mettre en oeuvre une opération de chevauchement afin d'empêcher toute fuite d'une valeur de clé due à des défauts artificiels et naturels. Des aspects de certains modes de réalisation de l'invention fournissent un procédé de cryptage permettant de mettre en oeuvre une 20 opération à horloge variable. Des aspects de certains modes de réalisation de la présente invention fournissent un procédé de cryptage permettant de mettre en oeuvre simultanément une opération de chevauchement et/ou une opération à horloge variable.
Conformément à des modes de réalisation de l'invention, on utilise un procédé de cryptage mettant en oeuvre une opération de chevauchement. Ce procédé de cryptage peut consister à fournir séquentiellement des première à N-ème sources de défauts à des premier à N-ème 30 cycles d'un premier moteur matériel, respectivement, pour fournir un premier texte chiffré, à fournir séquentiellement les secondes à (N+1)-ème sources de défauts à des premier à N-ème cycles d'un second moteur matériel, respectivement, pour fournir un second texte 35 chiffré, et à comparer les premier et second textes chiffrés pour fournir le premier (ou le second) texte chiffré si les premier et second textes chiffrés sont identiques.
Dans certains modes de réalisation, certains de N cycles de chacun des premier et second moteurs matériels 5 peuvent consister à diviser un bloc de texte clair en deux sous-blocs et à stocker un sous-bloc dans un registre de gauche, et l'autre dans un registre de droite, à exécuter une opération de cryptage en appliquant une fonction de chiffrage à des données stockées dans le registre de droite 10 et à une sous-clé, à appliquer une opération OU exclusif au résultat de la fonction de chiffrage et à la sortie du registre de gauche, à stocker le résultat de l'opération OU exclusif dans un registre de droite lors du cycle suivant, et à transférer des données stockées dans le registre de 15 droite vers un registre de gauche lors du cycle suivant. Ce cycle se répète N fois. Par conséquent, chacun des premier et second moteurs matériels effectue des premier à N-ème cycles d'une opération de cryptage.
Conformément à des modes de réalisation de 20 l'invention, les premier et second moteurs matériels fonctionnent conformément à un algorithme de cryptage par bloc qui peut distinguer des cycles (par exemple un algorithme conforme à la norme de cryptage de données (DES)). Les première à (N+1)-ème sources de défauts peuvent 25 être des variations ambiantes (par exemple un choc thermique, un choc barométrique, de l'énergie radiofréquence (RF), un bombardement par des ions lourds, un rayonnement ultraviolet et de l'énergie laser). Ces variations ambiantes attaquent les premier et second 30 moteurs matériels de sorte que différents défauts sont générés dans les cycles de fonctionnement qui leur correspondent. Par conséquent, les premier et second moteurs matériels obtiennent des résultats d'opérations différents, ce qui empêche l'utilisation d'un texte chiffré 35 défectueux. Conformément à des modes de réalisation de l'invention, le procédé de cryptage consistant à mettre en oeuvre une opération de chevauchement consiste en outre à empêcher la fourniture de textes chiffrés si les premier et second textes chiffrés sont différents. Le texte clair est composé de 64 bits et le texte clair à 64 bits est divisé en deux sous-blocs de 32 bits.
Conformément à des modes de réalisation de l'invention, celle-ci fournit un procédé de cryptage pour mettre en oeuvre une opération à horloge variable. Le procédé peut consister à fournir séquentiellement des 10 première à N-ème sources de défauts à des premier à N-ème cycles d'un premier moteur matériel, respectivement, en réponse à un premier signal d'horloge pour fournir un premier texte chiffré, à fournir séquentiellement les première à N-ème sources de défauts à des premier à N-ème 15 cycles d'un second moteur matériel, respectivement en réponse à un second signal d'horloge pour fournir un second texte chiffré, et à comparer les premier et second textes chiffrés et à fournir le premier (ou le second) texte chiffré si les premier et second textes chiffrés sont 20 identiques.
Chacun des N cycles de chacun des premier et second moteurs matériels peut consister à diviser un bloc de texte clair en deux sous-blocs et à stocker un sous-bloc dans un registre de gauche et l'autre dans un registre de droite, à 25 exécuter une opération de cryptage en appliquant une fonction de chiffrage à des données stockées dans le registre de droite et à une sous-clé, à appliquer une opération OU exclusif au résultat de la fonction de chiffrage et à la sortie du registre de gauche, en stockant 30 le résultat de l'opération OU exclusif dans un registre de droite lors du cycle suivant, et en transférant des données stockées dans le registre de droite vers un registre de gauche lors du cycle suivant. Ce cycle se répète N fois.
par conséquent, chacun des premier et second moteurs 35 matériels effectue des premier à N-ème cycles d'une opération de cryptage.
Conformément à des modes de réalisation de l'invention, dans un procédé de cryptage mettant en oeuvre une opération à horloge variable, les opérations de cryptage des premier et second moteurs matériels peuvent 5 être réglés pour commencer en des points différents dans le temps, comme le procédé de cryptage mettant en oeuvre des opérations se chevauchant. Lors de la mise en oeuvre d'une opération à horloge variable, les vitesses des horloges de fonctionnement des premier et second moteurs matériels sont 10 différentes. Par conséquent, lorsqu'un attaquant applique une source de défaut aux premier et second moteurs matériels, un défaut correspondant est généré en des points de fonctionnement différents dans le temps pour les premier et second moteurs matériels, de sorte qu'ils obtiennent des 15 résultats d'opérations différents. La mise en oeuvre d'une opération à horloge variable peut consister à empêcher la fourniture de textes chiffrés si les premier et second textes chiffrés ne concordent pas. Le texte clair peut être composé de 64 bits et le texte clair à 64 bits peut être 20 divisé en deux sous-blocs de 32 bits.
Conformément à des modes de réalisation de l'invention, un procédé de cryptage met en oeuvre simultanément une opération de chevauchement et une opération à horloge variable. Ce procédé peut consister à 25 fournir séquentiellement des première à N-ème sources de défauts à des premier à N-ème cycles d'un premier moteur matériel, respectivement en réponse à un premier signal d'horloge, pour fournir un premier texte chiffré, à fournir séquentiellement les seconde à (N+1)-ème sources de défauts 30 à des premier à N-ème cycles d'un second moteur matériel, respectivement en réponse à un second signal d'horloge pour fournir un second texte chiffré, à comparer les premier et second textes chiffrés et à fournir le premier (ou le second) texte chiffré si les premier et second textes 35 chiffrés sont identiques.
Chacun des N cycles de chacun des premier et second moteurs matériels peut consister à diviser un bloc de texte clair en deux sous-blocs et à stocker un sous-bloc dans un registre de gauche et l'autre dans un registre de droite, à 5 exécuter une opération de cryptage en appliquant une fonction de chiffrage à des données stockées dans le registre de droite et à une sous-clé, à appliquer une opération OU exclusif au résultat de la fonction de chiffrage et à la sortie du registre de gauche, à stocker 10 le résultat de l'opération OU exclusif dans un registre de droite lors du cycle suivant, et à transférer les données stockées dans le registre de droite vers un registre de gauche lors du cycle suivant. Ce cycle se répète N fois et chacun des premier et second moteurs matériels peut 15 effectuer des premier à N-ème cycles d'opérations de cryptage.
Dans un procédé de cryptage conforme à des modes de réalisation de l'invention, différentes sources de défauts sont fournies à des cycles correspondants d'opérations des 20 premier et second moteurs matériels et fonctionnent avec des fréquences d'horloge différentes. Par conséquent, il est vraisemblable que les premier et second textes chiffrés soient différents. Malgré cette possibilité, si les premier et second textes chiffrés sont identiques, le premier ou le 25 second texte chiffré est fourni, ce qui permet d'obtenir un algorithme de cryptage de grande stabilité.
La figure 1 représente un schéma fonctionnel d'un appareil de cryptage mettant en oeuvre un algorithme DES.
La figure 2 représente un schéma fonctionnel d'un 30 planificateur de clé qui génère la sous-clé Ki de la figure 1.
La figure 3 est représente un schéma fonctionnel de l'architecture d'un noyau DES.
La figure 4 illustre un exemple de moteur 35 cryptographique mettant en oeuvre une opération de chevauchement.
La figure 5 illustre un exemple de moteur cryptographique mettant en oeuvre une opération à horloge variable.
La présente invention est décrite en référence aux 5 dessins annexés qui illustrent certains modes de réalisation de l'invention. Ces modes de réalisation de l'invention sont proposés pour mieux faire ressortir l'invention.
La figure 4 est un exemple d'illustration d'un moteur 10 cryptographique mettant en oeuvre une opération de chevauchement conforme à des modes de réalisation de l'invention. Le moteur cryptographique 400 peut comporter le premier moteur matériel 430 et le second moteur matériel 440, qui utilisent N modes d'opérations de chevauchement. 15 Dans le premier moteur matériel 430, des sources de défauts F1, F2, F3, ..., Fn-1 et Fn sont fournies à des cycles respectifs. Dans le second moteur matériel 440, des sources de défauts F2, F3, ..., Fn et Fn+l sont fournies à des cycles respectifs. Les sources de défauts F1, F2, F3, ...
Fn-1, Fn et Fn+l peuvent être des variations ambiantes (par exemple un choc thermique, un choc barométrique, de l'énergie radiofréquence (RF), un bombardement par des ions lourds, un rayonnement ultraviolet, de l'énergie laser) qui attaquent individuellement les cycles pour générer des 25 défauts lors des cycles.
Le bloc de texte clair à 64 bits 410 est fourni en entrée à chacun des premier et second moteurs matériels 430 et 440. Chacun des premier et second moteurs matériels 430 et 440 présente une structure semblable à celle de la 30 partie de transformation 120 de la figure 1. Chacun des premier et second moteurs matériels 430 et 440 divise le bloc de texte clair à 64 bits 410 en deux sous-blocs de 32 bits. Chacun des premier et second moteurs matériels 430 et 440 transfère un sous-bloc au registre Li de la figure 1 et 35 l'autre au registre Ri de la figure 1. Chacun des premier et second moteurs matériels 430 et 440 effectue un cryptage des données stockées dans le registre Ri et d'une sous-clé Ki en utilisant une fonction de chiffrage (f). Chacun des premier et second moteurs matériels 430 et 440 applique une opération OUX au résultat de la fonction de chiffrage (f) 5 et à la sortie du registre Li lors d'un i-ème cycle. Chacun des premier et second moteurs matériels 430 et 440 transfère le résultat de l'opération OUX à un registre Ri+, lors d'un (i+ 1)-ème cycle et la donnée stockée dans le registre R a un registre Li+l lors du (i+l)-ème cycle. 10 Cette opération d'un cycle se répète n fois.
La première source de défauts F1 est présente pendant un premier cycle du premier moteur matériel 430. Les seconde à n-ème sources de défauts F2, F3, ..., Fn-1 et Fn sont respectivement présentes pendant les second à nème 15 cycles du premier moteur matériel 430. La seconde source de défaut F2 reçue par le second cycle du premier moteur matériel 430 est présente pendant un premier cycle du second moteur matériel 440. La troisième source de défaut F3 reçue par le troisième cycle du premier moteur matériel 20 430 este présente pendant un second cycle du second moteur matériel 440. La n-ème source de défaut Fn reçue par le nème cycle du premier moteur matériel 430 est présente pendant un (n-1)-ème cycle du second moteur matériel 440.
La (n+l)-ème source de défaut est présente pendant un n-ème 25 cycle du second moteur matériel 440. Le bloc de texte clair à 64 bits 410 est crypté par le premier moteur matériel 430 et est fourni en sortie en tant que premier texte chiffré.
Le bloc de texte clair à 64 bits 410 est également crypté par le second moteur matériel 440 et est fourni en tant que 30 second texte chiffré.
Lors du premier cycle, le premier moteur matériel 430 reçoit le bloc de texte clair à 64 bits 410 et fournit une opération affectée par un premier défaut de cycle généré du fait de la première source de défauts Fl. Lors du second 35 cycle, le premier moteur matériel 430 reçoit le résultat de l'opération affecté par le premier défaut de cycle généré lors du premier cycle. Le second cycle fournit en sortie un résultat d'opération ayant pour base la sortie du premier cycle et affecté par un second défaut de cycle généré par la seconde source de défaut F2. Enfin, lors du n-ème cycle, 5 le premier moteur matériel 430 reçoit un résultat d'opération qui est affecté par un (n-1)-ème défaut de cycle généré lors du (n-1)-ème cycle. Lors du n-ème cycle, le premier moteur matériel 430 produit en sortie le premier texte chiffré affecté par un n-ème défaut de cycle généré 10 du fait de la n-ème source de défaut Fn, comme illustré à l'étape 435.
Lors du premier cycle, le second moteur matériel 440 reçoit le bloc de texte clair à 64 bits 410 et fournit en sortie un résultat d'opération affecté par le second défaut 15 de cycle généré du fait de la seconde source de défauts F2.
Lors du second cycle, le second moteur matériel 440 reçoit le résultat d'opération qui est affecté par le second défaut de cycle généré lors du premier cycle, et fournit un résultat d'opération qui est affecté par un troisième 20 défaut de cycle généré du fait de la troisième source de défaut F3. Lors du (n-1)-ème cycle, le second moteur matériel 440 reçoit un résultat d'opération qui est affecté par un (n-2)-ème défaut de cycle généré lors du (n-2)-ème cycle, et fournit en sortie un résultat d'opération qui est 25 affecté par le n-ème défaut de cycle généré du fait de la n-ème source de défaut Fn. Lors du n-ème cycle, le second moteur matériel 440 reçoit le résultat d'opération affecté par le n-ème défaut de cycle généré lors du (n-1)-ème cycle, et fournit en sortie en tant que second texte 30 chiffré un résultat d'opération affecté par le (n+l)-ème défaut de cycle généré du fait de la (n+1)-ème source de défaut Fn+1, comme illustré à l'étape 445.
Lors de l'étape 450, les premier et second textes chiffrés sont comparés l'un à l'autre. Si les premier et 35 second textes chiffrés sont identiques, le texte chiffré identique est fourni, lors d'une étape 460. Si les premier et second textes chiffrés sont différents, aucun texte chiffré n'est fourni en sortie, lors d'une étape 470. Dans le moteur cryptographique 400, on s'attend à ce que les premier et second moteurs matériels 430 et 440 fournissent 5 des premier et second textes chiffrés qui sont identiques, en raison du fait que les algorithmes des premier et second moteurs matériels 430 et 440 sont identiques. Cependant, si des cycles correspondants des premier et second moteurs matériels 430 et 440 sont affectés par des sources de 10 défauts différentes parmi les sources F1, F2, ..., F(n-1), Fn et Fn+1, les sorties des premier et second moteurs matériels 430 et 440 sont différentes. Par conséquent, des cycles correspondants des premier et second moteurs matériels 430 et 440 contiennent des erreurs différentes, 15 ce qui augmente la probabilité de différences entre les résultats de leurs opérations. Par conséquent, si un dispositif de cryptage est attaqué par des sources de défauts, les premier et second textes chiffrés fournis en sortie par les premier et second moteurs matériels 430 et 20 440 doivent respectivement être différents. De même, si les premier et second textes chiffrés fournis en sortie par les premier et second moteurs matériels 430 et 440 sont identiques, cela signifie que le bloc de texte clair à 64 bits 410 a été correctement crypté sans avoir été affecté 25 par les sources de défauts F1, F2, ..., F(n-1), Fn et Fn+1. Dans certains modes de réalisation, des sources de défauts différentes parmi F1, F2, ..., F(n-1), Fn et Fn+l sont fournies à des cycles correspondants des premier et second moteurs matériels 430 et 440. Dans ce but, les 30 premier et second moteurs matériels 430 et 440 sont décalés dans le temps d'au moins un cycle.
La figure 5 illustre un exemple de moteur cryptographique 500 conforme à des modes de réalisation de la présente invention et utilisant une opération à horloge 35 variable. Le moteur cryptographique 500 est différent du moteur cryptographique 400 de la figure 4 en ce sens que des cycles des premier et second moteurs matériels 530 et 540 ne sont pas décalés dans le temps. Cependant, la fréquence d'un premier signal d'horloge CLK1 pour le premier moteur matériel 530 est réglée de façon différente 5 de celle d'un second signal d'horloge CLK2 pour le second moteur matériel 540.
A titre d'exemple, un bloc de texte clair à 64 bits 510 est fourni en entrée à chacun des premier et second moteurs matériels 530 et 540. Chacun des premier et second 10 moteurs matériels 530 et 540 divise le bloc de texte clair à 64 bits 510 en deux sous-blocs de 32 bits. Chacun des deux sous-blocs de 32 bits est soumis à un cycle de l'opération de la figure 3. Ce cycle se répète n fois. La première source de défauts F1 est fournie à un premier 15 cycle du premier moteur matériel 530. Les seconde à n-ème sources de défauts F2, F3, ..., Fn-1 et Fn sont respectivement fournies à des second à n-ème cycles du premier moteur matériel 530. La première source de défauts F1 fournie au premier cycle du premier moteur matériel 530 20 est également fournie à un premier cycle du second moteur matériel 540. La seconde source de défaut F2 fournie au second cycle du premier moteur matériel 530 est également fournie à un second cycle du second moteur matériel 540. La n-ème source de défaut Fn fournie au n-ème cycle du premier 25 moteur matériel 530 est également fournie à un n-ème cycle du second moteur matériel 540.
Lors du premier cycle, le premier moteur matériel 530 reçoit le bloc de texte clair à 64 bits 510 en réponse au premier signal d'horloge CLK1 et fournit un résultat 30 d'opération affecté par un premier défaut de cycle dû à la première source de défaut Fl. Lors du second cycle, le premier moteur matériel 530 reçoit le résultat d'opération affecté par le premier défaut de cycle lors du premier cycle et fournit en sortie un résultatd'opération affecté 35 par un second défaut de cycle dû à la seconde source de défaut F2. Lors du n-ème cycle, le premier moteur matériel 530 reçoit un résultat d'opération affecté par un (n-1)-ème défaut de cycle généré lors du (n-1)-ème cycle. Le n-ème cycle fournit le premier texte chiffré en tant que résultat d'opération affecté par un n-ème défaut de cycle généré du 5 fait de la n-ème source de défaut Fn, comme illustré à l'étape 535.
Lors du premier cycle, le second moteur matériel 540 reçoit le bloc de texte clair à 64 bits 510 en réponse au second signal d'horloge CLK2 et fournit un résultat 10 d'opération affecté par le premier défaut de cycle dû à la première source de défaut Fl. Lors du second cycle, le second moteur matériel 540 reçoit le résultat d'opération affecté par le premier défaut de cycle lors du premier cycle et fournit un résultat d'opération affecté par un 15 second défaut de cycle dû à la seconde source de défaut F2.
Lors du n-ème cycle, le second moteur matériel 540 reçoit le résultat d'opération affecté par le (n-1)-ème défaut de cycle généré lors du (n-1)ème cycle et fournit en sortie un second texte chiffré en tant que résultat d'opération 20 affecté par un n-ème défaut de cycle généré du fait de la n-ème source de défaut Fn, comme illustré à l'étape 545.
Lors de l'étape 550, les premier et second textes chiffrés sont comparés l'un à l'autre. Si les premier et second textes chiffrés sont identiques, le texte chiffré 25 identique est fourni en sortie, lors d'une étape 560. Si les premier et second textes chiffrés sont différents, aucun texte chiffré n'est fourni en sortie, lors d'une étape 570. Dans le moteur cryptographique 500, on s'attend à ce que les premier et second moteurs matériels 530 et 540 30 fournissent en sortie des premier et second textes chiffrés qui sont identiques, en raison du fait que les algorithmes des premier et second moteurs matériels 530 et 540 sont identiques. Cependant, les premier et second moteurs matériels 530 et 540 commencent leurs opérations en des 35 points différents dans le temps, en raison du fait que les premier et second signaux d'horloge CLK1 et CLK2 ont des fréquences d'horloge différentes. Par conséquent, les premier et second moteurs matériels 530 et 540 exécutent des cycles différents dans la même zone temporelle, et malgré le fait qu'un défaut identique soit fourni en même 5 temps, celui-ci affecte des stades d'opérations différents des premier et second moteurs matériels 530 et 540. De ce fait, les premier et second moteurs matériels 530 et 540 fournissent des résultats d'opérations différents.
Néanmoins, si les premier et second textes chiffrés 10 fournis par les premier et second moteurs matériel 530 et 540 sont identiques, cela indique que le bloc de texte clair à 64 bits 510 a été crypté de façon stable avec une certaine immunité contre les sources de défauts F1, F2, ..., F(n-1), Fn et Fn+l. Par conséquent, si les premier et 15 second textes chiffrés sont identiques, le moteur cryptographique 500 fournit en sortie le premier (ou le second) texte chiffré et termine le cryptage.
Bien que la présente invention ait été illustrée et décrite plus particulièrement en référence à des exemples 20 des modes de réalisation de celle-ci, les spécialistes de la technique noteront que diverses modifications de la forme et des détails peuvent lui être apportées sans qu'ils s'écartent du cadre de l'invention tel qu'il est défini par
les revendications annexées.

Claims (20)

REVENDICATIONS
1. Procédé caractérisé en ce qu'il comprend: le cryptage de premières données (410, 510) avec un algorithme de cryptage dans un premier circuit (430, 530) pour fournir des premières données cryptées; et le cryptage des premières données (410, 510) avec l'algorithme de cryptage dans un second circuit (440, 540) pour fournir en sortie des secondes données cryptées; la comparaison des premières données cryptées (410, 10 510) et des secondes données cryptées dans un troisième circuit; et la fourniture des premières données cryptées ou des secondes données cryptées provenant du troisième circuit seulement si les premières données cryptées et les secondes 15 données cryptées sont identiques.
2. Procédé selon la revendication 1, caractérisé en ce que le cryptage effectué dans le premier circuit (430, 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540).
3. Procédé selon la revendication 2, caractérisé en ce que le cryptage effectué dans le premier circuit (430, 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540), de sorte que des sources de défauts (F1, F2, ..., Fn, Fn+l) appliquées 25 au premier circuit et au second circuit affectent différemment l'algorithme de cryptage et que seules des données cryptées qui ne sont pas affectées par les sources de défauts (F1, F2, ..., Fn, Fn+1) sont fournies en sortie par le troisième circuit.
4. Procédé selon la revendication 3, caractérisé en ce que les sources de défauts (F1, F2, ..., Fn, Fn+l) sont au moins l'une des suivantes: des variations ambiantes; un choc thermique; un choc barométrique; de l'énergie radiofréquence; un bombardement par des ions lourds; un rayonnement ultraviolet; et de l'énergie laser.
5. Procédé selon la revendication 2, caractérisé en 5 ce que le cryptage effectué dans le premier circuit (430, 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540) en raison du fait que le cryptage effectué dans le second circuit est retardé dans le temps par rapport au cryptage effectué dans 10 le premier circuit.
6. Procédé selon la revendication 2, caractérisé en ce que le cryptage effectué dans le premier circuit (430, 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540) en raison du 15 fait que le cryptage effectué dans le premier circuit est effectué à une fréquence différente du cryptage effectué dans le second circuit.
7. Procédé selon la revendication 2, caractérisé en ce que le cryptage effectué dans le premier circuit (430, 20 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540) en raison du fait que: le cryptage effectué dans le second circuit est retardé dans le temps par rapport au cryptage effectué dans 25 le premier circuit; et le cryptage effectué dans le premier circuit est effectué à une fréquence différente du cryptage effectué dans le second circuit.
8. Procédé selon la revendication 1, caractérisé en 30 ce que: le premier bloc de données est un bloc de texte clair (410, 510) ; le premier circuit est un premier moteur matériel (430, 530) ; et le second circuit est un second moteur matériel (440, 540) ; l'algorithme de cryptage comprend N cycles, chacun des N cycles de chacun des premier et second moteurs matériels (430, 530, 440, 540) comprenant: le fait de diviser le bloc de texte clair en deux 5 sous- blocs et de stocker un sous-bloc dans un registre de gauche (Li) et l'autre dans un registre de droite (Ri) ; l'exécution d'une opération de cryptage par application d'une fonction de chiffrage (f) à des données stockées dans le registre de droite (Ri) et à une sous-clé 10 (Ki) ; et l'application d'une opération OU exclusif au résultat de la fonction de chiffrage (f) et à la sortie du registre de gauche (Li), le stockage du résultat de l'opération OU exclusif dans un registre de droite (Ri) lors du cycle 15 suivant, et le transfert de données stockées dans le registre de droite (Ri) vers un registre de gauche (Li+1) lors du cycle suivant, ce cycle se répétant N fois et chacun des premier et second moteurs matériels (430, 530, 440, 540) effectuant des premier à N-ème cycles de 20 l'algorithme de cryptage.
9. Procédé selon la revendication 8, caractérisé en ce que les deux sousblocs sont à 32 bits.
10. Procédé selon la revendication 8, caractérisé en ce que les N cycles sont constitués de 16 cycles.
11. Procédé selon la revendication 1, caractérisé en ce que l'algorithme de cryptage est un algorithme conforme à la norme de cryptage de données (DES).
12. Procédé selon la revendication 1, caractérisé en ce que les premières données (410, 510) comprennent 64 30 bits.
13. Appareil (400, 500), caractérisé en ce qu'il comprend: un premier circuit (430, 530) qui crypte des premières données (410, 510) avec un algorithme de cryptage 35 pour fournir des premières données cryptées; et un second circuit (440, 540) qui crypte les premières données (410, 510) avec l'algorithme de cryptage pour fournir des secondes données cryptées; et un troisième circuit qui: compare les premières données cryptées (410, 510) et les secondes données cryptées; et ne fournit les premières données cryptées (410, 510) ou les secondes données cryptées provenant du troisième circuit, que si les premières données cryptées et les 10 secondes données cryptées sont identiques.
14. Appareil (400, 500) selon la revendication 13, caractérisé en ce que le cryptage effectué dans le premier circuit (430, 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540).
15. Appareil selon la revendication 14, caractérisé en ce que le cryptage effectué dans le premier circuit (430, 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540), de sorte que des sources de défauts (F1, F2, ..., F, Fn+l) appliquées au 20 premier circuit (430, 530} et au second circuit (430, 530) affectent différemment l'algorithme de cryptage, seules des données cryptées qui ne sont pas affectées par les sources de défauts (F1, F2, ..., Fn, Fn+l) étant fournies en sortie par le troisième circuit.
16. Appareil (400, 500) selon la revendication 15, caractérisé en ce que la source de défauts (F1, F2, Fn, Fn+1) est constituée par au moins l'une des suivantes: des variations ambiantes; un choc thermique; un choc barométrique; de l'énergie radiofréquence; un bombardement par des ions lourds; un rayonnement ultraviolet; et de l'énergie laser.
17. Appareil selon la revendication 14, caractérisé en ce que le cryptage effectué dans le premier circuit (430, 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540) en raison du fait que le cryptage effectué dans le second circuit (440, 540) est retardé dans le temps par rapport au cryptage effectué dans le premier circuit (430, 530).
18. Appareil (400, 500) selon la revendication 14, caractérisé en ce que le cryptage effectué dans le premier circuit (430, 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540) du fait 10 que le cryptage effectué dans le premier circuit est effectué à une fréquence différente du cryptage effectué dans le second circuit.
19. Appareil (400, 500) selon la revendication 14, caractérisé en ce que le cryptage effectué dans le premier 15 circuit (430, 530) est biaisé dans le temps par rapport au cryptage effectué dans le second circuit (440, 540) en raison du fait que: le cryptage effectué dans le second circuit (440, 540) est retardé dans le temps par rapport au cryptage 20 effectué dans le premier circuit (430, 530) ; et le cryptage effectué dans le premier circuit (430, 530) est effectué à une fréquence différente du cryptage effectué dans le second circuit (440, 540).
20. Appareil (400, 500) selon la revendication 13, 25 caractérisé en ce que l'algorithme de cryptage est un algorithme normalisé de cryptage de données (DES).
FR0408630A 2003-08-08 2004-08-04 Procede et appareil de cryptage Expired - Fee Related FR2858731B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030055031A KR100574945B1 (ko) 2003-08-08 2003-08-08 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법

Publications (2)

Publication Number Publication Date
FR2858731A1 true FR2858731A1 (fr) 2005-02-11
FR2858731B1 FR2858731B1 (fr) 2006-06-09

Family

ID=34075011

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0408630A Expired - Fee Related FR2858731B1 (fr) 2003-08-08 2004-08-04 Procede et appareil de cryptage

Country Status (4)

Country Link
US (1) US20050031121A1 (fr)
KR (1) KR100574945B1 (fr)
DE (1) DE102004038594B4 (fr)
FR (1) FR2858731B1 (fr)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100546375B1 (ko) 2003-08-29 2006-01-26 삼성전자주식회사 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법
KR100699836B1 (ko) * 2005-03-19 2007-03-27 삼성전자주식회사 스칼라 곱에서 dfa 대책을 위한 장치 및 방법
GB2434234B (en) * 2005-03-19 2008-01-02 Samsung Electronics Co Ltd Scalar multiplication apparatus and method
US20080052530A1 (en) * 2006-02-16 2008-02-28 International Business Machines Corporation System and method to provide CPU smoothing of cryptographic function timings
EP2290575A1 (fr) * 2009-08-31 2011-03-02 Incard SA Carte à circuit intégré comportant un processeur amélioré
KR101150289B1 (ko) * 2010-06-24 2012-05-24 충북대학교 산학협력단 복합 암호 시스템과 이를 이용한 복합 암호 알고리즘 구성 방법
DE102013205166A1 (de) * 2013-03-22 2014-09-25 Robert Bosch Gmbh Verfahren zum Erzeugen einer Einwegfunktion
JP6262085B2 (ja) * 2014-06-25 2018-01-17 ルネサスエレクトロニクス株式会社 データ処理装置及び復号処理方法
CN110341974B (zh) * 2019-07-25 2020-12-04 武汉大势智慧科技有限公司 无人机云台故障监测方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1115094A2 (fr) * 2000-01-08 2001-07-11 Philips Corporate Intellectual Property GmbH Dispositif de traitement de données et sa méthode de mise en oeuvre
WO2003010638A1 (fr) * 2001-07-26 2003-02-06 Infineon Technologies Ag Processeur à plusieurs unités de calcul

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317638A (en) * 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
US6219791B1 (en) * 1998-06-22 2001-04-17 Motorola, Inc. Method and apparatus for generating and verifying encrypted data packets
US6870929B1 (en) * 1999-12-22 2005-03-22 Juniper Networks, Inc. High throughput system for encryption and other data operations
US7685423B1 (en) * 2000-02-15 2010-03-23 Silverbrook Research Pty Ltd Validation protocol and system
DE10211933C1 (de) * 2002-03-18 2003-07-17 Infineon Technologies Ag Verfahren und Anordnung zur Erkennung von möglichen Angriffen auf die Schlüsselgenerierung digitaler Schlüssel

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1115094A2 (fr) * 2000-01-08 2001-07-11 Philips Corporate Intellectual Property GmbH Dispositif de traitement de données et sa méthode de mise en oeuvre
WO2003010638A1 (fr) * 2001-07-26 2003-02-06 Infineon Technologies Ag Processeur à plusieurs unités de calcul

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BIHAM E ET AL INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH (EDS GOOS G ET AL: "DIFFERENTIAL FAULT ANALYSIS OF SECRET KEY CRYPTOSYSTEMS", ADVANCES IN CRYPTOLOGY - CRYPTO '97. SANTA BARBARA, AUG. 17 - 21, 1997, PROCEEDINGS OF THE ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE (CRYPTO), BERLIN, SPRINGER, DE, vol. CONF. 17, 17 August 1997 (1997-08-17), pages 513 - 526, XP001060384, ISBN: 3-540-63384-7 *

Also Published As

Publication number Publication date
US20050031121A1 (en) 2005-02-10
KR20050015857A (ko) 2005-02-21
DE102004038594A1 (de) 2005-09-08
KR100574945B1 (ko) 2006-04-28
DE102004038594B4 (de) 2009-01-22
FR2858731B1 (fr) 2006-06-09

Similar Documents

Publication Publication Date Title
US20150222421A1 (en) Countermeasures against side-channel attacks on cryptographic algorithms
EP3228043B1 (fr) Méthode de chiffrement à couches de confusion et de diffusion dynamiques
US10333702B2 (en) Updating key information
EP2893431B1 (fr) Protection contre canaux auxiliaires
WO2010146139A9 (fr) Système cryptographique structurel avec clé configurable utilisant une modification de données intermédiaire
US9774443B2 (en) Computing key-schedules of the AES for use in white boxes
KR20120030335A (ko) 입력 의존형 인코딩들을 이용한 화이트-박스 암호화 시스템
EP3139365B1 (fr) Vérification de la résistance d'un circuit électronique à des attaques par canaux cachés
EP3139364B1 (fr) Protection dpa d'un algorithme de rijndael
EP1757009A1 (fr) Procede et dispositif d'execution d'un calcul cryptographique
EP1379023A1 (fr) Chiffrement/déchiffrement exécuté par un circuit intégré masquant une transformation non linéaire du type SUBBYTE
EP2499773A1 (fr) Circuit electronique de faible complexite protege par masquage personnalise
FR3040513A1 (fr) Protection d'un algorithme de rijndael
FR2858731A1 (fr) Procede et appareil de cryptage
EP3493458B1 (fr) Procédé et système de chiffrement/déchiffrement de données à ultra faible latence à des fins de stockage et/ou de communication de données sécurisés
FR2902252A1 (fr) Systemes cryptographiques pour chiffrer des donnees d'entree en utilisant une adresse associee aux donnees d'entree, circuits de detection d'erreur et procedes pour les faire fonctionner.
Lu et al. The higher-order meet-in-the-middle attack and its application to the Camellia block cipher
EP3996321A1 (fr) Procédé de traitement de données chiffrées
KR20190037980A (ko) 퍼베이시브 컴퓨팅을 위한 효과적인 초경량 블록 암호 시스템
Manz Symmetric Ciphers
Shanthakumari et al. Data hiding in image steganography using range technique for secure communication
Almuhammadi et al. Double-hashing operation mode for encryption
Edjie et al. Modified AES cipher round and key schedule
De Canniere et al. Cryptanalysis of the two-dimensional circulation encryption algorithm
Jain et al. A New Guess‐and‐Determine Method for Cryptanalysis of the GSM Encryption

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20110502