Tutoriel de cryptographie Tutoriel de cryptographie

Simon Guillem-Lessard
Projet de fin d'étude 2001-2002
Département des mathématiques et de l'informatique
Université du Québec à Trois-Rivières


Table Des Matières
 Générateurs de nombres
 aléatoires

Il est impossible de créer des nombres véritablement aléatoires avec un programme informatique : les suites de nombres se répètent au bout d'un certain temps (suites périodiques), certaines valeurs sortent plus souvent que d'autres, etc..

Les nombres réellement aléatoires sont créés par des phénomènes physiques. Un exemple de système utilisant la physique pour générer des valeurs aléatoires est la lava-lamp. Ainsi, dans les systèmes informatiques, des générateurs de nombres pseudo-aléatoires sont utilisés (PRNG : Pseudo-Random Number Generator). Ces générateurs ont quelques caractéristiques importantes : la période de la suite aléatoire doit être très grande, les suites doivent sembler aléatoires sur le plan statistique et il doit être impossible de prévoir la prochaine valeur aléatoire.

Les PRNG sont importants notamment pour le calcul des keystreams, utilisés dans les chiffrements symétriques de flux
(les LFSR), dans les vecteurs d'initialisation et dans les clés de session.

Exemples d'algorithmes

· Yarrow
Développé par Bruce Schneier et John Kelsey de Counterpane.
http://www.counterpane.com/yarrow.html
· Blum-Blum-Shub
Développé par L. Blum, M. Blum, et M. Shub.
· STRANDOM - STrong pseudo-RANDOM
Développé par Y. Zheng, basé sur la fonction de hachage HAVAL.
· MUGI
Développé par Hitachi.
http://www.sdl.hitachi.co.jp/crypto/mugi/index-e.html

Pour en savoir plus
· Random Number Generation :
http://csrc.nist.gov/encryption/tkrng.html


.Sources.
.Haut de page.


Algorithmes Importants

  Systèmes à clé privée

     Blowfish

     DES

     IDEA

     RC2, RC5, RC6

     RC4

     Rijndael

     SEAL

     TripleDES

  Systèmes à clé publique

     Diffie-Hellman

     DSA

     PGP

     RSA

  Fonctions de hachage

     MD2, MD4, MD5

     RIPEMD-128, RIPEMD-160

     SHA0, SHA1

     Tiger

  Protocoles Web

     SSL

     SHTTP