Algoritma Kriptografi Kunci Asimetris Algoritma RC4 RC4 adalah stream cipher yang dirancang di RSA Security oleh Ron Rivest tahun

2. Block cipher Sistem block cipher mengkodekan data dengan cara membagi plaintext menjadi per blok dengan ukuran yang sama dan tetap. Kemudian setiap bloknya dienkripsi atau didekripsi sekaligus Zain, 2012. Contoh algoritma ini adalah RC5, DES, AES, IDEA, dan Blowfish.

2.3 Algoritma Kriptografi Kunci Asimetris

Penyandian dengan kunci asimetris atau sering juga disebut dengan penyandian kunci publik adalah penyandian dengan kunci enkripsi dan dekripsi yang berbeda nilai. Kunci yang digunakan untuk enkripsi disebut dengan kunci publik public key dan kunci yang digunakan untuk dekripsi disebut kunci rahasia private key Sadikin, 2012. Kunci asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk proses dekripsi. Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengenkripsi suatu pesan, sedangkan hanya satu orang saja yang memiliki kunci rahasia yang dapat melakukan pembongkaran terhadap sandi yang dikirim untuknya Ariyus, 2006. Contoh, Alice ingin mengirim pesan kepada Bob, maka hal yang harus dilakukan adalah : 1. Bob memberitahukan kunci publiknya ke Alice. 2. Alice mengenkripsi pesan dengan menggunakan kunci publik Bob. 3. Bob mendekripsi pesan dari Alice dengan kunci rahasianya. 4. Begitu juga sebaliknya jika Bob ingin mengirim pesan kepada Alice. Contoh algoritma yang menggunakan kunci asimetris adalah RSA, DSA, Diffie- Hellman DH, dan lain-lain Ariyus, 2008.

2.4 Algoritma RC4 RC4 adalah stream cipher yang dirancang di RSA Security oleh Ron Rivest tahun

1987. Pada mulanya cara kerja RC4 dirahasiakan oleh RSA Security, akan tetapi ini dibocorkan di internet tahun 1994 di milis Cypherpunks. RSA Security tidak pernah Universitas Sumatera Utara merilis RC4 secara resmi, akibatnya banyak yang menyebutnya sebagai ARC4 alleged RC4 atau tersangka RC4 untuk menghindari masalah trademark Kromodimoeljo, 2010. RC4 merupakan salah satu jenis stream cipher, yaitu memproses unit atau input data pada satu saat. Unit atau data pada umumnya merupakan sebuah byte. Dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini tidak harus menunggu sejumlah input data tertentu sebelum diproses, atau menambahkan byte tambahan untuk mengenkrip Sukmawan, 1998. Algoritma RC4 terdiri atas 2 bagian yaitu Key Scheduling Algorithm KSA dan Pseudo-Random Generation Algorithm PRGA. 1. Key Scheduling Algorithm KSA Dalam proses KSA terdapat 2 state array yang harus diinisialisasi yakni S dan K. Array S sepanjang 256 diinisialisasi dengan bilangan 0 sampai 255, S[0] = 0, S[1] = 1, ... , S[255] = 255. Sedangkan array K dengan panjang 256 diinisialisasi dengan kunci yang diulangi sampai seluruh array K[0], K[1], ... , K[255] terisi penuh Ariyanto, 2009. Berikut adalah algoritma KSA, dimana simbol l menyatakan panjang kunci dalam byte. for i from 0 to 255 S[i] := i endfor j := 0 for i from 0 to 255 j := j + S[i] + K[i mod l] mod 256 swap values of S[i] and S[j] endfor Universitas Sumatera Utara 2. Pseudo-Random Generation Algorithm PRGA State array S hasil dari proses KSA digunakan lagi dalam proses PRGA ini untuk menghasilkan keystream yang akan di XOR kan dengan plaintext untuk menghasilkan ciphertext Mooduto Albar, 2004. Berikut adalah algoritma PRGA : i := 0 j := 0 while GeneratingOutput: i := i + 1 mod 256 j := j + S[i] mod 256 swap values of S[i] and S[j] output := S[S[i] + S[j] mod 256] endwhile

2.5 Algoritma RC4A