# R3.17 Notions de cryptologie
## **1 Chiffrement symétrique**
### 1) Générez une clé secrète de 32 octets et stockez la dans le fichier de la clé secrète

Je créer une clé secrète de 32 octets encodée en base 64 à partir du générateur rand et stockée dans le fichier clesecret.
### 2) Visualisez cette clé

Je visualise la clé a l'aide de cat.
### 3) Créez un message court message.txt avec la commande nano

Je créer dans le repertoire /home/etudiant un fichier message.txt à l'aide nano, j'y est écrit un message court "bonjour".
### 4) Chiffrez le message avec l’algorithme aes avec 100 itérations et votre clé secrète

Chiffrement du fichier message.txt en fichier du message chiffré message_chiffre avec l’algorithme aes utilisant la clé secrète contenue dans le fichier clesecret. pbkfd2 est un algorithme de dérivation de clé à partir du fichier de la clé secrète avec 100 itérations.
### 5) Visualisez le message chiffré

Je visualise le fichier message_chiffre à l'aide de nano.
### 6) Déchiffrez le message chiffré

Déchiffrement du fichier du message chiffré (message_chiffre) dans le fichier du message déchiffré avec l’algorithme aes utilisant la clé secrète contenue dans le fichier clesecret.
### 7) Comparez la taille du fichier clair avec celle du fichier chiffré. Comment expliquez la différence ?

je compare la taille à l'aide de la commande ls et l'option h permettant de visualer la taille de facon plus lisible. Nous voyons bien que le message chiffré fait 32 bits et le message clair et dechiffré font 8 bits. C'est du au fait que le chiffrement à l'aide de la clé secrète est sur 32 bits donc le message chiffré fait donc 32 bits.
## **2 Chiffrement asymétrique**
### 8) Générez une clé privée rsa de 2048 bits non chiffrée dans un fichier

Je créer une clé privée rsa de 2048 bits dans un fichier qui n'est pas chiffré.
### 9) Visualisez votre clé privée

Je visualise la clé à l'aide de nano.
### 10) Générez une clé privée rsa de 2048 bits chiffrée avec la clé secrète précédente dans un fichier

Chiffrement de la clé privée (déjà créée) avec un chiffrement symétrique, ici aes-256-cbc avec écrasement du fichier originel contenant la clé privée.
### 11) Visualisez votre clé privée

Je visualise la clé chiffrée à l'aide de cat
### 12) Générez une clé privée rsa de 2048 bits chiffrée avec un mot de passe dans un fichier

Génération d’une clé privée de 2048 bits chiffrée avec le mot de passe gtrnet et stockée dans le fichier cle_privee.
### 13) Visualisez votre clé privée

Je visualise la clé privée à l'aide du mdp.
### 14) Extrayez la clé publique de votre dernière clé privée dans un fichier

Séparation de la clé publique de la clé privée et sauvegarde de la clé publique dans un autre fichier cle_public, pubout garantie que seule la partie publique de la paire de clés est exportée
vers le fichier de sortie.
### 15) Visualisez la clé publique

Affichage en format hexadécimal de la clé publique dans cle_public
L’instruction pubin indique à openssl qu’une clé publique doit être présente dans le fichier.
### 17) Quelle clé (publique ou privée, de qui ?) faut-il utiliser pour chiffrer un fichier pour ensuite l’envoyer à quelqu’un d’autre ?
Il faut utiliser la clé publique du recepteur pour envoyer le fichier à quelqu'un d'autre.
### 18) Quelle clé (publique ou privée, de qui ?) faut-il utiliser pour déchiffrer un fichier reçu ?
Il faut utiliser la clé privée de l'emmeteur pour déchiffrer un fichier reçu.
### 19) Chiffrez le fichier du message clair de la question 3) avec votre clé rsa

Chiffrement du fichier du message clair avec obtention du chiffré en sortie.
### 20) Visualisez le fichier chiffré. Que se passe-t-il ?

### 21) Vous allez augmenter progressivement la taille de votre fichier du message clair et le chiffrer ensuite avec votre clé rsa. Déterminez la taille de votre fichier du message clair à chaque fois. Que se passe-t-il au bout d’un moment ? Pourquoi ?
Si le message dépasse la taille du chiffrement 256 alors le chiffrement ne peux pas se faire.
### 22) Supprimez des lignes de votre fichier du message clair pour que sa taille soit petite. Chiffrez le fichier du message clair puis déchiffrez le message chiffré.
## 3 Empreinte et signature
### 23) Créez une empreinte du fichier du message clair

