![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
|
Conception matérielle d'opérateurs sur les courbes elliptiquesObjectifLe but de ce stage est de proposer un ensemble d'opérateurs matériels pour la cryptographie définie sur les courbes elliptiques et de les regrouper au sein d'une unité arithmétique dédiée. DescriptionLa cryptographie sur les courbes elliptiques (ECC) prend un grand essor ces dernières années, car elle permet, pour un niveau de sécurité équivalent voire supérieur, de travailler avec des clés plus petites. L'arithmétique sur les courbes se définie par l'intermédiaire d'opérations sur les points de cette dernière (addition, doublement, multiplication par un scalaire). Pour la rendre possible, il est nécessaire d'avoir une bonne maîtrise de l'arithmétique sous-jacente : celle sur son corps de définition qui sera ici un corps premier. Pour rendre les opérations sur les points d'une courbe plus efficaces, ils existent plusieurs algorithmes spécifiques dépendant du choix de certains paramètres (opération, corps de définition, choix de la courbe, etc). Dans le cadre de ce stage, il faudra donc développer l'ensemble des opérateurs matériels nécessaires à la réalisation des opérations sur les courbes elliptiques (en fonctions des paramètres fixés au départ). Puis il faudra regrouper ces opérateurs afin de proposer une unité de calcul arithmétique sur les courbes elliptiques. Enfin il faudra étudier les performances de ces opérateurs sur FPGA et/ou ASIC. Les différents opérateurs seront développés dans l'environnement Stratus de l'équipe CIAN du LIP6 qui permet entre autre de concevoir des générateurs matériels fortement paramétrables. Les étapes du travail seront :
Connaissances requisesNotions de cryptographie, langage Python, langage de description Stratus souhaitable Encadrant Rémunération Ce stage sera rémunéré 416€/mois pendant toute la durée du stage (6 mois) sous réserve d'accord de financement (demande en cours) |