RSA è un codice di flusso o un codice a blocchi?
Non è né un codice di flusso né un codice a blocchi. Entrambi utilizzano la stessa chiave per crittografare e decifrare (crittografia simmetrica).
RSA è asimmetrico e significa che crittografati con una chiave diversa da quella con cui decifri. Il vantaggio è che la chiave di crittografia può essere resa pubblica, dal momento che le persone possono solo utilizzarla per crittografare e nessuno può decifrare se si tiene la chiave di decodifica per se stessa.
A differenza del blocco (generalizzazione) e dei codici di flusso, RSA si basa direttamente sulla matematica.
RSA è un codice a blocchi e può utilizzare dimensioni blocco di lunghezza variabile. Semplicemente perché non è simmetrico non significa che non possa essere un blocco o un codice di streaming. Inoltre, sebbene non sia destinato ad essere usato come codice a blocchi, è comunque un codice a blocchi. Confuso ancora? :)
In genere, RSA intende crittografare solo piccole parti di dati, in genere hash e chiavi simmetriche che vengono poi utilizzate per crittografare la maggior parte dei dati. Tuttavia, la crittografia / decodifica RSA funziona su blocchi di dati, in genere 64 o 128 bit alla volta. La dimensione dei blocchi viene determinata in fase di esecuzione. Poiché i dati richiesti possono spesso essere en (de) criptati in un singolo uso, spesso si assume erroneamente che non sia un codice a blocchi perché i dati sono un blocco singolo, piuttosto che diversi. Questo non cambia il fatto che funziona davvero in modo cifrato a blocchi.
Secondo le definizioni di wikipedia, sia i flussi che i codici a blocchi richiedono chiavi simmetriche. RSA ha una chiave asimmetrica quindi non è uno di questi.
Se si rilascia il requisito della chiave simmetrica (non vedo perché sia rilevante comunque per il termine "blocco" rispetto a "flusso"), allora sarebbe un codice a blocchi.
RSA è l'acronimo / inizialismo di tre crittografi Ron Rivest, Adi Shamir, e Len Adleman che hanno fondato una società di sicurezza dello stesso nome.
Questo è importante perché "RSA" può fare riferimento a una vasta gamma di prodotti e brevetti crittografici:
Leggi altre domande sui tag cryptography