Az RC4 (Rivest Cipher 4) egy folyamrejtjelező, amelyet Ron Rivest tervezett 1987-ben. Az adatokat egy pszeudovéletlenszerű bitfolyam (kulcsfolyam) létrehozásával titkosítja, amelyet a sima szöveges adatokkal kombinál, jellemzően XOR művelettel, így létrehozva a titkosított szöveget.
Titkosítás: A sima szöveg minden bájtját a kulcsfolyam megfelelő bájtjával kombinálva hozza létre a titkosított szöveget.
Visszafejtés: Ugyanazt a kulcsfolyamot használják a titkosított szöveg XOR műveletéhez és az eredeti sima szöveg visszaállításához.
Sebesség: Az RC4 sebességéről és hatékonyságáról ismert, különösen korlátozott erőforrásokkal rendelkező környezetekben.
Egyszerűség: Egyszerűen megvalósítható és minimális erőforrást igényel, így alkalmas korlátozott feldolgozási teljesítményű környezetekben való használatra.
Korábbi felhasználás: Az RC4-et széles körben használták olyan protokollokban, mint az SSL/TLS a biztonságos kommunikációhoz és a WEP a vezeték nélküli hálózatok biztonságához.
Kulcsgenerálás: Egy titkos kulcs (általában 40 és 2048 bit között) használatos az RC4 inicializálásához. állapot.
Kulcsfolyam generálása: Az RC4 algoritmus egy pszeudovéletlenszerű kulcsfolyamot generál a kulcs alapján.
Titkosítás: A sima szöveg minden bájtját XOR művelettel követi a kulcsfolyam bájtjával, így titkosított szöveget kapunk.
Dekódolás: Ugyanazt a kulcsfolyamot használják a titkosított szöveg XOR műveletéhez és az eredeti sima szöveg visszaállításához.
Könyvtárak/Eszközök: Az RC4 számos könyvtárban támogatott, bár biztonsági okokból gyakran elavult:
Python: pycryptodome könyvtár.
Java: javax.crypto csomag (bár a használatát nem javasolják, és az erősebb algoritmusokat részesítik előnyben).
C#: System.Security.Cryptography névtér.
Régi rendszerek: Régebbi, még mindig RC4 titkosítást használó rendszerekkel való munka esetén (pl. régi SSL/TLS implementációk).
Nem kritikus alkalmazások: Ha olyan projekteken dolgozik, ahol a sebesség fontosabb, mint a biztonság, bár ezt általában nem javasolják, és az erősebb titkosításokat részesítik előnyben.
Oktatási célok: Az RC4-et gyakran használják a következők oktatására: szimmetrikus rejtjelek és folyamrejtjelek egyszerűsége miatt.