Implémentation efficace de primitive cryptographique pour le couplage sur carte FPGA

Abstract

Le défi primaire dans le développement matériel de la cryptographie moderne est de faire des implémentations optimales en ressources, et rapide, en garantissant une résistance contre les attaques. Cette recherche porte sur les implémentations pratiques des opérations de cryptographie basées sur la cryptographie à clé publique dans les corps finis. Durant cette thèse nous avons proposé des composants matériels de base. L'arithmétique des corps finis constitue le noyau de la cryptographie à clé publique comme RSA, ECC ou une cryptographie basée sur le couplage. Nous avons proposé dans cette thèse des architectures du calcul arithmétique haute performance pour implémenter les primitives de cryptographie asymétrique. Les composants décrits dans notre travail ont été implémentés dans des Field Programmable Gate Array platforms (FPGA) de Xilinx. Nous avons utilisé le VHDL pour développer nos composants et nos architectures. Nos résultats présentent des performances en ressources et en vitesse jamais égalées auparavant dans la littérature publique sur ce type de technologie. La particularité de ces architectures est l'utilisation de l'architecture systolique pour développer une multiplication modulaire. Cette thèse traite la mise en œuvre matérielle efficace de la méthode CIOS (Coarsely Integrated Operand Scanning) de la multiplication modulaire de Montgomery combinée avec une architecture systolique efficace. D'après nos connaissances, c'est la première implémentation d'une telle conception. Nos architectures visaient à réduire le nombre de cycles d'horloge de la multiplication modulaire. Les résultats d'implémentation des algorithmes CIOS se concentrent sur différents niveaux de sécurité utiles en cryptographie. Cette architecture a été conçue pour utiliser le DSP48 flexible sur les FPGA de Xilinx. Nos architectures sont évolutives et dépendent uniquement du nombre et de la taille des mots. Par exemple, nous fournissons des résultats d'implémentation pour des longs mots de 8, 16, 32 et 64 bits en 33, 66, 132 et 264 cycles d'horloge. Nous décrivons également un design pour calculer une inversion et/ou une division dans Fp. L'inversion peut être utilisée dans les systèmes de la cryptographie de courbe elliptique et de la cryptographie basée sur le couplage.The primary challenge in the hardware development of the modern cryptography is to make an optimal implementations in resources and speed, with guaranteeing a resistance against attacks. This research focuses on practical implementations of cryptographic operations based on public key cryptography in finite fields. During this thesis we proposed basic hardware components. Finite field arithmetic is the core of public key cryptography such as RSA, ECC, or pairing-based cryptography. We proposed in this thesis a high-performance architectures of arithmetic calculation to implement asymmetric cryptographic primitives. The components described in this thesis have been implemented in Xlinx Field Programmable Gate Array Platforms (FPGAs). We used the VHDL to devolve our components and architectures. Our results show a performance and speed never presented before in the literature on this type of technology. The particularity of these architectures is the use of systolic architecture to develop a modular multiplication. This thesis deals with the effective physical implementation of the Coarsely Integrated Operand Scanning (CIOS) method of Montgomery's modular multiplication combined with an effective systolic architecture. According to our knowledge, this is the first implementation of such a design. Our architectures were aimed at reducing the number of clock cycles of modular multiplication. The implementation results of the CIOS algorithms focus on different levels of security useful in cryptography. This architecture was designed to use the flexible DSP48 on Xilinx FPGAs. Our architectures are scalable and depend only on the number and size of the words. For instance, we provide implementation results for 8, 16, 32, and 64 bit long words in 33, 66, 132, and 264 clock cycles. We describe also a design to compute an inversion in Fp as well as division. Inversion can be used in Elliptic Curve Cryptography systems and pairing-based cryptography

    Similar works

    Full text

    thumbnail-image

    Available Versions

    Last time updated on 20/05/2019