• Tidak ada hasil yang ditemukan

S-box

N/A
N/A
Protected

Academic year: 2024

Membagikan "S-box"

Copied!
12
0
0

Teks penuh

(1)

1 Pendahuluan

Pengamanan data dalam berkomunikasi menjadi hal yang penting. S-box merupakan satu- satunya langkah nirlanjardi dalam algoritma, karena operasinya adalah look-up table. Ma- sukan dari operasi look-up table dijadikan sebgai indeks s-box dan keluarannya adalah entry di dalam s-box, prinsip yang direkomendasikan s-box adalah perancangan block cipher [1].

Secara algoritma, s-box dapat menghasilkan hubungan nirlanjar antara kunci dengan cipher- text dan memberikan efek confusion dari prinsip Shannon. Pemetaan S-box adalah dengan nilai m bit dimasukan menjadi n bit keluaran. Perancangan DES memerlukan delapan S- box, yang berarti memetakan 6 bit masukan menjadi 4 bit keluaran, sehingga total akan menerima 48 bit dan menjadi keluaran 32 bit. Sedangkan algoritma AES merancang hanya satu S-box dan menjadi proses awal transformasi Subbytes. Pembuatan S-box AES dibuat dalam array berukuran 16x16 dalam bentuk hexadecimal. Hal ini dapat menjadi kelemahan apabila nilai dari S-box yang telah diketahui disubstitusi dengan nilai kosong dan nilainya dicari berdasarkan perpotongan baris dan kolom.

Penelitian ini menggunakan fungsix2−1 + 2/(3x). Dengan mendesain S-box linear yang bersifat statis dan fleksibel kemudian melihat perbandingan nilai korelasi dan error yang di- hasilkan. Rancangan ini menggunakan pembangkit bilangan acak CPSNRG berbasis chaos.

Penggunaan bilangan acak chaos dipakai karena memiliki sifat yang peka terhadap peru- bahan kecil pada kondisi awal sistem. Rancangan ini akan membangkitkan bilangan acak chaos berdasarkan inputan, yang kemudian akan menjadi regenerator untuk memunculkan bilangan berbeda yang akan dipilih secara unik untuk dijadikan calon bilangan koefisen dan konstanta fungsi linear dalam s-box. Setelah mendesain kemudian melihat nilai perban- dingan yang dihasilkan masing-masing s-box. Nilai korelasi yang melemah (mendekati atau sama dengan nol) merupakan nilai korelasi yang paling baik, sedangkan nilai error yang paling kecil merupakan error yang paling baik.

2 Kajian Pustaka

2.1 Penelitian Terdahulu

Penelitian yang dilakukan oleh Jie Cui, Liusheng Huang, Hong Zhong, Chinchen Chang, Wei Yang, memodifikasi S-Box yang merupakan operasi nonlinier yang unik di Rijndael sebagai salah satu algoritma enkripsi terpilih menjadi AES. Mereka mengusulkan untuk me- ningkatkan kompleksitas dan keamnan AES S-Box dengan memodifikasi dan menambahkan transformasi affine. Modifikasi yang dilakukan pada periode transformasi affine yang semu- la 4 menjadi 16, penambahan ekspresi aljabar yang semula 9 menjadi 255, dan perulangan periodesasi dari kurang dari 88 hingga 256. Hasil modifikasi menunjukkan kinerja S-Box yang lebih baik dan mudah untuk diimplementasi [2].

Ardhitya Ramadhanus dan Farid Firdaus, mengembangkan algoritma block cipher baru yaitu Blackfish. Blackfish merupakan sebuah block cipher berbasis feistel network dengan key-dependent S-Box dan key-dependent P-Box yang memiliki ukuran block 128 bit, ukur- an kunci 128 bit, dan jumlah putaran sebanyak 8. Blackfish dirancang untuk memiliki ketahanan terhadap linear cryptanalysis dan differential cryptanalysis [3].

Untuk mengimbangi kecepatan komputasi yang semakin meningkat, dibutuhkan lebih dari satu algoritma enkripsi untuk meningkatkan keamanan pada citra. Menurut Pahrul Irfan, Yudi Prayudi salah satu caranya adalah dengan menggunakan kriptografi ganda,

(2)

yaitu kriptografi yang menggabungkan dua algoritma yang sudah ada. Algoritma yang sering digunakan saat ini dan terbukti kekuatannya adalah algoritma dengan sistem Chaos. Untuk meningkatkan keamanan pada citra maka ditambahkan algoritma RSA yang merupakan algoritma standart dalam kriptografi. Hasil penelitian membuktikan keamanan algoritma kriptografi dalam menahan serangan brute force attack dan uji statistik [4].

Muhammad Zaki Riyanto, dalam penelitiannya menggunakan ring komutatif Z26 yang berkorespondensi dengan himpunan semua huruf alfabet dari A sampai Z. Proses subtitusi menggunakan fungsi affine berupa matriks persegi invertibel atas Z26 dan vektor konstan, sedangkan proses permutasi menggunakan suatu permutasi pada grup permutasi. Proses substitusi dan permutasi ini dilakukan dalam beberapa perulangan. Hal ini dilakukan de- ngan harapan agar plainteks yang dihasilkan menjadi terlihat acak, sehingga akan memper- sulit kriptanalisis untuk memecahkan pesan rahasia. Hasil dari penelitian ini menunjukkan bahwa dibutuhkan banyak iterasi agar cipherteks menjadi sangat acak. Selain itu, untuk proses dekripsi dibutuhkan matriks yang memiliki invers. Untuk dapat menguji kekuatan al- goritma, dibutuhkan uji statistic dan teori probabiblitas untuk mengetahui tingkat keacakan dan keterkaitan antara plainteks, kunci dan cipherteks [5].

