Che cos’è RC4?
RC4 è stato progettato nel 1987 da Ron Rivest ed è uno dei più diffusi software stream cipher e utilizzato in protocolli popolari, come SSL (proteggere il traffico Internet), WEP (secure wireless networks) e PDF.It ‘ s considerato veloce e semplice in termini di software.RC4 genera un flusso pseudo-casuale di bit (un flusso di chiavi). Come con qualsiasi streamcipher, questi possono essere utilizzati per la crittografia combinandolo con il testo in chiaro utilizzando bit-wiseexclusive-or. La decrittografia viene eseguita allo stesso modo (poiché esclusiva-o è una simmetricaoperazione).Per generare il flusso di chiavi, il codice fa uso di uno stato interno segreto checonsiste di due parti: 1. Una permutazione di tutti i 256 byte possibili (indicato “S” sotto).2. Due indicatori di indice a 8 bit (indicati con ” i “e ” j”).La permutazione viene inizializzata con una chiave di lunghezza variabile, in genere tra 40 e 256 bit, utilizzando l’algoritmo di programmazione delle chiavi (KSA). Quindi il flusso di bit viene generato dall’algoritmo di generazione casuale apseudo.Figura tratta da http://www.networklife.net/2009/07/etude-de-wep-et-rivest-cipher-4/The fase di ricerca di RC4. Il byte di output viene selezionato cercando i valori di S (i) e S(j), aggiungendoli insiememodulo 256, e quindi cercando la somma in S; S(S(i) + S(j)) viene utilizzato come byte del key-stream, K.