Crittografia asimmetrica o simmetrica

48

Attualmente sto prendendo un principio di classe di sicurezza delle informazioni. Parlando di diversi metodi di crittografia, un gran numero di miei compagni di classe sembra credere che Asymmetric Encryption sia migliore (più sicuro) di Symmetric Encryption. Una frase tipica è qualcosa del genere:

Generally asymmetric encryption schemes are more secure because they require both a public and a private key.

Certamente con la crittografia simmetrica ci si deve preoccupare dello scambio sicuro delle chiavi, ma per quanto posso dire non c'è una ragione intrinseca per cui si debba essere più sicuri dell'altro.

Soprattutto dato che la parte asimmetrica viene spesso utilizzata solo per lo scambio di chiavi e quindi i dati effettivi vengono crittografati con un algoritmo simmetrico.

Quindi, mi manca qualcosa o posso davvero fare una dichiarazione generale come questa su quale sia più sicuro.

Quindi, se ho un messaggio crittografato con AES e un'altra copia crittografata con RSA e tutte le altre cose sono uguali, è più probabile che venga violato. Questo confronto può anche essere fatto?

    
posta matthew 16.09.2011 - 20:24
fonte

6 risposte

23

Esiste un senso in cui è possibile definire la forza di un particolare algoritmo di crittografia¹: grosso modo, il punto di forza è il numero di tentativi che devono essere fatti per interrompere la crittografia. Più precisamente, la forza è la quantità di calcolo che deve essere fatto per trovare il segreto. Idealmente, la forza di un algoritmo è il numero di tentativi di forza bruta che devono essere fatti (pesati dalla complessità di ogni tentativo, o ridotti se qualche tipo di parallelizzazione consente più tentativi di condividere parte del lavoro); man mano che gli attacchi all'algoritmo migliorano, la forza effettiva diminuisce.

È importante rendersi conto che "un particolare algoritmo di crittografia" include la considerazione di una dimensione chiave specifica. Cioè, non stai proponendo RSA contro AES, ma RSA a 1024 bit (con una specifica modalità di riempimento) con AES-256 (con una modalità di concatenazione specifica, IV, ecc.). In questo senso, puoi chiedere: se ho una copia dei miei dati crittografata con l'algoritmo A con determinati valori dei parametri P e Q (in particolare la dimensione della chiave), e una copia crittografata con l'algoritmo B con i parametri P e R, quindi quale tra (A, Pval₁, Qval₁) e (B, Pval₂, Rval₂) è probabile che venga prima screpolato?

In pratica, molti protocolli implicano l'uso di più primitive crittografiche. Diversi primitivi hanno diversi possibili usi, e anche quando molti primitivi possono servire una determinata funzione, ce ne può essere uno più adatto di altri. Quando si sceglie una primitiva crittografica per un determinato scopo, il processo decisionale è simile al seguente:

  1. Quali algoritmi possono fare il lavoro? → Posso usare A o B o C.
  2. Quale forza ho bisogno? → Voglio 2 operazioni N , quindi ho bisogno della dimensione della chiave L A per la primitiva A, L B per la primitiva B, L C per la primitiva C.
  3. Dati i miei vincoli (velocità bruta, latenza, efficienza della memoria, ...), quali di questi (L A -bit A o L B -bit B o L < sub> C -bit C) è il migliore?