Bambang Susanto, Alz Danny Wowor, Vania Beatrice Liwandouw, dalam penelitiannya merancang s-box fleksibel yang setiap entrinya berisi fungsi linier, dengan konstanta dan koefisien yang dibangkitkan oleh CSPRNG chaos dari input kunci. Kekuatan dari s-box fleksibel terlihat ketika perubahan masukan kunci (walaupun berbeda 1 bit) akan meng- hasilkan s-box yang berbeda. Selain itu, inputan nilai dataset yang sama akan membuat keluaran yang berbeda, sehingga s-box fleksibel bersifat satu-ke-banyak Hasil penelitian membuktikan bahwa keamanan uji Avalanche Effect pada algoritma memberi hasil yang lebih baik dari Twofish walaupun masih di bawah DES [6].

Berbeda dengan penelitian sebelumnya yang telah dipaparkan diatas, Michell Setyawati Handaka melakukan analisis AES Rijndael terhadap DES. Sebagaimana algoritma kripto- grafi modern yang tidak merahasiakan algoritmanya, kerahasiaan Rijndael hanyalah terletak pada kunci. Struktur yang bagaimana yang dapat menawarkan tingkat keamanan yang ting- gi dengan kondisi bahwa struktur tersebut umum diketahui karena dijadikan standar, dan mengapa struktur tersebut aman? Untuk menjawabnya, dilakukan analisis terhadap struk- tur algoritma Rijndael yang telah distandarisasi menjadi AES. Hasil Analisis menunjukkan Rijndael tergolong sebagai yang terlemah di antara kelima kandidat AES akan tetapi me- rupakan yang paling baik dalam segi kompleksitas waktu dan ruang karena sifatnya yang sederhana. Sementara itu dikatakan DES menurunkan jumlah bit kunci untuk mengejar implementasi yang mangkus dan sangkir pada sepotong chip. Sehingga penelitian ini me- nyimpulkan tingkat keamanan kriptografi modern berbasis block dengan karakteristik kunci simetri terletak pada panjang kunci yang digunakan. Untuk kriptografi komersil, performan- si juga harus diperhitungkan tetapi tidak boleh menekan tingkat keamanan. Jika tingkat keamanan yang ditawarkan tidak berbeda jauh, algoritma yang paling cepat secara praktis, selain terbukti kokoh secara teoritis, akan menjadi pilihan yang lebih diutamakan [7].

2.2 Subtitusion-Box

Perancangan subtitusi s-box harus di buat sedemikian hingga kekuatan kriptografinya bagus dan mudah diimplementasikan. Ada empat cara (pendekatan) yang dapat digunakan dalam mengisi setiap entri dalam s-box [8].

(3)

1. Dipilih secara acak: Untuk s-box yang kecil, cara pengisian secara acak tidak aman, namun untuk s-box yang ukuran besar cara ini cukup bagus.

2. Dipilih secara acak lalu di uji: Sama seperti cara (1), namun nilai acak yang diabng- kitkan diuji apakah memenuhi sifat tertentu.

3. Man-made: Entry di dalam s-box dibangkitkan dengan tektik yang lebih intuitif.

4. Math-made: Entry dalam s-box dibangkitkan berdasarkan prinsip matematika yang terbukti aman dari serangan kriptanalisis.

2.3 Metode CSPNRG Berbasis Chaos

Metode CSPNRG Chaos berasal dari teori sistem yang memperlihatkan kemunculan yang tidak teratur, meskipun sebenarnya teori ini digunakan untuk menjelaskan kemunculan data acak. Penemu teori chaos adalah seorang ahli meterologi, Edward Lorentz, pada tahun 1960 ketika ia membuat model perkiraan cuaca, fungsi tersebut adalah f(x) = rx(1−x), yang dapat dinyatakan dalam bentuk persamaan di bawah ini [6]:

f(x) = rx(1−x) (1)

Chaos dipakai sebagai CPSNRG karena mempunyai efek sayap kupu-kupu (butterfly effect) karena pergantian kecil pada nilai masukan berakibat terjadi pergantian yang sangat signi- fikan pada nilai keluaran

2.4 Fungsi Linear dan Invers

Fungsi linier y dari x akan menghasilkan grafik fungsi dari sebuah garis dengan m sebagai kemiringan dan b sebagai intersebnya [9].

f(x) =ax+b (2)

Untuk perancangan dari invers s-box digunakan invers dari fungsi linier yang secara umum diberikan pada Persamaan.

f−1(x) = (x−b)/a (3)

2.4.1 Nilai Korelasi

Dalam melihat hubungan antar variabel bebas (x) dan variabel tidak bebas (y) digunakan uji korelasi yang persamaannya sebagai berikut:

r= n·P

xy−P xP

y p(n·P

x2−(P

x)2)·(nP

y2−(P

y)2) (4)

Batasan interval dari korelasi −1 ≤ r ≤ 1, tetapi baiknya untuk kriptografi mendekati 0, entah dari sisi kiri (negatif ) maupun dari sisi kanan (positif ). Dalam kondisi ini nilai korelasi negatif dapat langsung di-mutlak-an, karena yang dilihat hanya seberapa jauh dari 0, dan nilai negatif tidak terlalu memberikan pengaruh. Nilai korelasi dari plainteks-cipherteks

