Crittografia bidirezionale di una stringa in una stringa numerica utilizzando un numero casuale

-1

Ho un numero casuale come 0.323978544752212 . Voglio crittografare una stringa usando questo numero casuale in una stringa numerica, vale a dire che la stringa finale è come 020006122188063255154070154055012148007180040020199052197129206154016135 . Voglio creare un'applicazione CGI e voglio utilizzare questo progetto di crittografia. Come posso ottenere questo tipo di crittografia.
Dovrei essere in grado di decifrare lo stesso usando il numero casuale originale. C'è anche un metodo predefinito / standard disponibile per lo stesso?

    
posta Dheerendra 21.10.2014 - 09:11
fonte

2 risposte

3

Non sono a conoscenza di alcun sistema di crittografia specifico e recensito pubblicamente. Mentre potresti essere in grado di eseguire operazioni più specifiche, ti consiglio di utilizzare codici comuni per soddisfare le tue esigenze:

  1. Utilizza una funzione di derivazione della chiave basata su password (ad es. Scrypt) per ricavare una chiave da un numero casuale.

  2. Utilizza un codice di crittografia comune come AES, Blowfish, ecc. per crittografare la stringa con la chiave derivata.

  3. Converti il risultato nel formato base 10, che sarebbe una "stringa numerica".

risposta data 21.10.2014 - 10:13
fonte
1

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;)

    
risposta data 21.10.2014 - 20:20
fonte

Leggi altre domande sui tag