[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2010026318A1 - Procede cryptographique de generation d'une clef publique - Google Patents

Procede cryptographique de generation d'une clef publique Download PDF

Info

Publication number
WO2010026318A1
WO2010026318A1 PCT/FR2009/001072 FR2009001072W WO2010026318A1 WO 2010026318 A1 WO2010026318 A1 WO 2010026318A1 FR 2009001072 W FR2009001072 W FR 2009001072W WO 2010026318 A1 WO2010026318 A1 WO 2010026318A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
code
quasi
cyclic
public key
Prior art date
Application number
PCT/FR2009/001072
Other languages
English (en)
Inventor
Thierry Berger
Philippe Gaborit
Original Assignee
Centre National De La Recherche Scientifique -Cnrs-
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 Centre National De La Recherche Scientifique -Cnrs- filed Critical Centre National De La Recherche Scientifique -Cnrs-
Publication of WO2010026318A1 publication Critical patent/WO2010026318A1/fr

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/304Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy based on error correction codes, e.g. McEliece
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Definitions

  • the invention relates to a cryptographic method for generating a public key using error correcting codes.
  • the invention relates to the field of encryption and decryption of data, and that of the exchange of keys and mechanisms for authentication and data transfer and public key generation.
  • Such cryptographic methods have been known for many years, and have been implemented, in particular, in so-called Mc Eliece and Niederreiter systems. These methods are an interesting alternative to other cryptographic methods such as RSA, El Gamal or those which relate to elliptic curves. The calculation time of these cryptographic methods is on average one hundred times faster than that of the other processes.
  • the present invention aims to solve the problem related to the technical difficulties encountered for the implementation of a cryptographic method in a low-cost electronic equipment comprising hardware resources having limited capabilities both in terms of calculation and storage.
  • the invention proposes to improve the cryptographic methods using alternating quasi-cyclic codes, which reduce the size of a public key to a few thousand bits.
  • alternating quasi-cyclic codes constitute a particular class of error control codes generated by a matrix obtained by a permutation mechanism applied to a quasi-cyclic matrix.
  • a first aspect of the invention relates to a cryptographic method for generating a public key capable of encrypting digital data, in which the public key corresponds to an alternating quasi-cyclic code, characterized in that what said method comprises the following steps:
  • the initial code is a quasi-cyclic generalized Reed-Solomon code
  • the diagonal matrix D ⁇ ⁇ x I n , with ⁇ a scalar number and I n an identity matrix, so that the elements of the diagonal of D ⁇ correspond to the coordinates of ⁇ ;
  • the generator matrix M is used in the Mc Eliece protocol, and
  • the generator matrix M is used in the Niederreiter protocol.
  • the invention also relates to a cryptographic device for generating a public key comprising processing means arranged so as to implement the method as previously described.
  • FIG. 1 a matrix generating a Reed-Solomon code for use in an authentication method according to one embodiment of the invention.
  • the method according to the invention is implemented in a communication network architecture.
  • This network relates to wiring means and / or electromagnetic transmission means.
  • these cabling means correspond for example to optical fiber or copper cables
  • the electromagnetic transmission means relate for example to radio links based on mobile telephony standards such as GSM (acronym for Global System for Mobile Communications), UMTS (acronym for Universal Mobile Telecommunications System), EDGE (acronym for Enhanced Data Rates for GSM Evolution) or HSDPA (acronym for High-Speed Downlink Packet Access).
  • GSM Global System for Mobile Communications
  • UMTS acronym for Universal Mobile Telecommunications System
  • EDGE acronym for Enhanced Data Rates for GSM Evolution
  • HSDPA acronym for High-Speed Downlink Packet Access
  • WIFI defined by the IEEE 802.11 standards
  • Bluetooth defined by the IEEE 802.15 standards
  • WIMAX acronym for Worldwide Interoperability for Microwave Access
  • Transaction security is an important criterion in a data exchange environment. It involves the implementation of a security policy that provides a service for authenticating the origin of the data but also the integrity of the data exchanged. The exchange of data can then be carried out while being protected from acts of piracy or willful corruption during their transmission.
  • the exchange of data in the context of the invention is carried out between mobile or fixed terminals such as for example fixed or portable computers, mobile phones, PDAs or smartphones.
  • the exchanged data such as messages are subject to asymmetric encryption.
  • This asymmetric encryption requires that the user sending the message is in possession of a public key in order to encrypt the content of this message.
  • This public key can be stored in the memory means of the terminal or in a removable data medium such as for example: - a smart card,
  • a card comprising an RFID chip (acronym for radio frequency identification which is translated into French by radio-identification).
  • Such data carriers are provided with limited hardware resources that do not allow the completion of heavy data processing.
  • a terminal A can send to a terminal B a coded message, from this public key stored in one of the data carriers mentioned above, only the terminal B can decode from a private key.
  • This public key is generated by a server comprising transmission means and a reader / recorder capable of transferring the generated public key to a data carrier, from input / output system commands sent to the reader / recorder. .
  • This server also includes processing means such as a processor associated with volatile memory means and / or volatile name that are able to implement algorithms and computer programs for the generation of a public key.
  • processing means such as a processor associated with volatile memory means and / or volatile name that are able to implement algorithms and computer programs for the generation of a public key.
  • This public key is generated from a generating matrix code M corresponding to a quasi-cyclic generalized Reed-Solomon code.
  • M k a generator matrix of a Reed-Solomon code ordered so as to be quasi-cyclic, P n corresponding to a block permutation matrix and D ⁇ to a diagonal matrix.
  • the implementation of the generator matrix M makes it possible to construct quasi-cyclic alternating codes corresponding to the public key.
  • the codes used for the generation of public keys refer to the correction codes used to correct random errors such as for example the codes of Goppa, BCH (meaning Bose, Ray-Chaudhuri, Hocquenghem) or Reed-Muller.
  • a quasi-cyclic code is defined as a code which is stable by block permutation.
  • a code of length n, of dimension k and of minimum distance d denoted [n, k, d] on the body with q elements GF (q) is a vector subspace of dimension k of GF (q) n with d the minimum number of non-zero coordinates for a non-zero element of the code.
  • a code is cyclic if the code is stable under the action of cyclic permutations, that is to say if any cyclic permutation of a code word is also a code word.
  • a code is said to be quasi-cyclic index r if any cyclic permutation of a word of the code r positions is always a code word or if it is stable under the action of a quasi permutation cyclic defined by:
  • the quasi-cyclic alternating codes are constructed from quasi-cyclic generalized Reed-Solomon codes which are multiplied column by column by appropriate constants to obtain quasi-cyclic alternating codes.
  • the server processing means realize the construction of the generating matrix of a Reed-Solomon code M k . This construction corresponds to calculations that make it possible to order the Reed-Solomon code so that it is quasi-cyclic.
  • This generator matrix M k is constructed from a unit K.
  • this server will perform operations on this matrix M k so as to obtain the quasi-cyclic generalized Reed-Salomon code generation matrix M.
  • the permutation matrix P n is determined by a permutation ⁇ D Sym (r) acting on the r blocks of size s.
  • P r is a matrix rxr corresponding to this permutation with the number 1 per row and per column.
  • P n P r D l s , where Is is the sxs identity matrix, is constructed. This means that we build P n from P r by replacing the null entries with the zero square matrix of size sxs and the entries with 1 by I 5 .
  • ⁇ .
  • We build the tuple ⁇ (1 ( ⁇ i, ⁇ 2i, ..., if ⁇ ) l ... l ⁇ r-1 ( ⁇ t, ⁇ 2j, ..., ⁇ sj)) DK r.
  • ⁇ l n whose elements of the diagonal are the coordinates of ⁇ .
  • This diagonal matrix is composed of non-zero s blocks and r scalaries with the same non-zero scalar for each block.
  • a specificity of the invention consists in the use of the codes on intermediate sub-bodies of the body linked to the Reed-Solomon code, unlike conventional systems consisting in that alternating codes are constructed from the Reed-Solomon Generalized by taking as sub-body the basic body. From these codes, the invention implements conventional techniques of punching and shortening codes while respecting the quasi-cyclical codes.
  • the sub-code sub-code is well known in the field of error correcting codes and in particular in the publications of JF MAC WILLIAMS and NJA SLOANE in the book entitled "The theory of error correcting codes". , by JF MacWilliams and NJA Sloane, North-Holland eds.
  • Punching in several columns of said generator matrix M means a deletion of at least one column of this matrix M.
  • M M ' f' 0 1 1 1 0 1 0 1
  • the selection of a subcode on the sub body corresponds to an operation performed in the following manner, for example taking a C code of dimension nk on an extension.
  • This extension corresponds to a body GF (4).
  • the body GF (4) is an extension of the binary body GF (2).
  • the matrix of the dual D of dimension k of the code C is created.
  • This matrix of the dual D is inscribed in the base of the subbody, to obtain a code of dimension dk with d the degree of the extension in the case GF (4) on GF (2) the degree of the extension is 2 on the subbody, so we get the dual, the subcode on the subbody.
  • the first element 1 of H is transformed into 1, then w into 0, and w2 into 1, and so on.
  • the subcode on the subbody of C is then the dual matrix of H 1 .
  • the invention makes it possible to integrate high security into very low-resource devices, and provides an alternative to current security mechanisms, particularly in the event that the robustness of the latter would be compromised.
  • the method of generating a public key using a generator matrix for the creation of alternating quasi-cyclic code is likely to be implemented using the encryption protocol Mc Eliece or Niederreiter.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

Procédé cryptographique de génération d'une clef publique apte à chiffrée des données numérique, dans lequel la clef publique correspond à un code quasi- cyclique alternant, caractérisé en ce que ledit procédé comprend : une étape de création d'une matrice génératrice M provenant de l'application d'une matrice de permutation par bloc Pn et d'une matrice diagonale DΛ à une matrice quasi-cyclique Mk correspondant à un code initial, une étape de génération d'une matrice relative audit code quasi- cyclique alternant à partir d'un poinçonnage en plusieurs colonnes de ladite matrice génératrice M et d'une sélection d'un sous-code sur le sous corps dans cette dite matrice génératrice.

Description

PROCEDE CRYPTOGRAPHIQUE DE GENERATION D'UNE CLEF PUBLIQUE
DOMAINE TECHNIQUE DE L'INVENTION
[0001] L'invention se rapporte à un procédé cryptographique de génération d'une clef publique utilisant des codes correcteurs d'erreurs.
[0002] L'invention se rapporte au domaine du chiffrement et du déchiffrement de données, ainsi qu'à celui de l'échange de clefs et des mécanismes d'authentification et de transfert de données et de génération de clef publique.
ETAT DE LA TECHNIQUE ANTERIEURE [0003] Dans le cadre d'échanges de données entre deux entités, comme par exemple deux ordinateurs, il est nécessaire de pouvoir protéger le contenu des données échangées.
[0004] Cette protection se traduit par une intégrité et une confidentialité des échanges mais aussi par une authentification des différentes parties prenant part à ces échanges afin qu'il ne soit pas possible d'un point de vue matériel ou algorithmique par des méthodes de cryptanalyse de pouvoir déterminer le contenu d'un échange de message entre des parties.
[0005] Dans l'art antérieur, il est commun d'utiliser des procédés cryptographiques reposant sur des algorithmes asymétriques à clé publique tels que Rivest Shamir Adleman (RSA) ou encore des méthodes mathématiques basées sur des courbes elliptiques ou des logarithmes discrets.
[0006] De tels procédés ont pour inconvénients de nécessiter des dispositifs comportant des ressources matérielles conséquentes en terme de capacité de traitement de données, par des moyens de mémoire et des processeurs pour la réalisation de calculs, et notamment pour des calculs portant sur des entiers très grands tels que des calculs d'exponentielles dans le cas de RSA.
[0007] Ces procédés ne peuvent être implémentés dans des équipements électroniques ayant souvent de multiples fonctionnalités et comportant par exemple des cartes à puces ou des puces RFID, car leur capacité limité en terme de ressources matérielles offre des temps de calculs lents et donc des résultats ne pouvant pas être exploités dans des mécanismes sécurisés d'authentification et de transfert de données.
[0008] Pourtant, l'augmentation croissante du taux de pénétration au sein des foyers de tels équipements électroniques fait naître un besoin grandissant d'implémentation dans de tels équipements, de procédé de cryptographie.
[0009] Pour pallier ces inconvénients, il est connu dans le domaine de la cryptographie d'utiliser des procédés cryptographiques d'authentification ayant des temps de calculs plus rapides que RSA1 en mettant en œuvre des mécanismes de décodages utilisant des codes correcteur d'erreurs.
[0010] On connaît dans l'art antérieur, le document FR0704518 qui décrit des procédés d'authentification utilisant un décodage de code d'erreurs à partir d'une matrice publique et de matrices aléatoires.
[0011] De tels procédés cryptographiques sont connus depuis de nombreuses années, et ont été implémentés, en particulier, dans des systèmes dits de Mc Eliece et de Niederreiter. Ces procédés constituent une alternative intéressante par rapport aux autres procédés cryptographiques tels que RSA, El Gamal ou encore ceux qui se rapportent aux courbes elliptiques. Le temps de calcul de ces procédés cryptographiques est en moyenne cent fois plus rapide que celui des autres procédés.
[0012] Toutefois, un inconvénient majeur de ces procédés est d'utiliser une clef publique de grande taille, plusieurs centaines de milliers de bits contre simplement quelques milliers de bits pour les autres procédés (comme par exemple RSA). Une telle taille ne permet pas le stockage de cette clef publique dans les moyens de mémoire limités d'équipements électroniques, dont les ressources matérielles se rapportent, par exemple, à une carte à puce ou une puce RFID. [0013] Ce problème lié à la taille de la clef publique a limité le développement industriel de ces procédés, car les supports usuellement utilisés ont des capacités de calcul et de mémoire limitées.
EXPOSE DE L'INVENTION
[0014] La présente invention vise à résoudre le problème lié aux difficultés techniques rencontrées pour la mise en œuvre d'un procédé cryptographique dans un équipement électronique à bas coût comportant des ressources matérielles ayant des capacités limités tant en termes de calcul que de stockage.
[0015] L'invention propose d'améliorer les procédés cryptographiques en utilisant des codes quasi-cycliques alternants, qui permettent de réduire la taille d'une clef publique, à quelques milliers de bits.
[0016] Ces codes quasi-cycliques alternants constituent une classe particulière des codes de contrôle d'erreurs générés par une matrice obtenue par un mécanisme de permutation appliqué à une matrice quasi-cyclique.
[0017] Pour ce faire, un premier aspect de l'invention se rapporte à un procédé cryptographique de génération d'une clef publique apte à chiffrer des données numérique, dans lequel la clef publique correspond à un code quasi-cyclique alternant, caractérisé en ce que ledit procédé comprend les étapes suivantes :
-création d'une matrice génératrice M provenant de l'application d'une matrice de permutation par bloc Pn et d'une matrice diagonale DΛ à une matrice quasi-cyclique Mk correspondant à un code initial, et
-génération d'une matrice relative audit code quasi-cyclique alternant à partir d'un poinçonnage en plusieurs colonnes de ladite matrice génératrice M et d'une sélection d'un sous-code sur le sous corps dans cette dite matrice génératrice.
Selon des modes de réalisation particuliers: - le code initial est un code Reed-Solomon généralisé quasi-cyclique ; - la matrice diagonale DΛ = Λ x In, avec Λ un nombre scalaire et In une matrice identité, de sorte que les éléments de la diagonale de DΛ correspondent aux coordonnées de Λ ;
- la matrice de permutation Pn est définie par Pn=Pr® ls> avec Pr correspondant à une matrice de permutation classique sélectionnée aléatoirement et ls à une matrice identité ;
- la permutation permet d'obtenir un code de Reed-Solomon généralisé ;
- l'application de la matrice de permutation Pn à la matrice quasi-cyclique de masquage du code initial ;
- la matrice génératrice M est utilisée dans le protocole de Mc Eliece, et
- la matrice génératrice M est utilisée dans le protocole de Niederreiter.
[0018] L'invention se rapporte aussi à un dispositif cryptographique de génération d'une clef publique comprenant des moyens de traitement agencés de sorte à mettre en œuvre le procédé tel que précédemment décrit.
BREVE DESCRIPTION DES FIGURES
[0019] D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent :
- la figure 1 , une matrice génératrice d'un code de Reed-Solomon à utiliser dans un procédé d'authentification selon un mode de réalisation de l'invention.
DESCRIPTION DETAILLEE D'UN MODE DE REALISATION
[0020] Dans un exemple de réalisation, le procédé selon l'invention est mis en œuvre dans une architecture réseau de communication.
[0021] Ce réseau se rapporte à des moyens de câblage et/ou des moyens de transmission électromagnétique. Sans prétendre faire une liste exhaustive, ces moyens de câblage correspondent par exemple à de la fibre optique ou des câbles cuivrés, et les moyens de transmission électromagnétique se rapportent par exemple à des liaisons radioélectrique reposant sur des normes de téléphonie mobile comme le GSM (acronyme de Global System for Mobile Communications), UMTS (acronyme de Universal Mobile Télécommunications System), EDGE (acronyme de Enhanced Data Rates for GSM Evolution) ou encore HSDPA (acronyme de High-Speed Downlink Packet Access). Ces moyens peuvent aussi se rapporter à des technologies telles que le WIFI défini par les normes IEEE 802,11 , ou le Bluetooth défini par les normes IEEE 802.15, ou encore au WIMAX (acronyme pour Worldwide Interoperability for Microwave Access) défini par la norme IEEE 802.13.
[0022] Dans cette architecture, différents équipements échangent des données et en particulier des messages dans un cadre sécurisé.
[0023] La sécurité des transactions est un critère important dans un environnement d'échanges de données. Elle implique la mise en œuvre d'une politique de sécurité permettant de disposer d'un service d'authentification de l'origine des données mais aussi d'intégrité des données échangées. Les échanges de données pourront alors s'effectuer en étant protégés d'actes de piratages ou de corruption volontaire lors de leur transmission.
[0024] L'échange de données dans le cadre de l'invention est réalisé entre des terminaux mobiles ou fixes tels que par exemple des ordinateurs fixes ou portables, des téléphones mobiles, des PDAs ou encore des smartphones.
[0025] Dans ce système, les données échangées telles que des messages font l'objet d'un chiffrement asymétrique. Ce chiffrement asymétrique nécessite que l'utilisateur envoyant le message soit en possession d'une clef publique afin de chiffrer le contenu de ce message.
[0026] Cette clef publique peut être stockée dans les moyens de mémoire du terminal ou encore dans un support de données amovible tel que par exemple : - une carte à puce,
- une carte magnétique, ou
- une carte comprenant une puce RFID (acronyme de radio frequency identification qui se traduit en français par radio-identification).
[0027] De tels supports de données sont pourvus de ressources matérielles limitées qui ne permettent pas la réalisation de traitements lourds de données.
[0028] Ainsi, un terminal A peut envoyer à un terminal B un message codé, à partir de cette clef publique stocké dans un des supports de données mentionnés précédemment, que seul le terminal B pourra décoder à partir d'une clef privée.
[0029] Cette clef publique est générée par un serveur comprenant des moyens de transmission et un lecteur/enregistreur aptes à transférer dans un support de données la clef publique générée, à partir par de commandes système d'entrée/sortie envoyées au lecteur/enregistreur.
[0030] Ce serveur comprend aussi des moyens de traitement tel qu'un processeur associé à des moyens de mémoire volatile et/ou nom volatile qui sont aptes à mettre en œuvre des algorithmes et des programmes informatique pour la génération d'une clef publique.
[0031] Cette clef publique est générée à partir d'un code de matrice génératrice M correspondant à un code Reed-Solomon généralisé quasi-cyclique.
[0032] Le programme informatique mis en œuvre par les moyens de traitement du serveur sont aptes à déterminer cette matrice M à partir de l'équation suivante :
M= MkxPnx DΛ
avec Mk se rapportant à une matrice génératrice d'un code de Reed-Solomon ordonné de manière à être quasi-cyclique, Pn correspondant à une matrice de permutation par bloc et DΛ à une matrice diagonale. [0033] La mise en œuvre de la matrice génératrice M permet de construire des codes alternants quasi-cycliques correspondant à la clef publique.
[0034] Généralement les codes utilisés pour la génération de clefs publiques se rapportent aux codes correcteur utilisés pour corriger des erreurs aléatoires comme par exemple les codes de Goppa, BCH (signifiant Bose, Ray-Chaudhuri, Hocquenghem) ou encore Reed-Muller.
[0035] Ces codes alternants quasi-cycliques sont une sous-classe de la classe des codes alternants.
[0036] Plus précisément, un code quasi-cyclique est défini comme étant un code qui est stable par permutation par bloc.
[0037] En prenant, x un vecteur du code que l'on sépare en r blocs de s colonnes consécutives alors le décalage de s colonnes de x est toujours un mot du code. On entend par mot les éléments d'un code.
[0038] Ces codes ont l'avantage technique d'avoir une description beaucoup plus compacte puisque pour décrire la matrice d'un code, la donnée d'une ligne permet implicitement d'en construire en tout r grâce à la permutation. Cette permutation est dite quasi-cyclique, d'où le nom de ces codes.
Dans ce mode de réalisation, les moyens de traitement au travers du programme informatique réalisent notamment des calculs sur la base de mots de codes mis en œuvre par les moyens de traitement du serveur ont une longueur n et sont indicés par I = {0,...,n - 1}, ainsi qu'à partir d'un corps GF(q) à q éléments.
Ce corps GF (q) à q éléments est une structure mathématique telle qu'il existe un élément α (une racine primitive) tel que GF (q)= {0, 1 , α, a , .., αq~2} et tel que en plus des opérations de multiplications et d'addition, tout élément de ce corps admet un inverse.
Un code de longueur n, de dimension k et de distance minimale d noté [n, k, d] sur le corps à q éléments GF (q) est un sous-espace vectoriel de dimension k de GF (q)n avec d le nombre minimal de coordonnées non nulles pour un élément non nul du code.
[0039] Rappelons qu'un code est dit cyclique si le code est stable sous l'action des permutations cycliques, c'est-à-dire si toute permutation cyclique d'un mot du code est aussi un mot du code.
[0040] Un code est dit quasi-cyclique d'indice r si toute permutation cyclique d'un mot du code de r positions est toujours un mot du code ou encore s'il est stable sous l'action d'une permutation quasi-cyclique définie par:
n = rs, une permutation n quasi-cyclique d'indice r et d'ordre s sur I est définie par: si i = as + b, 0 ≤ a<r, 0 ≤ b<s, alors σs(i)= as +(b + 1 mod s).
[0041] Les codes alternants quasi-cycliques se construisent à partir des codes de Reed-Solomon généralisés quasi-cyclique qui font l'objet de multiplication colonne par colonne par des constantes adéquates pour obtenir des codes alternants quasi-cycliques.
[0042] Ces codes de Reed-Solomon généralisés quasi-cyclique sont invariants par la permutation σs.
[0043] Les moyens de traitement du serveur réalisent la construction de la matrice génératrice d'un code Reed-Solomon Mk. Cette construction correspond à des calculs permettant d'ordonner le code de Reed-Solomon de sorte à ce qu'il soit quasi-cyclique.
[0044] À la figure 1 , un exemple de cette matrice génératrice Mk est représenté. Cette matrice Mk est construite à partir d'une unité K. Cette unité K=GF(2m), et n=2m-1.
Avec α une racine primitive n-ième de l'unité dans K. Pour i variant de 0 à n - 1 on pose a,= cT+u où i=us+v est la division Euclidienne de i par s.
En d'autres termes, si β = αr, alors (aθ,a1 ,...,an-1 ) = (1 , β, β ,...,βs "1, α, αβ, . . . , _ s-1 r-1 r-1 _ r-1 _s-1 , αβ , α ,α β α β )
[0045] Une fois cette matrice Mk construite, les moyens de traitement de ce serveur vont effectuer des opérations sur cette matrice Mk de sorte à obtenir la matrice M génératrice de code Reed-Salomon généralisé quasi-cyclique.
[0046] Ces opérations vont consister à appliquer une matrice de permutation par bloc Pn et une matrice DΛ à cette matrice Mk.
[0047] La matrice de permutation Pn est déterminée par une permutation π D Sym(r) agissant sur les r blocs de taille s.
Pr est une matrice r x r correspondant à cette permutation avec le chiffre 1 par ligne et par colonne.
A partir de Pr, est construit une matrice de permutation Pn par blocs de taille n x n définie par Pn = Pr D ls, où Is est la matrice identité de taille sxs. Ceci signifie que l'on construit Pn à partir de Pr en remplaçant les entrées nulles par la matrice carrée nulle de taille s x s et les entrées à 1 par I5.
[0048] La matrice diagonale DΛ est déterminé en choisissant de manière aléatoire r - 1 éléments non nuls A1, ..., X^1 de K. Avec β = α . On construit le n- uplet Λ = (1
Figure imgf000011_0001
i2i ,...,βsi)l ... lλr-1 (βt2j,...,βsj)) D Kr . On associe à Λ la matrice diagonale DΛ =Λln dont les éléments de la diagonale sont les coordonnées de Λ.
[0049] Cette matrice diagonale est composée de s blocs et de r scalaires non nuls avec un même scalaire non nul pour chaque bloc.
[0050] Ainsi en partant d'une version cyclique du code Reed-Solomon et en multipliant les colonnes de ce code par des scalaires particuliers, reliés entre eux de telle sorte que les codes obtenus ne soient plus tous les codes Reed-Solomon généralisés mais une sous-famille de codes quasi-cyclique dérivés des Reed- Solomon généralisés, contrairement à ce qui est fait en générale et qui consiste à multiplier les colonnes du code Reed-Solomon par des éléments non nuls quelconques et d'obtenir les codes Reed-Solomon Généralisés classiques
[0051] Dès lors, sur la base de cette famille de codes quasi-cycliques dérivés du code Reed-Solomon, on prend alors les sous-codes sur le sous-corps comme on fait avec les codes alternants, mais comme les codes dont on part sont quasi- cyclique, les codes obtenus sur le sous-corps sont aussi quasi-cycliques et sont décodables en tant que codes alternants.
[0052] En outre, une spécificité de l'invention consiste en l'utilisation des codes sur des sous-corps intermédiaires du corps lié au code Reed-Solomon, contrairement aux systèmes classiques consistant en ce que des codes alternants sont construits à partir du Reed-Solomon Généralisés en prenant pour sous-corps le corps de base. À partir de ces codes, l'invention met en œuvre des techniques classiques de poinçonnage et de raccourcissement de codes tout en respectant la quasi-cyclicité des codes.
[0053] La considération du sous-code sur le sous corps est bien connue dans le domaine des codes correcteurs d'erreurs et notamment dans les publications de J.F MAC WILLIAMS et N.J.A SLOANE dans l'ouvrage intitulé « The theory of error correcting codes », de J.F. MacWilliams et NJA Sloane, North-Holland eds.
[0054] On entend par poinçonnage en plusieurs colonnes de ladite matrice génératrice M une suppression d'au moins une colonne de cette matrice M.
[0055] Dans un exemple si la matrice M correspond à :
Figure imgf000012_0001
après un poinçonnage de la dernière colonne, on obtient la matrice M' poinçonnée suivante :
M M' = f ' 01 11 01 01 [0056] La sélection d'un sous-code sur le sous corps correspond à une opération s'effectuant de la manière suivante, en prenant par exemple un code C de dimension n-k sur une extension. Cette extension correspond à un corps GF(4).
[0057] Le corps GF(4) est une extension du corps binaire GF(2). On créé la matrice du dual D de dimension k du code C.
[0058] Cette matrice du dual D est inscrite dans la base du sous-corps, pour obtenir un code de dimension d.k avec d le degré de l'extension dans le cas GF(4) sur GF(2) le degré de l'extension est 2 sur le sous-corps, on obtient ainsi alors en prenant le dual, le sous-code sur le sous-corps.
[0059] Par exemple on considère le corps à quatre éléments GF(4): {0,1 , w,w2} on prend par exemple la base à deux éléments sur GF(4) de GF(2): 1 et w.dans cette base:
- 0= 0.1 + O.w soit coordonnées (0,0) ;
- 1= 1.1 + 1.w soit (1 ,0) ;
- w= 0.1 + 1.w soit (0,1) ;
- w2=1+w= 1.1+1.w soit (1 ,1).
[0060] Concrètement sur un exemple, soit un code sur GF(4) de matrice duale
Figure imgf000013_0001
on prend l'image de H sur le sous-corps en utilisant la décomposition précédente et on obtient une nouvelle matrice H' sur GF(2) :
Figure imgf000014_0001
[0061] Ainsi le premier élément 1 de H est transformé en 1 , puis w en 0, et w2 en 1 , ainsi de suite.
[0062] Le sous-code sur le sous corps de C est alors la matrice duale de H1.
[0063] Ainsi, l'utilisation de tels codes et notamment de leur propriété de quasi- cyclicité permet de diminuer la taille des clés de plusieurs centaines de kilobits à quelques kilobits (typiquement 6000 bits) ouvrant ainsi la porte aux applications industrielles des cryptosystèmes basés sur les codes, en particulier pour les applications dans le domaine des cartes à puces et des étiquettes RFID.
[0064] De plus, l'invention permet d'intégrer de la haute sécurité dans des dispositifs à très faibles ressources, et fournit une alternative aux mécanismes de sécurité actuels notamment dans le cas où la solidité de ces derniers viendrait à être compromise.
[0065] Le procédé de génération d'une clef publique utilisant une matrice génératrice pour la création de code quasi-cyclique alternant est susceptible d'être mis en œuvre à l'aide du protocole de chiffrement de Mc Eliece ou de Niederreiter.
[0066] L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet.

