Anda di halaman 1dari 20

ALGORITMA RC4 SEBAGAI PERKEMBANGAN METODE KRIPTOGRAFI

Disusun oleh:

Andi Fadgham Izza Rizky (2007411055)


Daffa Adeel Hakim (2007411051)
Hamza Firdaus (2007411039)
Ken Arya Rizkyka Karunia (20074110XX)
Ragil Budhi Ajie (20074110XX)
Rizky Adi (20074110XX)

Pembimbing:

Chandra Wirawan, S.Kom., M.Kom.


(NIP 520000000000000329)

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK INFORMATIKA DAN KOMPUTER
POLITEKNIK NEGERI JAKARTA
2021

1
DAFTAR ISI
HALAMAN JUDUL..................................................................................................................................................... i
DAFTAR ISI................................................................................................................................................................ ii
DAFTAR GAMBAR.................................................................................................................................................. iii
BAB I PENDAHULUAN............................................................................................................................................ 1
1.1 Latar Belakang.................................................................................................................................................... 1
1.2 Perumusan Masalah............................................................................................................................................. 2
1.3 Tujuan Penelitian................................................................................................................................................. 2
1.4 Manfaat Penelitian............................................................................................................................................... 2
1.5 Sistematika Penelitian.......................................................................................................................................... 2
BAB II LANDASAN TEORI...................................................................................................................................... 3
2.1 Sejarah RC4........................................................................................................................................................ 3
2.2 Kriptografi........................................................................................................................................................... 3
2.3 Algoritma............................................................................................................................................................ 3
2.4 Teknologi Informasi............................................................................................................................................ 4
2.4 Komputer............................................................................................................................................................ 4
2.5 Keamanan Informasi........................................................................................................................................... 4
2.6 Algoritma Simetris.............................................................................................................................................. 4
BAB III DATA............................................................................................................................................................. 5
3.1 Algoritma RC4.................................................................................................................................................... 5
3.2 Cara Kerja Algoritma RC4..................................................................................................................................6
BAB IV ANALISIS DAN PEMBAHASAN.............................................................................................................13
4.1 Implementasi dari Algoritma RC4....................................................................................................................13
4.2 Keamanan RC4.................................................................................................................................................14
BAB V PENUTUP..................................................................................................................................................... 15
DAFTAR PUSTAKA................................................................................................................................................ 16

ii
DAFTAR GAMBAR

Gambar 1 : Key -Scheduling Algorithm................................................................................................5


Gambar 2 : Pseudo-Random Generation Algorithm...............................................................................6
Gambar 3 : Realisasi algoritma PRGA...................................................................................................6
Gambar 4 : Proses XOR PRB dengan plaintext...................................................................................11
Gambar 5 : Kecepatan Thread dalam Mbps.........................................................................................12
Gambar 6 : Implementasi dari Algoritma RC4.....................................................................................13

iii
BAB I PENDAHULUAN

1.1 Latar Belakang

Dewasa ini, sistem keamanan memainkan peran penting dalam perancangan sistem
teknologi informasi. Area dan jangkauan aplikasi yang membutuhkan sistem keamanan
seperti tanpa ada akhirnya, contohnya : komunikasi internet, perangkat-perangkat nirkabel
(misalnya : handphone dan wireless LAN), komunikasi antar mobil, ecommerce, e-Banking,
proteksi hak cipta untuk media digital, elektronik bar code pada produk-produk, stampel
elektronik, dll. Maka rancangan dan implementasi untuk solusi sistem keamanan di masa
mendatang akan sangat menantang untuk dilakukan, karena penyerang biasanya akan
menyerang link yang lemah dalam sistem keamanan. Penyerangan ini dapat menggunakan
berbagai opsi, contohnya menerobos crypto-algorithm. Dalam kebanyakan kasus, crypto-
algorithm adalah perangkat inti dalam aplikasi sistem keamanan dan karena itu
cryptoalgorithm harus didesain secara hati-hati, kemudian dipilih, dan diimplementasikan
untuk menghindari inti kriptografi tersebut menjadi link yang terlemah apapun solusi
keamanannya.

Teknik kriptografi modern adalah transformasi matematika (algoritma). Teknik ini


