Abstract:
Un procédé de masquage de passage en fin de vie d'un dispositif électronique à microprocesseur comportant une mémoire non volatile reprogrammable contenant une variable d'état de fin de vie (FdV E ). Au démarrage (ATR) on charge (A) en mémoire vive la valeur de la variable (FdV E ). Avant l'exécution de toute commande courante (COM), on vérifie (B) la valeur de la variable (FdV R ) en mémoire vive à la valeur non vraie. On exécute (C) le passage en fin de vie sur réponse négative. Sinon, on poursuit (D) l'initialisation ou l'exécution de la commande (COM). Sur détection (E) d'une attaque intrusive on instancie (F) par écriture dans la seule mémoire vive la variable d'état de fin de vie (FdV R ) à la valeur vraie puis on diffère (G) l'écriture de la variable (FdV E ) à la valeur vraie dans la mémoire non volatile jusqu'à la prochaine opération d'écriture. Application à tout dispositif électronique, carte à microprocesseur ou autre.
Abstract:
On exécute un calcul cryptographique dans un composant électronique, selon un algorithme cryptographique déterminé incluant au moins une opération à clé secrète (102) à réaliser avec une clé cryptographique secrète (103) comprenant m blocs de clé cryptographique secrète de n bits sur un bloc de données (101), où m et n sont des entiers positifs, et une opération non linéaire (107). On détermine 2 n -1 clés secrète secondaires (105) sur n bits différente du bloc de clé cryptographique secrète. Puis, pour un bloc de clé cryptographique secrète donné, on réalise l'opération à clé secrète (102) avec le bloc de clé cryptographique secrète (103) et on réalise l'opération à clé secrète (102) avec les clés secrètes secondaires sur un bloc de données (101) et on obtient respectivement un bloc de données en cours de cryptage (104) et 2 n -1 blocs de données secondaires (106). Ensuite, on réalise l'opération non linéaire (107) sur le bloc de données en cours de cryptage (104) et sur les blocs de données secondaires (106). On fournit un bloc de données crypté à partir du bloc de données en cours de cryptage.
Abstract:
Un procédé de codage d'un secret, une valeur numérique d , subdivisé en un nombre N d'éléments de secret [ d i ] N 1 , une loi de composition (⊗) appliquée aux éléments d i donnant la valeur d . On calcule (A) une première image (T N ) du secret par calcul itératif et application de la loi (⊗) entre la première image T i-1 de rang i-1 et du produit selon cette loi de l'élément d i de rang suivant et d'une valeur aléatoire (R i ) d'un premier ensemble, (B) une première valeur numérique (S 1 ) par application de la loi (⊗) aux N valeurs aléatoires (R i ), (C) une deuxième valeur numérique (S 2 ) par application de la loi aux N-1 valeurs aléatoires (A j ) d'un deuxième ensemble, (D) une deuxième image T' du secret par application de la loi inverse (⊗) à la première image (T N ) et à la deuxième valeur numérique (S 2 ) pour engendrer une image intermédiaire (Tx) puis application de la loi inverse à l'image intermédiaire (Tx) et à la deuxième valeur numérique (S 2 ). On alloue (E) aux N-1 premiers éléments ( d i ) la valeur aléatoire (A j ) de rang correspondant et au dernier élément ( d N ) la valeur de la deuxième image (T' ). Application aux processus de cryptographie à clé secrète ou publique.
Abstract:
Le procédé de vérification de l'intégrité d'une clef de chiffrement(K)obtenue par une combinaison dans une zone protégée (3) d'au moins deux parties de clefs(KM, M) en utilisant un opérateur commutatif, comporte les étapes d'effectuer au moyen de l'opérateur commutatif une première combinaison entre une partie de clef (KM) et une clef de chiffrement de vérification (Kv), effectuer successivement au moyen de l'opérateur commutatif une combinaison entre une partie de clef non encore combinée et un résultat d'une combinaison immédiatement précédente jusqu'au une dernière combinaison (Mv) comprenant toutes les parties de clef, effectuer dans la zone protégée (3) une combinaison entre la clef de chiffrement (K) ô vérifier et la dernière combinai-son (Mv) de la clef de chiffrement de vérification (Kv) avec les parties de clef (KM, M) pour obtenir une clef fi-nale de vérification (Kf), effectuer un chiffrement d'une donnée de vérification (Dv) au moyen d'un algorithme de chiffrement symétrique (DES) en utilisant la clef finale de vérification (Kf), et comparer avec un chiffrement de véri-fication (Cv) obtenu par un chiffrement direct de la donnée de vérification (Dv) au moyen de la clef de chiffrement de vérification (Kv).
Abstract:
Un procédé de protection d'un programme interprété par une machine virtuelle comprend l'insertion d'opérations de brouillage pendant l'exécution de chaque instruction du programme. Les opérations de brouillage sont sélectionnées en fonction d'un condensé du programme, de façon à varier lorsque qu'une même instruction appartient à deux programmes différents. De cette façon, toute tentative d'ingénierie inverse effectuée à partir de canaux cachés est rendue impossible.