FR2679054A1 - Process and apparatus for exponentiation over GF(2n) - Google Patents

Process and apparatus for exponentiation over GF(2n) Download PDF

Info

Publication number
FR2679054A1
FR2679054A1 FR9108703A FR9108703A FR2679054A1 FR 2679054 A1 FR2679054 A1 FR 2679054A1 FR 9108703 A FR9108703 A FR 9108703A FR 9108703 A FR9108703 A FR 9108703A FR 2679054 A1 FR2679054 A1 FR 2679054A1
Authority
FR
France
Prior art keywords
vector
multiplication
register
components
squaring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9108703A
Other languages
French (fr)
Other versions
FR2679054B1 (en
Inventor
Arazi Benjamin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fortress U&T 2000 Ltd
Original Assignee
Fortress U&T 2000 Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fortress U&T 2000 Ltd filed Critical Fortress U&T 2000 Ltd
Priority to FR9108703A priority Critical patent/FR2679054A1/en
Publication of FR2679054A1 publication Critical patent/FR2679054A1/en
Application granted granted Critical
Publication of FR2679054B1 publication Critical patent/FR2679054B1/fr
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

The invention relates to a process and an apparatus for exponentiation over GF(2n). During an exponentiation in a finite field GF(2n), the squaring operation is carried out by constructing a vector. The components of this vector are constituted, alternately, by the components of the vector which is to be squared and by 0. An apparatus provides for the exponentiation in a finite field GF(2n) and includes three registers only, and furthermore has a regular structure which can be produced through very large scale integration. Application to the authentication of messages, the identification of users and the exchanging of keys.

Description

La présente invention concerne un procédé et un appareil d'exponentiation sur GF(2n).  The present invention relates to a method and apparatus for exponentiation on GF (2n).

GF(2n) désigne un corps de Galois contenant 2 éléments, n étant supérieur à 1. Ce corps est un système numérique qui comporte 2n éléments et dans lequel les règles d'addition et de multiplication correspondent au modulo arithmétique d'un polynôme irréductible de degré n ayant des coefficients dans G(2), G(2) étant un système numérique dans lequel les seuls éléments sont les nombres binaires 0 et 1 et les règles d'addition et de multiplication sont les suivantes : 0 + 0 = 1 + 1 = 0,
O + 1 = 1 + O = 1, O x O = 1 x O = O x 1 = O, 1 x 1 = 1.
GF (2n) designates a Galois body containing 2 elements, n being greater than 1. This body is a numerical system which comprises 2n elements and in which the rules of addition and multiplication correspond to the arithmetic modulo of an irreducible polynomial of degree n having coefficients in G (2), G (2) being a numerical system in which the only elements are the binary numbers 0 and 1 and the rules of addition and multiplication are as follows: 0 + 0 = 1 + 1 = 0,
O + 1 = 1 + O = 1, O x O = 1 x O = O x 1 = O, 1 x 1 = 1.

L'approche classique pour l'exécution d'opérations dans
GF(2n) comprend la sélection d'un polynôme P(x) de degré n qui est irréductible sur GF(2m), avec m > n qui détermine un élément α dans GF(2n) comme racine de P(x), c'est-à-dire remplissant la condition P(a) = O, et l'affectation de vecteurs unitaires de longueur n ayant des composantes n-l binaires aux éléments 1, α, α2, ...α@@ @.
The classic approach for performing operations in
GF (2n) includes the selection of a polynomial P (x) of degree n which is irreducible on GF (2m), with m> n which determines an element α in GF (2n) as root of P (x), i.e. fulfilling the condition P (a) = O, and the assignment of unit vectors of length n having binary nl components to the elements 1, α,α 2, ... α @@ @.

L'exponentiation sur GF(2n) est une opération qui est nécessaire dans de nombreuses applications décrites dans la littérature, trois d'entre elles qu'on peut se rappeler étant l'authentification des messages, l'identification d'un utilisateur et l'échange de clés. Exponentiation on GF (2n) is an operation which is necessary in many applications described in the literature, three of which we can remember being message authentication, user identification and l 'exchange of keys.

Authentification des messages
Contrairement à un véritable processus de signature numérique, l'authentification des messages nécessite la coopération de l'authentificateur. Dans ce cas, le réceptionnaire a une assurance en ligne sur l'authenticité d'un message reçu. Ce processus est très utile par exemple dans tous les scénarios dans lesquels un groupe fermé d'utilisateurs veut se protéger contre le monde externe. Un exemple de cas est celui dans lequel un agent transmet un message à une agence, et les deux participants veulent être sûrs qu'un ordre n'a pas été implanté par un adversaire.
Message authentication
Unlike a real digital signature process, message authentication requires the cooperation of the authenticator. In this case, the receiver has online insurance on the authenticity of a message received. This process is very useful for example in all scenarios in which a closed group of users wants to protect themselves from the external world. An example is when an agent sends a message to an agency, and both participants want to be sure that an order has not been implemented by an opponent.

Si l'on appelle X l'expéditeur d'un document M qui a doit être authentifié par la partie réceptrice Y et a une clé publique (certifiée) de X, l'authentification est réalisée de la manière suivante (toutes les exponentiations décrites sont modulaires, c'est-à-dire, dans le cas du travail sur GF, qu'elles sont réalisées modulo un polynôme). If X is called the sender of a document M which has to be authenticated by the receiving party Y and has a public (certified) key of X, the authentication is carried out as follows (all the exponentiations described are modular, that is to say, in the case of work on GF, that they are made modulo a polynomial).

1) Y génère αr pour une valeur aléatoire r, et transmet αr à X. Y calcule aussi K = (αa)r.  1) Y generates α r for a random value r, and passes α r to X. Y also calculates K = (α a) r.

2) X calcule (a) (les deux parties arrivent à une clé Q = ara, qui n'est commune qu'à eux-mêmes). 2) X calculates (a) (the two parts arrive at a key Q = ara, which is common only to themselves).

3) X calcule S = M k et transfère la paire M, S à Y (M peut être chiffré par tout schéma classique ou particulier de chiffrement, donnant le texte chiffré S). 3) X calculates S = M k and transfers the pair M, S to Y (M can be encrypted by any classical or particular encryption scheme, giving the encrypted text S).

4) Y vérifie que M ne peut avoir été transmis que par X par calcul de MK et par comparaison à S (M et S constituent la paire reçue, K ayant été calculé par Y au pas 1). 4) Y checks that M can only have been transmitted by X by calculation of MK and by comparison with S (M and S constitute the received pair, K having been calculated by Y in step 1).

Identification d'un utilisateur
Les étapes suivantes constituent une procédure normale dans laquelle une personne X s'identifie vis-à-vis de Y.
a) X transmet à Y une information non secrète 1pu qui est certifiée comme appartenant à X.
b) Y transmet à X un défi aléatoire C.
c) X transmet à Y une réponse R(C, Ipr) dans laquelle I est une information privée associée à I
pr pu
d) En fonction de Ipu, C et R, Y se prouve à lui même que X est en possession de I
pr
Le scénario précédent est réalisé dans un cas idéal par des opérations sur un corps fini. L'information non a secrète 1pu est une valeur quelconque a dans laquelle l'exposant a constitue l'information privée Ipr. Le défi
r pr correspond à une valeur quelconque a , r étant gardé secret par Y. La réponse R est (a )a. Y se prouve alors à lui-même que X est en possession de a, par exponentiation de R à la r-1ième puissance et par comparaison du résultat à αa.
Identification of a user
The following steps are a normal procedure in which person X identifies with Y.
a) X transmits to Y non-secret information 1pu which is certified as belonging to X.
b) Y transmits to X a random challenge C.
c) X transmits to Y a response R (C, Ipr) in which I is private information associated with I
for pu
d) As a function of Ipu, C and R, Y proves to himself that X is in possession of I
pr
The preceding scenario is carried out in an ideal case by operations on a finite body. The non-secret information 1pu is any value a in which the exponent a constitutes the private information Ipr. The challenge
r pr corresponds to any value a, r being kept secret by Y. The answer R is (a) a. Y then proves to himself that X is in possession of a, by exponentiation of R to the r-1st power and by comparison of the result to α a.

