Implémentation et comparaison des algorithmes de chiffrage asymétrique
- Superviseur :
Habib Louafi
- Domaine(s) :
- Cryptographie
But:
Comparer les performances des algorithmes de chiffrage asymétrique (RSA, AL-GAMAL, ECC, etc.), en changeant certains paramètres.
Intérêt :
L’étudiant pourra comprendre le fonctionnent des algorithmes de chiffrage asymétrique et analyser leurs performances. Ultimement, l’étudiant pourrait aussi proposer des améliorations.
Description :
Les algorithmes de chiffrage asymétrique sont souvent utilisés pour l’échange de clés (dites clé de session) que les algorithmes de chiffrage symétrique (tel-que DES) utilisent par la suite. Ils offrent un moyen sécuritaire permettant à deux entités distantes (ex. : un serveur et un navigateur web) d’établir est échanger une clé de session. Bien qu’ils possèdent d’autres utilisations, ceci demeure l’objectif principal.
L’étudiant doit comprendre et implémenter certains algorithmes de chiffrage asymétrique (RSA, ECC, etc.). Ces algorithmes doivent être paramétrables. Les paramètres attendus sont : la taille du bloc de données (64 bits, 128 bits, etc.), la taille de la clé (64 bits, 128 bits, etc.).
En fin, l’étudiant doit fournir un tableau comparatif des performance (temps d’exécution, l’effet avalanche, etc.) de ces algorithmes
Les compétences requises pour réaliser ce projet :
Compétences générales
- Se familiariser avec les notions de cryptographie
- Analyser une problématique et la convertir en algorithme à implémenter
- Installer des éléments physiques et logiques dans une station de travail.
- Utiliser des systèmes d’exploitation.
- Résoudre des problèmes techniques
- Exploiter un langage de programmation structurée.
- Appliquer une approche de développement par objets.
Compétences spécifiques
- Maitriser le fonctionnement des algorithmes de chiffrage asymétrique
- Implémenter avec les langages de programmation : C/C++, Python ou Java.
- Analyser les performances de ces algorithmes
Techniques
- Programmation (C/C++, Python ou Java)
Compétences professionnelles
- Se documenter
- Rédiger un rapport accompagnant le code source
- Écrire un code lisible et professionnel
- Communiquer à l’oral et à l’écrit
- Maîtriser de l’expression écrite en français
Autres
- Critiquer les algorithmes de cryptographie existants.
Références bibliographiques :
–