Crittografia di più blocchi con uno schema asimmetrico

1

Ho una domanda generale su come gli schemi asimmetrici vengono solitamente implementati.

Tipicamente, c'è un parametro in uno schema asimmetrico che limita la lunghezza del messaggio. Ad esempio il modulo in RSA.

So che la crittografia asimmetrica viene solitamente utilizzata per crittografare una chiave simmetrica e il messaggio effettivo viene crittografato con quest'ultima.

Ma come vengono solitamente implementati schemi asimmetrici? Solo permettendo piccoli messaggi fino al parametro limitante (avendo in mente esplicitamente le chiavi simmetriche), o permettendo messaggi arbitrari lunghi (che avrebbero bisogno di alcune modalità di funzionamento, ecc.)

    
posta firefexx 19.04.2014 - 11:24
fonte

1 risposta

0

La crittografia asimmetrica è usata di solito come parte della crittografia ibrida : una chiave simmetrica casuale K è generato dal mittente; K è crittografato con la chiave pubblica del destinatario e la maggior parte dei dati viene crittografata con un algoritmo di crittografia simmetrica utilizzando K come chiave. In pratica si utilizza la crittografia asimmetrica come algoritmo di scambio di chiavi.

In effetti questo non è di solito fatto in questo modo; è always fatto in questo modo. Ci sono molte buone ragioni per questo, ovvero:

  • Non sappiamo davvero come fare la crittografia "pura" asimmetrica in modo sicuro. Per la crittografia simmetrica abbiamo un sacco di teoria e pratica su modalità di funzionamento ; ma per qualcosa come RSA siamo ancora all'oscuro in questo senso.

  • La crittografia asimmetrica comporta l'espansione delle dimensioni; il testo crittografato è necessariamente più grande del messaggio di origine ("necessariamente" a causa della randomizzazione, necessaria per sconfiggere la ricerca esaustiva sui dati in chiaro). Se la crittografia asimmetrica viene utilizzata in tutto, allora l'overhead delle dimensioni per un grande messaggio diventa non trascurabile. A contrario , con crittografia ibrida, il sovraccarico è fisso anche se si crittografano gigabyte di dati.

  • La crittografia e la decifratura asimmetriche sono computazionalmente più costose rispetto alla crittografia simmetrica.

Queste ragioni si alimentano a vicenda: ad es. le modalità di funzionamento per la crittografia asimmetrica non sono studiate perché sarebbero comunque costose, per nessun guadagno chiaro.

Una conseguenza è che una normale implementazione RSA accetterà di crittografare i messaggi solo fino al limite di dimensione inerente dell'algoritmo e non tenterà di "dividere" il messaggio in blocchi crittografati individualmente o in qualcosa del genere.

Gli unici casi in cui viene utilizzata la crittografia asimmetrica senza crittografia ibrida sono:

  • Casi specializzati in cui i dati da crittografare sono sempre brevi.
  • Protocolli avanzati in cui il mittente deve essere in grado di provare alcune proprietà algebriche su ciò che è crittografato e / o crittografia omomorfica (questo è tipico dei protocolli di voto elettronico). In questi casi, i messaggi da crittografare non sono solo una sequenza di bit; hanno molte strutture matematiche e saranno di nuovo brevi.
risposta data 19.04.2014 - 17:28
fonte

Leggi altre domande sui tag