Bab 2
Desain Algoritma Berbasis Kubus Rubik dalam Perancangan Kriptografi Simetris
Vania Beatrice Liwandouw, Alz Danny Wowor
Seminar Teknik Informatika & Sistem Informasi (SeTISI), 9 April 2015, Halaman 42-47.
Abstract—Cryptography is an important requirement in securing the data and information. The problem is if cryptography have got cryptanalysis who made it no longer safe. This paper try to designing rubik algorithm in making symmetric key cryptography. The result of the research showed that this design has a good level of randomness. and has been successfully be a cryptosystem that can be used as an alternative in securing data and information.
Keywords— Cryptography, Cryptanalysis, Symmetric Key, Rubik.
2.1 Pendahuluan
Salah satu hal yang penting dalam transfer data atau informasi
adalah bagaimana menjaga keamanannya, sehingga dapat sampai ke
tujuan dengan aman dan tidak diketahui ataupun dimanipulasi oleh
pihak yang tidak berkepentingan. Metode yang sering digunakan
untuk mengamankan informasi adalah kriptografi [9]. Metode ini
sudah digunakan sejak 400 tahun SM oleh Caesar, selain itu juga
Nazi dengan Enigma-nya digunakan pada Perang Dunia II untuk
pengamanan informasi. Sekarang ini, ketika komputer digital
berkembang membuat semua data yang diolah maupun ditransfer
!5
berbasis digital atau binary digit (bit). Perkembangan ini juga ikut
berpengaruh pada kriptografi, sehingga kriptografi berbasis bit
(kriptografi modern) yang dirancang dan digunakan untuk
pengamanan informasi.
Begitu banyak kriptografi modern berjenis block cipher yang
digunakan sebagai pengamanan informasi hingga saat ini, misalnya
DES (Data Encryption Standard) yang pernah menjadi standart
keamanan di Amerika Serikat, tetapi kemudian digantikan oleh AES
(Advanced Encryption Standard) pada Mey 2005 [10]. DES
tergantikan karena NIST (National Institute of Standard and
Technology) mengatakan sudah tidak aman lagi untuk digunakan
kerena sudah dapat dipecahkan.
Masalah yang sering muncul adalah ketika alat pengamanan
informasi yang digunakan sudah tidak aman lagi, dalam artian sudah
ada kriptanalisisnya. AES yang menggantikan DES juga sudah dapat
dipecahkan oleh para kriptografer Israel yaitu Eli Biham dan Adi
Shamir [11]. Munir [12], mengatakan bahwa transaksi bank di
Indonesia masih menggunakan DES sebagai alat pengamanan,
sehingga menggunakan 8 karakter inputan yang terdiri dari PIN (4
atau 6 karakter) dan ditambahkan 4 atau 2 karakter untuk melengkapi
proses enkripsi.
Oleh karena itu diperlukan suatu kriptografi baru yang dapat
menyulitkan kriptanalisis untuk memecahkannya. Berdasarkan hal
tersebut, maka penelitian ini merancang suatu kriptografi block
cipher yang berbasis pada kubus rubik.
!6
Kubus Rubik adalah sebuah permainan puzzle mekanik tiga
dimensi yang ditemukan pada tahun 1974 oleh seorang pemahat dan
profesor arsitektur dari Hungaria bernama Erno Rubik. Puzzle ini
disebut sebagai mainan yang paling banyak terjual di dunia dan
sampai tahun 2010, telah lebih dari 350 juta buah Rubik’s Cube yang
terjual di seluruh dunia [13].
Kubus rubik standar (3×3×3) merupakan satu dari sekian
persoalan kombinatorial yang cukup dikenal karena kerumitannya,
dimana terdapat 4.32×1019 (43 quintilion) konfigurasi berbeda yang
mungkin dihasilkan dengan mengacaknya [14], sehingga akan
memperbesar ruang kemungkinan untuk menebak semua kunci.
Kerumitan dan banyaknya kemungkinan inilah yang menjadi ide
dasar dalam penelitian ini untuk perancangan kriptografi simetris
yang berbasis kubus rubik.
Perancangan sebuah kriptografi simetris yang baru sangat
memerlukan penelitian terdahulu yang dapat digunakan sebagai
landasan penelitian atau pembanding dengan penelitian yang
dilakukan sekarang ini. Selanjutnya diberikan penelitian terkait
kriptografi simetris yang telah dilakukan sebelumnya.
Menurut Dafid [15], dalam penelitiannya yang berjudul
“Kriptografi kunci Simetris dengan Menggunakan Algoritma
Crypton” membahas bagaimana menerapkan algoritma crypton
dalam menghasilkan sebuah kriptografi. Dalam penelitian tersebut,
tiap blok data direpresentasikan ke dalam array berukuran 4×4 byte.
Tiap blok data tersebut diproses dengan menggunakan rangkaian
!7
putaran transformasi. Tiap putaran transformasi terdiri dari empat
tahap yaitu: substitusi byte, permutasi bit, transposisi byte dan
penambahan kunci. Dari hasil pengujian terlihat bahwa baru tiga
putaran perbedaan yang terjadi mencapai 60 bit atau hampir setengah
dari besar cipherteks (128 bit). Semakin banyak perubahan yang
terjadi, akan semakin sulit bagi kriptanalis untuk dapat melakukan
kriptanalisis. Bila perubahan bit yang terjadi hanya sedikit, hal ini
dapat mempermudah dalam mencari plainteks atau kunci. Penelitian
ini menyimpulkan bahwa semakin kompleks metode pengacakan
yang digunakan maka semakin sulit untuk membongkar pesan yang
terenkripsi ke dalam bentuk aslinya.
Penelitian Nugroho [16] dengan topik “Perancangan dan
implementasi algoritma kriptografi kunci simetri Alay-Yielded Octal”
mengerjakan pada setiap putaran dilakukan pembangkitan sebuah
kunci dengan sumber asal kunci yang telah masuk sepanjang
maksimum 26 karakter lalu pemetaan kunci kepada papan kunci dan
translasi string pesan menjadi biner, kemudian menjadi senarai
bilangan oktal dan pemetaan oktal – keypad. Hasil penelitian ini
mengatakan bahwa algoritma tersebut memenuhi kebutuhan coffusion
dan diffusion sesuai aturan Stinson. Penelitian ini juga menyimpulkan
bahwa masih banyak sisi kehidupan yang bila ditelaah lebih jauh
akan bisa menjadikan dunia ini semakin berkembang menuju ke arah
yang lebih baik, walaupun dimulai dengan cara yang tidak disukai
oleh sebagian orang. “Alay-Yielded Octal” berusaha menunjukkan
bahwa selama manusia bisa diam merenung untuk beberapa saat
!8
tanpa menghakimi hal yang tidak disetujui, ia pasti bisa menemukan
sesuatu yang membangun atau mengambil hikmah dari kejadian yang
ada.
Joan Daemen dan Vincent Rijmen dalam buku “The Design
of Rijndael”[17] memaparkan desain dari algoritma Rijndael yang
kemudian menjadi AES. Rijndael adalah block cipher yang memiliki
sebuah blok variabel dan sebuah blok variabel kunci. Panjang blok
dan panjang kunci dapat dipilih secara independen untuk setiap
kelipatan 32 bit, dengan minimal 128 bit dan maksimal 256 bit.
Secara garis besar Rijndael melakukan XOR antara plainteks dengan
cipher key (Tahap Initial Round), lalu dikenakan putaran sebanyak Nr
– 1 kali. Pada setiap putaran dilakukan Substitusi byte dengan
menggunakan tabel substitusi (SubBytes), pergeseran baris-baris
array state secara wrapping (ShiftRows), mengacak data di masing-
masing kolom array state (MixColumns), dan melakukan XOR antara
state sekarang dengan round key (AddRoundKey). Proses yang
dilakukan untuk putaran terakhir adalah SubBytes, Shift Rows, dan
AddRoundKey.
Tujuan yang hendak dicapai dalam penelitian ini adalah dapat
menghasilkan kriptosistem baru dengan algoritma Kubus Rubik.
Tujuan yang kedua, menghasilkan sebuah metodologi terkait
perancangan kriptografi simetris yang dapat digunakan sebagai
alternatif penggunaan pengamanan data. Manfaat yang bisa
dihasilkan melalui penelitian ini adalah memperkaya kajian teoritis
terkait dengan penggunaan aplikasi pengamanan data.
!9
Mengacu pada perumusan masalah, maka ruang lingkup
permasalahan dibatasi pada perancangan kriptografi merupakan
kriptografi simetris artinya kunci untuk enkripsi dan dekripsi sama
dengan panjang 12 karakter, input yang digunakan berupa teks
berbasis pada ASCII (American Standard Code for Information
Interchange), dan rubik yang digunakan adalah kubus rubik 4×4×4.
2.2 Landasan Teori
Bagian ini menjelaskan beberapa landasan teoritis yang
diperlukan untuk menyelesaikan permasalahan penelitian.
2.2.1 Pengertian Kriptografi
Secara etimologi, kriptografi (cryptography) berasal dari
bahasa Yunani dan terdiri dari dua suku kata, yaitu “cryptos” yang
artinya rahasia (secret) dan “graphein” artinya tulisan (writing).
Sehingga kriptografi dapat diartikan sebagai tulisan rahasia (secret
writing). Kriptografi kadang diartikan sebagai ilmu dan seni untuk
menjaga keamanan pesan. Pengertian yang lain, kriptografi
merupakan ilmu yang mempelajari teknik-teknik matematika yang
berhubungan dengan aspek keamanan informasi seperi kerahasiaan,
integritas data, otentikasi entitas dan otentikasi keaslian data [18].
Kriptografi tidak hanya berarti penyediaan keamanan
informasi, melainkan sebuah himpunan teknik-teknik. Penggunaan
kata “seni” di dalam definisi di atas berasal dari fakta sejarah bahwa
pada masa-masa awal sejarah kriptografi, setiap orang mungkin
!10
mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara
unik tersebut mungkin berbeda-beda pada setiap pelaku kriptografi
sehingga setiap cara menulis pesan rahasia pesan mempunyai nilai
estetika tersendiri sehingga kriptografi berkembang menjadi sebuah
seni merahasiakan pesan [12].
Suatu proses penyandian yang melakukan perubahan sebuah
kode (pesan) dari yang bisa dimengerti atau plainteks menjadi sebuah
kode yang tidak bisa dimengerti atau cipherteks disebut enkripsi.
Sedangkan proses kebalikannya untuk mengubah cipherteks menjadi
plainteks disebut dekripsi. Gambar 2.1, memperlihatkan skema
enkripsi dan dekripsi.
� Gambar2.1SkemaEnkripsidanDekripsi[19]
Algoritma kriptografi disebut juga sebagai cipher yaitu aturan
untuk enkripsi dan dekripsi, atau fungsi matematika yang digunakan
untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma
yang berbeda untuk enkripsi dan dekripsi.
Konsep matematis yang mendasari algoritma kriptografi
adalah relasi anatra dua buah himpunan yaitu himpunan yang berisi
elemen-elemen plainteks dan himpunan berisi cipherteks. Proses
enkripsi dan dekripsi merupakan fungsi yang memetakan elemen-
!11
elemen antara kedua himpunan tersebut.
Misalkan P menyatakan plainteks dan C menyatakan
cipherteks, maka fungsi enkripsi memetakan P ke C.
E(P) = C (2.1)
dan fungsi dekripsi memetakan D ke C,
D(C) = P (2.2)
karena proses enkripsi kemudian dekripsi mengembalikan pesan ke
pesan asal, maka berlaku persamaan
D(E(P)) = P (2.3)
2.2.2 Rubik
Rubik’s Cube adalah permainan puzzle mekanik tiga dimensi
yang ditemukan pada tahun 1974 oleh seorang pemahat dan profesor
arsitektur dari Hungaria bernama Erno Rubik [13]. Rubik memberi
nama hasil temuannya itu Magic Cube, yang kemudian dipatenkan di
Hungaria dan dijual pertama kali melalui perusahaan Ideal Toy
Corporation. Pada tahun 1980, perusahaan Ideal Toy mengubah nama
magic cube tersebut menjadi “Rubik’s Cube”.
Sebuah Rubik’s Cube standard (3×3×3) terbentuk dari 26
kubus kecil yang disebut juga cubelets atau cubies. Setiap sisi Rubik’s
Cube memiliki 9 permukaan yang terdiri dari enam warna yang
!12
berbeda. Standard Cube merupakan model yang paling populer
hingga dibuat berbagai macam varian-nya [20] antara lain:
a. Master Cube (4×4×4), diciptakan oleh Péter Sebestény. Ukuran
standar adalah 6.5cm³ dan memiliki 7.40×1019 konfigurasi
berbeda saat diacak.
b. Professor's Cube (5×5×5), diciptakan oleh Udo Krell. Ukuran
standar jenis ini adalah 7cm³ dan memiliki 2.83×1074
konfigurasi berbeda saat diacak.
c. V-Cube 6 (6×6×6), diciptakan oleh Panagiotis Verdes dengan
total 152 keping bila dipisah-pisah, karya genius dari Verdes
Innovations SA. Ukuran standar yang dikeluarkan adalah
6.9cm³ dan memiliki 1.57×10116 konfigurasi berbeda saat
diacak.
d. V-Cube 7 (7×7×7), penciptanya sama seperti V-Cube 6, juga
dengan mekanisme yang sama. Ukuran standar jenis ini adalah
7.2cm³ dan memiliki 1.95×10160 konfigurasi berbeda saat
diacak.
e. V-Cube 8 (8×8×8), terdiri dari 324 cubies, Saat ini memegang
rekor sebagai yang terbesar, terhalus, dan merupakan
permainan puzzle paling kompleks di dunia. Ukuran standar
jenis ini adalah 8.6cm³ dan memiliki 3.52×10211 konfigurasi
berbeda saat diacak.
f. Pocket Cube (2×2×2), disebut juga Mini Cube. Memiliki
3.70×1019 konfigurasi berbeda saat diacak.
!13
! Gambar 2.2 Macam-macam rubik [20].
2.2.3 Sistem Kriptografi
Stinson [21], menjelaskan sebuah sistem kriptografi harus
memenuhi lima-tuple (five-tuple) yang terdiri dari (P, C, K, E, D)
dimana :
P adalah himpunan berhingga dari plainteks,
C adalah himpunan berhingga dari cipherteks,
K merupakan ruang kunci (keyspace), adalah himpunan berhingga
dari kunci,
E adalah himpunan fungsi enkripsi ek:P → C,
D adalah himpunan fungsi dekripsi dk:C→ P,
Untuk setiap k ∈ K, terdapat aturan enkripsi ek ∈ E dan
berkorespodensi dengan aturan dekripsi dk ∈ D. Setiap ek : P → C
dan dk : C→ P adalah fungsi sedemikian hingga dk (ek (x)) = x untuk
setiap plainteks x ∈ P.
2.1.4 Menghitung Keacakan
Asumsi yang digunakan untuk menghitung tingkat keacakan
dengan melihat rasio dari hasil selisih bilangan plainteks (bp) dan
!14
cipherteks (bc) berbanding bilangan plainteks, yang secara umum
diberikan pada Persamaan (2.4). Semakin besar rasio yang diperoleh
maka semakin tinggi tingkat keacakan yang dihasilkan.
Ac = (bp - bc)/bp (2.4)
2.3 Metode Penelitian
Bagian ini membahas tentang langkah-langkah (tahapan) yang
dilakukan untuk menyelesaikan permasalahan penelitian. Secara
lengkap tahapan penelitian diberikan pada Gambar 2.3.
! Gambar 2.3 Tahapan Penelitian.
Penjelasan lengkap terkait dengan langkah-langkah (tahapan)
!15
yang telah dan akan dilakukan beserta juga dengan hasil (output)
yang sudah/akan diperoleh diberikan pada Tabel 2.1 berikut ini.
Tabel 2.1 Penjelasan Tahapan Penelitian
Tahapan Aktifitas OutputTahap 1 Mengidentifikasi dan
merumuskan masalah melalui kajian pustaka yang bersumber pada buku, jurnal yang relevan.
Menyusun kerangka teori terkait dengan masalah yang telah dirumuskan.
Rumusan permasalahan yaitu bagaimana merancang algoritma kriptografi berbasis pada Rubik.
Memperoleh suatu rancangan kerangka teori yang telah disesuaikan dengan rubik.
Tahap 2 Kajian Pustaka Memperoleh pustaka, baik dari buku, jurnal maupun narasumber yang mengetahui tentang kriptografi berbasis rubik
Tahap 3 Observasi Proses Rubik Mengetahui cara kerja kubus rubik 4×4×4.
Tahap 4 Menghasilkan algoritma Menghasilkan kriptografi
Mengetahui kekuatan kriptografi yang telah dirancang serta menghasilkan sebuah sistem kriptografi yang telah memenuhi aturan Stinson.
Perancangan Algoritma Perancangan Kriptografi
Pengujian Kriptosistem
! Gambar 2.4 Pengujian
Kriptosistem
!16
Setiap langkah-langkah atau tahapan secara jelas telah
ditunjukkan pada Tabel 2.1. Tetapi yang menjadi catatan pada
Langkah 4 adalah pengujian sebuah sistem kriptografi berdasarkan
aturan Stinson. Rancangan kriptografi berbasis pada rubik memiliki
begitu banyak proses yang perlu dilakukan, dalam hal ini ruang
plainteks, ruang kunci, ruang cipherteks dan juga proses enkripsi
maupun dekripsi. Setelah algortima berhasil dirancang, maka
selanjutnya perlu dilakukan pengujian 5-tuple untuk memenuhi
sebuah kriptosistem. Pengujian ini ditunjukkan pada Gambar 4.
Rancangan kriptografi berbasis kubus rubik secara umum
ditunjukkan pada Gambar 3.5. Pada bagan tersebut dilengkapi dengan
Proses A dan Proses B. Pada proses A dilakukan XOR antara blok bit
plainteks dan blok bit kunci. Sedangkan proses B dilakukan
transposisi blok bit, setelah diperoleh hasil dari proses rubik. Pada
proses enkripsi memerlukan inputan n-plainteks dan kunci sebanyak
12 karakter (apabila kunci kurang dari 12 karakter maka akan
ditambahkan karakter spasi atau 32 dalam ASCII). Sedangkan pada
proses dekripsi, dilakukan sebaliknya dengan inputan n-cipherteks
dan juga kunci yang sama pada proses enkripsi.
Tahap 5 Penulisan Laporan Menghasilkan laporan penelitian dalam bentuk jurnal.
!17
!
Gambar 2.5 Proses Enkripsi dan Dekripsi
2.4 Hasil dan Pembahasan
Penelitian ini merancang kriptografi simetris yang berbasis
pada kubus rubik 4×4×4. Oleh kerena itu, bagian yang pertama ini
akan dipaparkan secara umum proses enkripsi dan dekripsi beserta
contohnya.
a. Proses Enkripsi
1. Plainteks diinput sebanyak n karakter dimana n | 48; n ∈ Z+
kemudian dikonversi ke dalam kode ASCII dan disusun ke
dalam blok blok bit. Dimana untuk setiap blok bit terdiri dari 6
bit, secara umum diberikan pada Persamaan (2.5).
P = {x1, x2, …, x384} (2.5)
!18
Jika P tidak memenuhi n|48; n ∈ Z+, maka harus
menambahkan karakter 32 (spasi dalam kode ASCII) hingga
syarat terpenuhi.
2. Kunci dirancang sebanyak 12 karakter, yang secara umum
diberikan sebagai berikut
K = {k1, k2, …, k384} (2.6)
➢ Untuk memenuhi satu proses enkripsi kunci harus
diregenerasi sebanyak empat kali untuk memenuhi
jumlah karakter yang sama (48 karakter).
➢ Kunci ke-2 merupakan regenerasi dari kunci ke-1 yang
mengalami pergeseran 1 bit ke kiri. Proses yang sama
untuk regenerasi kunci ke-3 dan ke-4 secara berturut-
turut dilakukan pergeseran 2 bit dan 3 bit ke kiri dari
kunci ke-1.
3. Selanjutnya, blok bit plainteks di XOR dengan blok bit kunci.
Dimana secara keseluruhan jumlah bit kunci yang telah
diregenerasi memenuhi
K = {y1, y2, …, y384} (2.7)
Setiap bit yang diperoleh dari Persamaan (2.5) dioperasikan
dengan setiap bit pada Persamaan (2.7). Secara umum
diperoleh
ci = pi ⊕ ki ; i = 1, 2, …, 384. (2.8)
!19
4. Berikutnya, untuk setiap bit ci dalam blok bit rj ; j = 1, 2, …,
64 diposisikan ke dalam kubus kecil dengan urutan seperti
yang ditunjukkan pada Gambar 2.6.
!
Gambar 2.6 Proses Awal Rubik
Rancangan kriptografi ini menggunakan rubik 4×4×4 sehingga
membutuhkan 64 kubus kecil. Sehingga
R = {r1, r2, …, r64} (2.9)
Dimana untuk setiap kubus kecil berisi 6 bit, seperti pada
Persamaan (2.9).
r1 = {c1, c2, …, c6}
r2 = {c7, c8, …, c12} (2.10)
⋮
r64 = {c379, c280, …, c384}
5. Terjadi proses pengacakan pada kubus rubik, dimana rubik
dapat diputar secara vertikal dan horizontal. Seperti yang
dijelaskan pada bagian sebelumnya bahwa ketersediaan
konfigurasi berbeda pada rubik 4×4×4 sebanyak 7,40×1019
!20
sehingga memungkinkan pengguna bebas untuk menentukan
arah perputaran pada setiap prosesnya.
6. Langkah selanjutnya adalah pengambilan bit dari rubik
sebanyak 8 bit untuk setiap blok bit, sehingga diperoleh 48
blok bit.
7. Blok bit hasil proses rubik dikenakan proses B yaitu proses
transposisi blok bit yang dilakukan secara acak, kemudian di
konversi ke bilangan ASCII dan diperoleh cipherteks.
Untuk memenuhi kriptosistem berdasarkan aturan Stinson
yaitu pada bagian enkripsi dan dekripsi maka diberikan dua kasus
dengan plainteks yang berbeda. Kasus yang pertama adalah
mengenkripsi plainteks “SEGERA KIRIM KE EMAIL SAYA,
[email protected] dengan kunci FTI SALATIGA”. Kasus ini
mewakilkan variasi karakter berupa huruf kapital, huruf kecil, angka,
dan simbol.
Keterwakilan variasi karakter berakibat pada variasi bit yang
cukup banyak. Kondisi ini dapat dipakai sebagai ukuran untuk
melihat kemampuan rancangan dalam sebuah sistem kriptografi.
Berdasarkan proses pada Gambar 2.5 dan langkah-langkah
yang telah diberikan sebelumnya, maka cipherteks dari kasus 1
adalah L¾GVT„CANLwfÂ&€SOHNULû²l}EMSUBETXw.LFWþ
³ïCANCANÊÈ£CREOTF³V͇’ˆ÷éDLE€. Hasil proses enkripsi dari
contoh pertama seperti yang ditunjukkan pada Gambar 2.7.
!21
! Gambar 2.7 Grafik Hasil Kasus 1
Kasus yang kedua dipilih plainteks ZZZZZZZZZZZZZZZZ
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
ZZZ. Pemilihan huruf Z sebagai karakter tunggal dalam plainteks
dikarenakan Z ekuivalen dengan 01011010, dimana hasil
ekuivalensinya merupakan bit yang simetris lipat terhadap 4 bit.
Secara umum dapat dikatakan untuk setiap n-karakter akan
memenuhi banyaknya bit yang simetris dengan aturan ½ × m × 8 =
4m (m = banyak karakter). Dengan asumsi sifat simetris bit tersebut,
maka plainteks dengan karakter Z digunakan sebagai kasus 2 untuk
melihat kemampuan algoritma dalam mengenkripsi sebuah pesan.
Berdasarkan proses pada Gambar 2.5, maka diperoleh
cipherteks untuk Kasus 2 adalah 9øBEL|߃™dDC1›fÆDLE&ïŠEÄ
º3;Ì L»ÌD1u)o‘:ØÅEM'æR™bfDC1n¤™[. Hasil proses enkripsi
kasus 2 ditunjukkan pada Gambar 2.8.
Nila
i AS
CII
050100150200250300
Karakter ke-i
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
Plainteks Chiperteks
!22
!
Gambar 2.8 Grafik Hasil Kasus 2
Pada Gambar 2.7 dan Gambar 2.8 terlihat bahwa hasil yang
diberikan menunjukkan pola perubahan yang cukup acak dari
plainteks ke chiperteks. Bahkan untuk plainteks yang sama
menghasilkan chiperteks yang berbeda dan tidak terjadi perulangan.
b. Proses Dekripsi
Perancangan kriptografi ini, adalah kriptografi simetris
sehingga proses dekripsi masih menggunakan kunci yang sama
dengan proses enkripsi seperti yang telah dijelaskan pada Gambar
2.5. Sebagai contoh kita akan mendekripsi chiperteks yang diperoleh
dari kasus 2 pada proses enkripsi sebelumnya. Hasil dekripsi
ditunjukkan pada Gambar 2.9.
Mengetahui tingkat keacakan sebuah teknik kriptografi sangat
diperlukan untuk melihat korespondensi satu-satu antara plainteks
dan cipherteks. Apabila cipherteks ditemukan polanya (berpola) maka
kriptografi tersebut akan mudah dipecahkan oleh kriptanalisis.
Nila
i AS
CII
050100150200250300
Karakter ke-i
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
Plainteks Chiperteks
!23
Analisis yang dapat dipakai untuk melihat korespondensi tersebut,
hubungannya dilakukan seperti Persamaan (2.4).
! Gambar 2.9 Grafik Hasil Dekripsi Kasus 2
Untuk melihat bagaimana pola keacakan yang dihasilkan dari
rancangan ini, penulis membandingkan dengan kriptografi AES.
Dipilihnya AES karena teknik tersebut adalah salah satu kriptografi
simetris yang memiliki pola keacakan yang baik. Hasil perbandingan
keacakan dari kriptografi yang dirancang (rancangan) dengan AES
ditunjukkan pada Gambar 2.10.
Pada Gambar 2.10, secara visual AES memetakan cipherteks
pada range (daerah hasil) dalam interval yang lebih kecil bila
dibandingkan dengan range dari kriptografi yang dirancang. Hal ini
tergambarkan dengan hasil rancangan tidak hanya di bagian atas
plainteks, tetapi berada juga di bawah plainteks.
Hasil rata-rata tingkat keacakan AES untuk plainteks pada
kasus 1 sebesar 1,105678431. Sedangkan rata-rata tingkat keacakan
Nila
i AS
CII
050100150200250300
Karakter ke-i
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
Chiperteks Plainteks
!24
untuk kriptografi berbasis rubik sebesar 1,189267463. Sehingga
perbedaan tingkat keacakan dengan AES sebesar 7,56%.
! Gambar 2.10 Grafik Perbandingan AES dan Rancangan
Pada plainteks kasus 2, hasil rata-rata tingkat keacakan AES
sebesar 0,704398148. Sedangkan rata-rata tingkat keacakan untuk
kriptografi berbasis rubik sebesar 0,680092593. Sehingga perbedaan
tingkat keacakan dengan AES sebesar 3,45%.
Selanjutnya membuktikan rancangan kriptografi sebagai
sebuah kriptosistem dengan memenuhi 5 tuple (P, C, K, E, D) adalah
himpunan berhingga dari plainteks. Dalam rancangan ini
menggunakan 256 karakter ASCII maka himpunan plainteks adalah
himpunan berhingga. C juga merupakan himpunan berhingga dari
cipherteks karena akan berada pada 256 karakter ASCII. K
merupakan ruang kunci (keyspace), adalah himpunan berhingga dari
256 karakter ASCII. Untuk setiap k ∈ K, terdapat aturan enkripsi ek ∈
E dan berkorespodensi dengan aturan dekripsi dk ∈ D. Setiap ek : P
→ C dan dk : C→ P adalah fungsi sedemikian hingga dk (ek (x)) = x
Nila
i AS
CII
050100150200250300
Karakter ke-i
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
PLAINTEKS AES RANCANGAN
!25
untuk setiap plainteks 𝑥 ∈ 𝑷. Kondisi ke-4, terdapat kunci yang dapat
melakukan proses enkripsi sehingga merubah plainteks menjadi
cipherteks dan dapat melakukan proses dekripsi yang merubah
cipherteks ke plainteks. Untuk tuple E dan D secara khusus telah
terwakilkan pada kasus 1 dan kasus 2. Karena memenuhi ke-lima
tuple dari Stinson, maka desain algoritma berbasis rubik 4×4×4
dengan kunci simetris merupakan sebuah sistem kriptografi.
2.5 Kesimpulan
Berdasarkan hasil dan pembahasan, dapat disimpulkan bahwa
rancangan kriptografi berbasis kubus rubik 4×4×4 merupakan sebuah
kriptosistem karena memenuhi aturan 5-tuple dari Stinson. Selain itu
dari percobaan tingkat keacakan untuk plainteks dengan karakter
berbeda diperoleh tingkat keacakan rancangan lebih baik 7,56%
daripada tingkat keacakan AES. Sedangkan untuk plainteks dengan
karakter yang sama tingkat keacakan AES lebih baik 3,45% dari
tingkat keacakan rancangan. Berdasarkan hal tersebut dapat
dikatakan bahwa desain algoritma berbasis rubik memiliki tingkat
keacakan yang baik.
!26