Har Alice genererat och publicerat en SHA-256-hash av hennes åtgärd.
SHA-256 är en beräkningsmässig säker (till rimlig approximation) -algoritm som omvandlar en given sträng till en oförståelig hexadecimal hash. Det finns online-implementeringar som beräknar SHA256 för dig, till exempel här .
Tanken är detta:
Nu kan Bob inte berätta vad Alice har planerat eftersom SHA-256 inte är reversibel; Det finns inget sätt att komma från hasen tillbaka till åtgärden.
Senare, när Alice avslöjar sin plan, ger hon den exakta texten hon förberett tidigare. Om Bob inte litar på henne kan han helt enkelt upprepa SHA-256-krypteringen och verifiera att signaturerna matchar.
Om Alice misstänker att Bob kan gissa hennes åtgärd, kan hon göra saker svårare genom att lägga till en extra, irrelevant komponent i åtgärden innan SHA-256 beräknas. Till exempel, om Alice spelar in, tecken och senare avslöjar "Jag kastade Fireball på Bob (pistasch)", då skulle Bob inte kunna gissa och verifiera åtgärden utan att gissa extra "pistasch". Detta är känt som att använda en "nonce".