Institutional Repository | Satya Wacana Christian University: Perancangan Algoritma Kriptografi Block Cipher Berbasis Pola Cabang dan Ranting Pohon

  Perancangan Algoritma Kriptografi Block Cipher Berbasis Pola Cabang dan Ranting Pohon Artikel Ilmiah Peneliti : Fajar Eko Setiawan (672008148) Magdalena A. Ineke Pakereng, M.Kom. Alz Danny Wowor, S.Si., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Mei 2015

  Perancangan Algoritma Kriptografi Block Cipher Berbasis Pola Cabang dan Ranting Pohon Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi Untuk memperoleh gelar Sarjana Komputer Peneliti : Fajar Eko Setiawan (672008148) Magdalena A. Ineke Pakereng, M.Kom. Alz Danny Wowor, S.Si., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Mei 2015

  

Perancangan Algoritma Kriptografi Block Cipher

1 Berbasis Pola Cabang dan Ranting Pohon 2 3 Fajar Eko Setiawan, Magdalena A. Ineke Pakereng, Alz Danny Wowor

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

1) 2)

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

Email: 672008184@student.uksw.edu, ineke.pakereng@staff.uksw.edu,

3)

alzdanny.wowor@staff.uksw.edu

  

Abstract

Cryptography must be renewed to increase security .Cryptographic techniques can not

guarantee to be used forever therefore needs to get new cryptography algorithm .Design

in cryptography a lgorithm by applying a “Cabang dan Ranting Pohon” basic block ciphers

is a draft in cryptography algorithm block ciphers where that method in use for a groove

randomization bits .The result of this study can be tested with kriptosistem as a technique

of cryptography so as to be used as an alternative to data security and also as new

methodology Keywords : Block Cipher, Cryptography, Cabang dan Ranting Pohon

  

Abstrak

Kriptografi harus diperbarui untuk meningkatkan keamanan. Teknik kriptografi tidak

menjamin bisa untuk digunakan selamanya maka dari itu perlu dibuat algoritma kriptografi

baru. Perancangan Algoritma Pada Kriptografi Block Cipher Dengan Berbasis Cabang dan

Ranting Pohon merupakan suatu rancangan algoritma pada kriptografi block cipher dimana

alur tersebut di gunakan untuk alur pengacakan bit. Hasil akhir dari penelitian ini dapat

diuji dengan kriptosistem sebagai teknik kriptografi sehingga dapat digunakan sebagai

alternatif pengamanan data dan juga sebagai metodologi baru.

  Kata Kunci : Block Cipher, Kriptografi, Cabang dan Ranting Pohon

  1) Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi Universitas 2) Kristen Satya Wacana, Salatiga. 3) Staff pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga.

  Staff pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga.

  1. Pendahuluan

  Keamanan data dalam suatu proses lalu lintas data merupakan salah satu faktor yang sangat penting bila dalam prosesnya tidak ingin diinterupsi oleh orang yang tidak bertanggungjawab. Untuk melindungi data agar tidak disadap, diubah, disisipkan atau dihilangkan oleh orang yang tidak bertanggungjawab, maka dibutuhkan suatu sistem pengaman data, salah satunya adalah kriptografi.

  Algoritma block cipher merupakan kriptografi moderen yang telah diciptakan cukup banyak, namun ada di antaranya yang sudah terpecahkan oleh kriptanalis. Oleh karena itu, perlu adanya modifikasi algoritma atau perancangan algoritma baru sebagai pengganti algoritma kriptografi yang sudah terbongkar keamanannya. Hal tersebut supaya mencegah terjadinya penggunaan kembali algoritma yang sudah pecah untuk pengamanan data. Namun banyaknya teknik kriptografi tidak menjamin bisa untuk digunakan selamanya, karena semakin banyak teknik kriptografi dikembangkan makin banyak pula para ahli kriptanalisis mencoba untuk memecahkannya. Apalagi dengan adanya pendekatan modern dimana sifat algoritma enkripsi yang tidak dirahasiakan lagi membuka kesempatan para kriptanalisis untuk melakukan pengujian kekuatan algoritma tersebut [3]. Jadi dengan adanya teknik-teknik kriptografi baru yang bermunculan, akan semakin menambah variasi teknik kriptografi dalam mengamankan data.

  Berdasarkan pemaparan yang diberikan di atas, maka penelitian ini bertujuan untuk dapat merancang algoritma kriptografi untuk kemudian digunakan dalam rancangan kriptografi block cipher sebagai metodologi baru atau ide kriptografi simetris dalam perkembangan Iptek, dan algoritma yang dirancang adalah berbasis cabang dan ranting pohon. Serta hasil dari rancangan kriptografi ini dapat dibandingkan dengan kriptografi block cipher lainnya sehingga dapat diambil kesimpulan hasil dari kinerja kriptografi hasil rancangan ini.

  2. Tinjauan Pustaka

  Landasan dari perancangan algoritma baru Pola Cabang dan Ranting Pohon, merujuk pada penelitian sebelumnya. Penelitian yang pertama dengan judul “Perancangan Kriptografi Kunci Simetris Menggunakan Fungsi Polinomial

Hermite dan Akar Kuadrat Fungsi Linear”. Dalam penelitian ini membahas bagaimana merancang kriptografi baru menggunakan fungsi polynomial Hermite

  dan akar kuadrat fungsi linear sebagai pembangkit kunci enkripsi dan dekripsi. Proses dan alur enkripsi dekripsi menggunakan tiga putaran, setiap putaran akan dibangkitkan kunci baru hasil dari pembangkitan kunci sebelumnya. Pada setiap putaran proses enkripsi dekripsi akan menggunakan kunci yang berbeda dalam melakukan perhitungan yang disubtitusikan pada fungsi linear dan invers fungsi linear. Proses CBB menggunakan kunci berbeda dari kunci pada putaran enkripsi dekripsi. Kunci CBB dibangkitkan dari kombinasi hasil kunci polynomial Hermite dan kunci akar kuadrat fungsi linear [1].

  Penelitian kedua dengan judul “Penggunaan Fungsi Bessel dan Fungsi

  Dawson

  dalam Perancangan Kriptografi Kunci Simetris”. Pada penelitian ini membahas tentang teknik kriptografi pada kunci simetris dengan melakukan modifikasi penggabungan fungsi Bessel dan fungsi Dawson yang disertakan pada setiap putarannya [2]. Kedua penelitian tersebut menjelaskan bagaimana merancang algoritma baru dimana rancangan itu untuk diterapkan pada kriptografi kunci simetris.

  Penelitian yang ketiga dengan judul “Analisa Kriptanalisis Deferensial Pada

  Twofish

  ”. Dalam penelitian ini membahas tentang analisis algoritma kriptografi

  