(4)

memberikan informasi secara statistika, sehingga Tabel 1 dapat dijaikan acuan untuk melihat kekuatan algoritma dalam menyembunyikan informasi [10].

Tabel 1: Tingkat Hubungan Nilai Korelasi Interval Koefisien Tingkat Hubungan

0.00 - 0.19 Sangat Rendah

0.20 - 0.39 Rendah

0.40 - 0.59 Cukup

0.60 - 0.79 Kuat

0.80 - 1.00 Sangat Kuat

3 Metode Penelitian

Bagian ini membahas tentang langkah-langkah (tahapan) yang dilakukan untuk menyelesa- ikan permasalahan penelitian. Secara lengkap tahapan, yaitu: (1) Identifikasi Masalah, (2) Pengumpulan Data, (3) Perancangan Kriptografi, (4) Pengujian Statistik, (5) Penulisan Laporan.

Identifikasi Masalah dan Studi Literatur

Perencanaan Penelitian

Pelaksanaan Penelitian (Perancangan Algoritma)

Pengujian & Analisis Hasil

Penulisan Laporan

Gambar 1: Skema Alur Penelitian

Tahapan penilitian di atas dapat dijelaskan sebagai berikut: Tahapan pertama: identifi- kasi masalah merupakan tahap awal penelitian yang menjadi kerangka berpikir awal. Iden- tifikasi masalah dilakukan untuk melihat masalah-masalah kriptografi yang akan menjadi acuan penelitian. Tahapan Kedua: pengumpulan data dilakukan setelah mengetahui masa- lah penelitian. Data yang dikumpulkan akan menjadi panduan untuk menyelesaikan masalah dalam penelitian ini. Tahapan Ketiga: tahapan perancangan kriptografi merupakan tahapan dimana proses pembuatan S-Box statis maupun fleksibel. Tahapan keempat: dalam tahapan pengujian statistik akan dilakukan pengujian korelasi dan error pada S-Box yang telah dibuat.

Pengujian statistik akan dipengaruhi oleh perancangan kriptografi yang telah dibuat. Tahap- an Kelima: tahapan penulisan laporan merupakan tahapan terakhir dalam penelitian ini,

(5)

dalam tahapan ini dilakukan penulisan laporan penelitian yang berisi hasil dari perancangan kriptografi.

input kunci

pembangkit bilangan acak

random test

bilangan acak terpilih

proses s-box fleksibel

plainteks Y

N

Gambar 2: Proses Penelitian

Dalam langkah-langkah penelitian ini telah dijelaskan bahwa dalam paragraf di atas.

Langkah yang paling penting adalah langkah keempat, yaitu pengujian statistik. Perancang- an kriptografi ini dilakukan untuk melakukan perbandingan s-box statis dan fleksibel dengan melihat error dan korelasi dari setiap contoh masukan plaintext dan kunci.

4 Hasil dan Pembahasan

Perancangan kriptografi ini dilakukan untuk melihat perbandingan s-box fungsi linear statis dan fleksibel dengan menggunakan perbandingan statistik. Dalam perancangan ini kunci yang digunakan adalah pembangkit bilangan acak.

Tabel 2: Contoh inputan kunci yang dimasukan

1 2 3 4 5 6 7 8

F A K U L T A S

70 65 75 85 76 84 65 83

Pada gambar di atas terlihat inputan kunci yang dimasukkan adalah FAKULTAS, kemu- dian kunci akan dimasukkan pada pembangkit bilangan acak dengan mencari nilai rata-rata dari setiap kode karakter huruf pada kunci yang dimasukkan. Untuk contoh inputan kunci

“FAKULTAS” memiliki nilai rata-rata “0.034060099”. Setelah mengetahui nilai rata-rata pada kunci yang dimasukkan maka nilai rata-rata tersebut akan menjadi nilaix0 untuk tabel pembangkit bilangan acak, dan x0 ditentukan dari awal yaitu dengan angka 1.1. Pembangkit bilangan acak pada penelitian ini dibuat sampai x200.

(6)

Tabel 3: Perhitungan Pembangkit Bilangan Acak denganx0= 1.1

i xi bil-1 bil-2 bil-3 bil-4 bil-5

1 0.943333333333334 433 333 333 333 340

2 0.518766666666667 187 666 666 666 670

3 −0.385036701111110 850 367 011 111 100

4 −1.108437872871550 108 437 872 871 550

5 −0.510324063898365 103 240 638 983 650

6 −1.079785392405170 079 785 392 405 170

7 −0.553920434618530 539 204 346 185 300

8 −1.062452441857710 062 452 441 857 710

9 −0.579496436695736 794 964 366 957 360

10 −1.050514837654100 050 514 837 654 100

0 50 100 150 200

−300

−200

−100 0

i xi

fungsi iterasi

0 100 200

0 200 400 600 800 1,000

i xi

bil-1

0 100 200

0 200 400 600 800 1,000

i xi

bil-2

0 100 200

0 200 400 600 800 1,000

i xi

bil-3

0 100 200

0 200 400 600 800 1,000

i xi

bil-4

0 100 200

0 200 400 600 800 1,000

i xi

bil-5

Gambar 3: Scatter Plot 200 Iterasi Pertama dengan x0 = 1.1 4.1 Rancangan S-Box Fleksibel.

