• Aucun résultat trouvé

Le décodage des codes de Goppa appliqué à la Cryptographie Asymétrique

N/A
N/A
Protected

Academic year: 2021

Partager "Le décodage des codes de Goppa appliqué à la Cryptographie Asymétrique"

Copied!
7
0
0

Texte intégral

(1)

HAL Id: ujm-01011835

https://hal-ujm.archives-ouvertes.fr/ujm-01011835

Submitted on 26 Jun 2014

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Le décodage des codes de Goppa appliqué à la

Cryptographie Asymétrique

Tania Richmond

To cite this version:

(2)

Tania RICHMOND Doctorante en Informatique Laboratoire Hubert Curien, 18, Rue du Prof. Benoit Lauras,

42000 Saint-´Etienne, France

tania.richmond@univ-st-etienne.fr

R´esum´e - Pour s´ecuriser les syst`emes de communication, nous utilisons la Cryptographie. Pour corriger un maximum d’erreurs possible lors des transmissions, nous utilisons les codes correcteurs d’erreurs (et la Th´eorie des Codes). C’est dans ce contexte que se place mes recherches de th`ese. De plus, je m’int´eresse `a la fa¸con dont les algorithmes sont traduits en programmes pour le logiciel ou en circuits pour le mat´eriel. Grˆace `a cela, des failles de s´ecurit´e peuvent ˆetre trouv´ees, et mon but est de proposer des contre-mesures.

Mots cl´es - D´ecodage lin´eaire, Codes de Goppa, Cryptographie Asym´etrique, Implantation s´ecuris´ee, Attaque par canaux cach´es.

1

Introduction

1.1 Cryptologie

La cryptologie est l’art de dissimuler un message. Le concept est apparu dans l’Antiquit´e, notamment avec Jules C´esar. La cryptologie comprend la cryptographie, domaine o`u l’on cherche des techniques sˆures pour cacher une information ; et la cryptanalyse, domaine o`u l’on cherche des failles dans les techniques utilis´ees pour cacher un message afin de retrouver de l’information, partielle ou totale, sur le message ou la clef.

1.2 Cryptographie

La cryptographie sym´etrique est le principe apparu dans l’Antiquit´e. Elle consiste `a chiffrer et d´echiffrer en se servant d’une mˆeme clef secr`ete. Ce principe est encore utilis´e de nos jours. La cryptographie asym´etrique, ou `a clef publique, est apparue en 1976 [DH76]. Pour chiffrer un message avec un cryptosyst`eme asym´etrique donn´e, on utilise la clef publique du destinataire. Celui-ci sera alors le seul `a pouvoir d´echiffrer le cryptogramme grˆace `a sa clef priv´ee.

1.3 Cryptanalyse

(3)

13`eme Forum des Jeunes Math´ematicien-ne-s, Lyon

n´ecessaire mais sans intervenir ; et les attaques actives, lors desquelles un attaquant peut modifier le texte chiffr´e, cr´eer une faute, afin de comprendre ce qu’il se passe dans l’algorithme.

2

Codes correcteurs d’erreurs

2.1 G´en´eralit´es

On appelle code correcteur d’erreurs une m´ethode de transformation qui convertit la repr´esen-tation d’une information en une autre. La th´eorie des codes sert `a enlever le bruit ajout´e `a un message (les erreurs) lors d’une transmission sur un canal (dit bruit´e). Afin d’arriver `

a d´etecter et corriger les erreurs, l’id´ee est de rajouter de la redondance d’information `a celle d´ej`a contenue dans le message initial. La correction n’est pas possible quand le nombre d’erreurs est trop grand.

2.2 Codes lin´eaires

Ici, nous nous int´eressons uniquement aux codes lin´eaires. Cela signifie que la redondance est lin´eairement d´ependante de l’information initiale contenue dans le message.

Un code lin´eaire poss`ede un algorithme d’encodage simple, en temps polynomial (raison-nable). Le probl`eme du d´ecodage d’un code lin´eaire quant `a lui, a ´et´e d´emontr´e NP-difficile en 1978 dans [BMvT78]. En revanche, il devient plus facile pour certaines classes de codes pour lesquelles il existe des algorithmes de d´ecodage en temps polynomial, d’o`u l’´etude et la construction de ces classes. Les codes de Goppa en sont une.