memperlakukan suatu pesan sebagai angka atau elemen aljabar dalam sebuah ruang dan
mengubahnya menjadi sebuah pesan lain yang mempunyai arti, atau pesan yang dapat
dimengerti (chipertext). Untuk menerjemahkan pesan – pesan tersebut, tentu harus ada
proses yang mengembalikan informasi asli yang terkandung dalam pesan – pesan tersebut.
Kita harus membalikan proses transformasi tersebut, proses pembalikan transformasi
disebut juga dengan dekripsi. Biasanya algoritma enkripsi dan dekripsi diberikan parameter
berupa cryptographic keys (kunci kriptografi). Sebuah algoritma enkirpsi dan sebuah
algoritma dekripsi, ditambah dengan deskripsi format sebuah pesan dan kunci, akan
membentuk sebuat sistem kriptografi atau disebut juga sebagai cryptosystem.

Sekarang ini ada 2 macam protokol kriptografi yang populer, yaitu : symmetric-key
dan asymmetric-key. Pada protokol symmetric-key, sebuah kunci (kunci rahasia atau kunci
privat) digunakan oleh kedua pihak yang berkomunikasi untuk mengenkripsi dan
mendekripsi pesan. Protokol jenis ini sudah lama digunakan. Penemuan protokol ini

1
diperkirakan sekitar tahun 1900 BC, yang meliputi kode kriptografi dan teknik cipher
(contohnya Caesar Cipher, Hill Cipher, Vernam Cipher). Sedangkan pada protokol
kriptografi dengan asymmetric key, satu kunci di sebarluaskan ke publik dan menahan yang
lainnya sebagai private key. Private key tersebut didesain agar sulit untuk dipecahkan,
walaupun telah mengetahui kunci yang disebarluaskan ke publik

1.2 Perumusan Masalah

Keamanan informasi pada proses komunikasi teknologi informasi dan komputer


selalu menjadi permasalahan yang tidak ada habisnya karena kehadiran oknum-oknum yang
menyalahgunakan keahliannya untuk memperoleh keuntungan pribadi. Menanggapi
permasalahan tersebut maka diperlukan metode pengamanan informasi yang terus
berkembang dan semakin canggih kedepannya karena setiap algoritma yang ada pastinya
cepat atau lambat ditemukan celahnya. Algoritma DES yang merupukan algoritma simetris
modern hadir untuk coba memberi solusi terkait permasalahan tersebut.

1.3 Tujuan Penelitian


1. Sarana penambah wawasan terkait algoritma RC4
2. Memberi pemahaman tentang pentingnya keamanan informasi
3. Menganalisis dan memahami kinerja keamanan pada algoritma RC4

1.4 Manfaat Penelitian


1. Meningkatnya pemahaman terkait algoritma RC4
2. Memunculkan inovasi terhadap perkembangan ilmu kriptografi setelah memahami
tentang algoritma RC4
3. Meningkatnya kesadaran tentang pentingnya keamanan informasi pada teknlogi
informasi dan komputer
4. Menambah wawasan seputar ilmu kriptografi

1.5 Sistematika Penelitian


Penelitian dilakukan dengan menggunakan mekanisme studi literatur yang artinya
proses pencarian terkait data-data seputar topik dilakukan melalui media-media literasi
terpercaya berupa jurnal dan web penyedia informasi terkait topik yang memiliki
2
kredibilitas tinggi.

3
BAB II LANDASAN TEORI

2.1 Sejarah RC4

RC4 didesain oleh Ron Rivest yang berasal dari RSA Security pada tahun 1987. RC
sendiri mempunyai singkatan resmi yaitu “Rivest Chiper”, namun juga dikenal sebagai
“Ron’s Code” RC4 sebenarnya dirahasiakan dan tidak dipublikasikan kepada khalayak
ramai, namun ternyata ada orang yang tidak dikenal menyebarkan RC4 ke mailing list
Cypherpunks. Kemudian berita ini dengan cepat diposkan ke sci.crypt newsgroup, dan dari
newsgroup ini kemudian menyebar luas di internet. Kode yang dibocorkan tersebut
dipastikan keasliannya karena output yang dikeluarkan sama dengan software-software yang
menggunakan RC4 yang berlisensi. Nama RC4 sudah dipatenkan, sehingga RC4 sering
disebut juga ARCFOUR atau ARC4 (Alleged RC4) untuk menghindari masalah pematenan.
RSA Security tidak pernah secara resmi merilis algoritma tersebut, Makalah IF2091
Struktur Diskrit – Sem. I Tahun 2010/2011 namun Rivest secara pribadilah yang merilisnya
tersebut dengan menhubunkan Wikipedia Inggris ke catatancatatan yang ia punya. RC4
telah menjadi bagian dari protokol enkripsi yang standard dan sering digunakan, termasuk
WEP dan WPA untuk wireless card, serta TLS. Faktor utama yang menjadi kesuksesan dari
RC4 adalah kecepatannya dan kesederhanaannya dalam menangani banyak applikasi,
sehingga mudah untuk mengembangkan implementasi yang effisien ke software dan
hardware.