Twofish dengan kriptanalisis diferensial. Twofish merupakan salah satu algoritma

  penyandian yang memanfaatkan block cipher dan merupakan salah satu algoritma kunci simetri modern. Twofish merupakan salah satu dari finalis kompetisi AES (Advance Encryption Standard). Dengan menggunakan salah satu metode kriptanalisis yakni Kriptanalisis deferensial pada tahun 2000 memberikan pengetahuan akan kemungkinan algoritma Twofish dapat dipecahkan [3]. Penelitian ini menjadi acuan untuk perancangan algoritma kriptografi baru, setelah melihat dalam penelitian tersebut terlihat bahwa suatu kriptografi juga memerlukan pembaharuan, supaya tingkat keamanan menjadi lebih baik.

  Kriptografi AES (Advanced Encryption Standard) adalah standart algoritma kriptografi terbaru yang menggantikan DES (Data Encryption Standard) yang sudah dipecahkan. Algoritma ini termasuk kelompok kriptografi simetris yang berbasis pada blok cipher. Mempunyai panjang kunci yang fleksibel yaitu 128, 192, dan 256 bit sedangkan ukuran blok yang dienkripsi 128 bit [14].

  Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti keabsahan, integritas data, serta autentikasi data. Kriptografi tidak berarti hanya memberikan keamanan informasi saja, namun lebih ke arah teknik-tekniknya [10].

  Bagian dari kriptografi terdiri dari pesan, plainteks, dan cipherteks. Pesan merupakan data atau juga informasi yang dapat dibaca dan dimengerti maknanya. Plainteks adalah pesan yang dapat dimengerti maknanya, cipherteks merupakan pesan yang sudah disandikan ke bentuk yang tidak dapat dimengerti maknanya [7]. Bagian lain dari kriptografi adalah enkripsi dan dekripsi. Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut yang tidak dapat dibaca tanpa bantuan pengetahuan khusus. Keuntungan dari enkripsi adalah kode asli kita tidak dapat dibaca oleh orang lain. Dekripsi adalah proses mengembalikan suatu informasi dengan cara tertentu dan sesuai dengan algoritma enkripsi yang dipakai. Dekripsi merupakan proses kebalikan dari proses enkripsi, mengubah ciphertext kembali ke dalam bentuk plaintext [4].

  Pada block cipher rangkaian bit-bit plainteks dibagi menjadi blok-blok dengan panjang sama biasanya 64-bit [7]. Skema Proses enkripsi block cipher secara umum dapat digambarkan pada Gambar 1. Sedangkan untuk proses dekripsi block cipher, skema proses secara umum dapat dilihat pada Gambar 2.

  

Gambar 1 . Proses Enkripsi Block Cipher [6] Gambar 2 . Proses Dekripsi Block Cipher [6]

  Misalkan blok plainteks (P) yang berukuran n bit dapat dinyatakan sebagai vector [6]: (1)

  Yang dalam hal ini pi adalah bit 0 atau bit 1 untuk i= 1,2,….,n, dan blok cipherteks (C) adalah

  (2)

Yang dalam hal ini ci adalah 0 atau 1 untuk i = 1,2,…,m. Bila plainteks dibagi

  menjadi m buah blok, barisan blok-blok plainteks (3)

  Untuk setiap blok plainteks P i , bit-bit penyusunnya dapat dinyatakan sebagai : (4)

  Untuk enkripsi dan dekripsi dengan kunci K dinyatakan berturut-turut dengan persamaan ( ) = (proses enkripsi) (5)

  (6) ( ) = (proses dekripsi)

  Suatu kriptografi dapat disebut sebagai teknik, harus melalui uji kriptosistem

terlebih dahulu yaitu dengan diuji dengan metode Stinson. Definisi 2. [9] terdiri dari

lima-tuple (Five-tuple) (P, C, K, E , D) , yang memenuhi kondisi: 1. adalah himpunan berhingga dari plainteks, 2. adalah himpunan berhingga dari cipherteks,

  e : PC 4.

  , E adalah himpunan fungsi enkripsi

k

   d : C P 5.

  , Untuk setiap , terdapat D adalah himpunan fungsi dekripsi k . aturan enkripsi

  Setiap dan berkorespondensi dengan aturan dekripsi ∶ ⟶ dan ∶ ⟶ adalah fungsi sedemikian hingga ( ( )) = untuk setiap plainteks . Transposisi adalah teknik memindahkan posisi bit pada blok plainteks berdasarkan aturan tertentu. Secara matematis, transposisi dapat ditulis sebagai

  P=PM

  yang dalam hal ini C adalah blok cipherteks, P adalah blok plainteks, dan M adalah fungsi transposisi. Dalam praktek, M dinyatakan sebagai tabel atau matriks permutasi [7].

  Untuk mengetahui besaran nilai algoritma kriptografi yang dirancang mampu untuk mengacak plainteks yang diinputkan maka digunakan nilai keacakan yang diproleh dari persamaan (7):

  − (7) = i i i

  Dimana Y sebagai nilai keacakan ke-i, dan secara berturut-turut p dan c adalah nilai plainteks dan cipherteks ke-i. Nilai keacakan dilihat pada bilangan cipherteks yang dihasilkan oleh algoritma tertentu. Penelitian ini tidak membandingkan ukuran blok dengan AES. Nilai acak dibangun dari selisih perbandingan plainteks dengan cipherteks terhadap plainteks, karena selisih pada pembilang pada persamaan (6) berarti menunjukan jarak dari plainteks, walaupun dirasiokan terhadap plainteks kembali. Kemungkinan yang muncul pada nilai keacakan dapat bertanda positif atau negatif. bernilai negatif berarti selisih perbandingan nilai cipherteks lebih dari besar dari nilai plainteks. bernilai positif berarti nilai plainteks lebih besar dari nilai cipherteks.

  Penggunaan jarak dapat dipandang sebagai suatu keacakan apabila brute

  

