Brevet FR2820576A1 — publié le 20020809

PROCEDE DE CRYPTAGE PROTEGE CONTRE LES ANALYSES DE CONSOMMATION ENERGETIQUE. ET COMPOSANT UTILISANT UN TEL PROCEDE DE CRYPTAGE La présente invention concerne un procédé sécurisé de calcul cryptographique à clé secrète ou privée. La présente invention concerne également un composant mettant en oeuvre un tel procédé sécurisé. Plus particulièrement, l'invention vise à protéger de tels composants contre une attaque physique ayant pour objectif d'obtenir des informations sur la clé secrète ou privée à partir de la consommation énergétique ou du rayonnement électromagnétique du composant lorsqu'il met en oeuvre le procédé de cryptage. Les composants concernés par l'invention sont notamment utilisés pour des applications où l'accès aux services et/ou aux données est sévèrement contrôlé. Ces composants ont le plus souvent une architecture formée autour d'un microprocesseur et d'une mémoire de programme comprenant notamment la clé secrète. De tels composants sont par exemple utilisés dans des cartes à puces, notamment pour des applications de type bancaire, par l'intermédiaire d'un terminal de commande ou à distance. De tels composants utilisent un ou des procédés de cryptage à clé secrète ou privée pour calculer une donnée de sortie à partir d'une donnée d'entrée. Un tel procédé est par exemple utilisé pour chiffrer, déchiffrer, signer un message d'entrée ou bien vérifier la signature dudit message d'entrée. Pour assurer la sécurité des transactions, les procédés de cryptage à clé secrète ou privée sont construits de sorte qu'il ne soit pas possible de déterminer la clé secrète utilisée à partir de la connaissance de la donnée d'entrée et/ou de la donnée de sortie de l'algorithme. Cependant, la sécurité d'un composant repose sur sa capacité à maintenir cachée la clé secrète qu'il utilise. Un procédé fréquemment utilisé est le procédé de type DES (pour Data Encryption Standard). Il permet par exemple de fournir un message chiffré MS (ou donnée de sortie) codé sur 64 bits, à partir d'un message clair ME (ou donnée d'entrée) également codé sur 64 bits et d'une clé secrète Ka de 56 bits. Les principales étapes du procédé DES sont détaillées sur la figure 1. Après une permutation initiale IP, le bloc formé des bits de la donnée d'entrée permutés, est séparé en une partie gauche Lo et une partie droite Ro. Après cela, 16 rondes d'opérations identiques sont réalisées. Lors de chaque ronde d'opérations, la partie droite (Ro,.... Rig) d'une donnée intermédiaire calculée lors de la précédente ronde d'opérations est mélangée avec une clé dérivée (Ml,..., M) de la clé secrète. Le mélange se fait au cours d'une transformation dite transformation F. Le résultat de la transformation F est ensuite additionné (par un opérateur OU-Exclusif) à la partie gauche (La,..., L15) de la donnée intermédiaire calculée lors de la précédente ronde d'opérations. Après la 16ème ronde d'opérations, les parties gauche Lig et droite R16 de la 161ème donnée intermédiaire sont assemblées et une permutation finale IP', inverse de la permutation initiale IP, termine le procédé. Une ronde d'opérations de rang i compris entre 1 et 16 est détaillée sur la figure 2. Au cours d'une étape de calcul de clé ET, les 56 bits d'une clé intermédiaire K calculée lors de la ronde précédente sont décalés (opération S1) pour fournir une nouvelle clé intermédiaire actualisée K1, puis 48 bits sur 56 sont sélectionnés par une opération PC de permutation/compression pour fournir une clé dérivée M, : M1 = PC (KJ = PC (S1 (K1-1)). En parallèle, la transformation F est réalisée. La partie droite Ri d'une donnée intermédiaire calculée lors de la ronde précédente, est étendue à 48 bits par une expansion (opérateur E), combinée avec la clé dérivée M1 par une opération de type OU-Exclusif, remplacée par 32 nouveaux bits par une opération de substitution non linéaire (représentée par l'opérateur SBOX) puis permutée une fois de plus (permutation simple P). Le résultat de la transformation F est ensuite combiné par un OU-Exclusif à la partie gauche Li-l de la donnée intermédiaire (Li, R1i) calculée lors de la précédente ronde. La combinaison fournit la partie droite R1 d'une donnée intermédiaire actualisée. La partie gauche L1 de la donnée intermédiaire actualisée est quant à elle égale à Riz Les opérateurs F, P, E, PC, SBOX sont identiques pour toutes les rondes. Par contre, les opérateurs Si à S16 utilisés lors du calcul des clés dérivées Ki à K16 peuvent être différents d'une ronde à l'autre. Toutes les caractéristiques des opérateurs IP, Il-1, P, PC, E, SBOX, Si utilisés lors de la mise en oeuvre d'un procédé DES sont connues : calculs effectués, paramètres utilisés, etc. Ces caractéristiques sont par exemple décrites de manière détaillée dans la demande de brevet WO 00/46953 ou dans la norme"Data Encryption Standard, FIPS PUB 46"publiée le 15 janvier 1977. La sûreté d'un composant utilisant un procédé de cryptage à clé secrète ou privée réside dans sa capacité à conserver secrète la clé qu'il utilise. Pour être sûr, un composant doit notamment être capable de maintenir cachée la clé secrète qu'il utilise lorsqu'il subit une analyse de type DPA (pour Differential Power Analysis). Une analyse DPA consiste à faire une analyse statistique de la consommation du composant, c'est-à-dire de la trace laissée par le composant en fonction du temps. Pour cela, un échantillon d'environ 1000 mesures de traces est utilisé, chaque trace correspondant à des données d'entrée ME [i=l à 1000] différentes et indépendantes l'une de l'autre. L'étude statistique permet de valider une ou des hypothèses faite sur la valeur des bits de la clé secrète utilisée. Un exemple concret de mise en oeuvre d'une analyse DPA sur un composant utilisant un procédé de cryptage de type DES, est détaillé dans la publication WO 00/46953, notamment aux pages 3, 4 de cette publication. Le procédé de cryptage de type DES est notamment sensible aux attaques de type DPA à la sortie des opérateurs SBOX. Plus généralement un procédé de cryptage est sensible à une analyse de type DPA en tout point où la clé secrète apparaît en combinaison soit avec la donnée d'entrée soit avec la donnée de sortie. Ainsi, dans la pratique, un procédé de type DES est sensible en sortie de tous les opérateurs (OU-Exclusif, P, E, PC, SBOX, etc. ) de toutes les rondes d'opérations car la clé secrète est mélangée à la donnée d'entrée dès la première ronde d'opérations. Par exemple, connaissant la donnée d'entrée ME, et en faisant des hypothèses sur la clé secrète Ko, on peut prédire la valeur d'au moins un bit de la donnée intermédiaire (Lu RI) fournie en sortie de la première ronde d'opérations. Si la prédiction est vérifiée, alors l'hypothèse faite sur la clé secrète est vérifiée. Pour être sûr, un composant doit également être capable de maintenir cachée la clé secrète qu'il utilise lorsqu'il subit une analyse de type SPA (pour Simple Power Analysis). Une analyse SPA consiste à faire exécuter plusieurs fois par le composant le procédé de cryptage qu'il utilise en lui appliquant la même donnée d'entrée ME, et à mesurer, pour chaque exécution du procédé, la trace laissée par cette exécution en fonction du temps. La trace représente par exemple la consommation énergétique du composant ou l'énergie électromagnétique rayonnée en fonction du temps. L'ensemble des mesures est ensuite moyenné pour filtrer le bruit de la mesure et obtenir la trace réelle du circuit pour une donnée d'entrée ME fixée. A titre indicatif, un ensemble de 10 à 100 mesures identiques peut suffire pour filtrer le bruit de la mesure et obtenir la trace réelle du composant pour une donnée d'entrée ME fixée. Après filtrage, on distingue nettement sur la trace réelle du composant les différentes étapes du procédé DES : permutation initiale IP, 16 rondes d'opérations, puis permutation finale Il-1. Un procédé de type DES est sensible aux analyses de type SPA notamment aux points où la clé secrète apparaît, sous sa forme initiale Ko ou sous une autre forme (clés intermédiaires K,..., Kg, clés dérivées M,..., M). En effet, par une analyse de type SPA, il est possible, pour chaque ronde i d'opérations, de déterminer une image de la clé dérivée Mi. Par exemple, il est possible d'identifier l'intervalle de temps au cours duquel le transfert de la clé dérivée Mi est réalisé avant l'exécution de l'opération OU-Exclusif. Toutes les clés dérivées Ml à Ml6 étant obtenues à partir de la clé secrète Kg par des opérations connues, la connaissance de simples images des clés dérivées donne une information sur la clé secrète Ko. De manière générale, tous les procédés de cryptage sont plus ou moins sensibles aux attaques de type DPA, notamment aux endroits où un résultat intermédiaire prédictible apparaît, qui est une combinaison de la donnée d'entrée (ou d'une donnée dérivée de la donnée d'entrée) et de la clé secrète ou privée (ou d'une clé obtenue à partir de la clé secrète ou privée) ou bien qui est une combinaison de la donnée de sortie (ou d'une donnée dérivée de la donnée d'entrée) et de la clé secrète (ou d'une clé obtenue à partir de la clé secrète). Un tel résultat intermédiaire est en effet prédictible, à partir de la donnée d'entrée et/ou de la donnée de sortie et à partir d'hypothèses sur la clé utilisée, car les procédés de cryptage utilisés sont connus (opérateurs utilisés, ordre d'utilisation de ces opérateurs, etc. ). Une attaque DPA permet alors d'obtenir des informations sur la clé utilisée, en validant les hypothèses faites. En pratique, tous les procédés sont sensibles en sortie de tous les opérateurs de toutes leurs étapes (ou sous-étapes) utilisant la donnée d'entrée (ou une donnée dérivée de la donnée d'entrée), dès que la donnée d'entrée a été mélangée à la clé secrète une première fois. De la même façon, tous les procédés sont également sensibles en sortie de tous les opérateurs fournissant un résultat dépendant de la donnée de sortie et de la clé secrète ou privée, et ce, dès que la donnée d'entrée a été mélangée une première fois à la clé secrète ou privée. De la même façon, tous les procédés de cryptage utilisant des clés secrètes ou privées sont plus ou moins sensibles aux analyses de type SPA. Leur sensibilité est notamment importante aux endroits où la clé apparaît seule, sous sa forme initiale ou sous sa forme dérivée. En pratique, tous les procédés sont sensibles en sortie d'une étape dite critique, au cours de laquelle la clé secrète est utilisée soit directement soit sous une forme dérivée obtenue par une loi de calcul de clé dérivée connue. Une telle étape critique est par exemple une étape de calcul de clé intermédiaire ou dérivée, à partir de la clé secrète ou privée ou bien à partir d'une clé intermédiaire précédemment calculée. Un objet de l'invention est de mettre en oeuvre un procédé sécurisé de calcul cryptographique à clé secrète ou privée qui est immunisé contre toute attaque physique de type DPA, c'est-à-dire un procédé sécurisé de calcul cryptographique dont la trace, lors de la mise en oeuvre du procédé, ne donne aucune information sur la clé qu'il utilise, et ce quelle que soit la donnée d'entrée utilisée par le procédé, quel que soit le nombre d'utilisations du procédé, et même si une étude statistique de la trace est réalisée. Un autre objet de l'invention est de mettre en oeuvre un procédé sécurisé de calcul cryptographique à clé secrète ou privée qui est protégé également contre toute attaque de type SPA. Avec ces objectifs en vue, l'invention concerne un procédé de calcul cryptographique protégé contre une analyse de consommation, le procédé comprenant une étape de calcul pour produire une donnée de sortie MS à partir d'une donnée d'entrée ME et d'une clé secrète Ko. Selon l'invention, le procédé comprend également : - une première étape de masquage, réalisée avant l'étape de calcul, pour masquer la donnée d'entrée ME, et - une première étape de démasquage, réalisée après l'étape de calcul, pour fournir la donnée de sortie MS non masquée. L'invention concerne également un composant électronique utilisant un procédé tel que celui décrit ci-dessus. Le mot"masqué" (ou"mélangé") doit être compris ici, et dans tout ce qui suit, dans le sens suivant. Dans un procédé selon l'invention, une donnée, un résultat, un opérande, sont dits masqués s'ils ont une valeur différente lors de deux exécutions du procédé, notamment lors de deux exécutions du procédé utilisant la même donnée d'entrée et la même clé secrète ou privée. Ainsi, avec l'invention, la donnée fournie par l'étape de calcul est masquée car la donnée d'entrée est masquée avant l'étape de calcul. La donnée fournie par l'étape de calcul est donc différente à chaque exécution du procédé, même si la donnée d'entrée et la clé secrète utilisées sont identiques. Une étude statistique de la consommation du composant utilisant un procédé selon l'invention est donc vouée à l'échec : elle ne permet pas d'obtenir des informations sur la clé secrète utilisée puisque la consommation du composant est décorrélée de la valeur de la clé utilisée. Lors de la première étape de masquage, un premier paramètre de masquage est mélangé à la donnée d'entrée ME, pour fournir une donnée d'entrée masquée à la lire étape de calcul, le mélange étant réalisé par l'utilisation d'un premier opérateur de mélange linéaire. Pour une sécurisation maximale du procédé, le premier paramètre de masquage est choisi aléatoirement à chaque mise en oeuvre du procédé lors de l'étape de masquage. Le premier paramètre de masquage peut également être choisi aléatoirement seulement toutes les M mises en oeuvre du procédé. Dans ce cas, le même paramètre de masquage est utilisé pour les M mises en oeuvre suivantes. L'étape de masquage permet ainsi, en mélangeant la donnée d'entrée à un paramètre aléatoire, de supprimer toute corrélation entre la donnée d'entrée ME et une donnée ou un résultat intermédiaire obtenus à partir de la donnée d'entrée ME. Lors de la première étape de démasquage, la contribution apportée par le premier paramètre de masquage au résultat de l'étape de calcul est soustraite du résultat de l'étape de calcul. L'étape de démasquage permet ainsi de retrouver, à la fin du procédé, la donnée de sortie attendue. En particulier, si le procédé est exécuté deux fois avec la même donnée d'entrée et la même clé secrète, alors la donnée de sortie MS obtenue est la même dans les deux cas. Si l'étape (ou une étape) de calcul du procédé comprend notamment l'utilisation d'un opérateur nonlinéaire, alors le procédé comprend également de préférence : - une deuxième étape de masquage, réalisée avant l'étape de calcul, pour fournir un opérateur non-linéaire masqué OP'vérifiant la relation suivante, pour toute donnée A : OP' (A & XI) = OP (A) &commat;OP (X2) Xi, X2 étant un premier et un deuxième paramètres de masquage, choisis de manière aléatoire, & , &commat; étant un premier et deuxième opérateurs de mélange, OP étant un opérateur non-linéaire connu. Dans ce cas, au cours de l'étape de démasquage, la contribution apportée par le deuxième paramètre de masquage au résultat de l'étape de calcul est soustraite du résultat de l'étape de calcul. Selon un mode préféré de réalisation de l'invention, le procédé est un procédé de type DES, il comprend notamment N étapes de calcul exécutées successivement, l'étape de calcul de rang i fournissant une donnée intermédiaire actualisée, à partir d'une donnée intermédiaire précédemment calculée et d'une clé dérivée actualisée, i étant un entier compris entre 1 et N. Dans ce cas : - la première étape de masquage est réalisée avant la 1ère étape de calcul, pour masquer la donnée d'entrée ME, de sorte que la donnée intermédiaire actualisée fournie par l'étape de calcul de rang i soit également masquée, et la première étape de démasquage est réalisée après la Nème étape de calcul, pour fournir la donnée de sortie MS non masquée. L'étape de calcul de rang i comprend notamment une étape utilisant un opérateur non linéaire. Selon l'invention, le procédé comprend également : - une deuxième étape de masquage, réalisée avant la 1 ère étape de calcul, pour fournir un opérateur non linéaire masqué SBOX', l'opérateur non linéaire masqué vérifiant la relation suivante, pour toute donnée A : SBOX' (A&commat;X3) = SBOX (A) &num; X2, où SBOX est un opérateur non linéaire connu, X2 est un 2ème paramètre de masquage, choisi de manière aléatoire, X3 est un 3ème paramètre de masquage, SBOX est un opérateur non linéaire connu, "&num;"est un 2ème opérateur de mélange, et"&commat;"est un 3 opérateur de mélange, L'étape de calcul de rang i comprend alors : - une 2 étape de démasquage réalisée après l'étape utilisant l'opérateur non linéaire masqué SBOX', pour enlever la contribution apportée par le 2ème paramètre de masquage au résultat produit par l'opérateur non linéaire masqué. Le premier opérateur de mélange (" & "), le deuxième opérateur de mélange ("&num;") et le troisième opérateur de mélange ("&commat;") sont un des opérateurs linéaires. L'un de ces opérateurs est par exemple de type OU-Exclusif. De manière générale, un procédé selon l'invention, peut comprendre éventuellement plusieurs étapes de calcul, fournissant chacune un résultat intermédiaire actualisé à partir d'une donnée d'entrée ou d'un résultat intermédiaire précédemment calculé par une autre des étapes de calcul, et éventuellement plusieurs étapes de masquage et plusieurs étapes de démasquage, les étapes de masquage et les étapes de démasquage étant réparties entre les étapes de calcul dans l'ensemble du procédé, de sorte que tout résultat intermédiaire fourni par l'une ou l'autre des étapes de calcul soit masqué. Si le procédé selon l'invention comprend une étape de calcul de clé dérivée, pour fournir une clé dérivée à partir de la clé secrète selon une loi de calcul de clé connue, alors le procédé est avantageusement complété par l'ajout d'une quatrième étape de masquage, effectuée avant l'étape de calcul de clé dérivée, pour masquer la clé secrète de sorte que la clé dérivée calculée soit différente à chaque mise en oeuvre du procédé. Ainsi, la (ou les) clé (s) dérivée (s) et/ou la (ou les) clé (s) intermédiaire (s) calculées sont toutes masquées, par l'ajout d'un paramètre aléatoire, de sorte qu'une analyse de consommation du composant, de type SPA, ne peut fournir aucune indication sur la clé secrète utilisée. En effet, lors de la quatrième étape de masquage, un paramètre de masquage choisi aléatoirement est mélangé à la clé secrète par l'intermédiaire d'un quatrième opérateur de masquage, pour fournir une clé secrète masquée, la clé dérivée masquée étant calculée à partir de la clé secrète masquée. L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de la description qui va suivre d'exemples de mise en oeuvre de procédés de calcul cryptographique protégés selon l'invention contre les analyses de consommation énergétique. La description est à lire en référence aux dessins annexés dans lesquels : - la figure 1, déjà décrite, est un diagramme d'un procédé connu de cryptage de type DES utilisant une clé secrète, la figure 2, déjà décrite, est un diagramme détaillant une étape du procédé de la figure 1, la figure 3 est un schéma de principe d'un procédé protégé selon l'invention, - les figures 4a, 4b sont un diagramme du procédé de la figure 1, sécurisé selon l'invention, - la figure 5 est un diagramme d'une amélioration du procédé des figures 4a, 4b. La figure 3 est un schéma de principe d'un procédé selon l'invention, qui fournit une donnée de sortie MS, en fonction d'une donnée d'entrée HE et d'une clé secrète Kl. Le procédé comprend une étape de masquage El, une étape de calcul E2 et une étape de démasquage E3. Au cours de l'étape de masquage El, la donnée d'entrée est mélangée à un paramètre de masquage Xl, choisi de manière aléatoire, par exemple au cours d'une étape d'initialisation du procédé. Le mélange est réalisé par l'intermédiaire d'un opérateur de mélange" & ", selon la relation ME'= ME & Xl, où ME'est une donnée d'entrée masquée. Au cours de l'étape E2 suivante, une donnée de sortie masquée MS'est calculée à partir de la donnée d'entrée masquée ME'et de la clé secrète Ka, selon la relation : MS'= OP (ME', K0), OP étant une fonction quelconque. L'opérateur" & "est choisi linéaire par rapport aux deux variables qu'il mélange. Dans un mode de réalisation, l'opérateur" & "est un OU-Exclusif. L'opérateur" & "peut également être tout type d'opérateur linéaire. De manière générale, l'opérateur " & "a les propriétés suivantes, quelles que soient les données A, B, C : *" & "est d'aritê deux : il prend deux arguments en paramètres, *" & "vérifie : E (A & B) = E (A) & E (B), E étant un opérateur linéaire, * " & " vérifie (A # B) & C = A EB (B & C), C étant l'opérateur OU-Exclusif, * il existe un opérateur " & -1 ", inverse de" & ", tel que (A & B) & -l A = B, éventuellement " & " et " & -1 " sont identiques. Au cours de l'étape E3 suivante, la donnée de sortie MS est finalement calculée, en supprimant, de la donnée MS', la contribution apportée à la donnée MS' par le paramètre de masquage XI. Ceci est réalisé en effectuant l'opération suivante MS = MS' & -l OP (X1), " & -1" étant l'opérateur inverse de l'opérateur " & ". Dans l'exemple ci-dessus, il a été supposé implicitement que l'opérateur OP est un opérateur linéaire, de sorte que : OP (ME') = OP (ME & X1) = OP (ME) & OP (XI) Si l'opérateur OP n'est pas linéaire, alors le procédé est complété par une étape EO de calcul d'un opérateur OP'masqué, exécutée avant l'étape E2. L'opérateur non linéaire masqué OP'est calculé de sorte qu'il vérifie la relation : OP'(A & X1) = OP (A) &commat;OP (X2), pour toute donnée A, où X2 est un paramètre choisi aléatoirement et"&commat;" est un opérateur linéaire, ayant des propriétés similaires à celles de l'opérateurs L'étape E3 est dans ce cas modifiée de la manière suivante : MS = MS' & OP (X2) Les exemples ci-dessous montrent comment le principe de l'invention, décrit n relation avec la figure 3, est mis en oeuvre pour un procédé connu de type DES. On considère pour cela le procédé de type DES représenté sur les figures 1, 2. Comme on l'a vu précédemment, un procédé DES calcule une donnée de sortie MS à partir d'une clé secrète Ka et d'une donnée d'entrée ME ; Le procédé DES comprend 16 rondes de calcul, précédées d'une permutation d'entrée IP et suivies d'une permutation de sortie IP', inverse de la permutation d'entrée. Chaque ronde d'opérations comprend notamment (figure 2) une étape de calcul de clé dérivée, une étape F de transformation et une étape de combinaison par un OU-Exclusif. Dans un premier exemple selon l'invention, le procédé DES est protégé contre les analyses de type DPA par l'ajout (figures 4a, 4b) d'une étape d'initialisation ETO et d'une étape de démasquage ET10, et par l'ajout, à chaque ronde, d'étapes de masquage ET3, SBOX', et d'étapes de démasquage ET4, ET9. Par souci de clarté et de simplification, seules la 1 et la ième rondes d'opérations, ont été représentées sur les figures 4a, 4b, avec les étapes caractéristiques de la présente invention, i étant ui entier compris entre 1 et 16. L'étape d'initialisation ETO comprend quatre sous- étapes ETOO à ET03. Au cours de l'étape ETOO, trois paramètres de masquage Xl, X2, X3 sont choisis de manière aléatoire ; ils sont modifiés à chaque mise en oeuvre du procédé. Au cours de l'étape ET01, les parties gauche et droite de la donnée d'entrée sont séparées puis masquées par le paramètre Xl, pour fournir ainsi une partie gauche masquée Lia = La & Xl et une partie droite masquée RIO = Ro & Xl. Le masquage est réalisé par l'intermédiaire du premier opérateur de masquage" & ", défini précédemment en relation avec la figure 3. Au cours de l'étape ET02, des-variables VX1 = E (Xl), VX2 = P (X2) sont calculées. Les opérateurs E, P sont respectivement une expansion, et une permutation simple, telles que définies dans le procédé de type DES connu. Au cours de l'étape ET03, un nouvel opérateur non linéaire SBOX'est calculé par la relation : SBOX'= FCT (SBOX, X2, X3) où SBOX est l'opérateur non linéaire utilisé dans un procédé DES connu, X2, X3 sont les paramètres aléatoires, et FCT est une fonction telle que : SBOX' [A&commat;X = SBOX [A]&num; X2, pour tout A. "&commat;","&num;"sont des opérateurs de mélange linéaires, ayant des propriétés similaires à celles de l'opérateur" & "."&commat;","&num;"peuvent être différents l'un de l'autre, ils peuvent également être différents de l'opérateur" & ". La première ronde d'opérations est ensuite réalisée ; elle se décompose en neuf étapes ET1 à ET9. Au cours de l'étape ET1 de calcul de clé, une clé dérivée mi est calculée à partir de la clé secrète Ka. La première clé dérivée Mi actualisée est donnée par la relation : Mi = PC (Si (KO) = PC (Ki). KI est une première clé intermédiaire actualisée, qui sera fournie par la suite à la deuxième ronde d'opérations (non représentée sur les figures 4a, 4b). Les opérateurs PC, SI sont respectivement une permutation-compression et une opération de décalage de bits telles que définies dans le cas d'un procédé DES connu. L'étape ET1 est ainsi identique à une étape de calcul de clé telle que définie dans le cadre d'un procédé DES connu. Les étapes suivantes ET2 à E18 forment une étape de transformation F', qui correspond c, la transformation F d'un procédé connu, modifiée par l'ajout des étapes ET3, ET4 et le remplacement de l'opérateur SBOX par le nouvel opérateur SBOX'selon l'invention. Au cours de l'étape ET2, une expansion est réalisée sur la donnée R'0. Le résultat E (R'o) de cette opération est ensuite mélangé au paramètre X3 par l'intermédiaire du deuxième opérateur de masquage " &commat; ". L'étape ET4 suivante est ure première étape de démasquage, qui vise à supprimer du résultat de l'opération précédente, la contribution à ce résultat apportée par le paramètre de masquage Xl. Pour cela, l'opération suivante est réalisée : Lors de l'étape ET5 suivante, le résultat de l'étape précédente ET4 est mélangé à la clé dérivée actualisée Mi par un OU-Exclusif. L'étape ET5 fournit ainsi le résultat : Au cours de l'étape ET6, l'opération non linéaire SBOX'est réalisée sur le résultat de l'opération précédente. L'étape ET6 fournit le résultat : SBOX' [E (Ro) eMi&commat;X3] = SBOX [E (R.) CMJ&num;X,. Ceci résulte de la définition même de l'opérateur non-linéaire SBOX'. Une opération P de permutation de bits est ensuite appliquée à ce résultat (étape ET7). On obtient ainsi : Ce dernier résultat se déduit simplement du fait de la linéarité de l'opérateur P. Au cours de l'étape ET8, le résultat de la permutation P est ensuite ajouté (par l'intermédiaire d'un OU-Exclusif) à la donnée L'o calculée au cours de l'étape ET01. L'étape ET8 est similaire à l'étape correspondante d'un procédé DES cons. On obtient alors : = RI & Xi &num; P (X2) où RI est la partie droite de la première donnée intermédiaire (LI, R1) telle que définie dans le cadre du procédé de type DES connu. Là encore, toutes les inégalités ci-dessus se déduisent du fait de la linéarité des opérateurs P, & , &num;. L'étape ET9 suivante est une deuxième étape de démasquage, qui vise à supprimer du résultat de l'opération précédente, la contribution à ce résultat apportée par le paramètre de masquage X2. Pour cela, l'opération suivante est réalisée : [Ri & X,&num;P (X2)] & VX2 = [R, & X,&num;P (X2)] &num;'lp (X2) = RI & XI A la fin de la première ronde, la donnée intermédiaire actualisée fournie est égale à (L R avec : L'i = R90 = Ro & Xl = Ll & Xl, et RI, = RI & XI. Ainsi, avec le procédé DES selon l'invention, la donnée intermédiaire (L'il RI,) calculée lors de la première ronde d'opérations est égale à la donnée intermédiaire (LI, Ri) fournie par un procédé de type DES connu non sécurisé, masquée par le paramètre aléatoire Xi par l'intermédiaire de l'opérateur" & ". La deuxième ronde est ensuite effectuée, en utilisant la nouvelle donnée intermédiaire (L'1, R'1) actualisée ainsi que la clé intermédiaire actualisée K1 calculée lors de l'étape ET1. De manière générale, la i ronde d'opérations du procédé se décompose en neuf étapes ET1 à ET9. Au cours de l'étape ET1, une clé dérivée Mi est calculée à partir d'une clé interm'diaire Ki-,, calculée lors de la ronde précédente, pour fournir une clé dérivée actualisée Mi = PC (S, (K,- J) = PC (Kl). Kl est une ième intermédiaire actualisée, qui sera fournie par la suite à la ronde d'opérations suivante (non représentée sur les figures 4a, 4b). Les opérateurs PC, Si sont respectivement une permutation-compression et une opération de décalage de bits telles que définies dans le cas d'un procédé DES connu. Au cours de l'étape ET2, l'expansion est réalisée sur la donnée R'i. Le résultat E (R'l-1) de cette opération est ensuite mélangé au paramètre X3 par l'intermédiaire du deuxième opérateur de masquage " &commat; ". Au cours de l'étape ET4, l'opération suivante est réalisée : Lors de l'étape ET5 suivante, le résultat de l'étape ET4 est mélangé à la clé dérivée actualisée Mi par un OU-Exclusif. L'étape ET5 fournit ainsi le résultat : E (Ri &commat;XCM, = E (Ri eMi&commat;X3. Au cours de l'étape ET6, l'opération non linéaire SBOX'est réalisée sur le résultat de l'opération précédente. L'étape ET6 fournit le résultat : Ceci résulte de la définition même de l'opérateur non-linéaire SBOX'. Une opération de permutation de bits P est ensuite appliquée à ce résultat (étape ET7). On obtient ainsi : Au cours de l'étape ET8, le résultat de la permutation P est ensuite ajouté (par l'intermédiaire d'un OU-Exclusif) à la donnée L' calculée au cours de la ronde précédente. On obtient alors : où Ri est la partie droite de la sème donnée actualisée (Li, Ri) telle que définie dans le cadre du procédé DES connu. Là encore, toutes les égalités cidessus se déduisent du fait de la linéarité des opérateurs P, & , &num;. L'étape ET9 suivante est une deuxième étape de démasquage, qui vise à supprimer du résultat de l'opération précédente, la contribution à ce résultat apportée par le paramètre de masquage X2. Pour cela, l'opération suivante est réalisée : A la fin de la ième ronde, la donnée intermédiaire actualisée fournie est égale à (L', R'), avec : Ainsi, avec le procédé DES selon l'invention, la donnée intermédiaire (L\, R'i) calculée lors de la i ème ronde d'opérations est égale à la donnée intermédiaire (L, Rj fournie lors de la même ronde par un procédé DES connu non sécurisé, mais masquée par le paramètre aléatoire X1 par l'intermédiaire de l'opérateur" & ". La nouvelle donnée intermédiaire (L'i, Rli) est ensuite fournie à la ronde suivante. La 16ème ronde du procédé fournit la 16ème donnée intermédiaire (L'16, RI,,). Au cours d'une troisième étape de démasquage final ET10, la contribution du paramètre Xl à la 16ème donnée est supprimée par l'intermédiaire de l'opérateur & -l Ll6 LI-lX Rl6 R'-lX La permutation finale IP', réalisée après l'étape ET10, termine le procédé DES selon l'invention. La permutation ip-, est identique à la permutation équivalente d'un procédé de type DES connu. Avec le procédé DES selon l'invention, la donnée de sortie produite est la même que celle fournie par un procédé DES connu, pour autant que la donnée d'entrée ME et la clé secrète K0 soient identiques pour le procédé connu et le procédé selon l'invention. Par contre, avec le procédé DES sécurisé selon l'invention, tous les résultats intermédiaires produits par les différentes opérations du procédé (données intermédiaires fournies en sortie des différentes rondes ou bien, au cours d'une ronde, résultats fournis en sortie d'une opération de type P, PC, E, Si, SBOX', OU- Exclusif (D, etc. ) sont masqués par au moins un des paramètres XII X2 ou X3 ou par une valeur dérivée de ces paramètres (E (XI), P (X), etc. ). En conséquence, comme Xl, X2 ou X3 sont choisis aléatoirement à chaque mise en oeuvre du procédé, la valeur de tous les résultats intermédiaires est différente à chaque mise en oeuvre du procédé et ce quelle que soit la valeur de la donnée d'entrée (Lo r Ro) ou la valeur de la clé secrète Ko utilisée par le procédé de l'invention. En particulier, la valeur de tous les résultats intermédiaires est différente y compris dans le cas où le procédé est mis en oeuvre deux fois avec la même donnée d'entrée ME et la même clé secrète K0. De plus, comme ces différences sont dues à la présence d'au moins un paramètre aléatoire, il n'y a plus de corrélation, au niveau d'un résultat intermédiaire, entre la clé secrète Ko et la donnée d'entrée ME. Une analyse statistique de type DPA ne permet donc pas d'obtenir des informations sur la clé secrète utilisée par un procédé sécurisé selon l'invention. Des modifications et/ou améliorations du procédé des figures 4a, 4b sont possibles, sans sortir du cadre de l'invention. Par exemple, l'ordre de réalisation de certaines étapes du procédé peut être modifié : - Les étapes IP, ET01, ronde 1, ..., ronde i,.... ronde 16, ET10, IP' doivent être exécutées dans l'ordre présentées sur les figures 4a, 4b si le procédé souhaité doit être similaire à celui des figures 1,2. -L'étape ET00 doit être effectuée avant l'étape ET01. L'étape ETOO peut être effectuée avant ou en parallèle avec l'étape IP. - L'étape ET02 est réalisée entre l'étape ET00 et l'étape ET4 de la 1ème ronde d'opérations ; elle peut être réalisée avant ou en parallèle avec l'étape IP, l'étape ET01, les étapes ET1 ou ET2. - L'étape ET03 est réalisée entre l'étape ETOO et l'étape ET6 de la 1ère ronde d'opérations ; elle peut être réalisée avant ou après l'étape IP, éventuellement en parallèle avec l'étape ET01, les étapes ET1, ET2, ET3 ou ET4. Pour des raisons de symétrie, l'étape ET10 sera réalisée après l'étape IP-1 si l'étape ET01 est réalisée avant l'étape IP. Inversement, l'étape ET10 sera réalisée avant l'étape In~1 si l'étape ET01 est réalisée après l'étape IP. Dans chaque ronde i, l'étape ET1 doit être réalisée de sorte que la clé dérivée Mi qu'elle fournit soit disponible pour la réalisation de l'étape ET5 ; l'étape ET1 peut être par exemple réalisée en parallèle avec les étapes ET2, ET3 ou ET4. Dans l'exemple décrit ci-dessus en relation avec les figures 4a, 4b, trois paramètres aléatoires XI, X2, X3 sont utilisés. Cette solution permet de masquer tous les résultats intermédiaires de la manière la plus efficace possible. Dans un autre exemple, il est possible d'utiliser uniquement deux paramètres, les paramètres XI, X2. Dans ce cas, l'étape ET02 est limitée au calcul de P (X), les étapes ET3, ET4 de toutes les rondes d'opérations sont supprimées, et l'étape ET03 est modifiée pour calculer un nouvel opérateur non linéaire SBOX" par la relation : Là encore, tous les résultats intermédiaires sont masqués par un paramètre aléatoire, ce paramètre aléatoire étant modifié à chaque mise en oeuvre du procédé. En particulier, dans la ronde de rang i, en sortie de l'étape ET2, le résultat intermédiaire E (RIO) = E (Ro) & E (Xl) est masqué par le paramètre dérivé E (XI). De la même façon, en sortie de l'étape ET5, le résultat intermédiaire E (R'g) (BM est masqué par le paramètre dérivé E (XI). En sortie de l'étape ET6, le résultat intermédiaire est masqué comme dans l'exemple précédent par le paramètre X2. De même, dans l'exemple décrit ci-dessus en relation avec les figures 4a, 4b, les trois paramètres Xi, X21 X3 sont choisis aléatoirement, à chaque mise en oeuvre du procédé. Cependant, il est possible de modifier les paramètres XI, X2, X3 plus ou moins souvent. Par exemple, il est possible de modifier les paramètres, notamment X2 et/ou X3 à chaque réalisation d'une ronde i d'opérations. Dans ce cas, les étapes ET02, ET03 seront réalisées à chaque ronde pour prendre en compte les paramètres X2, X3 modifiés. Dans le même esprit, il est possible de modifier les paramètres XI, X2, X3 toutes les M exécutions du procédé, si on estime que M réalisations ne sont pas suffisantes pour réaliser une attaque de type DPA. M est un nombre entier. Dans ce cas, seule l'étape ET01 est réalisée au cours de l'étape ETC. Les étapes ETOO, ET02, ET03 sont réalisée seulement toutes les M mises en oeuvre du procédé. Une autre amélioration importante permet de sécuriser le procédé également contre les analyses de type SPA. Pour ce type d'analyse, les étapes de calcul de clé dérivée Ml sont particulièrement sensibles. L'amélioration consiste donc à masquer les clés dérivées, en plus des résultats intermédiaires. Le procédé des figures 4a, 4b est alors amélioré par l'ajout (voir figure 5) : des sous-étapes ET05, ET06 dans l'étape ETO d'initialisation, - des étapes ET11, ET12 dans chacune des 16 rondes d'opérations du procédé. Par souci de clarté et de simplification, seule la sème ronde du procédé a été représentée sur la figure 5, accompagnée des nouvelles étapes ET05, ET06. Au cours de l'étape ET05, un quatrième paramètre Y, est choisi de manière aléatoire. L'étape ET05 est par exemple réalisée simultanément avec l'étape ETOO, ou bien en parallèle avec l'une des étapes IP, ET01, ET02, ET03. Au cours de l'étape ET06 de masquage, effectuée après l'étape ET05, le quatrième paramètre de masquage Yo est mélangé à la clé secrète Ko, pour fournir une clé secrète masquée K'o. Le mélange se fait par la relation suivante : L'opérateur" l " est choisi de préférence linéaire par rapport aux deux variables qu'il mélange. Dans un mode de réalisation, l'opérateur" 1" est un OUExclusif. L'opérateur""peut également être tout type d'opérateur linéaire. De manière générale, l'opérateur 1 Il a des propriétés similaires à celles des opérateurs " & ","&commat;"ou"&num;". La lire ronde dtopérations (non représentée figure 5) est ensuite réalisée. L'étape ET1 de calcul de clé est réalisée ici non plus directement à partir de la clé secrète Ka mais à partir de la clé secrète masquée K'0. L'étape ET1 fournit une clé dérivée masquée MI, selon la relation : La dernière égalité se déduit simplement du fait que les opérateurs PC, SI et " # " sont des opérateurs linéaires et ont donc notamment des propriétés de type commutatif ou associatif. Comme PC (Si (Ko)) = M1, on en déduit finalement que Mil = Ml 1 PC (Si (Y0), Mi étant la clé dérivée calculée selon le procédé décrit en relation avec les figures 4a, 4b. L'étape ET11 de calcul de différence est effectuée par exemple avant, en parallèle ou après l'étape ET1 de calcul de clé. L'étape ET11 détermine la contribution Ci apportée par le paramètre Y0 à la clé dérivée masquée M'i. L'étape ET11 est similaire à l'étape ET1 ; l'étape ET11 comprend ainsi une opération Si pour fournir un paramètre de masquage Y, = Si (Yo) actualisé par décalage des bits de Yo, et une opération PC pour calculer la contribution Ci. La contribution Ci est ainsi calculée selon la relation : Ci = PC (Si (Yo)). On en déduit inalement M'1 = M1 1 Ci. Le paramètre de masquage Yi actualisé est quant à lui fourni à la ronde d'opérations suivante. L'étape ET12 de démasquage est une sous-étape de la transformation F" (qui correspond à la transformation F' du procédé DES selon les figures 4a, 4b, modifiée par l'ajout de l'étape ET12) ; dans l'exemple de la figure 4, l'étape ET12 est effectuée entre l'étape ET5 et l'étape ET6. L'étape ET12 vise à enlever la contribution Ci apportée par le paramètre de masquage actualisé Yi. Pour cela, l'opérateur""inverse de l'opérateur est utilisé. En sortie de l'étape ET12, on a : Ainsi, après suppression de la contribution CI, la variable qui apparaît à l'entrée de l'opérateur de type SBOX' (étape ET6) est égale à E (Ra) @X3 C Ml, c'est-à-dire qu'elle est identique à la variable qui apparaît à l'entrée de l'opérateur SBOX'du procédé décrit en relation avec les figures 4a, 4b. En conséquence, la donnée de sortie qui apparaît en sortie de la transformation Fil est identique à celle qui apparaît en sortie de la transformation FI du procédé des figures 4a, 4b. Plus généralement, lors de la i ème ronde d'opérations, l'étape ET1 fournit une clé dérivée masquée Mli selon la relation : M, étant la clé dérivée calculée selon le procédé décrit en relation avec les figures 4a, 4b. Rappelons que les opérateurs PC sont identiques pour toutes les rondes du procédé (mêmes caractéristiques, mêmes paramètres, etc. ). Par contre, les opérations S, de décalage de bits sont différentes d'une ronde d'opérations à l'autre. L'étape ET11 détermine la contribution Ci apportée par le paramètre Y1-1 (ou plus généralement Yo) à la clé dérivée masquée M'i. L'étape ET11 fournit un paramètre de masquage Yi = Sl (Yil) actualisé, et une contribution Ci actualisée selon la relation : Ci = PC (Si (ill)). On en déduit finalement M'i = Ml 1 Cl. Le paramètre de masquage Yi actualisé est quant à lui fourni à la ronde d'opérations suivante. L'étape ET12 est effectuée entre l'étape ET5 et l'étape ET6. En sortie de l'étape ET12, on a : Ainsi, après suppression de la contribution Ci, la variable qui apparaît à l'entrée de l'opérateur de type SBOX' (étape ET6) est égale à PE (R1-1)&commat;X3+Mi, c'est-à-dire qu'elle est identique à la variable qui apparaît à l'entrée de l'opérateur SBOX'du procédé décrit en relation avec les figures 4a, 4b. La donnée de sortie qui apparaît en sortie de l'étape de transformation F'est donc identique à celle qui apparaît en sortie de l'opération de transformation FI du procédé des figures 4a, 4b. Finalement, avec le procédé de la figure 5, tous les résultats intermédiaires sont masqués par l'un au moins des paramètres Xl, X2, X3 (ou une forme dérivée de ces paramètres). De plus, toutes les clés intermédiaires Ksi, toutes les clés dérivées M'i sont également masquées par le paramètre Y0 ou une forme dérivée de Y. REVENDICATIONS 1. Procédé de calcul cryptographique protégé contre une analyse de consommation, le procédé comprenant une étape de calcul (E2, ronde 1, ronde 2, etc. ) pour produire une donnée de sortie (MS) à partir d'une donnée d'entrée (ME) et d'une clé secrète (Ko)' le procédé étant caractérisé en ce qu'il comprend également : - une première étape de masquage (El, ET01, ET3, ET6), réalisée avant l'étape de calcul, pour masquer la donnée d'entrée (ME), et - une première étape de démasquage (E3, ET4, ET9, ET10), réalisée après l'étape de calcul, pour fournir la donnée de sortie (MS) non masquée. 2. Procédé selon la revendication 1, le procédé comprenant N étapes de calcul (E2, ronde 1,..., ronde 16) exécutées successivement, l'étape de calcul de rang i fournissant une donnée intermédiaire actualisée (MSI ; L'il R'i), à partir d'une donnée intermédiaire précédemment calculée (Me' ; L'i-1, R'i-1) et d'une clé dérivée (Mi) actualisée, i étant un entier compris entre 1 et N, le procédé étant caractérisé en ce que : la première étape de masquage (El, ET01) est réalisée avant la lèr, étape de calcul (E2, ronde 1), pour masquer la donnée d'entrée (ME), de sorte que la donnée intermédiaire actualisée fournie par l'étape de calcul de rang i soit également masquée, et - la première étape de démasquage (E3, ET10) est réalisée après la Nême étape de calcul (E2, ronde N), pour fournir la donnée de sortie (MS) non masquée. 3. Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que : - lors de la première étape de masquage (El, ET01), un premier paramètre de masquage (Xl) est mélangé à la donnée d'entrée (ME), pour fournir une donnée d'entrée masquée (ME' ; L'o, R'J à la 1ère étape 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 (E4, ET10), la contribution apportée par le premier paramètre de masquage au résultat de l'étape de calcul est soustraite du résultat de l'étape de calcul. 4. Procédé selon la revendication 3, caractérisé en ce que le premier paramètre de masquage est choisi aléatoirement à chaque mise en oeuvre du procédé. 5. Procédé selon la revendication 3, caractérisé en ce que le premier paramètre de masquage est modifié aléatoirement toutes les M mises en oeuvres du procédé. 6. Procédé selon la revendication 1, procédé dont l'étape de calcul (E2) comprend rotamment l'utilisation d'un opérateur non-linéaire, le procédé étant caractérisé en ce qu'il comprend également : - une deuxième étape de masquage (EO), réalisée avant l'étape de calcul (E2), pour fournir un opérateur non-linéaire masqué (OP') vérifiant la relation suivante, pour toute donnée A : OP' (A & Xi) = OP (A) &commat;OP (X2) X2 étant un deuxième paramètre de masquage, choisi de manière aléatoire, &commat; étant un deuxième opérateur de mélange, et en ce que, au cours de l'étape de démasquage (E3), la contribution apportée par le deuxième paramètre de masquage au résultat de l'étape de calcul est soustraite du résultat de l'étape de calcul. 7. Procédé selon la revendication 2, procédé dont l'étape de calcul de rang i (ronde i) comprend notamment une étape utilisant un opérateur non linéaire, le procédé étant caractérisé en ce qu'il comprend également : - une deuxième étape de masquage (ET03), réalisée avant la 1ère étape de calcul, pour fournir un opérateur non linéaire masqué SBOX', l'opérateur non linéaire masqué (SBOX') vérifiant la relation suivante, pour toute donnée A : SBOX' (A&commat;X3) = SBOX (A) &num;X2, où SBOX est un opérateur non linéaire connu, X2 est un 2ème paramètre de masquage, choisi de manière aléatoire, X3 est un 3ème paramètre de masquage, SBOX est un opérateur non linéaire connu, "&num;"est un 2ème opérateur de mélange, et"&commat;"est un 3eme opérateur de mélange, et en ce que l'étape de calcul de rang i comprend : - une 2 étape de démasquage (ET9) réalisée après l'étape utilisant l'opérateur non linéaire masqué (SBOX'), pour enlever la contribution apportée par le 2ème paramètre de masquage (X2) au résultat produit par l'opérateur non linéaire masqué. 8. Procédé selon la revendication 7, caractérisé en ce que l'étape de calcul de rang i comprend les étapes suivantes, exécutées dans l'ordre : ET2 : expansion de la partie droite (RI,-,) de la donnée intermédiaire masquée précédemment calculée, ET3 : masquage du résultat de l'étape précédente par le 3ème paramètre de masquage (XJ en utilisant le 3ème opérateur de masquage ("&commat;"), ET4 : suppression de la contribution apportée par le j, paramètre de masquage au résultat de l'étape précédente, ET5 : mélange du résultat de l'étape précédente avec la clé dérivée actualisée (Mi), ET6 : substitution du résultat de l'étape précédente par l'opérateur non linéaire masqué, et fourniture d'un résultat masqué par le deuxième paramètre de masquage, ET7 : permutation du résultat de l'étape précédente, ET8 : addition, par l'intermédiaire d'un OUExclusif, de la partie gauche (L'i-i) de la donnée intermédiaire précédemment calculée au résultat de l'étape précédente, ET9 : suppression de la contribution apportée par le 2ème paramètre de masquage au résultat de l'étape précédente, pour fournir une partie droite (R'J de la donnée intermédiaire (L\, R'J actualisée dont une partie gauche (LI,) est égale à la partie droite de la donnée intermédiaire (L RI,-,) précédemment calculée. 10. Procédé selon l'une des revendications 1 à 9, caractérisé en ce que le premier opérateur de mélange (" & ") et/ou le deuxième opérateur de mélange ("&num;") et/ou le troisième opérateur de mélange ("&commat;") est (sont) un (des) opérateur (s) de type Où-Exclusif. 11. Procédé selon l'une des revendications 1 à 10, caractérisé en ce qu'il comprend : - plusieurs étapes de calcul, fournissant chacune un résultat intermédiaire actualisé à partir d'une donnée d'entrée ou d'un résultat interrédiaire précédemment calculé par une autre des étapes de alcul, et - plusieurs étapes de masquage et plusieurs étapes de démasquage, les étapes de masquage et les étapes de démasquage étant réparties entre les étapes de calcul dans l'ensemble du procédé, de sorte que tout résultat intermédiaire fourni par l'une ou J'autre des étapes de calcul soit masqué. 12. Procédé selon la revendication 2, comprenant une étape de calcul de clé dérivée (ET1), pour fournir une clé dérivée à partir de la clé secrète (Ka) 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 (Ka) de sorte que la clé dérivée calculée (M M'J soit différente à chaque mise en oeuvre du procédé. 13. Procédé selon la revendication 12, caractérisé en ce que, lors de la quatrième étape de masquage (ET06), un paramètre de masquage (Y0) choisi aléatoirement est mélangé à la clé secrète (Ka) par l'intermédiaire d'un quatrième opérateur de masquage (""), pour fournir une clé secrète masquée (Ko), la clé dérivée (MI,, M'i) masquée étant calculée à partir de la clé secrète masquée (K-.). 14. Procédé selon la revendication 12, 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'1) à l'étape de calcul (ronde i) de même rang i à partir d'une clé (K'1-1) précédemment calculée, la quatrième étape de masquage (ET06) étant réalisée avant la 1ère étape de calcul de clé dér@vée, et en ce que chaque étape de calcul comprend notamment les étapes suivantes : ET5 : mélange d'un résultat avec la clé dérivée actualisée masquée (M'1), ET12 : suppression de la contribution (Ci) apportée par le quatrième paramètre de mélange (Yg) au résultat de (Y, au résultat de l'étape ET5. 15. Procédé selon la revendication 12, 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) à l'étape de calcul (ronde i) de même rang i à partir d'une clé (K'ii) précédemment calculée, et en ce que chaque étape de calcul comprend notamment les étapes suivantes : ET06 : masquage d'une clé précédemment calculée (Kl-l) par le quatrième paramètre de masquage (Y0, Y1, ..., Y16) choisi aléatoirement, et fourniture de la clé dérivée actualisée masquée (MI,), ET5 : mélange d'un résultat avec la clé dérivée actualisée masquée (M'i), ET12 : suppression de la contribution (Cl) apportée par le quatrième paramètre de mé@@nge (Y0, Y1, ..., Y16) au résultat de l'étape ET5. 16. Procédé selon l'une des revendications 12 à 14, caractérisé en ce que, au cours de la quatrième étape de masquage (ET06), l'opération suivante est réalisée : Kio = Ko 1 Yo, K'0 étant la clé secrète masquée, Ko étant la clé secrète Yo étant le quatrième paramètre de masquage, ")"étant le quatrième opérateur de mélange 17. Procédé selon l'une des revendications 12 à 15, caractérisé en ce que le quatriCe opérateur de mélange ("j") est un opérateur OU-Exclu, if. 18. Composant électronique, caractérisé en ce qu'il comprend un procédé de calcul crytcgraphique selon l'une des revendications 1 à 17.