Création de l’empreinte du fichier entrée avec la fonction de hachage sha256, dans le fichier de l’empreinte (message_empreinte).
### 24) Créez une copie du message clair en changeant le nom. Calculez l’empreinte de ce nouveau message. Observez-vous une différence avec l’empreinte de la question précédente.

Je créer une copie du fichier message.txt à l'aide de cp

L'empreinte contient le nom du fichier il est donc normal qu'il soit plus volumineux même si le contenu est le même.
### 25) Modifiez le texte de la copie du message. Calculez son empreinte. Observez-vous une différence avec l’empreinte de la question précédente.

Je modifie le contenu de message_copy.txt à l'aide de nano et je visualise à l'aide de cat.

Création de l’empreinte du fichier message_copy.txt modifié avec la fonction de hachage sha256, dans le fichier de l’empreinte (message_copy_empreinte_2). Je visualise la taille à l'aide de la commande ls.

La taille est identique le contenue du message n'influe pas sur la taille de l'empreinte.
### 26) Créez une empreinte signée du fichier du message clair en utilisant la méthode en deux étapes

J'utilise l'empreinte créer au paravant et je créer la signature du fichier de l’empreinte avec la bonne clé, dans le fichier de la signature message_signe.
### 27) Vérifiez la signature

Vérification de la signature avec la bonne clé.
### 28) Créez une empreinte signée du fichier du message clair en une seule étape

### 29) Modifiez le fichier du message clair puis vérifiez sa signature. Que se passe-t-il ? Pourquoi ?
Nous ne pouvons plus verifier le message n'est pas identique.
### 30) Le fichier dechiffrer_moi.chi est à déchiffrer. Il a été chiffré avec l’algorithme aes-256-cbc, avec une itération de 50, un mot de passe fourni interactivement, dont l’empreinte md5 est soit f09c151e4c4da962270e26b9abd6d0ef, soit 50531ac166c73adfecb2781773e33813
#### En utilisant le site https://md5decrypt.net/, retrouvez les deux mots de passe, puis déchiffrez le fichier dechiffrer_moi.chi avec le bon mot de passe (et non l’empreinte)


J'utilise le site pour retrouver les mots de passe.

### 31) Trois fichiers mess1.txt, mess2.txt et mess3.txt sont hachés (avec SHA256) puis signés avec (cle1.essai ou cle2.essai) en une seule étape, pour donner mess1.hash.sign, mess2.hash.sign et mess3.hash.sign Vous avez à votre disposition sur UPdago les trois signatures, les deux paires de clés (privées et publiques d’extension pem) et les trois messages. Cependant, un des trois messages a été entre temps modifié. Vous devez trouver avec quelle clé les messages ont été signés, et quel message a été modifié

## 4 Certificats
### 32) Créez une paire de clés rsa pour l’autorité sous le nom autorite.cle

Création de la paire de clés rsa pour l’autorité sous le nom autorite.cle
### 33) Créez un certificat pour cette paire de clés sous le nom autorite.certif

Création du certificat pour la paire de clés autorite.cle sous le nom autorite.certif
### 34) Créez une paire de clés rsa pour le client sous le nom client.cle

### 35) Créez une demande de certificat sous le nom demande.client

### 36) Visualisez votre demande. Expliquez la réponse obtenue

### 37) Envoyez la demande du client à l’autorité

### 38) Signez la demande du client par l’autorité

### 39) Visualisez les informations contenues dans votre certificat signé

### 40) Vérifiez la validité de votre certificat signé

### 41) Envoyez les certificats au client de la part de l’autorité

### 42) Créez un fichier de l’enveloppe avec les fichiers du certificat et de la clé

### 43)


### 44) Quelles sont les clés à créer ?
Clé pub et priv Alice.

### 45) Vous calculez l’empreinte du message chiffré avec sha256

### 46) Vous signez cette empreinte avec la bonne clé (Laquelle ?)
Clé privé alice

### 47) Vous chiffrez le fichier de la clé secrète avec la bonne clé (Laquelle ?)

### 48) Quels données faudrait-il transmettre à Bob ?
L'empreinte signé du message, et la cle secrete chiffré avec sa clé publique.
## 6 Chiffrement hybride avec secret au préalable partagé
Création des paires de clées pour le serveur et le client :



J'envoie les clées publiques :


Je créer la clé secrete pour le serveur et le client



On peux voir qu'elles sont identiques.
## 7 Affichage de certificat :
Le certificat d'updago et de zimbra:
Les deux sont les mêmes


J'affiche le certificat de l'ANSSI:

Nous pouvons voir que le blog coyotte n'est pas sécurisé.

## 8 Version de TLS utilisée:
Voici la version de TLS en se connectant à Google:

Et voici celle quand nous nous connectons à l'université:
