Anda di halaman 1dari 9

Kompilasi Entri Bilangan Pada Mantissa Luaran

Fungsi Logistik
(Suatu Kajian Pencarian Bilangan Acak Terbaik)

Artikel Ilmiah

Peneliti :
Frantya Pattipawae (672013160)
Alz Dany Wowor, S.Si., M.Cs

Program Studi Teknik Informatika


Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Oktober 2018
Kompilasi Entri Bilangan Pada Mantissa Luaran
Fungsi Logistik
(Suatu Kajian Pencarian Bilangan Acak Terbaik)

Artikel Ilmiah

Diajukan Kepada
Fakultas Teknologi Informasi
Untuk Memperoleh Gelar Sarjana Komputer

Peneliti :
Frantya Pattipawae (672013160)
Alz Dany Wowor, S.Si., M.Cs.

Program Studi Teknik Informatika


Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Oktober 2018
Kompilasi Entri Bilangan Pada Mantissa Luaran
Fungsi Logistik
(Suatu Kajian Pencarian Bilangan Acak Terbaik)
1
Frantya Pattipawae , 2Alz Danny Wowor
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Dr. O. Notohamidjojo 1-10, Salatiga 50711, Indonesia
Email: 672013160@student.uksw.edu, 2)alzdanny.wowor@staff.uksw.edu
1)

Abstract
1. Pendahuluan

Kunci sangat berperan penting dalam merancang sebuah kriptografi. Pada bidang kriptografi,
bilangan acak dibutuhkan untuk menghasilkan berbagai hal seperti menghasilkan kata kunci yang baik,
menghasilkan kunci pada algoritma kriptografi asimetrik/publik, membangkitkan vektor inisialisasi pada
hampir seluruh algoritma kriptografi dan lain-lain. Pembangkitan kunci pada setiap algoritma pun harus
benar-benar tersistematis dan aman sehingga kunci yang dihasilkan tidak mudah ditebak dan sulit untuk
dipecahkan. Untuk itu kunci yang dibangkitkan harus benar-benar acak.

Dalam rangka meningkatkan tingkat keamanan dalam algoritma kriptografi modern, digunakanlah
teori chaos. Teori chaos ini merupakan cabang dari matematika yang mempelajari bagaimana
membangkitkan bilangan secara acak. Teori chaos ini sangat sensitive pada nilai awal (initial condition),
artinya perubahan kecil pada nilai awal akan mengakibatkan perubahan besar pada nilai fungsinya.
Kepekaan ini berarti bahwa perbedaan kecil pada nilai awal fungsi, misalnya perubahan sebesar 10^-100.
Kemudian jika fungsi diiterasi sejumlah kali, maka akan menghasilkan perbedaan yang sangat besar pada
nilai fungsinya. Hal ini sangat berguna dan dapat diterapkan di dalam dunia kriptografi sebagai
pembangkit kunci acak yang nantinya akan diolah sebagai sarana dalam melakukan proses enkripsi.
Semakin acak bilangan yang dihasilkan, semakin baik pula tingkat keamanan dari suatu cipherteks.

Properti chaos yang paling bernilai bagi kriptografi adalah kepekaannya pada nilai awal.
Sebagaimana dijelaskan oleh Schneier [1], salah satu dari dua prinsip Shannon yang dijadikan panduan
dalam perancangan algoritma kriptografi adalah difusi (diffusion), yaitu menyebar pengaruh 1 bit (atau
digit) data (plainteks atau kunci) ke seluruh bit cipherteks dengan maksud untuk menyembunyikan
hubungan statistik antara plainteks dan cipherteks. Prinsip difusi ini relevan dengan properti chaos , sebab
jika nilai awal yang digunakan untuk membangkitkan nilai acak diubah sedikit, misalnya 1 bit lalu nilai-
nilai acak itu digunakan untuk mengenkripsi plainteks, maka cipherteks yang dihasilkan akan berbeda
secara signifikan. Sifat peka menjamin bahwa jika pihak lawan mencoba mendekripsi data dengan kondisi
awal berbeda dan mencari pola hubungan plainteks dan cipherteks, cara itu akan gagal [2].

Penelitian ini mencari pembangkit bilangan acak yang aman, dengan menggunakan sistem chaos
yang direpresentasikan oleh salah satu fungsi chaos yang sederhana yaitu persamaan logistik dengan
beberapa pengujian statistika uji korelasi dan uji keacakan yaitu uji Runs. Persamaan logistik merupakan
contoh pemetaan polinomial derajat dua, dan seringkali digunakan sebagai contoh bagaimana rumitnya
sifat chaos (kacau) yang dapat muncul dari suatu persamaan yang sangat sederhana. Tujuan dari penelitian
ini untuk menghasilkan bilangan yang benar-benar acak, tidak dapat diprediksi, dan tidak berulang.
2. Tinjauan Pustaka

1. Mantissa (Fungsi Pemotongan)

