Penso che spiegare la debolezza di RC4 a un pubblico non tecnico sarebbe molto simile a spiegare il ruolo della casualità in cripto a un pubblico simile.
Diciamo che voglio che il mio esercito attaccha all'alba, quindi cifro il messaggio "attacco all'alba", generi un ciphertext c_0, e lo mando al mio esercito, che attacca il mio nemico all'alba. Grande.
La prossima settimana, voglio attaccare di nuovo all'alba. Quindi uso un'altra chiave e cripto di nuovo il mio messaggio "attacco all'alba" per generare un testo cifrato c_1, che ho poi detto al mio esercito. Immagina di farlo n volte per produrre n testi cifrati.
Se il mio nemico può leggere i messaggi che invio, cercherà i pattern ( biases ) nei messaggi che invio subito prima che il mio esercito attacchino all'alba. Se c'è qualcosa di simile con tutti questi messaggi (ad es. Iniziano tutti con un carattere "?"), Il mio nemico potrebbe essere in grado di indovinare che ogni messaggio che inizia con "?" corrisponde a "attacco all'alba". Tuttavia, se non riesci a trovare alcun modello nei testi cifrati, il nemico non impara nulla sulla tua comunicazione.
Il punto debole di RC4 sta nel fatto che lo stesso messaggio crittografato con chiavi diverse produce cifrari con schemi comuni (bias statistici). Questi sono di solito molto più sottili di quelli che iniziano con lo stesso personaggio, ma il punto è lo stesso.