Echange de clés Diffic-Hellman
Dans le système de distribution de clé publique DH, les parties X et Y dont les clés publiques certifiées sont a a et a b, arrivent toujours à la même clé commune aab. Les clés de sessions différentes peuvent être créées si une partie X, qui est appelée "l'initiateur" crée une clé différente αa à chaque session, la signe avec une signature
EG, par exemple une signature El-Gamal, et la transmet à l'autre partie Y. La signature de X est nécessaire pour que
Y soit sûr qu'il échange réellement une clé de session avec
X. Dans ce cas, les clés publiques de X et Y n'ont pas le même rôle. La clé publique de X est nécessaire à Y pour qu'il valide la signature de X sur la valeur reçue axa. la clé publique de Y est a b qui, avec aa, forme la clé secrète de session aab (les clés publiques de X et Y sont évidemment certifiées par l'autorité de délivrance).
Diffic-Hellman key exchange
In the DH public key distribution system, parties X and Y whose certified public keys are aa and ab, always arrive at the same common key aab. Keys for different sessions can be created if a party X, which is called "the initiator" creates a different key α a each session, signs it with a signature
EG, for example an El-Gamal signature, and transmits it to the other party Y. The signature of X is necessary so that
Make sure it actually exchanges a session key with
X. In this case, the public keys of X and Y do not have the same role. The public key of X is necessary for Y so that it validates the signature of X on the value received axa. the public key of Y is ab which, together with aa, forms the secret session key aab (the public keys of X and Y are obviously certified by the issuing authority).

Aucune opération de chiffrement n'est impliquée dans ce processus, car l'information échangée a a n'est pas secrète. Ainsi, lors de la transmission de a a à Y, X n'utilise pas la clé publique de Y. Cette procédure est tout à fait différente d'un scénario d'échange de clés à base RSA dans lequel une clé secrète de session créée par l'initiateur est signée par lui-même et chiffrée par la clé publique du destinataire. No encryption operation is involved in this process, since the information exchanged a a is not secret. Thus, during the transmission from aa to Y, X does not use the public key of Y. This procedure is entirely different from an RSA-based key exchange scenario in which a secret session key created by the initiator is signed by himself and encrypted by the recipient's public key.

Dans d'autres cas aussi, on peut utiliser une opération d'exponentiation sur un corps fini ou un corps de
Galois. La possibilité du travail sur GF(2n) a été souvent remarquée dans la technique, par exemple dans l'article de
C.C. Wang et al. "VLSI Architectures for Computing Multiplication and Inverses in GF(2m)", (IEEE Trans. on Comput.,
Vol. C-34, pages 709-716, 19851, dans l'article de T. Beth et al. "Architectures for Exponentiation in GF(2n)" FAdvances in Cryptology-Eurocrypt'86, LNCS 263, pages 302-310], et dans l'article de P.A Scott et al. "Architectures for Exponentiation in GF(2m)" FIEEE J. Sel. Areas
Commun., vol. SAC-6, pages 578-586, 1988]. Un procédé et un appareil de calcul et une manière de réaliser des additions, la mise au carré et la multiplication dans une arithmétique sur un corps de Galois sont décrits dans le brevet des Etats-Unis d'Amérique n 4 587 627.
In other cases too, we can use an exponentiation operation on a finite body or a body of
Galois. The possibility of working on GF (2n) has often been noticed in the art, for example in the article by
CC Wang et al. "VLSI Architectures for Computing Multiplication and Inverses in GF (2m)", (IEEE Trans. On Comput.,
Flight. C-34, pages 709-716, 19851, in the article by T. Beth et al. "Architectures for Exponentiation in GF (2n)" FAdvances in Cryptology-Eurocrypt'86, LNCS 263, pages 302-310], and in the article by PA Scott et al. "Architectures for Exponentiation in GF (2m)" FIEEE J. Sel. Areas
Commun., Vol. SAC-6, pages 578-586, 1988]. A method and apparatus for calculating and a way of performing additions, squaring and multiplication in arithmetic on a Galois body are described in U.S. Patent No. 4,587,627.

Des circuits d'exponentiation sur GF(2n) ont été décrits dans la technique, par exemple dans le document précité de P.A. Scott et al. Un exemple d'un tel circuit 4 convenant à l'exponentiation sur GF(2 ) par raison de simplicité, est schématiquement représenté sur la figure 1. Exponentiation circuits on GF (2n) have been described in the art, for example in the aforementioned document by P.A. Scott et al. An example of such a circuit 4 suitable for exponentiation on GF (2) for the sake of simplicity, is schematically represented in FIG. 1.

Ce circuit travaille sur la base du polynôme standard. Il comprend quatre registres. Le vecteur B qui doit être mis au carré est conservé dans RG3. Le facteur A par lequel le vecteur doit être multiplié est conservé dans RGl. A constitue aussi l'élément du corps qui doit être soumis à l'exponentiation. RG2 fait partie d'un circuit de multiplication à registre à décalage à rétroaction linéaire LFSR.This circuit works on the basis of the standard polynomial. It includes four registers. The vector B which must be squared is kept in RG3. The factor A by which the vector must be multiplied is kept in RGl. A also constitutes the element of the body which must be subjected to exponentiation. RG2 is part of a linear feedback shift register multiplication circuit LFSR.