2.2 Kriptografi

Kriptorafi adalah suatu ilmu tentang teknik enkripsi naskah asli (plaintext) yang
diacak memanfaatkan sebuah kunci enkripsi sehingga naskah asli tersebut berubah menjadi
naskah yang sulit dibaca (chipertext) oleh pihak yang tidak memiliki kunci dekripsi.

2.3 Algoritma

Algoritma adalah logika, metode dan tahapan “urutan” sistematis yang digunakan
untuk memecahkan suatu permasalahan. Algoritma dapat juga diartikan sebagai urutan
langkag secara sistematis dan logis. Dalam perkembangannya, algoritma banyak dipakai di
4
bidang komputer.

2.4 Teknologi Informasi

Teknologi informasi adalah suatu teknologi yang berhubungan dengan pengolahan


data menjadi informasi dan proses penyaluran data/informasi tersebut dalam batas-batas
ruang dan waktu. Komputer hanya merupakan salah satu produk dalam domain teknologi
informasi. Modem, Router, Oracle, SAP, Printer, Multimedia, Cabling System, VSAT, dan
lain sebagainya, merupakan contoh dari produk-produk teknologi informasi.

2.4 Komputer

Komputer adalah alat elektronik yang terdiri dari rangkaian berbagai komponen
yang saling terhubung sehingga membentuk suatu sistem kerja. Sistem di dalam komputer
tersebut dapat melakukan pekerjaan secara otomatis berdasarkan program yang
diperintahkan kepadanya sehingga mampu menghasilkan informasi berdasarkan data dan
program yang ada.

2.5 Keamanan Informasi

Keamanan informasi menurut adalah usaha untuk dapat mencegah penipuan


(cheating) atau bisa mendeteksi adanya penipuan pada sistem yang berbasis informasi, di
mana informasinya sendiri tidak memiliki arti fisik.

2.6 Algoritma Simetris

Algoritma simetris (symmetric algorithm) adalah suatu algoritma dimana kunci


enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga
sebagai single-key algorithm.

5
BAB III DATA

3.1 Algoritma RC4

RC4 menghasilkan pseudorandom stream bit. Seperti halnya stream cipher lainnya,
algoritma RC4 ini dapat digunakan untuk mengenkripsi dengan mengombinasikannya
dengan plainteks dengan menggunakan bit-wise Xor (Exclusive-or). Proses dekripsinya
dilakukan dengan cara yang sama (karena Xor merupakan fungsi simetrik). Untuk
menghasilkan keystream, cipher menggunakan state internal yang meliputi dua bagian : 1.
Sebuah permutasi dari 256 kemungkinan byte. 2. 2 Indeks-pointer 8-bit. Permutasi di
inisialisasi dengan sebuah variabel panjang kunci, biasanya antara 40 sampai 256 bit
dengan menggunakan algoritma key-scheduling (KSA). Setelah proses ini selesai, stream
yang terdiri dari sekumpulan bit tersebut terbentuk dengan menggunakan Pseudo-Random
Generation Algorithm (PRGA).

1. Key-Scheduling Algorithm (KSA)


Algoritma key scheduling digunakan untuk menginisialisasi permutasi di array “S”.
panjang kunci didefinisikan sebagai jumlah byte di kunci dan mempunyai rentang
panjang kunci dari 1 sampai 256, khususnya antara 5-16 tergantung dari panjang kunci
40- 128bit. Pertama-tama array “S” diinisialisasi untuk identitas permutasi. S kemudian
diproses ke 256 iterasi dengan cara yang sama dengan PRGA utama, tapi juga
dikombinasikan dalam byte dari kunci dalam waktu yang bersamaan.

Gambar 1 : Key -Scheduling Algorithm

6
2. Pseudo-Random Generation Algortihm
PRGA (Pseudo-Random Generation Algortihm) memodifikasi state dan output
sebuah byte dari keystream. Hal ini penting karena banyaknya dibutuhkan iterasi. Dalam
setiap iterasi, PRGA menginkremen i, menambahkan nilai S yang ditunjuk oleh i sampai
j, kemudian menukar nilai S[i] dan S[j], lalu mengembalikan elemen dari S di lokasi S[i]
+ S[j] (modulo 256). Setiap elemen S ditukar dengan elemen lainnya paling tidak satu
kali setiap 256 iterasi.

