È plausibile che questa sia una domanda migliore per il sito Stack Exchange Security, ma ...
Il fatto di aver crittografato il numero non dimostra che non stai barando. Ti dimostra solo che hai crittografato il numero. La domanda che stai facendo è chiamata, probabilmente tra le altre cose, Mental Poker . L'idea è che ogni parte abbia bisogno di eseguire un passaggio casuale e crittografarlo.
Ho incluso il riferimento perché può farti iniziare, ma per un singolo numero casuale si potrebbe fare:
- Alice sceglie un numero casuale A da 0 a 99 e lo crittografa.
- Bob fa lo stesso per il numero B.
- Il numero casuale "reale" è (A + B) mod 100. Ciò può essere verificato quando entrambe le parti rivelano le proprie chiavi private.
È possibile utilizzare qualsiasi crittografia a chiave singola per questo schema semplice. Dovrai generare molte chiavi in modo che debbano essere create utilizzando la generazione di chiavi crittograficamente strong.
Questo schema non è economicamente conveniente.
Probabilmente puoi fare di meglio per un algoritmo specifico, ma spero che questa risposta possa farti iniziare. Non credo che uno schema sicuro sarà così economico, ma non è chiaro quanti di questi numeri siano necessari.