Procédé de protection, contre les attaques par canaux auxiliaires, d'un calculateur électronique comportant : - un support de stockage d'informations, - un système sur puce comportant : - une mémoire cache interne divisée en plusieurs mots, - une unité centrale de traitement apte à écrire une donnée dans un mot de la mémoire cache interne, - un bus interne de données par l'intermédiaire duquel transitent les mots déplacés entre la mémoire cache interne et le support de stockage d'informations, la taille de ce bus étant égale à la taille d'un mot de la mémoire cache interne, ce procédé comportant les étapes suivantes : a) la protection (140) d'une donnée contenue dans un mot qui transite, par l'intermédiaire du bus interne, entre la mémoire cache interne et le support de stockage d'informations, en exécutant, pour chaque donnée écrite dans la mémoire cache interne par l'unité centrale de traitement, les opérations suivantes : - opération A) : la construction d'un nouveau masque dont la taille, en nombre de bits, est égale au nombre de bits de la donnée à écrire, puis - opération B) : le masquage (148) de la donnée à écrire à l'aide du nouveau masque construit pour obtenir une donnée masquée, puis - opération C) : l'enregistrement (150) de la donnée masquée, et non pas de la donnée à écrire non-masquée, dans un mot de la mémoire cache interne, puis - opération D) : lorsque cette donnée doit être déplacée vers le support de stockage d'informations, le dépôt (154) sur le bus interne du mot complet contenant la donnée masquée, b) le démasquage (160, 190) de la donnée masquée contenue dans un mot, caractérisé en ce que : - l'opération A) de construction d'un nouveau masque comporte : - la génération (144) d'un nouveau vecteur d'initialisation dont la taille, en nombre de bits, est deux fois inférieure au nombre de bits de la nouvelle donnée à écrire, puis - la production (146) du nouveau masque à partir du nouveau vecteur d'initialisation généré et d'une clef secrète et en exécutant une fonction cryptographique, - l'opération C) d'enregistrement (150) de la donnée masquée dans un mot de la mémoire cache interne, comporte l'enregistrement, dans ce même mot de la mémoire cache interne, du vecteur d'initialisation à l'aide duquel cette donnée masquée a été obtenue et l'absence d'enregistrement dans la mémoire cache interne du nouveau masque complet produit, - l'étape b) de démasquage comporte les opérations suivantes : - opération E) : l'extraction (162) du vecteur d'initialisation contenu dans le mot, - opération F) : la reconstruction (164) du masque dont la taille, en nombre de bits, est égale au nombre de bits de la donnée à démasquer à partir du vecteur d'initialisation extrait et de la clef secrète et en exécutant la même fonction cryptographique que celle utilisée lors de l'opération A), puis - opération G) : le démasquage (166) de la donnée masquée à l'aide du nouveau masque ainsi reconstruit pour obtenir la donnée démasquée. Procédé selon la revendication 1, dans lequel, lors de l'opération A), la production (146) du nouveau masque est réalisée, en plus, à partir d'au moins une partie de l'adresse physique de la donnée à écrire. Procédé selon l'une quelconque des revendications précédentes, dans lequel, lors de l'opération A), la production (146) du nouveau masque est réalisée, en plus, à partir d'une ou plusieurs des valeurs appartenant au groupe constitué : - d'une valeur qui varie en fonction du processus en cours d'exécution par le système sur puce, - d'une métadonnée contenue dans le mème mot que celui qui contient la donnée à masquer, cette métadonnée étant contenue dans une plage de bits distincte de la plage de bits de ce mot contenant la donnée à masquer, et - d'une valeur codée par des bits associés à l'adresse de la donnée à masquer, ces bits étant différents des bits codant l'adresse de la donnée à masquer. Procédé selon l'une quelconque des revendications précédentes, dans lequel le procédé comporte : - juste avant l'enregistrement d'une donnée sur le support de stockage d'informations : - l'exécution de l'étape b) (160) pour démasquer la donnée masquée contenue dans le mot qui a transité par l'intermédiaire du bus interne de données et ainsi obtenir une donnée démasquée, et - le chiffrement (170) de la donnée démasquée, pour obtenir une donnée chiffrée, puis - l'enregistrement (174), sur le support de stockage d'informations, de cette donnée chiffrée sans enregistrer sur ce support le vecteur d'initialisation utilisé pour démasquer cette donnée, puis ultérieurement - après le chargement de la donnée chiffrée à partir du support de stockage d'information et avant le déplacement de cette donnée par l'intermédiaire du bus interne de données : - le déchiffrement (182) de la donnée chiffrée enregistrée sur le support de stockage d'informations, pour obtenir une donnée déchiffrée, et - le masquage (186) de la donnée déchiffrée, ce masquage comportant : - la génération (144) d'un nouveau vecteur d'initialisation dont la taille, en nombre de bits, est deux fois inférieure au nombre de bits de la donnée déchiffrée, puis - la production (146) d'un nouveau masque à partir du nouveau vecteur d'initialisation généré et à partir de la même clef secrète et en exécutant la même fonction cryptographique que celles utilisées lors de l'étape a), puis - le masquage (148) de la donnée déchiffrée à l'aide du nouveau masque produit pour obtenir une donnée masquée, puis - le déplacement, par l'intermédiaire du bus interne de données, d'un mot contenant la donnée masquée et le vecteur d'initialisation à l'aide duquel cette donnée masquée a été obtenue, puis - l'enregistrement, dans la mémoire cache interne, de ce mot déplacé contenant la donnée masquée et le vecteur d'initialisation à l'aide duquel cette donnée masquée a été obtenue. Procédé selon l'une quelconque des revendications précédentes, dans lequel le procédé comporte : - la lecture, par l'unité centrale de traitement, d'une donnée dans un mot de la mémoire cache interne, et - en réponse à cette lecture par l'unité centrale de traitement : - la reconstruction (164) du masque dont la taille, en nombre de bits, est égale au nombre de bits de la donnée à démasquer à partir du vecteur d'initialisation contenu dans le mot et de la clef secrète et en exécutant la même fonction cryptographique, puis - la transmission (204) de la donnée masquée et du masque produit à l'unité centrale de traitement, puis - l'exécution (130), par l'unité centrale de traitement, d'un traitement sur la donnée masquée pour obtenir une donnée traitée masquée et du même traitement sur le masque reconstruit pour obtenir un masque traitée, puis - l'exécution de l'étape a) de protection pour la donnée traitée en exécutant, en plus, entre les opérations B) et C), une opération (206) de démasquage, à l'aide du masque traitée, de la donnée traitée doublement masquée obtenue à l'issue de l'opération B) pour obtenir la donnée masquée enregistrée lors de l'opération C). Procédé selon l'une quelconque des revendications 1 à 3, dans lequel le procédé comporte : - la lecture, par l'unité centrale de traitement, d'une donnée dans un mot de la mémoire cache interne, et, - uniquement en réponse à cette lecture par l'unité centrale de traitement : - l'exécution de l'étape b) (190) pour démasquer la donnée masquée contenue dans ce mot, puis - la transmission de la donnée démasquée obtenue à l'unité centrale de traitement. Procédé selon l'une quelconque des revendications précédentes, dans lequel la fonction cryptographique comporte une fonction de permutation et une fonction de substitution. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'opération B) de masquage d'une donnée et l'opération G) de démasquage d'une donnée masqué consiste chacune à réaliser une opération "OU Exclusif" entre la donnée et le masque produit. Calculateur électronique pour la mise en œuvre d'un procédé conforme à l'une quelconque des revendications précédentes, ce calculateur électronique comportant : - un support (10) de stockage d'informations, - un système (2) sur puce comportant : - une mémoire cache interne (26, 30) divisée en plusieurs mots, - une unité centrale de traitement (50) apte à écrire une donnée dans un mot de la mémoire cache interne, - un bus interne (110) de données par l'intermédiaire duquel transitent les mots déplacés entre la mémoire cache interne et le support de stockage d'informations, la taille de ce bus étant égale à la taille d'un mot de la mémoire cache interne, - un premier module matériel (76) de masquage d'une donnée contenue dans un mot qui transite, par l'intermédiaire du bus interne, entre la mémoire cache interne et le support de stockage d'informations, ce premier module matériel (76) de masquage étant configuré pour exécuter, pour chaque donnée écrite dans la mémoire cache interne par l'unité centrale de traitement, les opérations suivantes : - opération A) : la construction d'un nouveau masque dont la taille, en nombre de bits, est égale au nombre de bits de la donnée à écrire, puis - opération B) : le masquage de la donnée à écrire à l'aide du nouveau masque construit pour obtenir une donnée masquée, puis - opération C) : l'enregistrement de la donnée masquée, et non pas de la donnée à écrire non-masquée, dans un mot de la mémoire cache interne, puis - un premier module matériel (78) de démasquage apte à démasquer la donnée masquée contenue dans un mot, dans lequel la mémoire cache interne est configurée pour, lorsqu'une donnée doit être déplacée vers le support de stockage d'informations, déposer sur le bus interne le mot complet contenant la donnée masquée, caractérisé en ce que : - l'opération A) de construction d'un nouveau masque comporte : - la génération d'un nouveau vecteur d'initialisation dont la taille, en nombre de bits, est deux fois inférieure au nombre de bits de la nouvelle donnée à écrire, puis - la production du nouveau masque à partir du nouveau vecteur d'initialisation généré et d'une clef secrète et en exécutant une fonction cryptographique, - l'opération C) d'enregistrement de la donnée masquée dans un mot de la mémoire cache interne, comporte l'enregistrement, dans ce même mot de la mémoire cache interne, du vecteur d'initialisation à l'aide duquel cette donnée masquée a été obtenue et l'absence d'enregistrement dans la mémoire cache interne du nouveau masque complet produit, - le premier module matériel (78) de démasquage est configuré pour exécuter les opérations suivantes : - opération E) : l'extraction du vecteur d'initialisation contenu dans le mot, - opération F) : la reconstruction du masque dont la taille, en nombre de bits, est égale au nombre de bits de la donnée à démasquer à partir du vecteur d'initialisation extrait et de la clef secrète et en exécutant la même fonction cryptographique que celle utilisée lors de l'opération A), puis - opération G) : le démasquage de la donnée masquée à l'aide du nouveau masque ainsi reconstruit pour obtenir la donnée démasquée. Calculateur selon la revendication 9, dans lequel le premier module matériel (76) de masquage et le premier module matériel (78) de démasquage sont interposés entre l'unité centrale (50) de traitement et la mémoire cache interne (26) pour masquer chaque donnée écrite par l'unité centrale de traitement dans la mémoire cache interne et pour démasquer chaque donnée lue dans la mémoire cache interne par l'unité centrale de traitement. Calculateur selon la revendication 10, dans lequel le calculateur comporte un second module matériel (106) de masquage et un second module matériel (108) de démasquage interposés entre le support de stockage d'informations et le bus interne (110), le second module matériel (108) de démasquage étant apte à démasquer chaque donnée avant qu'elle soit enregistrée dans le support de stockage d'informations et le second module matériel (106) de masquage étant apte à masquer chaque donnée lue dans le support de stockage d'information avant qu'elle soit déposée sur le bus interne.