Claims

REVENDICATIONS
1. Procédé cryptographique de génération d'une clef publique apte à chiffrée des données numérique, dans lequel la clef publique correspond à un code quasi-cyclique alternant, caractérisé en ce que ledit procédé comprend les étapes suivantes :
-création d'une matrice génératrice M provenant de l'application d'une matrice de permutation par bloc Pn et d'une matrice diagonale DΛ à une matrice quasi-cyclique Mk correspondant à un code initial, -génération d'une matrice relative audit code quasi-cyclique alternant à partir d'un poinçonnage en plusieurs colonnes de ladite matrice génératrice M et d'une sélection d'un sous-code sur le sous corps dans cette dite matrice génératrice.
2. Procédé selon la revendication 1 , dans lequel ledit code initial est un code Reed-Solomon généralisé quasi-cyclique.
3. Procédé selon l'une quelconque des revendications 1 et 2, dans lequel ladite matrice diagonale DΛ = Λ x In, avec Λ un nombre scalaire et In une matrice identité, de sorte que les éléments de la diagonale de DΛ correspondent aux coordonnées de Λ.
4. Procédé selon l'une quelconque des revendications précédentes, dans lequel la matrice de permutation Pn est définie par Pn=Pr ® ls, avec Pr correspondant à une matrice de permutation classique sélectionnée aléatoirement et ls à une matrice identité.
5. Procédé selon la revendication 2, dans lequel ladite permutation permet d'obtenir un code de Reed-Solomon généralisé.
6. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'application de la matrice de permutation Pn à la matrice quasi-cyclique de masquage du code initial.
7. Procédé selon l'une quelconque des revendications précédentes, dans lequel la matrice génératrice M est utilisée dans le protocole de Mc Eliece.
8. Procédé selon l'une quelconque des revendications précédentes, dans lequel la matrice génératrice M est utilisée dans le protocole de Niederreiter.
9. Dispositif cryptographique de génération d'une clef publique comprenant des moyens de traitement agencés de sorte à mettre en œuvre le procédé selon l'une quelconques des revendications 1 à 8.
PCT/FR2009/001072 2008-09-08 2009-09-08 Procede cryptographique de generation d'une clef publique WO2010026318A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0856015A FR2935859B1 (fr) 2008-09-08 2008-09-08 Procede cryptographique de generation d'une clef publique
FR08/56015 2008-09-08