RG4 désigne un registre tampon dans lequel A est mémorisé lorsque B est mis au carré, l'opération étant réalisée par duplication de B dans le registre RG1 et traitement comme facteur par lequel B lui-même est multiplié. En d'autres termes, la mise au carré est traitée comme une multiplication d'un vecteur par lui-même. Toute variante de ce type de circuit doit toujours contenir quatre registres lors du travail sur la base de la norme, dans la technique antérieure, à cause de la manière utilisée pour l'exécution de l'opération de mise au carré. On a aussi décrit dans la technique des cas dans lesquels trois registres seulement sont utilisés, dans l'article de T. Beth et al. "Architectures for Exponentiation in GF(2n)" [Advances in
Cryptology-Eurocrypt'86, LNCS 263, pages 302-310] et dans le brevet cité des Etats-Unis d'Amérique n" 4 587 627, mais dans le cas d'une exponentiation non sur la base de la norme mais sur la base normale, et dans ce cas la mise au carré est réalisée par un simple décalage cyclique. Cependant, dans ce cas, comme dans le circuit schématiquement représenté sur la figure 2, en plus de trois registres, d'autres circuits sous forme d'au moins n-l portes OU-exclusif sont nécessaires. Ces circuits sont représentés sur la figure 2 dans un rectangle en traits interrompus. Ces circuits équivalent à au moins un registre supplémentaire,
Si l'on utilise des registres dynamiques comme décrit dans la suite.
RG4 designates a buffer register in which A is stored when B is squared, the operation being carried out by duplicating B in the register RG1 and processing as a factor by which B itself is multiplied. In other words, squaring is treated as a multiplication of a vector by itself. Any variant of this type of circuit must always contain four registers when working on the basis of the standard, in the prior art, because of the manner used for the execution of the squaring operation. Cases in which only three registers are used have also been described in the art in the article by T. Beth et al. "Architectures for Exponentiation in GF (2n)" [Advances in
Cryptology-Eurocrypt'86, LNCS 263, pages 302-310] and in the cited patent of the United States of America No. 4,587,627, but in the case of an exponentiation not on the basis of the standard but on the normal base, and in this case the squaring is carried out by a simple cyclic shift. However, in this case, as in the circuit schematically represented in FIG. 2, in addition to three registers, other circuits in the form of at least nl OR-exclusive gates are necessary. These circuits are represented in FIG. 2 in a rectangle in dashed lines. These circuits are equivalent to at least one additional register,
If dynamic registers are used as described below.

L'invention a pour objet l'exécution d'une exponentiation sur GF(2n) avec une quantité réduite de circuits, à la fois au niveau macroscopique, puisqu'un registre entier est éliminé, et au niveau microscopique, puisque les registres sont réalisés sous forme de registres dynamiques. The subject of the invention is the execution of an exponentiation on GF (2n) with a reduced quantity of circuits, both at the macroscopic level, since an entire register is eliminated, and at the microscopic level, since the registers are produced. in the form of dynamic registers.

La structure modulaire facilite en outre la réalisation des circuits.The modular structure also facilitates the creation of circuits.

L'invention a aussi une application plus particulière dans la réalisation de l'exponentiation sur GF(2n) pour l'utilisation de trois registres seulement et sans introduction de circuits excessifs. The invention also has a more particular application in the realization of exponentiation on GF (2n) for the use of only three registers and without the introduction of excessive circuits.

L'invention a donc pour objet la réalisation de l'exponentiation avec une réduction des circuits et avec une structure cellulaire plus régulière. The invention therefore relates to the realization of exponentiation with a reduction of the circuits and with a more regular cellular structure.

L'invention a aussi pour objet de permettre lamise en oeuvre de systèmes à clés publiques sur GF(2n) qui nécessitent une taille bien plus grande de paramètres, pour une complexité cryptographique comparable, sans nécessiter une augmentation des ressources matérielles. The invention also aims to allow the implementation of public key systems on GF (2n) which require a much larger size of parameters, for a comparable cryptographic complexity, without requiring an increase in hardware resources.

L'invention repose sur la considération du fait que la mise au carré est une opération linéaire sur GF(2n). The invention is based on the consideration of the fact that squaring is a linear operation on GF (2n).

Dans le procédé d'exponentiation selon l'invention, ltopé- ration de mise au carré est réalisée par construction d'un vecteur dont les composantes sont en alternance les composantes du vecteur à mettre au carré et O.In the exponentiation method according to the invention, the squaring topoperation is carried out by construction of a vector whose components are alternately the components of the vector to be squared and O.

Plus précisément, le procédé selon l'invention met en oeuvre la mise au carré d'un facteur ayant n composantes par construction d'un vecteur ayant 2n-1 composantes qui sont en alternance celles du vecteur à mettre au carré et
O. Plus précisément, un vecteur X = (c0, cl, c2, ... cn-1) est mis au carré par construction du vecteur X2 = (cO O, c1, 0, c2, 0,... 0, cn-1). Le vecteur X2 n'existe jamais avec sa longueur totale puisqu'il est réduit modulo un polynôme primitif par les insertions alternatives de O.
More precisely, the method according to the invention implements the squaring of a factor having n components by construction of a vector having 2n-1 components which are alternately those of the vector to be squared and
O. More precisely, a vector X = (c0, cl, c2, ... cn-1) is squared by construction of the vector X2 = (cO O, c1, 0, c2, 0, ... 0, cn-1). The vector X2 never exists with its total length since it is reduced modulo a primitive polynomial by the alternative insertions of O.

De préférence, la construction du vecteur au carré selon l'invention est réalisée par transmission des composantes du vecteur à mettre au carré, appelé dans le présent mémoire "vecteur de base", à un registre et par insertion d'un O entre chaque couple d'éléments successifs du vecteur de base pendant son décalage dans le registre. Comme une multiplication doit aussi être réalisée dans un circuit d'exponentiation, le registre auquel les composantes sont transmises est avantageusement une partie d'un circuit de multiplication. Preferably, the construction of the vector squared according to the invention is carried out by transmission of the components of the vector to be squared, called in this memory "basic vector", to a register and by insertion of an O between each pair of successive elements of the base vector during its shift in the register. As a multiplication must also be carried out in an exponentiation circuit, the register to which the components are transmitted is advantageously part of a multiplication circuit.

De manière correspondante, un appareil d'exponentiation sur GF(2n) selon l'invention comporte un dispositif destiné à mettre un vecteur de base au carré (le vecteur étant tel que défini précédemment), ce dispositif comprenant un dispositif destiné à mémoriser le vecteur de base, un dispositif destiné à recevoir les composantes du vecteur au carré, et un dispositif destiné à transmettre en alternance, au dispositif de réception, les composantes du vecteur de base et le nombre 0. De préférence, le dispositif de transmission en alternance comporte un dispositif de commutation qui connecte en alternance le dispositif de réception au dispositif de mémorisation de vecteur de base et à une source de O. De préférence, le dispositif de mémorisation du vecteur de base est un registre et le dispositif destiné à recevoir le vecteur au carré fait partie du circuit de multiplication LFSR. Correspondingly, an exponentiation apparatus on GF (2n) according to the invention comprises a device intended to square a basic vector (the vector being as defined above), this device comprising a device intended to memorize the vector basic, a device intended to receive the components of the squared vector, and a device intended to transmit alternately, to the receiving device, the components of the basic vector and the number 0. Preferably, the alternating transmission device comprises a switching device which alternately connects the reception device to the basic vector storage device and to a source of O. Preferably, the basic vector storage device is a register and the device intended to receive the vector to the square is part of the LFSR multiplication circuit.

L'appareil selon l'invention comporte un dispositif destiné à exécuter l'opération de multiplication afin qu'il complète l'algorithme de mise au carré et de multiplication. L'opération est réalisée de préférence par utilisation d'un circuit supplémentaire qui n'est pas essentiellement différent par sa structure et son fonctionnement du dispositif correspondant des circuits d'exponentiation de la technique antérieure et qui comporte un dispositif, en général à registres, destiné à mémoriser le vecteur -appelé dans la suite "vecteur facteur"- par lequel le vecteur de base doit être multiplié. Pendant l'opération de mise au carré, le circuit supplémentaire est éventuellement déconnecté par mise à O de portes ET qui sont incorporées. Comme l'indique la suite, un circuit d'exponentiation de ce type, destiné à assurer l'exponentiation sur GF(2n), comporte deux cellules ou unités de structure qui ne sont pas identiques. Comme les corps finis dans lesquels on opère ont un degré n qui est bien plus élevé et peut être de l'ordre de plusieurs milliers, les cellules ou unités de structure doivent être répétées de nombreuses fois. Dans un mode de réalisation de l'invention, ceci est évité et d'autres avantages sont obtenus simultanément. The apparatus according to the invention comprises a device intended to execute the multiplication operation so that it completes the squaring and multiplication algorithm. The operation is preferably carried out by using an additional circuit which is not essentially different in its structure and its functioning from the corresponding device of the exponentiation circuits of the prior art and which comprises a device, generally with registers, intended to memorize the vector - called in the continuation "factor vector" - by which the basic vector must be multiplied. During the squaring operation, the additional circuit is possibly disconnected by setting O of AND gates which are incorporated. As indicated below, an exponentiation circuit of this type, intended to ensure exponentiation on GF (2n), comprises two cells or structural units which are not identical. As the finite bodies in which we operate have a degree n which is much higher and can be of the order of several thousand, the cells or units of structure must be repeated many times. In one embodiment of the invention, this is avoided and other advantages are obtained simultaneously.

Dans une telle forme de l'invention, la phase de division de l'opération de multiplication modulaire est réalisée d'une nouvelle manière qui permet l'utilisation de circuits beaucoup plus simples que ceux qui sont nécessaires dans les procédés décrits dans la technique antérieure, par exemple dans le brevet des Etats-Unis d'Amérique n" 4 587 627. Plus précisément, le polynôme qui constitue le modulo de la multiplication modulaire, au lieu d'être fixe et prédéterminé, peut être défini et changé à volonté. La multiplication modulaire est ainsi réalisée par un simple décalage. In such a form of the invention, the division phase of the modular multiplication operation is carried out in a new way which allows the use of circuits much simpler than those which are necessary in the methods described in the prior art , for example in United States patent No. 4,587,627. More precisely, the polynomial which constitutes the modulo of modular multiplication, instead of being fixed and predetermined, can be defined and changed at will. Modular multiplication is thus achieved by a simple shift.

Un circuit de ce mode de réalisation de l'invention comprend donc un dispositif de mémorisation des composantes du polynôme primitif modulo qui est le diviseur dans la phase de division de la multiplication modulaire, et un dispositif de commande de la multiplication modulaire par l'intermédiaire des composantes. A circuit of this embodiment of the invention therefore comprises a device for memorizing the components of the primitive modulo polynomial which is the divider in the division phase of the modular multiplication, and a device for controlling the modular multiplication via components.

De préférence, un circuit de ce mode de réalisation de l'invention comprend un circuit de multiplication LFSR et le dispositif de commande de la multiplication modulaire comporte un dispositif de commande des rétroactions vers le circuit de multiplication LFSR. Preferably, a circuit of this embodiment of the invention comprises an LFSR multiplication circuit and the modular multiplication control device comprises a device for controlling feedbacks to the LFSR multiplication circuit.

De manière plus avantageuse, le dispositif de mémorisation des composantes du polynôme primitif est constitué d'éléments d'un registre qui sont connectés chacun à une porte équivalente ET, les portes ET réglant les rétroactions vers les portes équivalentes OU-exclusif du circuit de multiplication LFSR. More advantageously, the device for memorizing the components of the primitive polynomial consists of elements of a register which are each connected to an equivalent AND gate, the AND gates regulating the feedbacks to the equivalent OR-exclusive gates of the multiplication circuit. LFSR.

Un circuit d'exponentiation selon l'invention peut comporter de nouveaux dispositifs de mise au carré, définis précédemment, et dans ce cas, la phase de division de l'opération de mise au carré modulaire est réalisée de la même manière que la phase de division de la multiplication modulaire par utilisation du même dispositif pour la mémorisation du polynôme primitif et du même dispositif de commande de rétroaction. An exponentiation circuit according to the invention may include new squaring devices, defined above, and in this case, the division phase of the modular squaring operation is carried out in the same way as the phase of division of the modular multiplication by using the same device for memorizing the primitive polynomial and the same feedback control device.

Dans ce mode de réalisation de l'invention, le circuit comporte de préférence un seul type de cellule ou unité répétitive de structure, la cellule comprenant une porte OU-exclusif, un premier élément de registre placé en série avec la porte OU-exclusif, un second élément de registre, et une porte ET destinée à recevoir une rétroaction et à la transmettre à la porte OU-exclusif, et un troisième élément de registre connecté à la porte ET pour la commande de la rétroaction. In this embodiment of the invention, the circuit preferably comprises a single type of cell or repeating unit of structure, the cell comprising an OR-exclusive gate, a first register element placed in series with the OR-exclusive gate, a second register element, and an AND gate intended to receive a feedback and to transmit it to the OR-exclusive gate, and a third register element connected to the AND gate for the control of the feedback.

Cependant, dans une variante, différents dispositifs de mise au carré peuvent être utilisés, par exemple ceux qui sont représentés sur les figures 1 et 2. However, in a variant, different squaring devices can be used, for example those shown in FIGS. 1 and 2.

Les éléments de registres indiqués précédemment peuvent être des bascules statiques, mais ils peuvent être différents de celles-ci. Comme tous les registres sont constamment déplacés et mis à zéro et en conséquence effacés naturellement, des registres de type dynamique peuvent être utilisés comme éléments de mémoire, sans organe de commande de mémoire, et ceci constitue une autre caractéristique de l'invention. Une structure d'un registre dynamique à décalage est décrite dans la suite. The elements of registers indicated previously can be static rockers, but they can be different from these. As all the registers are constantly moved and set to zero and consequently erased naturally, dynamic type registers can be used as memory elements, without a memory controller, and this constitutes another characteristic of the invention. A structure of a dynamic shift register is described below.

En outre, dans les registres dans lesquels une porte
OU-exclusif ou NON-OU-exclusif est placée entre les cellules de décalage, ces éléments logiques peuvent être utilisés comme éléments d'amplification dans les registres.
In addition, in the registers in which a door
OR-exclusive or NON-OR-exclusive is placed between the offset cells, these logic elements can be used as amplification elements in the registers.

D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description qui va suivre d'exemples de réalisation, faite en référence aux dessins annexés sur lesquels
les figures 1 et 2 représentent schématiquement deux circuits d'exponentiation sur GF(24) selon la technique antérieure ;
la figure 3 représente schématiquement un circuit de 4 mise au carré Go(2 ) selon l'invention ;
la figure 4 représente schématiquement un circuit d'exponentiation selon un mode de réalisation préféré de l'invention
la figure 5 représente schématiquement un circuit d'exponentiation dans un autre mode de réalisation préféré de l'invention ;
la figure 6 représente un circuit d'exponentiation selon un autre mode de réalisation préféré de l'invention et
les figures 7 et 8 représentent schématiquement deux structures d'éléments de registre selon d'autres modes de réalisation de l'invention.
Other characteristics and advantages of the invention will be better understood on reading the description which will follow of exemplary embodiments, made with reference to the appended drawings in which
Figures 1 and 2 schematically show two exponentiation circuits on GF (24) according to the prior art;
FIG. 3 schematically represents a circuit of 4 squaring Go (2) according to the invention;
FIG. 4 schematically represents an exponentiation circuit according to a preferred embodiment of the invention
FIG. 5 schematically represents an exponentiation circuit in another preferred embodiment of the invention;
FIG. 6 represents an exponentiation circuit according to another preferred embodiment of the invention and
Figures 7 and 8 schematically represent two structures of register elements according to other embodiments of the invention.

Les figures 1 et 2 ont été déjà rapidement décrites et elles parlent d'elles-mêmes pour l'homme du métier. On se réfère maintenant à la figure 3 qui représente schématiquement un circuit de mise au carré sur GF(24), les
4 opérations étant générées par f(x) = 1 + x3 + x . Le vecteur de base est conservé dans un registre RG3. La référence 5 désigne un commutateur qui alterne entre une position basse dans laquelle il déplace les composantes du vecteur de base de RG3 vers le registre RG2 alors que, en position haute, il transmet le nombre 0 à RG2. Un vecteur au carré est ainsi créé dans RG2, ses composantes étant en alternance les composantes du vecteur de base et O. Ce circuit de mise au carré n'a pas la phase de multiplication pour l'exponentiation et il n'est donc pas utilisé en général tel quel ; néanmoins il constitue un aspect indépendant de l'invention et il est revendiqué en lui-même dans le présent mémoire.
Figures 1 and 2 have already been quickly described and speak for themselves for those skilled in the art. We now refer to FIG. 3 which schematically represents a squaring circuit on GF (24), the
4 operations being generated by f (x) = 1 + x3 + x. The basic vector is kept in an RG3 register. Reference 5 designates a switch which alternates between a low position in which it moves the components of the base vector from RG3 to the register RG2 while, in the high position, it transmits the number 0 to RG2. A squared vector is thus created in RG2, its components being alternately the components of the basic vector and O. This squaring circuit does not have the multiplication phase for exponentiation and it is therefore not used generally as is; nevertheless it constitutes an independent aspect of the invention and it is claimed in itself in the present specification.

Un circuit d'exponentiation dans un mode de réalisation préféré de l'invention est représenté schématiquement sur la figure 4. Sur celle-ci, RG3 désigne un registre dans lequel le vecteur de base p = (b0, b1, b2,...bn~1) est mémorisé. Le vecteur facteur a = (aO, al, a2,...an~1) est mémorisé dans le registre RG1. Les références 10 et 11 désignent deux commutateurs. Pendant la phase de multiplication qui est réalisée dans ce cas de manière classique, le commutateur 10 est dans la position basse et fait partie du circuit de multiplication alors que le commutateur 11 est en position haute. Pendant la phase de mise au carré, le commutateur 10 est en position haute et sépare le circuit du registre RG1 par transmission de O aux portes ET 12. Le commutateur 11 alterne entre ses deux positions. Lorsqu'il est en position basse, une composante du vecteur de base est transmise de RG3 à RG2. Lorsqu'il est en position haute, RG3 est déconnecté de RG2 et un O est transmis dans ce dernier. Le vecteur p2 = (b0, O, bl,
O, b2, O,..., O, bon~1) est ainsi construit à partir du contenu de RG2 après 2n-1 décalages. On note que RG3 est décalé à la moitié de la vitesse de RG2 ou en d'autres termes le temps de mise au carré est doublé, par rapport aux circuits connus décrits, et est porté à 2n cycles d'horloge à la place de n cycles. Cette augmentation de la durée de l'opération est cependant insignifiante en partie compte tenu de l'économie de circuits qui est obtenue par élimination de l'un des registres de la technique antérieure.
An exponentiation circuit in a preferred embodiment of the invention is shown diagrammatically in FIG. 4. In this, RG3 denotes a register in which the base vector p = (b0, b1, b2, ... bn ~ 1) is memorized. The factor vector a = (aO, al, a2, ... an ~ 1) is stored in the register RG1. References 10 and 11 denote two switches. During the multiplication phase which is carried out in this case in a conventional manner, the switch 10 is in the low position and is part of the multiplication circuit while the switch 11 is in the high position. During the squaring phase, the switch 10 is in the high position and separates the circuit from the register RG1 by transmission of O to the AND gates 12. The switch 11 alternates between its two positions. When in the low position, a component of the basic vector is transmitted from RG3 to RG2. When in the high position, RG3 is disconnected from RG2 and an O is transmitted in the latter. The vector p2 = (b0, O, bl,
O, b2, O, ..., O, good ~ 1) is thus constructed from the content of RG2 after 2n-1 shifts. Note that RG3 is shifted to half the speed of RG2 or in other words the squaring time is doubled, compared to the known circuits described, and is brought to 2n clock cycles instead of n cycles. This increase in the duration of the operation is however insignificant in part given the economy of circuits which is obtained by eliminating one of the registers of the prior art.

Le circuit représenté sur la figure 4 peut être réalisé avec des registres à décalage dynamiques fabriqués à l'aide d'une fraction des transistors utilisés dans une réalisation statique semblable. Etant donné la dimension propre limitée d'une pastille montée sur une carte à mémoire, l'utilisation possible de ces registres peut être une considération essentielle. Le défaut de ces registres est qu'ils se vident en un temps court (d'environ 1 ms) à moins qu'ils ne subissent un décalage fréquent qui renouvelle leur contenu. The circuit shown in Figure 4 can be realized with dynamic shift registers manufactured using a fraction of the transistors used in a similar static embodiment. Given the limited natural dimension of a chip mounted on a memory card, the possible use of these registers can be an essential consideration. The drawback of these registers is that they empty in a short time (around 1 ms) unless they undergo a frequent shift which renews their content.

Pendant la multiplication, le contenu de RG1 est fixe alors que le contenu de RG3 est décalé dans RG2. Dans le cas de registres qui ont une longueur d'environ 1 000 bits et une fréquence d'horloge dépassant 1 MHz, le cycle total prend moins d'une milliseconde et, pendant cette période, le contenu du registre RG1 n'est pas perdu. Comme la multiplication est toujours suivie d'une mise au carré, pendant laquelle RG1 est déconnecté (l'interrupteur 10 est en position haute), il peut circuler pendant que RG2 et RG3 exécutent la phase de mise au carré. Des mises au carre successives peuvent se produire et pendant ce temps RG1 circule toujours. During multiplication, the content of RG1 is fixed while the content of RG3 is shifted in RG2. In the case of registers which have a length of approximately 1000 bits and a clock frequency exceeding 1 MHz, the total cycle takes less than a millisecond and, during this period, the content of the register RG1 is not lost . As the multiplication is always followed by a squaring, during which RG1 is disconnected (the switch 10 is in the high position), it can circulate while RG2 and RG3 execute the phase of squaring. Successive squares can occur and during this time RG1 is still circulating.