Mantissa adalah bagian dari floating point (nilai apung) yang menyatakan nilai suatu digit dalam
bilangan. Dalam penelitian ini, konversi nilai chaos ke integer dilakukan dengan menggunakan fungsi
pemotongan yang diusulkan oleh Lampton [3].

2. Fungsi Logistik

Fungsi logistik adalah salah satu fungsi yang memiliki karakteristik chaos [4], persamaan logistik ini
di dalam ekologi digunakan untuk mensimulasikan pertumbuhan populasi spesies. Fungsi logistik
memiliki persamaan yaitu f(x) = rx(1 – x), fungsi ini dapat dinyatakan dalam bentuk iteratif xi+1 = rxi (1
– xi). Dalam persamaan ini, x adalah populasi spesies pada interval waktu yang ditentukan dengan x0
adalah nilai awal iterasi. Daerah asal x adalah dari 0 sampai 1, yang dalam hal ini 1 menyatakan populasi
maksimum dan 0 menyatakan kepunahan, sedangkan 0 <= r <= 4. Konstanta r menyatakan laju
pertumbuhan.

3. Pembangkitan Bilangan Acak dengan Chaos

Kunci yang digunakan untuk me-mask plainteks dihasilkan dari konversi nilai chaos ke integer. Nilai-
nilai chaos dibangkitkan dari persamaan Logistic Map dengan mengambil konstanta r = 4.0. Normalnya,
nilai xi dihitung langsung dari nilai chaos sebelumnya, xi – 1. Ketika diketahui nilai xi dari barisan nilai
chaos, maka dapat menggunakan xi untuk membangkitkan xi + 1, xi + 2, …, yang selanjutnya digunakan
untuk mendekripsi cipherteks. Untuk menambah kekuatan algoritma, maka nilai xi dibangkitkan setelah
sejumlah iterasi tertentu.
Tujuannya adalah untuk menghilangkan korelasi antara nilai-nilai chaos yang berturutan. Jumlah
iterasi yang dibutuhkan untuk menghitung nilai chaos pertama, x1, ditentukan oleh nilai awal, x0. Nilai
awal ini dikonversi ke integer dengan algoritma yang sudah dijelaskan di atas, hasilnya adalah jumlah
iterasi yang diperlukan untuk mengiterasi persamaan Logistic Map. Nilai x yang diperoleh pada akhir
iterasi berlaku sebagai “x0” yang baru untuk menghitung x1. Untuk x2, x3, dan seterusnya, jumlah
iterasinya ditentukan dari jumlah iterasi untuk nilai chaos sebelumnya ditambah dengan size. Dengan cara
ini, dapat diketahui suatu nilai xi tertentu tidak mungkin dapat menghitung xi + 1 tanpa mengetahui jumlah
iterasi yang diperlukan untuk mengiterasi persamaan. Jumlah iterasi awal ditentukan oleh x0. Jadi, nilai
awal merupakan nilai yang sangat menentukan keamanan stream cipher dan terdapat jumlah tidak
berhingga nilai-nilai antara 0 dan 1. Fungsi chaos peka terhadap perubahan kecil pada nilai awal, sehingga
jika nilai awal yang dicoba pihak lawan sangat dekat dengan nilai awal yang digunakan untuk
mengenkripsi data, pihak lawan masih akan memperoleh keluaran yang salah.
4. Enkripsi plainteks dengan kunci

Enkripsi dikerjakan dengan menjumlahkan plainteks pi dan ki dalam modulo 256, seperti yang
dituliskan dalam persamaan berikut:

ci = (pi + ki) mod 256

Alasan pemilihan modulus 256 karena stream cipher mengenkripsi plainteks menjadi chiperteks satu
karakter (1 byte) setiap kali.

5. Uji Keacakan

Uji keacakan dilakukan dengan tujuan untuk mengetahui apakah runtutan barisan biner yang
dihasilkan pada setiap kunci internal acak atau tidak acak. Penelitian ini menggunakan satu uji dasar untuk
keacakan, yang umumnya digunakan untuk menentukan apakah suatu barisan biner memiliki karakteristik
seperti yang ditujukan oleh suatu barisan yang trully random (Alfred J. Menezes, dkk,.1996: 181-183)
[5]. Uji dasar untuk keacakan ini yaitu:

1. Run Test (uji runs)