Gambar 2 : Pseudo-Random Generation Algorithm

Realisasi algoritma PRGA dapat dilihat sebagai berikut:

Gambar 3 : Realisasi algoritma PRGA

3.2 Cara Kerja Algoritma RC4

Cara kerja algoritma RC4 yaitu inisialisasi S-Box pertama, S[0], S[1], ……..,
S[255], dengan bilangan 0 sampai 255. Pertama isi secara berurutan S[0]=0, S[1]=1, ….,
S[255]=255. Kemudian inisialisasi array lain (S-Box lain), misal array K dengan panjang
256. Isi array K dengan kunci diulangi sampai seluruh array K[0], K[1], ……., K[255]
terisi seluruhnya. Proses inisialisasi S-Box (Array S) 
7
8
Byte K di-XOR kan dengan plaintext untuk menghasilkan ciphertext atau di XOR kan
dengan ciphertext untuk menghasilkan plaintext. Enkripsi sangat cepat kurang lebih 10
kali lebih cepat dari DES.

Berikut adalah contoh penerapan algoritma RC4 dengan mode 4 byte (agar lebih
sederhana). Pertama inisialisasi S-Box dengan panjang 4 byte, dengan S[0]=0, S[1]=1,
S[2]=2, dan S[3]=3 sehingga array S menjadi :

0123

Inisialisasi 4 byte kunci array, Ki. Misalkan kunci terdiri dari 2 byte yaitu byte 1 dan
byte 7. Ulang kunci sampai memenuhi seluruh array K sehingga array K menjadi :

17 1 7

Berikutnya mencampur operasi dimana kita akan menggunakan variabel i dan j ke