Les registres RG2 et RG3 peuvent évidemment être de type dynamique car ils subissent constamment un décalage. The registers RG2 and RG3 can obviously be of dynamic type because they constantly undergo a shift.

On a noté que l'invention permettait l'utilisation de trois registres seulement à la place de quatre dans le cas des circuits de la technique antérieure de la figure 1 et des circuits analogues. It has been noted that the invention allows the use of only three registers instead of four in the case of the prior art circuits of FIG. 1 and similar circuits.

Le circuit de la technique antérieure de la figure 2 comporte aussi trois registres seulement, mais il nécessite des portes OU-exclusif supplémentaires qui augmentent les circuits matériels d'une manière correspondant à au moins un registre dynamique supplémentaire. Ce qui est pire est la très grande irrégularité introduite par le câblage de ces portes OU-exclusif, limitant la possibilité de la réalisation de circuits VLSI efficaces (circuits intégrés à très grande échelle). The prior art circuit of Figure 2 also has only three registers, but it requires additional OU-exclusive gates which augment the hardware circuits in a manner corresponding to at least one additional dynamic register. What is worse is the very large irregularity introduced by the wiring of these OR-exclusive gates, limiting the possibility of producing efficient VLSI circuits (very large-scale integrated circuits).

Des circuits selon le mode de réalisation de l'invention décrit précédemment comportent deux cellules ou unités de circuit encadrées en traits interrompus et indiquées sur la figure 4 par les références 13 et 14 respectivement, différant par leurs structures de portes
OU-exclusif (ces portes ayant deux entrées dans la cellule 13 et trois dans la cellule 14), ce fait affectant la régularité du circuit. Si l'exponentiation doit être réalisée sur GF(2n) avec n < 4, les portes doivent être répétées un grand nombre de fois en pratique. Ceci rend assez peu commode la réalisation VLSI. Cet inconvénient est supprimé dans un autre mode de réalisation préféré de l'invention schématiquement représenté sur la figure 5, dans lequel la phase de mise au carré ne diffère pas de celle qu'on vient de décrire, mais la phase de division de la multiplication modulaire est réalisée d'une nouvelle manière différente. La structure de ce mode de réalisation permet aussi l'exécution de la phase de multiplication de l'algorithme d'exponentiation par un seul décalage.
Circuits according to the embodiment of the invention described above comprise two cells or circuit units framed in broken lines and indicated in FIG. 4 by the references 13 and 14 respectively, differing by their door structures
OU-exclusive (these doors having two entries in cell 13 and three in cell 14), this fact affecting the regularity of the circuit. If the exponentiation must be carried out on GF (2n) with n <4, the doors must be repeated a large number of times in practice. This makes VLSI a bit inconvenient. This drawback is eliminated in another preferred embodiment of the invention schematically represented in FIG. 5, in which the phase of squaring does not differ from that which has just been described, but the phase of division of the multiplication modular is realized in a new different way. The structure of this embodiment also allows the execution of the multiplication phase of the exponentiation algorithm by a single offset.

