Algoritma RC4A Fungsi Hash

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

Pada FSE 2004, Souradyuti Paul dan Bart Preneel telah mengusulkan sebuah varian baru dari RC4 yang diberi nama RC4A. RC4A merupakan sebuah upaya untuk meningkatkan keamanan dari RC4 tanpa mengurangi efisiensi. RC4A adalah stream cipher yang berorientasi byte. Tahap pembentukan dari RC4A lebih efisien dibanding RC4, tetapi tahap inisialisasinya memerlukan setidaknya dua kali proses inisialisasi dari RC4. Berikut adalah algoritma KSA dari RC4A Tsunoo, et al. circa 2005: RC4_KSAK, � 1 for i = 0 ... l-1 WK[i] = RC4_PRGA � 1 RC4_KSAWK, � 2 Universitas Sumatera Utara Berikut adalah algoritma PRGA dari RC4A Tsunoo, et al. circa 2005: Initialization: i = 0 � 1 = � 2 = 0 Generation loop i = i + 1 � 1 = � 1 + � 1 [i] Swap � 1 [i], � 1 [ � 1 ] Output z = � 2 [ � 1 [i] + � 1 [ � 1 ]] � 2 = � 2 + � 2 [i] Swap � 2 [i], � 2 [ � 2 ] Output z = � 1 [ � 2 [i] + � 2 [ � 2 ]] RC4A menggunakan dua state array, S 1 dan S 2 , dan tiga buah indeks i, j 1 , dan j 2 . RC4A menggunakan KSA yang sama dengan RC4 kecuali satu hal dimana KSA digunakan dua kali, masing-masing sekali untuk S 1 dan S 2 . Semua operasi aritmetika dihitung dengan modulo 256. Proses KSA dari RC4A terdiri atas 2 bagian yaitu : 1. KSA dengan masukan K dan S 1 . 2. KSA dengan masukan WK dan S 2 . WK dihasilkan dari PRGA milik RC4. l di sini merupakan panjang kunci dalam byte. Setelah S 1 dan S 2 diperoleh dari proses KSA, selanjutnya digunakan kembali dalam PRGA. Tiap putaran dalam PRGA menghasilkan 2 byte output.

2.6 Fungsi Hash

Salah satu hal primitif mendasar dalam kriptografi modern adalah fungsi hash kriptografi yang sering disebut dengan fungsi hash satu arah. Fungsi hash adalah sebuah fungsi dengan masukan string biner yang panjangnya sembarang dan menghasilkan string biner dengan panjang yang tetap. Fungsi hash yang paling banyak digunakan dalam kriptografi adalah untuk integritas data dan tanda tangan digital Menezes, et al. 1996. Universitas Sumatera Utara Fungsi hash satu arah one-way hash function sering disebut juga sebagai message digest, fingerprint, dan fungsi kompresi. Fungsi ini biasanya diperlukan bila kita menginginkan pengambilan sidik jari suatu pesan. Sebagaimana sidik jari manusia yang menunjukkan identitas si pemilik sidik jari, fungsi ini diharapkan pula mempunyai kemampuan yang serupa dengan sidik jari manusia, di mana sidik jari pesan diharapkan menunjuk ke satu pesan dan tidak dapat menunjuk kepada pesan lainnya. Dinamakan sebagai fungsi kompresi karena biasanya, masukan fungsi hash ini selalu lebih besar dari pada keluarannya, sehingga seolah-olah mengalami kompresi. Namun kompresi hasil fungsi ini tidak dapat dikembalikan ke bentuk awalnya sehingga disebut fungsi satu arah. Dinamakan message digest karena seolah- olah merupakan inti sari pesan, meskipun sebenarnya tidak demikian Kurniawan, 2004. Fungsi hash dapat digunakan untuk mewujudkan layanan keutuhan data. Misalnya M merupakan pesan dan h adalah fungsi hash, maka � = ℎ� disebut dengan message digest. Sebelum pesan M disebarkandikirimkan sebuah message digest � ���� = ℎ� disimpan sebagai acuan. Misalnya didapatkan kembali � ′ setelah disebarkandikirim apabila ingin menguji apakah � = � ′ hitung kembali message digest baru � ���� = ℎ�′ disimpulkan pesan tidak berubah bila � ���� = � ���� Sadikin, 2012. Fungsi hash memiliki karakteristik sebagai berikut Kromodimoeljo, 2010 : 1. Preimage resistance. Untuk suatu nilai hash yang sembarang tidak diketahui asal-usulnya, sangat sukar untuk mencari naskah yang mempunyai nilai hash tersebut. 2. Second preimage resistance. Untuk suatu naskah � 1 , sangat sukar untuk mencari naskah lain � 2 yang mempunyai nilai hash yang sama. 3. Collision resistance. Sangat sukar untuk mencari dua naskah � 1 dan � 2 yang berbeda, yang mempunyai nilai hash yang sama.

2.7 Algoritma MD5