RC4
Wikipedia
RC4 (Ron's Code 4, Rivest Cipher 4) on RSA Laboratoriesin (nykyisin RSA Security) työntekijän Ronald Rivestin 1987 suunnittelema salausalgoritmi. RC4 on symmetrinen jonosalaaja, se salaa tiedon yksi tavu kerrallaan. Algoritmi on nopea ja se perustuu vaihtelevan mittaiseen salaiseen avaimeen.
Alussa RC4 -avain oli rajoitettu vain 40 bittiin USA:n vientirajoitusten vuoksi, mutta nykyään sitä saa käyttää Suomessakin 64 - ja 128 -bittisinä (Wassenaarin sopimus). Teoriassa on mahdollista käyttää avaimia yhdestä bitistä 2048 asti.
RC4 on kaupallisesti laajasti käytössä mm. ohjelmistoissa Lotus Notes, Oracle SQL, Microsoft Windows sekä SSL-protokollassa. Algoritmi on tarkoin varjeltu salaisuus vielä tänäkin päivänä, mutta erinäiset kryptanalyytikot ovat onnistuneet purkamaan sen ja mm. ilmaisessa OpenSSL -ohjelmistokirjastossa se on toteutettuna jo.
[muokkaa] Tietoturvasta
Tuntemattoman henkilö vuoti 9. syyskuuta 1994 RC4:n lähdekoodin internetiin.
Tutkijat ovat löytäneet myös pari ongelmaa esimerkiksi RC4:n KSA:sta. KSA on tekniikka, joka pidentää lyhyen avaimen isoksi 1700 bitin satunnaiseksi avaimeksi. KSA:ssa vaihtelua ei ole tarpeeksi ja vaihtelun puute näkyy salaisessa avaimessa, joka taas näkyy salakirjoitetun tiedon samankaltaisuutena. Varsinkin seurattaessa suuria määriä dataa, salainen avain on helppo selvittää symmetrisestä salaajasta.
Toinen ongelma koskee alustusvektoreita. Alustusvektorit (initialization vector) ovat vain 24 bitin mittaisia, joten samankaltaisuus näkyy IV:ssa hyvinkin nopeasti. IV:t mahdollistavat selkokielisen viestin selvittämisen. IV:ta vertailemalla salausavain voidaan löytää.
[muokkaa] Toiminta
RC4 on käytännössä näennäissatunnaislukugeneraattori (Pseudo-Random Number Generator, PRNG). Se siis luo isoja satunnaislukuja annettujen avainten perusteella. Satunnaisluvun ja salattavan tekstin yhdistämällä XOR-operaatiolla saadaan salattu teksti.
Koska sama satunnaisluku syntyy aina samalla avaimella, tekstin purkaminen onnistuu samalla tekniikalla (kaksi XOR-operaatiota samalla satunnaisluvulla tietysti kumoaa toisensa).