• Tidak ada hasil yang ditemukan

Implementasi Perbedaan Algoritma Blim-Blum-Shub Dengan Algoritma Quadratic Linear Congruential Generator Pada Aplikasi Password Generator

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Perbedaan Algoritma Blim-Blum-Shub Dengan Algoritma Quadratic Linear Congruential Generator Pada Aplikasi Password Generator"

Copied!
7
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1.Kriptografi

Kriptografi berasal dari gabungan dua suku kata yang berasal dari bahasa Yunani, yaitu

Kryptos dan Graphein. Kryptos memiliki makna tersembunyi, misterius, atau rahasia.

Graphein sendiri berarti tulisan. Kriptografi adalah seni dan ilmu dalam menyimpan pesan – pesan yang berisi rahasia dan itu dilakukan oleh Cryptographer. Cryptanalysts adalah orang yang mempraktekkan cryptanalysis, seni dan ilmu dalam memecahkan ciphertext. Cabang matematika yang meliputi baik kriptografi maupun kriptoanalisis adalah Cryptology dan orang yang mempraktekkannya disebut Cryptologists (Schneier, 1996).

Jadi secara sederhana, kriptografi dapat didefinisikan sebagai ilmu atau pelajaran

yang menggunakan tulisan dan memiliki makna yang tersembunyi atau rahasia didalamnya.

Terdapat pengertian lain di dalam buku lama (sebelum tahun 1980-an) yang menyatakan

bahwa kriptografi merupakan ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara

menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya (Munir, 2006).

2.2.Pembangkit Bilangan Acak

Pembangkit Bilangan Acak atau Random Number Generator (RNG) adalah sebuah sumber dari nomor - nomor yang tidak dapat diprediksi, yang berarti bahwa tidak mungkin

memprediksi hasil yang keluar. Dalam banyak hal seperti kriptografi, simulasi model,

pemgambilan sampel, permainan yang menggunakan kesempatan, dan lainnya dibutuhkan

pembangkitan serangkaian nomor acak (Bhaskar, 2013). RNG juga seringkali digunakan untuk membangkitkan seed yang akan digunakan dalam algoritma block cipher atau membangkitkan bilangan prima untuk algoritma RSA (Lietara, 2009).

2.3.Pembangkit Bilangan Acak Semu

Pembangkit Bilangan Acak Semu atau yang biasa disebut dengan Pseudo Random Number Generator (PRNG) adalah sebuah algoritma yang umum digunakan pada kriptografi. Dengan memberikan angka – angka acak yang pendek, PRNG mengkalkulasi dan mengembalikan

(2)

tes yang membandingkan mereka (angka) ke urutan true random numbers. Jika sebuah PRNG dapat memproduksi urutan yang mana tidak ada tes statistik yang dapat

membedakannya dari urutan angka acak yang benar, maka PRNG itu dapat disebut sebagai

Cryptographically Secure Pseudo Random Generator (CSPRNG). Yang ingin diperoleh dari PRNG adalah untuk menciptakan nilai dengan cepat, dari seed yang pendek, ke urutan yang panjang yang muncul dalam setiap cara untuk dihasilkan oleh putaran-putaran koin yang adil

(Blum, 1986).

2.4.Algoritma Blum-Blum-Shub

Blum-Blum-Shub adalah algoritma pembangkit bilangan acak yang dibuat pada tahun 1986. Algoritma yang termasuk dalam kategori Cryptographically Secure Pseudo-Random Number Generator (CSPRNG) ini dapat dikatakan sangat sederhana dan mangkus. BBS sendiri merupakan singkatan dari ketiga nama penemunya, yaitu Lenore Blum, Manuel Blum, dan

Michael Shub. Berikut rumus pada algoritma Blum-Blum Shub :

2.4.1.Cara kerja algoritma Blum-Blum-Shub

Langkah – langkah pembangkitan bilangan acak BBS adalah sebagai berikut : (munir, 2006)

1. Pilih dua buah bilangan prima rahasia p dan q, masing – masing kongruen

Terhadap 3 modulo 4. dan (dalam praktek bilangan

prima yang digunakan cukup besar).

2. Temukan hasil bilangan bulat blum n dengan menghitung

3. Pilih bilangan bulat acak s sebagai umpan. Adapun bilangan yang dipilih harus memenuhi kriteria sebagai berikut :

a.

b. s dan n adalah bilangan prima.

4. Hitung nilai

5. Temukan hasil bilangan bit acak dengan melakukan literasi berikut :

a. Hitung

(3)

2.4.2.Flowchart algoritma Blum-Blum-Shub

Gambar 2.1 dibawah adalah flowchart untuk algoritma Blum-Blum-Shub.

Start

Input Bil Prima p dan q

P&q equivalent to 3mod 4 (P Ξ 3mod 4 & q Ξ 3mod 4) ?

Input bilangan prima s dimana

2 s n n= p.q

X0 = s2 mod n

i=1 to 40

Xi= xi-12 mod n

Zi= LSB(Xi)

Setiap 4 bit pada z1...z40 ubah ke dalam bentuk decimal, dan ambil

10 digit pertama

Output 10 digit bilangan acak

Stop

(4)

Misal p=29, q=47, n=1363, s=5, x0=25, maka perhitungan algoritma Blum-Blum-Shub bisa dilihat pada tabel 2.1.

Literasi

25 1

625 1

807 1

1098 0

712 0

1271 1

286 0

16 0

256 0

112 0

277 1

401 1

13 1330 0

14 1089 1