2.3 Codes en Cryptographie

La famille des codes de Goppa est celle propos´ee dans le premier cryptosyst`eme `a clef publique bas´e sur les codes correcteurs d’erreurs [McE78]. Elle peut ´egalement ˆetre utilis´ee dans un cryptosyst`eme dit dual [Nie86] et dans un sch´ema de signature [CFS01]. Depuis une dizaine d’ann´ees, de nombreux protocoles ´egalement bas´es sur les probl`emes de la th´eorie des codes ont ´et´e propos´es.

L’objectif de ma th`ese est de r´ealiser une implantation (voire plusieurs) de protocoles cryp-tographiques bas´es sur les codes correcteurs d’erreurs sur divers supports, puis d’analyser le comportement de ces implantations face aux attaques par canaux cach´es.

3

Attaque par canaux cach´

es

3.1 Principe

(4)

cach´e. L’implantation d’un cryptosyst`eme est un compromis entre la s´ecurit´e et l’efficacit´e. C’est pourquoi la cryptanalyse et l’implantation doivent ˆetre consid´er´ees simultan´ement.

3.2 Exemples

Les principales attaques par canaux cach´es sont : l’attaque temporelle et l’attaque par consom-mation d’´energie. L’une exploite les variations de temps de traitement d’un programme, qui d´epend de la taille des donn´ees ; l’autre la consommation d’´energie du syst`eme dans sa glo-balit´e de fa¸con instantan´ee, qui d´epend des traitements `a effectuer sur les donn´ees.

L’´etude du cryptosyst`eme de McEliece face `a ce type d’attaques n’a commenc´e qu’il y a 5 ans [STM+

08].

4

Objectifs

Le but de ma th`ese est d’optimiser les implantations de protocoles cryptographiques bas´es sur les codes correcteurs d’erreurs afin de proposer des solutions efficaces aux niveaux, de la quantit´e de ressources utilis´ees, de la vitesse obtenue, de la consommation d’´energie et de la s´ecurit´e. Pour cela, il est n´ecessaire de rechercher une adaptation des algorithmes (existants) afin d’am´eliorer leurs implantations dans le mat´eriel [SWM+

09, Str10a, Str10b]. En effet, leurs implantations logicielles sont souvent d´ej`a bien ´etudi´ees, mais le travail reste `a faire d’un point de vue mat´eriel.

Les protocoles bas´es sur des probl´ematiques de la th´eorie des codes [BMvT78] sont rapides (en th´eorie), poss`edent une excellente complexit´e th´eorique et r´esisteraient `a des attaques quan-tiques. ( `A l’heure actuelle, il n’existe pas d’algorithme qui r´esout ces probl`emes en temps po-lynomial.) Ces protocoles sont dits post-quantiques car ils doivent leur nom `a leur r´esistance face aux attaques r´ealisables avec un ordinateur quantique. Ces attaques [Sho94, Sho99] per-mettraient en revanche de r´esoudre en temps polynomial les probl`emes de la factorisation [RSA78] et du logarithme discret (probl`emes de base de nombreux cryptosyst`emes actuels). Apr`es avoir dress´e un ´etat de l’art des protocoles cryptographiques bas´es sur les codes cor-recteurs d’erreurs et les probl`emes sur lesquels ils reposent, le travail de cette th`ese consiste `a connaˆıtre les attaques d´ej`a existantes ainsi que les contre-mesures associ´ees [AHPT10, CS10, CYAH+

11, MSSS11, SSMS10, Str10c, Str11, STM+

08] afin d’en trouver d’autres (en s’en inspirant par exemple). Une autre difficult´e est d’adapter les algorithmes pour une implan-tation mat´erielle pour qu’ils soient `a la fois efficaces et sˆurs.

Comme `a l’origine Robert J. McEliece pr´evoyait l’usage des codes de Goppa classiques binaires irr´eductibles pour son cryptosyst`eme [McE78], nous nous sommes concentr´es uniquement sur cette sous-classe de codes lin´eaires. Nous avons ´etudi´e des attaques portant essentiellement sur une utilisation de l’algorithme de Patterson pour le d´ecodage de ces codes (dans le syst`eme de chiffrement `a cl´e publique de McEliece).

5

esultats

(5)

13`eme Forum des Jeunes Math´ematicien-ne-s, Lyon

