perancangan algoritma kriptografi block...
Embed Size (px)
TRANSCRIPT

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
Berbasis Pola Cabang dan Ranting Pohon
1 Fajar Eko Setiawan, 2 Magdalena A. Ineke Pakereng, 3 Alz Danny Wowor
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1)[email protected], 2)[email protected], 3)[email protected]
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 algorithm 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
Kristen Satya Wacana, Salatiga. 2) Staff pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga. 3) 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

1
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.

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 Pi, bit-bit penyusunnya dapat dinyatakan sebagai :
(4)
Untuk enkripsi dan dekripsi dengan kunci K dinyatakan berturut-turut dengan
persamaan
𝐸𝑘(𝑃) = 𝐶 (proses enkripsi) (5)
𝐷𝑘(𝐶) = 𝑃 (proses dekripsi) (6)
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,
3. K merupakan ruang kunci (keyspace), adalah himpunan berhingga dari kunci,
4. E adalah himpunan fungsi enkripsi CPk
e : ,
5. D adalah himpunan fungsi dekripsi PCk
d : , Untuk setiap 𝑘 𝜖 𝑲, terdapat
aturan enkripsi 𝑒𝑘𝑬 dan berkorespondensi dengan aturan dekripsi 𝑑𝑘𝜖 𝑫. Setiap
𝑒𝑘 ∶ 𝑷 ⟶ 𝑪 dan 𝑑𝑘 ∶ 𝑪 ⟶ 𝑷 adalah fungsi sedemikian hingga 𝑑𝑘(𝑒𝑘(𝑥)) = 𝑥
untuk setiap plainteks 𝑥 𝜖 𝑷.

3
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)
Dimana Yi sebagai nilai keacakan ke-i, dan secara berturut-turut pi dan ci 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
diberikan kumpulan data ((x1,y1), (x2,y2), (x3,y3), …, (xn,yn)) dengan syarat bahwa
xi < xi+1 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

4
Dy
Dx=
(yb - ya )
(xa - xb ) (8)
dengan (xa, ya) sebagai titik pertama, dan titik berikutnya adalah (xb, yb). Apabila
terdapat n data maka untuk menentukan rata-rata dari diferensiasi data dapat di
cari untuk melihat tren dari setiap data Rataan diferensiasi (Rd) untuk melihat
diberikan pada Persamaan (9).
(9)
3. Langkah-Langkah Penelitian
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

5
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

6
Rancangan kriptografi ditunjukkan pada Gambar 4, dimana terdapat empat
putaran dan di setiap putaran juga terdapat dua bagain yang mengoperasikan dua
inputan yang berbeda yaitu plianteks dan kunci. Dinotasikan untuk Proses-i (Pi)
mengoperasikan plainteks dan ProsesKunci-i (PKi) meregenerasi kunci sehingga
pada setiap putaran akan diperoleh kunci yang berbeda. Setiap Putaran-i (PTi)
diperoleh dari Transposisi-i (Ti) hasil XOR antara Proses-i dan ProsesKunci-i,
yang secara umum diberikan pada Persamaan (10).
PTi = Ti (Pi PKi) (10)
dimana i = 1, ..., 4.
Hasil dari setiap putaran PTi akan menjadi inputan pada Ti+1 dan hal yang
sama juga untuk setiap PKi adalah input untuk PKi+1 dengan i = 1, ...,3. Sehingga
secara keseluruahan cipherteks adalah PT4. Sebaliknya untuk melakukan proses
dekripsi, cipherteks sebagai input dan dilakukan proses kebalikan dengan proses
dekripsi untuk mendapatkan kembali plainteks.
Setiap Pi dan PKi 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 b1, b2, ..., b64
yang ditempatkan mulai dari kanan bawah sesuai alur menyilang sampai pada
pojok kiri atas, alur tersebut diberikan pada Gambar 5.
b64 b63 b61 b58 b54 b49 b43 b36
b62 b60 b57 b53 b48 b42 b35 b28
b59 b56 b52 b47 b41 b34 b27 b21
b55 b51 b46 b40 b33 b26 b20 b15
b50 b45 b39 b32 b25 b19 b14 b10
b44 b38 b31 b24 b18 b13 b9 b6
b37 b30 b23 b17 b12 b8 b5 b3
b29 b22 b16 b11 b7 b4 b2 b1
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).
K1 = (b29, b22, b16, b11, b7, b4, b2, b1),
K2 = (b37, b30, b23, b17, b12, b8, b5, b3),
K3 = (b44, b38, b31, b24, b18, b13, b9, b6),
: : (11)
: :
K8 = (b64, b63, b61, b58, b54, b49, b43, b36).

7
4. Hasil dan Pembahasan
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
Pohon [11] Gambar 8. Alur Cabang dan Ranting Pohon
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).
K1 = (b29, b30, b31, b32, b33, b34, b35, b36),
K2 = (b22, b16, b11, b7, b4, b2, b1, b37),
K3 = (b44, b50, b55, b59, b62, b64, b23, b17),
K4 = (b12, b8, b5, b3, b38, b45, b51, b56), (12)
K5 = (b60, b63, b24, b18, b13, b9, b6, b39),
K6 = (b46, b52, b57, b61, b25, b19, b14, b10),
K7 = (b40, b47, b53, b58, b26, b20, b15, b41),
K8 = (b48, b54, b27, b21, b42, b49, b28, b43).

8
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.
K1 = (b29, b30, b31, b32, b33, b34, b35, b36),
K2 = (b22, b16, b11, b7, b4, b2, b1, b37),
K3 = (b44, b50, b55, b59, b62, b64, b23, b17),
K4 = (b12, b8, b5, b3, b38, b45, b51, b56), (13)
K5 = (b60, b63, b24, b18, b13, b9, b6, b39),
K6 = (b46, b52, b57, b61, b25, b19, b14, b10),
K7 = (b40, b47, b53, b58, b26, b20, b15, b41),
K8 = (b48, b54, b27, b21, b42, b49, b28, b43).
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

