Spiega la crittografia della chiave simmetrica del mondo reale

3

Sono nuovo della crittografia. Durante la lettura della crittografia a chiave simmetrica, è stato detto che richiede lo scambio di chiavi segrete in modo che 2 parti possano decifrare il testo cifrato.

Ora, utilizzando un software di crittografia come GPG, possiamo usare la crittografia simmetrica di gpg --symmetric abc.txt Richiede la password lì.

La chiave è generata utilizzando la password?

Posso davvero vedere la chiave segreta se voglio?

La crittografia a chiave simmetrica richiede uno scambio sicuro delle chiavi. Ma nel mondo reale la "chiave" non viene scambiata correttamente? Invece la password dovrebbe essere scambiata in modo sicuro giusto?

Inoltre, è la chiave effettivamente presente nel testo cifrato & sbloccato dalla password o generato in loco quando forniamo la nostra password?

Grazie!

    
posta Sean 08.09.2013 - 22:30
fonte

2 risposte

3

Is the key generated using the password?

Sì. In questo tipo di scenario, la password viene eseguita tramite una funzione di derivazione della chiave ( KDF ) come PBKDF2 per generare la chiave.

Can I actually see the secret key if I want to?

AFAIK, la chiave simmetrica in questo caso non è memorizzata da nessuna parte. Invece, la chiave deriva dalla password ogni volta che si desidera crittografare o decodificare qualcosa. Se si desidera veramente ottenere la chiave, è possibile eseguire la password tramite KDF presumendo che si conosca il numero di sali e di iterazioni.

Symmetric key cryptography requires secure key exchange. But in real world the 'key' itself is not exchanged right? Instead the password should be securely exchanged right?

Questo è un argomento piuttosto complesso. Nel caso di GPG in modalità simmetrica, la chiave non viene trasferita in alcun modo. La conoscenza della password è necessaria per decrittografare i dati crittografati.

Se desideri "condividere" i dati crittografati con un'altra entità, di solito utilizzi un sistema di crittografia ibrido . Nel caso di GPG, crittografate il file senza il flag --symmetric . Ciò che fa è crittografare i dati con una chiave simmetrica generata casualmente . Questa chiave generata in modo casuale viene quindi crittografata con la chiave pubblica del target (il destinatario in GPG-speak). La chiave simmetrica crittografata viene aggiunta al blob crittografato e inviata al target. Il tuo target decrittà quindi la chiave simmetrica crittografata con la sua chiave privata e userà la chiave simmetrica decrittografata per decrittografare il blob crittografato.

    
risposta data 09.09.2013 - 04:11
fonte
2

1) Sì, - simmetrico ricava una chiave a 128 bit dalla password e un valore aggiunto preposto all'output crittografato. Utilizza una funzione chiamata Funzione di derivazione chiave basata su password (PBKDF2) per fare ciò. Infatti, questo è anche il modo in cui gpg crittografa la chiave privata in modo che solo la passphrase possa usare il file.

2) Bene, è possibile eseguire la password e salare la funzione per generare la chiave.

3) Nella vita reale la crittografia asimmetrica viene solitamente utilizzata per lo scambio di chiavi simmetriche generate per quella sessione. Quindi quelle chiavi simmetriche sono utilizzate per la crittografia effettiva dei dati / messaggio.

    
risposta data 08.09.2013 - 23:30
fonte