2017-06-22 / 420-R62-MA / Introduction à la sécurité informatique

## Cryptograpie

Cryptographie = une technique qui permet d'assurer l'intégrité et la confidentialité des messages. La science du secret : permet à l'émetteur de brouiller l'information pour qu'elle ne soit pas interceptée ni modifiée par une tierce personne.

La cryptographie utilise des calculs mathématiques très complexes.

### Histoire de la cryptographie

La cryptographie était utilisée il y a plus de 20 siècles. Plusieurs techniques, exemples :

* le code de César ― date de 2050 ans ; consiste à remplaces chaque lettre du message claire par la lettre qui se trouve à un ou plusieurs positions en avance de l'alphabet) ;
* scytale (ou la technique grecque) ― système de codage utilisant deux bâtons du même diamètre et un ruban enroulé qui contient le message ;
* Énigma ― une machine électromécanique portable servant au chiffrement et au déchiffrement de l'information, utilisée principalement par les Allemands *(Die Chiffriermaschine Enigma)* pendant la Seconde Guerre mondiale.

### La cryptographie moderne

* stéganographie = l'art de cacher un message au sein d'un autre message innocent (exemple : text caché dans une image, chanson ou un film), la sécurité repose sur le fait que personne ne puisse se rendre compte de la présence du message caché ;
* cryptographie symétrique — une seule clé echangée entre l'emetteur et le récepteur, qui sert à chiffrement et déchiffrement d'une manière symétrique ;
* cryptographie asymétrique ― (exemple : RSA) utilise une paire de clés :
	+ **clé publique** du récepteur chiffre le message ;
	+ **clé privée** du récepteur le déchiffre (doit être guardée en secret par le récepteur).
* cryptographie quantique (utilise les photons).

Nombre premier = un entier naturel qui admet exactement deux diviseurs distincts entiers et positifs (qui sont alors 1 et lui-même). Utilisation pour cryptographie à clé publique.

Chiffrement RSA (décrit en 1977, breveté en 1983) ― le premier système public de cryptographie asymétrique basé sur les nombres premiers.

### Taille de la clé

Une clé codée sur n bits = 2n valeurs ; plus la clé est longue, plus le nombre de valeurs possibles est important.

Aujourd'hui pour le cas de chiffrement symétrique on préfére chiffrer avec des clés de 128 bits (2128 ~ 1038 possibilités) ou même 256 bits.

**Remarque** : les clés de 40 bits (240 ~ 1012 possibilités) sont obsolètes car relativement simple à casser.

### La **robustesse** d'un systéme de chiffrement :

* la puissance de l'algorithme ;
* la taille de la clé utilisée ;
* la capacité de garder la clé secrète de façon sécurisée.

**Remarque** : il est recommandé que l'algotithme de chiffrement soit publié afin de tester sa résistance aux attaques par la communauté scientifique.

### Les systèmes cryptographiques symétriques

DES (Data Encryption Standard) = un algorithme de chiffrement symétrique (chiffrement par bloc) utilisant des clés de 56 bits (chiffre blocks de 64 bits, clé de 56 bits).

RCx (RC2, RC4, RC5) = des algorithmes propriètaires à clé symétrique ; RC2 utilise un bloc de 64 bits avec une clé de taille variable.

Blowfish = Standard de l'armée américaine. Crée en 1993 utilise des clés de chiffrement de 32 a 448 bits.

AES (Advanced Encryption Standard) = le plus sûr des systèmes de chiffrement symétiques.

### Les systèmes cryptographiques asymétriques

RSA = basé sur la factorisation des nombres premiers et complexité polynomiale; RSA utilisé avec une clé de 640 bits a été cassé en 2005 ; on l'utilise généralement avec des clés de 1024 bits.

Diffie-Hellman (1976) = basé sur le calcul de logarithmes discrets ; algorythme de partage des clés.

El-Gamal = basé sur ...

### Algorithmes de hachage

Hachage = procedure particulière qui, à partir d'une donnée fournie en entrée, calcule une empreinte servant à identifier rapidement, bien qu'incomplètement, la donnée initiale.

Les algorithmes One Way Digests =

* SHA-1,
* SHA-2 (SHA-256, SHA-512) =
* MD5 =

Les hashes de type LM et NTLM = [Windows] ...