index array S[i] dan K[i]. Pertama kita beri nilai inisial untuk i dan j dengan 0. Operasi
pencampuran adalah pengulangan rumusan (j + S[i] + K[i] mod 4 yang diikuti dengan
penukaran S[i] dengan S[j]. Karena menggunakan array dengan panjang 4 byte maka
algoritma menjadi :

For i = 0 to 4

j = (j + S[i] + K[i] mod 4

swap S[i] dan S[j]

Dengan algoritma seperti diatas maka nilai awal i=0 sampai i=3 akan menghasilkan
9
array S seperti berikut :

Iterasi pertama :

i = 0, maka

j = (j + S[i] + K[i] ) mod 4

= (j + S[0] + K[0] ) mod 4

= (0 + 0 + 1 ) mod 4

=1

Swap S[0] dan S[1] sehingga menghasilkan array S :

10 2 3

Iterasi kedua :

i = 1, maka

j = (j + S[i] + K[i] ) mod 4

= (j + S[1] + K[1] ) mod 4

= (1 + 0 + 7 ) mod 4 = 0

Swap S[1] dan S[0] sehingga menghasilkan array S :

0123

Iterasi ketiga :

i = 2, maka

j = (j + S[i] + K[i]) mod 4

= (j + S[2] + K[2] ) mod 4

= (0 + 2 + 1 ) mod 4

=3

Swap S[2] dan S[3] sehingga menghasilkan array S :

0132

10
Iterasi keempat :

i = 3, maka

j = ( j + S[i] + K[i] ) mod 4

= ( j + S[3] + K [3] ) mod 4

= (3 + 2 + 7 ) mod 4

=0

Swap S[3] dan S[0] sehingga menghasilkan array S :

2130

Setelah didapat hasil array S dari iterasi keempat, maka proses selanjutnya yaitu meng-
XOR-kan pseudo random byte dengan plaintext, misalnya plaintext yang dimasukkan
adalah “HI”.

Karena plaintext terdiri dari dua karakter maka terjadi dua iterasi. Iterasi pertama yaitu :

Inisialisasi i dan j dengan i = 0; j = 0.

i = 0; j = 0;

i = ( i + 1 ) mod 4

= (0 + 1 ) mod 4

=1

Dan

j = ( j + S[i] ) mod 4

= ( 0 + 2 ) mod 4

=2

Swap S[i] dan S[j] yaitu S[1] dan S[2] sehingga array S menjadi :

2310

t = ( S[i] + S[j] ) mod 4

= ( 3 + 1 ) mod 4

11
=0

K = S[t] = S[0] = 2

Byte dua/K inilah yang di-XOR-kan dengan plaintext “H”. Selanjutnya iterasi keduanya
yaitu :

i = 1; j = 2

i = ( i + 1 ) mod 4

= ( 1 + 1 ) mod 4

=2

Dan

j = ( j + S[i] ) mod 4

= ( 2 + 2 ) mod 4 = 0

Swap S[i] dan S[j] yaitu S[2] dan S[0] sehingga array S menjadi :

1320

t = ( S[i] + S[j] ) mod 4

= ( 2 +1 ) mod 4

=3

K = S[t] = S [3] = 2

Byte K=2 yang akan di-XOR-kan dengan plaintext “I”

Proses XOR pseudo random byte dengan plaintext,

Gambar 4 : Proses XOR PRB dengan plaintext


12
Sedangkan proses deskripsi adalah kebalikan dari proses enkripsi, yaitu mengubah
ciphertext menjadi plaintext kembali.
Berdasarkan hasil pengujian performa RC4 pada Intel E4500 2.2GHz memori 1 GB,
diperoleh hasil seperti terlihat pada tabel. Hasil pengetesan pada tabel 7 didapat
dengan enkripsi 4 kbyte sebanyak 3200 kali, atau setara dengan 100 Mb data.

Gambar 5 : Kecepatan Thread dalam Mbps

13
BAB IV ANALISIS DAN PEMBAHASAN

4.1 Implementasi dari Algoritma RC4


Banyak stream cipher dibuat berdasarkan Linear Feedback Shift Registers
(LFSRs) yang efisien di perangkat keras namun kurang efisien dalam perangkat lunak.
Desain dari RC4 menghindari penggunaan LFSRs, dan algoritma ini ideal untuk
implementasi perangkat lunak karena hanya menggunakan manipulasi byte. Algoritma
ini menggunakan 256 byte memori untuk kunci, yaitu key[0] sampai key[k-1], dan
variabel integer i, j, dan y. Reduksi modular dari beberapa nilai modulo 256 dapat
dilakukan dengan sebuah bitwise AND dengan 255 (yang ekuivalen untuk mengambil
byte dengan orde rendah dari nilai di pertanyaan).

Gambar 6 : Implementasi dari Algoritma RC4

14
4.2 Keamanan RC4

Tidak seperti stream cipher modern, RC4 tidak mengambil nonce yang terpisah
bersamaan dengan kunci. Hal ini berarti jika kunci single long-term digunakan untuk
mengenkripsi beberapa stream, kriptosistemnya harus menentukan bagaimana cara
mengombinasikan nonce tersebut dan kunci long-term untuk menghasilkan kunci stream untuk
RC4. Sebuah pendekatan untuk menangani hal tersebut adalah dengan membuat sebuah kunci
RC4 dengan menggunakan fungsi hash. Enkripsi dengan menggunakan RC4 dapat diterobos
dan rentan terhadap bit-flipping attack. Untuk menanggulangi hal ini, skema enkripsi harus
dikombinasikan dengan message authentication code yang kuat.
Pada tahun 2001 Fluhrer, Martin, dan Shamir membuat suatu penemuan yang
mengejutkan. Dari semua kemungkinan kunci RC4, statistik untuk beberapa byte yang pertama
dari keluaran keystream sangat tidak random, dan membocorkan informasi untuk kunci ini. Jika
kunci long-term dikonkat dengan nonce untuk menghasilkan kunci RC4, kunci long-term
ini dapat ditemukan dengan menganalisis sejumlah besar pesan yang dienkripsi dengan kunci
ini. Efek ini dugunakan untuk menerobos enkripsi WEP dengan jaringan wireless 802.11. Hal
ini menyebabkan perebutan untuk pengganti standard WEP.
Pada tahun 2005, Andreas Klein mempresentasikan sebuah analisis terhadap RC4 stream
cipher yang menunjukan lebih banyak korelasi antara keystream RC4 dan kunci tersebut. Erik
Tews, Ralf-Philip Weinmann, dan Andrei Pychkine menggunakan analisis ini untuk membuat
aircrack-ptw, yaitu sebuah perangkat untuk memecahkan 104-bit RC4 yang digunakan di 128-
bit WEP dalam waktu 1 menit.

15
BAB V PENUTUP

16
DAFTAR PUSTAKA

17

Anda mungkin juga menyukai