Brevet FR3129011A1 — publié le 20230512

Multiplication La présente description concerne une opération de multiplication (250) d'une première donnée masquée (A' ; a') avec un premier masque (MA) et d'une deuxième donnée masquée (B' ; b') avec un deuxième masque (MB), dans laquelle : - le premier masque (MA) est remplacé par un troisième masque (RA), et le deuxième masque est remplacé par un quatrième masque (RB) ; - l'opération de multiplication (250) comprenant au moins une première opération de compensation mise en oeuvre par au moins une première table de correspondance ; et - la donnée résultat (C') de ladite opération de multiplication (250) est une troisième donnée correspondant à la multiplication de la première donnée démasquée (A) et de la deuxième donnée démasquée (B) masquée avec un cinquième masque (MC) indépendant des premier, deuxième, troisième, et quatrième masques (MA, MB, RA, RB). Figure pour l'abrégé : Fig. 3 Multiplication La présente description concerne de façon générale la protection de données binaires et la protection d'opérations pouvant être appliquées à de telles données binaires. La présente description concerne, plus particulièrement, la mise en oeuvre d'une opération de multiplication de données binaires masquées réalisée de façon sécurisée. Lors de l'utilisation de données sensibles, il est courant de masquer les données lors de leur traitement par un dispositif électronique, comme un processeur. Il serait souhaitable de pouvoir améliorer, au moins en partie, le traitement de données masquées. Il existe un besoin pour la mise en oeuvre d'un traitement de données masquées plus sécurisée. Il existe un besoin pour la mise en oeuvre d'une opération de multiplication de données masquées plus sécurisée. Un mode de réalisation pallie tout ou partie des inconvénients des procédés de mise en oeuvre d'une opération de multiplication connus. Un mode de réalisation prévoit une opération de multiplication d'une première donnée masquée avec un premier masque et d'une deuxième donnée masquée avec un deuxième masque, dans laquelle : - le premier masque est remplacé par un troisième masque, et le deuxième masque est remplacé par un quatrième masque ; - l'opération de multiplication comprenant au moins une première opération de compensation mise en oeuvre par au moins une première table de correspondance ; et - la donnée résultat de ladite opération de multiplication est une troisième donnée correspondant à la multiplication de la première donnée démasquée et de la deuxième donnée démasquée masquée avec un cinquième masque indépendant des premier, deuxième, troisième, et quatrième masques . Un autre mode de réalisation prévoit un procédé de mise en oeuvre d'une opération de multiplication d'une première donnée masquée avec un premier masque et d'une deuxième donnée masquée avec un deuxième masque, dans laquelle : - le premier masque est remplacé par un troisième masque, et le deuxième masque est remplacé par un quatrième masque ; - l'opération de multiplication comprenant au moins une première opération de compensation mise en oeuvre par au moins une première table de correspondance ; et - la donnée résultat de ladite opération de multiplication est une troisième donnée correspondant à la multiplication de la première donnée démasquée et de la deuxième donnée démasquée masquée avec un cinquième masque indépendant des premier, deuxième, troisième, et quatrième masques. Selon un mode de réalisation, le type de masquage utilisé est un masquage utilisant une opération logique de type OU EXCLUSIF. Selon un mode de réalisation, l'opération de multiplication comprend, en outre, la mise en oeuvre d'une première multiplication des première et deuxième données masquées. Selon un mode de réalisation, ladite mise en oeuvre d'une première multiplication comprend des sous-opérations de masquage et/ou de démasquage. Selon un mode de réalisation, ladite au moins une opération de compensation permet de retirer au moins un terme dépendant des premier ou deuxième masques du résultat de ladite première multiplication des première et deuxième données masquées. Selon un mode de réalisation, l'opération de compensation met en oeuvre une fonction f vérifiant l'inégalité suivante : dans laquelle 11 est l'écriture binaire du chiffre 3. Selon un mode de réalisation, la fonction f est peut mettre en oeuvre la fonction sqk définie par la formule mathématique suivante : dans laquelle : - l'opérateur . désigne l'opération logique de multiplication ; - N est un scalaire définie de telle façon que sqk(x)=y, avec x=x1x0 (x0 étant le bit de poids faible, et x1 le bit de poids fort) et y=y1y0 (y0 étant le bit de poids faible, et y1 le bit de poids fort), donne y1=x0 et y0=x0 xor x1 ; - x2 correspond au résultat de l'opération x.x. Selon un mode de réalisation, ladite au moins une opération de compensation comprend des sous-opérations de masquage et/ou de démasquage . Selon un mode de réalisation, l'opération de multiplication comprend, en outre, la mise en oeuvre d'au moins une première opération de correction permettant de retirer au moins un terme dépendant de la fonction f. Selon un mode de réalisation, ladite au moins une opération de correction comprend des sous-opérations de masquage et/ou de démasquage. Un autre mode de réalisation prévoit un dispositif électronique adapté à mettre en oeuvre le procédé décrit précédemment ou l'opération décrite précédemment. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la représente, très schématiquement et sous forme de blocs, un exemple d'un dispositif électronique auquel peuvent s'appliquer les modes de réalisation décrits en relation avec les figures 3 à 6 ; la représente, très schématiquement et sous forme de blocs, la mise en oeuvre d'une opération de masquage d'une donnée binaire ; la représente, très schématiquement et sous forme de blocs, un mode de mise en oeuvre d'une opération de multiplication sécurisée de données masquées ; la représente, très schématiquement et sous forme de blocs, un mode de mise en oeuvre plus détaillé d'une opération de multiplication sécurisée de données masquées ; la représente, très schématiquement et sous forme de blocs, un autre mode de mise en oeuvre plus détaillé d'une opération de multiplication sécurisée de données masquées ; et la représente, très schématiquement et sous forme de blocs, un autre mode de mise en oeuvre plus détaillé d'une opération de multiplication sécurisée de données masquées. Opération de multiplication (250 ; 300 ; 400 ; 500) d'une première donnée masquée (A' ; a') avec un premier masque (MA ; Ma) et d'une deuxième donnée masquée (B' ; b') avec un deuxième masque (MB ; Mb), dans laquelle : - le premier masque (MA ; Ma) est remplacé par un troisième masque (RA ; Ra), et le deuxième masque est remplacé par un quatrième masque (RB ; Rb) ; - l'opération de multiplication (250 ; 300 ; 400 ; 500) comprenant au moins une première opération de compensation (302, 303 ; 402 ; 502, 503) mise en oeuvre par au moins une première table de correspondance ; et - la donnée résultat (C') de ladite opération de multiplication (250 ; 300 ; 400 ; 500) est une troisième donnée correspondant à la multiplication de la première donnée démasquée (A ; a) et de la deuxième donnée démasquée (B ; b) masquée avec un cinquième masque (MC ; Mc) indépendant des premier, deuxième, troisième, et quatrième masques (MA, MB, RA, RB ; Ma, Mb, Ra, Rb). Opération selon la revendication 1, dans laquelle ou lequel le type de masquage utilisé est un masquage utilisant une opération logique de type OU EXCLUSIF. Opération selon la revendication 1 ou 2, dans laquelle ou lequel l'opération de multiplication (250 ; 300 ; 400 ; 500) comprend, en outre, la mise en oeuvre d'une première multiplication (301) des première et deuxième données masquées (a', b'). Opération selon la revendication 3, dans laquelle ou lequel ladite mise en oeuvre d'une première multiplication (301) comprend des sous-opérations de masquage et/ou de démasquage (3011, 3013, 3014). Opération selon l'une quelconque des revendications 1 à 4, dans laquelle ou lequel ladite au moins une opération de compensation (302, 303 ; 402 ; 502, 503) permet de retirer au moins un terme dépendant des premier ou deuxième masques (Ma, Mb) du résultat de ladite première multiplication des première et deuxième données masquées (a', b'). Opération selon l'une quelconque des revendications 1 à 5, dans laquelle ou lequel l'opération de compensation (302, 303 ; 402 ; 502, 503) met en oeuvre une fonction f vérifiant l'inégalité suivante : dans laquelle 11 est l'écriture binaire du chiffre 3. Opération selon la revendication 6, dans laquelle ou lequel la fonction f est peut mettre en oeuvre la fonction sqk définie par la formule mathématique suivante : dans laquelle : - l'opérateur . désigne l'opération logique de multiplication ; - N est un scalaire définie de telle façon que sqk(x)=y, avec x=x1x0 (x0 étant le bit de poids faible, et x1 le bit de poids fort) et y=y1y0 (y0 étant le bit de poids faible, et y1 le bit de poids fort), donne y1=x0 et y0=x0 xor x1 ; - x2 correspond au résultat de l'opération x.x. Opération selon l'une quelconque des revendications 1 à 7, dans laquelle ou lequel ladite au moins une opération de compensation (302, 303 ; 402 ; 502, 503) comprend des sous-opérations de masquage et/ou de démasquage (3021, 3023, 3024, 3031, 3033, 3034 ; 4021, 4022, 4024 ; 5021, 5023, 5031, 5033). Opération selon l'une quelconque des revendications 1 à 8, dans laquelle ou lequel l'opération de multiplication (250 ; 300 ; 400 ; 500) comprend, en outre, la mise en oeuvre d'au moins une première opération de correction (304, 305) permettant de retirer au moins un terme dépendant de la fonction f. Opération selon la revendication 9, dans laquelle ou lequel ladite au moins une opération de correction (304, 305) comprend des sous-opérations de masquage et/ou de démasquage (3041, 3043, 3051, 3053). Procédé de mise en oeuvre d'une opération de multiplication (250 ; 300 ; 400 ; 500) d'une première donnée masquée (A' ; a') avec un premier masque (MA ; Ma) et d'une deuxième donnée masquée (B' ; b') avec un deuxième masque (MB ; Mb), dans laquelle : - le premier masque (MA ; Ma) est remplacé par un troisième masque (RA ; Ra), et le deuxième masque est remplacé par un quatrième masque (RB ; Rb) ; - l'opération de multiplication (250 ; 300 ; 400 ; 500) comprenant au moins une première opération de compensation (302, 303 ; 402 ; 502, 503) mise en oeuvre par au moins une première table de correspondance ; et - la donnée résultat (C') de ladite opération de multiplication (250 ; 300 ; 400 ; 500) est une troisième donnée correspondant à la multiplication de la première donnée démasquée (A ; a) et de la deuxième donnée démasquée (B ; b) masquée avec un cinquième masque (MC ; Mc) indépendant des premier, deuxième, troisième, et quatrième masques (MA, MB, RA, RB ; Ma, Mb, Ra, Rb). Dispositif électronique adapté à mettre en oeuvre le procédé selon la revendication 11 ou l'opération selon l'une quelconque des revendications 1 à 10.