Qual è la differenza tra un algoritmo chiave e l'algoritmo di crittografia?

2

Ho appena iniziato a conoscere la crittografia PGP. Una cosa che mi confonde è la differenza tra un algoritmo chiave e un algoritmo di crittografia.

Ad esempio, diciamo che ho un partner commerciale (partner commerciale EDI) che ha una chiave pubblica RSA a 1024 bit. Questa chiave è crittografata? È per questo che si chiama una chiave RSA?

Ora, se uso quella chiave per crittografare un messaggio, è possibile utilizzare un algoritmo?

Il motivo per cui ti sto chiedendo è che ho problemi a ricevere i messaggi correttamente decrittografati dal partner commerciale che crittografo utilizzando la sua chiave. Quindi sto cercando di capire meglio cosa sta succedendo nel processo di crittografia.

    
posta Greg Gum 13.10.2014 - 14:01
fonte

3 risposte

1

Il tuo partner commerciale ha sia una chiave pubblica che una chiave privata. In circostanze normali, la chiave pubblica viene utilizzata dall'utente per crittografare i file che il partner commerciale decrittografa con la propria chiave privata. Una chiave pubblica è resa ampiamente disponibile in modo che chiunque possa inviare contenuti crittografati a quella persona.

I tasti sono una coppia asimmetrica in quanto non è possibile decodificare il messaggio con la chiave che hai usato per crittografarlo. Altrimenti tutti con la chiave pubblica potrebbero decodificare il messaggio.

Se il tuo partner commerciale ti ha inviato un messaggio crittografato e ha affermato di aver usato "RSA" o "PGP", ha utilizzato quella che considera la tua chiave pubblica per crittografare il messaggio e si aspetta che tu usi il tuo privato chiave per decodificarlo. Se non hai una coppia di chiavi, allora devi dire loro che potrebbero non averlo cifrato con qualsiasi chiave di cui disponi attualmente una copia.

RSA sono le iniziali delle persone che (pubblicamente) hanno scoperto le qualità matematiche dei grandi numeri primi che consentono una chiave che crittografa un messaggio per essere diverso dalla chiave che può decrittografare il messaggio. L'algoritmo del computer per creare queste chiavi e il loro formato viene comunemente chiamato RSA.

PGP è una suite di crittografia software creata inizialmente negli anni '90 in grado di eseguire sia la crittografia asimmetrica (come l'utilizzo di coppie di chiavi RSA) che la crittografia simmetrica (che è più veloce o "più strong" ma meno conveniente). In pratica, PGP o software simile tenterà di nascondere la complessità del processo sottostante, che è piuttosto complesso.

Sebbene le chiavi private RSA siano spesso crittografate con una password nel caso in cui qualcuno rubi il computer sul quale sono attive, le chiavi pubbliche RSA non vengono crittografate altrimenti nessuno potrebbe usarle. La chiave che ha crittografato il tuo messaggio non sarebbe stata crittografata; sebbene il software possa aver richiesto una password se memorizzava chiavi pubbliche e private nello stesso posto. Tuttavia, potrebbe anche aver richiesto una password se si stesse utilizzando una crittografia simmetrica che non utilizza necessariamente o ha bisogno di chiavi RSA asimmetriche.

Quando PGP o strumenti simili consentono di crittografare un file per qualcuno, chiedono una chiave pubblica e un algoritmo simmetrico (AES, Blowfish, TEA, ecc.) poiché asimmetrico è molto lento e inadatto ai messaggi di grandi dimensioni - quindi PGP crea una chiave simmetrica casuale, crittografa il messaggio con quello e quindi crittografa la chiave simmetrica con la chiave pubblica asimmetrica.

Quindi è necessario verificare che si stia utilizzando la chiave privata corretta per decrittografare il file. A seconda dello strumento software, potrebbe non dirti se hai inserito la password che protegge la chiave privata in modo corretto.

    
risposta data 13.10.2014 - 14:29
fonte
2

OpenPGP utilizza un approccio di crittografia ibrido. Crittografia a chiave pubblica (comunemente, viene utilizzato RSA, ma esistono anche altri algoritmi ) ha il vantaggio di un diverso set di chiavi pubbliche e private, ma sta diventando molto lento nel tempo.

La chiave pubblica è quella utilizzata per la crittografia del destinatario, che può decifrare usando la sua chiave privata. Questa chiave pubblica viene solitamente definita "chiave OpenPGP" di una persona, la maggior parte delle volte specificata come "chiave pubblica OpenPGP". Questo è ciò che chiami "algoritmo chiave".

Gli algoritmi di crittografia asimmetrica come RSA hanno uno svantaggio. Questo è il motivo per cui OpenPGP utilizza in aggiunta algoritmi di crittografia simmetrica come AES (e altri): questi sono molto veloci per la crittografia di grandi serie di dati, ma entrambe le parti devono concordare una chiave. Per fare ciò, ogni volta che si esegue la crittografia di un utente OpenPGP, viene creata una nuova chiave casuale simmetrica e crittografata utilizzando la chiave pubblica del destinatario (in modo che possa leggerla). Questo potrebbe essere chiamato "algoritmo di crittografia", ma non è una definizione comune. Alla fine, sia gli algoritmi asimmetrici sia quelli simmetrici sono algoritmi crittografici.

La scelta tra i possibili algoritmi dipende da quali sono supportati dalle implementazioni OpenPGP utilizzate. Di solito, non devi fare nulla e la tua implementazione di OpenPGP (ad esempio GnuPG o PGP) sceglierà le impostazioni appropriate per te, data la chiave pubblica del destinatario disponibile. Se uno di voi sta utilizzando implementazioni molto vecchie, è possibile modificare queste impostazioni; ma sarebbe più consigliato passare a uno più recente.

    
risposta data 13.10.2014 - 14:24
fonte
1

Pensa a un lucchetto e alle chiavi che lo aprono. Non hai bisogno di una chiave per chiudere un lucchetto, solo per aprirlo. La tua chiave pubblica PGP è simile al lucchetto. Distribuisci lucchetti (senza chiavi) ad altre persone e lo usano per bloccare qualcosa all'interno di una piccola scatola. (E sappiamo che i lucchetti non sono così sicuri, sono facili da rompere, ma assumiamo che siano molto sicuri.)

Una volta che il lucchetto è bloccato dal mittente, nessun altro può aprirlo, nemmeno il mittente stesso! (Se il mittente desidera sapere che cosa ti ha inviato, deve conservare una copia locale che non sia crittografata o crittografata con la sua stessa chiave.) Sei l'unico che può sbloccare il lucchetto, avendo la chiave per aprire esso. Questa è la chiave privata PGP.

Quindi qualcuno ti manda un'email che è crittografata con la tua chiave pubblica, e solo tu puoi aprirla con la tua chiave privata.

Crediti: Perché King George III può crittografare

    
risposta data 13.10.2014 - 15:23
fonte

Leggi altre domande sui tag