Le chiffrement d'une communication sur un canal quelconque pose un problème de taille. Un émetteur doit en effet transmettre au récepteur une information lui permettant de décoder une communication chiffrée. Le canal d'information n'étant souvent pas physiquement sécurisé, cette information préliminaire doit être transmise sans que les interlocuteurs n'aient à se soucier qu'un autre acteur puisse intercepter cette information. Différents algorithmes ont été développés afin de rendre possible cet échange préliminaire. Parmi les algorithmes communéments utilisés, la cryptographie à courbe elliptique permet de maximiser la sécurité d'une communication avec un minimum d'échange préliminaire d'information. La cryptographie à courbe elliptique repose sur la multiplication d'un point sur cette courbe par un scalaire. Cette opération est relativement lourde au niveau logiciel. Le développement d'un co-processeur spécialisé pour cette opération devient alors pertinent. Ce mémoire résume le développement de pareil co-processeur. Ce dernier a été développé sur FPGA en minimisant les ressources logiques utilisées tout en maximisant la fréquence d'horloge opérationnelle. De plus, le nombre d'opérations sur la courbe elliptique a été minimisé en représentant l'entier multipliant le point sur la courbe elliptique sous sa forme numérique ω-NAF. Ce mémoire propose également une façon inédite pour générer aléatoirement un entier sous sa forme ω-NAF en minimisant les ressources logiques nécessaires pour pareille opération. / The encryption of a communication on a given channel may appear hazardous. An interlocutor must transmit to another one enough information allowing both interlocutors to encrypt or decrypt the communication. Since the communication channel is visible to potentially malicious actors, this preliminary information must be exchanged without worrying about others intercepting it. Several algorithms were developed making that exchange possible. Among the most commonly used algorithms, elliptic curve cryptography provides the highest strength per bit. Elliptic curve cryptography is based on the multiplication of a point on this curve by a scalar. This operation is relatively complex when implemented in software. The use of a specialized co-processor becomes an interesting approach to perform this operation. This thesis describes the development of such a co-processor. It has been developed targeting a FPGA, minimizing the use of logical resources while maximizing the operating frequency. Moreover, the number of operations on the elliptic curve have been minimized by representing the scalar multiplying the point of the elliptic curve in its ω-NAF form. A method randomly generating an integer in its ω-NAF representation is also proposed. This method can be implemented in hardware using a minimum of logical resources.
Identifer | oai:union.ndltd.org:LAVAL/oai:corpus.ulaval.ca:20.500.11794/18690 |
Date | 12 April 2018 |
Creators | Dupont, Louis |
Contributors | Roy, Sébastien, Chouinard, Jean-Yves |
Source Sets | Université Laval |
Language | French |
Detected Language | French |
Type | mémoire de maîtrise, COAR1_1::Texte::Thèse::Mémoire de maîtrise |
Format | 119 p., application/pdf |
Rights | http://purl.org/coar/access_right/c_abf2 |
Page generated in 0.0021 seconds