15 111 1

16 54 0

Tabel 2.1. Contohperhitungan algoritma Blum-Blum-Shub

Keamanan pada algoritma Blum-Blum-Shub ini terletak pada landasan teori bilangan yang kuat, yaitu sulitnya memfaktorkan bilangan bulat yang besar menjadi faktor-faktor

prima dan juga sulitnya memecahkan Quadratic Residuosity Problem (Yuliawan, 2006).

(5)

barisan bit yang dihasilkan oleh CSPRNG ini, kriptanalisi tidak dapat menganalisa barisan bit sebelumnya dan barisan bit sesudahnya dalam urutan bilangan acak yang dihasilkan (Bilqis,

2012). BBS aman selama masalah memfaktorkannya tetap sulit (Sinai, 2011). BBS juga tidak

dapat diprediksi keacakannya (Wibowo, 2015).

2.5.Algoritma Quadratic Linear Congruential Generator

Quadratic Linear Congruential Generator (QLCG) merupakan salah satu algoritma pembangkit bilangan acak dengan rumus sebagai berikut :

( )

Dimana dan (Gille-Ginest, 2009).

Dijelaskan lebih rinci, dimana m adalah bilangan bulat positif dan , a, b, c adalah bilangan bulat non-negative yang lebih kecil daripada m. Knuth (1981) memberikan kondisi yang diperlukan untuk dapat mencapai panjang periode maksimal m yang dapat dihasilkan. Kondisi ini berlaku jika m bukanlah bilangan prima (Eichenauer, 1986).

2.5.1.Cara kerja algoritma Quadratic Linear Congruential Generator

Langkah-langkah pembangkitan bilangan acak pada algoritma Quadratic Linear

Congruential Generator adalah sebagai berikut :

1. Pilih bilangan untuk , a, b, c, serta m dimana : a. m adalah bilangan bulat positif.

b. , a, b, c adalah bilangan bulat non-negative yang lebih kecil dari m. 2. Temukan hasil bilangan bit acak dengan melakukan literasi berikut :

a. Hitung nilai Xi= (aXi-12 + bXi-1+ c ) mod n

b. Temukan hasil bit LSB (Least Significant Bit) yang diambil dari 3. Barisan bit acak yang dihasilkan adalah

2.5.2.Flowchart algoritma Quadratic Linear Congruential Generator

(6)

Start

Input Bil Bulat m

i=1 to 40

Xi= (axi-12 + bxi-1+ c ) mod m

Zi= LSB(Xi)

Setiap 4 bit pada z1...z40 ubah ke dalam bentuk decimal, dan ambil

10 digit pertama

Output 10 digit bilangan acak

selesai Input bil bulat X0,a,b,c.

Dimana X0,a,b,c < m.

Gambar 2.2. Flowchart algoritma Quadratical Linear Congruential Generator

2.5.3.Contoh perhitunganalgoritma Quadratic Linear Congruential Generator

Misal a=69, b=59, c=23, m=121, dan =13, maka perhitungan algoritma Quadratic Linear Congruential Generator bisa dilihat pada tabel 2.2.

Literasi

(7)

2 55 1

3 1 1

4 30 0

5 5 1

6 107 1

7 16 0

8 118 0

9 104 0

10 85 1

11 82 0

12 63 1

13 27 1

14 8 0

15 71 1

16 52 0

Tabel 2.2. Contoh perhitungan algoritma Quadratical Linear Congruential Generator

Keunggulan yang terdapat pada algoritma Quadratic Linear Congruential Generator

Gambar

Gambar 2.1 dibawah adalah flowchart untuk algoritma Blum-Blum-Shub.
Tabel 2.1. Contoh perhitungan algoritma Blum-Blum-Shub
Gambar 2.2. Flowchart algoritma Quadratical Linear Congruential Generator
Tabel 2.2. Contoh perhitungan algoritma Quadratical Linear Congruential Generator

Referensi

Dokumen terkait

Implementasi Kriptografi Affine Cipher pada Citra Digital Hasil Steganografi Me- tode Parity Coding dengan Pseudo Random Number Generator (PRNG) ; Annash Zaenun Muhendra,

Dalam menentukan urutan penyisipan pesan, digunakan metode pembangkit bilangan acak yang disebut Linear PSNR (Pseudo-Random Number Generator) yang akan bertindak

Generator bilangan ini membangkitkan bilangan acak semu (pseudo random number) yang.. memiliki tingkat kekuatan berbeda-beda menurut algoritma yang digunakan. Pseudo-Random

Seperti yang telah disebutkan sebelumnya, pembangkit bilangan acak semu (Pseudo-Random Number Generator) terutama Linear Feedback Shift Register (LFSR) sepenuhnya

[12] menyimpulkan dari beberapa algoritma untuk membangkitkan bilangan acak semu, tidak ada yang benar-benar dapat menghasilkan bilangan acak secara sempurna dalam arti

Kunci yang digunakan pada algoritma ini haruslah kunci yang benar-benar acak sehingga kerahasiaan pesan didalamnya dapat terjamin, maka digunakanlah metode pembangkit

Adapun pada bagian kedua dijelaskan mengenai bilangan acak, pembangkit bilangan acak semu dan berbagai algoritma yang sudah ada, pembangkit bilangan acak semua

Implementasi Algoritma Multiplicative Congruential Random Number Generator Pada Aplikasi Seleksi Mojang Jajaka Tito Sugiharto1,*, Lutfi Slamet Riyadi1, Heru Budianto2, , Dede Irawan2