Le circuit de la figure 5 comporte encore trois registres RG1, RG2 et RG3. La référence 21 indique encore un commutateur correspondant au commutateur 11 de la figure 4 et travaillant de manière analogue dans l'opération de mise au carré. RG1 conserve des polynômes primitifs qui, avec les portes ET 22, commande la structure de rétroaction du registre LFSR RG2. Le commutateur 20 transmet le contenu du registre LFSR dans la ligne de rétroaction pendant la multiplication-mise au carré, et dans le registre RG3 lorsque le contenu du registre LFSR doit être mis à nouveau au carré. Cependant, dans ce cas, pour que l'exponentiation soit mise en oeuvre sur GF(2n) avec n < 4, une seule cellule ou unité de structure entourée en traits interrompus sur le dessin et désignée par la référence 23 doit être répétée un nombre aussi grand de fois que nécessaire, si bien que la structure du circuit est simplifiée et la réalisation VLSI est facilitée. The circuit of FIG. 5 also includes three registers RG1, RG2 and RG3. The reference 21 also indicates a switch corresponding to the switch 11 in FIG. 4 and working in a similar manner in the squaring operation. RG1 preserves primitive polynomials which, with AND gates 22, controls the feedback structure of the LFSR register RG2. Switch 20 transmits the contents of the LFSR register in the feedback line during multiplication-squaring, and into the register RG3 when the contents of the LFSR register are to be squared again. However, in this case, for the exponentiation to be implemented on GF (2n) with n <4, a single cell or unit of structure surrounded in broken lines on the drawing and designated by the reference 23 must be repeated a number as many times as necessary, so that the circuit structure is simplified and the VLSI realization is facilitated.

Les caractéristiques et avantages de la forme d'invention représentée par le mode de réalisation de la figure 5 peuvent être montrées clairement par considération de son utilisation pour le chiffrement. Dans les systèmes habituels de chiffrement, on peut déterminer un terminal qui est en communication avec un certain nombre d'abonnés à un système. Chaque abonné a sa propre carte à mémoire. Des messages sont transmis du terminal vers les cartes et inversement, et des clés publiques et privées sont utilisées. The features and advantages of the form of invention shown by the embodiment of Figure 5 can be clearly shown by consideration of its use for encryption. In conventional encryption systems, it is possible to determine a terminal which is in communication with a certain number of subscribers to a system. Each subscriber has their own memory card. Messages are transmitted from the terminal to the cards and vice versa, and public and private keys are used.

Le théorème suivant a été établi par l'inventeur. The following theorem was established by the inventor.

Théorème : si f1 désigne un polynôme primitif de degré n et &alpha;1 est sa racine sur GF(2n), si f2 est le polynôme minimal de (&alpha;1)y, f2 étant aussi une primitive, si a2 est la racine n de f2/GF(2 ), et si P est une matrice n x n dont la ième ligne est (&alpha;1)iy avec i = O, 1,..., n-1, on a alors (&alpha;2)zp = (a1)Yz pour toute valeur de z.Theorem: if f1 denotes a primitive polynomial of degree n and &alpha; 1 is its root on GF (2n), if f2 is the minimal polynomial of (&alpha; 1) y, f2 also being a primitive, if a2 is the root n of f2 / GF (2), and if P is an nxn matrix whose i th line is (&alpha; 1) iy with i = O, 1, ..., n-1, we then have (&alpha; 2) zp = (a1) Yz for any value of z.

(Note : (a1 )Y et (a2) z indiquent que l'exponentiation est réalisée modulo f1 et f2 respectivement, et en outre f2 est une primitive si pgcd(2n-1, y) = 1).(Note: (a1) Y and (a2) z indicate that exponentiation is carried out modulo f1 and f2 respectively, and in addition f2 is a primitive if pgcd (2n-1, y) = 1).

On suppose que (a1)x et (a1)Y sont des signaux créés au niveau d'une carte à mémoire et d'un terminal respectivement, &alpha;1 étant la racine sur GF(2n) d'un polynôme primitif fl, accepté en commun par tous les participants. We suppose that (a1) x and (a1) Y are signals created at the level of a memory card and a terminal respectively, &alpha; 1 being the root on GF (2n) of a primitive polynomial fl, accepted in common by all participants.

Diverses applications de chiffrement ont été suggérées dans lesquelles [(&alpha;1)y]x a été calculé au niveau de la carte ((a1)X]Y a été calculé au niveau du terminal. Pour pgcd(2n-1, y) = 1, 2 est le polynôme primitif minimal de (&alpha;1)y. Compte tenu du théorème
(1) (a2) x = [(&alpha;1)x]y pl pour la matrice P définie dans le théorème.
Various encryption applications have been suggested in which [(&alpha; 1) y] x has been calculated at the map level ((a1) X] Y has been calculated at the terminal level. For pgcd (2n-1, y) = 1, 2 is the minimal primitive polynomial of (&alpha; 1) y. Given the theorem
(1) (a2) x = [(&alpha; 1) x] y pl for the matrix P defined in the theorem.

Il faut noter que le calcul du côté gauche de l'équation (1) désigne des exponentiations modulo f2 de sa racine a2. Ainsi, lors du calcul de (a2)X par exécution de l'algorithme de mise au carré et de multiplication, la "multiplication" par a2 est obtenue par un seul décalage. It should be noted that the calculation on the left side of equation (1) designates modulo f2 exponentiations of its root a2. Thus, during the calculation of (a2) X by executing the squaring and multiplication algorithm, the "multiplication" by a2 is obtained by a single shift.

Les lignes de la matrice p 1 du côté droit de l'équation (1) sont (&alpha;2)iz, avec i = 0,...n-1, et z = y-1mod(2n-1). The rows of the matrix p 1 on the right side of equation (1) are (&alpha; 2) iz, with i = 0, ... n-1, and z = y-1mod (2n-1).

Maintenant, d'après ce qui précède, le terminal, au lieu de soumettre (a1) a une carte, peut soumettre le polynôme minimal f2 de (a1)Y et la carte calcule alors (&alpha;2)x. La carte soumet alors au terminal sa valeur &alpha;1x et le terminal calcule [(&alpha;1)x]yp-1, et arrive ainsi au même résultat.  Now, from the above, the terminal, instead of submitting (a1) to a map, can submit the minimum polynomial f2 of (a1) Y and the map then calculates (&alpha; 2) x. The card then submits to the terminal its value &alpha; 1x and the terminal calculates [(&alpha; 1) x] yp-1, and thus arrives at the same result.

Une paire clé secrète-clé publique Cy ; 2) est créée par sélection initiale d'une valeur y telle que pgcd(2n-1, y) = 1, puis par création du polynôme minimal f2 de aY. La quantité de calcul nécessaire pour le calcul de pour une valeur donnée a ne dépasse pas une seule opération d'exponentiation. A secret key-public key pair Cy; 2) is created by initial selection of a value y such that pgcd (2n-1, y) = 1, then by creation of the minimal polynomial f2 of aY. The quantity of computation necessary for the computation of for a given value a does not exceed a single exponentiation operation.

