WO2004032412A1 - Secure method for digital data transmission - Google Patents

Secure method for digital data transmission Download PDF

Info

Publication number
WO2004032412A1
WO2004032412A1 PCT/FR2003/002974 FR0302974W WO2004032412A1 WO 2004032412 A1 WO2004032412 A1 WO 2004032412A1 FR 0302974 W FR0302974 W FR 0302974W WO 2004032412 A1 WO2004032412 A1 WO 2004032412A1
Authority
WO
WIPO (PCT)
Prior art keywords
polynomial
ring
bijection
determining
initial
Prior art date
Application number
PCT/FR2003/002974
Other languages
French (fr)
Inventor
Franck Leprevost
Xavier-François ROBLOT
Alexei Pantchichkine
Roland Gillard
Original Assignee
Universite Joseph Fourier
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 Universite Joseph Fourier filed Critical Universite Joseph Fourier
Priority to AU2003299160A priority Critical patent/AU2003299160A1/en
Publication of WO2004032412A1 publication Critical patent/WO2004032412A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme

Definitions

  • the present invention relates to a secure method of transmitting digital data using public key encryption.
  • An example of encryption is the RSA encryption described for example in US patent 4405829.
  • the encryption consists in multiplying two prime integers p and q to provide an integer n, and determining an integer e prime with (p-1) (q-1).
  • the integers e and n correspond to the public keys.
  • the private key d secret is an integer such that the product ed is congruent to 1, modulo (p-1) (q-1).
  • the cryptogram F associated with a message M to send corresponds to the e th power, ⁇ e mo dulo n.
  • the initial message is found from the cryptogram F by calculating the power of ⁇ ® of the cryptogram F modulo n.
  • the security of this encryption process is based on the fact that, to calculate the private key d, you must know the integers p and q and therefore be able to factorize the integer n, which is a problem which, in general, is difficult to solve when p and q are large.
  • the group G can be the multiplicative group of a finite field F p comprising the integers modulo p, or the group E (Fp) of the points of an elliptic curve E on the finite body Fp.
  • F p the multiplicative group of a finite field
  • Fp the group E (Fp) of the points of an elliptic curve E on the finite body Fp.
  • one or more encryption reference parameters are generally used.
  • the reference parameter s used is the size in bits of the integer n.
  • the reference parameter s used is for example the smallest integer dividing the order of group G.
  • An attack against encryption consists in finding a message sent from the cryptogram of the message without knowing the private key.
  • the maximum number of "elementary" operations T which must be carried out by a computer during the implementation of the attack is determined.
  • the effectiveness of the attack, or its complexity, is assessed by determining the evolution of the number T as a function of the reference parameter s.
  • the attack is said to be of polynomial complexity if, T being the number of maximum operations necessary for a pirate decryption when the reference parameter has a value s, and T 'the number of maximum operations necessary when the reference parameter has a value 2s, T 'is less than T multiplied by a constant C independent of s;
  • the attack is said to be of exponential complexity if T 'is greater than T raised to a power ⁇ strictly greater than zero and independent of s; and the attack is said to be of sub-exponential complexity if it is not possible to find the constants C or ⁇ defined above.
  • Such complexity is intermediate between a polynomial complexity and an exponential complexity.
  • An encryption for which there is an attack of polynomial complexity does not guarantee sufficient security. Indeed, to prevent future attacks, it is necessary to choose a very large reference parameter size which must be increased very frequently. This in practice leads to calculation times and incompatible storage spaces with a common use of the encryption process.
  • An encryption for which there is an attack of sub-exponential complexity presents a guarantee of sufficient security if the reference parameter is chosen sufficiently large. This can in practice be compatible with a common use of encryption when transmitting data over an insecure transmission channel.
  • the present invention provides an original secure method of data transmission which, compared to the attacks currently used, presents only exponential attacks.
  • the present invention provides a secure method of transmitting digital data consisting in transforming the digital data to be transmitted into a series of initial integers each of which is less than p d where p and d are determined integers, and, for each of the initial integers, comprising the steps of determining initial coefficients of an initial polynomial of degree less than d corresponding to the expression of the initial integer in base p; determining new coefficients of a new polynomial of degree less than d, image of the initial polynomial by an encryption bijection, said encryption bijection corresponding to the combination of intermediate bijections, at least one of said intermediate bijections being defined from a Drinfeld module associated with an encryption key; define a new integer from the new coefficients; and pass the new whole number.
  • the determination of the intermediate bijection defined from a Drinfeld module comprises the steps consisting in determining the encryption key corresponding to a first polynomial of degree less than d selected in a first ring polynomials, these polynomials being polynomials of a first variable with coefficients in the finite field of integers modulo p; select a second polynomial in a second ring of polynomials of a second variable with coefficients in the first ring, this second ring being such that, in this second ring, the multiplication of the second variable by an element of the first ring is equal to the multiplication of said element raised to the power p by the second variable; determining the Drinfeld modulus associated with the encryption key as being a third polynomial of the second ring equal to the sum of powers of the second polynomial multiplied by the coefficients of the first polynomial; determining an intermediate function of the first ring in itself consisting for an element of the first ring in replacing in
  • the encryption bijection corresponds to the combination of a first intermediate bijection defined from a Drinfeld module associated with a first encryption key, an intermediate bijection and a second intermediate bijection defined from a Drinfeld module associated with a second encryption key.
  • the second polynomial selected corresponds to the Carlitz module.
  • the intermediate bijection associates with a polynomial of the first ring the sum of the polynomial raised to a determined power and of a determined polynomial of said first ring of degree less than d.
  • the present invention also provides a method for decoding digital data transmitted by the secure data transmission method previously described, comprising the steps consisting in determining the reciprocal bijection of the encryption bijection from the intermediate reciprocal bijection of the defined intermediate bijection from the Drinfeld module associated with the encryption key; determining, for each coded whole number received, coefficients of a coded polynomial of degree less than d corresponding to the expression of the coded whole number in base p; determine the initial coefficients of the initial polynomial associated with the coded polynomial. by applying reciprocal bijection to the coded polynomial; and defining the initial integer associated with the integer encoded from the initial coefficients.
  • the determination of the intermediate reciprocal bijection of the intermediate bijection defined from the Drinfeld module associated with the encryption key comprises the steps consisting in determining a first function of the first ring in itself. even consisting for an element of the first ring to replace in the second polynomial the second variable by said element raised to the power p; determining a second function of the first ring in itself corresponding to the remainder of the division of said first function by the fourth polynomial; determining a fifth polynomial of the first ring corresponding to the characteristic polynomial of the second function; determining a decryption key corresponding to a sixth polynomial of degree less than d of the first ring such that the product of the decryption key and the encryption key is congruent to 1 unit modulo the fifth polynomial; determining the Drinfeld modulus associated with the decryption key as being a seventh polynomial of the second ring equal to the sum of powers of the second polynomial multiplied
  • a transmitter 10 wishes to send a message to a receiver 12 (RECEIVER) via a communication channel 14.
  • the transmitter 10 has an encoder 16 (ENCRYPT ) connected to the transmission channel 14.
  • the receiver 12 has a decoder 18 (DECRYPT) connected to the transmission channel 14.
  • the method according to the invention makes it possible to securely transmit integers varying from 0 to p ⁇ -l.
  • p and d equal to 3, which makes it possible to code the integers from 0 to 26.
  • the message to be transmitted is converted into one or more whole numbers which are then divided into message blocks M each corresponding to an integer less than p ⁇ -1.
  • the number M is transformed into a polynomial ⁇ element of B using the writing of M in base p.
  • a message block M equal to 17.
  • Drinfeld module as a morphism ⁇ of Fp-algebra of ⁇ 4 in - ⁇ ) such that ⁇ (T) is a non-constant polynomial with constant term T.
  • Drinfeld's modules as morphisms of a commutative ring in a noncommutative ring formed by endomorphisms of an object of algebraic geometry.
  • the polynomial f ⁇ is equal to the polynomial characteristic of the matrix A ⁇ of the map ⁇ ⁇ expressed in the vector space ⁇ 1, T, ..., T d_1 ⁇ .
  • the message C is then transmitted to the receiver 12 by the transmission channel 14.
  • the public key corresponds to the function ⁇ which is made public.
  • the transmitter 10 which wishes to transmit the message M can obtain the polynomial 20 ⁇ from a trusted authority.
  • the transmitter 10 can then transmit to the receiver 12 via the transmission channel 14 the coded message C.
  • the private keys held only by the receiver 12 correspond to the expressions of the polynomials ci, c 2 , ⁇ and of the integer e.
  • the receiver 12 To decode the coded message C, the receiver 12 needs to determine the reciprocal function ⁇ ⁇ of the function ⁇ .
  • the integer p is chosen to be very large with respect to d. However, in order to optimize the efficiency of the calculations, it is desirable that p be less than 2 32 so that the integers modulo p used by the present method can be stored on a "long word" of 32 bits.
  • e having to be prime with p ⁇ -1, e is odd.
  • ⁇ (z) is a polynomial with 235 terms and the storage of the encryption data requires approximately 26 kilobytes.
  • the present invention provides a particularly secure data transmission method. Indeed, the attacks currently known are attacks of exponential complexity compared to the transmission method according to the present invention.