Uji run test merupakan uji deret untuk melihat keacakan. Tujuan dari uji run test adalah untuk
mengetahui apakah dalam suatu data merupakan data acak, maka dari pengujian run test akan didapatkan
dua kemungkinan, yaitu jika data bersifat acak (random) terhadap median maka data tersebut homogen,
sedangkan jika data memiliki kecenderungan di atas atau di bawah median maka data tersebut tidak
homogen. Asumsi-asumsi data yang tersedia untuk uji run test dapat dikategorikan ke dalam dua
kelompok dengan r adalah banyaknya runtun, n1 adalah banyaknya data yang bernilai lebih atau di atas
median, sedangkan n2 adalah data yang bernilai kurang atau lebih kecil dari median [6].
Uji run dilakukan untuk mengetahui apakah jumlah runtun dalam barisan bit, baik runtun bit “0”
maupun “1”, dengan panjang yang bervariasi mempunyai jumlah yang sesuai dengan postulat keacakan
Golomb butir R2. Runs (n), di mana: n = panjang bit string, ε: adalah barisan bit-bit yang telah
dibangkitkan oleh uji RNG atau PRNG, e = ε1, ε1, . . . εn, Vn(obs) = total bilangan runs (yaitu total
bilangan nol runs ditambah dengan total bilangan satu-runs) jarak lintasan semua n bit-bit. Uji statistik
pada uji ini menggunakan distribusi frekuensi X2. Pengujian dilakukan dengan hitung pre-tes bagian π
satu dalam barisan input.
6. Korelasi

Korelasi merupakan salah satu nilai statistik yang digunakan untuk melihat hubungan antara variabel
bebas (x) dan tak bebas (y) yang bersifat kuantitatif. Persamaan korelasi diformulasikan sebagai berikut
[8]:

dengan ditentukan −1 ≤ r ≤ r dan interpretasi nilai korelasi ini didapat dan dirangkum pada tabel 1.

Tabel 1. Tingkat Hubungan Nilai Korelasi

Interval Nilai Kekuatan 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,0 Sangat Kuat

3. Metode Penelitian

Secara umum metode penelitian dilakukan dalam beberapa tahap yaitu ditunjukan pada Gambar 1.
Masing-masing tahapan merupakan alur dari rencana penelitian yang mengantarkan masalah penelitian
kepada tujuan penelitian.
Studi Literatur dan Pengumpulan Data

Analisis Perancangan dan Pengujian

Perancangan Sistem

Uji Kerandoman Bit dan Uji Korelasi

Simpulan dan Evaluasi

Gambar 1. Skema Tahapan Penelitian

 Melakukan studi literatur dan pengumpulan data dari beberapa sumber seperti buku dan internet
mengenai penelitian yang akan dilakukan.
 Melakukan analisis kebutuhan dalam perancangan pembangkitan kunci, pengujian kerandoman dan
entri bilangan pada mantissa.
 Melakukan perancangan pembangkitan kunci menggunakan fungsi logistik
 Melakukan pengujian pada setiap kunci yaitu uji kerandoman bit untuk mengetahui keacakan kunci,
uji korelasi untuk mengetahui kekuatan hubungan antar kunci dan uji korelasi untuk mengetahui
tingkat keamanan kunci.
 Membuat sebuah simpulan dan melakukan evaluasi dari penilitian yang dilakukan.

4. Hasil dan Pembahasan

Rancangan Penelitian

Pencarian ini bermula dari penghitungan fungsi logistik dengan parameter r = 4. Kemudian
memilih nilai inisialisasi x0 sebagai masukan dan menghitung nilai acak x dengan persamaan xi + 1 =
4xi (1-xi). Di mana Xi adalah variabel state, yang terletak di interval [0,1] dan 4 disebut sebagai parameter
sistem yang dapat memiliki nilai antara 1 dan 4. [7] Pencarian berikutnya yaitu fungsi pembangkit dari
polinomial yang dilakukan pada derajat-1, derajat-2, dan derajat-3. Setiap derajat fungsi yang terpilih
diubah menjadi fungsi iteratif menggunakan fixed point iteration (FPI), sehingga dapat dilakukan iterasi
untuk memperoleh luaran berupa bilangan yang dapat dijadikan sebagai kunci. [8]
Daftar Pustaka

[1] Schneier, B., (1996): Aplied Cryptography 2nd, John Wiley & Sons.
[2] Roskin, K., Casper, J., (1999): From Chaos to Cryptography.
[3] Lampton, J., (xxxx): Chaos Cryptography: Protecting Data Using Chaos, Mississippi School for
Mathematics and Science.
[4] Munir, Rinaldi, Kriptografi. Penerbit Informatika, 2007.
[5] Menezes Alfred J., Paul C. van Oorschot dan Scott A. Vanstone., 1996, Handbook of Applied
Cryptography, CRC Press, USA : 1996.
[6] W. Daniel, Wayne., (1989): Business Statistics: Basic Concepts and Methodology.
[7] Li, S., Mou, X. & Cai, Y. Pseudo-random bit generator based on couple chaotic systems and its
application in stream-ciphers cryptography. In Progress in Cryptology – INDOCRYPT 2001,
Lecture Notes in Computer Science, vol. 2247, 316–329, 2001.E. H. Miller, ―A note on reflector
arrays (Periodical style—Accepted for publication),‖ IEEE Trans. Antennas Propagat., to be
published.
[8] Chapra, S. & Canale, R., Numerical Methoods for Engineers, Sixth Edition, New York: Mc Graw
Hill, 2010.

Anda mungkin juga menyukai