Par rapport à l'opération complète habituelle d'exponentiation modulaire réalisée aux deux extrémités, l'approche suggérée permet des multiplications (et non la mise au carré) pour un décalage au niveau de la carte, ceci étant compensé par n-2 multiplications supplémentaires et jusqu'à n-l additions au niveau du terminal. En plus de l'économie de temps, il existe aussi une certaine réduction des circuits matériels au niveau de la carte et l'obtention d'une structure cellulaire plus régulière qui facilite la réalisation VLSI. Compared to the usual complete modular exponentiation operation performed at both ends, the suggested approach allows multiplications (and not squaring) for an offset at the map level, this being compensated by n-2 additional multiplications and up to nl terminal additions. In addition to saving time, there is also a certain reduction in the hardware circuits at the level of the card and the obtaining of a more regular cellular structure which facilitates the realization of VLSI.

La clé publique f2 transmise par le terminal est le polynôme primitif qui commande les connexions de rétroaction de RG2. La valeur reçue f2 est conservée dans le registre RG1. La carte doit assurer l'exponentiation de la racine a2 de f2 à la xième puissance (l'opération est réalisée modulo f2). L'utilisation de l'algorithme de mise au carré et de multiplication assure la multiplication du contenu de RG2 par a2 par décalage du registre une seule fois. The public key f2 transmitted by the terminal is the primitive polynomial which controls the feedback connections of RG2. The value received f2 is kept in the register RG1. The card must ensure the exponentiation of the root a2 of f2 to the xth power (the operation is carried out modulo f2). The use of the squaring and multiplication algorithm ensures the multiplication of the content of RG2 by a2 by shifting the register once.

Par observation du circuit de la figure 4, on note que la phase de multiplication est réalisée par 2n décalages, car le contenu de RG2, destiné à être multiplié par l'élément du corps d'exponentiation, doit d'abord être décalé dans RG3 puis décalé à nouveau dans RG2, si bien qu'il faut au total 2n décalages. Ces 2n décalages sont remplacés dans ce cas par un seul décalage de RG2 car la multiplication est réalisée dans RG2 sans décalage initial de son contenu à l'extérieur. By observing the circuit of Figure 4, we note that the multiplication phase is carried out by 2n shifts, because the content of RG2, intended to be multiplied by the element of the exponentiation body, must first be shifted in RG3 then shifted again in RG2, so that a total of 2n shifts are required. These 2n shifts are replaced in this case by a single shift of RG2 because the multiplication is carried out in RG2 without initial shift of its content outside.

Le registre RG3 conserve l'élément qui doit être porté au carré pendant l'exponentiation. (La mise au carré est réalisée par commutation en al déjà décrite). Cet élément a été formé avant que le contenu de RG2 ne le soit et a été décalé dans RG3. Les registres
RG2 et RG3 peuvent être naturellement réalisés sous forme de registres dynamiques à décalage car ils assurent un décalage constant. RG1 peut aussi être un registre dynamique à décalage dont le contenu est renouvelé par circulation alors que le contenu de RG2 est transmis (par l'intermédiaire de S2) à RG3.
The register RG3 keeps the element which must be squared during the exponentiation. (Squaring is carried out by switching to al already described). This element was formed before the content of RG2 was formed and was shifted into RG3. The registers
RG2 and RG3 can naturally be produced in the form of dynamic shift registers because they provide a constant shift. RG1 can also be a dynamic shift register whose content is renewed by circulation while the content of RG2 is transmitted (via S2) to RG3.

Lors de la multiplication comme dans le mode de réalisation de la figure 5, la réalisation de la mise au carré peut mettre en oeuvre tout procédé de mise au carre sur la base de la norme, puisque le procédé suggéré pour la multiplication par un seul décalage est indépendant de la réalisation de la mise au carré. On peut utiliser le circuit de la figure 1. Le nombre de registres dans ce cas est encore égal à quatre puisque le registre RG1, qui conserve le terme produit, est remplacé par un registre qui commande les connexions de rétroaction de RG2. During the multiplication as in the embodiment of FIG. 5, the realization of the squaring can implement any method of squaring on the basis of the standard, since the method suggested for the multiplication by a single shift is independent of the realization of the squaring. The circuit of FIG. 1 can be used. The number of registers in this case is still equal to four since the register RG1, which retains the term produced, is replaced by a register which controls the feedback connections of RG2.

Pour la régularité de la structure, les trois registres à décalage sont construits par des répétitions de la cellule représentée sur la figure 5. Cette cellule est identique en principe à la plus petite des deux cellules encadrées sur la figure 4. Mis à part l'économie possible de temps offert par le circuit de la figure 4, il existe aussi une certaine réduction des circuits et l'obtention d'une structure cellulaire plus régulière qui facilite la réalisation VLSI. For the regularity of the structure, the three shift registers are constructed by repetitions of the cell represented in FIG. 5. This cell is identical in principle to the smaller of the two cells framed in FIG. 4. Apart from the possible saving of time offered by the circuit of figure 4, there is also a certain reduction of the circuits and the obtaining of a more regular cellular structure which facilitates the realization VLSI.

I1 est intéressant de comparer le fonctionnement du circuit de la figure 5 à celui de la figure 2. Le premier travaille sur la base de la norme (polynôme) et le second sur la base normale. Le premier exécute une opération de multiplication en un décalage alors que le second exécute une opération de mise au carré en un décalage. Le second circuit est plus rapide car
a) pendant l'exponentiation, le nombre d'opérations de mise au carré est en moyenne deux fois celui des multiplications,
b) le second circuit exécute une multiplication en n décalages alors que le premier réalise la mise au carré en 2n décalages.
I1 is interesting to compare the operation of the circuit of Figure 5 to that of Figure 2. The first works on the basis of the norm (polynomial) and the second on the normal basis. The first performs a multiply operation with an offset while the second performs a squaring operation with an offset. The second circuit is faster because
a) during exponentiation, the number of squaring operations is on average twice that of multiplications,
b) the second circuit performs a multiplication in n shifts while the first performs the squaring in 2n shifts.

La figure 6 représente un circuit d'exponentiation dans lequel la multiplication est réalisée comme dans le mode de réalisation de la figure 5, mais la mise au carré est réalisée selon la technique antérieure. Le circuit travaille par mise en oeuvre du principe du circuit d'exponentiation de la figure 1, avec l'option éventuelle de la figure 5, permettant une bonne flexibilité pour la sélection de la structure de rétroaction, c'est-à-dire l'utilisation de polynômes primitifs à modulo différent. L'avantage d'un tel circuit peut être l'exécution de la phase de multiplication dans l'algorithme d'exponentiation par mise au carré et multiplication, en un seul décalage. La mise au carré est encore réalisée par multiplication de deux copies de l'élément qui doit être mis au carré. Ces deux copies sont conservées dans les registres RG1 et RG2. Il faut noter que le registre RG4, utilisé sur la figure 1 pour la mémorisation de l'élément qui doit subir l'exponentiation pendant la phase de mise au carré, n'est pas nécessaire dans le circuit de la figure 6. FIG. 6 represents an exponentiation circuit in which the multiplication is carried out as in the embodiment of FIG. 5, but the squaring is carried out according to the prior art. The circuit works by implementing the principle of the exponentiation circuit of FIG. 1, with the optional option of FIG. 5, allowing good flexibility for the selection of the feedback structure, that is to say the use of primitive polynomials with different modulo. The advantage of such a circuit can be the execution of the multiplication phase in the exponentiation algorithm by squaring and multiplication, in a single shift. The squaring is still performed by multiplying two copies of the element which must be squared. These two copies are kept in the registers RG1 and RG2. It should be noted that the register RG4, used in figure 1 for the memorization of the element which must undergo the exponentiation during the phase of squaring, is not necessary in the circuit of figure 6.

