Desidero crittografare un file con la mia chiave pubblica, il mio amico mi ha detto che questa non è una buona idea, ma non ha spiegato il perché. Qualcuno può spiegare per favore.
Desidero crittografare un file con la mia chiave pubblica, il mio amico mi ha detto che questa non è una buona idea, ma non ha spiegato il perché. Qualcuno può spiegare per favore.
La crittografia asimmetrica ha due casi d'uso comuni:
La crittografia di un file con la tua chiave pubblica non è uno dei casi di utilizzo sopra indicati. Non ha senso se memorizzi quel file crittografato sul tuo computer, perché un hacker sul tuo computer può avere accesso anche alla tua chiave privata.
Ma la tua idea ha perfettamente senso, se vuoi archiviare il tuo file (ad esempio un backup) su un cloud storage meno sicuro, ma mantieni la tua chiave privata segreta come dovrebbe essere. Un hacker che irrompe nel tuo cloud storage non può decifrare il file senza entrare nel tuo computer.
In breve, se si tiene la chiave privata separata dal file crittografato, non vedo alcuno svantaggio.
Il tuo amico è corretto in quanto la crittografia a chiave privata non è lo strumento per il lavoro. Questa risposta su Cryptography.SE fa un buon lavoro di spiegazione del perché. Alcuni punti salienti:
Any public-key encryption schemes is bound to increase the size of the data that it enciphers.
While there are more efficient schemes, it is safe to say that a symmetric scheme is orders of magnitude faster and less power hungry than an asymmetric one, at least for decryption.
La crittografia a chiave privata viene utilizzata quando la persona che esegue la crittografia è diversa dalla persona che esegue la decrittografia - una situazione che la crittografia simmetrica non può gestire se le parti non possono scambiare facilmente le chiavi.
Quando la crittografia a chiave privata viene utilizzata per il trasferimento di grandi volumi di dati (come in TLS), normalmente si criptano prima i dati con una chiave simmetrica casuale. Quindi crittografate la chiave simmetrica con la chiave pubblica del destinatario in modo che loro e nessun altro saranno in grado di leggerlo e decrittografare i dati.
L'unico svantaggio della crittografia a chiave pubblica è un problema di distribuzione chiave: se devi verificare / verificare il tuo file in base a più istanze software, ovvero stai firmando una patch di aggiornamento, è un problema passare la chiave non termina ai clienti, quindi la falsificazione / MitM sarà impossibile.
Se stai per solo crittografare un file, ti consiglio di utilizzare un algoritmo a chiave simmetrica come AES, perché al giorno d'oggi è accelerato dall'hardware, quasi ovunque. Se qualcuno entrerà nel tuo cloud o nella tua memoria FTP e avrà un file, avrà ancora lo stesso problema : la chiave di decodifica e se l'hacker si romperà nel tuo PC - avrà un set di chiavi completo in entrambi i casi. AES256, ad esempio, sarà solo un modo più veloce da fare.
Leggi altre domande sui tag cryptography encryption asymmetric