Les plus belles inventions en informatique

Par manque de motivation+temps, cette page va probablement être abandonnée.

Je tente de lister ici ce qui - à mon humble avis - représente les plus belles inventions ou réalisations en informatique. Avec leurs applications. J'ai essayé dans cette page d'être accessible: Les spécialistes me pardonneront donc les approximations effectuées au nom de la compréhension.

Cette page est une ébauche.

Le chiffrement asymétrique

On ne dit pas "Crypter un fichier avec un mot de passe" car c'est incorrect: On dit chiffrer un fichier avec une clé.

Instinctivement, on se doute bien qu'on prend la même clé pour chiffrer et déchiffrer le fichier.

Mais il existe des algorithmes pour lesquels la clé de déchiffrement est différente de la clé de chiffrement, et on ne peut pas déduire une clé de l'autre. Cela paraît presque magique, mais c'est possible. Typiquement, l'algorithme RSA (basé sur les nombres premiers) permet cela.

Imaginez: Je peux distribuer ma clé de chiffrement à tout le monde. Elle est publique. Tout le monde est ainsi capable de chiffrer les messages qui me sont destinés. Mais moi seul peut les déchiffrer avec ma clé de déchiffrement (qui est privée). (Pour un exemple concret, voir cette page).

L'algorithme RSA (ainsi que bien d'autres tel que Diffie-Hellman) sont à la base de toute la sécurité informatique moderne. Typiquement, votre navigateur l'utilise quand vous avez une adresse en https://...

8-) À quoi ça sert ?

Sans les algorithmes de chiffrement asymétriques, nous ne pourrions pas échanger de manière sûr des données avec des personnes que nous n'avons jamais rencontrées. Il nous faudrait trouver préalablement un canal d'échange sûr pour échanger les clés de chiffrement, ou même devoir rencontrer en personne vos interlocuteurs avant tout échange, ce qui rendrait les choses bien plus compliquées.


Les fonctions de hashage

Le hashage est une fonction qui prend des données de n'importe quelle taille en entrée, et qui donne en sortie une courte suite de chiffres appelée empreinte (ou hash), de taille fixe. Elle a une particularité intéressante:

Les mêmes données en entrée donneront toujours le même hash en sortie. Un hash est donc comme une empreinte digitale des données.

Il existe différentes fonctions de hashage (md5, sha1, sha256…). Faisons un essai avec md5. Vous pouvez par exemple tester sur ce site: http://www.md5.cz/

données en entréehash (md5)
bonjourf02368945726d5fc2a14eb576f7276c0
Bonjourebc58ab2cb4848d04ec23d83f7ddf985
Les hommes naissent et demeurent libres et égaux en droits. Les distinctions sociales ne peuvent être fondées que sur l'utilité commune.a38d001561c8dc8c7304a6de7dc085f6
Les hommes naissent et demeurent libres et egaux en droits. Les distinctions sociales ne peuvent être fondées que sur l'utilité commune.7c42315c80eaa481e7d5db348bb2fdce

Comme vous pouvez le voir:

Et plus particulièrement, les fonctions de hashage ont les propriétés suivantes:

(Ces deux dernière affirmations sont généralement vraies, si on excepte les quelques faiblesses découvertes dans certaines fonctions de hashage).

Il existe différentes fonctions de hashage, ayant une sortie plus ou moins longue. md5 et sha1 sont très courantes, mais tout le monde passe de plus en plus à d'autres fonctions comme sha256. Exemples:

Données en entréeBonjour
md5ebc58ab2cb4848d04ec23d83f7ddf985
sha1f30ecbf5b1cb85c631fdec0b39678550973cfcbc
sha2569172e8eec99f144f72eca9a568759580edadb2cfd154857f07e657569493bc44
sha512c447dff0d671f62ad580b255b64f7a8f6a30d1b828569cee08b7c861239f8d4856ef38a1166718b045a9713876336c1f623619f6a78fc891d48d0b98c703def3
Tigerebbd658136f1711d56d80b6aa8e2b55244518c4d5ca42894

8-) À quoi ça sert ?

Ça sert, par exemple

inventions:verification-hash.png


À faire

Voici ce que je considère comme étant les plus belles inventions en informatique. Notez que je ne prétends absolument pas être exhaustif.