Chiper Blok dengan Algoritma Operasi XOR antar Pecahan Blok Ardian Franindo-NIM:13504106 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail :
[email protected] Abstrak Makalah ini membahas tentang algoritma operasi XOR antar pecahan Blok yang diimplemtasikan pada chiper blok mode ECB(Electronic Code Book ). Prinsip kerja algoritma ini yaitu menghindari serangan analisis frekuensi dengan mengkombinasikan operasi XOR antar pecahan blok dan dengan pecahan kunci. Algoritma ini melakukan pemecahan blok dan pemecahan kunci sesuai fungsi pembagi dari panjang kunci, kemudian dilakukan metode rekursif yang berisi kombinasi operasi XOR antar pecahan blok, operasi XOR antara pecahan blok dan pecahan kunci, pertukaran posisi. Algoritma merupakan algoritma yang berjalan dengan mode bit. Algoritma kriptografi modern merupakan algoritma yang berkembang setelah berkembangnya era digital. Operasi yang digunakan umumnya dalam mode bit. Sehingga semua sistem yang terlibat di dalam nya seperti kunci, plainteks, dan cipherteks semuanya dinyatakan dalam rangkaian bit-bit biner,0 dan 1. Chiper Blok merupakan salah satu algoritma penyandian data. modern yang beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Algoritma yang baik adalah algoritma yang tahan terhadap serangan. Kebaikan suatu algoritma dapat ditentukan dengan berapa banyak usaha yang dibutuhkan dalam memecahkan algoritma tersebut. Kriteria aman itu persamaan matematisnya rumit sehingga sulit dipecahkan dengan metode analitik, biaya untuk memecahkannya tinggi melebihi nilai informasinya, dan waktunya lama melebihi masa kadaluarsa informasi itu. Sehingga suatu algoritma dikatakan aman jika dapat memenuhi ketiga kriteria tersebut. Algoritma Operasi XOR antar pecahan blok berdasarkan pengujian memiliki tingkat keamanan data yang cukup terjamin terutama terhadap serangan analisis frekuensi, meskipun terdapat kekuranga Kata kunci: Operasi XOR, pecahan blok, pecahan kunci, rekursif, chiper blok, analisis frekuensi. 1. LATAR BELAKANG Dengan seiring berkembangnya kemajuan teknologi informasi dan jaringan komputer diseluruh dunia, maka peranan pengamanan komputer sangat penting. Banyak kejahatan cyber yang memanfaatkan celah keamanan yang ada dan melakukan manipulasi. Pada saat ini banyak sekali cara-cara yang ditempuh untuk memperkuat pengamanan, seperti password pada email, nomor PIN pada ATM, keamanan data/informasi rahasia.Usaha yang dilakukan untuk mengurangi kejahatan cyber yaitu dengan memperkuat sistem keamanan komputer, yaitu dengan cara membuat algoritma penyandian (cipher) yang lebih kuat terhadap serangan. Ukuran dari kekuatan chiper tersebut adalah banyaknya usaha yang diperlukan dalam melakukan pemecahan dari kunci cipher. Pengiriman data dan penyimpanan data melalui media elektronik memerlukan suatu proses yang dapat menjamin keamanan dan keutuhan dari data yang dikirimkan tersebut. Data tersebut harus tetap rahasia selama pengiriman dan harus tetap utuh pada saat penerimaan di tujuan. Untuk memenuhi hal tersebut,
dilakukan proses penyandian (enkripsi dan dekripsi) terhadap data yang akan dikirimkan. Enkripsi dilakukan pada saat pengiriman dengan cara mengubah data asli menjadi data rahasia sedangkan dekripsi dilakukan pada saat penerimaan dengan cara mengubah data rahasia menjadi data asli. Jadi data yang dikirimkan selama proses pengiriman adalah data rahasia, sehingga data asli tidak dapat diketahui oleh pihak yang tidak berkepentingan. Data asli hanya dapat diketahui oleh penerima dengan menggunakan kunci rahasia. Chiper Blok merupakan salah satu algoritma penyandian data. modern yang beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Pada melakukan enkripsi/dekripsi kriptografer biasanya menggunakan operasi XOR antara plainteks/chiperteks dengan kunci. Untuk menambah kerumitan kriptografer menggunakan algoritma operasi substitusi dan transposisi (keduanya beroperasi dalam mode bit) untuk menimbulkan efek membingungkan (confussion) dan menyebar (diffussion). Terkadang untuk menambah kerumitan
digunakan pula jaringan feistel atau dan chiper berulang. Pada Chiper Blok dengan mode ECB memiliki salah satu kelemahan dekripsi dapat dipecahkan dengan melihat adanya pengulangan pada kelipatan di tiap blok misalnya untuk mengengkripsi kata KUTUBUKU jika dibagi blok-blok menjadi KU TU BU KU, kemudian dilakukan operasi XOR pada kunci, kemungkinan blok KU yang pertama dengan kedua akan menghasilkan hasil cipherteks yang sama dan huruf U juga menghasikan hasil chiperteks sehingga memungkinkan kriptoanalis membuka kode, oleh karena itu metode yang diusulkan menggunakan operasi XOR pada antar pecahan blok. 2. RUMUSAN DAN BATASAN MASALAH 2.1 Rumusan Masalah Sesusai dengan latar belakang masalah maka makalah ini merumuskan : 1. Bagaimana konsep dari Algoritma chiper tersebut ? 2. Bagaimana fungsi dari Algoritma Chiper tersebut ? 3. Bagaimana implementasi dari Algoritma Chiper tersebut ? 4. Bagaimana tingkat keamanan Algoritma Chiper tersebut? 2.2 Batasan Masalah Algoritma chiper ini akan mengekripsi file plainteks dengan kunci dengan panjang (2n) karakter, dengan n = 1,2,3,... Implementasi algoritma chiper ini menggunkan mode ECB (Electronic Code Book) dengan alasan mode ECB merupakan mode yang paling sederhana sehingga mempermudah dalam pengimplementasian dan analisis hasil uji. Chiper ini akan beroperasi dalam Bit yang dibagi blok-blok yang kemudian akan diproses dengan metode yang diusulkan. 3. LANDASAN TEORI 3.1 Pengertian Kriptografi Kriptografi pada awalnya merupakan ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Kemudian seiring dengan berkembangnya kriptografi yaitu kriptografi tidak lagi sebatas mengenkripsikan pesan, tetapi juga memberikan aspek keamanan yang lain seperti serangan dari kriptanalisis. Karena itu pengertian kriptografi pun berubah menjadi ilmu sekaligus seni untuk menjaga keamanan pesan. Sesuai dengan pengertian diatas kriptografi adalah cara untuk menyandikan pesan dari pengirim yang kemudian disebut plainteks menjadi pesan tersandikan (cipherteks) yang diterima oleh penerima pesan. Kemudian penerima pesan harus dapat mentransformasikan kembali pesan cipherteks tersebut menjadi plainteks.[1]
Kekuatan dari kriptografi adalah tingkat kesulitan untuk mentransformasikan cipherteks menjadi plainteks. Kekuatan kriptografi dengan cara menjaga kerahasiaan algoritma yang digunakan disebut algoritma restricted. Tetapi algoritma restricted sudah tidak relevan lagi dipakai karena jika kerahasiaan algoritma sudah tidak terjaga lagi, maka perlu dibuat algoritma baru, sehingga sangat tidak efisien, karena diperlukan usaha yang besar untuk membuat algoritma kriptografi.[1] Untuk mengatasi masalah di atas saat ini kerahasiaan algoritma tidak lagi dilakukan. Sebagai gantinya yang dirahasiakan adalah kunci. Kunci adalah parameter yang digunakan untuk transformasi proses enkripsi (enciphering) dan proses dekripsi (deciphering). Kunci biasanya berupa string atau deretan bilangan. Dengan menggunakan kunci K, untuk mengenkripsikan plainteks P dengan fungsi Ek, di peroleh cipherteks C, begitu pula sebaliknya untuk proses dekripsi, sehingga fungsi enkripsi dan dekripsi menjadi : Ek(P) = C Dk(C) = P Dan kedua fungsi itu memenuhi Dk(Ek(P)) = P Algoritma kriptografi (cipher) adalah aturan untuk enciphering dan deciphering atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi.[1] Berdasarkan sejarah algoritma kriptografi dapat dibedakan menjadi algoritma kriptografi klasik dan algoritma kriptografi modern. Algoritma kriptografi klasik yaitu algoritma kriptografi sebelum masuk era digital, kriptografi yang dilakukan berbasis karakter. Algoritma kriptografi klasik termasuk dalam sistem kriptografi simetri, karena kunci untuk melakukan enkripsi sama dengan kunci untuk melakukan enkripsi. Algoritma kriptografi modern merupakan algoritma yang berkembang setelah berkembangnya era digital. Operasi yang digunakan umumnya dalam mode bit. Sehingga semua sistem yang terlibat di dalam nya seperti kunci, plainteks, dan cipherteks semuanya dinyatakan dalam rangkaian bit-bit biner,0 dan 1. 3.2 Jenis Kunci Kriptografi Kunci kriptografi terbagi menjadi dua jenis[1], yaitu: 1. Kriptografi kunci simetri (symetric key cryptography), yaitu jika kunci enkripsi sama dengan kunci dekripsi. Algoritma nya disebut algoritma simetri atau algoritma konvensional. Contoh algoritma kunci simetri adalah algoritma DES ( Data Encryption Standard), Rijndael, Blowfish, IDEA, GOST, serpent, RC2, RC4, RC5 dan algoritma pada cipher klasik. 2. Kriptografi kunci asimetri (asymetric-key
sryptography), yaitu sistem kriptografi menggunakan kunci yang berbeda untuk enkripsi dan dekripsi. Misal kunci untuk enkripsi adalah K1 dan kunci untuk dekripsi adalah K2, yang dalam hal ini K1 ≠ K2. Kriptografi kunci asimetri disebut juga kriptografi kunci-publik. Algoritma kriptografinya disebut algoritma asimetri atau algoritma kunci publik. Contoh algoritma asimetri adalah RSA ( RivestShamir-Adleman ) Algoritma kriptografi (cipher) simetri dapat dikelompokkan menjadi dua kategori[1], yaitu: 1. Cipher aliran (ctream cipher) Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. 2. Cipher blok (block cipher) Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. 3.3 Chiper Blok dengan Mode ECB (Electronic Code Book) Metode kriptografi blok cipher akan menguraikan rangkaian bit-bit plaintext menjadi blok-blok dengan panjang yang sama antar bloknya. Enkripsi yang dilakukan memanfaatkan bit-bit kunci yang ukurannya sama panjang dengan tiap blok plantext. Dekripsi yang dilakukan juga akan memanfaatkan kunci tersebut. Pada mode ECB, setiap blok plainteks Pi dienkripsi secara individual dan independen menjadi blok cipherteks Ci. Secara matematis, enkripsi dengan mode ECB dinyatakan sebagai Ci = Ek(Pi) dan dekripsi sebagai Pi = Dk(Ci) yang dalam hal ini, Pi dan Ci masing-masing blok plainteks dan cipherteks ke-i. Skema enkripsi dan dekripsi dengan mode ECB dapat dilihat pada Gambar.
Gam bar 1 Skema Enkripsi dan Dekripsi dengan Mode ECB
Ada kemungkinan panjang plainteks tidak habis dibagi dengan panjang ukuran blok yang ditetapkan. Hal ini mengakibatkan blok terakhir berukuran lebih pendek daripada blok-blok lainnya. Satu cara untuk mengatasi hal ini adalah dengan padding, yaitu menambahkan blok terakhir dengan pola bit yang teratur agar panjangnya sama dengan ukuran blok yang ditetapkan. 3.4 Serangan Terhadap Kriptografi Serangan ( attack ) adalah setiap usaha atau percobaan yang dilakukan oleh kriptanalis untuk menemukan kunci atau menemukan plainteks dari cipherteksnya. Prinsip kerckhoff menyatakan ”semua algoritma kriptografi harus publik, hanya kunci yang rahasia” Dari prinsip kerckhoff dapat ditarik kesimpulan bahwa setiap serangan terhadap kriptografi diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan, sehingga hanya kunci yang menjadi sistem keamanan dikriptografi. Berdasarkan keterlibatan penyerangnya dalam dikomunikasi, maka serangan dapat dibagi atas dua macam, yaitu : 1. Serangan pasif (passive attack) yaitu penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima, namun penyerang menyadap semua pertukaran pesan antara pengirim dan penerima. Tujuannya yaitu untuk mendapatkan sebanyak mungkin informasi yang digunakan untuk kriptanalisis. 2. Serangan aktif (active attack) yaitu penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan penyerang. Berdasarkan teknik yang digunakan dalam menemukan kunci. Serangan dapat dibagi menjadi: 1. Exhaustive attack atau brute force attack yaitu kriptanalis mencoba semua kemungkinan kunci (trial and error). 2. Analytical attack, yaitu kriptanalis menghitung frekuensi kemunculan hurufhuruf pada cipherteks yang kemudian dicocokkan dengan frekuensi kemunculan huruf pada plainteks. Sehingga memberikan keterkaitan antara huruf-huruf tersebut. 4. ALGORITMA OPERASI XOR ANTAR PECAHAN BLOK 4.1 Dasar Pemikiran Pada Chiper Blok mode ECB apabila melakukan operasi XOR antara blok dengan kunci bisa memungkinkan pengulangan huruf dengan pola tertentu sehingga memudahkan kriptoanalis memecah kode chiper.
Akan tetapi jika melakukan operasi XOR antar pecahan blok dikombinasikan dengan operasi XOR blok dengan kunci (agar dapat membuka chiper hasil operasi XOR antar pecahan) sehingga menghasilkan ketidakteraturan dari hasil pengengkripsian. Dasar pemikiran algoritma ini Misalkan pecahan blok A B, dienkripsi - A ⊕ Β menjadi misal A*, Β ⊕ kunci menjadi misal B*. Untuk mendekripsi - B*⊕ kunci menjadi B. - A* ⊕ Β menjadi (A ⊕ Β) ⊕ Β menjadi A 4.2 Algoritma Enkripsi Chiper Blok dengan pemecahan blok berdasar panjang kunci dan operasi XOR antar pecahan blok menggunakan algoritma enkripsi sebagai berikut sebagai berikut: a. Bagi plainteks menjadi blok- blok dengan panjang tiap blok = panjang kunci, jika panjang tiap blok bukan kelipatan kunci lakukan padding. b. Bagi tiap blok dan kunci dengan faktor pembagi dengan fungsi (panjang blok /8) c. Lakukan operasi XOR pecahan blok(PB) ke 2 dengan pecahan blok(PB) ke 1.(paling kiri yang ke 1) d. Lakukan operasi XOR PB selain yang ke 2 dengan pecahan kunci(PK) sesuai urutan (misal PB ke 1 dengan PK ke 1) e. Tukar posisi 2 PB yang berdekatan (PB ke 1 dengan PB ke 2) f. Lakukan penggabungan 2 PB yang berdekatan (PB ke 1 bergabung dengan PB ke 2, PB ke 3 bergabung dengan PB ke 4), lakukan juga untuk PK yang berdekatan. g. Jika jumlah PB = 1(telah bergabung menjadi satu blok) Lakukan operasi perkalian XOR antara PB yang telah bergabung dengan PK yang telah bergabung juga. Jika jumlah PB > 1 Ulangi langkah c hingga g (rekursif) h. Gabungkan semua tiap-tiap blok sehingga menjadi chiperteks
Untuk mempermudah dalam penjelasan algoritma dengan menggunakan kasus uji sederhana misalkan dengan panjang kunci = 16 bit (2 karakter) panjang file tidak pengaruh. a. Tentukan panjang tiap blok = panjang kunci, jika panjang tiap blok bukan kelipatan kunci lakukan padding. Sehingga panjang tiap-tiap blok sebanyak 16 bit b. Bagi tiap blok dan kunci dengan faktor pembagi dengan fungsi (panjang blok /8) Panjang tiap blok dan kunci = 16 bit
Faktor pembagi = 16 / 8 -> 2 Sehingga tiap-tiap blok dan kunci dipecah menjadi 2 bagian dimisalkan : Blok untuk tiap-tiap blok Kunci untuk kunci, L(left) untuk blok kiri, R(right) untuk pecahan blok kanan, KL(Key Left) untuk pecahan kunci kiri, KR(Key Right) untuk pecahan kunci kanan. Blok menjadi L dan R, Kunci menjadi KL dan KR, L
R
KL
KR
c. Lakukan operasi XOR pecahan blok(PB) ke 2 dengan pecahan blok(PB) ke 1 R ⊕ L, misalkan hasilnya disimbolkan R* d. Lakukan operasi XOR PB selain yang ke 2 dengan pecahan kunci(PK) sesuai urutan. L ⊕ KL, misalkan hasilnya disimbolkan L* e. Tukar posisi 2 PB yang berdekatan Posisi L* ditukar dengan posisi R* sehingga menjadi R*
L*
f. Lakukan penggabungan 2 PB yang berdekatan, lakukan juga untuk PK. Lakukan penggabungan R* dengan L* sehingga misalkan menjadi R*_L*, lakukan juga pada KL dengan KR sehingga misalkan menjadi KL_KR R*_L*
KL_KR atau Kunci
g. Jika jumlah PB =1, lakukan operasi XOR antara blok dengan kunci R*_L* ⊕ Kunci h. Lakukan untuk semua tiap-tiap blok, kemudian gabungkan semua blok sehingga menjadi chiperteks. Kemudian untuk kasus rekursif misalkan untuk panjang kunci = 32 bit (4 karakter) a. Panjang tiap-tiap blok = 32 bit b. Faktor pembagi = 4 (32 / 8) Blok dipecah menjadi misalkan: L CL CR R Kunci dipecah menjadi misalkan: KL KCL KCR KR Keterangan: Blok untuk tiap-tiap blok Kunci untuk kunci,
L(Left) untuk pecahan blok kiri, R(Right) untuk pecahan blok kanan, CL(Center Left) untuk pecahan blok kiri tengah, CR(Center right) untuk pecahan blok kanan tengah. KL(Key Left) untuk pecahan kunci kiri, KR(Key Right) untuk pecahan kunci kanan, KCL untuk pecahan kunci kiri tengah, KCR untuk pecahan kunci kanan tengah. c.
CL ⊕ L , menjadi misalkan CL*
d.
L ⊕ KL misalkan menjadi L* CR ⊕ KCR menjadi CR* R ⊕ KR, menjadi R*
e.
CL*
f.
CL*_L* KL_KCL
L*
R*
CR*
R*_CR* KR_KCR
g.
ulangi langkah c hingga g (rekursif)
c2.
R*_CR* ⊕ CL*_L*, menjadi misal (R*_CR*)*
d2.
CL*_L* ⊕ KR_KCR, menjadi misal (CL*_L*)*
e2.
(R*_CR*)*
f2.
(R*_CR*)*_(CL*_L*)* menjadi
(CL*_L*)* blok*
(KL_KCL)_(KR_KCR) menjadi Kunci g2. Blok* ⊕ kunci i.
Gabungkan semua blok sehingga menjadi chiperteks
4.3 Algoritma Dekripsi Untuk algoritma dekripsi sebagai berikut: a. Bagi plainteks menjadi blok-blok dengan panjang tiap-tiap blok = panjang kunci b. Untuk tiap blok, lakukan operasi XOR pada tiap blok dengan kunci c. Bagi menjadi 2 bagian untuk tiap blok dan tiap kunci d. Jika merupakan blok bagian terkiri: • Lakukan operasi XOR untuk pecahan blok kanan dengan pecahan kunci kiri
•
Lakukan operasi XOR untuk pecahan blok kiri dengan pecahan blok kanan(yang sebelumnya telah melakukan operasi XOR dengan kunci kiri) Jika tidak • Lakukan operasi XOR untuk pecahan blok kanan dengan pecahan kunci kiri. • Lakukan operasi XOR untuk pecahan blok kiri dengan kunci pecahan kunci kanan. e. Tukar posisi pecahan blok yang berdekatan f. Jika panjang panjang kunci = 8 bit • Gabungkan semua pecahan blok menjadi satu blok • Gabungkan semua pecahan kunci menjadi satu kunci Jika tidak • Ulangi langkah c, untuk semua pecahan blok(secara rekursif) g. Gabungkan semua blok untuk menjadi plainteks
4. PENGUJIAN 4.1 Perancangan Kasus Uji Pengujian Untuk melakukan pengujian, dirancang beberapa kasus uji dengan file teks dengan karakter: a. Teks dengan pengulangan huruf pada urutan ganjil b. Teks dengan pengulangan huruf pada urutan genap c. Teks dengan pengulangan suku kata dengan 2 huruf, dan 3 huruf. Dan menggunakan kunci dengan tipe 2 karakter sama, 2 karakter beda, 4 karakter sama, 4 karakter beda semua, 4 karakter dengan 2 huruf sama,2 huruf beda Kasus uji yang digunakan sebagai berikut : 1. Kasus uji 1 Kasus uji 1 bertujuan mengetahui mekanisme dan menguji kebenaran enkripsi dan dekripsi dengan file teks a, dengan semua kunci. 2. Kasus uji 2 Kasus uji 2 bertujuan mengetahui mekanisme dan menguji kebenaran enkripsi dan dekripsi dengan file teks b, dengan semua kunci. 3. Kasus uji 3 Kasus uji 3 bertujuan mengetahui mekanisme dan menguji kebenaran enkripsi dan dekripsi dengan file teks c, dengan semua kunci. 4. Kasus uji 4 Kasus uji 4 bertujuan menguji tingkat keamanan chiper dengan mengubah chiperteks dengan menghapus satu karakter kemudian di dekripsikan dengan kunci yang benar untuk mencegah serangan aktif. 5. Kasus uji 5 Kasus uji 5 bertujuan menguji tingkat keamanan chiper dengan melakukan exhaustic attack dengan pola-pola tertentu
4.2 Analisis Hasil Uji Perancangan 1. Hasil uji kasus uji 1 Dengan teks uji “kakikakakku” menggunakan kunci 2 karakter menghasilkan kata “bjjjbjbjhjât” tampak bahwa untuk 5 huruf k yang berulang pada urutan ganjil terdapat 3 huruf yang sama(b), berarti untuk pengulangan huruf di urutan ganjil dengan kunci 2 karakter masih rawan diserang dengan analisis frekuensi. Hal ini disebabkan karena algoritma ini hanya menggunakan perkalian XOR antar pecahan blok yang genap(pecahan ganjil untuk membuka). Untuk kunci dengan 4 karakter menghasilkan kata dengan karakter dan ASCII, akan tetapi untuk tiap pengulangan huruf menghasilkan huruf yang beda, sehingga disimpulkan bahwa dengan kunci 4 karakter dapat mengatasi serangan analisis frekuensi 2. Hasil uji kasus uji 2 Dengan teks uji “kutubuku” menggunakan kunci 2 karakter menghasilkan kata “ h`wva h” tampak bahwa untuk 6 huruf u yang berulang pada urutan genap hanya ada 2 yang sama (h), berarti untuk pengulangan huruf di urutan genap dengan kunci 2 karakter cukup aman dalam serangan analisis frekuensi. Untuk kunci dengan 4 karakter menghasilkan j/-Zc9 S, untuk tiap pengulangan huruf menghasilkan huruf yang beda, sehingga disimpulkan bahwa dengan kunci 4 karakter dapat mengatasi serangan analisis frekuensi 3. Hasil uji kasus uji 3 Dengan pengulangan suku kata “ku” pada teks uji “kutubuku” menggunakan kunci 2 karakter menghasilkan kata “ h`wva h” tampak bahwa suku kata “ku” sama-sama menghasilkan “ h”, ini menyimpulkan bahwa untuk pengulangan 2 suku kata, kunci karakter 2 karakter tidak aman. Untuk kunci dengan 4 karakter menghasilkan kata “j/-Zc9 S”, ,tiap suku “ku” menghasilkan karakter yang berbeda, sehingga disimpulkan bahwa dengan kunci 4 karakter dapat mengatasi serangan analisis frekuensi. Dengan pengulangan suku kata “kak” pada teks “kakikakakku” menggunakan kunci 2 karakter menghasilkan “bjb” dan “bjh” sehingga 2 karakter sama dan satu berbeda, sedangkan untuk kunci 3 karakter menghasilkan `anl”`dan “nd`” tidak ada yang sama dari keduanya sehingga dapat mengatasi serangan analisis frekuensi. 4. Hasil uji kasus uji 1 Dengan teks uji “kutubuku” dienkripsi, kemudian hasil enkripsi dihapus satu karakter yang pertama, kemudian untuk didekripsikan kembali, untuk kunci 2 karakter tidak dapat dikembalikan, sedangkan untuk kunci 4 karakter menghasilkan “R |tÎ é” dimana sangat jauh dari plainteks asli, sehingga disimpulkan bahwa algoritma ini aman dari serangan aktif. Akan tetapi dari pengujian ini pula menunjukkan kekurangan algoritma dengan
5.
adanya perkalian antar pecahan blok yang berantai sehingga harus dijaga keutuhannya. Hasil uji kasus uji 5 Dengan melakukan brute force mencoba satusatu, untuk pengujian diasumsikan panjang kunci sudah diketahui, untuk kunci 2 karakter pada teks”kutubuku” menghasilkan “oqpqfqoq” terdapat pengulangan huruf q sehingga tidak aman untuk serangan brute force. Untuk kunci 4 karakter menghasilkan “oqutfqjt” dari 4 huruf u terdapat 2 yang berulang sehingga cukup rawan terhadap serangan.
5. KESIMPULAN Kesimpulan yang dapat diambil dari studi dan implementasi cipher rantai segitiga ini adalah : 1. Algoritma chiper blok merupakan algoritma simetri modern beroperasi pada plainteks/cipherteks dalam bentuk blok bit. 2. Algoritma operasi XOR antar pecahan blok menggunakan prinsip pemecahan blok berdasarkan fungsi pembagi, operasi XOR pecahan blok urutan kedua dengan pecahan blok urutan pertama, operasi XOR pecahan blok dengan pecahan kunci dan pertukaran posisi dengan metode rekursif. 3. Kekuatan utama algoritma operasi XOR antar pecahan blok terdapat pada operasi XOR pecahan blok secara rekursif sehingga mempersulit kriptoanalis melakukan analytical attack dengan analisis frekuensi. 4. Algoritma operasi XOR antar pecahan blok dapat mengatasi serangan aktif. 5. Kelemahan algoritma operasi XOR antar pecahan blok rawan terhadap serangan brute force. 6. Untuk pengulangan huruf di urutan ganjil, kunci dengan 2 karakter masih rawan diserang dengan analisi frekuensi. 7. Berdasarkan keunggulan dan kelemahanya, tingkat kemanan algoritma operasi XOR antar pecahan blok terutama serangan analisis frekuensi terjamin.
DAFTAR REFERENSI [1] Munir, Rinaldi. (2006). Diktat Kuliah IF5054 Kriptografi. Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika , Institut Teknologi Bandung.