KELEBIHAN DAN KEKURANGAN 1. ONE TI TIME PA PAD
Akan tetapi One Time Pad memiliki kelemahan, Meskipun OTP adalah al!"itma #an sempu"na aman, tetapi ia tidak $an#ak diunakan dalam p"aktek% Kelemahan#a anta"a lain KELEBIHAN &' (#stem (#stem OTP OTP tidak dapat dipe)ahka dipe)ahkan,ka" n,ka"ena ena Ba"isan kun)i a)ak * plainteks #an tidak a)ak + )iphe"teks #an selu"uhn#a selu"uhn#a a)ak% • Mendek"ipsi )iphe"teks )iphe"teks denan $e$e"apa $e$e"apa kun)i $e"$eda $e"$eda dapat menhasilkan plainteks #an #an • $e"makna, sehina k"iptanalis k"iptanalis tidak pun#a pun#a )a"a untuk menentukan plainteks plainteks mana #an $ena"% ' Al!"i Al!"itma tma -e"nam atau atau One.t One.tim imee pad me"upa me"upakaa kaal! l!"it "itma ma penen penenk"i k"ipsi psian an data data dan in/!"m in/!"masi asi #an "elati0e sede"hana dan mudah diunakan namun )ukup aman dalam men1amin ke"ahasiaan in/!"masi atau data #an inin diki"imkan !leh KELEMAHAN &' Tidak Tidak e/is e/isien ien,, ka"ena ka"ena pan1a pan1an n kun)i kun)i + pan1an pesan% Masalah #an tim$ul2 .pen#impanan kun)i .pendist"i$usian .pendist"i$usian kun)i ' 3ika 3ika se$uah se$uah kun)i kun)i telah telah dipe" dipe"una unakan kan maka kun)i kun)i te"se$ te"se$ut ut sudah sudah tidak tidak $!leh $!leh dipe" dipe"un unaka akan n kem$ali% Aki$atn#a Aki$atn#a 1umlah kun)i #an masih dapat dipe"unakan akan semakin $e"ku"an sei"in denan semakin se"inn#a penunaan met!de enk"ipsi ini% Penunaan kun)i #an sama le$ih da"i da"i satu satu kali kali 1elas 1elas akan akan $e"pe $e"pena na"uh "uh $u"uk $ai ke"aha ke"ahasia siaan an data data atau atau in/!"m in/!"masi asi #an dienk"ipsikan% 4' pe"tuka"an pe"tuka"an kun)i kun)i #an te"1adi te"1adi anta"a anta"a pihak peni"im peni"im pesan pesan dan pene"ima pene"ima pesan 1ua 1ua me"upakan me"upakan titik "entan dalam met!de penenk"ipsian ini, ka"ena te"1adin#a ke$!)!"an kun)i dapat te"1adi pada saat te"1adin#a te"1adin#a pe"tuka"an in/!"masi menenai kun)i kun)i "ahasia te"se$ut% 5' OTP han#a han#a dapat diunakan 1ika te"sedia salu"an k!munikasi kedua #an )ukup aman untuk meni"im kun)i% (alu"an kedua ini umumn#a lam$at dan mahal%
2. RC4
Kele$ihan R65 &% %
Kesuli Kesulitan tan meneta menetahui hui se$uah se$uah nilai nilai dalam dalam ta$le% ta$le% Kesu Kesuli lita tan n men menet etahu ahuii l!ka l!kasi si mana di dala dalam m ta$l ta$lee #an #an diu diunak nakan an untu untuk k men# men#el elek eksi si masin.masin nilai%
4%
Kun) Kun)ii R65 R65 tent tentu u han#a han#a dapa dapatt diun diunak akan an sek sekal alii
5%
M!de M!dell enk" enk"ip ipsi si ini ini &7 &7 kali kali le$i le$ih h )epat )epat da" da"ii DE( DE(
Keku"anan R65 &% %
Al!"itma R65 le$ih mudah dise"an da"i denan menunakan analisa da"i $aian dalam ta$le% (alah satu da"i 89 kun)i dapat men1adi kun)i #an lemah% Kun)i ini di identi/ikasi !leh k"ipt!analisis #an dapat menemukan keadaan dimana salah satu da"i $it #an dihasilkan mempun#ai k!"elasi #an kuat denan sedikit $it kun)i%
3. Pada algoritma symmetric key misalka!" DE# da! AE#$
Kelemahan 2 . Kun)i ha"us diki"im melalui salu"an #an aman% Ked ua entitas #an $e"k!munikasi ha"us men1aa ke"ahasiaan kun)i ini% . Kun)i ha"us se"in diu$ah, munkin pada setiap sesi k!munikasi% Kele$ihan 2 . Al!"itma ini di"an)an sehina p"!ses enk"ipsi:dek"ipsi mem$utuhkan ;aktu #an sinkat% . Uku"an kun)i "elati/ le$ih pendek% . Al!"itman#a $isa menhasilkan )iphe"
Kelemahan R69R69 mempun#ai kelemahan 1ika pada salah satu k!mp!nen da"i al!"itma te"se$utdihilankan ataupun diku"ani%Apa$ila 1umlah puta"an atau pe"ese"ann#a dihilankan makakun)i dapat denan mudah di)a"i% Dan apa$ila /unsi paa al!"itma R69ini dihilankan punakan men1adi kelemahan #aitu kun)i akan sanat mudah dipe)ahkan% Pe"mutasiMenu"ut >%L% Baueu", pe"mutasi adalah pemetaan satu.satu da"i se$uah al/a$et men1adidi"in#a sendi"i% Pe"mutasi #an se"in dise$ut 1ua t"ansp!sisi akan menim$ulkan e/ek ?di/usi@,#an akan menhilankan penulanan plainte=t denan )a"a men#e$a"kan plainte=t te"se$utke selu"uh )iphe"te=t%Pihak la;an selalu men)a"i penulanan pada )iphe"te=t, dan denan di/usi maka me"ekaakan meme"lukan ;aktu #an le$ih lama untuk menemukann#a% RC4 memiliki panjang kunci 2048 bit (256 byte), namun yang bisa digunakan hanya 40 bit atau 128 bit, sisanya digunakan untuk peulangan kunci yang dipakai, beati 2048 ! 40 " 2008 bit atau 2048 ! 128 " 1#20 bit$ %ika kunci 16 byte (128 bit) beati &"012'4568abcde dalam bentuk heksadesimal maka byte yang ke 1 sampai byte yang ke 256 beisi & secaa beulang$
3.1.1
Analisa Proses *nalisa p+ses pada sistem yang akan dibuat untuk menghasilkan nilai input dan +utput digambakan dengan use case diagam dan activity diagam$ A. Usecase Diagram se case diagam sistem yang menjelaskan p+ses tulis pesan dan akses inbox pada client dan server sebagai beikut-
Gambar 3.1 se Case Diagram .istem se case diagam sistem pada gamba diatas menjelaskan p+ses tulis pesan dan akses inbox pada sisi client dan server $ /ulis pesan pada sisi client dan server adalah ketika client melakukan login dan mulai chatting , pada sisi server akan melakukan penyimpanan hasil query yang telah dienkipsi disisi client selama p+ses pengiimian$ .edangkan akses inbox antaa sisi client dan server adalah hasil query yang ada di database didekip kemudian dikiimkan ke sisi client untuk ditampilkan$ B. Activity Diagram alam activity diagam dibaah ini tedapat 2 k+l+m atau akt+ yaitu user dan sistem$ dimana dalam p+ses activity diagam ini use sebagai client dan sistem adalah server $ alam activity diagam ini tedapat 2 p+ses yaitu activity diagam tulis pesan dan activity diagam akses inbox , yang meupakan penjelasan lebih detail dai use case diagam$ .ebagai beikut1. Activity Diagram Tulis Pesan
Gambar 3.2 Activity iagam /ulis esan Activity diagam ini meupakan ancangan angkaian p+ses yang akan tejadi ketika user melakukan login dan mulai melakukan tulis pesan dan kiim ke server $ pada
saat pengiiman ke server sistem akan melakukan p+ses penyimpanan didalam database yang telah disediakan +leh sistem$ .etelah melakukan penyimpanan ke database kemudian melakukan p+ses logout atau kelua$ 2. Activity Diagram Akses Inbox
Gambar 3.3 Activity iagam *kses Inbox Activity diagam akses inbox meupakan ancangan p+ses, setelah user telah behasil melakukan login dan mulai chatting , selanjutnya user melakukan p+ses inisialisasi aja3 untuk mengiimkan kesee tanpa haus bepindah atau reload halaman aga tidak menganggu akiitas user atau client $ &emudian pada sisi server query database melakukan penyimpanan hasil query sebelum ditampilkan pada client , sebelum ditampilkan user , dilakukan p+ses dekipsi$ &emudian pada user menampilkan pesan yang telah didekipsi$ .elanjutnya p+ses logout atau kelua$ Caa keja alg+itma RC4 yaitu inisialisasi .+3 petama, .70, .71, 99$$, .7255, dengan bilangan 0 sampai 255$ etama isi secaa beuutan .70"0, .71"1, 9$, .7255 " 255$ &emudian inisialisasi array lain (.+3 lain), misal array & dengan panjang 256$ :si array & dengan kunci diulangi sampai seluuh array &70, &71, 99$, &7255 teisi seluuhnya$ +ses inisialisasi .+3 ( Array .) dapat dilihat pada tabel '$1 dibaah ini -
Tabel 3.1 +ses :nisialisasi .+3 ( Array .) +ses :nisialisasi .+3 ( Array .) + i " 0 t+ 255 .7i " i
+ses inisialisasi .+3 ( Array &) dapat dilihat pada tabel '$2 beikut-
Tabel 3.2 +ses :nisialisasi .+3 ( Array &) +ses :nisialisasi .+3 ( Array &)
array &unci ;; Array dengan panjang kunci
&emudian lakukan langkah pengacakan .+3 yang dapat dilihat pada tabel '$' sebagai beikut Tabel 3.3 +ses engacakan .+3 +ses engacakan .+3 i " 0> j " 0> + i " 0 t+ 255 ? j " (j @ .7i @ &7i) m+d 255 .ap .7i dan .7j A
.etelah itu, buat pseudo random byte pada tabel '$4 dengan langkah sebagai beikutTabel 3.4 Pseudo Random Byte Pseudo Random Byte
i " (i @ 1) m+d 255 j " (j @ .7i m+d 255 sap .7i dan .7j t " (.7i @ .7j m+d 255 & " .7t Byte & diBR kan dengan plaintext untuk menghasilkan ciphertext atau di BR kan dengan ciphertext untuk menghasilkan plaintext $ C+nt+h peneapan alg+itma RC4$ etama inisialisasi .+3 dengan panjang 4 byte, dengan .70"0, .71"1, .72"2, dan .7'"' sehingga array . menjadi012' :nisialisasi 4 byte kunci array , &i$ Disalkan kunci tedii dai 2 byte yaitu byte 1 dan byte $ lang kunci sampai memenuhi seluuh array & sehingga array & menjadi 1 1 eikutnya mencampu +peasi dimana kita akan menggunakan aiabel i dan j ke inde3 array .7i dan &7i$ etama kita bei nilai inisial untuk i dan j dengan 0$ peasi pencampuan adalah pengulangan umusan (j @ .7i @ &7i m+d 4 yang diikuti dengan penukaan .7i dengan .7j$ &aena menggunakan array dengan panjang 4 byte maka alg+itma menjadi E+ i " 0 t+ 4 j " (j @ .7i @ &7i m+d 4
sap .7i dan .7j engan alg+itma sepeti diatas maka nilai aal i"0 sampai i"' akan menghasilkan array ., lakukan iteasi sebanyak 4 kali :teasi petama i " 0, maka j " (j @ .7i @ &7i ) m+d 4 " (j @ .70 @ &70 ) m+d 4 " (0 @ 0 @ 1 ) m+d 4 "1 .ap .70 dan .71 sehingga menghasilkan array . 10 2 ' :teasi kedua i " 1, maka j " (j @ .7i @ &7i ) m+d 4 " (j @ .71 @ &71 ) m+d 4 " (1 @ 0 @ ) m+d 4 "0 .ap .71 dan .70 sehingga menghasilkan array . 012' :teasi ketiga i " 2, maka j " (j @ .7i @ &7i) m+d 4 " (j @ .72 @ &72 ) m+d 4 " (0 @ 2 @ 1 ) m+d 4 "' .ap .72 dan .7' sehingga menghasilkan array . 01'2 :teasi keempat i " ', maka j " ( j @ .7i @ &7i ) m+d 4 " ( j @ .7' @ & 7' ) m+d 4 " (' @ 2 @ ) m+d 4 "0 .ap .7' dan .70 sehingga menghasilkan array . 21'0 .etelah didapat hasil array . dai iteasi keempat, maka p+ses selanjutnya yaitu mengBRkan pseudo random byte dengan plaintext , misalnya plaintext yang dimasukkan adalah < F : =$ &aena plaintext tedii dai dua kaakte maka tejadi dua iteasi$ :teasi petama yaitu :nisialisasi i dan j dengan i " 0> j " 0$
i " 0> j " 0> i " ( i @ 1 ) m+d 4 " (0 @ 1 ) m+d 4 " 1 an j " ( j @ .7i ) m+d 4 " ( 0 @ 2 ) m+d 4 "2 .ap .7i dan .7j yaitu .71 dan .72 sehingga array . menjadi 2'10 t " ( .7i @ .7j ) m+d 4 " ( ' @ 1 ) m+d 4 "0 & " .7t " .70 " 2 Byte dua;& inilah yang diBRkan dengan plaintext < F =$ .elanjutnya iteasi keduanya yaitu i " 1> j " 2 i " ( i @ 1 ) m+d 4 " ( 1 @ 1 ) m+d 4 " 2 an j " ( j @ .7i ) m+d 4 " ( 2 @ 2 ) m+d 4 " 0 .ap .7i dan .7j yaitu .72 dan .70 sehingga array . menjadi 1'20 t " ( .7i @ .7j ) m+d 4 " ( 2 @1 ) m+d 4 "' & " .7t " . 7' " 2 Byte &"2 yang akan diBRkan dengan plaintext < : = +ses BR pseudo random byte dengan plaintext , dapat dilihat pada tabel '$5 dibaah ini -
Tabel 3.5 +ses XOR Pseudo Random Byte dengan plaintext pada Gnkipsi$
.edangkan p+ses deskipsi adalah kebalikan dai p+ses enkipsi, yaitu mengubah ciphertext menjadi plaintext kembali$ ntuk lebih jelas dapat dilihat pada tabel '$6 dibaah ini Tabel 3.6 +ses XOR Pseudo Random Byte dengan plaintext pada eskipsi$