force attack (BFA) sebagai standar kriptanalisis digunakan untuk membobol

  algoritma yang ada. Teknik BFA dilakukan dengan mencoba semua kemungkinan kunci atau angka untuk menemukan relasi yang berkorespondensi satu satu (one to one) antara plainteks dan cipherteks. Setiap plaintek yang diinputkan sudah pasti diketahui desimalnya, kriptanalis akan mencoba setiap bilangan yang lebih besar atau lebih kecil dari bilangan plainteks dan akan membesar atau mengecil secara terus-menerus. Misalnya plainteks 70 (karakter F) kriptanalis akan mencoba bilangan dibawah plainteks yaitu 69 dan diatas plainteks yaitu 71 secara terus menerus sampai menemukan kecocokan, apabila semakin jauh nilai cipherteks dari plainteks akan memerlukan banyak waktu dan proses untuk menemukan relasi dengan cipherteks atau bahkan menemukan plainteks.

  Diferensiasi data adalah perbandingan selisih antar dua titik. Dalam kalkulus, metode ini sering disebut sebagai turunan atau kemiringan dari data. Jika 1 1 2 2 3 3 n n diberikan kumpulan data ((x ,y ), (x ,y ), (x ,y ), ,y )) dengan syarat bahwa …, (x

  x i i +1

  < x dimana i = 1…n. Data-data tersebut dapat divisualisasikan ke dalam koordinat Cartesius untuk setiap x sebagai variabel bebas dan y atau kadang ditulis sebagai f(x) sebagai variabel tak bebas. Untuk menentukan diferensiasi data pada dua titik maka persamaan yang dapat dibentuk sebagai berikut

  D (y ) b a

  • y y

  (8)

  = a a - x (x x )

  D a b b b

  dengan (x , y ) sebagai titik pertama, dan titik berikutnya adalah (x , y ). Apabila terdapat n data maka untuk menentukan rata-rata dari diferensiasi data dapat di d cari untuk melihat tren dari setiap data Rataan diferensiasi (R ) untuk melihat diberikan pada Persamaan (9).

  (9)

  Dalam proses perancangan algoritma kriptografi baru berbasis pola cabang ranting, terdapat langkah-langkah penelitian yang dilakukan. Langkah-langkah penelitian dapat dilihat pada Gambar 3.

  

Gambar 3 . Langkah-Langkah Penelitian

Tahapan penelitian berdasarkan pada Gambar 3, dijelaskan sebagai berikut.

  Langkah Pertama

  : Analisis Masalah dan Kebutuhan yaitu menganalisis kebutuhan apa saja yang diperlukan dalam pembuatan algoritma kriptografi block

  

cipher . Langkah Kedua: Pengumpulan Bahan yaitu pengumpulan bahan berupa

  data-data yang terkait dengan proses perancangan pembuatan algoritma kriptografi seperti mencari pola untuk teks dan kunci misalnya mendapatkan data dan literatur yang terkait melalui dokumen dan referensi yang ada. Langkah

  

Ketiga : Perancangan Algoritma, yaitu melakukan perancangan algoritma

  kriptografi dengan pola cabang dan ranting pohon. Langkah Keempat: Pembuatan Kriptografi, yaitu menerapkan algoritma dengan teknik cabang dan ranting pohon ke dalam block cipher dengan ukuran blok 8x8. Pembuatan kriptografi secara umum dibahas dalam bagian rancangan umum. Langkah Kelima: Melakukan uji algoritma kriptografi yang dibuat dengan melakukan penghitungan secara manual mulai dari memasukkan plainteks, mengubah teks ke dalam bit lalu melakukan proses enkripsi dekripsi. Jika tidak dapat melakukan enkripsi dan dekripsi maka dilakukan pengecekan kembali atau kembali ke Langkah Keempat. Langkah

  

Keenam: Uji Kriptosistem, yaitu menguji kriptografi yang dibuat dengan 5-tuple

  dari Stinson jika sudah memenuhi maka perancangan algoritma kriptografi baru dapat dinyatakan sebagai teknik kriptografi. Tahap Ketujuh: Penulisan Laporan yaitu mendokumentasikan proses penelitian dari tahap awal sampai tahap akhir ke dalam sebuah tulisan yang akan menjadi laporan hasil penelitian.

  Untuk tidak memperluas ruang lingkup pembahasan maka diberikan batasan-batasan dalam penelitian ini, yaitu;

  1. Proses enkripsi dan dekripsi dilakukan pada teks.

  2. Jumlah kunci dan plainteksnya terbatas yaitu menampung 8 karakter yang sebanding dengan 64-bit.

  3. Panjang kunci mempunyai panjang maksimal 8 karakter.

  4. Panjang bloknya adalah 8×8 5.

  Penelitian ini tidak menguji kriptanalisis terhadap rancangan kriptografi.

  Rancangan Umum Kriptografi

  Bagian ini merupakan penjelasan lanjutan dari Langkah 4 (Pembuatan Kriptografi) dimana menujukkan proses rancangan kriptografi secara umum. Seperti yang telah dibahas pada bagian sebelumnya, bahwa digunakan pola cabang pohon dan juga ranting pohon untuk mengubah plainteks menjadi cipherteks.

  Gambar 4 . Rancangan Kriptografi Secara Umum Rancangan kriptografi ditunjukkan pada Gambar 4, dimana terdapat empat putaran dan di setiap putaran juga terdapat dua bagain yang mengoperasikan dua i inputan yang berbeda yaitu plianteks dan kunci. Dinotasikan untuk Proses-i (P ) i mengoperasikan plainteks dan ProsesKunci-i (PK ) meregenerasi kunci sehingga pada setiap putaran akan diperoleh kunci yang berbeda. Setiap Putaran-i (PT i ) diperoleh dari Transposisi-i (T i ) hasil XOR antara Proses-i dan ProsesKunci-i, yang secara umum diberikan pada Persamaan (10).

  PT i i i i

  = T (PPK ) (10) dimana i = 1, ..., 4. Hasil dari setiap putaran PT i akan menjadi inputan pada T i +1 dan hal yang i i sama juga untuk setiap PK adalah input untuk PK +1 dengan i = 1, ...,3. Sehingga secara keseluruahan cipherteks adalah PT

  4 . Sebaliknya untuk melakukan proses

  dekripsi, cipherteks sebagai input dan dilakukan proses kebalikan dengan proses dekripsi untuk mendapatkan kembali plainteks.

  Setiap P i dan PK i yang dilakukan pada setiap putaran adalah suatu proses dimana setiap bit dalam satu blok ditempatkan ke dalam kotak 64-bit dan bagaimana cara untuk mengambil bit-bit tersebut. Pola cabang pohon dan ranting pohon adalah alur yang dirancang untuk menempatkan bit-bit dan kemudian mengambilnya. Sebagai contoh diperoleh bit-bit dalam satu blok b

  1 , b 2 , ..., b

  64

  yang ditempatkan mulai dari kanan bawah sesuai alur menyilang sampai pada pojok kiri atas, alur tersebut diberikan pada Gambar 5. b59 b56 b52 b47 b41 b34 b27 b21 b62 b60 b57 b53 b48 b42 b35 b28 b64 b63 b61 b58 b54 b49 b43 b36 b37 b30 b23 b17 b12 b8 b5 b3 b44 b38 b31 b24 b18 b13 b9 b6 b50 b45 b39 b32 b25 b19 b14 b10 b29 b22 b16 b11 b7 b4 b2 b1 b55 b51 b46 b40 b33 b26 b20 b15

  

Gambar 5 . Alur Penempatan Bit Gambar 6 . Contoh Kotak 64-bit

  Gambar 6 merupakan contoh dari Kotak 64-bit yang setiap bit ditempatkan sesuai dengan alur dari Gambar 5. Sebagai contoh, bila diambil secara horisontal dengan baris pertama diambil terlebih dahulu, dan dilanjutkan baris kedua dan seterusnya sampai pada baris ke delapan sehingga seluruh bit dapat terambil dari kotak 64-bit. Pengambilan bit dapat dinotasikan secara verbal berdasarkan karakter (1 karakter sebanding dengan 8 bit) diberikan pada Persamaan (11).

  K 1 = (b 29 , b 22 , b 16 , b 11 , b 7 , b 4 , b 2 , b 1 ),

  K 2 = (b 37 , b 30 , b 23 , b 17 , b 12 , b 8 , b 5 , b 3 ), K 3 = (b 44 , b 38 , b 31 , b 24 , b 18 , b 13 , b 9 , b 6 ),

  : : (11) : :

  K 8 = (b 64 , b 63 , b 61 , b 58 , b 54 , b 49 , b 43 , b 36 ). Bagian ini akan ditunjukan hasil dari perancangan kriptografi yang dibangun berbasis pada percabangan ranting pohon, yang kemudian dibuat menjadi sebuah kriptografi blok cipher 64 bit. Hasil rancangan kriptografi diuji sebagai sebuah kriptosistem, dan dibandingkan dengan kriptografi AES terkait dengan nilai keacakan dalam sebuah grafik untuk dibahas sebagai analisis dan diiterpretasi dengan perbandingan kedua kriptografi.

  Untuk merancang kriptografi block cipher yang baru, dilakukan perancangan dengan berbasis pola-pola tertentu. Cabang dan Ranting pohon digunakan sebagai alur untuk mengambil bit dari kotak 64-bit. Rancangan ini menempatkan bit dengan mengasumsikan selalu ada batang utama yang menjadi pangkal untuk percabangan, dan setiap bit-bit akan disesuaikan untuk pengembilan atau juga sebagai penempatan bit. Untuk lebih jelasnya contoh cabang dan ranting pohon yang diberikan pada Gambar 7.

  Gambar 7 . Contoh Cabang dan Ranting Gambar 8 . Alur Cabang dan Ranting Pohon Pohon [11]

  Berdasarkan pola dari cabang dan ranting pohon dirancang Cabang dan ranting pohon diberikan pada Gambar 7, maka dibentuk pola cabang ranting pohon pada Gambar 8. Alur ini dimulai dari pangkal pohon, kemudian ke ranting- ranting yang dimulai dari ranting yang besar ke ranting terkecil (pucuk). Pola cabang dan ranting pohon bila digunakan sebagai alur pengambilan bit dari kotak 64-bit yang sudah di inputkan sesuai pola pemasukan sesuai dengan Gambar 5, maka akan diperoleh urutan bit diberikan pada Persamaan (12).

  K 1 = (b 29 , b 30 , b 31 , b 32 , b 33 , b 34 , b 35 , b 36 ), K 2 = (b 22 , b 16 , b 11 , b 7 , b 4 , b 2 , b 1 , b 37 ),

  K 3 = (b 44 , b 50 , b 55 , b 59 , b 62 , b 64 , b 23 , b 17 ), K

  4

  12

  8

  5

  

3

  38

  45

  51

  56

  = (b , b , b , b , b , b , b , b ), (12)

  K 5 = (b 60 , b 63 , b 24 , b 18 , b 13 , b 9 , b 6 , b 39 ), K 6 = (b 46 , b 52 , b 57 , b 61 , b 25 , b 19 , b 14 , b 10 ),

  K 7 = (b 40 , b 47 , b 53 , b 58 , b 26 , b 20 , b 15 , b 41 ), K 8 = (b 48 , b 54 , b 27 , b 21 , b 42 , b 49 , b 28 , b 43 ). Alur cabang dan ranting pohon (CRP) seperti yang ditunjukan pada Gambar 8 dapat digunakan sebagai alur untuk pemasukan bit maupun sebagai pengambilan bit dari kotak 64-bit. Hal ini dilakukan sehingga memperoleh banyak kombinasi alur yang dapat digunakan. Selain itu, alur CRP dapat dimodifikasi dengan membuat cabang utama memulai dari arah yang berbeda. Misalnya dari arah kiri bawah ke kanan atas, dari arah kanan atas ke kiri bawah, dan dari arah kiri atas ke kanan bawah.

  Rancangan umum yang diberikan pada Gambar 4 ditunjukkan terdapat 4 putaran, dan pada setiap putaran terdapat proses untuk plainteks dan kunci sehingga akan memerlukan dua alur untuk penempatan atau pemasukan bit serta dua alur untuk pengambilan bit. Secara keseluruhan untuk proses enkripsi memerlukan 16 alur, dimana delapan alur untuk pemasukan dan delapan alur untuk pengambilan bit. Alur cabang dan ranting pohon digunakan untuk mengoperasi plainteks, sedangkan untuk mengoperasi bit pada kunci diberikan pada Gambar 9 sebagai alur pemasukan dan Gambar 10 sebagai alur untuk pengambilan bit.

  Gambar 9 . Alur Input Bit Kunci Gambar 10. Alur Ambil Bit Kunci

  Apabila setiap bit dimasukan sesuai dengan alur pada Gambar 9, dan selanjutnya dialakukan pengambilan dengan alur pada Gambar 10, maka akan diperoleh urutan bit bdasarkan karakter diberikan pada Persamaan 13.

  K 1 = (b 29 , b 30 , b 31 , b 32 , b 33 , b 34 , b 35 , b 36 ), K 2 = (b 22 , b 16 , b 11 , b 7 , b 4 , b 2 , b 1 , b 37 ),

  K 3 = (b 44 , b 50 , b 55 , b 59 , b 62 , b 64 , b 23 , b 17 ), K 4 = (b 12 , b 8 , b 5 , b

3 , b

38 , b 45 , b 51 , b 56 ), (13)

  K 5 = (b 60 , b 63 , b 24 , b 18 , b 13 , b 9 , b 6 , b 39 ),

  K 6 = (b 46 , b 52 , b 57 , b 61 , b 25 , b 19 , b 14 , b 10 ), K 7 = (b 40 , b 47 , b 53 , b 58 , b 26 , b 20 , b 15 , b 41 ),

  K 8 = (b 48 , b 54 , b 27 , b 21 , b 42 , b 49 , b 28 , b 43 ).

  Untuk melakukan pengujian alur Cabang Ranting sebagai teknik kriptografi, akan dijelaskan lebih dahulu proses enkripsi-dekripsi pada rancangan kriptografi. Pada Gambar 4 merupakan penjelasan proses kriptografi secara umum mengenai proses enkripsi perancangan algoritma dengan alur Cabang Ranting. Proses enkripsi-dekripsi secara keseluruhan untuk masing-masing putaran dapat dilihat pada Gambar 11 dan Gambar 12.

  Gambar 11 adalah diagram secara keseluruhan dengan lengkap dimana setiap proses diberikan dengan jelas. Berdasarkan bagian enkripsi, nampak plainteks dan kunci dimasukan dalam bentuk karakter yang kemudian dikodekan dalam ASCII yang selanjutnya dikonversi ke dalam bit (binary digit). Setelah diubah ke biner selanjutnya masuk proses putaran. Ada 4 putaran yang dilakukan pada plainteks, pada tiap putaran terdapat 2 proses yaitu pemasukan bit, dan pengambilan bit. Alur pemasukan bit plainteks dapat dilihat pada Gambar 5 dan untuk pengambilan bit menggunakan alur cabang dan ranting pohon seperti pada gambar 8. Alur input bit kunci dapat dilihat pada Gambar 9, sedangkan untuk pengambilannya pada Gambar 10.

  Hasil dari proses pemasukan dan pengambilan bit Plainteks akan menghasilkan Teks 1 (T1). Selain plainteks diperlukan kunci dimana pada kunci juga dilakukan perlakuan yang sama dengan plainteks pada Proses Kunci. Ada 4 putaran pada kunci dengan alur pemasukan dan pengambilan bit berbeda. Hasil dari proses pemasukan bit dan pengambilan bit Kunci menghasilkan Kunci 1 (K1). Teks 1 ( T1) dan kunci 1 (K1) dimana T1 dan K1 adalah hasil pengacakan putaran 1. Setelah itu dilakukan proses XOR antara T1 dan K1 untuk kemudian hasil dari XOR tersebut mengalami pergeseran bit 1 kali ke kanan untuk menghasilkan Cipherteks1 (C1). C1 akan diputar kembali untuk dilakukan proses 2 pada putaran 2, hasil dari putaran 2 akan menghasilkan T2. Kunci juga diputar kembali, dengan alur berbeda dari proses kunci 1. Proses putaran dilakukan sampai putaran 4 hungga T

  4 dan K 4 selesai diproses dan menghasilkan C4

  (Chiperteks 4). Namun ada hal yang perlu diperhatikan dalam pergeseran bit untuk menghasilkan chiperteks bervariasi setiap putarannya, yaitu pergeseran 1 bit ke kanan untuk putaran pertama, 3 bit ke kiri pada putaran kedua, 5 bit ke kanan pada putaran ketiga, dan yang terakhir pada putaran keempat dilakukan pergeseran 7 bit ke kiri.

  Plaintext Kunci Utama

  ASCII ASCII Bit Proses 1 Proses Kunci 1 Bit

  T1

Transposisi Bit

1x ke kanan

K1 Proses 2

C1

Proses Kunci 2 T2

Transposisi Bit

3x ke kiri

K2 Proses 3 Proses Kunci 3

C2

T3 K3

Transposisi Bit 5x ke kanan Proses 4 Proses Kunci 4 C3 T4 K4

Transposisi Bit

7x ke kiri

Ciphertext Gambar 11

  . Rancangan Diagram Proses Enkripsi Tiap Putaran

  Rancangan ini mengsyaratkan untuk jumlah kunci maksimal 8 karakter, syarat ini dipilih dengan menyesuaikan dengan jumlah karakter dalam satu kotak 64-bit. Selain itu juga bagi setiap user akan kesulitan untuk mengingat banyak karakter apabila jumlahnya lebih dari delapan. Sebaliknya pada palinteks tidak dibatasi banyak karakter yang akan dienkripsi. Tetapi dalam satu blok memerlukan delapan karakter, sehingga akan dilakukan proses padding dengan desimal 141 (sebanding dengan ) apabila jumlah karakter kurang dari kelipatan

  delapan. Secara umum apabila dimisalkan plainteks adalah X dan kunci adalah Y, maka dapat dinyatakan seperti pada Tabel 1.

  

Tabel 1 . Proses Padding pada Plainteks dan Kunci

Padding Plainteks

  Misalkan Plainteks X = (x

  1 , x 2 , x 3 , ... ,x n ), n|8, n

  ∈ Z

  • Jika n

  ∤ 8, maka padding (8m – n) karakter ...., n < 8m; m = 1, 2, ...

  Padding Kunci

  Misalkan Kunci Y = (y

  1 , y 2 , ...., y r )

  Jika r < 8, maka padding (8

  • – r) karakter ...., n < 8; r = 1, 2, ..., 7.

  Sebagai contoh, terdapat 13 karakter plainteks, maka n = 13 dan13 < 8m. Sehingga kelipatan delapan terkecil yang lebih besr dari 13 adalah 16 (8m; m = 2), jadi jumlah karakter yang akan di padding adalah (16

  • – 13) = 3 karakter. Hal yang sama juga pada kunci, misalkan diinputkan hanya 3 karakter sehingga perlu di padding sebanyak (8
  • – 3) = 5 karakter untuk memenuhi panjang ukuran blok cipher.

  Selanjutnya pada Gambar 12 adalah Bagan proses dekripsi

  Ciphertext Bit Kunci Utama ASCII Transposisi Bit Bit 7x ke kanan K4 Proses Kunci 1 Kebalikan Proses 4 T4 Transposisi Bit C3 Proses Kunci 2 5x ke kiri K3 Kebalikan Proses 3 T3 Proses Kunci 3 Transposisi Bit C2 Proses Kunci 4 3x ke kanan K2 Kebalikan Proses 2 T2 Transposisi Bit C1 1x ke kiri K1 Kebalikan Proses 1 Plaintext T1

  Gambar 12 . Rancangan Diagram Proses Dekripsi Tiap Putaran

  Sedangkan untuk proses dekripsi dapat dilihat dari Gambar 12 di atas, yang menjelaskan dilakukan kebalikan proses (invers) dari proses tiap putaran. Proses Kunci dilakukan terlebih dahulu dari Proses Kunci 1 sampai Proses Kunci 4.

  Ciphertext

  diubah menjadi bit untuk kemudian ditransposisikan 7 bit ke kanan dimana itu merupakan kebalikan dari proses enkripsi yang digeser ke kanan, dan hasil dari pergeseran bit tersebut dilakukan proses XOR dengan hasil dari Proses Kunci 4 (K4) untuk menghasilkan T4. Kemudian T4 masuk ke dalam Kebalikan Proses 4 dimana proses itu adalah kebalikan dari Proses pada enkripsi, jika dalam enkripsi bit masuk ke dalam alur pemasukan dan diambil mengikuti alur pengambilan, namun pada proses dekripsi, bit masuk ke dalam alur pengambilan dan diambil sesuai alur pemasukan pada enkripsi. Hasil dari Kebalikan Proses 4 menghasilkan C3 yang selanjutnya akan mengalami proses berikutnya yaitu ditransposisikan 5 blok ke kiri dan di-XOR dengan K3 untuk menghasilkan T3 dan T3 masuk ke dalam kebalikan proses yang menghasilkan C2, begitu seterusnya sampai pada Kebalikan Proses 1 untuk dapat kembali ke Plaintext.

  Pengujian Rancangan Kriptografi.

  Penghitungan secara manual dilakukan membuktikan proses enkripsi pada Pola Cabang Ranting. Proses enkripsi menggunakan contoh plainteks “PASSWORD”, dengan kunci “FORTUNER”. Yang akan dijelaskan pada penelitian ini adalah proses putaran pertama atau ke 1. Pada plainteks ”PASSWORD” yang sudah diubah ke dalam biner adalah : P: 01010000

  A: 01000001 S: 01010011 S: 01010011 W: 01010111 O: 01001111 R: 01010010

  D: 01000100 Pada bagian proses enkripsi dijelaskan dimana di dalam proses menggunakan alur pemasukan yang sama di tiap putaran namun menggunakan alur pengambilan bit yang berbeda pada tiap putarannya. Jadi plainteks yang dimasukkan ke dalam proses dengan alur yang sama yaitu secara miring ke atas yang dimulai dari sudut kiri atas blok seperti pada Gambar 5. Setelah bit-bit dimasukkan proses selanjutnya melakukan pengambilan bit alur yang digunakan adalah alur cabang ranting yang digunakan pada putaran satu ini sesuai pada Gambar 8. Pemasukan bit sesuai pola dapat dilihat pada Gambar 13 dan pengambilan bit dapat dilihat pada Gambar 14.

  

Gambar 13 . Hasil Input Bit Gambar 14 . Pengambilan Bit

  Hasil dari pengacakan bit-bit plainteks pada putaran pertama menghasilkan T1, dan bit-bit yang dihasilkan adalah :

  “00110101 01001100 01101010 00001100 00110001 11000001 11011100 10001010 ”. Hasil dari proses putaran pertama yaitu T1 berupa bit yang nantinya akan di-

  XOR dengan kunci yang sudah dilakukan proses putaran. Pada proses kunci digunakan alur pembangkitan kunci dengan memakai alur yang berbeda tiap putara n. Kunci “FORTUNER” yang sudah diubah ke dalam biner adalah:

  F: 01000110 O: 01001111 R: 01010010 T: 01010100 U: 01010101 N: 01001110

  E: 01000101 R: 01010010 Setelah bit kunci mengalami proses dalam proses kunci 1, hasil bit kunci dari proses kunci putaran 1 atau K1 adalah : “10001000 11111100 10010000 11000110 01110101 10000001 10111000 10001100”.

  Hasil dari pemasukan bit dan pengambilan bit plainteks pada putaran 1 (P1) akan di-XOR dengan hasil proses kunci pada putaran 1 (K1). Hasil XOR dari T1 dengan K1 adalah: “10111101 11001000 00001011 11001110 01001100 00001100 10101101 00101101” dan bit hasil dari XOR tersebut akan mengalami pergeseran bit 1 kali ke kanan sebelum menghasilkan Cipherteks1 (C1). Setelah mengalami pergeseran 1 kali ke kanan, bit C1 yang dihasilkan adalah “11011110 11100100 00000101 11100111 00100110 00000110 01010110 10010110“ dengan simbol “Þ ä ENQ ç & ACK V –”.

  Untuk dilakukan proses berikutnya pada putaran ke dua, hasil dari C1 masuk ke dalam Proses 2 dan untuk kunci hasil dari K1 masuk ke dalam Proses Kunci 2. Begitu seterusnya hingga putaran ke empat untuk meghasilkan Cipherteks. Dan Chiperteks yang dihasilkan adalah: “10000001 01110111 01001000 00010111 10000

  100 00011101 00110101 11011111”, dengan simbol “w H ETB „ GS 5 ß”. Setelah dilakukan perbandingan dengan Plainteks awal, dapat dilihat pada grafik Gambar 15.

  250 200 150 100

  50

  1

  2

  3

  

4

  5

  6

  7

  8 Plainteks Cipherteks Gambar 15 . Grafik Plainteks Dengan Cipherteks

  Plainteks PASSWORD dengan desimalnya adalah “80, 65, 83, 83, 87, 79, 82, 68” dan bilangan desimal berdasarkan ASCII untuk kunci FORTUNER “70, 79, 82,

  84, 85, 78, 69, 82”. Dapat dilihat selisih terhadap inputan dan hasil dari masing- masing putaran pada tabel 2.

  Tabel 2 . Selisih Perbandingan Input dan Hasil Tiap Putaran

  Input Input Kunci Hasil

  I Selisih Putaran-i putaran-i Putaran i

  • 142,-163,78,- 80,65,83,83, 70,79,82,84, 222,228,5,231, 148,49,73,-4,-

  1 87,79,82,68 85,78,69,82 38,6,86,150

  82 61,-24,- 222,228,5,231, 136,252,144,198, 161,252,49,187, 44,44,-127,-

  2 38,6,86,150 117,129,184,140 165,36,46,11 30,40,139

  161,252,49,187, 6,10,249,35, 133,247,3,178, 28,5,46,9,-5,-

  3 165,36,46,11 73,150,86,197 170,125,243,157 89,-197,-146 4,128,-

  133,247,3,178, 4,112,48,159, 129,119,72,23, 69,155,38,96,

  4 170,125,243,157 42,209,219,35 132,29,53,223 190,-66

  Dan hasil dari masing-masing putaran dapat dilihat pada tabel 3.

  

Tabel 3 . Hasil Tiap Putaran

  I Desimal Hexa Karakter 80,65,83,83, 50, 41, 53, 53, 57, 4F, P, A, S, S, W, O, R, D

  Plainteks 87,79,82,68 52, 44 222,228,5,231, DE, E4, 5, E7, 26, 06,

  • – Þ, ä, , ç, &, , V,

  1 38,6,86,150 56, 96 161,252,49,187, A1, FC, 31, BB, A5,

  ¡, ü, 1, », ¥, $, .,

  2 165,36,46,11 24, 2E, 0B 133,247,3,178, 85, F7, 03, B2, AA,

  …, ÷, , ², ª, }, ó

  3 170,125,243,157

  7D, F3, 9D 129,119,72,23, 81, 77, 48, 17, 84,

  4 ฀, w, H, , „, 5, ß 132,29,53,223

  1D, 35, DF

  Pada proses dekripsi dilakukan dengan melakukan proses kebalikan dari proses enkripsi, yang terdapat pada Gambar 6. Kunci diregenerasi terlebih dahulu dengan melakukan proses putaran 1 sampai putaran 4. Sebelum melakukan proses

  XOR, Cipherteks mengalami pergeseran 7 kali ke kanan sebagai kebalikan dari proses enkripsi dimana dalam enkripsi hasil XOR pada putaran 4 mengalami pergeseran bit 7 kali ke kiri untuk menghasilkan Cipherteks. Hasil pergeseran bit akan di-XOR dengan hasil proses kunci putaran 4 (K4). Setelah proses XOR, maka akan diperoleh kembali T4 dan masuk ke dalam kebalikan proses dari enkripsi dimana alur pengambilan bit menjadi alur pemasukan dan alur pemasukan menjadi alur pengambilan. Hasil dari kebalikan proses itu akan menghasilkan C3, dan C3 akan dilakukan proses berikutnya. Proses ini dilakukan sampai plainteks diperoleh kembali. Pengujian ini menunjukkan bahwa rancangan kriptografi dapat melakukan proses enkripsi dan dekripsi, sehingga telah memenuhi dua dari 5-tuple Stinson untuk sebuah kriptosistem.

  Pembuktian Sebagai Kriptosistem

  Suatu teknik kriptografi dapat dikatakan sebagai sebuah teknik kriptografi jika memenuhi 5-tuple yaitu P, C, K, E, dan D yang telah diberikan pada Defenisi

  1. Bagian ini akan ditunjukan bahwa perancangan kriptografi blok cipher CRP memenuhi kelima (5-tuple).

  Bagian yang pertama adalah syarat P adalah himpunan berhingga dari

  

