Vous êtes sur la page 1sur 13

Cryptographie

A.ABBAS
1
Février 2016
Objectifs

Maximus Lucilla

Message Message

Assurer : Confidentialité & Intégrité & Authentification & Non-Répudiation


2
Génération des clés

Maximus Lucilla

Message Message

Kpub1 Maxim Kpub2 Lucilla


Kpriv1 Maxim Kpriv2 Lucilla
Kpub2 Lucilla Kpub1 Maximus
3
Génération des clés avec OPENSSL
Générer la clé privée
Prérequis :
$ mkdir REP ; chmod 700 REP ; cd REP
$ openssl genrsa –out maximus.prive 2048

Déduire la clé publique


$ openssl rsa –in maximus.prive –pubout –
out maximus.public

4
Kpub1 Maxim
Kpriv1 Maxim
Kpub2 Lucilla
Processus-Côté Maximus
Maximus
Lucilla

file.txt AES file.aes

k.session Paquet à envoyer

file.aes
lucilla.pub RSA k.crypt k.crypt
file.sign

SHA file.sha file.sha

maximus.priv RSA file.sign


5
Kpub1 Maxim
Kpriv1 Maxim
Kpub2 Lucilla
Processus-Côté Maximus
Maximus $ echo –n ‘’p@ssw0rd’’ >> k.session

$ openssl enc –in file.txt –out file.aes –e –aes256 –k k.session

file.txt AES file.aes

k.session

lucilla.pub RSA k.crypt

SHA file.sha

maximus.priv RSA file.sign


6
Kpub1 Maxim
Kpriv1 Maxim
Kpub2 Lucilla
Processus-Côté Maximus
Maximus

$ openssl rsautl –pubin –encrypt –in k.session –inkey lucilla.pub –out k.crypt

file.txt AES file.aes

k.session

lucilla.pub RSA k.crypt

SHA file.sha

maximus.priv RSA file.sign


7
Kpub1 Maxim
Kpriv1 Maxim
Kpub2 Lucilla
Processus-Côté Maximus
Maximus

file.txt

$ openssl dgst -sha512 -out file.sha file.txt

SHA file.sha

8
Kpub1 Maxim
Kpriv1 Maxim
Kpub2 Lucilla
Processus-Côté Maximus
Maximus

$ openssl rsautl -sign -in file.sha -inkey maximus.priv –out file.sign

file.sha

maximus.priv RSA file.sign


9
Processus-Côté Lucilla
Premier niveau de contrôle
$openssl rsautl -verify -in file.sign -pubin -inkey maximus.public -out file.empreinte Lucilla
$diff file.empreinte file.sha
Oubien
$ cmp file.empreinte file.sha
Paquet reçu
Rejeter le paquet.
Perte d’intégrité.
file.aes
k.crypt
maximus.public file.sign
NON
file.sha

=? file.empreinte RSA

GOTO STEP 2
10
Processus-Côté Lucilla
Lucilla

file.aes
k.crypt
file.sign
k.session RSA file.sha

lucilla.priv Paquet reçu

$openssl rsautl –decrypt –in k.crypt –inkey lucilla.priv –out k.session

11
Processus-Côté Lucilla
Lucilla

file.aes
k.crypt
file.sign
AES k.session file.sha

Paquet reçu
file.txt

$openssl enc –in file.aes –out file.txt –d -aes –k k.session

12
Le prochain cours
• Certificats électroniques X.509 et OpenPGP
• PKI : Infrastructure à clé publique
• Créer des certificats électroniques.
• Autorités de certification hiérarchisées, et les chaines de
confiance.
• Révocation de certificats.
• Exemples pratiques
– SSH
– Navigation web
– Email
– VPN, IPSEC

13