Quale algoritmo / pacchetto di crittografia dovrei usare in un gioco di scommesse?

0

Ho un sito di tipo di scommesse in cui pubblico un numero (compreso tra 0 e 100) crittografato. Poi, dopo un certo periodo di tempo, rivederei il numero e dimostrarlo con una chiave per decodificare il numero crittografato per dimostrare che non sto barando. Voglio anche che sia facilmente verificabile da un utente medio.

Quale algoritmo / tecnica / pacchetto di crittografia dovrei usare?

Non sono esperto di crittografia. Sembra che ci siano così tante opzioni là fuori e non sono sicuro di cosa usare.

python friendly è un vantaggio.

    
posta user299648 28.08.2012 - 20:49
fonte

3 risposte

2

Usa AES .. vedi Confronto di DES, Triple DES, AES, crittografia blowfish per dat a per i dettagli ..

Per quanto riguarda la facilità d'uso ... rimanda gli utenti a un sito come: link

    
risposta data 28.08.2012 - 21:02
fonte
4

Non dovresti usare affatto un cifrario, ma piuttosto un hash crittografico. Se si specifica che l'hash della stringa è una stringa alfanumerica di 45 caratteri casuale (con caso), seguita da due punti, seguita dal numero: ad es.

cxsFiEUK93Pl3e6bR1i40u7EyJgXQXf0JSejsuIQDcoGL:70

e che l'hash è SHA-256, è sufficiente per le persone che sanno cosa è lo SHA-256 per verificarlo. È abbastanza lungo che nessuno sarà realisticamente in grado di forzarlo.

Devi anche assicurarti che la tua fonte di numeri casuali sia buona, ed è più difficile.

    
risposta data 28.08.2012 - 21:22
fonte
0

È 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:

  1. Alice sceglie un numero casuale A da 0 a 99 e lo crittografa.
  2. Bob fa lo stesso per il numero B.
  3. 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.

    
risposta data 17.09.2012 - 23:13
fonte

Leggi altre domande sui tag