S-box fleksibel yang dimaksud adalah proses subtitusi pada sebuah kotak dimana luaran ni- lai pada masing-masing kotak dapat berbeda berdasarkan kunci inputan. S-box yang ada sebelumnya seperti yang digunakan AES atau algoritma kriptografi yang lain adalah statis.

Pengertian statis disini adalah nilai s-box akan tetap dan tidak punya pengaruh terhadap per- ubahan kunci. Algortima yang akan dirancang, menggunankan asumsi perubahan nilai pada s-box akan mempersulit kriptanalisis untuk dapat menentukan pola, sehingga memudahkan dalam proses pemecahan algortima walaupun tidak memiliki kunci.

fij(x) = aij +bijx (5)

Rancangan awal dari diberikan pada Gambar 4, dimana s-box menerima inputan da- ri bilngan acak yang dihasilkan oleh CSPNRG chaos. S-box yang dirancang menggunak-

(7)

an fungsi linier dimana setiap entri kotak ditempati satu buah fungsi linier. Setiap fung- si sebagai entri pada s-box membutuhkan nilai koefisien (bij) dan konstanta (aij) dimana i = 1,2,· · · , m dan j = 1,2,· · · , n. Algoritma kunci yang secara umum diberikan pada Persamaan 5.

Tabel 4: S-Box Fleksibel denganm×n f11(x) f12(x) · · · f1n(x) f21(x) f22(x) · · · f2n(x)

... ... . .. ...

fm1(x) fm2(x) · · · fmn(x)

Penyusunan tiap-tiap fungsi dalam s-box diperlihatkan pada Tabel 4. Penentuan banyak m dan n dapat sesuaikan dengan ukuran block pada kriptografi. Misalkan kriptografi dalam ukuran 128 bit atau ekivalen dengan 16 byte, sehingga diperoleh 16 bilangan desimal maka s-box mampu dilakukan dengan m=n = 4, atau mampu juga digunakan m= 8 dan n = 2 atau sebaliknya m = 2 dan n = 8.

S-box yang dirancang tetap menerima inputan sebuah bilangan dan menghasilkan sebuah bilangan. Fleksibel yang dimaksud adalah, ketika kunci diubah maka nilai konstanta dan koefisien juga secara otomatis juga ikut berubah. Tabel 5 adalah s-box yang dihasilkan dari kunci “jam 9 pm”, apabila kunci diubah sebuah bit sehingga menjadi “jam 9 pn” (dimana m = 01101101 ≈ 109, n = 01101110 ≈ 110), menghasilkan s-box dengan konstanta dan koefisien berbeda.

Tabel 5: Perancangan S-box Fleksibel dengan Kunci “jam 9 pm”

f11(x) = 745x+ 613 f12(x) = 183x+ 376 f13(x) = 706x+ 218 f14(x) = 040x+ 729 f21(x) = 098x+ 584 f22(x) = 947x+ 801 f23(x) = 979x+ 011 f24(x) = 042x+ 256 f31(x) = 515x+ 432 f32(x) = 763x+ 301 f33(x) = 944x+ 553 f34(x) = 742x+ 525 f41(x) = 409x+ 842 f42(x) = 333x+ 626 f43(x) = 982x+ 237 f44(x) = 071x+ 035

Inputan dari sebuah bilangan dan menghasilkan sebuah bilangan. Fleksibel yang dimak- sud adalah, ketika kunci diubah maka nilai konstanta dan koefisien juga secara otomatis juga ikut berubah. Tabel 6 adalah s-box yang dihasilkan dari kunci “jam 9 pm”, apabila kunci diu- bah sebuah bit sehingga menjadi “jam 9 pn” (dimana m= 01101101≈109, n = 01101110≈ 110), menghasilkan s-box dengan konstanta dan koefisien berbeda sangat signifikan.

Tabel 6: Perancangan S-box Fleksibel dengan Kunci “jam 9 pn”

f11(x) = 745x+ 613 f12(x) = 183x+ 376 f13(x) = 706x+ 218 f14(x) = 040x+ 729 f21(x) = 098x+ 584 f22(x) = 947x+ 801 f23(x) = 979x+ 011 f24(x) = 042x+ 256 f31(x) = 515x+ 432 f32(x) = 763x+ 301 f33(x) = 944x+ 553 f34(x) = 742x+ 525 f41(x) = 409x+ 842 f42(x) = 333x+ 626 f43(x) = 982x+ 237 f44(x) = 071x+ 035

Fleksibelnya sebuah s-box yang ditentukan dari perubahan kunci yang di-input sangat menentukan non liniernya sebuah relasi input dan output. Perubahan kecil yang terjadi se-

(8)

perti yang dilakukan pada inputan kunci mendatangkan perubahan yang berbeda pada s-box.

Perubahan 1 bit ini dapat diketahui bahwa bilangan acak CSPNRG chaos yang dihasilkan mempunyai sifat efek sayap kupu-kupu (butterfly effect), sehingga bilangan acak yang diha- silkan mempunyai sifat difusi dari prinsip Shannon. Kekuatan dari pembangkitan bilangan acak tentu akan memberikan dampak yang sangat besar dari sisi kekuatan algoritma, karena konstantan dan koefiseian secara otomatis ikut berubah. Bagian selanjutnya mambahas ke- kuatan dari s-box fleksibel terutama dalam menerima nilai inputan dan menghasilkan output yang dilihat secara grafik Cartesius.