plainteks . Perancangan ini menggunakan 256 karakter ASCII sebagai doamian

inputan, sehingga sudah tentu elemen plainteks adalah himpunan yang berhingga.

  Syarat atau tuple-2 yang harus dipenuhi yaitu C adalah himpunan berhingga dari

  

cipherteks . Sama dengan elemen plainteks, ciperteks di konversikan dalam

  dihasilkan dalam 256 karakter ASCII, walaupun dalam proses dibawah dalam oprasi bit. K, keyspace adalah himpunan berhingga dari kunci. Jumlah ruang kunci yang dipakai dalam perancangan ini adalah 256 karakter yang diambil dari ASCII. Sehingga ruang kunci merupakan himpunan berhingga. E, enkripsi, dan

  D , dekripsi, setiap e k : P k :

  →C dan d C → P adalah fungsi sedemikian hingga d k (e k (x)) = x, untuk setiap plainteks xP. Pembahasan sebelumnya telah membahas proses enkripsi dan dekripsi sehingga telah memenuhi tuple E dan D.

  Karena telah memenuhi kelima kondisi maka Alur Pola Cabang dan Ranting Pohon merupakan sebuah sistem kriptografi.

  Pengujian Lanjutan dengan Variasi Plainteks

  Plainteks Z, dan kuncinya

  300 250 200 150 100

  50 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Plainteks CRP AES

  Gambar 16 . Grafik Hasil Perbandingan dengan AES-128

