Anda di halaman 1dari 8

KELEBIHAN DAN KEKURANGAN

1. ONE TIME PAD


Akan tetapi One Time Pad memiliki kelemahan, Meskipun OTP adalah algoritma yang sempurna aman,
tetapi ia tidak banyak digunakan dalam praktek. Kelemahanya antara lain
KELEBIHAN
1) System OTP tidak dapat dipecahkan,karena
Barisan kunci acak + plainteks yang tidak acak = cipherteks yang seluruhnya acak.
Mendekripsi cipherteks dengan beberapa kunci berbeda dapat menghasilkan plainteks yang
bermakna, sehingga kriptanalis tidak punya cara untuk menentukan plainteks mana yang
benar.
2) Algoritma Vernam atau One-time pad merupakaalgoritma pengenkripsian data dan informasi
yang relative sederhana dan mudah digunakan namun cukup aman dalam menjamin kerahasiaan
informasi atau data yang ingin dikirimkan oleh
KELEMAHAN
1) Tidak efisien, karena panjang kunci =
panjang pesan.
Masalah yang timbul:
-penyimpanan kunci
-pendistribusian kunci
2) Jika sebuah kunci telah dipergunakan maka kunci tersebut sudah tidak boleh dipergunakan
kembali. Akibatnya jumlah kunci yang masih dapat dipergunakan akan semakin berkurang seiring
dengan semakin seringnya penggunaan metode enkripsi ini. Penggunaan kunci yang sama lebih
dari satu kali jelas akan berpengaruh buruk bagi kerahasiaan data atau informasi yang
dienkripsikan.
3) pertukaran kunci yang terjadi antara pihak pengirim pesan dan penerima pesan juga merupakan
titik rentan dalam metode pengenkripsian ini, karena terjadinya kebocoran kunci dapat terjadi
pada saat terjadinya pertukaran informasi mengenai kunci rahasia tersebut.
4) OTP hanya dapat digunakan jika tersedia saluran komunikasi kedua yang cukup aman untuk
mengirim kunci. Saluran kedua ini umumnya lambat dan mahal.
2. RC4

Kelebihan RC4
1.
2.

Kesulitan mengetahui sebuah nilai dalam table.


Kesulitan mengetahui lokasi mana di dalam table yang digunakan untuk menyeleksi
masing-masing nilai.

3.

Kunci RC4 tentu hanya dapat digunakan sekali

4.

Model enkripsi ini 10 kali lebih cepat dari DES

Kekurangan RC4
1.
2.

Algoritma RC4 lebih mudah diserang dari dengan menggunakan analisa dari bagian
dalam table.
Salah satu dari 256 kunci dapat menjadi kunci yang lemah. Kunci ini di identifikasi oleh
kriptoanalisis yang dapat menemukan keadaan dimana salah satu dari bit yang dihasilkan
mempunyai korelasi yang kuat dengan sedikit bit kunci.

3. Pada algoritma symmetric key (misalkan, DES dan AES)


Kelemahan :
- Kunci harus dikirim melalui saluran yang aman. Kedua entitas yang berkomunikasi harus
menjaga kerahasiaan kunci ini.
- Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.
Kelebihan :
- Algoritma ini dirancang sehingga proses enkripsi/dekripsi membutuhkan waktu yang singkat.
- Ukuran kunci relatif lebih pendek.
- Algoritmanya bisa menghasilkan cipher(sebuah algoritma untuk menampilkan enkripsi dan
kebalikannya dekripsi, serangkaian langkah yang terdefinisi yang diikuti sebagai prosedur) yang
lebih kuat.
- Autentikasi pengiriman pesan langsung diketahui dari ciphertext yang diterima, karena kunci
hanya diketahui oleh pengirim dan penerima pesan saja.
4. RC6
Kelemahan RC6RC6 mempunyai kelemahan jika pada salah satu komponen dari algoritma
tersebutdihilangkan ataupun dikurangi.Apabila jumlah putaran atau pergeserannya dihilangkan
makakunci dapat dengan mudah dicari. Dan apabila fungsi paa algoritma RC6ini dihilangkan
punakan menjadi kelemahan yaitu kunci akan sangat mudah dipecahkan.
PermutasiMenurut F.L. Baueur, permutasi adalah pemetaan satu-satu dari sebuah alfabet menjadidirinya
sendiri. Permutasi yang sering disebut juga transposisi akan menimbulkan efek difusi,yang akan menghilangkan
pengulangan plaintext dengan cara menyebarkan plaintext tersebutke seluruh ciphertext.Pihak lawan selalu
mencari pengulangan pada ciphertext, dan dengan difusi maka merekaakan memerlukan waktu yang lebih lama
untuk menemukannya.
RC4 memiliki panjang kunci 2048 bit (256 byte), namun yang bisa digunakan hanya
40 bit atau 128 bit, sisanya digunakan untuk perulangan kunci yang dipakai, berarti 2048 40 =
2008 bit atau 2048 128 = 1920 bit. Jika kunci 16 byte (128 bit) berarti K=012345678abcdef
dalam bentuk heksadesimal maka byte yang ke 17 sampai byte yang ke 256 berisi K secara
berulang.