4.2 Pengujian S-Box Fleksibel

Pengujain s-box fleksibel yang pertama adalah mencoba dengan inputan yang sama yaitu inputan karakter Z sebanyak delapan karakter. Pengujian karakter yang sama dilakukan karena hanya dengan s-box fleksibel yang dapat mengakomodasi perubahan output apabila nilai yang diinputkan sama. Untuk melihat kekuatan dari s-box fleksibel maka di uji dua s-box, hasil pengujian dari kedua s-box diberikan pada Gambar 4.

Pengujian dilkukan dengan menggunakan dua s-box, walaupun hanya perubahan 1 bit nilai output yang diperoleh sangat berbeda.

0 5 10 15

0 100 200

karakter ke-i

nilaiASCII

input output s-box, kunci “jam 9pm”

0 5 10 15

0 100 200

karakter ke-i

nilaiASCII

input output s-box, kunci “jam 9pn”

Gambar 4: S-box Fleksibel dengan Input “ZZZZZZZZZZZZZZZZ”

Kedua s-box dengan perubahan 1 bit pada kunci, dapat menghasilkan output yang sangat berbeda. Kekuatan s-box fleksibel memberikan efek difusi pada inputan. Kekuatan difusi ini melajutkan dari kekuatan difusi seblumnya yang telah diperoleh pada pembangkitan kunci.

Kekuatan ini akan akan meningkatkan kekuatan algoritma dalam menahan penyerangan dari kriptanalisis dalam melihat hubungan antara plainteks dan cipherteks.

0 5 10 15

0 100 200

karakter ke-i

nilaiASCII

input output s-box, kunci “jam 9pm”

0 5 10 15

0 100 200

karakter ke-i

nilaiASCII

input output s-box, kunci “jam 9pn”

Gambar 5: Pengujian S-Box Fleksibel dengan Input “20-juli 2016”

(9)

Gambar 5 adalah pengujian kedua terhadap s-box fleksibel dilakukan dengan menggunakan input gabungan angka, huruf dan simbol. Pengujian kedua dilakukan untuk melihat kekuatan algoritma terhadap macam-macam inputan. Grafik yang diperoleh memberikan informasi bahwa kedua s-box luar biasa dalam melakukan proses subtitusi. Hal ini kita bisa lihat pada relasi antara input dan output tdak dalam relasi satu-ke-satu. Kedua s-box juga dapat memberikan hasil berbeda pada kunci walaupun hanya mengubah sebuah bit, sehingga inputan yang bermacam-macam nilai output yang dihasilkan juga tetap berbeda.

Pengujian statistik secara yang dilakukan menggunakan nilai korelasi, dimana dapat me- lihat seberapa kuat hubungan antara variabel input (X) dan ouput (Y). Keterhubungan dua variabel apabila mendekati 1atau −1, maka keterhungan sangat kuat dengan berbanding lu- rus atau berbanding terbalik. Sebaliknya apabila mendekati 0 maka keterhubungannya sangat lemah. Nilai korelasi untuk pengujian untuk s-box (dengan kunci “jam 9 pm”) sebesar0.056, sedangkan untuk s-box (dengan kunci “jam 9 pn”) diperoleh −0.183. Analisa kuantitatif ter- hadap nilai korelasi yang dihasilkan dari kedua s-box sangat jelas menujukkan bahwa input dan output berhubungan sangat lemah atau bahkan sangat tidak berhubungan.

Hasil ini yang telah dicapai dari rancangan s-box fleksibel, secara algoritma dapat meng- hilangakan hubungan secara statistik antara input dan output. Konsistennya s-box yang dirancang terhadap dua nilai inputan menujukan secara algoritma kekuatan fleksibel dari sebuah proses subtitusi telah berhasil dilakukan.

4.3 Pengujian Block Cipher 128 bit

Pengujian s-box fleksibel 128 bit sebagai sebuah proses subtitusi pada block cipher akan dilihat berdasarkan perbedaan histogram antara plainteks dan cipherteks. Sebagai sebuah kriptografi sangat dimungkinkan untuk setiap user mengamankan pesan dengan variasi karakter, oleh karena itu pengujian juga dilakukan dengan dengan memperhatian variasi plainteks. Pe- ngujian yang pertama adalah plainteks “FTI UKSW”, pilihan ini digunakan karena user biasanya hanya mengirim pesan dalam karakter abjad saja. Hasil yang diperoleh diberikan di Gambar 5.16, nampak frekuensi hanya berkisar di nilai 65 sampai 90 untuk karakter “A”

dan “Z” seperti pada plainteks “FTI UKSW”.

5.5 Pengujian Block Cipher 128 bit

Pengujian s-box fleksibel sebagai sebuah proses subtitusi pada block cipher akan dilihat berdasarkan perbedaan histogram antara plainteks dan cipherteks. Sebagai sebuah kriptografi sangat dimungkinkan untuk setiap user mengamankan pesan dengan variasi karakter, oleh karena itu pengujian juga dilakukan dengan dengan memperhatian variasi plainteks. Pengujian yang pertama adalah plainteks “FTI UKSW”, pilihan ini digunakan karena user biasanya hanya mengirim pesan dalam karakter abjad saja. Hasil yang diperoleh diberikan di Gambar 5.16, nampak frekuensi hanya berkisar di nilai 65 sampai 90 untuk karakter “A” dan “Z” seperti pada plainteks “FTI UKSW”.