Abstract

The invention concerns a secure method for digital data transmission which consists in transforming the digital data to be transmitted into a sequence of initial integers each of which is less than pd where p and d are two specific integers, and, for each of the initial integers, including the following steps which consists in: determining initial coefficients of an initial polynomial of degree less than d corresponding to the expression of the initial integer in base p; determining new coefficients of a new polynomial of degree less than d, image of the initial polynomial by an encryption bijection, said encryption bijection corresponding to the combination of intermediate bijective applications, at least one of said intermediate bijective applications being defined based on a Drinfeld module associated with an encryption key; defining a new integer based on the new coefficients; and transmitting the new integer.

Description

PROCEDE SECURISE DE TRANSMISSION DE DONNEES NUMERIQUES SECURE METHOD FOR TRANSMITTING DIGITAL DATA
La présente invention concerne un procédé sécurisé de transmission de données numériques utilisant un chiffrage à clé publique.The present invention relates to a secure method of transmitting digital data using public key encryption.
Dans des domaines tels que les télécommunications, le réseau Internet, les communications de téléphones cellulaires, les communications sans fil, les données transmises sont véhiculées sur des canaux de transmission non sécurisés auxquels peuvent accéder des tiers non autorisés. Pour empêcher un tiers d'accéder aux données et éventuellement de les modifier, les données transmises sur un canal non sécurisé sont généralement codées avant leur transmission.In areas such as telecommunications, the Internet, cell phone communications, wireless communications, transmitted data is carried over unsecured transmission channels that unauthorized third parties can access. To prevent a third party from accessing and possibly modifying data, data transmitted over an unsecured channel is generally coded before its transmission.
Il est connu de coder des données numériques en utilisant deux clés, une clé publique et une clé privée. Les clés sont liées de façon qu'une donnée codée au moyen de la clé publique ne puisse être décodée qu'avec la clé privée. La clé publique peut alors être mise à la disposition de tous, seul le détenteur de la clé privée, qui est maintenue secrète, peut décoder les messages codés avec la clé publique. L'élaboration d'un chiffrage à clé publique revient à trouver une fonction bijective de chiffrage rendue publique qui est facile à mettre en oeuvre mais dont la réciproque est difficile à calculer sans connaître certains paramètres secrets, c'est-à-dire la clé privée.It is known to encode digital data using two keys, a public key and a private key. The keys are linked so that data encoded using the public key can only be decoded with the private key. The public key can then be made available to everyone, only the holder of the private key, which is kept secret, can decode messages encoded with the public key. The development of a public key encryption amounts to finding a bijective encryption function made public which is easy to implement but whose converse is difficult to calculate without know certain secret parameters, i.e. the private key.
De telles fonctions sont difficiles à obtenir et sont généralement basées sur des équations mathématiques qui sont difficiles à résoudre. Les procédés de chiffrage les plus connus sont basés sur des opérations mathématiques de factorisation d'entiers et de calcul de logarithmes discrets sur un groupe fini cyclique.Such functions are difficult to obtain and are generally based on mathematical equations which are difficult to solve. The best known encryption methods are based on mathematical operations of factorization of integers and calculation of discrete logarithms on a cyclic finite group.
Un exemple de chiffrage, actuellement très utilisé et basé sur le problème de la factorisation d'entiers, est le chiffrage RSA décrit par exemple dans le brevet US 4405829. Le chiffrage consiste à multiplier deux entiers premiers p et q pour fournir un entier n, et à déterminer un entier e premier avec (p-1) (q-1) . Les entiers e et n correspondent aux clés publiques. La clé privée d secrète est un entier tel que le produit ed est congruent à 1, modulo (p-1) (q-1) . Le cryptogramme F associé à un message M à envoyer correspond à la puissance eième ,^e modulo n. Le message initial est retrouvé à partir du cryptogramme F en calculant la puissance d^^® du cryptogramme F modulo n. La sécurité de ce procédé de chiffrage repose sur le fait que, pour calculer la clé privée d, il faut connaître les entiers p et q et donc être à même de factoriser l'entier n, ce qui est un problème qui, en général, est difficile à résoudre lorsque p et q sont grands. Le problème du calcul de logarithmes discrets, mis en oeuvre par exemple dans des chiffrages du type ElGamal, consiste à déterminer une valeur x d'un groupe G cyclique et fini tel que ax=b, où a et b sont des éléments de G. La valeur x est appelée logarithme de b sur la base a. La difficulté à déterminer x dépend de la représentation de G. En particulier, le problème est difficile à résoudre si l'ordre de G est divisible par un grand nombre premier. En pratique, le groupe G peut être le groupe multiplicatif d'un corps fini Fp comprenant les entiers modulo p, ou le groupe E(Fp) des points d'une courbe elliptique E sur le corps fini Fp. Pour estimer la sécurité apportée par un procédé de transmission de données numériques utilisant un chiffrage déterminé, on utilise généralement un ou plusieurs paramètres de référence du chiffrage. Pour un chiffrage du type RSA, le paramètre de référence s utilisé est la taille en bits de l'entier n. Pour un procédé de chiffrage du type ElGamal, le paramètre de référence s utilisé est par exemple le plus petit nombre entier divisant l'ordre du groupe G. Une attaque à l' encontre d'un chiffrage consiste à retrouver un message envoyé à partir du cryptogramme du message sans connaître la clé privée. Pour estimer l'efficacité d'une attaque, on détermine le nombre T d'opérations "élémentaires" maximales qui doivent être réalisées par un calculateur lors de la mise en oeuvre de l'attaque. L'efficacité de l'attaque, ou sa complexité, est appréciée en déterminant l'évolution du nombre T en fonction du paramètre de référence s. On distingue essentiellement trois types de complexité : l'attaque est dite de complexité polynomiale si, T étant le nombre d'opérations maximales nécessaires pour un décryptage pirate quand le paramètre de référence à une valeur s, et T' le nombre d'opérations maximales nécessaires quand le paramètre de référence a une valeur 2s, T' est inférieur à T multiplié par une constante C indépendante de s ; l'attaque est dite de complexité exponentielle si T' est supérieure à T élevé à une puissance α strictement supérieure à zéro et indépendante de s ; et l'attaque est dite de complexité sous-exponentielle s'il n'est pas possible de trouver les constantes C ou α définies précédemment. Une telle complexité est intermédiaire entre une complexité polynomiale et une complexité exponentielle.An example of encryption, currently widely used and based on the problem of factorization of integers, is the RSA encryption described for example in US patent 4405829. The encryption consists in multiplying two prime integers p and q to provide an integer n, and determining an integer e prime with (p-1) (q-1). The integers e and n correspond to the public keys. The private key d secret is an integer such that the product ed is congruent to 1, modulo (p-1) (q-1). The cryptogram F associated with a message M to send corresponds to the e th power, ^ e mo dulo n. The initial message is found from the cryptogram F by calculating the power of ^^ ® of the cryptogram F modulo n. The security of this encryption process is based on the fact that, to calculate the private key d, you must know the integers p and q and therefore be able to factorize the integer n, which is a problem which, in general, is difficult to solve when p and q are large. The problem of calculating discrete logarithms, implemented for example in ElGamal type ciphers, consists in determining a value x of a cyclic and finite group G such that a x = b, where a and b are elements of G The value x is called logarithm of b on the basis of a. The difficulty in determining x depends on the representation of G. In particular, the problem is difficult to solve if the order of G is divisible by a large prime number. In practice, the group G can be the multiplicative group of a finite field F p comprising the integers modulo p, or the group E (Fp) of the points of an elliptic curve E on the finite body Fp. To estimate the security provided by a digital data transmission method using a specific encryption, one or more encryption reference parameters are generally used. For an encryption of the RSA type, the reference parameter s used is the size in bits of the integer n. For an encryption method of the ElGamal type, the reference parameter s used is for example the smallest integer dividing the order of group G. An attack against encryption consists in finding a message sent from the cryptogram of the message without knowing the private key. To estimate the effectiveness of an attack, the maximum number of "elementary" operations T which must be carried out by a computer during the implementation of the attack is determined. The effectiveness of the attack, or its complexity, is assessed by determining the evolution of the number T as a function of the reference parameter s. There are essentially three types of complexity: the attack is said to be of polynomial complexity if, T being the number of maximum operations necessary for a pirate decryption when the reference parameter has a value s, and T 'the number of maximum operations necessary when the reference parameter has a value 2s, T 'is less than T multiplied by a constant C independent of s; the attack is said to be of exponential complexity if T 'is greater than T raised to a power α strictly greater than zero and independent of s; and the attack is said to be of sub-exponential complexity if it is not possible to find the constants C or α defined above. Such complexity is intermediate between a polynomial complexity and an exponential complexity.
Un chiffrage pour lequel il existe une attaque de complexité polynomiale ne présente pas une garantie de sécurité suffisante. En effet, pour prévenir des attaques futures, il est nécessaire de choisir un paramètre de référence de très grande taille qui doit être augmenté très fréquemment. Ceci, en pratique, entraîne des durées de calcul et des espaces de mémorisation incompatibles avec une ' utilisation courante du procédé de chiffrage. Un chiffrage pour lequel il existe une attaque de complexité sous-exponentielle présente une garantie de sécurité suffisante si le paramètre de référence est choisi suffisamment grand. Ceci peut en pratique être compatible avec une utilisation courante du chiffrage lors de la transmission de données sur un canal de transmission non sécurisé.An encryption for which there is an attack of polynomial complexity does not guarantee sufficient security. Indeed, to prevent future attacks, it is necessary to choose a very large reference parameter size which must be increased very frequently. This in practice leads to calculation times and incompatible storage spaces with a common use of the encryption process. An encryption for which there is an attack of sub-exponential complexity presents a guarantee of sufficient security if the reference parameter is chosen sufficiently large. This can in practice be compatible with a common use of encryption when transmitting data over an insecure transmission channel.
Le cas le plus favorable est, bien sûr, le cas d'un chiffrage pour lequel il n'existe que des attaques de complexité exponentielle puisqu'il permet l'utilisation d'un paramètre de référence plus petit. Pour les chiffrages du type RSA et ElGamal sur le groupe multiplicatif d'un corps fini Fp, il existe actuellement seulement des attaques de complexités sous-exponentielles. Pour les chiffrages du type ElGamal sur le groupe E(Fp) des points d'une courbe elliptique E sur le corps fini Fp, il n'existe actuellement que des attaques exponentielles sur des courbes bien choisies. Un procédé de transmission utilisant un tel chiffrage présente donc a priori une sécurité supérieure aux autres types de chiffrage. Toutefois, un tel chiffrage demeure relativement plus difficile à mettre en oeuvre. De plus, il est souhaitable de prévoir des procédés de chiffrage de divers types pour compliquer la tâche d'éventuels pirates.The most favorable case is, of course, the case of an encryption for which there are only attacks of exponential complexity since it allows the use of a smaller reference parameter. For ciphers of the RSA and ElGamal type on the multiplicative group of a finite field Fp, there are currently only attacks of sub-exponential complexities. For the ElGamal type ciphers on the group E (F p ) of the points of an elliptic curve E on the finite body Fp, there are currently only exponential attacks on well chosen curves. A transmission method using such encryption therefore presents a priori greater security than other types of encryption. However, such an encryption remains relatively more difficult to implement. In addition, it is desirable to provide encryption methods of various types to complicate the task of possible hackers.
La présente invention propose un procédé sécurisé original de transmission de données qui, par rapport aux attaques actuellement utilisées, ne présente que des attaques exponentielles .The present invention provides an original secure method of data transmission which, compared to the attacks currently used, presents only exponential attacks.
Pour atteindre cet objet, la présente invention prévoit un procédé sécurisé de transmission de données numériques consistant à transformer les données numériques à transmettre en une suite de nombres entiers initiaux dont chacun est inférieur à pd où p et d sont des entiers déterminés, et, pour chacun des nombres entiers initiaux, comportant les étapes consistant à déterminer des coefficients initiaux d'un polynôme initial de degré inférieur à d correspondant à l'expression du nombre entier initial en base p ; déterminer des nouveaux coefficients d'un nouveau polynôme de degré inférieur à d, image du polynôme initial par une bijection de chiffrage, ladite bijection de chiffrage correspondant à la combinaison de bijections intermédiaires, au moins une desdites bijections intermédiaires étant définie à partir d'un module de Drinfeld associé à une clé de chiffrage ; définir un nouveau nombre entier à partir des nouveaux coefficients ; et transmettre le nouveau nombre entier.To achieve this object, the present invention provides a secure method of transmitting digital data consisting in transforming the digital data to be transmitted into a series of initial integers each of which is less than p d where p and d are determined integers, and, for each of the initial integers, comprising the steps of determining initial coefficients of an initial polynomial of degree less than d corresponding to the expression of the initial integer in base p; determining new coefficients of a new polynomial of degree less than d, image of the initial polynomial by an encryption bijection, said encryption bijection corresponding to the combination of intermediate bijections, at least one of said intermediate bijections being defined from a Drinfeld module associated with an encryption key; define a new integer from the new coefficients; and pass the new whole number.
Selon un mode de réalisation de 1 ' invention, la détermination de la bijection intermédiaire définie à partir d'un module de Drinfeld comprend les étapes consistant à déterminer la clé de chiffrage correspondant à un premier polynôme de degré inférieur à d sélectionné dans un premier anneau de polynômes, ces polynômes étant des polynômes d'une première variable à coefficients dans le corps fini des entiers modulo p ; sélectionner un second polynôme dans un second anneau de polynômes d'une seconde variable à coefficients dans le premier anneau, ce second anneau étant tel que, dans ce second anneau, la multiplication de la seconde variable par un élément du premier anneau est égale à la multiplication dudit élément élevé à la puissance p par la seconde variable ; déterminer le module de Drinfeld associé à la clé de chiffrage comme étant un troisième polynôme du second anneau égal à la somme de puissances du second polynôme multipliées par les coefficients du premier polynôme ; déterminer une fonction intermédiaire du premier anneau dans lui-même consistant pour un élément du premier anneau à remplacer dans le troisième polynôme la seconde variable par ledit élément élevé à la puissance p ; et déterminer ladite bijection intermédiaire comme étant égale au reste de la division de ladite fonction intermédiaire par un quatrième polynôme irréductible du premier anneau de degré d. Selon un mode de réalisation de 1 ' invention, le second polynôme est non constant et de terme constant égal à la première variable.According to one embodiment of the invention, the determination of the intermediate bijection defined from a Drinfeld module comprises the steps consisting in determining the encryption key corresponding to a first polynomial of degree less than d selected in a first ring polynomials, these polynomials being polynomials of a first variable with coefficients in the finite field of integers modulo p; select a second polynomial in a second ring of polynomials of a second variable with coefficients in the first ring, this second ring being such that, in this second ring, the multiplication of the second variable by an element of the first ring is equal to the multiplication of said element raised to the power p by the second variable; determining the Drinfeld modulus associated with the encryption key as being a third polynomial of the second ring equal to the sum of powers of the second polynomial multiplied by the coefficients of the first polynomial; determining an intermediate function of the first ring in itself consisting for an element of the first ring in replacing in the third polynomial the second variable by said element raised to the power p; and determining said intermediate bijection as being equal to the remainder of the division of said intermediate function by a fourth irreducible polynomial of the first ring of degree d. According to an embodiment of the invention, the second polynomial is non-constant and of constant term equal to the first variable.
Selon un mode de réalisation de l'invention, la bijection de chiffrage correspond à la combinaison d'une première bijection intermédiaire définie à partir d'un module de Drinfeld associé à une première clé de chiffrage, d'une bijection intercalaire et d'une seconde bijection intermédiaire définie à partir d'un module de Drinfeld associé à une seconde clé de chiffrage.According to one embodiment of the invention, the encryption bijection corresponds to the combination of a first intermediate bijection defined from a Drinfeld module associated with a first encryption key, an intermediate bijection and a second intermediate bijection defined from a Drinfeld module associated with a second encryption key.
Selon un mode de réalisation de l'invention, le second polynôme sélectionné correspond au module de Carlitz.According to one embodiment of the invention, the second polynomial selected corresponds to the Carlitz module.
Selon un mode de réalisation de 1 ' invention, la bijection intercalaire associe à un polynôme du premier anneau la somme du polynôme élevé à une puissance déterminée et d'un polynôme déterminé dudit premier anneau de degré inférieur à d.According to an embodiment of the invention, the intermediate bijection associates with a polynomial of the first ring the sum of the polynomial raised to a determined power and of a determined polynomial of said first ring of degree less than d.
La présente invention prévoit également un procédé pour décoder des données numériques transmises par le procédé sécurisé de transmission de données précédemment décrit, comprenant les étapes consistant à déterminer la bijection réciproque de la bijection de chiffrage à partir de la bijection réciproque intermédiaire de la bijection intermédiaire définie à partir du module de Drinfeld associé à la clé de chiffrage ; déterminer, pour chaque nombre entier codé reçu, des coefficients d'un polynôme codé de degré inférieur à d correspondant à l'expression du nombre entier codé en base p ; déterminer les coefficients initiaux du polynôme initial associé au polynôme codé . en appliquant la bijection réciproque au polynôme codé ; et définir le nombre entier initial associé au nombre entier codé à partir des coefficients initiaux.The present invention also provides a method for decoding digital data transmitted by the secure data transmission method previously described, comprising the steps consisting in determining the reciprocal bijection of the encryption bijection from the intermediate reciprocal bijection of the defined intermediate bijection from the Drinfeld module associated with the encryption key; determining, for each coded whole number received, coefficients of a coded polynomial of degree less than d corresponding to the expression of the coded whole number in base p; determine the initial coefficients of the initial polynomial associated with the coded polynomial. by applying reciprocal bijection to the coded polynomial; and defining the initial integer associated with the integer encoded from the initial coefficients.
Selon un mode de réalisation de 1 ' invention, la détermination de la bijection réciproque intermédiaire de la bijection intermédiaire définie à partir du module de Drinfeld associé à la clé de chiffrage comprend' les étapes consistant à déterminer une première fonction du premier anneau dans lui-même consistant pour un élément du premier anneau à remplacer dans le deuxième polynôme la seconde variable par ledit élément élevé à la puissance p ; déterminer une deuxième fonction du premier anneau dans lui-même correspondant au reste de la division de ladite première fonction par le quatrième polynôme ; déterminer un cinquième polynôme du premier anneau correspondant au polynôme caractéristique de la deuxième fonction ; déterminer une clé de décryptage correspondant à un sixième polynôme de degré inférieur à d du premier anneau tel que le produit de la clé de décryptage et de la clé de chiffrage soit congruent à 1 'unité modulo le cinquième polynôme ; déterminer le module de Drinfeld associé à la clé de décryptage comme étant un septième polynôme du second anneau égal à la somme de puissances du second polynôme multipliées par les coefficients du sixième polynôme ; déterminer une troisième fonction du premier anneau dans lui-même consistant pour un élément du premier anneau à remplacer dans le septième polynôme la seconde variable par ledit élément élevé à la puissance p ; et déterminer ladite bijection réciproque intermédiaire comme étant égale au reste de la division de ladite, troisième fonction intermédiaire par le quatrième polynôme.According to one embodiment of the invention, the determination of the intermediate reciprocal bijection of the intermediate bijection defined from the Drinfeld module associated with the encryption key comprises the steps consisting in determining a first function of the first ring in itself. even consisting for an element of the first ring to replace in the second polynomial the second variable by said element raised to the power p; determining a second function of the first ring in itself corresponding to the remainder of the division of said first function by the fourth polynomial; determining a fifth polynomial of the first ring corresponding to the characteristic polynomial of the second function; determining a decryption key corresponding to a sixth polynomial of degree less than d of the first ring such that the product of the decryption key and the encryption key is congruent to 1 unit modulo the fifth polynomial; determining the Drinfeld modulus associated with the decryption key as being a seventh polynomial of the second ring equal to the sum of powers of the second polynomial multiplied by the coefficients of the sixth polynomial; determining a third function of the first ring in itself consisting for an element of the first ring in replacing in the seventh polynomial the second variable by said element raised to the power p; and determining said intermediate reciprocal bijection as being equal to the remainder of the division of said third intermediate function by the fourth polynomial.
Cet objet, ces caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation parti- culiers faite à titre non-limitatif en relation avec la figure unique jointe représentant un schéma de la transmission d'un message codé d'un émetteur vers un récepteur.This object, these characteristics and advantages, as well as others of the present invention will be explained in detail in the following description of particular embodiments given without limitation in relation to the single attached figure representing a diagram of the transmission of a coded message from a transmitter to a receiver.
Comme cela est représenté sur la figure unique, un émetteur 10 (TRANSMUTER) souhaite envoyer un message vers un récepteur 12 (RECEIVER) par l'intermédiaire d'un canal de communication 14. L'émetteur 10 dispose d'un codeur 16 (ENCRYPT) relié au canal de transmission 14. Le récepteur 12 dispose d'un décodeur 18 (DECRYPT) relié au canal de transmission 14.As shown in the single figure, a transmitter 10 (TRANSMIT) wishes to send a message to a receiver 12 (RECEIVER) via a communication channel 14. The transmitter 10 has an encoder 16 (ENCRYPT ) connected to the transmission channel 14. The receiver 12 has a decoder 18 (DECRYPT) connected to the transmission channel 14.
Le procédé de transmission d'un message selon l'invention sera illustré par un exemple simple. Un exemple plus réaliste adapté à la transmission de données pour des systèmes de transmission de données habituels est présenté en fin de description.The method of transmitting a message according to the invention will be illustrated by a simple example. A more example realistic suitable for data transmission for usual data transmission systems is presented at the end of the description.
On note p un nombre premier et .À ≈ Fp [T] 1 'anneau des polynômes à une variable T et à coefficients dans le corps Fp. Le corps Fp est le corps fini comprenant les entiers {θ, 1, 2, ..., p-l} sur lequel les opérations arithmétiques sont réalisées modulo p. On note B le quotient de l par un polynôme f de degré d strictement supérieur à 1. Un élément de B est donc un polynôme de degré inférieur à d qui correspond au reste de la division d'un polynôme quelconque par f . Le cardinal de B est p1^-. Dans le présent exemple, on choisit f égal à : f(T) = T3+2T2+l (1)We denote by p a prime number and .A ≈ Fp [T] the ring of polynomials with a variable T and with coefficients in the field Fp. The body Fp is the finite body comprising the integers {θ, 1, 2, ..., pl} on which the arithmetic operations are carried out modulo p. We denote by B the quotient of l by a polynomial f of degree d strictly greater than 1. An element of B is therefore a polynomial of degree less than d which corresponds to the remainder of the division of any polynomial by f. The cardinal of B is p 1 ^ -. In the present example, we choose f equal to: f (T) = T 3 + 2T 2 + l (1)
Le procédé selon 1 ' invention permet de transmettre de façon sécurisée des entiers variant de 0 à p^-l. A titre d'exemple, on prendra p et d égaux à 3, ce qui permet de coder les entiers de 0 à 26.The method according to the invention makes it possible to securely transmit integers varying from 0 to p ^ -l. As an example, we will take p and d equal to 3, which makes it possible to code the integers from 0 to 26.
Le message à transmettre est converti en un ou plusieurs nombres entiers qui sont alors divisés en blocs de messages M correspondant chacun à un entier inférieur à p^-1.The message to be transmitted is converted into one or more whole numbers which are then divided into message blocks M each corresponding to an integer less than p ^ -1.
Le nombre M est transformé en un polynôme μ élément de B en utilisant l'écriture de M en base p. A titre d'exemple, on choisit un bloc de message M égal à 17. On obtient alors :The number M is transformed into a polynomial μ element of B using the writing of M in base p. As an example, we choose a message block M equal to 17. We then obtain:
M=lx32+2x3 + 2 (2) et donc : μ = T2+2T+2 (3)M = lx3 2 + 2x3 + 2 (2) and therefore: μ = T 2 + 2T + 2 (3)
Le procédé de transmission selon 1 ' invention utilise une fonction de chiffrage ψ de B dans lui-même définie de la façon suivante : ψ(z) = (φ °σC2)(z) (3)The transmission method according to the invention uses an encryption function ψ of B in itself defined as follows: ψ (z) = (φ ° σC2 ) (z) (3)
Nous allons maintenant décrire 1 ' obtention des fonctions φc. et φc_ .We will now describe obtaining functions fonctions c . and φ c _.
On note - {x ) l'a neau des polynômes à une variable τ et à coefficients dans l'anneau ^4 pour lequel on utilise la règle de commutation suivante : τkxa = apk (5)We note - {x) the ring of polynomials with a variable τ and with coefficients in the ring ^ 4 for which the following switching rule is used: τ k xa = a pk (5)
On définit un module de Drinfeld comme un morphisme φ de Fp-algèbre de ^4 dans - {τ ) telle que φ(T) est un polynôme non constant et de terme constant T. Pour un élément a de tel que :We define a Drinfeld module as a morphism φ of Fp-algebra of ^ 4 in - {τ) such that φ (T) is a non-constant polynomial with constant term T. For an element a such that:
Figure imgf000010_0001
où m est un entier quelconque, on obtient : m m φ(a) =∑aiφ(Ti)=∑aiφ(T)i (7) i=0 i≈O
Figure imgf000010_0001
where m is any integer, we get: mm φ (a) = ∑a i φ (T i ) = ∑a i φ (T) i (7) i = 0 i≈O
Le module de Drinfeld φ est donc complètement défini une fois que φ(T) a été choisi. L'expression de φ(T) est donnée par la relation suivante : t φ(T)=∑Φkτk (8) k=0 où φk est un élément de ^4, et par définition φ0 est égal à T.The Drinfeld module φ is therefore completely defined once φ (T) has been chosen. The expression of φ (T) is given by the following relation: t φ (T) = ∑Φ k τ k (8) k = 0 where φk is an element of ^ 4, and by definition φ 0 is equal to T .
Il existe une définition plus générale des modules de Drinfeld comme des morphismes d'un anneau commutâtif dans un anneau non commutatif formé par des endomorphismes d'un objet de la géométrie algébrique.There is a more general definition of Drinfeld's modules as morphisms of a commutative ring in a noncommutative ring formed by endomorphisms of an object of algebraic geometry.
A titre d'exemple, on choisit comme module de Drinfeld le module de Carlitz défini par : φ(T) = τ+ T (9)By way of example, the Carlitz module defined by: φ (T) = τ + T (9) is chosen as the Drinfeld module.
A 1 ' élément φ(a) de ^4{τ } , on associe la fonction φa de ^4 dans lui-même de la façon suivante : q>(a) = ∑ iτ1 (10) i≈O m i φa(z)=∑hiZ p (11) i≈O A φa correspond la fonction φa de B dans lui-même.With the element φ (a) of ^ 4 {τ}, we associate the function φ a of ^ 4 in itself as follows: q> (a) = ∑ i τ 1 (10) i≈O mi φ a (z) = ∑h iZ p (11) i≈OA φ a corresponds to the function φ a of B in itself.
On peut montrer qu'il existe un polynôme unitaire fφ tel que φa, = φa2 si et seulement si aj ≈ a2 modulo fφ . Une application φa est alors bijective si et seulement si a est premier avec fφ et dans ce cas l'application inverse est φaι où a' appartient à ^4 et est tel que aa'≡ 1 modulo fφ .We can show that there exists a unitary polynomial f φ such that φ a , = φ a2 if and only if a j ≈ a2 modulo f φ . An application φ a is then bijective if and only if a is first with f φ and in this case the inverse map is φ a ι where a 'belongs to ^ 4 and is such that aa'≡ 1 modulo f φ .
On peut montrer que le polynôme fφ est égal au polynôme caractéristique de la matrice Aφ de 1 ' application φτ exprimée dans l 'espace vectoriel { 1 , T , ... , Td_1 } .We can show that the polynomial f φ is equal to the polynomial characteristic of the matrix A φ of the map φ τ expressed in the vector space {1, T, ..., T d_1 }.
Dans le présent exemple, à partir des équations (9) et (11) , on obtient :In this example, from equations (9) and (11), we obtain:
" φ" τ('"l)' = T + l (12) φτ ~(T) = T3 +T2 = 2T2 + 2 (13) φτ(T ) = T° + TJ = 2T + 2 (14) " φ " τ ( '" l) ' = T + l (12) φ τ ~ (T) = T 3 + T 2 = 2T 2 + 2 (13) φ τ (T) = T ° + T J = 2T + 2 (14)
On en déduit la matrice de 1 ' application φτ dans 1 ' espace vectoriel { 1 , T , T2 } :We deduce the matrix of the map φ τ in the vector space {1, T, T 2 }:
Figure imgf000011_0001
Figure imgf000011_0001
Le polynôme fφ , égal au polynôme caractéristique de la matrice AThe polynomial f φ , equal to the characteristic polynomial of the matrix A
Figure imgf000011_0002
Figure imgf000011_0002
On choisit alors des polynômes ci et c2 de ^4 premiers avec f, φ par exemple : c1 = T2 +T + 2 (17) c2 = 2Tz +T + l (18)We then choose polynomials ci and c 2 of ^ 4 prime with f, φ for example: c 1 = T 2 + T + 2 (17) c 2 = 2T z + T + l (18)
Pour calculer φc et φc„ , on utilise le fait que pour un polynôme a de degré strictement inférieur à d, on peut écrire d'après l'équation (7)To calculate φ c and φ c „, we use the fact that for a polynomial a of degree strictly less than d, we can write according to equation (7)
Figure imgf000011_0003
Figure imgf000011_0003
Les termes Φτi (z) sont reliés par la relation de récurrenceThe terms Φ τ i (z) are linked by the recurrence relation
Φl(z) (20)Φl (z) (20)
Φτi(z) = Φτ(Φτi-ι(z)) pour i>0 (21) A partir des équations (9) et (11) , on peut calculer les expressions des polynômes dans B de φC] et φC2 .Φ τ i (z) = Φτ (Φ τ i-ι (z)) for i> 0 (21) From equations (9) and (11), we can calculate the expressions of the polynomials in B of φ C] and φ C2 .
Φl(z) = z (22) φτ(z) = zJ + Tz (23 )Φl (z) = z (22) φ τ (z) = z J + Tz (23)
Φτ2 (z) = Φτ(z + Tz) = z + (T + T + 2)zJ + Tzz (24)Φ τ 2 (z) = Φτ (z + Tz) = z + (T + T + 2) z J + T z z (24)
D ' après l ' équation (19) , on en déduit :From equation (19), we deduce:
Φcι (z) = Φτ2 (z) + φτ(z) + 2φι(z) (25)Φcι ( z ) = Φ τ 2 (z) + φτ (z) + 2φι (z) (25)
= z9 + (T2 + T)z3 + (T2 + T + 2)z φ c2 (z) = φτ2 (z) + φτ (z) + φ! (z) (26) = 2z9 + (2T2 +2T + 2)z3 + (2T2 +T + l)z= z 9 + (T 2 + T) z 3 + (T 2 + T + 2) z φ c 2 (z) = φ τ 2 (z) + φ τ (z) + φ! (z) (26) = 2z 9 + (2T 2 + 2T + 2) z 3 + (2T 2 + T + l) z
D ' après l ' équation (8) , et pour tout polynôme de P (z) de B[z] du type : m P(z) = ∑πiz1 (27) i=0 on peut écrire : t m _ k . k φτ(P(z)) = ∑ ∑ φkπ zφ (28) k=0i=0According to equation (8), and for any polynomial of P (z) of B [z] of the type: m P (z) = ∑π i z 1 (27) i = 0 we can write: tm _ k. k φ τ (P (z)) = ∑ ∑ φ k π z φ (28) k = 0i = 0
On peut alors déterminer la fonction de chiffrage ψ donnée par l'équation (3) en prenant comme fonction σ une fonction bijective simple et rapide à calculer donnée sous la forme d'un polynôme. A titre d'exemple, en choisissant un entier e inférieur à p^-1, non divisible par p et premier avec p^-1, la fonction σ peut être de la forme : σ(z) = ze+δ (29) où δ est un élément pris au hasard dans B.We can then determine the encryption function ψ given by equation (3) by taking as function σ a simple and quick to calculate bijective function given in the form of a polynomial. For example, by choosing an integer e less than p ^ -1, not divisible by p and prime with p ^ -1, the function σ can be of the form: σ (z) = z e + δ (29 ) where δ is an element taken at random from B.
A partir des expressions de φ (z) , φc (z) données par les équations (25), (26), on obtient l'expression de σ(φc„ )(z) puis 1 'expression de ψ(z) . On notera que dans ce calcul on remplace chaque terme de la forme γzm , où m est supérieur à pd, par le terme γz , où r est le reste de la division euclidienne de m par p^-1. Le polynôme ψ finalement obtenu est donc de degré borné par p^. D'après ce qui précède, en prenant dans l'expression de σ , donnée par l'équation (29), e est égal à 7 et δ égal à T + T + 1 , on obtient : ψ(z) = (T2 + T + 2)z21 + (T + 2)z 19 + (T + 2)z15+(2T2+2T)zU From the expressions of φ (z), φ c (z) given by equations (25), (26), we obtain the expression of σ (φ c „) (z) then the expression of ψ ( z). Note that in this calculation we replace each term of the form γz m , where m is greater than p d , by the term γz, where r is the remainder of the Euclidean division of m by p ^ -1. The polynomial ψ finally obtained is therefore of degree bounded by p ^. According to the above, taking in the expression of σ, given by equation (29), e is equal to 7 and δ equal to T + T + 1, we obtain: ψ (z) = (T 2 + T + 2) z 21 + (T + 2) z 19 + (T + 2) z 15 + (2T 2 + 2T) z U
5 + 2T2z9 + (T2 + T)z7 + 2T2z5 + (T + 2)z3 + (T2 + T)z + T2 + 2T5 + 2T 2 z 9 + (T 2 + T) z 7 + 2T 2 z 5 + (T + 2) z 3 + (T 2 + T) z + T 2 + 2T
(30) Dans le présent exemple, pour transmettre le message M, on détermine μ le polynôme de l'équation (3), puis on détermine le polynôme codé χ à partir du polynôme μ de la façon 10. suivante : χ = ψ(μ) = ψ(T2+2T+ 2) = 2T2+T + l (31) ce qui correspond au message codé C suivant :(30) In this example, to transmit the message M, we determine μ the polynomial of equation (3), then we determine the coded polynomial χ from the polynomial μ as follows 10. χ = ψ ( μ) = ψ (T 2 + 2T + 2) = 2T 2 + T + l (31) which corresponds to the following coded message C:
C = l+ lx3 + 2x32=22 (32)C = l + lx3 + 2x3 2 = 22 (32)
Le message C est alors transmis au récepteur 12 par le 15 canal de transmission 14.The message C is then transmitted to the receiver 12 by the transmission channel 14.
La clé publique correspond à la fonction ψ qui est rendue publique. De façon classique dans les procédés sécurisés de transmission de données par chiffrage, l'émetteur 10 qui souhaite transmettre le message M peut se procurer le polynôme 20 ψ auprès d'une autorité de confiance. Au moyen du codeur 16, l'émetteur 10 peut alors transmettre au récepteur 12 par 1 ' intermédiaire du canal de transmission 14 le message codé C.The public key corresponds to the function ψ which is made public. Conventionally in secure methods of transmitting data by encryption, the transmitter 10 which wishes to transmit the message M can obtain the polynomial 20 ψ from a trusted authority. By means of the encoder 16, the transmitter 10 can then transmit to the receiver 12 via the transmission channel 14 the coded message C.
Les clés privées détenues uniquement par le récepteur 12 correspondent aux expressions des polynômes ci , c2 , δ et de 25 1 'entier e.The private keys held only by the receiver 12 correspond to the expressions of the polynomials ci, c 2 , δ and of the integer e.
Pour décoder le message codé C, le récepteur 12 a besoin de déterminer la fonction ψ~ réciproque de la fonction ψ.To decode the coded message C, the receiver 12 needs to determine the reciprocal function ψ ~ of the function ψ.
La réciproque de la fonction σ est obtenue en 30 déterminant un entier h tel que e ≡l modulo p^-1. La réciproque σ de σ est alors donnée par : σ_1(z) = (z-δ)h (33)The converse of the function σ is obtained by determining an integer h such that e ≡l modulo p ^ -1. The converse σ of σ is then given by: σ _1 (z) = (z-δ) h (33)
Comme cela a été expliqué précédemment, les réciproques des fonctions φc , φc sont obtenues à partir des polynômes CiCi ≡ l mo
Figure imgf000014_0001
c2 = T2 + 2T + l (35)
As explained above, the reciprocals of the functions φ c , φ c are obtained from CiCi polynomials ≡ l mo
Figure imgf000014_0001
c 2 = T 2 + 2T + l (35)
Figure imgf000014_0002
Figure imgf000014_0002
= (<p - o σ~1)(2T2 + l) = φ . (2T + 1) = T2 +2T + 2 C2 c2 = (<p - o σ ~ 1 ) (2T 2 + l) = φ. (2T + 1) = T 2 + 2T + 2 C2 c 2
En pratique, l'entier p est choisi très grand par rapport à d. Toutefois, afin d'optimiser l'efficacité des calculs, il est souhaitable que p soit inférieur à 232 afin que les entiers modulo p utilisés par le présent procédé puissent être mémorisés sur un "mot long" de 32 bits. La taille du polynôme ψ(z) augmentant avec 1 ' exposant e apparaissant dans l'expression de σ donnée par l'équation (29), il est préférable que l'exposant e soit petit. En outre, e devant être premier avec p^-1, e est impair. Des choix raisonnables sont e=5 ou e=7. Pour une utilisation compatible avec d'autres procédés sécurisés de transmission par chiffrage à clé secrète, notamment le procédé AES (Advanced Encryption Standard) , il est souhaitable que p^ soit supérieur à 2160, c'est-à-dire sensiblement 10-1-8 .In practice, the integer p is chosen to be very large with respect to d. However, in order to optimize the efficiency of the calculations, it is desirable that p be less than 2 32 so that the integers modulo p used by the present method can be stored on a "long word" of 32 bits. The size of the polynomial ψ (z) increasing with the exponent e appearing in the expression of σ given by equation (29), it is preferable that the exponent e is small. Furthermore, e having to be prime with p ^ -1, e is odd. Reasonable choices are e = 5 or e = 7. For use compatible with other secure transmission methods by secret key encryption, in particular the AES (Advanced Encryption Standard) method, it is desirable that p ^ be greater than 2,160 , that is to say substantially 10- 1 - 8 .
Un exemple réaliste du procédé de transmission selon l ' invention est le suivant : p = 1073741477 à = 6 f(T) = T5 +13775595T4 + 788683423T3 +305120033T2 A realistic example of the transmission method according to the invention is as follows: p = 1073741477 at = 6 f (T) = T 5 + 13775595T 4 + 788683423T 3 + 305120033T 2
+ 585880735T + 686097596 e = 5 φ(T) = τ + T cj = 437605822T5 +392755332T4 +925212769T3 + 890100049T2 + 541320556T + 287847229 c2 = 246570738T5 +49624932T4 +883670503T3 + 909401730T2 + 64842034T + 732002645 δ = 842509909T5 +193124111T4 +551953889T3 + 585880735T + 686 097 596 e = 5 φ (T) = τ + T cj = 437605822T 5 + 392755332T 4 + 925212769T 3 + 890100049T 2 + 541320556T + 287 847 229 c 2 = 246570738T 5 + 49624932T 4 + 883670503T 3 + 909401730T 2 + 64842034T + 732 002 645 δ = 842509909T 5 + 193124111T 4 + 551953889T 3
+ 843139803T2 + 188647249T + 872485075 Avec de tels paramètres, ψ(z) est un polynôme comportant 235 termes et le stockage des données de chiffrage nécessite environ 26 kilooctets.+ 843139803T 2 + 188647249T + 872485075 With such parameters, ψ (z) is a polynomial with 235 terms and the storage of the encryption data requires approximately 26 kilobytes.
La présente invention propose un procédé de transmis- sion de données particulièrement sûr. En effet, les attaques actuellement connues sont des attaques de complexité exponentielle par rapport au procédé de transmission selon la présente invention.The present invention provides a particularly secure data transmission method. Indeed, the attacks currently known are attacks of exponential complexity compared to the transmission method according to the present invention.
Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à 1 'homme de 1 ' art . En particulier, des traitements numériques supplémentaires peuvent être réalisés sur les messages codés avant leur transmission. Of course, the present invention is susceptible to various variants and modifications which will appear to one skilled in the art. In particular, additional digital processing can be carried out on the coded messages before their transmission.