Publications (1)

Publication Number Publication Date
WO2010026318A1 true WO2010026318A1 (fr) 2010-03-11

Family

ID=40550196

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2009/001072 WO2010026318A1 (fr) 2008-09-08 2009-09-08 Procede cryptographique de generation d'une clef publique

Country Status (2)

Country Link
FR (1) FR2935859B1 (fr)
WO (1) WO2010026318A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109041028A (zh) * 2018-08-25 2018-12-18 咪付(广州)网络科技有限公司 一种基于蓝牙mesh网络的数据传送方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030066014A1 (en) * 2001-05-16 2003-04-03 Van Dijk Marten Erik Coding for informed decoders

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030066014A1 (en) * 2001-05-16 2003-04-03 Van Dijk Marten Erik Coding for informed decoders

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AUGOT D: "Newton's identities for minimum codewords of a family of alternant codes", PROCEEDINGS 1995 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY (CAT. NO.95CH35738) IEEE NEW YORK, NY, USA, 1995, pages 349, XP002525344, ISBN: 0-7803-2453-6 *
MOCHAN SHRESTHA, LIHAO XU: "EFFICIENT ERASURE DECODING FOR GENERALIZED REED SOLOMON CODES", January 2007 (2007-01-01), pages 1 - 6, XP002525343, Retrieved from the Internet <URL:http://nisl.wayne.edu/Papers/Tech/GRS-Dec.pdf> [retrieved on 20090424] *
PHILIPPE GABORIT ET AL: "Lightweight code-based identification and signature", INFORMATION THEORY, 2007. ISIT 2007. IEEE INTERNATIONAL SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 24 June 2007 (2007-06-24), pages 191 - 195, XP031282082, ISBN: 978-1-4244-1397-3 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109041028A (zh) * 2018-08-25 2018-12-18 咪付(广州)网络科技有限公司 一种基于蓝牙mesh网络的数据传送方法及系统

