9 research outputs found

    Étude de la sécurité de certaines clés compactes pour le schéma de McEliece utilisant des codes géométriques

    Get PDF
    In 1978, McEliece introduce a new public key encryption scheme coming from errors correcting codes theory. The idea is to use an error correcting code whose structure would be hidden, making it impossible to decode a message for anyone who do not know a specific decoding algorithm for the chosen code.The McEliece scheme has some advantages, encryption and decryption are very fast and it is a good candidate for public-key cryptography in the context of quantum computer. The main constraint is that the public key is too large compared to other actual public-key cryptosystems. In this context, we propose to study the using of some quasi-cyclic or quasi-dyadic codes.In this thesis, the two families of interest are: the family of alternant codes and the family of subfield subcode of algebraic geometry codes. We can constructquasi-cyclic alternant codes using an automorphism which acts on the support and the multiplier of the code. In order to estimate the securtiy of these QC codes we study the {\em invariant code}. This invariant code is a smaller code derived from the public key. Actually the invariant code is exactly the subcode of codewords fixed by the automorphism σ\sigma. We show that it is possible to reduce the key-recovery problem on the original quasi-cyclic code to the same problem on the invariant code. This is also true in the case of QC algebraic geometry codes. This result permits us to propose a security analysis of QC codes coming from the Hermitian curve. Moreover, we propose compact key for the McEliece scheme using subfield subcode of AG codes on the Hermitian curve.The case of quasi-dyadic alternant code is also studied. Using the invariant code, with the {\em Schur product} and the {\em conductor} of two codes, we show weaknesses on the scheme using QD alternant codes with extension degree 2. In the case of the submission DAGS, proposed in the context of NIST competition, an attack exploiting these weakness permits to recover the secret key in few minutes for some proposed parameters.En 1978, McEliece introduit un schéma de chiffrement à clé publique issu de la théorie des codes correcteurs d’erreurs. L’idée du schéma de McEliece est d’utiliser un code correcteur dont la structure est masquée, rendant le décodage de ce code difficile pour toute personne ne connaissant pas cette structure. Le principal défaut de ce schéma est la taille de la clé publique. Dans ce contexte, on se propose d'étudier l'utilisation de codes dont on connaît une représentation compacte, en particulier le cas de codes quais-cyclique ou quasi-dyadique. Les deux familles de codes qui nous intéressent dans cette thèse sont: la famille des codes alternants et celle des sous--codes sur un sous--corps de codes géométriques. En faisant agir un automorphisme σ\sigma sur le support et le multiplier des codes alternants, on sait qu'il est possible de construire des codes alternants quasi-cycliques. On se propose alors d'estimer la sécurité de tels codes à l'aide du \textit{code invariant}. Ce sous--code du code public est constitué des mots du code strictement invariant par l'automorphisme σ\sigma. On montre ici que la sécurité des codes alternants quasi-cyclique se réduit à la sécurité du code invariant. Cela est aussi valable pour les sous--codes sur un sous--corps de codes géométriques quasi-cycliques. Ce résultat nous permet de proposer une analyse de la sécurité de codes quasi-cycliques construit sur la courbe Hermitienne. En utilisant cette analyse nous proposons des clés compactes pour la schéma de McEliece utilisant des sous-codes sur un sous-corps de codes géométriques construits sur la courbe Hermitienne. Le cas des codes alternants quasi-dyadiques est aussi en partie étudié. En utilisant le code invariant, ainsi que le \textit{produit de Schur} et le \textit{conducteur} de deux codes, nous avons pu mettre en évidence une attaque sur le schéma de McEliece utilisant des codes alternants quasi-dyadique de degré 22. Cette attaque s'applique notamment au schéma proposé dans la soumission DAGS, proposé dans le contexte de l'appel du NIST pour la cryptographie post-quantique

    Codage dans les réseaux

    Get PDF
    La fiabilité des transmissions est un des principaux problèmes qu’ont à résoudre les concepteurs de systèmes de communication. Parmi les mécanismes de fiabilité, les codes correcteurs d’erreurs permettent de protéger les données transmises de manière pro-active contre les erreurs de transmission. Historiquement, ces codes étaient principalement utilisés sur la couche physique. L’augmentation de la puissance des machines a permis de les intégrer sur les couches hautes des piles de protocoles de communication depuis le milieu des années 90. Cette intégration a ouvert de nouvelles problématiques de recherche. L’une d’entre elles est la conception de codes adaptés aux contraintes des systèmes dans lesquels ils sont intégrés. La première partie des travaux présentés dans ce mémoire concerne ce thème. Nous avons en particulier fait plusieurs propositions pour améliorer les vitesses de codage et de décodage en logiciel des codes MDS (dont les représentants les plus connus sont les codes de Reed- Solomon). Une RFC est en cours de publication à l’IETF sur ce sujet. Une modification de la structure de ces codes nous a permis de les adapter aux transmissions multimédia en introduisant des niveaux de protection variables entre les symboles d’un même mot de code. Enfin, en relâchant au maximum leur structure, nous avons construit un système de codage "à la volée" s’intégrant particulièrement bien dans des protocoles de communication classiques. La seconde thématique concerne la distribution des mécanismes de fiabilité et de la redondance sur les différentes couches protocolaires. Nous avons par exemple étudié la possibilité de laisser des paquets corrompus remonter les couches pour être corrigés ou simplement traités par les couches hautes. Lors de collaborations avec le CNES et Thalès Alénia Space, nous avons étudié le cas des transmissions multimédia de satellites vers des mobiles (SDMB et DVB-SH) en analysant les différentes solutions de distribution de la redondance sur les couches physique, liaison et les couches hautes. Différentes applications de ce travail ont débouché sur le dépôt de 2 brevets. Le dernier volet de nos recherches concerne les applications des codes à effacement. Nous avons présenté des contributions sur l’utilisation de codes à effacement dans les réseaux pairà-pair. En particulier, dès 2002, nous avons montré comment les codes permettaient d’accélérer les temps de téléchargement dans ce type de réseau. Nous avons aussi proposé une application particulière du codage réseau en montrant que cette technique peut réduire les bornes des délais de bout-en-bout des paquets dans des réseaux fournissant des garanties sur la qualité de service

    Méthodes algébriques pour l'analyse de sécurité des implantations d'algorithmes cryptographiques

    Get PDF
    The 10th Hilbert problem, which consists in finding integer solutions to polynomial equations is a crucial problem in cryptanalysis, which has been proven to be undecidable. However, Coppersmith published in 1996 a method based on lattice reduction, which allows to efficiently find all small solutions to some polynomial equations. Many applications of this method have risen in public key cryptanalysis, especially when the cryptosystem is executed on embedded systems and part of the secret key is revealed through physical attacks performed on the device. In this context, we propose in this thesis a physical attack on the RSA signature scheme when the CRT mode is used, where an application of Coppersmith's method allows to complete the information previously obtained by the physical attack. We also propose a new deterministic algorithm based on Coppersmith's method for factoring integers of the form N=p^{r}q^{s} in polynomial time, under the condition that r and/or s are sufficiently large. Finally, if the applications of Coppersmith's method are numerous, in practice, since the lattices to be reduced are huge, the small solutions can only be recovered until a bound which is smaller than the enounced theoretical bound. Thus, another contribution of this thesis lies in the proposition of two methods which allow to speed up the execution time of Coppersmith's algorithm. When both speedups are combined, the new algorithm performs hundreds of times faster for typical parameters, which allows to reach the theoretical bound in many cases.Le 10ème problème de Hilbert, consistant à trouver les solutions entières d'équations polynomiales est un problème crucial en cryptanalyse. Si ce dernier a été prouvé indécidable, Coppersmith publia en 1996 une méthode basée sur la réduction de réseaux permettant de trouver efficacement l'ensemble des petites solutions de certaines équations polynomiales. De nombreuses applications de cette méthode ont vu le jour dans le domaine de la cryptanalyse à clé publique, notamment lorsque le cryptosystème est exécuté sur un système embarqué et qu'une partie de la clé secrète est dévoilée par la réalisation d'attaques physiques sur le dispositif. Dans ce contexte, nous proposons une attaque physique sur le schéma de signature RSA en mode CRT où une application de la méthode de Coppersmith permet de compléter l'information obtenue par l'attaque physique. Nous proposons également un nouvel algorithme déterministe basé sur la méthode de Coppersmith pour factoriser les entiers de la forme N=p^{r}q^{s} en temps polynomial lorsque r ou s sont suffisamment grands. Enfin, si les applications de la méthode de Coppersmith sont nombreuses, en pratique, du fait que les réseaux à réduire soient gigantesques, les petites solutions ne peuvent être retrouvées que jusqu'à une borne qui est plus petite que la borne théorique annoncée. Aussi, une autre contribution de cette thèse consiste en la proposition de deux méthodes permettant une accélération du temps d'exécution de l'algorithme de Coppersmith. Lorsque les deux méthodes sont combinées, le nouvel algorithme s'effectue des centaines de fois plus rapidement pour des paramètres typiques, permettant ainsi dans de nombreux cas d'atteindre la borne théorique

    Techniques algébriques pour le décodage des codes de Reed-Solomon et cryptanalyse des schémas de type McEliece

    No full text
    Algebraic error-correcting codes respond to numerous needs that emerge from the world of digital communications and information. The mathematical structure of these families of codes allows the design of efficient encoding and decoding algorithms, thus enabling a variety of applications in modern technologies. In this manuscript, we delve into two of these aspects. First, we tackle the decoding problem for Reed-Solomon codes. We propose a new strategy that consists of solving a polynomial system, whose equations are connected to the power decoding algorithm, by using Gröbner bases techniques. We show that for some parameters our approach allows to reach and exceed Johnson's radius. We then move to some topics related to code-based cryptography. The oldest public key encryption scheme relying on codes was proposed in 1978 by McEliece. After more than four decades, McEliece's scheme is still secure and even quantum computers do not represent a threat. We analyze the algebraic structure and the security of subfield subcodes of Reed-Solomon codes, namely alternant and Goppa codes. Among others, McEliece's scheme is built upon binary Goppa codes. We investigate an algebraic method that allows to distinguish alternant and Goppa codes from random ones, provided that their rate is high enough. This study brings us to develop a polynomial-time attack on high-rate alternant codes. Again, we exploit Gröbner bases to solve a polynomial system that models the key-recovery problem. Finally, we give a procedure to enhance in some cases the range of distinguishable parameters.Les codes correcteurs d'erreurs algébriques répondent à de nombreux besoins du monde des communications et de l'information. La structure mathématique de ces familles de codes permet la conception d'algorithmes de codage et de décodage efficaces, permettant ainsi une variété d'applications technologiques. Dans ce manuscrit, nous nous intéressons à deux de ces aspects. Premièrement, nous abordons le problème du décodage des codes de Reed-Solomon. Nous proposons une nouvelle stratégie qui consiste à résoudre un système polynomial, dont les équations sont liées au ``power decoding'', en utilisant des techniques de bases de Gröbner. Nous montrons que pour certains paramètres notre approche permet d'atteindre et de dépasser le rayon de Johnson. Nous abordons ensuite la cryptographie à base de codes. Le plus ancien schéma de chiffrement à clé publique reposant sur des codes a été proposé en 1978 par McEliece. Après plus de quarante ans, le schéma de McEliece est toujours sûr et ce même vis à vis des ordinateurs quantiques. Nous analysons la structure algébrique et la sécurité des codes de Goppa et d'une famille plus large, les codes alternants. Le schéma de McEliece est construit à partir de codes de Goppa binaires. Nous étudions une méthode qui permet de distinguer ces derniers de codes aléatoires, pour peu que leur rendement soit suffisamment élevé. Nous développons aussi une attaque en temps polynomial sur les codes alternants à rendement élevé. Là encore, nous exploitons les bases de Gröbner pour résoudre un système qui modélise le problème de retrouver la clé secrète. Enfin, nous donnons une procédure pour améliorer dans certains cas la gamme des paramètres distinguables

    Techniques algébriques pour le décodage des codes de Reed-Solomon et cryptanalyse des schémas de type McEliece

    No full text
    Résumé Algebraic error-correcting codes respond to numerous needs that emerge from the world of digital communications and information. The mathematical structure of these families of codes allows the design of efficient encoding and decoding algorithms, thus enabling a variety of applications in modern technologies. In this manuscript, we delve into two of these aspects. First, we tackle the decoding problem for Reed-Solomon codes. We propose a new strategy that consists of solving a polynomial system, whose equations are connected to the power decoding algorithm, by using Gröbner bases techniques. We show that for some parameters our approach allows to reach and exceed Johnson's radius. We then move to some topics related to code-based cryptography. The oldest public key encryption scheme relying on codes was proposed in 1978 by McEliece. After more than four decades, McEliece's scheme is still secure and even quantum computers do not represent a threat. We analyze the algebraic structure and the security of subfield subcodes of Reed-Solomon codes, namely alternant and Goppa codes. Among others, McEliece's scheme is built upon binary Goppa codes. We investigate an algebraic method that allows to distinguish alternant and Goppa codes from random ones, provided that their rate is high enough. This study brings us to develop a polynomial-time attack on high-rate alternant codes. Again, we exploit Gröbner bases to solve a polynomial system that models the key-recovery problem. Finally, we give a procedure to enhance in some cases the range of distinguishable parameters.Les codes correcteurs d'erreurs algébriques répondent à de nombreux besoins du monde des communications et de l'information. La structure mathématique de ces familles de codes permet la conception d'algorithmes de codage et de décodage efficaces, permettant ainsi une variété d'applications technologiques. Dans ce manuscrit, nous nous intéressons à deux de ces aspects. Premièrement, nous abordons le problème du décodage des codes de Reed-Solomon. Nous proposons une nouvelle stratégie qui consiste à résoudre un système polynomial, dont les équations sont liées au ``power decoding'', en utilisant des techniques de bases de Gröbner. Nous montrons que pour certains paramètres notre approche permet d'atteindre et de dépasser le rayon de Johnson. Nous abordons ensuite la cryptographie à base de codes. Le plus ancien schéma de chiffrement à clé publique reposant sur des codes a été proposé en 1978 par McEliece. Après plus de quarante ans, le schéma de McEliece est toujours sûr et ce même vis à vis des ordinateurs quantiques. Nous analysons la structure algébrique et la sécurité des codes de Goppa et d'une famille plus large, les codes alternants. Le schéma de McEliece est construit à partir de codes de Goppa binaires. Nous étudions une méthode qui permet de distinguer ces derniers de codes aléatoires, pour peu que leur rendement soit suffisamment élevé. Nous développons aussi une attaque en temps polynomial sur les codes alternants à rendement élevé. Là encore, nous exploitons les bases de Gröbner pour résoudre un système qui modélise le problème de retrouver la clé secrète. Enfin, nous donnons une procédure pour améliorer dans certains cas la gamme des paramètres distinguables

    Techniques algébriques pour le décodage des codes de Reed-Solomon et cryptanalyse des schémas de type McEliece

    No full text
    Les codes correcteurs d'erreurs algébriques répondent à de nombreux besoins du monde des communications et de l'information. La structure mathématique de ces familles de codes permet la conception d'algorithmes de codage et de décodage efficaces, permettant ainsi une variété d'applications technologiques. Dans ce manuscrit, nous nous intéressons à deux de ces aspects. Premièrement, nous abordons le problème du décodage des codes de Reed-Solomon. Nous proposons une nouvelle stratégie qui consiste à résoudre un système polynomial, dont les équations sont liées au ``power decoding'', en utilisant des techniques de bases de Gröbner. Nous montrons que pour certains paramètres notre approche permet d'atteindre et de dépasser le rayon de Johnson. Nous abordons ensuite la cryptographie à base de codes. Le plus ancien schéma de chiffrement à clé publique reposant sur des codes a été proposé en 1978 par McEliece. Après plus de quarante ans, le schéma de McEliece est toujours sûr et ce même vis à vis des ordinateurs quantiques. Nous analysons la structure algébrique et la sécurité des codes de Goppa et d'une famille plus large, les codes alternants. Le schéma de McEliece est construit à partir de codes de Goppa binaires. Nous étudions une méthode qui permet de distinguer ces derniers de codes aléatoires, pour peu que leur rendement soit suffisamment élevé. Nous développons aussi une attaque en temps polynomial sur les codes alternants à rendement élevé. Là encore, nous exploitons les bases de Gröbner pour résoudre un système qui modélise le problème de retrouver la clé secrète. Enfin, nous donnons une procédure pour améliorer dans certains cas la gamme des paramètres distinguables.Résumé Algebraic error-correcting codes respond to numerous needs that emerge from the world of digital communications and information. The mathematical structure of these families of codes allows the design of efficient encoding and decoding algorithms, thus enabling a variety of applications in modern technologies. In this manuscript, we delve into two of these aspects. First, we tackle the decoding problem for Reed-Solomon codes. We propose a new strategy that consists of solving a polynomial system, whose equations are connected to the power decoding algorithm, by using Gröbner bases techniques. We show that for some parameters our approach allows to reach and exceed Johnson's radius. We then move to some topics related to code-based cryptography. The oldest public key encryption scheme relying on codes was proposed in 1978 by McEliece. After more than four decades, McEliece's scheme is still secure and even quantum computers do not represent a threat. We analyze the algebraic structure and the security of subfield subcodes of Reed-Solomon codes, namely alternant and Goppa codes. Among others, McEliece's scheme is built upon binary Goppa codes. We investigate an algebraic method that allows to distinguish alternant and Goppa codes from random ones, provided that their rate is high enough. This study brings us to develop a polynomial-time attack on high-rate alternant codes. Again, we exploit Gröbner bases to solve a polynomial system that models the key-recovery problem. Finally, we give a procedure to enhance in some cases the range of distinguishable parameters

    Décodage des codes en bloc et des codes convolutifs en métrique rang

    No full text
    Rank-metric codes recently attract a lot of attention due to their possible application to network coding, cryptography, space-time coding and distributed storage. An optimal-cardinality algebraic code construction in rank metric was introduced some decades ago by Delsarte, Gabidulin and Roth. This Reed–Solomon-like code class is based on the evaluation of linearized polynomials and is nowadays called Gabidulin codes. This dissertation considers block and convolutional codes in rank metric with the objective of designing and investigating efficient decoding algorithms for both code classes. After giving a brief introduction to codes in rank metric and their properties, we first derive sub-quadratic-time algorithms for operations with linearized polynomials and state a new bounded minimum distance decoding algorithm for Gabidulin codes. This algorithm directly outputs the linearized evaluation polynomial of the estimated codeword by means of the (fast) linearized Euclidean algorithm. Second, we present a new interpolation-based algorithm for unique and (not necessarily polynomial-time) list decoding of interleaved Gabidulin codes. This algorithm decodes most error patterns of rank greater than half the minimum rank distance by efficiently solving two linear systems of equations. As a third topic, we investigate the possibilities of polynomial-time list decoding of rank-metric codes in general and Gabidulin codes in particular. For this purpose, we derive three bounds on the list size. These bounds show that the behavior of the list size for both, Gabidulin and rank-metric block codes in general, is significantly different from the behavior of Reed–Solomon codes and block codes in Hamming metric, respectively. The bounds imply, amongst others, that there exists no polynomial upper bound on the list size in rank metric as the Johnson bound in Hamming metric, which depends only on the length and the minimum rank distance of the code. Finally, we introduce a special class of convolutional codes in rank metric and propose an efficient decoding algorithm for these codes. These convolutional codes are (partial) unit memory codes, built upon rank-metric block codes. This structure is crucial in the decoding process since we exploit the efficient decoders of the underlying block codes in order to decode the convolutional code.Les code en métrique rang attirent l’attention depuis quelques années en raison de leur application possible au codage réseau linéaire aléatoire (random linear network coding), à la cryptographie à clé publique, au codage espace-temps et aux systèmes de stockage distribué. Une construction de codes algébriques en métrique rang de cardinalité optimale a été introduite par Delsarte, Gabidulin et Roth il y a quelques décennies. Ces codes sont considérés comme l’équivalent des codes de Reed – Solomon et ils sont basés sur l’évaluation de polynômes linéarisés. Ils sont maintenant appelés les codes de Gabidulin. Cette thèse traite des codes en bloc et des codes convolutifs en métrique rang avec l’objectif de développer et d’étudier des algorithmes de décodage efficaces pour ces deux classes de codes. Après une introduction dans le chapitre 1, le chapitre 2 fournit une introduction rapide aux codes en métrique rang et leurs propriétés. Dans le chapitre 3, on considère des approches efficaces pour décoder les codes de Gabidulin. Lapremière partie de ce chapitre traite des algorithmes rapides pour les opérations sur les polynômes linéarisés. La deuxième partie de ce chapitre résume tout d’abord les techniques connues pour le décodage jusqu’à la moitié de la distance rang minimale (bounded minimum distance decoding) des codes de Gabidulin, qui sont basées sur les syndromes et sur la résolution d’une équation clé. Ensuite, nous présentons et nous prouvons un nouvel algorithme efficace pour le décodage jusqu’à la moitié de la distance minimale des codes de Gabidulin. Le chapitre 4 est consacré aux codes de Gabidulin entrelacés et à leur décodage au-delà de la moitié de la distance rang minimale. Dans ce chapitre, nous décrivons d’abord les deux approches connues pour le décodage unique et nous tirons une relation entre eux et leurs probabilités de défaillance. Ensuite, nous présentons un nouvel algorithme de décodage des codes de Gabidulin entrelacés basé sur l’interpolation des polynômes linéarisés. Nous prouvons la justesse de ses deux étapes principales — l’interpolation et la recherche des racines — et montrons que chacune d’elles peut être effectuée en résolvant un système d’équations linéaires. Jusqu’à présent, aucun algorithme de décodage en liste en temps polynomial pour les codes de Gabidulin n’est connu et en fait il n’est même pas clair que cela soit possible. Cela nous a motivé à étudier, dans le chapitre 5, les possibilités du décodage en liste en temps polynomial des codes en métrique rang. Cette analyse est effectuée par le calcul de bornes sur la taille de la liste des codes en métriques rang en général et des codes de Gabidulin en particulier. Étonnamment, les trois nouvelles bornes révèlent toutes un comportement des codes en métrique rang qui est complètement différent de celui des codes en métrique de Hamming. Enfin, dans le chapitre 6, on introduit des codes convolutifs en métrique rang. Ce qui nous motive à considérer ces codes est le codage réseau linéaire aléatoire multi-shot, où le réseau inconnu varie avec le temps et est utilisé plusieurs fois. Les codes convolutifs créent des dépendances entre les utilisations différentes du réseau aun de se adapter aux canaux difficiles. Basé sur des codes en bloc en métrique rang (en particulier les codes de Gabidulin), nous donnons deux constructions explicites des codes convolutifs en métrique rang. Les codes en bloc sous-jacents nous permettent de développer un algorithme de décodage des erreurs et des effacements efficace pour la deuxième construction, qui garantit de corriger toutes les séquences d’erreurs de poids rang jusqu’à la moitié de la distance rang active des lignes. Un résumé et un aperçu des problèmes futurs de recherche sont donnés à la fin de chaque chapitre. Finalement, le chapitre 7 conclut cette thèse

    Décodage des codes en bloc et des codes convolutifs en métrique rang

    No full text
    Les code en métrique rang attirent l attention depuis quelques années en raison de leur application possible au codage réseau linéaire aléatoire (random linear network coding), à la cryptographie à clé publique, au codage espace-temps et aux systèmes de stockage distribué. Une construction de codes algébriques en métrique rang de cardinalité optimale a été introduite par Delsarte, Gabidulin et Roth il y a quelques décennies. Ces codes sont considérés comme l équivalent des codes de Reed Solomon et ils sont basés sur l évaluation de polynômes linéarisés. Ils sont maintenant appelés les codes de Gabidulin. Cette thèse traite des codes en bloc et des codes convolutifs en métrique rang avec l objectif de développer et d étudier des algorithmes de décodage efficaces pour ces deux classes de codes. Après une introduction dans le chapitre 1, le chapitre 2 fournit une introduction rapide aux codes en métrique rang et leurs propriétés. Dans le chapitre 3, on considère des approches efficaces pour décoder les codes de Gabidulin. Lapremière partie de ce chapitre traite des algorithmes rapides pour les opérations sur les polynômes linéarisés. La deuxième partie de ce chapitre résume tout d abord les techniques connues pour le décodage jusqu à la moitié de la distance rang minimale (bounded minimum distance decoding) des codes de Gabidulin, qui sont basées sur les syndromes et sur la résolution d une équation clé. Ensuite, nous présentons et nous prouvons un nouvel algorithme efficace pour le décodage jusqu à la moitié de la distance minimale des codes de Gabidulin. Le chapitre 4 est consacré aux codes de Gabidulin entrelacés et à leur décodage au-delà de la moitié de la distance rang minimale. Dans ce chapitre, nous décrivons d abord les deux approches connues pour le décodage unique et nous tirons une relation entre eux et leurs probabilités de défaillance. Ensuite, nous présentons un nouvel algorithme de décodage des codes de Gabidulin entrelacés basé sur l interpolation des polynômes linéarisés. Nous prouvons la justesse de ses deux étapes principales l interpolation et la recherche des racines et montrons que chacune d elles peut être effectuée en résolvant un système d équations linéaires. Jusqu à présent, aucun algorithme de décodage en liste en temps polynomial pour les codes de Gabidulin n est connu et en fait il n est même pas clair que cela soit possible. Cela nous a motivé à étudier, dans le chapitre 5, les possibilités du décodage en liste en temps polynomial des codes en métrique rang. Cette analyse est effectuée par le calcul de bornes sur la taille de la liste des codes en métriques rang en général et des codes de Gabidulin en particulier. Étonnamment, les trois nouvelles bornes révèlent toutes un comportement des codes en métrique rang qui est complètement différent de celui des codes en métrique de Hamming. Enfin, dans le chapitre 6, on introduit des codes convolutifs en métrique rang. Ce qui nous motive à considérer ces codes est le codage réseau linéaire aléatoire multi-shot, où le réseau inconnu varie avec le temps et est utilisé plusieurs fois. Les codes convolutifs créent des dépendances entre les utilisations différentes du réseau aun de se adapter aux canaux difficiles. Basé sur des codes en bloc en métrique rang (en particulier les codes de Gabidulin), nous donnons deux constructions explicites des codes convolutifs en métrique rang. Les codes en bloc sous-jacents nous permettent de développer un algorithme de décodage des erreurs et des effacements efficace pour la deuxième construction, qui garantit de corriger toutes les séquences d erreurs de poids rang jusqu à la moitié de la distance rang active des lignes. Un résumé et un aperçu des problèmes futurs de recherche sont donnés à la fin de chaque chapitre. Finalement, le chapitre 7 conclut cette thèse.Rank-metric codes recently attract a lot of attention due to their possible application to network coding, cryptography, space-time coding and distributed storage. An optimal-cardinality algebraic code construction in rank metric was introduced some decades ago by Delsarte, Gabidulin and Roth. This Reed Solomon-like code class is based on the evaluation of linearized polynomials and is nowadays called Gabidulin codes. This dissertation considers block and convolutional codes in rank metric with the objective of designing and investigating efficient decoding algorithms for both code classes. After giving a brief introduction to codes in rank metric and their properties, we first derive sub-quadratic-time algorithms for operations with linearized polynomials and state a new bounded minimum distance decoding algorithm for Gabidulin codes. This algorithm directly outputs the linearized evaluation polynomial of the estimated codeword by means of the (fast) linearized Euclidean algorithm. Second, we present a new interpolation-based algorithm for unique and (not necessarily polynomial-time) list decoding of interleaved Gabidulin codes. This algorithm decodes most error patterns of rank greater than half the minimum rank distance by efficiently solving two linear systems of equations. As a third topic, we investigate the possibilities of polynomial-time list decoding of rank-metric codes in general and Gabidulin codes in particular. For this purpose, we derive three bounds on the list size. These bounds show that the behavior of the list size for both, Gabidulin and rank-metric block codes in general, is significantly different from the behavior of Reed Solomon codes and block codes in Hamming metric, respectively. The bounds imply, amongst others, that there exists no polynomial upper bound on the list size in rank metric as the Johnson bound in Hamming metric, which depends only on the length and the minimum rank distance of the code. Finally, we introduce a special class of convolutional codes in rank metric and propose an efficient decoding algorithm for these codes. These convolutional codes are (partial) unit memory codes, built upon rank-metric block codes. This structure is crucial in the decoding process since we exploit the efficient decoders of the underlying block codes in order to decode the convolutional code.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF

    Contribution to Post-Quantum Cryptography

    No full text
    La cryptographie à clé publique a prouvé son importance depuis l'émergence de RSA et ECC (Cryptographie à base de courbe elliptique) dont la sécurité repose sur notre incapacité à factoriser de grands nombres et à résoudre de grandes instances du probleme du logarithme discret. Ces problèmes, réputés difficiles à résoudre sur un ordinateur classique, seront cassé par l'algorithme de Shor dès qu'un ordinateur quantique de taille suffisante sera conçu. Bien qu'un tel ordinateur n'existe pas encore, les progrès récents de l'ingénierie quantique ont laissé entrevoir l'avenir fragile des cryptosystèmes à clé publique actuels et nous incitent à passer le plus rapidement possible à une cryptographie résistante à la cryptanalyse quantique, c'est-à-dire la cryptographie post-quantique.Le National Institute of Standards and Technologies (NIST) a lancé un concours visant à sélectionner les cryptosystèmes post-quantiques les plus prometteurs pour les schémas de chiffrement et de signature numérique. Cette thèse contribue à l'évaluation de la cryptographie post-quantique sur plusieurs aspects. Premièrement, nous avons évalué la résistance de deux schémas basés sur des codes, RQC et HQC, aux attaques temporelles et nous avons observé que le temps utilisé pour le décodage dans les schémas dépend du poids de l'erreur. Cette corrélation nous a permis de construire des attaques temporelles sur les deux schémas en tirant parti de la fuite temporelle. Pour RQC, nous avons vu que la métrique de rang rendait notre attaque difficilement praticable en condition réelle. Cependant, pour HQC, l'attaque a permis de récupérer la clé privée en un temps raisonnable.Nous avons également proposé une adaptation en temps constant de l'algorithme de décodage des codes de Gabidulin pour rendre l'attaque sur RQC complètement impraticable. Deuxièmement, nous avons consacré notre temps à l'implémentation d'algorithmes de réduction emph{efficace} des réseaux algébriques. Nous avons étudié l'extension des réductions classiques de réseaux sur Z au contexte algébrique puisque de nombreux schémas basés sur des réseaux reposent en fait sur des réseaux algébriques, dotés de symétries permettant de réduire à la fois la bande passante et la complexité de calcul.Nous nous intéressons aux réseaux algébriques sur les anneaux d'entiers euclidiens de corps de nombres quadratiques imaginaires et en particulier, Z[i]. Le résultat obtenu est une extension rapide et prouvée de fplll sur Z[i] incluant LLL, l'énumération pour résoudre SVP (Shortest Vector Problem), et l'algorithme BKZ. De plus, ces algorithmes ont d'autres applications que la cryptanalyse, en particulier l'algorithme LLL qui est populaire d'en beaucoup de domaines.Troisièmement, nous avons proposé plusieurs améliorations pour la procédure de signature du schéma de signature Falcon, basé sur les réseaux.Ces optimisations, simples à mettre en œuvre, accélèrent la signature et réduisent l'empreinte mémoire de plus de 30 %, un facteur important pour les dispositifs à mémoire limitée tels que les microcontrôleurs ou les FPGA.Enfin, nous avons proposé une première approche de la procédure de signature de Falcon sur FPGA en utilisant de la synthèse de haut niveau (HLS).À notre connaissance, aucune implémentation de cet algorithme n'a été annoncée publiquement auparavant. Bien que notre design ne soit pas complet, notre analyse permet d'estimer concrètement la consommation de ressources ainsi que la latence qu'une implémentation complète devrait atteindre sur les FPGA de Xilinx.Public-key cryptography has proved its importance ever since the emergence of RSA and ECC (Elliptic Curve Cryptography) whose security is based on our incapability to factor big integers and to solve big instances of the Discrete Logarithm Problem (DLP).These problems, which are hard to solve in polynomial time using a classical computer, will be broken by Shor algorithm once a large enough quantum computer appears.Albeit such a computer does not exist yet, recent advancements in quantum engineering has foreshadowed the fragile future of nowadays public-key cryptosystems and urge us to transition to cryptography resistant to quantum cryptanalysis i.e., post-quantum cryptography, as soon as possible.The National Institute of Standards and Technologies (NIST) has started a competition to select the most promising post-quantum cryptosystems, for encryption and digital signature schemes.This thesis contributes to the evaluation of post-quantum cryptography on several aspects.Firstly, we evaluated the resistance of two code-based schemes RQC and HQC to timing attacks and observed that the time used for decoding in the schemes depends on the weight of the error.Consequently, we constructed timing attacks on both schemes by taking advantage of the timing leakage.For RQC, we saw that the rank metric made our attack hardly practicable in real condition.However, for HQC, the attack successfully recovers the private key in reasonable time.We also proposed a constant-time adaptation of decoding algorithm of Gabidulin codes to make the attack on RQC completely impracticable.Secondly, we dedicated our time to implement emph{efficient} reduction algorithms of algebraic lattices.We studied the extension of classical lattice reductions on Z to algebraic context since many lattice-based schemes actually rely on algebraic lattices, equipped with symmetries allowing to reduce both bandwidth and computational complexity.Our interests are algebraic lattices on Euclidean rings of integers of an imaginary quadratic field and in particular, Z[i].The obtained result is a fast and proven extension of fplll on Z[i] including LLL, enumeration and BKZ algorithm for solving SVP (Shortest Vector Problem).Moreover, those algorithms have more applications other than cryptanalysis, particularly the LLL algorithm that is popular in many fields.Thirdly, we proposed several improvements for the signing procedure in the lattice-based signature scheme Falcon.Those easy-to-implement optimizations speed up the signature and reduce the memory footprint by more than 30 %, an important factor on memory-constrained devices such as microcontrollers or FPGAs.Finally, we proposed a first approach to the signing procedure of Falcon on FPGA using High Level Synthesis (HLS).To the best of our knowledge, no such implementation of this algorithm was publicly announced before.Although our design is not complete, our analysis allows to estimate concrete resource consumption as well as latency that a complete implementation should achieve on Xilinx FPGAs
    corecore