9
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 T4 dan K4 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.

10
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
Plaintext
ASCII
Kunci Utama
ASCII
Bit Bit
Proses Kunci 1
Proses Kunci 2
Proses Kunci 3
Proses Kunci 4
Proses 1
Proses 2
Proses 3
Proses 4
T1 K1
T2 K2
T3 K3
T4 K4
Transposisi Bit
1x ke kanan
C1
Transposisi Bit
3x ke kiri
C2
Transposisi Bit
5x ke kanan
C3
Transposisi Bit
7x ke kiri Ciphertext

11
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 = (x1, x2, x3, ... ,xn), n|8, n ∈
Z+
Jika n ∤ 8, maka padding (8m – n) karakter
....,
n < 8m; m = 1, 2, ...
Padding
Kunci
Misalkan Kunci Y = (y1, y2, ...., yr)
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

12
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
Ciphertext Kunci Utama
ASCII Bit
Bit
Proses Kunci 4
Proses Kunci 3
Proses Kunci 2
Proses Kunci 1
Kebalikan Proses 4
Kebalikan Proses 3
Kebalikan Proses 2
Kebalikan Proses 1
K4
K3
T4
K2
T3
K1
C3
Transposisi Bit
5x ke kiri
C2
Transposisi Bit
3x ke kanan
C1
Transposisi Bit
1x ke kiri
Plaintext
Transposisi Bit
7x ke kanan
T2
T1

13
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”.

14
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
putaran. 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 10000100 00011101 00110101 11011111”, dengan simbol
“w H ETB „ GS 5 ß”. Setelah dilakukan perbandingan dengan Plainteks awal,
dapat dilihat pada grafik Gambar 15.
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,
0
50
100
150
200
250
1 2 3 4 5 6 7 8
Plainteks Cipherteks

15
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
I Input
Putaran-i
Input Kunci
putaran-i
Hasil
Putaran i Selisih
1 80,65,83,83,
87,79,82,68
70,79,82,84,
85,78,69,82
222,228,5,231,
38,6,86,150
-142,-163,78,-
148,49,73,-4,-
82
2 222,228,5,231,
38,6,86,150
136,252,144,198,
117,129,184,140
161,252,49,187,
165,36,46,11
61,-24,-
44,44,-127,-
30,40,139
3 161,252,49,187,
165,36,46,11
6,10,249,35,
73,150,86,197
133,247,3,178,
170,125,243,157
28,5,46,9,-5,-
89,-197,-146
4 133,247,3,178,
170,125,243,157
4,112,48,159,
42,209,219,35
129,119,72,23,
132,29,53,223
4,128,-
69,155,38,96,
190,-66
Dan hasil dari masing-masing putaran dapat dilihat pada tabel 3.
Tabel 3. Hasil Tiap Putaran
I Desimal Hexa Karakter
Plainteks 80,65,83,83,
87,79,82,68
50, 41, 53, 53, 57, 4F,
52, 44 P, A, S, S, W, O, R, D
1 222,228,5,231,
38,6,86,150
DE, E4, 5, E7, 26, 06,
56, 96 Þ, ä, , ç, &, , V, –
2 161,252,49,187,
165,36,46,11
A1, FC, 31, BB, A5,
24, 2E, 0B ¡, ü, 1, », ¥, $, .,
3 133,247,3,178,
170,125,243,157
85, F7, 03, B2, AA,
7D, F3, 9D …, ÷, , ², ª, }, ó
4 129,119,72,23,
132,29,53,223
81, 77, 48, 17, 84,
1D, 35, DF �, w, H, , „, 5, ß
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.

16
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 ek : P→C dan dk : C → P adalah fungsi sedemikian hingga
dk(ek(x)) = x, untuk setiap plainteks x∊P. 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
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 plainteks yang sama yaitu “[email protected]”
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.
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Plainteks CRP AES

17
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
Intelijen”. Diakses pada 20 April 2015.
[5] Chang, G., 2012, Penyadapan e-mail dari Papua, Diakses pada 21 April
2015.
[6] Sentot, Kromodimoeljo.2010. Teori dan Aplikasi Kriptografi.
0
50
100
150
200
250
300
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Plainteks CRP AES

18
Jakarta.: SPK IT Consulting
[7] Munir, Rinaldi, 2006. Kriptografi, Bandung: Informatika.
[8] Franindo, Ardian, 2007. “Chiper Blok dengan Algoritma Operasi XOR
antar Pecahan Blok”. Institut Teknologi Bandung
[9] Stinson, D.R. 1995. Cryptography Theory and Practice. Florida: CRC
Press, Inc.
[10] Negara, I Made Ari Jaya, 2003. Penyandian Data Dengan Algoritma
Kriptografi Noekeon. Institut Teknologi Bandung.
[11] http://www.grandrapidsohio.com/images/Branch.jpg. Diakses pada tanggal
15 Januari 2015.
[12] Liwandouw, V.B,. Wowor A.D. 2015. Desain Algoritma Kubus Rubik
Dalam Perancangan Kriptografi Simetris. Prosiding Seminar Teknik
Informatika dan Sistem Informasi.Bandung
[13] Nayuki, 2014, AES Cipher Internal in Excel, (http://nayuki.eigenstate.org/page/aes-cipher-internals-in-excel), (diakses 2 Februari 2015)
[14] Joan Daemen-Vincent Rijmen.2001.The Design of Rijndael AES-The Advanced Encryption Standard. New York : Springer