3.1.1

Analisa Proses
Analisa proses pada sistem yang akan dibuat untuk menghasilkan nilai input dan
output digambarkan dengan use case diagram dan activity diagram.
A. Usecase Diagram
Use case diagram sistem yang menjelaskan proses tulis pesan dan akses inbox pada
client dan server sebagai berikut:

Gambar 3.1 Use Case Diagram Sistem


Use case diagram sistem pada gambar diatas menjelaskan proses tulis pesan
dan akses inbox pada sisi client dan server. Tulis pesan pada sisi client dan server
adalah ketika client melakukan login dan mulai chatting, pada sisi server akan
melakukan penyimpanan hasil query yang telah dienkripsi disisi client selama proses
pengirimian.
Sedangkan akses inbox antara sisi client dan server adalah hasil query yang
ada di database didekrip kemudian dikirimkan ke sisi client untuk ditampilkan.
B. Activity Diagram
Dalam activity diagram dibawah ini terdapat 2 kolom atau aktor yaitu user dan sistem.
dimana dalam proses activity diagram ini user sebagai client dan sistem adalah server. Dalam
activity diagram ini terdapat 2 proses yaitu activity diagram tulis pesan dan activity diagram
akses inbox, yang merupakan penjelasan lebih detail dari use case diagram. Sebagai berikut:
1. Activity Diagram Tulis Pesan

Gambar 3.2 Activity Diagram Tulis Pesan


Activity diagram ini merupakan rancangan rangkaian proses yang akan terjadi
ketika user melakukan login dan mulai melakukan tulis pesan dan kirim ke server. pada

saat pengiriman ke server sistem akan melakukan proses penyimpanan didalam


database yang telah disediakan oleh sistem. Setelah melakukan penyimpanan ke
database kemudian melakukan proses logout atau keluar.
2. Activity Diagram Akses Inbox

Gambar 3.3 Activity Diagram Akses Inbox


Activity diagram akses inbox merupakan rancangan proses, setelah user telah
berhasil melakukan login dan mulai chatting, selanjutnya user melakukan proses
inisialisasi ajax untuk mengirimkan keserver tanpa harus berpindah atau reload halaman
agar tidak menganggu akivitas user atau client. Kemudian pada sisi server query
database melakukan penyimpanan hasil query sebelum ditampilkan pada client,
sebelum ditampilkan user, dilakukan proses dekripsi. Kemudian pada user menampilkan
pesan yang telah didekripsi. Selanjutnya proses logout atau keluar.
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) dapat dilihat pada tabel 3.1 dibawah ini :

Tabel 3.1 Proses Inisialisasi S-Box (Array S)


Proses Inisialisasi S-Box (Array S)
for i = 0 to 255
S[i] = i
Proses inisialisasi S-Box (Array K) dapat dilihat pada tabel 3.2 berikut:

Tabel 3.2 Proses Inisialisasi S-Box (Array K)


Proses Inisialisasi S-Box (Array K)

array Kunci // Array dengan panjang kunci length.


for i = 0 to 255
K[i] = Kunci [i mod length]
Kemudian lakukan langkah pengacakan S-Box yang dapat dilihat pada tabel 3.3
sebagai berikut :
Tabel 3.3 Proses Pengacakan S-Box
Proses Pengacakan S-Box
i = 0; j = 0;
for i = 0 to 255
{
j = (j + S[i] + K[i]) mod 255
Swap S[i] dan S[j]
}
Setelah itu, buat pseudo random byte pada tabel 3.4 dengan langkah sebagai berikut:
Tabel 3.4 Pseudo Random Byte
Pseudo Random Byte
i = (i + 1) mod 255
j = (j + S[i] mod 255
swap S[i] dan S[j]
t = (S[i] + S[j] mod 255
K = S[t]
Byte K di-XOR kan dengan plaintext untuk menghasilkan ciphertext atau di
XOR kan dengan ciphertext untuk menghasilkan plaintext.
Contoh penerapan algoritma RC4. 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 array S, lakukan iterasi sebanyak 4 kali :
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
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 H I .
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
=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, dapat dilihat pada tabel
3.5 dibawah ini :

Tabel 3.5 Proses XOR Pseudo Random Byte dengan plaintext pada Enkripsi.
H
I
Plaintext
01001000
01001001
Pseudo Random Byte
00000010
00000010
Ciphertext
01001010
01001011

Sedangkan proses deskripsi adalah kebalikan dari proses enkripsi, yaitu


mengubah ciphertext menjadi plaintext kembali. Untuk lebih jelas dapat dilihat pada
tabel 3.6 dibawah ini :
Tabel 3.6 Proses XOR Pseudo Random Byte dengan plaintext pada
Deskripsi.
H
I
Ciphertext
01001010
01001011
Pseudo Random Byte 0 0 0 0 0 0 1 0
00000010
Plaintext
01001000
01001001