Claims

REVENDICATIONS
1. Procédé sécurisé de transmission de données numériques consistant à : transformer les données numériques à transmettre en une suite de nombres entiers initiaux dont chacun est inférieur à p où p et d sont des entiers déterminés, et, pour chacun des nombres entiers initiaux, comportant les étapes suivantes : déterminer des coefficients initiaux d'un polynôme initial de degré inférieur à d correspondant à l'expression du nombre entier initial en base p ; déterminer des nouveaux coefficients d'un nouveau polynôme de degré inférieur à d, image du polynôme initial par une bijection de chiffrage, ladite bijection de chiffrage correspondant à la combinaison de bijections intermédiaires, au moins une desdites bijections intermédiaires étant définie à partir d'un module de Drinfeld associé à une clé de chiffrage ; définir un nouveau nombre entier à partir des nouveaux coefficients ; et transmettre le nouveau nombre entier.1. Secure method for transmitting digital data consisting in: transforming the digital data to be transmitted into a series of initial integers each of which is less than p where p and d are determined integers, and, for each of the initial integers, comprising the following steps: determining initial coefficients of an initial polynomial of degree less than d corresponding to the expression of the initial integer in base p; determining new coefficients of a new polynomial of degree less than d, image of the initial polynomial by an encryption bijection, said encryption bijection corresponding to the combination of intermediate bijections, at least one of said intermediate bijections being defined from a Drinfeld module associated with an encryption key; define a new integer from the new coefficients; and pass the new whole number.
2. Procédé selon la revendication 1, dans lequel la détermination de la bijection intermédiaire définie à partir d'un module de Drinfeld comprend les étapes suivantes : déterminer la clé de chiffrage correspondant à un premier polynôme de degré inférieur à d sélectionné dans un premier anneau de polynômes, ces polynômes étant des polynômes d'une première variable à coefficients dans le corps fini des entiers modulo p ; sélectionner un second polynôme dans un second anneau de polynômes d'une seconde variable à coefficients dans le premier anneau, ce second anneau étant tel que, dans ce second anneau, la multiplication de la seconde variable par un élément du premier anneau est égale à la multiplication dudit élément élevé à la puissance p par la seconde variable ; déterminer le module de Drinfeld associé à la clé de chiffrage comme étant un troisième polynôme du second anneau égal à la somme de puissances du second polynôme multipliées par les coefficients du premier polynôme ; déterminer une fonction intermédiaire du premier anneau dans lui-même consistant pour un élément du premier anneau à remplacer dans le troisième polynôme la seconde variable par ledit élément élevé à la puissance p ; et déterminer ladite bijection intermédiaire comme étant égale au reste de la division de ladite fonction intermédiaire par un quatrième polynôme irréductible du premier anneau de degré d.2. Method according to claim 1, in which the determination of the intermediate bijection defined from a Drinfeld module comprises the following steps: determining the encryption key corresponding to a first polynomial of degree less than d selected in a first ring polynomials, these polynomials being polynomials of a first variable with coefficients in the finite field of integers modulo p; select a second polynomial in a second ring of polynomials of a second variable with coefficients in the first ring, this second ring being such that, in this second ring, the multiplication of the second variable by an element of the first ring is equal to the multiplication of said element raised to the power p by the second variable; determine the Drinfeld module associated with the encryption key as being a third polynomial of the second ring equal to the sum of powers of the second polynomial multiplied by the coefficients of the first polynomial; determining an intermediate function of the first ring in itself consisting for an element of the first ring in replacing in the third polynomial the second variable by said element raised to the power p; and determining said intermediate bijection as being equal to the remainder of the division of said intermediate function by a fourth irreducible polynomial of the first ring of degree d.
3. Procédé selon la revendication 2, dans lequel le second polynôme est non constant et de terme constant égal à la première variable.3. Method according to claim 2, in which the second polynomial is non-constant and of constant term equal to the first variable.
- 4. Procédé selon la revendication 2, dans lequel la bijection de chiffrage correspond à la combinaison d'une première bijection intermédiaire définie à partir d'un module de Drinfeld associé à une première clé de chiffrage, d'une bijection intercalaire et d'une seconde bijection intermédiaire définie à partir d'un module de Drinfeld associé à une seconde clé de chiffrage.- 4. The method of claim 2, wherein the encryption bijection corresponds to the combination of a first intermediate bijection defined from a Drinfeld module associated with a first encryption key, an intermediate bijection and a second intermediate bijection defined from a Drinfeld module associated with a second encryption key.
5. Procédé selon la revendication 2, dans lequel le second polynôme sélectionné correspond au module de Carlitz.5. Method according to claim 2, in which the second selected polynomial corresponds to the Carlitz module.
6. Procédé selon la revendication 4, dans lequel la bijection intercalaire associe à un polynôme du premier anneau la somme du polynôme élevé à une puissance 'déterminée et d'un polynôme déterminé dudit premier anneau de degré inférieur à d.6. The method of claim 4, wherein the intermediate bijection polynomial associated with a first ring of the sum of the high power polynomial to a 'determined and a polynomial determined from said first ring of degree less than d.
7. Procédé pour décoder des données numériques transmises par un procédé selon l'une des revendications 2 à 6, comprenant les étapes suivantes : déterminer la bijection réciproque de la bijection de chiffrage à partir de la bijection réciproque intermédiaire de la bijection intermédiaire définie à partir du module de Drinfeld associé à la clé de chiffrage ; déterminer, pour chaque nombre entier codé reçu, des coefficients d'un polynôme codé de degré inférieur à d correspondant à l'expression du nombre entier codé en base p ; déterminer les coefficients initiaux du polynôme initial associé au polynôme codé en appliquant la bijection réciproque au polynôme codé ; et définir le nombre entier initial associé au nombre entier codé à partir des coefficients initiaux.7. Method for decoding digital data transmitted by a method according to one of claims 2 to 6, comprising the following steps: determining the reciprocal bijection of the encryption bijection from the intermediate reciprocal bijection from the intermediate bijection defined from the Drinfeld module associated with the encryption key; determining, for each coded whole number received, coefficients of a coded polynomial of degree less than d corresponding to the expression of the coded whole number in base p; determining the initial coefficients of the initial polynomial associated with the coded polynomial by applying the reciprocal bijection to the coded polynomial; and defining the initial integer associated with the integer encoded from the initial coefficients.
8. Procédé selon la revendication 7, dans lequel la détermination de la bijection réciproque intermédiaire de la bijection intermédiaire définie à partir du module de Drinfeld associé à la clé de chiffrage comprend les étapes suivantes : déterminer une première fonction du premier anneau dans lui-même consistant ' pour un élément du premier anneau à remplacer dans le deuxième polynôme la seconde variable par ledit élément élevé à la puissance p ; déterminer une deuxième fonction du premier anneau dans lui-même correspondant au reste de la division de ladite première fonction par le quatrième polynôme ; déterminer un cinquième polynôme du premier anneau correspondant au polynôme caractéristique de la deuxième fonction ; déterminer une clé de décryptage correspondant à un sixième polynôme de degré inférieur à d du premier anneau tel que le produit de la clé de décryptage et de la clé de chiffrage soit congruent à 1 'unité modulo le cinquième polynôme ; déterminer le module de Drinfeld associé à la clé de décryptage comme étant un septième polynôme du second anneau égal à la somme de puissances du second polynôme multipliées par les coefficients du sixième polynôme ; déterminer une troisième fonction du premier anneau dans lui-même consistant pour un élément du premier anneau à remplacer dans le septième polynôme la seconde variable par ledit élément élevé à la puissance p ; et déterminer ladite bijection réciproque intermédiaire comme étant égale au reste de la division de ladite troisième fonction intermédiaire par le quatrième polynôme. 8. The method of claim 7, wherein the determination of the intermediate reciprocal bijection of the intermediate bijection defined from the Drinfeld module associated with the encryption key comprises the following steps: determining a first function of the first ring in itself consisting 'for an element of the first ring to replace in the second polynomial the second variable by said element raised to the power p; determining a second function of the first ring in itself corresponding to the remainder of the division of said first function by the fourth polynomial; determining a fifth polynomial of the first ring corresponding to the characteristic polynomial of the second function; determining a decryption key corresponding to a sixth polynomial of degree less than d of the first ring such that the product of the decryption key and the encryption key is congruent to 1 unit modulo the fifth polynomial; determining the Drinfeld modulus associated with the decryption key as being a seventh polynomial of the second ring equal to the sum of powers of the second polynomial multiplied by the coefficients of the sixth polynomial; determining a third function of the first ring in itself consisting for an element of the first ring in replacing in the seventh polynomial the second variable by said element raised to the power p; and determining said intermediate reciprocal bijection as being equal to the remainder of the division of said third intermediate function by the fourth polynomial.
PCT/FR2003/002974 2002-10-07 2003-10-07 Secure method for digital data transmission WO2004032412A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003299160A AU2003299160A1 (en) 2002-10-07 2003-10-07 Secure method for digital data transmission

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR02/12429 2002-10-07
FR0212429A FR2845542B1 (en) 2002-10-07 2002-10-07 SECURE METHOD FOR TRANSMITTING DIGITAL DATA

