Brevet FR3123743A1 — publié le 20221209

Après une première phase de multiplication au sein d’un circuit électronique de multiplication (CRT), d’un premier opérande (Ai) par un deuxième opérande (Bi) conduisant à une délivrance successive de mots de résultats de poids faibles de cette première multiplication, on procède au sein dudit circuit (CRT), au cours d’une deuxième phase, à une deuxième multiplication, dite fausse multiplication, du premier opérande par un opérande supplémentaire (OPSi) générant une consommation de courant sensiblement équivalente à celle de la première phase et permettant la délivrance des mots de résultats de poids forts de la multiplication effectuée dans la première phase. Les opérandes supplémentaires ne sont pas tous identiques. Figure pour l’abrégé : Fig 1 Circuit électronique de multiplication et procédé correspondant de multiplication au sein d’un tel circuit Des modes de mise en œuvre et de réalisation concernent la multiplication d’opérandes dans un circuit électronique de multiplication et plus particulièrement le lissage de la consommation de courant d’un tel circuit lors des opérations de multiplication, notamment pour rendre plus difficiles des attaques par canaux auxiliaires (connus par l’homme du métier sous l’acronyme anglosaxon SCA : « Side Channel Attacks »). Une attaque par canaux auxiliaires effectuée sur un dispositif électronique requiert une synchronisation des courbes de consommation acquises lors du fonctionnement du dispositif. Or, la signature de consommation des circuits électroniques de multiplication actuelle facilite cette resynchronisation car la signature de consommation n’est pas régulière notamment à la fin de l’opération de multiplication. Il en résulte que les différentes phases de la multiplication peuvent être identifiées et utilisées pour effectuer la synchronisation mentionnée ci-dessus. Il existe par conséquent un besoin de lisser autant que possible la consommation de courant d’un circuit de multiplication lors de son fonctionnement de façon à rendre plus difficile une distinction entre les différentes phases de multiplication et par conséquent rendre plus difficile une tentative de synchronisation en vue d’une attaque par canaux auxiliaires. Selon un mode de mise en œuvre et de réalisation, il est proposé, après une première phase de multiplication d’un premier opérande par un deuxième opérande conduisant à une délivrance successive de mots de résultats de poids faibles de cette première multiplication, de procéder, au cours d’une deuxième phase, à une deuxième multiplication, dite fausse multiplication ou multiplication factice, du premier opérande par un opérande supplémentaire générant une consommation de courant sensiblement équivalente à celle de la première phase et permettant la délivrance des mots de résultats de poids forts de la multiplication effectuée dans la première phase. Ainsi, selon un aspect, il est proposé un procédé de multiplication d’une succession de premiers opérandes par une succession de deuxièmes opérandes dans un circuit électronique de multiplication. Le circuit électronique de multiplication comporte un étage multiplieur connecté à un étage additionneur de sauvegarde connu par l’homme du métier sous la dénomination anglosaxonne « Carry Save Adder ». Le circuit électronique de multiplication comporte également une sortie de circuit connectée à une première interface de sortie de l’étage additionneur et un étage d’accumulation (par exemple formé de deux registres d’accumulation) rebouclé entre une deuxième interface de sortie et une interface d’entrée de l’étage additionneur. Le procédé comprend, pour chaque premier opérande et le deuxième opérande correspondant, -une première phase comportant au sein dudit circuit, une première multiplication du premier opérande par le deuxième opérande incluant des délivrances successives à ladite sortie de circuit, du ou des mots de poids faible du résultat de la première multiplication à partir d’extractions successives de données depuis la première interface de sortie, ainsi qu’un stockage de données représentatives du ou des mots de poids fort du résultat de la première multiplication dans l’étage d’accumulation. Le procédé comprend également une deuxième phase comportant au sein dudit circuit une deuxième, ou fausse, multiplication du premier opérande par un opérande supplémentaire incluant une extraction séquentielle de l’étage d’accumulation desdites données représentatives du ou desdits mots de poids fort du résultat de la première multiplication. En outre, les opérandes supplémentaires respectivement associés aux premiers opérandes ne sont pas tous identiques. Dans la deuxième phase, la deuxième multiplication est dite fausse car bien qu’une opération de multiplication entre le premier opérande et l’opérande supplémentaire soit effectuée au sein de l’étage multiplieur et de l’étage additionneur, les mots de résultat délivrés à la sortie de circuit ne correspondent pas aux mots de résultat de la multiplication du premier opérande par l’opérande supplémentaire puisqu’il s’agit des mots de résultat de poids fort de la première multiplication effectuée dans la première phase. En outre, lors de cette deuxième multiplication dite fausse, certaines données circulant en interne dans le circuit de multiplication sont différentes des données qui correspondraient à une multiplication exacte entre le premier opérande et l’opérande supplémentaire. L’utilisation de l’opérande supplémentaire permet donc d’effectuer une opération de multiplication dans le circuit, même si cette multiplication est fausse, tout en permettant l’extraction des mots de poids fort de résultat de la première multiplication. En outre, puisque tous les opérandes supplémentaires ne sont pas tous identiques, et peuvent être par exemple similaires dans leur contenu à des deuxièmes opérandes, et par exemple choisis de façon pseudo aléatoire, la consommation de courant du circuit est similaire dans la première phase et dans la deuxième phase et il devient alors difficile d’identifier ces phases, et notamment la fin de la première phase, de façon à utiliser cette information pour effectuer une synchronisation en vue d’une attaque éventuelle par canaux auxiliaires. Selon un mode de mise en œuvre, il est avantageux que la deuxième phase comporte en outre une sélection de bits et un stockage de ces bits sélectionnés dans des emplacements de l’étage d’accumulation destinés à stocker les données représentatives du ou des mots de poids fort du résultat de la deuxième ou fausse multiplication. Ceci permet de lisser encore davantage la consommation de courant et de rendre encore plus difficile la distinction entre les deux phases du procédé. Cette sélection de bits peut être une sélection pseudo aléatoire. Ces bits peuvent être par exemple générés par un générateur pseudo aléatoire ou alors ces bits sélectionnés peuvent être par exemple sélectionnés parmi les bits délivrés par la deuxième interface de sortie de l’étage additionneur. Comme indiqué ci-avant, les opérandes supplémentaires peuvent être choisis de façon pseudo aléatoire, par exemple au moyen d’un générateur pseudo aléatoire. En pratique, chaque deuxième opérande peut comporter une suite de plusieurs mots numériques et chaque opérande supplémentaire peut comporter une succession de mots numériques supplémentaire. La première phase comporte alors une délivrance desdits mots numériques à l’étage multiplieur et la deuxième phase comporte une délivrance des mots numériques supplémentaires à l’étage multiplieur. Et, tous les mots numériques supplémentaires ne sont pas tous identiques, là encore, de façon à éviter d’obtenir une courbe de consommation non régulière. Les mots numériques supplémentaires peuvent également être choisis de façon pseudo aléatoire. Selon un autre aspect, il est proposé un circuit électronique de multiplication, comprenant -une première entrée de circuit pour recevoir une succession de premiers opérandes, -une deuxième entrée de circuit pour recevoir une succession de deuxièmes opérandes, -une troisième entrée de circuit pour recevoir une succession d’opérandes supplémentaires, -un étage multiplieur connecté à la première entrée de circuit et sélectivement à la deuxième entrée de circuit ou à la troisième entrée de circuit et possédant une sortie de multiplieur connectée à une première interface d’entrée d’un étage additionneur de sauvegarde, -une sortie de circuit connectée à une première interface de sortie de l’étage additionneur, -un étage d’accumulation rebouclé entre une deuxième interface de sortie et une deuxième interface d’entrée de l’étage additionneur, -des moyens de contrôle configurables possédant o une première configuration dans laquelle, pour chaque premier opérande et le deuxième opérande correspondant, ils sont configurés pour autoriser une première multiplication du premier opérande par le deuxième opérande et effectuer des délivrances successives à ladite sortie de circuit du ou des mots de poids faible du résultat de la première multiplication à partir d’extractions successives de données depuis la première interface de sortie de l’étage additionneur et un stockage de données représentatives du ou des mots de poids fort du résultat de la première multiplication dans l’étage d’accumulation, et o une deuxième configuration dans laquelle ils sont configurés pour autoriser une deuxième ou fausse multiplication du premier opérande par un opérande supplémentaire incluant une extraction séquentielle de l’étage d’accumulation des données représentatives dudit ou desdits mots de poids fort du résultat de la première multiplication, les opérandes supplémentaires respectivement associés aux premiers opérandes n’étant pas tous identiques, et -des moyens de commande configurés pour placer les moyens de contrôle dans leur première configuration puis dans leur deuxième configuration. Selon un mode de réalisation, les moyens de contrôle sont en outre configurés pour, dans la deuxième configuration, effectuer une sélection de bits, un stockage de ces bits sélectionnés dans des emplacements de l’étage d’accumulation destinés à stocker les données représentatives du ou des mots de poids forts du résultat de la deuxième ou fausse multiplication. Selon un mode de réalisation, les moyens de contrôle sont configurés pour effectuer une sélection pseudo-aléatoire desdits bits. Selon un mode de réalisation, les moyens de contrôle sont configurés pour effectuer ladite sélection desdits bits, parmi les bits délivrés par la deuxième interface de sortie de l’étage additionneur. Selon un mode de réalisation, les opérandes supplémentaires sont des opérandes pseudo-aléatoires. Selon un mode de réalisation, chaque deuxième opérande comporte une suite de plusieurs mots numériques, chaque opérande supplémentaire comporte une succession de mots numériques supplémentaires, et les moyens de contrôle sont configurés pour, dans la première configuration, délivrer lesdits mots numériques à l’étage multiplieur, et pour, dans la deuxième configuration, délivrer les mots numériques supplémentaires à l’étage multiplieur, et tous les mots numériques supplémentaires ne sont pas tous identiques. Selon un mode de réalisation, les mots numériques supplémentaires sont des mots pseudo-aléatoires. Selon un mode de réalisation, la première interface de sortie de l’étage additionneur comporte -une première sortie connectée à la sortie de circuit et destinée à délivrer successivement des mots de poids faibles de résultats représentatifs d’une première somme partielle effectuée par l’étage additionneur de sauvegarde, et -une deuxième sortie connectée à la sortie de circuit et destinée à délivrer successivement les mots de poids faibles d’une deuxième somme partielle correspondante effectuée par l’étage additionneur de sauvegarde. La deuxième interface de sortie de l’étage additionneur comprend -une première sortie destinée à délivrer successivement les autres mots des résultats représentatifs de la première somme partielle, et -une deuxième sortie destinée à délivrer successivement les autres mots de la deuxième somme partielle correspondante. L’étage d’accumulation comprend -un premier registre d’accumulation connecté en entrée à la première sortie de ladite deuxième interface de sortie, et -un deuxième registre d’accumulation connecté en entrée à la deuxième sortie de ladite deuxième interface de sortie. Selon un mode de réalisation, chaque premier opérande est un mot de n bits et chaque deuxième opérande comporte une suite de mots numériques de k bits, le premier registre d’accumulation et le deuxième registre d’accumulation ont chacun une taille de n bits, et le circuit est configuré pour être cadencé par un signal d’horloge, et au cours de cycles successifs du signal d’horloge, -la première sortie de la première interface de sortie de l’étage additionneur est destinée à délivrer successivement des mots de poids faibles de k bits de résultats représentatifs de la première somme partielle, -la deuxième sortie de la première interface de sortie de l’étage additionneur est destinée à délivrer successivement les mots de poids faibles de k bits de la deuxième somme partielle correspondante, -la première sortie de la deuxième interface de sortie comporte une première sortie élémentaire destinée à délivrer les n-k bits de poids faibles desdits autres mots successifs des résultats représentatifs de la première somme partielle, et une deuxième sortie élémentaire destinée à délivrer les k bits de poids forts desdits autres mots successifs des résultats représentatifs de la première somme partielle, -la deuxième sortie de la deuxième interface de sortie comporte une troisième sortie élémentaire destinée à délivrer les n-k bits de poids faibles desdits autres mots successifs de la deuxième somme partielle, et une quatrième sortie élémentaire destinée à délivrer les k bits de poids forts desdits autres mots successifs de la deuxième somme partielle. Selon un mode de réalisation, les moyens de contrôle comprennent -un multiplexeur d’entrée possédant une première entrée connectée à la deuxième entrée de circuit, une deuxième entrée connectée à la troisième entrée de circuit et une sortie connectée à l’étage multiplieur, -un premier multiplexeur possédant une première entrée connecté à la première sortie de la première interface de sortie de l’étage additionneur, une deuxième entrée connectée à une première sortie du premier registre d’accumulation destinée à délivrer les k bits de rangs 0 à k-1 stockés dans ce premier registre d’accumulation, une sortie connectée à la sortie de circuit par l’intermédiaire d’un additionneur de sortie, -un deuxième multiplexeur possédant une première entrée connecté à la deuxième sortie de la première interface de sortie de l’étage additionneur, une deuxième entrée connectée à une première sortie du deuxième registre d’accumulation destinée à délivrer les k bits de rangs 0 à k-1 stockés dans ce deuxième registre d’accumulation, une sortie connectée à la sortie de circuit par l’intermédiaire dudit additionneur de sortie, -un troisième multiplexeur possédant une première entrée connectée à la première sortie élémentaire, une deuxième entrée connectée sur une deuxième sortie du premier registre d’accumulation destinée à délivrer les n-k bits de rangs k à n-1 stockés dans ce premier registre d’accumulation, et une sortie connectée aux n-k emplacements de rangs n-k-1 à 0 du premier registre d’accumulation, et -un quatrième multiplexeur possédant une première entrée connectée à la troisième sortie élémentaire, une deuxième entrée connectée sur une deuxième sortie du deuxième registre d’accumulation destinée à délivrer les n-k bits de rangs k à n-1 stockés dans ce deuxième registre d’accumulation, et une sortie connectée aux n-k emplacements de rangs n-k-1 à 0 du deuxième registre d’accumulation. Selon un mode de réalisation, la deuxième sortie élémentaire est directement connectée à k emplacements de rangs n-k à n-1 du premier registre d’accumulation et la quatrième sortie élémentaire est directement connectée à k emplacements de rangs n-k à n-1 du deuxième registre d’accumulation. Selon un mode de réalisation plus avantageux, les moyens de contrôle comprennent en outre -un cinquième multiplexeur possédant une première entrée connectée à la deuxième sortie élémentaire, une deuxième entrée pour recevoir k bits sélectionnés et une sortie connectée aux k emplacements de rangs n-k à n-1 du premier registre d’accumulation, -un sixième multiplexeur possédant une première entrée connectée à la quatrième sortie élémentaire, une deuxième entrée pour recevoir les k bits sélectionnés et une sortie connectée aux k emplacements de rangs n-k à n-1 du deuxième registre d’accumulation. Selon un mode de réalisation, les moyens de commande sont configurés pour connecter les premières entrées respectives de tous les multiplexeurs sur leur sortie respective dans la première configuration, et pour connecter les deuxièmes entrées respectives de tous les multiplexeurs sur leur sortie respective dans la deuxième configuration. Selon un mode de réalisation n est un multiple de k. Chaque deuxième opérande comporte par exemple une suite de J mots numériques, chaque opérande supplémentaire comporte par exemple une succession de P mots numériques supplémentaires, avec P égal à n/k, et les moyens de commande sont avantageusement configurés pour placer les moyens de contrôle dans leur première configuration pendant J cycles du signal d’horloge puis dans leur deuxième configuration pendant P cycles du signal d’horloge. D’autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée de modes de mise en œuvre et de réalisation, nullement limitatifs, et des dessins annexés sur lesquels : et illustrent schématiquement des modes de mise en œuvre et de réalisation de l’invention. Sur la , la référence CRT désigne un circuit électronique de multiplication comprenant une première entrée de circuit EC1 pour recevoir une succession de premiers opérandes A i de n bits. Le circuit CRT comporte également une deuxième entrée de circuit EC2 pour recevoir une succession de deuxièmes opérandes B i . Dans cet exemple, chaque deuxième opérande B i comporte J mots M 1 …M j de k bits chacun. Le circuit CRT comporte également une troisième entrée de circuit EC3 pour recevoir une succession d’opérandes supplémentaires OPS i comportant dans cet exemple P mots supplémentaires MS 1 …MS p de k bits chacun. Le valeur n est un multiple de k. A titre d’exemple non limitatif, n peut être égal à 16 et k peut être égal à 8. Dans ce mode de réalisation, les opérandes supplémentaires successifs OPS i sont générés de façon pseudo-aléatoire par un générateur pseudo-aléatoire GEPS de structure classique et connue en soi. Le circuit CRT comporte également un étage multiplieur MLT de structure classique et connue en soi, possédant une entrée EC1 formant la première entrée de circuit et destinée à recevoir en parallèle les n bits de chaque premier opérande A i . L’étage multiplieur MLT est par ailleurs connecté sélectivement soit à la deuxième entrée de circuit EC2 soit à la troisième entrée de circuit EC3 par l’intermédiaire d’un multiplexeur d’entrée MXE possédant une première entrée E1 connectée à la deuxième entrée de circuit EC2 et une deuxième entrée de circuit E2 connectée à la troisième entrée de circuit EC3. Que ce soit pour un mot du deuxième opérande B i ou un mot supplémentaire de l’opérande supplémentaire OPS i , l’étage multiplieur MLT est configuré pour effectuer tous les produits partiels des k bits b 0 -b k-1 de ce mot avec les n bits du premier opérande A i . L’étage multiplieur MLT possède une sortie de multiplieur SM1 délivrant en parallèle ces k signaux de produits partiels de n bits chacun. La sortie de multiplieur SM1 est connectée à une première interface d’entrée ED1 d’un étage additionneur de sauvegarde CSA de structure classique et connue en soi. Plus précisément, un étage additionneur de sauvegarde, comporte un ensemble d’additionneurs et de registres à décalage pour effectuer avec les décalages correspondants toutes les additions des produits partiels correspondant à l’opération de multiplication. La structure d’un tel étage additionneur CSA est bien connue de l’homme du métier et celui-ci pourra par exemple se référer à l’ouvrage de Parhami Behrooz, intitulé « Computer arithmetic : algorithms and hardware designs » (2 nd edition), 2010, New York Oxford University Press. Le circuit CRT comporte par ailleurs une sortie de circuit SC connectée à une première interface de sortie IS11, IS12 de l’étage additionneur CSA. Le circuit CRT comporte également un étage d’accumulation comportant ici deux registres d’accumulation RGC1 et RGC2 ayant chacun une taille de n bits. Cet étage d’accumulation est rebouclé entre une deuxième interface de sortie IS211, IS210, IS220 et IS221 de l’étage additionneur CSA et une deuxième interface d’entrée ED2 de cet étage additionneur CSA. Le circuit CRT comporte par ailleurs des moyens de contrôle configurables MCTL dont on reviendra plus en détails ci-après sur la structure. Cela étant, on peut d’ores et déjà noter que ces moyens de contrôle MCTL possèdent une première configuration et une deuxième configuration. Dans la première configuration, les moyens de contrôle MCTL sont configurés pour, pour chaque premier opérande A i et le deuxième opérande correspondant B i , -autoriser une première multiplication du premier opérande par le deuxième opérande, et -effectuer les délivrances successives à ladite sortie de circuit SC du ou des mots de poids faible du résultat RS de la première multiplication à partir d’extractions successives de données RS1, RS2 depuis la première interface de sortie de l’étage additionneur, ainsi qu’un stockage de données représentatives du ou des mots de poids fort du résultat de cette première multiplication dans l’étage d’accumulation RGC1, RGC2. Dans leur deuxième configuration, les moyens de contrôle MCTL sont configurés pour autoriser une deuxième ou fausse multiplication du premier opérande A i par un opérande supplémentaire OPS i incluant une extraction séquentielle de l’étage d’accumulation RGC1, RGC2, des données RS10, RS20 représentative du ou desdits mots de poids fort du résultat de la première multiplication. D’une façon générale, les opérandes supplémentaires OPS i , respectivement associés aux premiers opérandes A i ne sont pas tous identiques, en particulier lorsqu’ils sont émis par un générateur pseudo-aléatoire GEPS et peuvent de ce fait être assimilés à des opérandes B i quelconques. Le circuit CRT comporte par ailleurs des moyens de commande MC, par exemple réalisés par des circuits logiques, et configurés pour, à l’aide d’un ou de plusieurs signaux de commande SCTRL, placer les moyens de contrôle dans leur première configuration puis dans leur deuxième configuration. Comme il est bien connu de l’homme du métier, l’additionneur CSA contient plusieurs additionneurs élémentaires et chaque additionneur élémentaire effectue une addition en distinguant l’addition avec retenue et l’addition sans retenue. Mais comme ces additionneurs élémentaires sont combinés, les sorties de l’additionneur CSA ne distinguent pas les résultats d’additions sans retenues et les résultats d’additions avec retenues. Les sorties de l’additionneur CSA délivrent en fait des sommes partielles. Si l’on revient maintenant à la première interface de sortie de l’additionneur CSA, on voit que celle-ci comporte ici une première sortie IS11 connectée à la sortie de circuit SC par l’intermédiaire d’éléments dont on reviendra plus en détails ci-après sur la nature, et destinée à délivrer successivement des mots de poids faibles de résultats RS1 représentatifs d’une première somme partielle effectuée par l’étage additionneur de sauvegarde CSA. La première interface de sortie de l’étage additionneur CSA comporte par ailleurs une deuxième sortie IS12 connectée à la sortie de circuit SC, également par l’intermédiaire d’éléments dont on reviendra plus en détails ci-après sur la nature, et destinée à délivrer successivement les mots de poids faibles de la deuxième somme partielle correspondante RS2. La deuxième interface de sortie de l’étage additionneur CSA comprend une première sortie IS210, IS211 destinée à délivrer successivement les autres mots des résultats représentatifs de la première somme partielle et une deuxième sortie IS220, IS221 destinée à délivrer successivement les autres mots de la deuxième somme partielle correspondante. L’étage d’accumulation comprend dans cet exemple -un premier registre d’accumulation RGC1 connecté en entrée à la première sortie IS210, IS211 par l’intermédiaire d’éléments dont on reviendra plus en détails ci-après sur la nature, -un deuxième registre d’accumulation RGC2 connecté en entrée à la deuxième sortie IS220, IS221, également par l’intermédiaire d’éléments dont on reviendra plus en détails ci-après sur la nature. Le circuit CRT comporte par ailleurs un générateur GEN configuré pour délivrer un signal d’horloge CLK destiné à cadencer le circuit de multiplication CRT. Ainsi, au cours de cycles successifs du signal d’horloge, la première sortie IS11 de l’étage additionneur CSA est destinée à délivrer successivement les mots RS1 de poids faibles de k bits tandis que la deuxième sortie IS12 de l’étage additionneur CSA est destinée à délivrer successivement les mots RS2 de poids faibles de k bits de la deuxième somme partielle. La première sortie IS210, IS211 de l’étage additionneur se décompose ici en une première sortie élémentaire IS210 et en une deuxième sortie élémentaire IS211. La première sortie élémentaire IS210 est destinée à délivrer les n-k bits de poids faibles Sum1[n-k-1:0] des autres mots successifs des résultats représentatifs de la première somme partielle. La deuxième sortie élémentaire IS211 est quant à elle destinée à délivrer les k bits de poids forts Sum1[n-1:n-k] de ces autres mots successifs des résultats représentatifs de la première somme partielle. La deuxième sortie IS220, IS221 de l’étage additionneur se décompose quant à elle en une troisième sortie élémentaire IS220 et en une quatrième sortie élémentaire IS221. La troisième sortie élémentaire IS220 est destinée à délivrer les n-k bits de poids faibles Sum2[n-k-1:0] des autres mots successifs de la deuxième somme partielle correspondante. La quatrième sortie élémentaire IS221 est quant à elle destinée à délivrer les k bits de poids forts Sum2[n-1:n-k] de ces autres mots successifs de la deuxième somme partielle correspondante. Les moyens de contrôle MCTL comprennent un multiplexeur d’entrée MXE possédant une première entrée E1 connectée à la deuxième entrée de circuit EC2, une deuxième entrée E2 connectée à la troisième entrée de circuit EC3 et une sortie connectée à l’étage multiplieur MLT. Les moyens de contrôle comprennent également un premier multiplexeur MUX1 possédant une première entrée E1 connectée à la première sortie IS11 de la première interface de sortie de l’étage additionneur CSA, une deuxième entrée E2 connectée à une première sortie S110 du premier registre d’accumulation RGC1 destinée à délivrer des k bits RS10 de rangs 0 à k-1 stockés dans ce premier registre d’accumulation et une sortie connectée à la sortie de circuit SC par l’intermédiaire d’un additionneur de sortie ADDS. Cet additionneur de sortie possède également une sortie rebouclée sur une de ses entrées par l’intermédiaire d’un registre de retenue RGR destiné à stocker une retenue de 1 bit. Les moyens de contrôle MCTL comportent également un deuxième multiplexeur MUX2 possédant une première entrée E1 connectée à la deuxième sortie IS12 de l’étage additionneur, une deuxième entrée E2 connectée à une première sortie S210 du deuxième registre d’accumulation RGC2 destinée à délivrer les k bits RS20 de rangs 0 à k-1 stockés dans ce deuxième registre d’accumulation et une sortie connectée à la sortie de circuit SC par l’intermédiaire de l’additionneur de sortie ADDS. Les moyens de contrôle MCTL comportent également un troisième multiplexeur MUX3 possédant une première entrée E1 connectée à la première sortie élémentaire IS210, une deuxième entrée E2 connectée sur une deuxième sortie S111 du premier registre d’accumulation RGC1 destinée à délivrer les n-k bits RS11 de rangs k à n-1 stockés dans ce premier registre d’accumulation, et une sortie connectée aux n-k emplacements de rangs n-k-1 à 0 du premier registre d’accumulation RGC1. Les moyens de contrôle MCTL comportent également un quatrième multiplexeur MUX4 possédant une première entrée E1 connectée à la troisième sortie élémentaire IS220, une deuxième entrée E2 connectée sur une deuxième sortie S211 du deuxième registre d’accumulation RGC2 destinée à délivrer les n-k bits RS21 de rang k à n-1 stockés dans ce deuxième registre d’accumulation, et une sortie connectée au n-k emplacements de rangs n-k-1 à 0 du deuxième registre d’accumulation. Dans ce mode de réalisation, les moyens de contrôle MCTL comprennent en outre un cinquième multiplexeur MUX5 possédant une première entrée E1 connectée à la deuxième sortie élémentaire IS211, une deuxième entrée E2 pour recevoir k bits sélectionnés bs1 et une sortie connectée au k emplacements de rangs n-k à n-1 du premier registre d’accumulation RGC1. Bien que les bits sélectionnés bs1 puissent l’être à partir d’un générateur pseudo-aléatoire, il est possible, comme illustré dans ce mode de réalisation, de sélectionner les k bits bs1 parmi par exemple les bits délivrés par les sorties IS211 et IS210 de l’additionneur CSA. Ces moyens de sélection SEL1, par exemple réalisés à partir de circuits logiques, peuvent opérer une sélection pseudo-aléatoire par exemple. Les moyens de contrôle MCTL comportent également dans ce mode de réalisation un sixième multiplexeur MUX6 possédant une première entrée E1 connectée à la quatrième sortie élémentaire IS221, une deuxième entrée E2 pour recevoir les k bits sélectionnés bs2 et une sortie connectée au k emplacements de rangs n-k à n-1 du deuxième registre d’accumulation RGC2. Là encore, les k bits sélectionnés bs2 peuvent l’être à partir des bits délivrés par les sorties IS221 et IS220. Les moyens de sélection SEL2 peuvent effectuer une sélection identique ou différente de la sélection effectuée par les moyens de sélection SEL1. On se réfère maintenant plus particulièrement aux figures 2 à 5 pour illustrer un mode de mise en œuvre du procédé de multiplication mis en œuvre au sein du circuit CRT. Comme illustré sur la , on prend comme exemple le premier opérande A i égal à 85A7 en notation hexadécimale. Le circuit CRT va multiplier ce premier opérande par le deuxième opérande B i égal en notation hexadécimale à 40 25 31, par exemple. Le deuxième opérande B i comporte donc un premier mot M1 de huit bits (dans cet exemple k=8) égal à 31 en notation hexadécimale, un deuxième mot M2 de huit bits égal à 25 en notation hexadécimale et un troisième mot M3 de huit bits égal à 40 en notation hexadécimale. L’opérande supplémentaire OPS i comporte dans cet exemple deux mots supplémentaires de huit bits MS1 et MS2 de contenus quelconques mais différents. Comme illustré au bas de la , le résultat final RSF de la multiplication A i par B i est égal dans cet exemple à 217D2AB7F7. On va maintenant décrire plus précisément comment ce résultat RSF est obtenu. Comme illustré sur la partie haute de la , le procédé comporte une première phase PH1 comportant ici trois cycles du signal d’horloge CLK, CYCL1, CYCL2 et CYCL3. Au début de la première phase PH1, tous les registres d’accumulation sont initialisés à 0 de même que toutes les entrées de l’étage additionneur CSA. Au cours des trois premiers cycles d’horloge CYCL1, CYCL2 et CYCL3, les moyens de commande MC placent les moyens de contrôle à l’aide du signal SCTRL dans leur première configuration illustrée par des traits en gras sur la . Dans cette première configuration, toutes les premières entrées E1 de tous les multiplexeurs sont reliées à leurs sorties respectives. Le fonctionnement du circuit CRT est alors analogue au fonctionnement d’un circuit de multiplication classique. Plus précisément, au cours du premier cycle CYCL1, le premier opérande A i égal à 85A7 est délivré sur l’entrée EC1 de l’étage multiplieur MLT tandis que le premier mot M1 égal à 31 de l’opérande Bi est délivré sur l’autre entrée de l’étage multiplieur MLT. A l’issue de ce premier cycle CYCL1, les huit bits de poids faible du résultat égal à F7 sont délivrés sur la sortie de circuit SC tandis que les données binaires représentant les mots de poids fort du résultat égal ici à 1994 sont délivrées sur les sorties IS211, IS210, IS221 et IS220 de l’étage additionneur CSA pour être stockées dans le premier registre d’accumulation RGC1 et dans le deuxième registre d’accumulation RGC2. En fait, comme il est bien connu de l’homme du métier, avec cette structure particulière mais non limitative d’étage additionneur CSA, la somme des bits délivrés sur les sorties IS211 et IS210 et des bits délivrés sur les sorties IS221 et IS220 est égale à 1994 en notation hexadécimale. Au deuxième cycle CYCL2, le premier opérande Ai est encore délivré sur l’entrée EC1 tandis que le deuxième mot M2 de l’opérande B i égal à 25 est délivré sur l’autre entrée de l’étage multiplieur MLT. Aussi, à la fin de ce deuxième cycle CYCL2, l’octet de poids faible du résultat égal à B7 en notation hexadécimale est délivré sur la sortie de circuit SC tandis que les données binaires représentatives des mots de poids forts du résultat égaux ici à 136A sont stockés dans les registres d’accumulation RGC1 et RGC2. Au troisième cycle CYCL3, le premier opérande A i est encore délivré sur l’entrée de circuit ENC1 et le troisième mot M3 de l’opérande B i , égal à 40, est délivré sur l’autre entrée de l’étage multiplieurs MLT. A la fin de ce troisième cycle CYCL3, l’octet de poids faible égal à 2A en notation hexadécimale est délivré sur la sortie de circuit SC tandis que les données binaires représentatives des mots de poids forts du résultat égaux ici à 217D sont stockés dans les registres d’accumulation RGC1 et RGC2. Il convient maintenant de délivrer à la sortie de circuit les octets 7D et 21 qui sont stockés dans les registres d’accumulation RGC1 et RGC2 en utilisant l’opérande supplémentaire OPS i comportant ces deux mots supplémentaires MS1 et MS2 de contenus quelconques. A cet égard, comme illustré sur la partie basse de la , le procédé comporte une deuxième phase PH2 comportant deux cycles d’horloge CYCL4 et CYCL5 dans lesquels les moyens de commande MC placent les moyens de contrôle MCTL dans leur deuxième configuration illustrée par des traits en gras sur la . Dans cette deuxième configuration, ce sont cette fois-ci les deuxièmes entrées E2 de tous les multiplexeurs qui sont reliées à leurs sorties respectives. Au début du quatrième cycle CYCL4, les données présentes sur la deuxième interface d’entrée ED2 de l’étage additionneur CSA correspondent aux données qui étaient présentes dans les registres d’accumulation RGC1 et RGC2 et qui correspondaient à la multiplication A i * Bi. Donc on peut d’ores et déjà noter que le résultat de la multiplication B i par OPS i correspondra à une multiplication fausse ou factice. Mais, ceci n’a pas d’importance car les données produites par cette deuxième multiplication ne vont pas écraser les données binaires représentatives des deux derniers octets 21 et 7D du résultat de la multiplication A i par B i comme cela va maintenant être expliqué. En effet, au cours du cycle CYCL4, les k bits RS10 et RS20 stockés dans les registres d’accumulation RGC1 et RGC2 vont être délivrés à l’additionneur de sortie ADDS par l’intermédiaire des premier et deuxième multiplexeurs MUX1 et MUX2, et l’additionneur ADDS va fournir sur la sortie SC les k bits du résultat égal à 7D en notation hexadécimale. Par ailleurs, les n-k bits (ici les huit bits) de rang 8 à 16 stockés dans le premier registre d’accumulation RGC1 vont être délivrés sur la sortie S111 et réinjectés dans ce premier registre RGC1 aux emplacements de rang 0 à 7, par l’intermédiaire du troisième multiplexeur MUX3. Il en est de même pour les bits RS21 stockés dans le deuxième registre d’accumulation RGC2 qui vont être restockés dans celui-ci aux emplacements de rang 0 à 7 par l’intermédiaire du quatrième multiplexeur MUX4. En d’autres termes, les données représentatives du dernier octet de résultat égal à 21 en notation hexadécimale se retrouvent maintenant décalées vers la droite et prêtes à être délivrées par l’intermédiaire des sorties S110 et S210 des registres d’accumulation RGC1 et RGC2, au cycle d’horloge suivant. Par ailleurs, les k bits de poids forts stockés dans le premier registre d’accumulation RGC1 et dans le deuxième registre d’accumulation RGC2 sont les bits bs1 et bs2 respectivement. Comme illustré schématiquement sur la , ces bits bs1 et bs2 forment ensemble un octet égal à XY, ce qui ne correspond à rien. Au cycle d’horloge suivant CYCL5, les données binaires RS10 et RS20 sont délivrées à l’additionneur de sortie ADDS qui va délivrer le dernier mot de résultat égal à 21 en notation hexadécimale sur la sortie de circuit SC. Parallèlement, d’autres bits bs1 et bs2 vont remplir les registres d’accumulation RGC1 et RGC2 qui vont à la fin du cycle 5 contenir les octets WZXY comme illustré schématiquement sur la . Comme illustré sur la , il serait possible de ne pas utiliser les multiplexeurs MUX5 et MUX6, ni les moyens de sélection SEL1 et SEL2, et de prévoir une connexion directe CND1 entre la sortie élémentaire IS211 et les k emplacements de poids forts du premier registre d’accumulation RGC1 et de prévoir une connexion directe CND2 entre la sortie élémentaire IS21 et les k emplacements de poids forts du deuxième registre d’accumulation RGC2. Ce mode de réalisation, plus simple, offre toutefois une efficacité moindre en ce qui concerne le lissage de la consommation de courant du circuit CRT. Enfin, comme illustré très schématiquement sur la , le circuit CRT peut être réalisé de façon intégrée et être incorporé au sein d’un circuit intégré IC. Procédé de multiplication d’une succession de premiers opérandes par une succession de deuxièmes opérandes dans un circuit électronique de multiplication, le circuit (CRT) comportant un étage multiplieur (MLT) connecté à un étage additionneur de sauvegarde (CSA), une sortie de circuit (SC) connectée à une première interface de sortie (IS11, IS12) de l’étage additionneur, un étage d’accumulation (RGC1, RGC2) rebouclé entre une deuxième interface de sortie (IS211, IS210, IS221, IS220) et une interface d’entrée (ED2) de l’étage additionneur, le procédé comprenant, pour chaque premier opérande (A i ) et le deuxième opérande correspondant (B i ), -une première phase comportant au sein dudit circuit, une première multiplication du premier opérande (A i ) par le deuxième opérande (B i ) incluant des délivrances successives à ladite sortie de circuit du ou des mots de poids faible du résultat (RS) de la première multiplication à partir d’extractions successives de données (RS1, RS2) depuis la première interface de sortie et un stockage de données représentatives du ou des mots de poids fort du résultat de la première multiplication dans l’étage d’accumulation, et -une deuxième phase comportant au sein dudit circuit une deuxième, dite fausse, multiplication du premier opérande par un opérande supplémentaire incluant une extraction séquentielle de l’étage d’accumulation desdites données (RS10, RS20) représentatives dudit ou desdits mots de poids fort du résultat de la première multiplication, les opérandes supplémentaires (OPS i ) respectivement associés aux premiers opérandes n’étant pas tous identiques. Procédé selon la revendication 1, dans lequel la deuxième phase comporte en outre une sélection de bits (bs1, bs2) et un stockage de ces bits sélectionnés dans des emplacements de l’étage d’accumulation destinés à stocker les données représentatives du ou des mots de poids forts du résultat de la fausse multiplication. Procédé selon la revendication 2, dans lequel la sélection de bits (bs1, bs2) comprend une sélection pseudo-aléatoire. Procédé selon la revendication 2 ou 3, dans lequel les bits sélectionnés (bs1, bs2) sont sélectionnés parmi les bits délivrés par la deuxième interface de sortie. Procédé selon l’une des revendications précédentes, dans lequel les opérandes supplémentaires (OPS i ) sont choisis de façon pseudo-aléatoire. Procédé selon l’une des revendications précédentes, dans lequel chaque deuxième opérande (B i ) comporte une suite de plusieurs mots numériques (M 1 ,…,M j ), chaque opérande supplémentaire (OPS i ) comporte une succession de mots numériques supplémentaires (MS 1 ,…,MS p ), la première phase comporte une délivrance desdits mots numériques à l’étage multiplieur, la deuxième phase comporte une délivrance des mots numériques supplémentaires à l’étage multiplieur, et tous les mots numériques supplémentaires (MS 1 ,…,MS p ) ne sont pas tous identiques. Procédé selon la revendication 6, dans lequel les mots numériques supplémentaires (MS 1 ,…,MS p ) sont choisis de façon pseudo-aléatoire. Circuit électronique de multiplication, comprenant -une première entrée de circuit (EC1) pour recevoir une succession de premiers opérandes (A i ), -une deuxième entrée de circuit (EC2) pour recevoir une succession de deuxièmes opérandes (B i ), -une troisième entrée de circuit (EC3) pour recevoir une succession d’opérandes supplémentaires (OPS i ), -un étage multiplieur (MLT) connecté à la première entrée de circuit et sélectivement à la deuxième entrée de circuit ou à la troisième entrée de circuit et possédant une sortie de multiplieur (SM1) connectée à une première interface d’entrée (ED1) d’un étage additionneur de sauvegarde (CSA), -une sortie de circuit (SC) connectée à une première interface de sortie (IS11, IS12) de l’étage additionneur, -un étage d’accumulation (RGC1, RGC2) rebouclé entre une deuxième interface de sortie (IS211, IS210, IS221, IS220) et une deuxième interface d’entrée (ED2) de l’étage additionneur, -des moyens de contrôle configurables (MCTL) possédant o une première configuration dans laquelle, pour chaque premier opérande et le deuxième opérande correspondant, ils sont configurés pour autoriser une première multiplication du premier opérande par le deuxième opérande et effectuer des délivrances successives à ladite sortie de circuit du ou des mots de poids faible du résultat (RS) de la première multiplication à partir d’extractions successives de données (RS1, RS2) depuis la première interface de sortie de l’étage additionneur et un stockage de données représentatives du ou des mots de poids fort du résultat de la première multiplication dans l’étage d’accumulation (RGC1, RGC2), et o une deuxième configuration dans laquelle ils sont configurés pour autoriser une fausse multiplication du premier opérande par un opérande supplémentaire (OPS i ) incluant une extraction séquentielle de l’étage d’accumulation des données (RS10, RS20) représentatives dudit ou desdits mots de poids fort du résultat de la première multiplication, les opérandes supplémentaires (OPS i ) respectivement associés aux premiers opérandes n’étant pas tous identiques, et -des moyens de commande configurés pour placer les moyens de contrôle dans leur première configuration puis dans leur deuxième configuration. Circuit selon la revendication 8, dans lequel les moyens de contrôle (MCTL) sont en outre configurés pour, dans la deuxième configuration, effectuer une sélection de bits (bs1, bs2), un stockage de ces bits sélectionnés dans des emplacements de l’étage d’accumulation destinés à stocker les données représentatives du ou des mots de poids forts du résultat de la fausse multiplication. Circuit selon la revendication 9, dans lequel les moyens de contrôle (MCTL) sont configurés pour effectuer une sélection pseudo-aléatoire desdits bits. Circuit selon la revendication 9 ou 10, dans lequel les moyens de contrôle (MCTL) sont configurés pour effectuer ladite sélection desdits bits (bs1, bs2) parmi les bits délivrés par la deuxième interface de sortie de l’étage additionneur. Circuit selon l’une des revendications 8 à 11, dans lequel les opérandes supplémentaires (OPS i ) sont des opérandes pseudo-aléatoires. Circuit selon l’une des revendications 8 à 12, dans lequel chaque deuxième opérande (B i ) comporte une suite de plusieurs mots numériques (M 1 ,…,M j ), chaque opérande supplémentaire (OPS i ) comporte une succession de mots numériques supplémentaires (MS 1 ,…,MS p ), et les moyens de contrôle (MCTL) sont configurés pour, dans la première configuration, délivrer lesdits mots numériques (M 1 ,…,M j ) à l’étage multiplieur, et pour, dans la deuxième configuration, délivrer les mots numériques supplémentaires (MS 1 ,…,MS p ) à l’étage multiplieur, et tous les mots numériques supplémentaires (MS 1 ,…,MS p ) ne sont pas tous identiques. Circuit selon la revendication 13, dans lequel les mots numériques supplémentaires (MS 1 ,…,MS p ) sont des mots pseudo-aléatoires. Circuit selon l’une des revendications 8 à 14, dans lequel la première interface de sortie de l’étage additionneur (CSA) comporte -une première sortie (IS11) connectée à la sortie de circuit (SC) et destinée à délivrer successivement des mots de poids faibles de résultats (RS1) représentatifs d’une première somme partielle effectuée par l’étage additionneur de sauvegarde, et -une deuxième sortie (IS12) connectée à la sortie de circuit (SC) et destinée à délivrer successivement les mots de poids faibles (RS2) d’une deuxième somme partielle effectuée par l’étage additionneur de sauvegarde, la deuxième interface de sortie de l’étage additionneur (CSA) comprend -une première sortie (IS210, IS211) destinée à délivrer successivement les autres mots des résultats représentatifs de la première somme partielle, et -une deuxième sortie (IS220, IS221) destinée à délivrer successivement les autres mots de la deuxième somme partielle correspondante, et l’étage d’accumulation comprend -un premier registre d’accumulation (RGC1) connecté en entrée à la première sortie (IS210, IS211) de ladite deuxième interface de sortie, et -un deuxième registre d’accumulation (RGC2) connecté en entrée à la deuxième sortie (IS220, IS221) de ladite deuxième interface de sortie. Circuit selon les revendications 13 et 15, dans lequel chaque premier opérande (A i ) est un mot de n bits et chaque deuxième opérande (B i ) comporte une suite de mots numériques (M 1 ,…,M j ) de k bits, le premier registre d’accumulation (RGC1) et le deuxième registre d’accumulation (RGC2) ont chacun une taille de n bits, et le circuit est configuré pour être cadencé par un signal d’horloge (CLK), et au cours de cycles successifs du signal d’horloge, -la première sortie (IS11) de la première interface de sortie de l’étage additionneur est destinée à délivrer successivement des mots de poids faibles de k bits (RS1) de résultats représentatifs de la première somme partielle, -la deuxième sortie (IS12) de la première interface de sortie de l’étage additionneur est destinée à délivrer successivement les mots de poids faibles de k bits (RS2) de la deuxième somme partielle correspondante, -la première sortie de la deuxième interface de sortie comporte une première sortie élémentaire (IS210) destinée à délivrer les n-k bits de poids faibles (Sum1 [n-k-1:0]) desdits autres mots successifs des résultats représentatifs de la première somme partielle, et une deuxième sortie élémentaire (IS211) destinée à délivrer les k bits de poids forts (Sum1 [n-1:n-k]) desdits autres mots successifs des résultats représentatifs de la première somme partielle, -la deuxième sortie de la deuxième interface de sortie comporte une troisième sortie élémentaire (IS220) destinée à délivrer les n-k bits de poids faibles (Sum2 [n-k-1:0]) desdits autres mots successifs de la deuxième somme partielle correspondante, et une quatrième sortie élémentaire (IS221) destinée à délivrer les k bits de poids forts (Sum2 [n-1:n-k]) desdits autres mots successifs de la deuxième somme partielle correspondante. Circuit selon la revendication 16, dans lequel les moyens de contrôle (MCTL) comprennent -un multiplexeur d’entrée possédant une première entrée (E1) connectée à la deuxième entrée de circuit (EC2), une deuxième entrée (E2) connectée à la troisième entrée de circuit (EC3) et une sortie connectée à l’étage multiplieur (MLT), -un premier multiplexeur (MUX1) possédant une première entrée (E1) connecté à la première sortie (IS11) de la première interface de sortie de l’étage additionneur, une deuxième entrée (E2) connectée à une première sortie (S110) du premier registre d’accumulation (RGC1) destinée à délivrer les k bits de rangs 0 à k-1 stockés dans ce premier registre d’accumulation, une sortie connectée à la sortie de circuit (SC) par l’intermédiaire d’un additionneur de sortie (ADDS), -un deuxième multiplexeur (MUX2) possédant une première entrée (E1) connecté à la deuxième sortie (IS12) de la première interface de sortie de l’étage additionneur, une deuxième entrée (E2) connectée à une première sortie (S210) du deuxième registre d’accumulation destinée à délivrer les k bits de rangs 0 à k-1 stockés dans ce deuxième registre d’accumulation, une sortie connectée à la sortie de circuit par l’intermédiaire dudit additionneur de sortie (ADDS), -un troisième multiplexeur (MUX3) possédant une première entrée (E1) connectée à la première sortie élémentaire (IS210), une deuxième entrée (E2) connectée sur une deuxième sortie (S111) du premier registre d’accumulation (RGC1) destinée à délivrer les n-k bits de rangs k à n-1 (RS11) stockés dans ce premier registre d’accumulation, et une sortie connectée aux n-k emplacements de rangs n-k-1 à 0 du premier registre d’accumulation (RGC1). -un quatrième multiplexeur (MUX4) possédant une première entrée (E1) connectée à la troisième sortie élémentaire (IS220), une deuxième entrée (E2) connectée sur une deuxième sortie (S211) du deuxième registre d’accumulation (RGC2) destinée à délivrer les n-k bits de rangs k à n-1 (RS21) stockés dans ce deuxième registre d’accumulation, et une sortie connectée aux n-k emplacements de rangs n-k-1 à 0 du deuxième registre d’accumulation (RGC1). Circuit selon la revendication 17, dans lequel la deuxième sortie élémentaire est directement connectée k emplacements de rangs n-k à n-1 du premier registre d’accumulation (RGC1) et la quatrième sortie élémentaire est directement connectée k emplacements de rangs n-k à n-1 du deuxième registre d’accumulation (RGC2). Circuit selon la revendication 17 prise en combinaison avec la revendication 10 ou 11, dans lequel les moyens de contrôle comprennent en outre -un cinquième multiplexeur (MUX5) possédant une première entrée (E1) connectée à la deuxième sortie élémentaire (IS211), une deuxième entrée (E2) pour recevoir k bits sélectionnés (bs1) et une sortie connectée aux k emplacements de rangs n-k à n-1 du premier registre d’accumulation (RGC1), un sixième multiplexeur (MUX6) possédant une première entrée (E1) connectée à la quatrième sortie élémentaire (IS221), une deuxième entrée (E2) pour recevoir les k bits sélectionnés et une sortie connectée aux k emplacements de rangs n-k à n-1 du deuxième registre d’accumulation(RGC2). Circuit selon l’une des revendications 17 à 19 dans lequel les moyens de commande sont configurés pour connecter les premières entrées respectives de tous les multiplexeurs sur leur sortie respective dans la première configuration, et pour connecter les deuxièmes entrées respectives de tous les multiplexeurs sur leur sortie respective dans la deuxième configuration. Circuit selon la revendication 20, dans lequel n est un multiple de k, chaque deuxième opérande (B i ) comporte une suite de J mots numériques (M 1 ,…,M j ), chaque opérande supplémentaire (OPS i ) comporte une succession de P mots numériques supplémentaires (MS 1 ,…,MS p ), avec P égal à n/k, et les moyens de commande sont configurés pour placer les moyens de contrôle dans leur première configuration pendant J cycles du signal d’horloge puis dans leur deuxième configuration pendant P cycles du signal d’horloge.