Menggunakan Plainteks Karakter Sama

  Selanjutnya adalah melakukan pembandingan kriptografi antara teknik kriptografi Block Cipher Pola Cabang dan Ranting Pohon yang diteliti dengan teknik kriptografi lainnya. Teknik kriptografi yang dipilih adalah AES. Kedua teknik kriptografi tersebut diberi pla inteks yang sama yaitu “Inipast1ul@hKamu” untuk diproses. Karena kriptografi AES yang digunakan berbasis AES-128 yang membutuhkan inputan sebanyak 16, maka inputan Plainteks untuk kriptografi

  

Block Cipher Pola Cabang dan Ranting Pohon disesuaikan sebanyak 16 karakter,

hal itu berlaku untuk kunci juga.

  300 250 200 150 100

  50

  1

  2

  3

  4

  5

  6

  7

  8 9 10 11 12 13 14 15 16 Plainteks CRP AES Gambar 17

  . Grafik Hasil Perbandingan dengan AES-128

  Hasil perbandingan antara AES dengan kriptografi yang diteliti dapat dilihat dari diagram pada Gambar 17. Analisis perbandingan dilakukan dengan mencari nilai keacakan. Berdasarkan data pada Gambar 17 dan perhitungan dari persamaan (6), dapat diperoleh nilai keacakan sumbu-y untuk kriptografi Cabang dan Ranting Pohon sebesar -0,26144 dan untuk AES-128 sebesar -0,68327. Nilai keacakan

  

