RC4 (Rivest Cipher 4) adalah aliran sandi yang dirancang oleh Ron Rivest pada tahun 1987. Sandi ini mengenkripsi data dengan menghasilkan aliran bit pseudorandom (disebut keystream) yang digabungkan dengan data teks biasa, biasanya menggunakan operasi XOR, untuk menghasilkan teks sandi.
Enkripsi: Setiap byte teks biasa digabungkan dengan byte yang sesuai dari keystream untuk menghasilkan teks sandi.
Dekripsi: Keystream yang sama digunakan untuk meng-XOR teks sandi dan memulihkan teks biasa asli.
Kecepatan: RC4 dikenal karena kecepatan dan efisiensinya, terutama di lingkungan dengan sumber daya terbatas.
Kesederhanaan: Mudah diimplementasikan dan membutuhkan sumber daya minimal, sehingga cocok untuk lingkungan dengan daya pemrosesan terbatas.
Penggunaan Historis: RC4 banyak digunakan dalam protokol seperti SSL/TLS untuk komunikasi aman dan WEP untuk keamanan jaringan nirkabel.
Pembuatan Kunci: Kunci rahasia (biasanya antara 40 dan 2048 bit) digunakan untuk menginisialisasi status RC4.
Pembuatan Keystream: Algoritme RC4 membuat keystream pseudorandom berdasarkan kunci.
Enkripsi: Setiap byte plaintext di-XOR dengan byte keystream, menghasilkan ciphertext.
Dekripsi: Keystream yang sama digunakan untuk meng-XOR ciphertext dan memulihkan plaintext asli.
Perpustakaan/Alat: RC4 didukung di berbagai pustaka, meskipun sering kali tidak digunakan lagi karena alasan keamanan:
Python: pustaka pycryptodome.
Java: javax.crypto package (meskipun penggunaannya tidak dianjurkan demi algoritma yang lebih kuat).
C#: namespace System.Security.Cryptography.
Sistem Lama: Saat bekerja dengan sistem lama yang masih menggunakan enkripsi RC4 (misalnya, implementasi SSL/TLS lama).
Aplikasi Non-Kritis: Jika Anda mengerjakan proyek yang kecepatan lebih penting daripada keamanan, meskipun ini umumnya tidak dianjurkan demi cipher yang lebih kuat.
Tujuan Pendidikan: RC4 sering digunakan untuk mengajarkan tentang cipher simetris dan cipher aliran karena kesederhanaannya.