Sedangkan contoh – contoh algoritma block cipher diantaranya : Lucifer, DES,
Triple DES, NewDES, TEA, XTEA, RC2, RC5, RC6, LOK1899197, MARS, Twofish, Blowfish, GOST, 3-way, CAST, FEAL, IDEA, MISTY, DEAL, dan lain
– lain.
b. Kunci Asimetris
Kunci Asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enskripsi dan yang satu lagi untuk deskripsi. Semua
orang yang mendapatkan kunci public dapat menggunakannya untuk menenkripsikan suatu pesan, data ataupun informasi, sedangkan hanya satu
orang saja yang memiliki rahasia tertentu dalam hal ini kunci private untuk melakukan pembongkaran terhadap sandi yang dikirim untuk penerimanya.
Contoh algoritma terkenal yang menggunakan kunci simetris adalah RSA. Proses enkripsi-deskripsi algoritma kunci asimetris dapat dilihat pada
Gambar 2.2.
Gambar 2.2 Proses Enkripsi-Deskripsi Kunci Asimetris Pada algorithm public key ini, semua orang dapat mengenkripsi data dengan
memakai public key penerima yang telah diketahui secara umum. Akan tetapi data yang telah terenkripsi tersebut hanya dapat didekripsi dengan menggunakan private
key yang hanya dapat diketahui oleh penerima. Contoh-contoh algoritma asimetris ini adalah RSA, EI Gamal, Diffie Hellman,
DSA, dan lain-lain.
2.1.2. Algoritma RC Ron’s Code
RC merupakan singkatan dari Ron’s Code ataupun Rivest Cipher. Yang termasuk ke
dalam keluarga algoritma RC ini mencakup RC2, RC4, RC5, dan RC6. Khusus RC1 dan RC3 tidak pernah dipublikasikan dan tidak terdapat informasi mengenai kedua
Encryption Decryption
plaintext Original
Plaintext chipertext
Encryption key
Descrytion key
Universitas Sumatera Utara
algoritma tersebut. RC2, RC5, dan RC6 termasuk ke dalam block cipher sedangkan RC4 termasuk algoritma stream chiper.
2.1.3. Algoritma Block Cipher RC2
RC2 merupakan blok cipher didesain oleh Ron Rivest pada tahun 1987. Pengembangan RC2 disponsori oleh Lotus yang sedang mencari suatu cipher tertentu
setelah evaluasi oleh NSA untuk diekspor sebagai bagian dari software Lotus Notes. Setelah negosiasi lanjut, cipher ini disetujui dan diekspor pada tahun 1989. Seperti
diketahui pembatasan kunci untik ekspor kriptografi oleh pemerintah AS hanya sebesar 40 bit saja. Semua ini termuat dalam export regulation for cryptography.
Detail dari algoritma ini dijaga kerahasiaannya dan sebagai property dari RSA Security. Tetapi pada tanggal 29 Januari 1996, source code atau kode sumber dari
RC2 telah dipublikasikan ke Internet oleh orang tanpa nama melalui forum Usenet yaitu Sci.crypt.
RC2 merupakan block cipher 64 bit dengan variable key size. Terdiri atas 18 round yang diatur dengan feistel network yang sulit. Dengan 16 round Mixing yang
disambung dengan dua round Mashing. Mixing round terdiri atas empat aplikasi dari Mix transformation seperti ditunjukkan pada Gambar 2.3 berikut ini :
NOT
s
subkey
Gambar 2.3 Mix Transformation dari RC2
Subkey
Universitas Sumatera Utara
2.1.4. Algoritma Stream Cipher RC4
Rc4 adalah jenis kriptografi symmetric key, secret key, dan stream cipher yang didesain oleh Ron Rivest.
RC merupakan singkatan dari “Ron’s Code”. Dikenal secara umum sebagai block cipher RC2 dan RC5, dan block cipher RC6 yang didesain
oleh Ron Rivest bersama orang lain. RC4 didesain sekitar tahun 1990-an. RC4 adalah inisial rahasia perdagangan, tetapi pada September 1994 implementasi
RC4 dipublikasikan tanpa nama pada Cypherpunks mailing list. Berita tersebut dengan cepat menyebar pada Usenet pada sci.crypt newsgroup dan pada beberapa site
di Internet. Karena algoritmanya telah diketahui maka RC4 tidak lagi merupakan rahasia perdagangan. Nama dari RC4 adalah merupakan sebuah merek dagang, RC4
sering disebut sebagai “ARCFOUR” untuk menghindari kemungkinan dalam masalah merek dagang. RC4 merupakan bagian dari protocol standar enkripsi yang umum
digunakan termasuk dalam SSL Security Socket Layer yang dipakai untuk mengamankan jaringan web browser.
RC4 diinisialisasi dari sebuah kunci rahasia. Kemudian di-generate sebuah “keystream” yang disederhanakan dengan XOR dengan plaintext untuk menghasilkan
ciphertext. Proses deskkripsi sama dengan proses enkripsi. Salah satu alasan untuk kepopuleran RC4 adalah kesederhanaannya. Algoritma RC4 dapat diingat dan mudah
diimplementasikan. Algoritma RC4 menggunakan 256 byte dari memori, S[0] hingga S[255], dan menggunakan variable integer i, j, dan k. Crytanalysis dari RC berada
pada tahap yang tidak tentu. Secara teoritis RC4 dapat dipecahkan jika stream ciphertext yang dihasilkan berjumlah giga byte, tetapi ini tidak merupakan masalah
utama dalam penerapannya. Pada tahun 2001 sebuah penemuan baru yang mengejutkan terjadi, semua kemungkinan kunci RC4, statistic dari byte pertama dari
output keystream tidak dalam keadaan acak. Hal ini berefek ketika digunakan untuk memecahkan enkripsi WEP wired Equivalent Privacy yang dipakai pada 802.11
jaringan tanpa kabel. WEP menerapkan RC4 dengan banyak kunci yang mirip, sehingga memungkinkan jaringan ini terbuka untuk diserang. Implementasi RC4 saat
ini sering mengabaikan 256 byte pertama atau lebih dari stream untuk mengatasi masalah tersebut.
Universitas Sumatera Utara
Seperti halnya dengan cipher stream, RC4 mudah dipecahkan jika yang sama dipakai dua kali. Masalah ini biasanya diatasi dengan melakukan hashing kunci
dengan vector inisialisasi unik unique initialization vector setiap kali kunci ini dipakai dan vector inisialisasi ini dikirim bersamaan dengan pesan.
RC4 merupakan stream cipher yang sangat cepat dan aman dari RSA. Data Security, Inc. RC4 digunakan dalam lingkungan dengan sumber daya yang kecil
dengan resiko yang tinggi. RC4 tidak dipatenkan meskipun untuk tujuan komersial sekalipun. RC 4 menggunakan panjang kursi variable dari 1-256 byte mempunyai
kemampuan antara 1 – 2048 bit untuk menginisialisasi 256 – byte state table.
Algoritma RC4 dibagi menjadi dua tahap, yaitu membentuk kunci dan ciphering enskripsideskripsi. Pembentukan kunci merupakan tahap pertama dan tersulit.
Selama pembentukan kunci, kunci enkripsi digunakan untuk menghasilkan sebuah variable enkripsi menggunakan 2 array state array key array dan sejumlah operasi
penjumlahan. Berikut ini penjelasan algoritma tahap – tahap dalam proses ciphering
RC4:
1. Pembentukan Kunci Key Scheduling
For 1 = 0 ……255
S i = i Next i
J = 0 For
I = 0……255 J = j + Si + key [ I mod key_length] mod 256
Swap S [i] , S [ j ]
2. Proses Enkripsi
For i = 0 to Len Plaintext
– 1 i = i + 1 mod 256
j = j + S [ i ] mod 256 swap S [ i ] , S [ j ]
k = S [ S [ i ] + S [ j ] mod 256 ] Ciphertext i = k XOR Plaintext i
Next i
Universitas Sumatera Utara