Come funziona la crittografia / decrittografia quando si genera una chiave casuale?

1

Sono nuovo di questo e voglio fare una domanda di base. Supponiamo che abbia usato la mia password (ad esempio "ABC123")
per generare una chiave utilizzando l'algoritmo PBKDF2 (o qualsiasi algoritmo di questo tipo). Per crittografare un file lo farò
inserisci la mia password e verrà generata una chiave. Questa chiave verrà utilizzata per eseguire la crittografia.
Ora, supponiamo che se voglio decifrare lo stesso file, devo inserire di nuovo la password ("ABC123").
La chiave verrà nuovamente generata per decrittografare.
La mia domanda è, le chiavi generate durante la crittografia e la decrittografia saranno le stesse?

    
posta tausif 08.03.2014 - 19:27
fonte

3 risposte

1

PBKDF2 , come suggerisce il nome, è una funzione di derivazione della chiave . Significa che l'algoritmo prende alcuni parametri (inclusa una password poiché è una funzione di derivazione della chiave basata su password) e produce una chiave di lunghezza arbitraria. Anche se PBKDF2 è in attesa di alcuni valori casuali come parametri (ad esempio, il sale), quando si passano gli stessi parametri alla funzione, restituisce sempre la stessa chiave.

Significa anche che quando si utilizza PBKDF2 per crittografare un file è necessario memorizzare tutti i parametri (ad es. per PBKDF2: la funzione Pseudo-casuale, il sale, il numero di iterazioni, la lunghezza della chiave generata) insieme a il file crittografato. In effetti, questi parametri saranno necessari per ricalcolare la stessa chiave dalla stessa password durante la decrittografia del file.

    
risposta data 08.03.2014 - 20:54
fonte
1

PBKDF2 genera una chiave pseudo-casuale da una password. La differenza tra pseudo-casuale e casuale è importante perché una chiave casuale dovrebbe essere memorizzata e recuperata mentre una chiave generata da una password che usa PBKDF2 può essere generata (o "derivata") ogni volta che si ha la password originale (e salata) . Non puoi semplicemente rigenerare una chiave veramente casuale perché un processo casuale non genererà in modo affidabile lo stesso output, mai.

E sì, si utilizza la stessa chiave per la crittografia e la decrittografia assumendo che si stia utilizzando un metodo di crittografia a chiave simmetrica.

    
risposta data 08.03.2014 - 20:58
fonte
0

Dipende dal tipo di crittografia. Mi sembra che tu stia cercando crittografia a chiave simmetrica . Come hai detto, una password crittografa i e decrittografi.

Consiglierei di leggere su alcuni algoritmi popolari per scoprire come lo fanno. Tali algoritmi includeranno:

L'alternativa sarebbe crittografia asimmetrica . In questo caso avresti una chiave privata e una chiave pubblica . Con questo tipo di crittografia, le informazioni crittografate con la chiave privata possono essere decodificate solo con la chiave pubblica e viceversa.

Se questo è il tipo di sicurezza a cui sei più interessato, consulta RSA (Lo standard del settore) e scambio di chiavi Diffie-Hellman .

    
risposta data 08.03.2014 - 20:03
fonte