AES terhadap kriptografi yang diteliti adalah sebesar -1,61349. Sedangkan untuk

  nilai diferensiasi berdasarkan pada persamaan (8) dapat dihasilkan untuk AES sebesar -0,0625 dan untuk Cabang dan Ranting Pohon sebesar -0,5625.

  5. Simpulan

  Berdasarkan penelitian yang telah dilakukan maka dapat diambil kesimpulan, perancangan kriptografi dengan pola cabang ranting dapat melakukan enkripsi dan dekripsi, dan juga dapat memenuhi 5-tuple sehingga dapat dikatakan sebagai sebuah sistem kriptografi. Hasil rata-rata keacakan AES terhadap Pola Cabang dan Ranting Pohon adalah -1,61349 dengan nilai diferensiasi sebesar -0,5625. Selain itu penelitian ini juga dapat digunakan sebagai teknik kriptografi baru dan juga metodologi baru dalam kriptografi simetris yang dapat membantu penelitian kriptografi.

  6. Tinjauan Pustaka

  [1] Huda, Khairul. 2014. Perancangan Kriptografi Kunci Simetris Menggunakan Fungsi Polinomial Hermite dan Akar Kuadrat Fungsi Linear .

  UKSW, Salatiga. [2] Setyawan, Yudi. 2014. Penggunaan Fungsi Bessel dan Fungsi Dawson dalam Perancangan Kriptografi Kunci Simetris . UKSW, Salatiga.

  [3] Suprabowo, Arif. 2011. Analisa Kriptanalisis Deferensial Pada Twofish.

  Institut Teknologi Bandung. [4]

  Dewi, B., dkk., 2015. “Kemlu RI Masih Klarifikasi Berita Penyadapan

