Il one-time pad suona praticamente esattamente quello che stai facendo. Sarebbe simile a questo:
Genera una stringa di numeri casuali (base-10 o hex) abbastanza grande da crittografare l'intero testo in chiaro.
Converti tutto il testo in chiaro in base 10 o esadecimale.
È possibile effettuare una semplice sottrazione da cifra a cifra (senza trasferimento) per crittografare il testo in chiaro.
Per annullarlo, devi solo aggiungere i numeri (senza trasporto) dal tuo pad.
L'esempio sarebbe:
P-Text: 3487621899
Pad:(-) 1245631862
C-Text: 2242090037
Pad:(+) 1245631862
P-Text: 3487621899
Se non si utilizzerà il numero generato in modo casuale per crittografare più flussi di informazioni, questo è un metodo molto semplice e molto sicuro per crittografare le informazioni. Ogni volta che lo fai, ti consigliamo di generare un nuovo set di dati per crittografare le informazioni.
Se prevedi di utilizzare un codice attualmente esistente per codificare più informazioni diverse mentre usi un numero generato casualmente come una sorta di metodo di scelta della chiave, genererei solo un numero casuale come hai fatto tu, moltiplicandolo per un valore esadecimale completo FFFFFFFFFFFFFFFF (per chiavi a 64 bit) FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF per chiavi a 128 bit, ecc. (ogni carattere esadecimale è 4 bit) e usa il valore esadecimale risultante come chiave per qualsiasi schema crittografico che si desidera utilizzare. Quindi puoi fare il 10 base e fallo, fatto.
non c'è bisogno di essere complicato;)