Publications (1)

Publication Number Publication Date
WO2004032412A1 true WO2004032412A1 (en) 2004-04-15

Family

ID=32011468

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2003/002974 WO2004032412A1 (en) 2002-10-07 2003-10-07 Secure method for digital data transmission

Country Status (3)

Country Link
AU (1) AU2003299160A1 (en)
FR (1) FR2845542B1 (en)
WO (1) WO2004032412A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2480260A (en) * 2010-05-10 2011-11-16 Etsem Ltd An algorithm for compressing and decompressing a data sequence using polynomials

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GILLARD R ET AL: "Using Drinfeld modules in cryptology", COMPTES RENDUS - MATHEMATIQUE, ELSEVIER, PARIS, FR. - C. R. ACAD. SCI. PARIS, SER. I 336, vol. 336, no. 11, 1 June 2003 (2003-06-01), pages 879 - 882, XP004431062, ISSN: 1631-073X *
THOMAS SCANLON: "Public key cryptosystems based on Drinfeld modules are insecure", JOURNAL OF CRYPTOLOGY, no. 14, 2001, pages 225 - 230, XP002245785 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2480260A (en) * 2010-05-10 2011-11-16 Etsem Ltd An algorithm for compressing and decompressing a data sequence using polynomials

Also Published As

Publication number Publication date
AU2003299160A1 (en) 2004-04-23
FR2845542A1 (en) 2004-04-09
FR2845542B1 (en) 2004-12-24

