Cryptographie Java Année 2024-2025
Institut Supérieur d’Informatique(ISI) M. Remane NIZAR
Licence 3 de Cybersecurité
[email protected] Travaux pratiques Cryptographie Java
TP 1 : Installation et enregistrement de provider BouncyCastle
1. Installer en utilisant deux méthodes différentes et enregistrer le provider BouncyCastle
2. Afficher le provider BouncyCastle
TP 2 : Création de clés avec KeyGenerator et KeyPairGenerator
1. Clé secrète (Key ou SecretKey) :
a. Ecrire un programme permettant de créer une clé secrète avec les algorithmes DES
puis AES et avec les providers SUN et BC.
b. Ecrire un programme permettant de créer une clé secrète avec les algorithmes DES
puis AES avec PBE (PassWord Based Encryption).
2. En utilisant la JCA et JCE, écrire une classe java portant permettant :
a. de créer une paire de clés ALGO avec le provider PROV et avec une source aléatoire
sous forme opaque ;
b. de recréer la paire de clé ALGO avec les spécifications (KeyFactory) ;
c. de recréer la paire de clé ALGO avec les encodages.
d. enfin de comparer les trois paires de clés.
NB : Remplacer ALGO par RSA , DSA et DH puis remplacer PROV par SUN ,SUNJCE
et BC (BouncyCastle).
TP 3 : Chiffrement avec les classes Cipher, CipherInputStream, CipherOutputS-
tream
1. Ecrire un programme permettant de chiffrer des données saisies au clavier avec les algo-
rithmes AES, DES et RSA.
2. Ecrire un programme permettant de chiffrer en lecture des données dans un fichier avec
les algorithmes AES, DES et RSA.
3. Ecrire un programme permettant de chiffrer en écriture des données dans un fichier avec
les algorithmes AES, DES et RSA.
TP 4 :Signature et Hachage avec les classes MessageDigest et Signature
M. Remane NIZAR, Cryptographie java 1
Cryptographie Java Année 2024-2025
1. Ecrire un programme permettant de créer une paire de clésDSA sauvegardées dans les
fichiers pub.txt et priv.txt ;
2. de hacher un fichier de message clair nommé isi.txt pour obtenir le fichier nommé
empreinte.txt ;
3. de signer le fichier isi.txt (signature avec hachage) pour obtenir le fichier nommé si-
gnuture.txt ;
4. de vérifier la signature du fichier isi.txt.
M. Remane NIZAR, Cryptographie java 2