Brevet FR2805692A1 — publié le 20010831

ARRIÈRE-PLAN DE L'INVENTION La présente invention concerne un appareil et un procédé de transformation de base ainsi qu'un support de stockage qui utilisent des cryptosystèmes de courbe elliptique sur le champ fini GF (2'). Récemment, les appareils de cryptageldécryptage et les appareils de génératio nlvérification de signature numérique (ci-après appelés appareil de cryptageldécryptage et similaire) dans lesquels sont incorporés des cryptosystèmes de courbe elliptique qui utilisent une courbe elliptique définie sur GF (2m) où m > 1 sont devenus largement connus. Parmi les cryptosystèmes de courbe elliptique de ce type, on trouve système DSA de courbe elliptique, le système EIGamal de courbe elliptique, le système RSA de courbe elliptique et similaire. Dans un quelconque cryptosystème de courbe elliptique, une courbe elliptique qui est définie sur une unité basée sur GF (2m) est exprimee en tant que y2 + xy = x3 + axe + b en utilisant des éléments a b de GF (2m). Une addition peut être définie sur le jeu de points (x, y) cette courbe elliptique et elle peut le constituer en tant que groupe additif. Le cryptosystème de courbe elliptique implique le problème logarithmes discrets dans le groupe additif. Plus précisément, l'appareil de cryptageldécryptage et similaire exécute le cryptageldécryptage et la génération/vérification de signature numérique en répétant des additions des points sur la courbe elliptique. Une addition des points peut être exécutée par exemple en répétant des opérations arithmétiques sur GF (2m) (J.H. Sïlverman "The Arithmetic Of Elliptic Curves", GTM 106, Springer-Verlag, 1986). Du fait que le champ fini GF (2m) est un espace vectoriel de dimension m sur le champ primaire GF (2), les éléments de GF (2m) peuvent être exprimés en utilisant les bases sur GF (2). C'est-à-dire qu'il existe m éléments a1, a2, ..., am dans GF (2m) qui sont tels que chaque élément a dans GF (2m) peut être exprimé de façon unique sous la forme a = a1a1 + a2 a2 + ... + am am où a1, a2, ... sont définis dans GF (2). Un tel jeu (a1, a2, ..., #m) est appelé une base de GF (2m) GF (2). Une telle base étant donnée, nous pouvons représenter a en tant que vecteur (a1, a2, ... am). Ainsi, GF (2m) peut etre exprimé en tant que GF (2m) = a1, a2, ... am) 1 a1, a2, ... am sont des éléments GF (2)}. Du fait que GF (2m) dans une base est isomorphe à GF (2m) dans une autre base, une base arbitraire peut être utilisée dans l'appareil de cryptage/décryptage et similaire. Cependant, de façon genérale, une base polynomiale ou une base normale utilisée du point de vue du fait que des opérations arithmétiques GF (2m) peuvent être aisément exécutées. Cependant, du fait qu'une base arbitraire peut être utilisée dans l'appareil de cryptage/décryptage mentionné ci-avant et similaire, des bases différentes sont souvent utilisées dans un unique système qui inclut l'appareil de cryptageldécryptage et similaire. Dans ce cas, toutes les bases doivent être compatibles les unes avec les autres. De façon générale, cette compatibilité devrait être réalisée en préparant des opérations arithmétiques qui sont basées sur toutes les bases. Mais le fait de préparer des opérations arithmétiques basées sur toutes les bases est impossible. En tant que système incluant l'appareil de cryptageldécryptage et similaire, par exemple un système constitué par des cartes IC (cartes à puce) munies de fonctions de cryptageldécryptage et similaire et par des calculateurs qui utilisent les fonctions de cryptageldécryptage de carte IC est connu. Cependant, il est dans la réalité impossible d'équiper la carte IC avec des fonctions d'opération arithmétique basées sur toutes les bases du fait des limitations en termes de ressources telles que la capacité de la mémoire, la fréquence de fonctionnement, la dimension de puce et similaire. Si possible, les ressources d'une carte IC devraient être augmentées de façon notable. BREF RESUMÉ DE L'INVENTION L'objet de la présente invention consiste à proposer un appareil et un procédé de transformation de base ainsi qu'un support de stockage permettant de réaliser la compatibilité entre différentes bases au moyen d'une transformation de base qui utilise un isomorphisme sans preparer des opérations arithmétiques basées sur toutes les bases. Un autre objet de la présente invention consiste à proposer un appareil et un procédé de transformation de base ainsi qu'un support de stockage permettant de réaliser la compatibilité entre différentes bases sans augmenter les ressources d'une carte IC (carte à puce). Une première phase de la présente invention est constituée un appareil de transformation de base destiné à être utilisé dans système qui utilise des cryptosystèmes de courbe elliptique sur GF (2') pour réaliser une compatibilité entre une première base et une seconde base où la première base utilisée dans le système complet et la seconde base utilisée dans des cartes IC afin d'y être stockée sont différentes l'une de l'autre. L'appareil comprend un moyen de comparaison de base pour comparer la première base à la seconde base lorsque données dignes d'intérêt pour une opération arithmétique exprimée moyen de la première base sont transmises à la carte IC et un moyen de transformation de base pour transformer les données dignes d'intérêt pour une opération arithmétique selon des données dignes d'intérêt pour une opération arithmétique exprimée au moyen de la seconde base lorsque les première et seconde bases ne se correspondent pas en tant que résultat de la comparaison qui est exécutée par le moyen de comparaison de base. système peut être par exemple un système de cryptage et de décryptage ou un système de génération de signature numérique et de vérification de signature numérique. Ceci s'applique aux phases qui suivent. seconde phase de la présente invention est constituée un procédé de transformation de base destiné à être utilisé dans système qui utilise des cryptosystèmes courbe elliptique sur GF (2m) pour réaliser une compatibilité entre première base et une seconde base où la première base qui est utilisée dans le système complet et la seconde base qui est utilisée dans une carte IC sont différentes l'une de l'autre. Le procédé comprend une étape de comparaison de base consistant à comparer la première base la seconde base lorsque des données dignes d'intérêt pour une opération arithmétique exprimée au moyen de la première base sont transmises à la carte IC et une étape de transformation de base consistant à transformer les données dignes d'intérêt pour une opération arithmétique selon des données dignes d'intérêt pour une opération arithmétique exprimée au moyen de la seconde base lorsque les première et seconde bases ne se correspondent pas en tant que résultat de la comparaison qui est réalisée par le moyen de comparaison base. En outre, une troisième phase de la présente invention est constituée par un support de stockage lisible par ordinateur/calculateur destiné à être utilisé dans un appareil de transformation de base pour une utilisation dans un système qui utilise des cryptosystèmes de courbe elliptique sur GF (2m) pour réaliser une compatibilité entre une première base et une seconde base où la première base qui est utilisée dans le système complet et la seconde base qui est utilisée dans une carte IC sont différentes l'une de l'autre. Le support de stockage comprend, dans le calculateur de l'appareil de transformation de base, des programmes pour mettre en oeuvre une fonction de comparaison de base consistant à comparer la première base à la seconde base lorsque des données dignes d'intérêt pour opération arithmétique qui est exprimée au moyen de la première base sont transmises à la carte IC et une fonction de transformation de base permettant de transformer les données dignes d'intérêt pour une opération arithmétique selon des données dignes d'intérêt pour opération arithmétique qui est exprimée au moyen de la seconde base lorsque les première et seconde bases ne se correspondent pas en tant que résultat de la comparaison qui est réalisée par moyen de comparaison de base. Par conséquent, selon les première à troisième phases de l'invention le moyen de comparaison de base compare la première base à la seconde base lorsque les données dignes d'intérêt pour une opération arithmétique qui est exprimée au moyen de la première base sont transmises à une carte IC. Si les première et seconde bases ne se correspondent pas en tant que résultat de la comparaison qui est exécutée par le moyen de comparaison de base, le moyen de transformation de base transforme les données dignes d'intérêt selon les données dignes d'intérêt pour une opération arithmetique qui est exprimée au moyen de la seconde base. Pour cette raison, il est possible réaliser la compatibilité entre différentes bases au moyen d'une transformation de base qui utilise un isomorphisme sans utiliser une façon de préparer un processus d'opérations arithmétiques basé sur toutes les bases. II est également possible de réaliser la compatibilité entre différentes bases sans augmenter les ressources de la carte IC, en agençant le moyen de transformation de base sur le côte de l'appareil de transformation de base. BRÈVE DESCRIPTION DES DESSINS La figure 1 est un schéma fonctionnel d'un système de cryptageldécryptage auquel un appareil de transformation base selon un premier mode de réalisation de la présente invention est appliqué ; la figure 2 est un schéma d'un procédé de transformation de base selon le premier mode de réalisation de la présente invention ; la figure 3 est un schéma fonctionnel d'un système de génération/vérification de signature numérique auquel un appareil de transformation de base selon le second mode de réalisation de la présente invention est appliqué ; la figure 4 est un schéma d'un procédé de transformation de base selon le second mode de réalisation de la présente invention ; et la figure 5 est un schéma du procédé de transformation de base selon le second mode de réalisation de la présente invention. DESCRIPTION DÉTAILLÉE DE L'INVENTION Les modes de réalisation de la présente invention seront expliqués ci-après par report aux dessins. Au niveau de chacun des modes de réalisation, un champ fini GF (2m) est manipulé en tant que champ d'extension de degré m par rapport à un champ primaire (2). Cependant, lorsque n est un diviseur de m, le champ d'extension GF (2m) peut être un champ d'extension de degré (mln) sur GF (2m). Dans ce cas, le même avantage peut être obtenu en remplaçant m par (mln) en tant que nombre des éléments de la base, dans chacun des modes de réalisation. (Premier mode de réalisation) La figure 1 est un schéma fonctionnel d'un système de cryptageldécryptage auquel un appareil de transformation de base selon premier mode de réalisation de la présente invention est applique. Ce système de cryptageldécryptage utilise les cryptosystèmes de courbe elliptique sur GF (2m). Une base de GF (2m) l GF (2) est un jeu {B1, B2, ... , Bm}. Le système de cryptageldécryptage est constitué par un calculateur 10 qui peut utiliser la base B et qui dispose d'une fonction de transformation de base et par une carte IC (carte à puce) 20 dans laquelle une opération avec une certaine base {b1, b2, .... bm} est prévue et qui peut être détachée du calculateur 10. Le système de cryptageldécryptage global utilise la même courbe elliptique que celle utilisée dans la carte IC. II est supposé que la base (la première base) qui est utilisée dans le système n'est pas toujours la même que la base (la seconde base) qui est utilisée dans la carte IC. Le calculateur 10 peut être prévu dans un terminal ou un coeur système. Le calculateur 10 comprend une section de commande 11, une section de stockage de base système 12, une section de comparateur 13, une section de calcul de données converties 14, une section de stockage de données converties 15, une section de transformation de base 16 et une section de transformation inverse de base 17. Les fonctions des sections respectives 11 à 17 peuvent être stockées dans un support de stockage et peuvent être distribuées depuis ce même support de stockage en tant que programmes qu'un calculateur du terminal ou du coeur jouant le rôle de calculateur 10 est autorisé exécuter. Dans ce cas, le calculateur 10 peut exécuter les fonctions des sections 11 à 17 en installant dans lui-même les programmes stockés dans le support de stockage. Dans le calculateur 10, des blocs de fonction sont représentés en tant que sections 11 17 par souci de commodité de l'explication. Cependant, le calculateur 10 n'est pas limité à ce cas. Lorsqu'un résultat de comparaison des deux bases représente pour finir une non correspondance, si les données sont converties préliminairement selon l'expression de base sur le côté d'utilisation des données, un changement du flux de processus (par exemple le maintien préliminairement de données converties S et T pour une base souhaitée et l'omission du processus de calcul des données converties) ou un partage (l'agencement de la section de comparateur 13 dans la carte IC 20) peut entrer dans le cadre de la présente invention. La section de commande 11 dispose d'une fonction permettant de recevoir un jeu constitué par une commande de cryptage (ou de décryptage) pour la carte IC et par des données d'expression B qui sont exprimées au moyen de la base B et permettant de transmettre une requête pour la base à la carte IC et d'une fonction permettant d'entrer le jeu constitué par la commande de cryptage (ou de décryptage) et par les données d'expression B sur la section de transformation de base 16. La section de stockage de base système 12 est une région de mémoire dans laquelle les données de base B incluant des bases {B1, B2, .... Bm} utilisées préliminairement dans le système de cryptageldécryptage et des éléments afférents sont stockées. La section de stockage de base système 12 peut transférer les données de base B à la section de comparateur 13 sous la commande de la section de comparateur 13. La section de comparateur 13 qui compare les données de base b de la carte IC transmises depuis la carte IC à des données de base B du système transférées depuis la section de stockage de base système 12 dispose d'une fonction permettant d'arrêter les fonctions de transformation de la section de transformation de base 16 et de la section de transformation inverse de base 17 si les deux jeux de données se correspondent l'un l'autre et d'une fonction permettant d'entrer les deux jeux de données sur la section de calcul de données converties 14 si données ne se correspondent pas. La section de calcul de données converties 14 dispose d'une fonction permettant de calculer des données de transformation de base S afin de transformer les bases {B1, B2, ..., Bm) du système selon les bases {b1, b2, ... bm) de la carte IC sur la base des deux jeux de données de base B et b qui ont été entrés depuis la section de comparateur 13 et permettant d'écrire les données de transformation de base S dans la section de stockage de données converties 15. La section de calcul de données converties 14 dispose également d'une fonction permettant de calculer des données de transformation de base T pour transformer les bases {b1, b2, ..., bm} de la carte IC selon les bases {B1, B2, ..., Bm} du système et permettant d'écrire les données de transformation de base T dans la section de stockage de données converties 15. Les données de transformation de base S sont obtenues en calculant par exemple l'isomorphisme qui transforme les bases {b1, b2, ..., bm) selon les bases {B1, B2, ..., Bm). De façon davantage spécifique, les données de transformation de base S sont une matrice inversible S qui est constituée par m rangées et par m colonnes dont les composantes sont les éléments du champ primaire GF (2), lesquels éléments peuvent être obtenus à partir de l'équation (1) en tant que résultat de l'exécution du calcul qui suit. Tout d'abord, les bases b1, b2, .... bm sont exprimées en utilisant les bases {B1, B2, ..., Bm}. b1 = S,,B1 + Sl2B2 + ... + S,mBm b2= S2,B1 + S22B2 + ... + S2mBm bm = Sm,B1 + Sm2B2 +... + SmmBm Chaque coefficient S;,i est un élément de GF (2). Une matrice comportant S;,i en tant que composantes de i rangées et de j colonnes est exprimée en tant que (1) De façon similaire, les données de transformation de base T sont une matrice inversible T de m rangées et de m colonnes comportant en tant que ses composantes les éléments du champ primaire GF (2), lesquels éléments peuvent être obtenus à partir l'équation (2) en tant que résultat de l'exécution du calcul qui suit. Tout d'abord, les bases 131, B2, . .. , sont exprimées en utilisant les bases {b1, b2, ..., bm}. B1 = Tllb1 + T12b2 + ... + Tlmbm B2 = T21b1 + T22b2 + ... + T2mbrn Bm = Tm,b1 + Tm2b2 + ... + Tmmbm Chaque coefficient T;,i est un élément de (2). Une matrice qui comporte T;,i en tant que composantes de i rangées et de j colonnes est exprimée en tant que T. (2) T = (Tj"i) Les données de transformation de base S et T sont liées par des relations qui sont exprimées par les équations qui suivent (3) et (4). S = T-' (3) T = S-' (4) La section de stockage de données converties 15 dispose d'une fonction permettant de maintenir les données de transformation de base S et T qui sont écrites au moyen de la section de calcul de données converties 14 et d'une fonction permettant de transférer les données de transformation de base S à la section de transformation de base 16 et les données de transformation de base T à la section de transformation inverse de base 17 lorsque les données de transformation de base S et T sont écrites. La section de transformation de base 16 dispose d'une fonction permettant d'arrêter la fonction de transformation sous la commande de la section de comparateur 13, lors de la réception d'un jeu constitué par la commande de cryptage (ou de décryptage) et par les données d'expression B en provenance de la section de commande et permettant de transmettre le jeu constitué par la commande de cryptage (ou de décryptage) et par les données d'expression B depuis la section de commande la carte IC. La section de transformation de base 16 dispose également d'une fonction permettant de transformer les données d'expression B du jeu constitué par la commande de cryptage (ou de décryptage) et par les données d'expression B selon l'expression de base b et permettant de transmettre un jeu constitué par les données d'expression b obtenues et par la commande de cryptage (ou de décryptage) à la carte IC, sur la base des données de transformation de base S qui sont transférées depuis la section de stockage de donnees converties 15. La section de transformation inverse de base 17 dispose d'une fonction permettant d'arrêter la fonction de transformation sous la commande de la section de comparateur 13 lors de la réception données d'expression b traitées en provenance de la carte IC et permettant d'émettre en sortie les données d'expression b traitées. La section de transformation inverse de base 17 dispose également d'une fonction permettant de transformer les données d'expression b traitées selon l'expression de base B et permettant d'émettre en sortie les données d'expression B sur la base des données de transformation de base T qui sont transférées depuis la section de stockage de données converties 15. La carte IC 20 qui utilise les cryptosystèmes de courbe elliptique sur GF (2') sur la base de la base b comprend une section de stockage de bases de carte 21 et une section de traitement de cryptageldécryptage 22. La section de stockage de bases de carte 21 est une region de mémoire dans laquelle les données de base b incluant les bases {b1, b2, ..., bm} utilisées préliminairement par la carte IC 20 et les éléments afférents sont stockées. La section de stockage de bases de carte 21 dispose d'une fonction permettant de transmettre les données base b la section de comparateur 13 du calculateur 10 lors de la réception d'une requête pour une base en provenance de la section de commande 11 du calculateur 10. La section de traitement de cryptageldécryptage 22 dispose d'une fonction permettant de crypter (ou de décrypter) les données d'expression b sur la base de la commande de cryptage (ou de décryptage) lors de la réception de la commande de cryptage (ou de décryptage) et des données d'expression b en provenance de la section de transformation de base 16 du calculateur 10 et permettant de transmettre les données d'expression b à la section de transformation inverse de base 17 du calculateur 10. Puis un procédé de transformation de base dans le système de cryptageldécryptage constitué comme mentionné ci-avant sera expliqué par report à une vue schématique de la figure 2. II est supposé maintenant qu'un jeu constitué par une commande de cryptage (ou de décryptage) pour la carte IC 20 et par des données d'expression B qui sont exprimées au moyen de la base B est produit au moyen du traitement d'une section de logiciel (non représentée) ou similaire dans le calculateur 10. Lorsque la section de commande 11 à l'intérieur du calculateur 10 reçoit le jeu constitué par une commande de cryptage (ou de décryptage) et par des données d'expression B, la section de commande 11 transmet une requête pour la base à la carte IC 20 et entre le jeu qui est constitué par une commande de cryptage (ou de décryptage) et par des données d'expression B dans la section de transformation de base 16. Dans la carte IC 20, la section de stockage de bases de carte 21 reçoit la requête pour la base et transmet les données de base b à la section de comparateur 13 du calculateur 10. La section de comparateur 13 du calculateur 10 compare les données de base b de la carte IC 20 aux données de base B du système dans la section de stockage de base systeme 12. Lorsque les données de base b et B se correspondent les unes les autres, le traitement général est exécuté dans la carte IC 20 en arrêtant les fonctions de transformation de la section de transformation de base 16 et de la section de transformation inverse de base Par conséquent, les données de base b et B sont différentes ci-après. C'est-à-dire que la section de comparateur 13 discrimine une non correspondance des données de base b et B et entre les données de base b et B dans la section de calcul de données converties 14. Sur la base des données de base d'entrée b et B, la section de calcul de données converties 14 calcule les données de transformation de base S afin de transformer les bases {B1, B2, ..., Bm} du système selon les bases {b1, b2, .... bm} de la carte IC et écrit les données de transformation de base S dans la section de stockage de données converties 15 et calcule également les données de transformation de base T afin de transformer les bases {b1, b2, ..., bm} de la carte IC selon les bases {B1, B2, ..., Bm} du système et écrit les données de transformation de base T dans la section de stockage de données converties 15. La section de stockage de données converties 15 maintient les données de transformation de base écrites S et T, transfère les données de transformation de base S à la section de transformation de base 16 et transfère les données de transformation de base T à la section de transformation inverse de base 17. Lorsque la section de transformation de base 16 reçoit le jeu constitué par la commande de cryptage (ou de décryptage) et par les données d'expression B en provenance de la section de commande, la section de transformation de base 16 transforme les données d'expression B seulement du jeu constitué par la commande de cryptage (ou de décryptage) et par les données d'expression selon l'expression de base b sur la base des données de transformation de base S. Cette transformation est exécutée comme exprimé au moyen de l'équation qui suit (5) par exemple lorsque les données d'expression B sont (P1, P2, .... Pm) et que les données d'expression de base b sont (p1, p2, ..., pm). (p1, p2, ... , pm) = (P1, P2, ... , Pm)S (5) La section de transformation de base 16 transmet également un jeu constitué par les données d'expression b obtenues (p1, p2, ..., pm) et par la commande de cryptage (ou de décryptage) à la carte IC 20. Lorsque la section de traitement de cryptageldécryptage de la carte IC 20 reçoit la commande de cryptage (ou de décryptage) et les données d'expression b en provenance du calculateur 10, la section de traitement de cryptageldécryptage 22 crypte (ou décode) les données d'expression b sur la base de la commande de cryptage (ou de décryptage) et transmet les données d'expression b traitées à la section de transformation inverse de base 17 du calculateur 10. Lorsque la section de transformation inverse de base 17 du calculateur 10 reçoit les données d'expression b traitées en provenance de la carte IC 20, la section de transformation inverse de base 17 transforme les données d'expression b traitées selon l'expression de base B sur la base des données de transformation de base T qui sont transférees depuis la section de stockage de données converties 15. Cette transformation est exécutée comme exprimé au moyen de l'équation qui suit (6) par exemple lorsque les données d'expression de base b sont (c1, c2, ..., cm) et que les données d'expression de base B sont (C , C2, .... Cm). (C1, C2, ..., Cm) = (c1, c2, ..., cm)T (6) Puis la section de transformation inverse de base 17 émet en sortie les données d'expression de base B traitées (C1, C2, ..., Cm). Comme décrit ci-avant, conformément au présent mode de réalisation, la section de comparateur 13 compare les données de base B qui représentent la base qui utilisée dans le système de cryptage et de décryptage complet aux données de base b qui représentent la base qui est utilisée dans la carte IC 20 lorsque la carte IC 20 qui est équipée de l'opération arithmétique basée sur une certaine base est utilisée pour le cryptage ou pour décryptage. Si les données de base B et b ne se correspondent pas tant que résultat de la comparaison qui est exécutée par la section de comparateur 13, la section de transformation de base 16 transforme les données de base b qui représentent la base qui est utilisée dans la carte IC 20 selon les données de base B qui représentent la base qui est utilisée dans le système de cryptage et de décryptage complet. Par conséquent, la compatibilité entre différentes bases peut être mise en ceuvre au moyen de la transformation de base utilise l'isomorphisme sans utiliser la façon de préparer le processus opératoire avec toutes les bases. En outre, plus particulièrement, la compatibilité entre différentes bases peut être mise en oeuvre sans augmenter les ressources de la carte IC, en agençant la section de calcul de données converties 14 et la section de transformation de base 16 sur lesquelles une charge importante est appliquée sur le coté du calculateur 10. (Second mode de réalisation) La figure 3 est un schéma fonctionnel d'un système de générationlvérification de signature numérique auquel un appareil de transformation de base selon second mode de réalisation de la présente invention est appliqué. Les mêmes parties que celles qui sont représentées sur les autres dessins sont indiquées au moyen des mêmes index de référence et leur explication détaillée est omise et plus particulièrement, différentes parties seront décrites ci-après. Les explications en chevauchement seront omises dans les modes de réalisation qui suivent. Le présent mode de réalisation est une modification du premier mode de réalisation et il est appliqué à un système de génération/vérification de signature numérique qui utilise des cryptosystèmes de courbe elliptique sur GF (2m) en lieu et place du système de cryptageldécryptage qui utilise des cryptosystèmes de courbe elliptique sur GF (2m). Conformément à cela, une commande de génération de signature numérique (ou de vérification de signature numérique) est utilisée en lieu et place de la commande de cryptage (ou de décryptage). contenu des données d'expression de base dans le calculateur 10a est constitué par des données dignes d'intérêt pour la génération de signature lorsque la commande de genération de signature numérique est utilisée ou par des données dignes d'intérêt pour la verification de signature lorsque la commande de vérification de signature est utilisée. En outre, une section de génération/vérification de signature numérique 23 est utilisée en lieu et place de section de traitement de cryptageldécryptage 22. section de génération/vérification de signature numérique 23 dispose d'une fonction consistant à, lors de la réception de la commande de génération de signature numérique (ou de verification de signature numérique) et des données d'expression b en provenance de la section de transformation de base 16 dans le calculateur 10a, traiter les données d'expression b lors de la génération de signature (ou de la vérification de signature) sur la base de la commande de génération de signature numérique (ou de vérification de signature numérique) et à transmettre les données d'expression b traitées (ou un résultat de vérification de signature "correct/non correct") à une section de transformation inverse de base 17a du calculateur 1 0a. En plus de la fonction de transformation de base mentionnée ci- avant, la section de transformation inverse de base 17a calculateur 10a dispose également d'une fonction permettant d'émettre en sortie le résultat vérification de signature ("correct ou non correct") qu'elle reçoit depuis une carte IC (carte à puce) 20a sans soumettre le résultat de vérification de signature à la transformation de base lorsque la commande de vérification de signature numérique est transmise. Dans la structure qui est décrite ci-avant également, le même avantage celui du premier mode de réalisation peut être obtenu lors du processus de génération de signature numérique et lors du processus de vérification de signature numérique, comme représenté sur les figures 4 et 5. (Autres modes de réalisation) Dans chacun des modes de réalisation qui ont éte décrits ci- avant, le système de cryptageldécryptage est séparé du système de génération/vérification de signature numérique et la présente invention n'est pas limitée à ce cas. Même si les deux systèmes sont combinés selon un unique système qui comprend les premier et second modes de réalisation le même avantage peut être obtenu à partir de la présente invention. Selon les modes de réalisation, le calculateur 10, 1 demande en requête les données de base b à la carte IC 20, 20a au niveau de l'étape initiale. Cependant, la présente invention n'est pas limitée à ce cas. Le même avantage peut également être obtenu même si la présente invention est modifiée de manière à présenter la structure consistant ce que le calculateur 10, 10a transmet la commande et les données d'expression B à la carte IC 20, 20a au niveau de l'étape initiale puis ce que la carte IC 20, 20a transmet ses propres données de base et fait en sorte que le calculateur 10, 10a exécute la transformation de base dans le cas où l'opération qui utilise les données d'expression B est impossible dans la carte IC 20, 20a. Si la carte IC 20, 20a dispose de la même base que celle du calculateur 10, 10a, la requête de base de la section de commande 11 et le processus de comparaison de la section de comparateur 13 peuvent être omis et par conséquent, la vitesse de traitement globale peut être accelérée. Dans les modes de réalisation qui ont été décrits ci-avant, les données d'expression de base B qui représentent la base du système complet sont stockées dans le calculateur 10, 10a. Cependant, la présente invention n'est pas limitée à ce cas. Le même avantage peut également être obtenu même si la présente invention modifiée de manière à présenter une structure selon laquelle la section de comparateur 13 obtient les données d'expression de base B qui représentent la base du système complet à partir d'un serveur (non représenté) ou similaire dans un réseau lorsqu'elle exécute l'opération de comparaison. Dans les modes de réalisation qui ont été décrits ci-avant, le calculateur 10 (ou 10a) exécute la transformation de base. Cependant, la présente invention n'est pas limitée à ce cas. Le même avantage peut être obtenu même si la carte IC qui comprend les fonctions des sections 11 à et 17 et/ou 17a exécute la transformation de base. Dans les modes de réalisation qui ont été décrits ci-avant, le système qui permet au calculateur 10 (ou 10a) de maintenir la carte IC 20 ( 20a) a été expliqué. Cependant, la présente invention n'est pas limitée à ce cas. Le même avantage peut être obtenu même si le systeme est modifié selon un système qui comprend le calculateur 10 en tant que premier calculateur et la carte IC 20 en tant que second calculateur et qui permet aux premier et second calculateurs 10, 20 (ou 10a, 20a) d'être connectés via un réseau. Le procédé décrit dans les modes de réalisation qui ont été décrits ci-avant peut être stocké dans un support de stockage et peut être distribué en tant que programme qui peut être exécuté par un calculateur. Si le support de stockage est un disque magnétique, un disque souple, un disque dur, un disque optique (un CD-ROM, un CD-R, un ou similaire), un disque magnéto-optique (un MO ou similaire), une mémoire à semiconducteur ou similaire, ce support peut stocker le programme et à partir de ce support, le calculateur peut lire le programme, n'importe quel schéma de stockage pouvant être utilisé. Un système d'exploitation (OS), un logiciel de couche intermédiaire (MW) tel qu'un logiciel de gestion de base données et un logiciel de réseau et similaire qui sont rendus activés dans un calculateur conformément à des instructions de programmes installés à partir du support de stockage dans le calculateur peuvent exécuter des parties des processus pour mettre en oeuvre les modes realisation. En outre, le support de stockage de la présente invention n'est pas seulement un support indépendant du calculateur mais il peut s'agir également d'un support de stockage qui décharge et stocke ou stocke temporairement des programmes transmis via le réseau l'Internet et similaire. En outre, support de stockage de la présente invention signifie non seulement unique support mais également une pluralité de supports qui permettent aux processus des modes de réalisation d'être exécutés. N'importe quelle structure de support peut être utilisée. Le calculateur mentionné ici exécute les processus des modes de réalisation la base des programmes qui sont stockés dans le support de stockage. Le calculateur peut présenter n'importe quelle structure telle qu'un unique appareil constitué par un ordinateur personnel, un système incluant une pluralité d'appareils connectés dans un réseau et similaire. Un tel calculateur peut non seulement être un ordinateur personnel mais peut également être un processeur, un microcalculateur ou similaire inclus dans l'équipement de traitement de l'information. Le terme calculateur signifie de façon générique des dispositifs et des appareils qui peuvent mettre en oeuvre les fonctions de la présente invention au moyen de programmes. REVENDICATIONS Appareil de transformation de base, caractérisé en ce que vue d'une utilisation dans un système qui utilise cryptosystèmes de courbe elliptique sur GF (2m) pour réaliser compatibilité entre une première base et une seconde base où ladite première base utilisée dans le système complet et ladite seconde base utilisée dans une carte IC (20, 20a) pour y être supportée sont différentes l'une de l'autre, ledit appareil (10, 10a) comprend moyen de comparaison de base (13) pour comparer ladite première base à ladite seconde base lorsque des données dignes d'intérêt pour une opération arithmétique exprimées par ladite première base sont transmises à ladite carte IC ; et moyen de transformation de base (16, 17) pour transformer lesdites données dignes d'intérêt pour une opération arithmétique selon des données dignes d'intérêt pour une opération arithmétique exprimees par ladite seconde base lorsque lesdites première et seconde bases ne se correspondent pas en tant que résultat de la comparaison qui est exécutée par ledit moyen de comparaison de base. 2. Appareil de transformation de base selon la revendication 1 caractérisé en ce que ledit système est un système de cryptage et décryptage. 3. Appareil de transformation de base selon la revendication 1 caractérisé en ce que ledit système est un système de génération signature numérique et de vérification de signature numérique. Procédé de transformation de base, caractérisé en ce que vue d'une utilisation dans un système qui utilise cryptosystèmes de courbe elliptique sur GF (2m) pour réaliser compatibilité entre une première base et une seconde base où ladite première base utilisée dans le système complet et ladite seconde base utilisée dans une carte IC (20, 20a) pour y être supportée sont différentes l'une de l'autre, ledit procédé comprend une étape de comparaison de base consistant à comparer ladite premiere base à ladite seconde base lorsque des données dignes d'intérêt pour une opération arithmétique exprimées par ladite premiere base sont transmises à ladite carte IC ; et une étape de transformation de base consistant à transformer lesdites données dignes d'intérêt pour une opération arithmétique selon des données dignes d'intérêt pour une opération arithmétique exprimees par ladite seconde base lorsque lesdites première et seconde bases ne se correspondent pas en tant que résultat de la comparaison qui est exécutée par ladite étape de comparaison de base. 5. Procédé de transformation de base selon la revendication 4, caractérisé en ce que ledit système est un système de cryptage et de décryptage. 6. Procédé de transformation de base selon la revendication 4, caractérisé en ce que ledit système est un système de génération de signature numérique et de vérification de signature numérique. 7. Support de stockage lisible par calculateur, caractérisé en ce en vue d'une utilisation dans un appareil de transformation de base utilisable dans un système qui utilise des cryptosystèmes courbe elliptique sur GF (2m) pour réaliser une compatibilité entre premiere base et une seconde base où ladite première base utilisée dans le système complet et ladite seconde base utilisée dans une carte IC (20, 20a) pour y être supportée sont différentes l'une de l'autre, ledit support de stockage étant prévu pour stocker, dans un calculateur dudit appareil de transformation de base (10, 10a), des programmes pour mettre en oeuvre une fonction de comparaison de base consistant à comparer ladite première base à ladite seconde base lorsque des données dignes d'intérêt pour une opération arithmétique exprimées par ladite première base sont transmises à ladite carte IC ; et une fonction de transformation de base consistant à transformer lesdites données dignes d'intérêt pour une opération arithmétique selon des données dignes d'intérêt pour une opération arithmétique exprimées par ladite seconde base lorsque lesdites première et seconde bases ne se correspondent pas en tant que résultat de la comparaison qui est exécutée par ledit moyen de comparaison de base. 8. Support de stockage lisible par calculateur selon la revendication 7, caractérisé en ce que ledit système est un système de cryptage et de décryptage. 9. Support de stockage lisible par calculateur selon la revendication 7, caractérisé en ce que ledit système est un système de génération de signature numérique et de vérification de signature numérique.