Gambar 5.16 Histogram untuk Plainteks “FTI UKSW”

Histogram plainteks pada Gambar 5.16, tampak berbeda hanya pada karakter 1 sampai 8, karena 9 sampai 16 adalah padding dengan spasi yang ekuivalen dengan angka 32, sehingga nampak mempunyai frkuensi yang sama. Bila dilihat berdasarkan nilai frekuensi antara hostogram plainteks dan cipherteks nampak berbeda, selain itu juga algoritma yang dirancang dapat membuat keduanya tidak berhubungan secara linier. Hubungan linier yang dimaksud adalah, ketika sebuah nilai pada plainteks menghasilkan nilai tertentu di cipherteks diketahui polanya dengan memperhatikan bilangan yang berikutnya, sehingga penebakan secara langsung.

Pengujian yang lain, dengan menghitung nilai korelasi antara plainteks dan cipherteks. Nilai korelasi digunakan untuk melihat hubungan antara kedua variabel. Dalam hal ini variabel bebas adalah plainteks dan variabel tak bebas adalah plainteks. Nilai korelasi yang diperoleh akan memberikan informasi secara statistika, apakah plainteks dan cipherteks mempunyai hubungan yang kuat, atau lemah, atau tidak berhungan. Walaupun secara teori, korelasi perlu dilihat apakah hubungan kedua varibel berlangsung secara positif atau negatif, tetapi dalam pengujian kriptografi tidak memperhatikan faktor tersebut. Data penting dari korelasi adalah apakah nilainya mendekati 0 (entah mendekati secara negatif atau positif) maka algoritma dapat menyamarkan plainteks.

Sebaliknya apabila mendekati 1 atau -1, maka algoritma dapat dikatakan gagal dan perlu untuk merancang kembali.

Nilai korelasi yang diperoleh pada oleh plainteks “FTI UKSW” adalah -0,36, berdasarkan Tabel 2.2 sebagai penentuan tingkat hubungan nilai korelasi berada pada kategori ‘rendah’ dan hal

Plainteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

Cipherteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

Gambar 6: Histogram pada Plainteks “FTI UKSW”

Histogram plainteks pada Gambar 6, tampak berbeda hanya pada karakter 1 sampai 8, karena 9 sampai 16 adalah padding dengan spasi yang ekuivalen dengan angka 32, sehingga nampak mempunyai frkuensi yang sama. Bila dilihat berdasarkan nilai frekuensi antara hos- togram plainteks dan cipherteks nampak berbeda, selain itu juga algoritma yang dirancang dapat membuat keduanya tidak berhubungan secara linier. Hubungan linier yang dimaksud

11

(10)

adalah, ketika sebuah nilai pada plainteks menghasilkan nilai tertentu di cipherteks dike- tahui polanya dengan memperhatikan bilangan yang berikutnya, sehingga penebakan secara langsung.

Pengujian yang lain, dengan menghitung nilai korelasi antara plainteks dan cipherteks.

Nilai korelasi digunakan untuk melihat hubungan antara kedua variabel. Dalam hal ini va- riabel bebas adalah plainteks dan variabel tak bebas adalah plainteks. Nilai korelasi yang di- peroleh akan memberikan informasi secara statistika, apakah plainteks dan cipherteks mem- punyai hubungan yang kuat, atau lemah, atau tidak berhungan. Walaupun secara teori, korelasi perlu dilihat apakah hubungan kedua varibel berlangsung secara positif atau negatif, tetapi dalam pengujian kriptografi tidak memperhatikan faktor tersebut. Data penting dari korelasi adalah apakah nilainya mendekati 0 (entah mendekati secara negatif atau positif ) maka algoritma dapat menyamarkan plainteks. Sebaliknya apabila mendekati 1 atau −1, maka algoritma dapat dikatakan gagal dan perlu untuk merancang kembali.

Nilai korelasi yang diperoleh pada oleh plainteks “FTI UKSW” adalah −0.36, berdasark- an Tabel 1 sebagai penentuan tingkat hubungan nilai korelasi berada pada kategori ‘rendah’

dan hal ini menujukkan bahwa algoritma yang dirancang dapat menyamarkan pesan, dan membuat plainteks dan cipherteks tidak berhubungan secara statistik.

ini menujukkan bahwa algoritma yang dirancang dapat menyamarkan pesan, dan membuat plainteks dan cipherteks tidak berhubungan secara statistik.

Pengujian yang kedua adalah dengan menggunakan plainteks yang sama yaitu karakter Z sebanyak 16. Penggunaan nilai inputan Z sudah digunakan oleh pengujian sebelumnya, pengujian ini diperlukan karena secara bit ‘01011010’ adalah simetris. Pengertian simetris disini akan teruji pada proses tranposisi, karena digunakan kotak 8 x 8 maka proses akan tidak memberikan hasil yang baik apabila karakter yang di input adalah Z semua.

Gambar 5.17 Histogram untuk Plainteks “ZZZZZZZZZZZZZZZZ”

Pengujian Z merupakan hal penting yang perlu dilakukan karena secara visual akan teruji apakah dengan plainteks yang sama akan menghasilkan nilai yang sama atau tidak. Kondisi ini juga dapat digunakan untuk melihat hubungan satu-ke-satu, karena plainteks sudah mempunyai pola yang berupa nilai konstan. Apabila cipherteks memberikan pola maka dapat katakan mempunyai hubungan satu-ke-satu sehingga akan memudahkan penebakan secara langsung, walaupun tidak mengetahui kunci.