Similar Documents

Publication Publication Date Title
Moriarty et al. PKCS# 1: RSA cryptography specifications version 2.2
Shiu et al. Encrypted image-based reversible data hiding with public key cryptography from difference expansion
Tawalbeh et al. Use of elliptic curve cryptography for multimedia encryption
EP3091689A1 (en) Method for generating a message signature from a signature token encrypted by means of an homomorphic encryption function
US20030182554A1 (en) Authenticated ID-based cryptosystem with no key escrow
EP2232765A2 (en) Method and entity for probabilistic symmetrical encryption
CA2369304A1 (en) A protocol to hide cryptographic private keys
WO2000042734A1 (en) Public and private key cryptographic method
EP2537284A1 (en) Cryptographic method for communicating confidential information
EP2179535B1 (en) Asymmetrical ciphering or signature check method
EP2457344B1 (en) Method for converting a first digit into a second digit
EP1610490A1 (en) Method and apparatus for data encryption or decryption
FR2793366A1 (en) REDUCED BANDWIDTH DIGITAL SIGNATURE PROTOCOL
FR2892583A1 (en) SECURE DATA TRANSMISSION METHOD
EP0935858B1 (en) Method for data decorrelation
FR2773027A1 (en) Generation of a digital signature for computer file security
CN115765969B (en) Method, device and storage medium for solving interaction of hidden set based on homomorphic encryption
WO2004032412A1 (en) Secure method for digital data transmission
CN116094716A (en) Text encryption and decryption method, system and equipment based on elliptic curve cryptography
Desset et al. Block error-correcting codes for systems with a very high BER: Theoretical analysis and application to the protection of watermarks
EP3840282A1 (en) Cryptographic processing method, associated electronic device and computer program
EP2697930B1 (en) A method and system of cryptographic processing of a message
FR2899750A1 (en) Common encryption key generating method for e.g. voice over Internet protocol application, involves verifying correspondence between control data displayed on terminal of one user and control data received from another user by latter user
Sawant et al. Cryptographic turbo code for image transmission over mobile networks
JPH06282227A (en) Public-key cipher device and public-key decoding device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP