Comment ça marche
1. AléaLe navigateur prélève 128 à 256 bits dans la source système de nombres aléatoires, la même que celle utilisée pour les clés de chiffrement. Un générateur de nombres aléatoires ordinaire ne convient pas ici : il est prévisible.
2. Somme de contrôleOn calcule le SHA-256 de ces bits, puis les premiers bits du résultat sont ajoutés à la fin : un bit pour chaque tranche de 32 bits d’aléa. Pour 12 mots, cela fait 4 bits, pour 24, huit.
3. MotsLa chaîne obtenue est découpée en morceaux de 11 bits. Chaque morceau est un nombre de 0 à 2047, c’est-à-dire le rang d’un mot dans le dictionnaire standard. D’où la taille du dictionnaire, et le fait que le nombre de mots est toujours un multiple de trois.
4. VérificationLe chemin inverse : les mots redeviennent des numéros, les numéros des bits, le SHA-256 est recalculé depuis le début et comparé à la fin. Si ça ne colle pas, il y a une faute de frappe quelque part ou un mot a été déplacé.