Tirage au sort ou ordre de passage prouvablement Ă©quitable, entiĂšrement dans votre navigateur. Personne â pas mĂȘme la personne qui manipule l'outil â ne peut retirer en boucle jusqu'Ă obtenir le rĂ©sultat qui l'arrange : l'engagement est publiĂ© avant de connaĂźtre le sel.
L'outil gĂ©nĂšre une graine secrĂšte alĂ©atoire et publie tout de suite son empreinte SHA-256(graine). La graine elle-mĂȘme reste masquĂ©e : elle ne sera rĂ©vĂ©lĂ©e qu'aprĂšs le tirage.
Faites saisir un sel imprĂ©visible par le groupe ou un tĂ©moin (rĂ©sultat de dĂ©s, horodatage annoncĂ© Ă voix haute, mot au hasardâŠ) â aprĂšs avoir vu l'engagement ci-dessus.
N'importe qui peut recopier ici la liste des participants, l'engagement publié, le sel, la graine révélée et le résultat annoncé, pour recalculer le tirage de son cÎté et confirmer qu'il n'y a pas eu triche.
crypto.getRandomValues) et publie son engagement SHA-256(graine) â avant que qui que ce soit n'influence la suite. Cela empĂȘche de re-tirer en boucle jusqu'Ă un rĂ©sultat qui plaĂźt : la graine est dĂ©jĂ figĂ©e et son empreinte publique.graine + sel : un PRNG Ă graine alimentĂ© par SHA-256(graine|sel) effectue un mĂ©lange de Fisher-Yates de la liste. MĂȘmes liste, graine et sel â toujours le mĂȘme rĂ©sultat.SHA-256(graine) pour vĂ©rifier qu'il correspond Ă l'engagement publiĂ© au dĂ©part, puis rejouer le mĂ©lange avec (graine, sel) pour confirmer que le rĂ©sultat annoncĂ© est bien celui-lĂ .Limites honnĂȘtes : cet outil est local et ne fait pas foi Ă lui seul â c'est le protocole (publier l'engagement avant de connaĂźtre le sel, choisir un sel rĂ©ellement imprĂ©visible, faire vĂ©rifier par plusieurs personnes) qui rend le tirage Ă©quitable. Si des participants portent des noms strictement identiques, l'ordre entre homonymes reste indiscernable au recalcul. Le sel doit ĂȘtre choisi par une source indĂ©pendante de l'organisateur, sinon l'engagement seul ne protĂšge de rien.