La figure 7 représente un circuit d'une cellule d'inversion qui peut être utilisée dans un registre à décalage dynamique très long de numéro pair. Deux cellules sont représentées sur la figure. Les condensateurs 31 et 32 qui sont indiqués ne sont pas obligatoirement des éléments séparés mais peuvent être constitués par des capacités naturelles du circuit. Un inverseur de structure classique est désigné par la référence 30. Des tensions Cvdd et Cvss peuvent leur être appliquées. Un transistor 35 de passage est monté en série avec eux. L'inverseur 30 est placé en alternance à un état de fonctionnement et de non- fonction- nement, par réalisation en alternance de l'excitation et de la déconnexion de Cvdd et C . Pendant la phase de nonfonctionnement, le transistor est mis à l'état conducteur.  FIG. 7 represents a circuit of an inversion cell which can be used in a very long dynamic shift register of even number. Two cells are shown in the figure. The capacitors 31 and 32 which are indicated are not necessarily separate elements but may be constituted by natural capacities of the circuit. A conventional structure inverter is designated by the reference 30. Voltages Cvdd and Cvss can be applied to them. A passing transistor 35 is connected in series with them. The inverter 30 is placed alternately in an operating and non-operating state, by alternately carrying out the excitation and the disconnection of Cvdd and C. During the non-operating phase, the transistor is put in the conducting state.

La figure 8 représente un élément à décalage qui peut être utilisé dans des registres dans lesquels un signal OU-exclusif ou NON-OU-exclusif pilote chaque cellule de registre. La porte OU-exclusif ou NON-OU-exclusif 40 est mise à l'état de fonctionnement ou de non-fonctionnement par excitation et déconnexion en alternance de Cvdd et Cvss avec transmission du même type d'amplification que celui qui est assuré par l'inverseur du mode de réalisation de la figure 7. Dans ce cas encore, un transistor 41 de passage est monté en série avec la porte, la capacité convenable étant indiquée symboliquement à nouveau par des références 31 et 32. FIG. 8 represents a shift element which can be used in registers in which an OR-exclusive or NON-OR-exclusive signal drives each register cell. The OR-exclusive or NON-OR-exclusive gate 40 is put into the operating or non-operating state by alternating excitation and disconnection of Cvdd and Cvss with transmission of the same type of amplification as that which is ensured by the inverter of the embodiment of FIG. 7. In this case also, a passing transistor 41 is mounted in series with the door, the suitable capacity being symbolically indicated again by references 31 and 32.

Bien qu'on ait décrit un certain nombre de modes de réalisation de l'invention à titre illustratif, il faut noter que l'invention peut être mise en pratique d'un certain nombre d'autres manières sans sortir de l'esprit ni du cadre des revendications annexées.  Although a number of embodiments of the invention have been described by way of illustration, it should be noted that the invention can be put into practice in a number of other ways without departing from the spirit or the scope of the appended claims.

Claims (21)

REVENDICATIONS 1. Procédé d'exponentiation dans un corps fini Go(2"), caractérisé en ce que l'opération de mise au carré est réalisée par construction d'un vecteur dont les composantes sont en alternance les composantes du vecteur à mettre au carré et O. 1. Exponentiation method in a finite body Go (2 "), characterized in that the squaring operation is carried out by construction of a vector whose components are alternately the components of the vector to be squared and O. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend la mise au carré d'un vecteur ayant n composantes par construction d'un vecteur ayant des composantes qui sont en alternance les composantes du vecteur à mettre au carré et O. 2. Method according to claim 1, characterized in that it comprises the squaring of a vector having n components by construction of a vector having components which are alternately the components of the vector to be squared and O. 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce qu'il comprend la transmission des composantes du vecteur de base à un registre et l'introduction d'un 0 entre chaque couple d'éléments successifs du vecteur de base pendant le décalage dans le registre. 3. Method according to one of claims 1 and 2, characterized in that it comprises the transmission of the components of the basic vector to a register and the introduction of a 0 between each pair of successive elements of the basic vector during the shift in the register. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comporte en outre la multiplication du vecteur de base par un vecteur facteur. 4. Method according to any one of claims 1 to 3, characterized in that it further comprises the multiplication of the basic vector by a factor vector. 5. Procédé de multiplication modulaire, caractérisé en ce que le polynôme qui constitue le modulo de la multiplication modulaire est défini et modifié à volonté. 5. Modular multiplication method, characterized in that the polynomial which constitutes the modulo of modular multiplication is defined and modified at will. 6. Procédé selon la revendication 5, caractérisé en ce que la multiplication est réalisée en un seul décalage. 6. Method according to claim 5, characterized in that the multiplication is carried out in a single shift. 7. Appareil d'exponentiation dans un corps fini 7. Exponentiation apparatus in a finite body GF(2n), caractérisé en ce qu'il comprend un dispositif destiné à assurer la mise au carré d'un vecteur de base, ce dispositif comprenant un dispositif de mémorisation du vecteur de base, un dispositif de réception des composantes du vecteur de base, et un dispositif destiné à transmettre en alternance, au dispositif récepteur, les composantes du vecteur de base et 0.GF (2n), characterized in that it comprises a device intended to ensure the squaring of a base vector, this device comprising a device for storing the base vector, a device for receiving the components of the base vector , and a device intended to transmit alternately, to the receiving device, the components of the basic vector and 0. 8. Appareil selon la revendication 7, caractérisé en ce que le dispositif de transmission en alternance comprend un commutateur qui connecte alternativement le dispositif de réception au dispositif de mémorisation du vecteur de base et à une source de O.  8. Apparatus according to claim 7, characterized in that the alternating transmission device comprises a switch which alternately connects the reception device to the base vector storage device and to a source of O. 9. Appareil selon l'une des revendications 7 et 8, caractérisé en ce que le dispositif de mémorisation du vecteur de base est un registre et le dispositif de réception du vecteur de base est une partie d'un circuit de multiplication LFSR. 9. Apparatus according to one of claims 7 and 8, characterized in that the basic vector storage device is a register and the basic vector reception device is a part of an LFSR multiplication circuit. 10. Appareil selon l'une quelconque des revendications 7 à 9, caractérisé en ce qu'il comprend un circuit destiné à exécuter l'opération de multiplication et qui comporte un dispositif essentiellement en forme de registre, destiné à mémoriser le vecteur facteur, et un dispositif destiné à déconnecter le dispositif de mémorisation du vecteur facteur pendant la phase de mise au carré. 10. Apparatus according to any one of claims 7 to 9, characterized in that it comprises a circuit intended to execute the multiplication operation and which comprises a device essentially in the form of a register, intended to store the factor vector, and a device for disconnecting the storage device from the factor vector during the squaring phase. 11. Appareil selon la revendication 10, caractérisé en ce que le circuit destiné à exécuter l'opération de multiplication comprend des portes ET et un dispositif destiné à transmettre 0 aux portes ET. 11. Apparatus according to claim 10, characterized in that the circuit intended to execute the multiplication operation comprises AND gates and a device intended to transmit 0 to the AND gates. 12. Appareil de multiplication modulaire, caractérisé en ce qu'il comporte un dispositif de mémorisation des composantes du polynôme primitif modulo, qui est le diviseur dans la phase de division de la multiplication modulaire, et un dispositif destiné à commander la multiplication modulaire par les composantes. 12. Modular multiplication apparatus, characterized in that it comprises a device for memorizing the components of the primitive polynomial modulo, which is the divider in the division phase of the modular multiplication, and a device intended to control the modular multiplication by the components. 13. Appareil selon la revendication 12, caractérisé en ce qu'il comprend un circuit de multiplication LSFR, et en ce que le dispositif de commande de la multiplication modulaire comporte un dispositif de commande des rétroactions vers le circuit de multiplication LFSR. 13. Apparatus according to claim 12, characterized in that it comprises an LSFR multiplication circuit, and in that the modular multiplication control device comprises a device for controlling feedbacks to the LFSR multiplication circuit. 14. Appareil selon la revendication 12, caractérisé en ce que le dispositif de mémorisation des composantes du polynôme primitif sont des éléments d'un registre qui sont connectés chacun à une porte ET, les portes ET commandant les rétroactions aux portes OU-exclusif du circuit de multiplication LSFR. 14. Apparatus according to claim 12, characterized in that the device for memorizing the components of the primitive polynomial are elements of a register which are each connected to an AND gate, the AND gates controlling the feedbacks to the OR-exclusive gates of the circuit. of LSFR multiplication. 15. Appareil d'exponentiation, caractérisé en ce qu'il comprend un dispositif de mise au carré selon la revendication 5 et un appareil de multiplication selon la revendication 12.  15. Exponentiation device, characterized in that it comprises a squaring device according to claim 5 and a multiplication device according to claim 12. 16. Appareil selon la revendication 15, caractérisé en ce que le dispositif de mémorisation du polynôme primitif et le dispositif de commande de rétroaction sont communs aux dispositifs destinés à exécuter la mise au carré et à réaliser la multiplication. 16. Apparatus according to claim 15, characterized in that the device for storing the primitive polynomial and the feedback control device are common to the devices intended to execute the squaring and to carry out the multiplication. 17. Appareil selon l'une des revendications 15 et 16, caractérisé en ce qu'il ne comporte qu'un seul type de cellule ou unité répétitive de structure, la cellule comprenant une porte OU-exclusif, un premier élément de registre monté en série avec la porte OU-exclusif, un second élément de registre, une porte ET destinée à recevoir une rétroaction et à la transmettre à la porte OU-exclusif, et un troisième élément de registre connecté à la porte ET pour la commande de la rétroaction. 17. Apparatus according to one of claims 15 and 16, characterized in that it comprises only one type of cell or repeating unit of structure, the cell comprising an OR-exclusive door, a first register element mounted in series with the OR-exclusive gate, a second register element, an AND gate intended to receive a feedback and to transmit it to the OR-exclusive gate, and a third register element connected to the AND gate for the control of the feedback . 18. Appareil selon l'une quelconque des revendications 7 à 17, caractérisé en ce que les éléments de registre sont de type dynamique. 18. Apparatus according to any one of claims 7 to 17, characterized in that the register elements are of dynamic type. 19. Appareil selon la revendication 18, caractérisé en ce qu'une porte OU-exclusif ou NON-OU-exclusif est placée entre des cellules successives de décalage des registres, et des éléments logiques sont utilisés comme éléments amplificateurs dans ces registres. 19. Apparatus according to claim 18, characterized in that an OR-exclusive or NON-OR-exclusive gate is placed between successive cells for shifting the registers, and logic elements are used as amplifier elements in these registers. 20. Registre dynamique à décalage, caractérisé en ce qu'il comporte une répétition de cellules, la cellule amplificatrice comprenant un inverseur, un transistor de passage et un dispositif destiné à mettre en alternance l'inverseur dans des phases de fonctionnement et de nonfonctionnement. 20. Dynamic shift register, characterized in that it comprises a repetition of cells, the amplifying cell comprising an inverter, a passing transistor and a device intended to alternate the inverter in operating and non-operating phases. 21. Registre selon la revendication 20, caractérisé en ce qu'une porte OU-exclusif ou NON-OU-exclusif est utilisée comme inverseur.  21. Register according to claim 20, characterized in that an OR-exclusive or NON-OR-exclusive gate is used as an inverter.
FR9108703A 1991-07-10 1991-07-10 Process and apparatus for exponentiation over GF(2n) Granted FR2679054A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9108703A FR2679054A1 (en) 1991-07-10 1991-07-10 Process and apparatus for exponentiation over GF(2n)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9108703A FR2679054A1 (en) 1991-07-10 1991-07-10 Process and apparatus for exponentiation over GF(2n)