Gambar 5.18 Histogram untuk Plainteks “@20-juli_2016”

Nilai korelasi untuk pengujian Z tidak dapat dilakukan, karena untuk nilai yang sama pada Persamaan 2.7 untuk ordinat akan menghasilkan nilai 0. Secara matematika pembagian terhadap 0 menjadi tidak terdefenisi. Tidak dapat dihitung secara korelasi bukan berarti algortima yang

Plainteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

Cipherteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

Plainteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

Cipherteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

24

Gambar 7: Histogram pada Plainteks “ZZZZZZZZZZZZZZZZ”

Pengujian yang kedua adalah dengan menggunakan plainteks yang sama yaitu karakter Z sebanyak 16. Penggunaan nilai inputan Z sudah digunakan oleh pengujian sebelumnya, pengujian ini diperlukan karena secara bit ‘01011010’ adalah simetris. Pengertian simetris disini akan teruji pada proses tranposisi, karena digunakan kotak 8×8 maka proses akan tidak memberikan hasil yang baik apabila karakter yang di input adalah Z semua.

Pengujian Z yang diberikan pada Gambar 7, merupakan hal penting yang perlu dilakukan karena secara visual akan teruji apakah dengan plainteks yang sama akan menghasilkan nilai yang sama atau tidak. Kondisi ini juga dapat digunakan untuk melihat hubungan satu-ke-satu, karena plainteks sudah mempunyai pola yang berupa nilai konstan. Apabila cipherteks memberikan pola maka dapat katakan mempunyai hubungan satu-ke-satu sehingga akan memudahkan penebakan secara langsung, walaupun tidak mengetahui kunci.

Nilai korelasi untuk pengujian Z tidak dapat dilakukan, karena untuk nilai yang sama pada Persamaan 4 untuk ordinat akan menghasilkan nilai 0. Secara matematika pembagian terhadap 0 menjadi tidak terdefenisi. Tidak dapat dihitung secara korelasi bukan berar- ti algortima yang dirancang tidak dapat melakukan proses dengan baik, bahkan sebaliknya walaupun diberikan input yang sama, tetapi cipherteksnya sangat bervariasi.

Pengujian yang teakhir adalah plainteks yang dipilih dari kombinasi karakter, angka, dan simbol, “20-juli 2016”. Hasil pengujian diberikan pada Gambar 8. Secara prinsip hampir

(11)

sama dengan pengujian palinteks sebelumnya, hanya saja ruang domain yang diperbesar.

Hasil yang diamati adalah bagaimana hubungan antara kedua variabel, histogram yang diha- silkan juga nampak tidak ada relasi secara langsung. Diperoleh nilai korelasi adalah −0.22, sehingga berada pada kategori ‘rendah’ juga.

ini menujukkan bahwa algoritma yang dirancang dapat menyamarkan pesan, dan membuat plainteks dan cipherteks tidak berhubungan secara statistik.

Pengujian yang kedua adalah dengan menggunakan plainteks yang sama yaitu karakter Z sebanyak 16. Penggunaan nilai inputan Z sudah digunakan oleh pengujian sebelumnya, pengujian ini diperlukan karena secara bit ‘01011010’ adalah simetris. Pengertian simetris disini akan teruji pada proses tranposisi, karena digunakan kotak 8 x 8 maka proses akan tidak memberikan hasil yang baik apabila karakter yang di input adalah Z semua.

Gambar 5.17 Histogram untuk Plainteks “ZZZZZZZZZZZZZZZZ”

Pengujian Z merupakan hal penting yang perlu dilakukan karena secara visual akan teruji apakah dengan plainteks yang sama akan menghasilkan nilai yang sama atau tidak. Kondisi ini juga dapat digunakan untuk melihat hubungan satu-ke-satu, karena plainteks sudah mempunyai pola yang berupa nilai konstan. Apabila cipherteks memberikan pola maka dapat katakan mempunyai hubungan satu-ke-satu sehingga akan memudahkan penebakan secara langsung, walaupun tidak mengetahui kunci.

Gambar 5.18 Histogram untuk Plainteks “@20-juli_2016”

Nilai korelasi untuk pengujian Z tidak dapat dilakukan, karena untuk nilai yang sama pada Persamaan 2.7 untuk ordinat akan menghasilkan nilai 0. Secara matematika pembagian terhadap 0 menjadi tidak terdefenisi. Tidak dapat dihitung secara korelasi bukan berarti algortima yang

Plainteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

Cipherteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

Plainteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

Cipherteks

Nilai ASCII

0 64 128 192 256

karakter ke-i

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

24

Gambar 8: Histogram pada Plainteks “20-juli 2016”

Ketiga pengujian yang dilakukan menujukkan bahwa algoritma block cipher yang diran- cang dapat membaut plainteks dan cipherteks berhungan ‘rendah’ secara statistika. Selain itu dengan perbedaan plainteks yang di input dengan cipherteks yang sangat bervariasi, sehingga menunjang simpulan sebelumnya bahwa algoritma yang dirancang dapat dijadikan alternatif pengamanan sebuah pesan.

5 Kesimpulan 5.1 Simpulan

Rancangan s-box fleksibel yang kemudian dilakukan perancangan kriptografi block cipher se- bagai sebuah proses subtitusi dapat dilakukan dan teruji secara teoritik. Terdapat beberapa simpulan yang dapat diambil dari penelitian yang diuraikan dari beberapa paragraf berikut ini.