Ad esempio, supponiamo che il tuo requisito sia un protocollo per lo scambio di dati con una parte di cui non ti fidi. Quindi la crittografia simmetrica non può fare il lavoro da sola: hai bisogno di un modo per condividere la chiave. La crittografia asimmetrica come RSA può fare il lavoro, se le parti si scambiano le chiavi pubbliche in anticipo. (Questa non è l'unica possibilità, ma non entrerò nei dettagli qui.) Quindi puoi decidere su quale sia la lunghezza della chiave RSA che ha la giusta forza per la tua applicazione. Tuttavia RSA è lento e macchinoso (ad esempio non ci sono protocolli standard per applicare la crittografia RSA a uno stream, principalmente perché nessuno si è preoccupato perché sarebbe stato così lento). Molti protocolli comuni che coinvolgono la crittografia a chiave pubblica lo usano solo per scambiare un segreto a durata limitata: una chiave di sessione per un algoritmo di crittografia simmetrica. Questo è noto come crittografia ibrida . Di nuovo, si sceglie la lunghezza della chiave di sessione in base alla forza desiderata. In questo scenario, i due primitivi coinvolti tendono ad avere la stessa forza.

¹ La stessa nozione si applica ad altri usi della crittografia, come la firma o l'hashing.

    
risposta data 17.09.2011 - 00:19
fonte
26

La crittografia simmetrica e asimmetrica sono operazioni distinte che operano in contesti distinti, per usi distinti e distinti modelli di attacco. Non ha molto senso sostenere che sia "più sicuro" dell'altro (richiederebbe prima una qualche misura quantificata di sicurezza, che non è facile da definire).

La crittografia asimmetrica è più impegnativa : consiste nel realizzare la crittografia e essere in grado di pubblicare i modi per crittografare (la chiave pubblica) senza rivelare i modi per decodificare (il chiave privata). Un'implementazione pratica ha bisogno di matematica, mentre la crittografia simmetrica è in gran parte in agguato attorno alle cose (badate bene, è difficile fare un buon lavoro di scrambling, ma ancora, meno matematica è coinvolta).

I sistemi comunemente implementati (es. SSL / TLS ) combinano la crittografia asimmetrica e la crittografia simmetrica (e anche alcune altre cose ) in protocolli che svolgono un determinato lavoro (es. "tunnel bidirezionale con riservatezza, integrità e autenticazione").

    
risposta data 16.09.2011 - 20:46
fonte
18

La scelta tra la crittografia simmetrica e asimmetrica dipende dal caso d'uso .

La crittografia simmetrica viene utilizzata per condividere informazioni tra un gruppo di persone a cui tutti avranno accesso. Inoltre la crittografia simmetrica è piacevole perché è più facile da capire (meno probabilità di rovinarla) e gli algoritmi tendono ad essere più veloci.

La crittografia asimmetrica viene utilizzata quando un gran numero di sottoinsiemi di persone deve essere in grado di condividere le informazioni. Inoltre, la crittografia asimmetrica può essere utilizzata al contrario per firmare i documenti. Ciò è particolarmente interessante perché consente alle persone di certificare che una chiave pubblica appartiene a una determinata persona.

In un gruppo di 10 persone, che consente a ogni coppia di comunicare in modo sicuro, sono necessari 45 tasti univoci (9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1). E ora pensa a Internet invece che al piccolo set di 10 persone. È ovvio che questo non può essere gestito con chiavi simmetriche.

Nel mondo reale entrambi i tipi sono spesso combinati. Un approccio asimmetrico viene utilizzato per confermare l'identità di un partner di comunicazione e per trasmettere qualcosa che risulterà in una chiave simmetrica. Questa chiave simmetrica viene quindi utilizzata per la crittografia performante dei dati effettivi.

    
risposta data 16.09.2011 - 23:12
fonte
10

Generally asymmetric encryption schemes are more secure because they require both a public and a private key.

No. Non puoi dirlo. Questo è baloney. Non è vero.

La forza è indipendente da simmetrica vs asimmetrica. La crittografia simmetrica e la crittografia asimmetrica sono due diversi tipi di strumenti crittografici. Ognuno può essere debole o strong, a seconda Non c'è alcuna ragione per cui la crittografia asimmetrica sia necessariamente più strong della crittografia simmetrica.

Ad esempio:

  • AES è più sicuro contro gli attacchi crittoanalitici rispetto a RSA a 512 bit, anche se RSA è asimmetrico e AES è simmetrico.

  • RSA a 4096 bit è più sicuro contro gli attacchi crittoanalitici rispetto a RC4 a 40 bit, anche se RC4 è simmetrico e RSA è asimmetrico.

risposta data 17.09.2011 - 01:00
fonte
4

Sono d'accordo con ciò che Thomas ha affermato sopra. Sia la crittografia simmetrica che asimmetrica sono operazioni distinte.

La crittografia simmetrica è meno costosa rispetto alla crittografia asimmetrica. Costoso in quanto richiede meno elaborazione. Per essere precisi, mi riferisco al processo di decodifica.

E questo è il motivo per cui SSL / TLS utilizza una combinazione di crittografia sia simmetrica che asimmetrica. La crittografia / decrittografia asimmetrica tra due peer durante una transazione SSL / TLS avviene solo durante l'handshake iniziale. Quando entrambi i peer hanno concordato una chiave privata condivisa, il resto della comunicazione utilizza la crittografia simmetrica. In questo modo, l'unica operazione dispendiosa verrà eseguita durante l'iniziale handshake e il resto della comunicazione utilizzerà la crittografia simmetrica che richiede meno risorse.

    
risposta data 16.09.2011 - 22:47
fonte
-3

Nella crittografia asimmetrica con crittografia a chiave pubblica, c'è uno scambio di chiavi pubbliche che potrebbero essere intercettate da un man-in-the-middle. Questa è una grande debolezza, che la crittografia simmetrica non ha. Dal momento che il governo degli Stati Uniti sta facendo una sorveglianza di massa, c'è una reale possibilità che il MIM sia all'ordine del giorno. L'uso di chiavi predeterminate con algoritmi simmetrici e l'uso di numeri realmente generati casualmente sembrerebbe essere meno vulnerabili rispetto a fare affidamento sullo scambio di chiavi pubbliche.

    
risposta data 15.12.2014 - 22:02
fonte

Leggi altre domande sui tag