Dokumen yang terkait

Institutional Repository | Satya Wacana Christian University: Pengembangan Game HTML5 Menggunakan Framework Phaser

0 0 29

Institutional Repository | Satya Wacana Christian University: Perancangan Kriptografi Block Cipher Berbasis Pada Teknik Anyaman Dasar Tunggal

0 0 25

Institutional Repository | Satya Wacana Christian University: Perancangan Prototype Kanopi Berpenggerak DC Motor dengan Teknologi Wireless Sensor Network

0 0 25

Institutional Repository | Satya Wacana Christian University: Pengembangan Cloud Computing Untuk Penyediaan Aplikasi di Fakultas Teknologi Informasi - UKSW

0 0 21

Institutional Repository | Satya Wacana Christian University: Analisis dan Implementasi Proxy Server sebagai Manajemen Bandwidth pada Wireless LAN: studi kasus PT. PLN (Persero) Area Yogyakarta

0 1 23

Institutional Repository | Satya Wacana Christian University: Manajemen Bandwidth dengan Menggunakan Metode Hierarchical Token Bucket ( HTB ): studi kasus SMPN 1 Susukan Kabupaten Semarang

0 0 26

Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Informasi Pengawasan Ruangan Menggunakan Zoneminder (Studi Kasus: PT. Putera Karya Perkasa, Solo)

0 1 21

BAB I PENDAHULUAN 1.1 Latar Belakang - Institutional Repository | Satya Wacana Christian University: Hubungan Kemampuan Literasi Sains Dengan Sikap Ilmiah Siswa Kelas XI MIPA SMA Kristen 1 Salatiga Pada Materi Sistem Gerak Yang Diuji Menggunakan Problem B

0 0 6

BAB III HASIL DAN PEMBAHASAN 3.1 Respon Siswa tentang Tes Literasi Sains - Institutional Repository | Satya Wacana Christian University: Hubungan Kemampuan Literasi Sains Dengan Sikap Ilmiah Siswa Kelas XI MIPA SMA Kristen 1 Salatiga Pada Materi Sistem Ge

0 0 11

Institutional Repository | Satya Wacana Christian University: Hubungan Kemampuan Literasi Sains Dengan Sikap Ilmiah Siswa Kelas XI MIPA SMA Kristen 1 Salatiga Pada Materi Sistem Gerak Yang Diuji Menggunakan Problem Based Learning

0 0 39