RC4 (Rivest Cipher 4) è un cifrario a flusso progettato da Ron Rivest nel 1987. Crittografa i dati generando un flusso di bit pseudocasuale (chiamato flusso di chiavi) che viene combinato con i dati in chiaro, in genere utilizzando un'operazione XOR, per produrre testo cifrato.
Crittografia: ogni byte di testo in chiaro viene combinato con un byte corrispondente del flusso di chiavi per generare il testo cifrato.
Decrittografia: lo stesso flusso di chiavi viene utilizzato per eseguire l'operazione XOR del testo cifrato e recuperare il testo in chiaro originale.
Velocità: RC4 è noto per la sua velocità ed efficienza, in particolare in ambienti con risorse limitate.
Semplicità: è semplice da implementare e richiede risorse minime, il che lo rende adatto ad ambienti con potenza di elaborazione limitata.
Utilizzo storico: RC4 è stato ampiamente utilizzato in protocolli come SSL/TLS per le comunicazioni sicure e WEP per la sicurezza delle reti wireless.
Generazione di chiavi: viene utilizzata una chiave segreta (solitamente compresa tra 40 e 2048 bit) per Inizializza lo stato RC4.
Generazione del flusso di chiavi: l'algoritmo RC4 genera un flusso di chiavi pseudocasuale basato sulla chiave.
Crittografia: ogni byte di testo in chiaro viene sottoposto a XOR con il byte del flusso di chiavi, ottenendo testo cifrato.
Decifratura: lo stesso flusso di chiavi viene utilizzato per eseguire l'operazione XOR del testo cifrato e recuperare il testo in chiaro originale.
Librerie/Strumenti: RC4 è supportato in diverse librerie, sebbene sia spesso deprecato per motivi di sicurezza:
Python: libreria pycryptodome.
Java: Pacchetto javax.crypto (sebbene il suo utilizzo sia sconsigliato a favore di algoritmi più potenti).
C#: namespace System.Security.Cryptography.
Sistemi legacy: quando si lavora con sistemi più vecchi che utilizzano ancora la crittografia RC4 (ad esempio, vecchie implementazioni SSL/TLS).
Applicazioni non critiche: se si lavora a progetti in cui la velocità è più importante della sicurezza, sebbene questo sia generalmente sconsigliato a favore di cifrari più potenti.
Didattico Scopi: RC4 è spesso utilizzato per l'insegnamento dei cifrari simmetrici e dei cifrari a flusso grazie alla sua semplicità.