@moulineto, pour comprendre SSL/TLS, il faut comprendre qu'une connexion securisee est une combinaison de plusieurs algorithmes. T'as des algorithmes qui assurent l'integrite, c.a.d que si qq modifie le message en route, cette modification sera detectee. Par exemple SHA-1, SHA-256, MD5 etc. Tu as aussi des algorithmes qui assurent la confidentialite, c.a.d que le message ne peut pas etre lu en route (encryption). La aussi, t'as plusieurs algorithmes comme AES-128, AES-256, DES, Triple-DES etc. 256-
bits pour ces algorithmes d'intrgrite et de confidentialite, c'est solide (meme si 512-bits pour SHA est encore mieux).
SSL/TLS doit au debut d'une connexion entre client et serveur negocier les algorithmes d'integrite et de confidentialite a utiliser; par exemple SHA-256 avec AES-256. Plusieurs combinaisons sont possibles; clients et serveurs peuvent accepter ou rejeter certains algorithmes. Une foi qu'ils ont negocie les algorithmes a utiliser, serveur et client echangent des cles pour les algorithmes de confidentialite, par ex. des cles de 256-
bits pour AES-256.
Cette negociation d'algorithmes et de cles doit bien sur se faire de facon confidentielle et l'integrite de cette negociation doit etre verifiee. Pour la confidentialite de la negociation, SSL/TLS utilise RSA-2048 ou RSA-4096. 2048-bits, c.a.d 256
bytes est le minimum actuel pour assurer la confidentialite de RSA. Ces algorithmes asymmetriques comme RSA fonctionnent differament des algorithmes symmetriques comme AES; ils ont besoin de cles beaucoup plus grandes.
Finalement, pour assurer l'integrite de la negociation, des certificats sont utilises; ces certificats contiennent des signatures que SSL/TLS peut verifier avec SHA (par exemple). Ces certificats sont aussi necessaire pour assurer qu'on negocie avec des sites qui n'essayent pas d'impersonner d'autres sites.
Une foi la negociation achevee, la communication continue avec les algorithmes et cles qui ont ete negocies auparavant. Regulierement, SSL/TLS renegocie de nouvelles cles, pour augmenter la securite.