Une implantation partielle a d’ailleurs ´et´e commenc´ee. Elle correspond `a l’´evaluation d’un polynˆome dont les racines nous permettent de retrouver les positions d’erreurs. Cette ´etape est commune aux trois algorithmes. Deux versions de celle-ci ont ´et´e r´ealis´ees. Elles sont tr`es similaires mais peuvent donner des traces de consommation d’´energie diff´erentes. L’une est la m´ethode simple, l’autre la m´ethode de Horner [Hor19].

Des tests d’attaques sont en cours de r´ealisation afin de d´eterminer s’il existe des canaux cach´es. Si c’est le cas, comment proc´eder, sinon une contre-mesure pourra ˆetre propos´ee. L’objectif est d’obtenir une implantation sˆure pour le d´ecodage des codes de Goppa et de l’int´egrer par la suite `a une implantation s´ecuris´ee des protocoles cryptographiques y faisant appel, comme [McE78, Nie86]. Ces travaux ont ´et´e expos´es `a Crypt’Archi 2013 [RCFV13] et un article a ´et´e soumis et accept´e `a IndoCrypt 2013 [DCCR].

6

Conclusions et perspectives

La communaut´e cryptographique s’est principalement int´eress´ee aux protocoles bas´es sur les probl`emes de la th´eorie des nombres. L’innovation qu’apportent les cryptosyst`emes bas´es sur les codes est forte car un av`enement de l’ordinateur quantique rendrait vuln´erables tous les autres moyens de s´ecurisation des donn´ees. Quand on sait `a quel point la s´ecurit´e de celles-ci est importante, on peut comprendre les risques encourus si des alternatives ne sont pas d´evelopp´ees.

L’objectif principal est de pouvoir d´eterminer quel est le meilleur algorithme de d´ecodage pour les codes de Goppa afin d’obtenir une implantation mat´erielle de l’ensemble du cryptosyst`eme de McEliece.

Ces travaux sont une rencontre entre les Math´ematiques (th´eorie des codes) et l’Informatique (implantation).

7

Remerciements

