Projet « Cryptographie et sécurité des réseaux » II : Signature numérique (DSA)

Le second projet du cours « Cryptographie et sécurité des réseaux », suivi a l’Université de Stavanger, Norvège était un cran plus complexe que le premier, particulierement durant la génération des clés: nous devons manipuler des nombres extremement grands. J’ai développé l’application en Java et utilisé la classe BigInteger pour gérer ces nombres énormes.

Le programme fonctionne comme cela:

1. D’abord vous devez générer votre clé publique et votre clé privée, puis sauvegarder la clé publique (le programme vous permet de la sauvegarder dans un fichier .pk)

TO FINISH

2. Then, type your message and sign it, then save it in a file ( .mes extension)

3. The last step (the most important) is the part where you check if the message loaded really comes from the official writter. So you have to load his public key, load the message and then press check.

Here is a screenshot of the application:

For information, I have implemented the digital signature algorithm with a 1024 bits long p and a 160 bits long q (for people who knows what the DSA algorithm is all about)

I use a hash function made by myself. You can find everything in the code at the end of this post.

And you can download the whole project (code + exec + report) here :  > Download <