Also Published As

Publication number Publication date
FR2935859A1 (fr) 2010-03-12
FR2935859B1 (fr) 2010-11-05

Similar Documents

Publication Publication Date Title
CN111868728A (zh) 用于静止数据的免密码保全系统
EP2232765A2 (fr) Procede et entite de chiffrement symetrique probabiliste
EP1151576B1 (fr) Procede cryptographique a cles publique et privee
EP1783659A1 (fr) Identification d&#39;etiquette radiofrequence
EP2158720B1 (fr) Procédé d&#39;authentification utilisant un décodage de code correcteur d&#39;erreurs à partir d&#39;une matrice publique
EP2638660B1 (fr) Protection contre les ecoutes passives
WO2020169542A1 (fr) Méthode cryptographique de vérification des données
FR2956541A1 (fr) Procede cryptographique de communication d&#39;une information confidentielle.
EP2457344B1 (fr) Procede de conversion d&#39;un premier chiffre en un deuxieme chiffre
EP2517397A1 (fr) Procede de chiffrement et de dechiffrement
US20200274709A1 (en) Calculation device for encryption using public key and encryption method thereof
EP3539253A1 (fr) Procédé et dispositif d&#39;émission de données chiffrées, procédé et dispositif d&#39;extraction de données
WO2018096237A1 (fr) Procédé de chiffrement cherchable
US20230155815A1 (en) Secure integer comparison using binary trees
WO2010026318A1 (fr) Procede cryptographique de generation d&#39;une clef publique
EP4096144A1 (fr) Contremesures par infection améliorées
WO2012089632A1 (fr) Procede et systeme permettant de tester une integrite cryptographique d&#39;une donnee tolerante aux erreurs
EP3857810B1 (fr) Procédé cryptographique de comparaison sécurisée de deux données secrètes x et y
EP3008851B1 (fr) Procédé et système de délégation d&#39;un calcul d&#39;une valeur de couplage bilinéaire à un serveur de calcul
EP3843327A1 (fr) Procédé de codage d&#39;un motif d&#39;intégrité cryptographique de faible taille et dispositifs associés
EP1433282A1 (fr) Procede de mise en oeuvre, dans un composant electronique, d&#39;un algorithme de cryptographie permettant de trouver l&#39;exposant public
US11809588B1 (en) Protecting membership in multi-identification secure computation and communication
Jia et al. Module‐LWE‐Based Key Exchange Protocol Using Error Reconciliation Mechanism
Kamel Security for wireless communications
WO2024089378A1 (fr) Procede et dispositif de stockage en ligne reparti de fichiers dans un contexte zero confiance

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09740910

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09740910

Country of ref document: EP

Kind code of ref document: A1