Pembangkitan bilangan CPSNRG chaos dapat memberikan bilangan acak yang tidak sama sebagai kunci, dan sangat sensitif terhadap perubahan nilai inputan kunci pertama. Bahkan dengan perubahan 1 bit aja menghasilkan bilangan acak yang sangat berbeda. Pengujian terpisah dalam pembangkitan 1000 bilangan tidak terdapat modus dari dataset yang ada, hal ini menujukkan kekuatan algoritma yang dirancang sehingga dapat membangkitkan banyak bilangan berbeda, dan sensitif terhadap perubahan 1 bit pada input.

S-box fleksbel berhasil dirancang dengan pengambilan konstanta dan koefisien fungsi li- nier dari bilangan acak memberikan kekuatan subtitusi dengan baik, hal ini bisa kita lihat pada pengujian berdasarkan nilai korelasi antara inputan dan output berhasil membuat kedua variabel uji tidak berkaitan secara statistika walaupun perubahan input yang kecil. Dengan berhasil merancang s-box fleksibel maka terpenuhi sebuah prinsip block cipher yaitu s-box yang diharuskan dalam merancang block cipher.

Kekuatan fleksibel dari s-box bisa dilihat ketika perubahan input kunci (walaupun peru- bahan 1 bit), secara otomais akan menciptakan s-box yang berbeda. Fleksibelnya s-box sedang berlanjut ketika dilakukan sebuah proses putaran dengan input yang sama, s-box akan tetap berbeda untuk setiap putarannya. Keberadaan ini tidak terdapat pada kriptografi lainnya, yang menggunakan s-box yang sama pada setiap prosesnya. Kekuatan s-box fleksibel da- pat terlihat juga apabila dibandingakan dengan s-box lain apabila dilakukan pengujian secara

(12)

terpisah berdasarkan nilai input. Apabila input nilai yang sama, maka s-box statis akan memberikan nilai yang sama juga, karena bersifat satu-ke-satu. Sebaliknya pada s-box flek- sibel bersifat satu-ke-banyak, akan memberikan output berbeda walaupun input yang diberikan sama.

Kemampuan algoritma s-box fleksibel dan juga algoritma kriptografi block cipher dapat memberikan kekuatan konfusi-difusi karena perubahan yang kecil pada nilai input/plainteks memberikan dampak yang sangat besar di output/cipherteks, sehingga secara algoritma block cipher telah memenuhi salah prinsip block cipher yaitu Prinsip Shannon. Selain itu juga prinsip block cipher lain yang sudah dipenuhi adalah Iterated Cipher. Algoritma dirancang dengan n-putaran disarankan n ¿ 5, dan banyak kebutuhan 46n bilangan acak.

Secara keseluruhan setelah algoritma block cipher, maka dilakukan pengujian dengan algoritma lain dalam proses enkripsi dan dilihat berdasarkan pengujian Avalanche Effect.

Dengan mengambil n = 15 putaran, dan menggunakan 690 bilagan acak diperoleh rancangan kriptografi memberikan hasil lebih baik dari algoritma kriptografi Twofish walaupun masih dibawah dari DES.

5.2 Saran Penelitian Berikutnya

Setelah diberikan simpulan dari penelitian yang dilakukan maka selanjutnya adalah saran da- ri penelitian, sehingga kedepan dapat dilakukan penenelitian lanjutan guna melengkapi atau memperbaiki rancangan algoritma ini. Saran pertama adalah terkait dengan prinsip block cipher yang perlu untuk dikaji lebih dalam, terutama pada prinsip jaringan Fiestel (Fiestel Network) dan kunci lemah (weak key). Saran yang kedua adalah pengujian kriptanalisis untuk menguji kekuatan algoritma dari beberapa teknik penyerangan, sehingga eksistensi se- buah algoritma pengamanan pesan dapat tercapai. Saran yang terakhir adalah implementasi pada dunia nyata, seperti pada mobile phone sebagai pengamanan informasi, atau juga pada instansi tertentu terutama dalam hal pengamanan informasi.

Daftar Pustaka

[1] Yopeng, M. R, & Wowor, A. D., The Implementation of f(x) = 3(x3 −x2 −x) + 2 as CSPRNG Chaos-Based Random Number Generator, Indonesian Journal on Com- puting, Vol. 6, No. 1, pp (41-52), 2021.

[2] Cui J., Huang, L., Hong Z., Chang, C. & Yang, W., An Improved AES S-Box and ITS Performance Analysis, International Journal of Innovative Computing, Information and Control, Vol. 7, No. 5, pp (2291-2302), 2011.

[3] Ramadhanus, A., & Firdaus, F., Blackfish: Block Cipher dengan Key-Dependent S-Box dan P-Box , STIE ITB, 2015.

[4] Pahrul Irfan & Yudi Prayudi, Penggabungan Algoritma Chaos dan Rivers Shamir Adleman (RSA) Untuk Peningkatan Keamanan Citra, Seminar Nasional Aplikasi Tek- nologi Informasi, 2015.

[5] M. Zaki Riyanto, Suatu Algoritma Kriptografi Simetris Berdasarkan Jaringan Substitusi-Permutasi dan Fungsi Affine atas Ring KomutatifZn, Seminar Nasional Ma-

Referensi

Dokumen terkait