Publications (2)

Publication Number Publication Date
FR2679054A1 true FR2679054A1 (en) 1993-01-15
FR2679054B1 FR2679054B1 (en) 1995-04-28

Family

ID=9414954

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9108703A Granted FR2679054A1 (en) 1991-07-10 1991-07-10 Process and apparatus for exponentiation over GF(2n)

Country Status (1)

Country Link
FR (1) FR2679054A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0703528A1 (en) 1994-09-21 1996-03-27 STMicroelectronics S.A. Electronic circuit for modulo computation in a finite field
EP0712070A1 (en) 1994-11-08 1996-05-15 STMicroelectronics S.A. Production process of an error correcting parameter associated with the implementation of modular operations according to the Montgomery method
EP0712072A1 (en) 1994-11-08 1996-05-15 STMicroelectronics S.A. Method for the implementation of Montgomery modular reduction
EP0712071A1 (en) 1994-11-08 1996-05-15 STMicroelectronics S.A. Process for implementing modular multiplication according to the Montgomery method
EP0778518A1 (en) 1995-12-04 1997-06-11 STMicroelectronics S.A. Method of producing a parameter J0 associated with the implementation of modular operations according to the Montgomery method
EP0784262A1 (en) 1996-01-15 1997-07-16 STMicroelectronics S.A. Device improving the processing speed of a modular arithmetic coprocessor
EP0785503A1 (en) 1996-01-18 1997-07-23 STMicroelectronics S.A. Method of producing an error correcting parameter associated with the implementation of modular operations according to the Montgomery method
EP0785502A1 (en) 1996-01-18 1997-07-23 STMicroelectronics S.A. Method of producing an error correcting parameter associated with the implementation of modular operations according to the Montgomery method
US7277540B1 (en) * 1999-01-20 2007-10-02 Kabushiki Kaisha Toshiba Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206824A (en) * 1990-05-20 1993-04-27 Fortress U&T (2000) Ltd. Method and apparatus for exponentiation over GF(2n)

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206824A (en) * 1990-05-20 1993-04-27 Fortress U&T (2000) Ltd. Method and apparatus for exponentiation over GF(2n)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MORII ET AL: "Bit-Serial Squarer in Finite Fields with Characteristic 2", TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS OF JAPAN, vol. E73, no. 8, August 1990 (1990-08-01), TOKYO JP, pages 1314 - 1318, XP000167903 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0703528A1 (en) 1994-09-21 1996-03-27 STMicroelectronics S.A. Electronic circuit for modulo computation in a finite field
EP0712070A1 (en) 1994-11-08 1996-05-15 STMicroelectronics S.A. Production process of an error correcting parameter associated with the implementation of modular operations according to the Montgomery method
EP0712072A1 (en) 1994-11-08 1996-05-15 STMicroelectronics S.A. Method for the implementation of Montgomery modular reduction
EP0712071A1 (en) 1994-11-08 1996-05-15 STMicroelectronics S.A. Process for implementing modular multiplication according to the Montgomery method
EP0778518A1 (en) 1995-12-04 1997-06-11 STMicroelectronics S.A. Method of producing a parameter J0 associated with the implementation of modular operations according to the Montgomery method
EP0784262A1 (en) 1996-01-15 1997-07-16 STMicroelectronics S.A. Device improving the processing speed of a modular arithmetic coprocessor
EP0785503A1 (en) 1996-01-18 1997-07-23 STMicroelectronics S.A. Method of producing an error correcting parameter associated with the implementation of modular operations according to the Montgomery method
EP0785502A1 (en) 1996-01-18 1997-07-23 STMicroelectronics S.A. Method of producing an error correcting parameter associated with the implementation of modular operations according to the Montgomery method
US7277540B1 (en) * 1999-01-20 2007-10-02 Kabushiki Kaisha Toshiba Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography

Also Published As

Publication number Publication date
FR2679054B1 (en) 1995-04-28

Similar Documents

Publication Publication Date Title
BE1003932A6 (en) Cryptographic system by bit data block.
EP0853275B1 (en) Coprocessor comprising two multiplying circuits operating in parallel
CH634161A5 (en) APPARATUS FOR DECIPHERING A NUMBERED MESSAGE AND ITS USE IN A TRANSMISSION INSTALLATION.
EP1151576B1 (en) Public and private key cryptographic method
US20090279690A1 (en) Cryptographic system including a mixed radix number generator with chosen statistical artifacts
FR2726668A1 (en) METHOD FOR IMPLEMENTING MODULAR REDUCTION ACCORDING TO THE MONTGOMERY METHOD
Pinch On-line multiple secret sharing
FR2679054A1 (en) Process and apparatus for exponentiation over GF(2n)
US5206824A (en) Method and apparatus for exponentiation over GF(2n)
EP0027423A1 (en) Digital-signal ciphering and deciphering arrangement
EP3803636B1 (en) Ntt processor including a plurality of memory banks
CN107888385A (en) RSA moduluses generation method, RSA key generation method, computer equipment and medium
CA2360953C (en) Authenticating or signature method with reduced computations
EP0909495B1 (en) Public key cryptography method
WO2003042813A2 (en) Method for generating random numbers
EP2940922B1 (en) Symmetric cryptosystems with public key based on the symmetric group
FR2875316A1 (en) DEVICE AND METHOD FOR PRODUCING A NUMBER SUITE
FR2818765A1 (en) Modular multiplier for enciphering/deciphering data, comprises buffer memories to store Montgomery algorithm results and operands , multiplexors, multiplier, control unit, bistable circuits and adder
Gélin Class group computations in number fields and applications to cryptology
WO1998051038A1 (en) Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing
Robinson The Key to Cryptography: The RSA Algorithm
FR3078463A1 (en) METHOD AND DEVICE FOR REALIZING SUBSTITUTED TABLE OPERATIONS
Haraty et al. Attacking ElGamal based cryptographic algorithms using Pollard's rho algorithm
Biswas A mathematical model for ascertaining same ciphertext generated from distinct plaintext in Michael O. Rabin Cryptosystem
Pellet On ideal lattices and the GGH13 multilinear map

Legal Events

Date Code Title Description
TP Transmission of property
CD Change of name or company name
ST Notification of lapse

Effective date: 20110331