-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2011-2012/CIAN/Crypto ECC Print page

Conception matérielle d'opérateurs sur les courbes elliptiques

Objectif

Le 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.

Description

La 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 :

  1. Etudes des différents algorithmes d'opération sur les courbes elliptiques

  2. Etudes des différents algorithmes d'opération sur les corps finis

  3. Sélection des opérateurs à implanter

  4. Conception matérielle des opérateurs sélectionnés

  5. Conception de l'unité de calcul

  6. Validation et étude des performances

Connaissances requises

Notions de cryptographie, langage Python, langage de description Stratus souhaitable

Encadrant

Roselyne Chotin-Avot

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)

LIP6 LIP6-SoC LIP6 CNRS UPMC