Vous êtes sur la page 1sur 2

**TP3 – Cryptage/Décryptage « RSA » et Signature**

**Objectifs du TP**

L'objectif de ce TP est d'utiliser l'outil OpenSSL afin de crypter/décrypter des


fichiers en utilisant l'algorithme RSA et de les signer.

**Partie A : Génération des clés privée et publique RSA**

```
┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl genrsa -out key.pem

┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl rsa -in key.pem -out key.pub -pubout
writing RSA key
```

**Partie B: Cryptage/Décryptage**

1) Cryptage d'un fichier file1.txt :

```
┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl pkeyutl -encrypt -in file1.txt -inkey key.pem -out file2.txt
```
Fichier de sortie : fichier de données cryptées (file2.txt)

2) Décryptage d'un fichier file2.txt :

```
┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl pkeyutl -decrypt -in file2.txt -inkey key.pem -out file3.txt
```

**Partie C : Signature d’un fichier**

Le but de cette partie est de signer un document. D'abord, nous allons calculer
l'empreinte du document puis nous allons la crypter.

a) Calculer l'empreinte du fichier file1.txt :

```
┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl dgst -MD5 -out empreinte.txt file1.txt
<empreinte>:MD5(file1.txt)= 79b770d09c1bc9940df4dc5a94c569d0
```

b) Signer l'empreinte du fichier à l'aide de la commande openssl pkeyutl avec


l'option -sign. Syntaxe de la commande :

```
┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl pkeyutl -sign -in empreinte.txt -inkey key.pem -out signature.txt
```

c) Visualiser le contenu du fichier résultant. Que contient-il ? Expliquer :


Le fichier résultant contient la signature cryptée de l'empreinte du fichier, ce
qui permet de vérifier son intégrité et son origine.

d) Vérifier la signature en utilisant la commande openssl pkeyutl avec l'option -


verify. Conclusion.

```
┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl pkeyutl -verify -pubin -inkey key.pub -in empreinte.txt -sigfile
signature.txt
Signature Verified Successfully
```

**Conclusion**

La signature du fichier a été vérifiée avec succès, ce qui garantit son intégrité
et son origine.

**Modification du contenu du document utilisé**

```
┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl dgst -MD5 -out empreinte2.txt file1.txt

┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl pkeyutl -sign -in empreinte2.txt -inkey key.pem -out signature2.txt

┌──(kali㉿kali)-[~/Desktop/Tp3 securite]
└─$ openssl pkeyutl -verify -pubin -inkey key.pub -in empreinte2.txt -sigfile
signature2.txt
Signature Verified Successfully
```

---

Réponses aux questions a), b) et c) après la modification du contenu du document


utilisé :

a) L'empreinte du fichier file1.txt est recalculée et enregistrée dans le fichier


empreinte2.txt.

b) La nouvelle empreinte du fichier est signée à l'aide de la commande openssl


pkeyutl.

c) Le fichier résultant, signature2.txt, contient la signature cryptée de la


nouvelle empreinte du fichier.

En conclusion, la modification du contenu du document n'affecte pas le processus de


signature et de vérification, et la signature de la nouvelle empreinte a été
vérifiée avec succès, garantissant ainsi l'intégrité et l'origine du fichier
modifié.

Vous aimerez peut-être aussi