Je remercie l’´equipe Cryptographie Appliqu´ee et T´el´ecom du Laboratoire Hubert CURIEN `

a Saint-´Etienne, et en particulier mon directeur de th`ese, Viktor FISCHER, ainsi que mon co-encadrant, Pierre-Louis CAYREL. Je tiens ´egalement `a remercier Pascal V´ERON, de l’Institut de Math´ematiques de l’Universit´e du Sud Toulon Var, pour sa collaboration.

ef´

erences

[AHPT10] R.M. Avanzi, S. Hoerder, D. Page, and M. Tunstall. Side-channel attacks on the mceliece and niederreiter public-key cryptosystems. 2010.

[Ber73] E. Berlekamp. Goppa codes. Information Theory, IEEE Transactions on, 19(5) :590–592, 1973.

[BMvT78] E. Berlekamp, R. McEliece, and H. van Tilborg. On the inherent intractability of certain coding problems. IEEE Transactions on Information Theory, 24(3) :384 – 386, may 1978.

(6)

[CS10] P.-L. Cayrel and F. Strenzke. Side channels attacks in code-based cryptography. COSADE 2010 - First International Workshop on Constructive Side-Channel Analysis and Secure Design, Session 2 : Side-Channel Attacks II :24–28, 2010. [CYAH+11] P.-L. Cayrel, S.M. Yousfi Alaoui, G. Hoffmann, M. Meziani, and R. Niebuhr.

Recent progress in code-based cryptography. Information Security and Assu-rance, 200 :21–32, 2011.

[DCCR] V. Dragoi, P.-L. Cayrel, B. Colombier, and T. Richmond. Polynomial structures in code-based cryptography.

[DH76] W. Diffie and M. Hellman. New directions in cryptography. Information Theory, IEEE Transactions on, 22(6) :644–654, 1976.

[Gop70] V. D. Goppa. A new class of linear correcting codes. Problemy Peredachi Infor-matsii, 6(3) :24–30, 1970.

[Hor19] W. G. Horner. A new method of solving numerical equations of all orders, by continuous approximation. Philosophical Transactions of the Royal Society of London, 109 :308–335, 1819.

[Koc96] P. Kocher. Timing attacks on implementations of diffie-hellman, rsa, dss, and other systems. In Advances in Cryptology (CRYPTO’96), pages 104–113. Sprin-ger, 1996.

[Mas69] J. Massey. Shift-register synthesis and BCH decoding. Information Theory, IEEE Transactions on, 15(1) :122–127, 1969.

[McE78] R.J. McEliece. A public-key cryptosystem based on algebraic coding theory. DSN progress report, 42(44) :114–116, 1978.

[MSSS11] H. Molter, M. St¨ottinger, A. Shoufan, and F. Strenzke. A simple power analysis attack on a McEliece cryptoprocessor. Journal of Cryptographic Engineering, 1(1) :29–36, April 2011.

[Nie86] H. Niederreiter. Knapsack-type cryptosystems and algebraic coding theory. Pro-blems of control and information theory, 15(2) :159–166, 1986.

[Pat75] N. Patterson. The algebraic decoding of goppa codes. IEEE Transactions on Information Theory, 21(2) :203–207, 1975.

[RCFV13] T. Richmond, P.-L. Cayrel, V. Fischer, and P. V´eron. A secure implementation of a goppa decoder. In Cryptographic architectures embedded in reconfigurable devices-Cryptarchi 2013, 2013.

[RSA78] R.L. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signa-tures and public-key cryptosystems. Communications of the ACM, 21(2) :120– 126, 1978.

[Sho94] P.W. Shor. Algorithms for quantum computation : discrete logarithms and factoring. In Foundations of Computer Science, 1994 Proceedings., 35th Annual Symposium on, pages 124 –134, nov 1994.

[Sho99] P.W. Shor. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM review, 41(2) :303–332, 1999. [SSMS10] A. Shoufan, F. Strenzke, H. Molter, and M. St¨ottinger. A timing attack against

(7)

13`eme Forum des Jeunes Math´ematicien-ne-s, Lyon

[STM+08] F. Strenzke, E. Tews, H. G. Molter, R. Overbeck, and A. Shoufan. Side Channels

in the McEliece PKC. Post-Quantum Cryptography, 5299(5299/2008) :216–229, October 2008.

[Str10a] F. Strenzke. How to implement the public Key Operations in Code-based Cryp-tography on Memory-constrained Devices. IACR Cryptology ePrint Archive, 2010 :465, 2010.

[Str10b] F. Strenzke. A smart card implementation of the mceliece pkc. Information Security Theory and Practices. Security and Privacy of Pervasive Systems and Smart Devices, 6033 :47–59, 2010.

[Str10c] F. Strenzke. A timing attack against the secret permutation in the mceliece pkc. Post-Quantum Cryptography, 6061 :95–107, 2010.

[Str11] F. Strenzke. Timing attacks against the syndrome inversion in code-based cryp-tosystems. 2011.

[SWM+

Références

Documents relatifs

Le groupe des automorphismes d’un tel système de Steiner (et du code de Golay) est le groupe de Mathieu M 24 , groupe 5 fois transitif sur 24 lettres, d’ordre (24 × 23 × 22 × 21

We give, using a MAGMA program, several examples where this occurs, and where both the initial and twisted codes have same minimum distance, so that initial codes have been

Un pro- blème classique utilisé en cryptographie basée sur les codes correcteurs d’er- reurs est le problème du décodage par syndrome, qui, comme nous allons le voir, est

Maintenant que nous avons un bloc pour eectuer le produit de deux éléments dans un corps ni et que le problème de l'addition n'en était pas un, nous pouvons passer à un bloc

Cyclic Redundancy Check ou méthode des codes polynomiaux Méthode la plus utilisée pour détecter des erreurs groupées Calcule des bits de contrôle en effectuant différentes

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of

En déduire les paramètres

That's one small step for a man, a giant leap for mankind Un premier exercice. Message