EP1358732B2

Secure encryption method and component using same

Abstract

This record has no abstract on file.

EP1358732B2, drawing sheet 1
Sheet 1 of 33

Term

Term ended

Expired 6 February 2022, 4.6 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

17 claims: 4 independent, 13 dependent

  1. 1
    Procédé de calcul cryptographique sécurisé comprenant N rondes de calcul réalisées successivement pour obtenir une donnée de sortie à partir d'une donnée d'entrée et d'une clé secrète, procédé au cours duquel :- on réalise un premier niveau de masquage, pour masquer la donnée d'entrée, de sorte que chaque donnée intermédiaire utilisée ou produite par une ronde de calcul soit masquée, caractérisé en ce que - on réalise un deuxième niveau de masquage, pour masquer des données manipulées à l'intérieur de chaque ronde de calcul, en réalisant successivement les étapes suivantes : - une deuxième étape (ET3) de masquage d'un résultat d'une étape précédente (ET2) de la ronde de calcul de rang i, - une étape (ET6) de substitution du résultat masqué obtenu par la deuxième étape (ET3) à l'aide d'un opérateur non linéaire masqué (SBOX'), - une deuxième étape (ET9) de démasquage du résultat de l'étape (ET6) de substitution. les résultats intermédiaires à l'intérieur de chaque ronde de calcul étant tous masqués.
  2. 2
    Procédé selon la revendication 1, caractérisé en ce qu' il comprend :- une première étape de masquage (ET01) de la donnée d'entrée (ME), réalisée avant une première ronde de calcul, et - une première étape de démasquage (ET10) du résultat de la N ème ronde de calcul pour produire la donnée de sortie, les étapes (ET01) et (ET10) réalisant le premier niveau de masquage.
  3. 3
    Procédé selon la revendication 2, caractérisé en ce que :- lors de la première étape de masquage (ET01), un premier paramètre de masquage (X 1 ) est mélangé à la donnée d'entrée (ME), pour fournir une donnée d'entrée masquée (ME';L' 0 , R' 0 ) à la première ronde de calcul, le mélange étant réalisé par l'utilisation d'un premier opérateur de mélange ("&") linéaire, - lors de la première étape de démasquage (ET10), la contribution apportée par le premier paramètre de masquage (X 1 ) au résultat de la N ème ronde de calcul est soustraite du résultat'de la N ème ronde de calcul.
  4. 4
    Procédé selon l'une des revendications 2 à 3, caractérisé en ce qu' il comprend également :- une troisième étape de masquage (ET03), réalisée avant la première ronde de calcul, pour fournir l'opérateur non linéaire masqué (SBOX') vérifiant la relation suivante, pour toute donnée A : SBOXʹ A@ ⁢ X 3 = SBOX A ⁢ # ⁢ X 2 , où X 2 est un deuxième paramètre de masquage, X 3 est un troisième paramètre de masquage, SBOX est un opérateur non linéaire connu, " # " est un deuxième opérateur de mélange, et "@ " est un troisième opérateur de mélange.
  5. 5
    Procédé selon la revendication 4, caractérisé en ce que , au cours de l'étape (ET9) de démasquage de la ronde de calcul de rang i, on enlève la contribution apportée par le deuxième paramètre de masquage (X 2 ) au résultat produit par l'opérateur non linéaire masqué (SBOX').
  6. 6
    Procédé selon l'une des revendications 2 à 5, caractérisé en ce que la ronde de calcul de rang i comprend les étapes suivantes, exécutées dans l'ordre :- une étape (ET2) d'expansion d'une partie droite (R' i-1 ) d'une donnée intermédiaire masquée calculée par une précédente ronde de calcul, - la deuxième étape de masquage (ET3), au cours de laquelle on masque le résultat de l'étape (ET2) précédente par le troisième paramètre de masquage (X 3 ) en utilisant le troisième opérateur de masquage ("@"), - une étape (ET4) au cours de laquelle on supprime la contribution apportée par le premier paramètre de masquage au résultat de l'étape (ET3) précédente, - une étape (ET5) de mélange du résultat de l'étape précédente ET4 avec une clé dérivée actualisée (M i ), - l'étape (ET6) de substitution du résultat de l'étape (ET5) précédente par l'opérateur non linéaire masqué (SBOX), et fourniture d'un résultat masqué par le deuxième paramètre de masquage (X 2 ), - une étape (ET7) de permutation du résultat de l'étape ET6 précédente, - une étape (ET8) d'addition, par l'intermédiaire d'un OU-Exclusif, d'une partie gauche (L' i-1 ) de la donnée intermédiaire précédemment calculée au résultat de l'étape précédente, - la deuxième étape (ET9) au cours de laquelle on supprime la contribution apportée par le deuxième paramètre de masquage au résultat de l'étape précédente, pour fournir une partie droite (R' i ) de la donnée intermédiaire (L' i , R' i ) actualisée dont une partie gauche (L' i ) est égale à la partie droite (R' i-1 ) de la donnée intermédiaire (L' i-1 , R' i-1 ) précédemment calculée.
  7. 7
    Procédé selon l'une des revendications 2 à 6, caractérisé en ce que au moins l'un des paramètres (X 1 , X 2 , X 3 ) de masquage est choisi aléatoirement à chaque mise en oeuvre du procédé.
  8. 8
    Procédé selon l'une des revendications 2 à 6, caractérisé en ce que au moins l'un des paramètres de masquage (X 1 , X 2 , X 3 ) est choisi aléatoirement toutes les M mises en oeuvres du procédé.
  9. 9
    Procédé selon l'une des revendications 2 à 8, caractérisé en ce que le premier opérateur de mélange ("&") et/ou le deuxième opérateur de mélange ("#") et/ou le troisième opérateur de mélange ("@") est (sont) un (des) opérateur(s) de type OU-Exclusif.
  10. 10
    Procédé selon l'une des revendications 2 à 9, comprenant une étape de calcul de clé dérivée (ET1), pour fournir une clé dérivée actualisée à partir de la clé secrète (K 0 ) selon une loi de calcul de clé connue, le procédé étant caractérisé en ce qu' il comprend également une quatrième étape de masquage (ET06), effectuée avant l'étape de calcul de clé dérivée (ET1), pour masquer la clé secrète (K 0 ) par un paramètre de mélange (Y 0 ), de sorte que la clé dérivée actualisée (M' 1 , M' i ) soit différente à chaque mise en oeuvre du procédé.
  11. 11
    Procédé selon la revendication 10, caractérisé en ce qu' il comprend N étapes de calcul de clé dérivée (ET1) exécutées successivement, l'étape de calcul de clé dérivée de rang i fournissant une clé dérivée actualisée masquée (M' i ) à la ronde de calcul (ronde i) de même rang i et une clé secrète masquée actualisée (K' i ) à partir d'une clé (K' i-1 ) secrète masquée précédemment calculée, et en ce que la ronde de calcul de rang i comprend notamment les étapes (ET5) et (ET12) suivantes, réalisées entre l'étape (ET3) et l'étape (ET6) :(ET5) : mélange d'un résultat de l'étape précédente avec la clé dérivée actualisée masquée (M' i ) de rang i, (ET12) : suppression de la contribution (C i ) apportée par le paramètre de mélange (Y 0 ) au résultat de l'étape (ET5).
  12. 12
    Procédé selon la revendication 11, caractérisé en ce que la quatrième étape de masquage (ET06) est réalisée avant la première étape de calcul de clé dérivée.
  13. 13
    Procédé selon la revendication 11, caractérisé en ce que la quatrième étape de masquage (ET06) est réalisée'avant chaque étape de calcul de clé (ET1).
  14. 14
    Procédé selon l'une des revendications 10 à 13, caractérisé en ce que , lors de la quatrième étape de masquage (ET06), le paramètre de mélange (Y 0 ) choisi aléatoirement est mélangé à la clé secrète (K 0 ) par l'intermédiaire d'un quatrième opérateur de masquage (" | "), pour fournir une clé secrète masquée (K' 0 ), la clé dérivée (M' 1 , M' i ) masquée étant calculée à partir de la clé secrète masquée (K' 0 ).
  15. 15
    Procédé selon la revendication 14, caractérisé en ce que , au cours de la quatrième étape de masquage (ET06), l'opération suivante est réalisée :Kʹ 0 = K 0 | Y 0 , K' 0 étant la clé secrète masquée, K 0 étant la clé secrète Y 0 étant le quatrième paramètre de masquage, et " | " étant le quatrième opérateur de mélange.
  16. 16
    Procédé selon l'une des revendications 14 à 15, caractérisé en ce que le quatrième opérateur de mélange (" |") est un opérateur OU-Exclusif.
  17. 17
    Composant électronique, caractérisé en ce qu' il comprend des moyens adaptés pour mettre en oeuvre le procédé de calcul cryptographique selon l'une des revendications 1 à 16.
Independent claims17