Pembangkit Bilangan Acak Semu

Slides:



Advertisements
Presentasi serupa
KEAMANAN KOMPUTER ADITYO NUGROHO,ST TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE TUBAN PERTEMUAN 3 – LANDASAN MATEMATIKA.
Advertisements

Algoritma Kriptografi Knapsack
Pembangkit Bilangan Acak Semu
TEKNIK SIMULASI Informatika Undip.
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
Bahan Kuliah IF3058 Kriptografi
Bahan Kuliah IF3058 Kriptografi
Kriptografi Kunci-Publik
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
ALGORITMA DAN BILANGAN BULAT
BAB V ALGORITMA DAN BILANGAN BULAT
Bahan Kuliah IF3058 Kriptografi
ALGORITMA DAN BILANGAN BULAT
PEMBANGKIT RANDOM NUMBER
Kriptografi Kunci-Publik
Bahan Kuliah IF2151 Matematika Diskrit
OFC-11: Pengertian Random Number
Pembangkit Random Number
Algoritma Kriptografi Modern
Pembangkit Bilangan Acak Semu (Bagian2 )
Sumber : Rinaldi Munir, ITB
Rinaldi M/IF5054 Kriptografi
9. BILANGAN BULAT.
BILANGAN BULAT (lanjutan 2).
Sistem Kriptografi Kunci-Publik
BILANGAN BULAT (lanjutan 2).
BILANGAN BULAT (lanjutan 1).
Pembangkit Bilangan Acak Semu
Algoritma Kriptografi Modern
Manajemen Jaringan Komputer Topik: Pengamanan Jaringan dan Informasi
Nopem KS. Teori Bilangan
Kriptografi Kunci Publik (Asimetry Key) Algoritma Elgamal Materi 9
Algoritma Pertukaran Kunci Diffie-Hellman
Kriptografi Kunci Publik (Asimetry Key) Algoritma Pertukaran Kunci Simetri (Diffie-Hellman) Materi 10 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik.
Bahan Kuliah IF5054 Kriptografi
Pertemuan 18 Aplikasi Simulasi
Bahan Kuliah Matematika Diskrit
Algoritma dan Teori Bilangan
RSA (Rivest—Shamir—Adleman)
RSA ALGORITMA ASIMETRI Kriptografi – Week 11.
Algoritma Kriptografi Modern (Bagian 2)
Teori Bilangan Bulat.
KEAMANAN KOMPUTER ADITYO NUGROHO,ST
Bahan Kuliah IF5054 Kriptografi
Algoritma ElGamal.
Algoritma Pertukaran Kunci Diffie-Hellman
Kriptografi Kunci-Publik
Fungsi, induksi matematika dan teori bilangan bulat
Fungsi Oleh: Sri Supatmi,S.Kom Rinaldi Munir, Matematika Diskrit
ALGORITMA DAN BILANGAN BULAT
Teori Bilangan Bulat.
Algoritma ElGamal Kelompok 8.
Kriptografi Kunci Publik (Asimetry Key) Algoritma Digital Signature Algorithm Materi 8 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik Informatika UMG.
induksi matematika Oleh: Sri Supatmi,S.Kom
Algoritma Pertukaran kunci simetry dengan Diffie-Hellman
Tipe dan Mode Algoritma Simetri
ALGORITMA RSA PERTEMUAN 6 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER
Pembangkit Random Number
Landasan Matematika Untuk Kriptografi
Bahan Kuliah IF2120 Matematika Diskrit
Landasan Matematika Kriptografi
PEMBANGKIT RANDOM NUMBER
Bahan Kuliah IF5054 Kriptografi
FPB & ARITMATIKA MODULO
Steganografi.
Teknik Simulasi Bilangan Random oleh Veni Wedyawati, S.Kom, M. Kom
Kriptografi Kunci Publik
Simulasi Manual.
Teori Bilangan 1.
Asimetris Public Kriptografi
Transcript presentasi:

Pembangkit Bilangan Acak Semu Rinaldi Munir/Teknik Informatika

Bilangan acak: bilangan yang tidak dapat diprediksi Bilangan acak (random) banyak digunakan di dalam kriptografi Misalnya untuk pembangkitan parameter kunci pada algoritma kunci-publik, pembangkitan initialization vector (IV) pada algoritma kunci-simetri, dan sebagainya Rinaldi Munir/Teknik Informatika

Tidak ada komputasi yang benar-benar menghasilkan deret bilangan acak secara sempurna. Bilangan acak yang dihasilkan dengan rumus-rumus matematika adalah bilangan acak semu (pseudo), karena pembangkitan bilangannya dapat diulang kembali. Pembangkit deret bilangan acak semacam itu disebut pseudo-random number generator (PRNG) Rinaldi Munir/Teknik Informatika

Linear Congruential Generator (LCG) Pembangkit bilangan acak kongruen-lanjar (linear congruential generator atau LCG ) adalah PRNG yang berbentuk:   Xn = (aXn – 1 + b) mod m Xn = bilangan acak ke-n dari deretnya Xn – 1 = bilangan acak sebelumnya a = faktor pengali b = increment m = modulus (a, b, m semuanya konstan) Kunci pembangkit adalah X0 yang disebut umpan (seed). Rinaldi Munir/Teknik Informatika

Contoh: Misalkan Xn = (7Xn – 1 + 11) mod 17; X0 = 0 Rangkaian bilangan acak yang dibangkitkan oleh persamaan tersebut, (jika deret n=0 …24) Rinaldi Munir/Teknik Informatika

Hasil Periode LCG ini adalah 16, sebab setelah 16 kali perhitungan bilangan acaknya terulang kembali. Rinaldi Munir/Teknik Informatika

LCG mempunyai periode penuh (m – 1) jika memenuhi syarat berikut: LCG mempunyai periode tidak lebih besar dari m, dan pada kebanyakan kasus periodenya kurang dari itu. LCG mempunyai periode penuh (m – 1) jika memenuhi syarat berikut: b relatif prima terhadap m. a – 1 dapat dibagi dengan semua faktor prima dari m a – 1 adalah kelipatan 4 jika m adalah kelipatan 4 m > maks(a, b, x0) a > 0, b > 0 Rinaldi Munir/Teknik Informatika

Keunggulan LCG terletak pada kecepatannya dan hanya membutuhkan sedikit operasi bit. Sayangnya, LCG tidak dapat digunakan untuk kriptografi karena bilangan acaknya dapat diprediksi urutan kemunculannya. Oleh karena itu LCG tidak aman digunakan untuk kriptografi. Namun demikian, LCG tetap berguna untuk aplikasi non-kriptografi seperti simulasi, sebab LCG mangkus dan memperlihatkan sifat statistik yang bagus dan sangat tepat untuk uji. Rinaldi Munir/Teknik Informatika

Blum Blum Shut (BBS) BBS dibuat pada tahun 1986 oleh Lenore Blum, Manuel Blum, dan Michael Shub. Berbasis teori bilangan Rinaldi Munir/Teknik Informatika

Algoritma BBS: Pilih dua buah bilangan prima rahasia, p dan q, yang masing-masing kongruen dengan 3 modulo 4. Kalikan keduanya menjadi n = pq. Bilangan m ini disebut bilangan bulat Blum Pilih bilangan bulat acak lain, s, sebagai umpan sedemikian sehingga: (i)     2  s < n (ii) s dan n relatif prima kemudian hitung x0 = s2 mod n Barisan bit acak dihasilkan dengan melakukan iterasi berikut sepanjang yang diinginkan: (i)     Hitung xi = xi – 1 2 mod n (ii)    zi = bit LSB (Least Significant Bit) dari xi Barisan bit acak adalah z1, z2, z3, … Rinaldi Munir/Teknik Informatika

Contoh. x1 = x02 =92 mod n =81  LSB =1 x2 = x12 =812 mod n Misalkan kita memilih p = 11 dan q = 23 sehingga n = pq = 253. Kita pilih s = 3 dan kita hitung x0 =32 mod 253 = 9 x1 = x02 =92 mod n =81  LSB =1 x2 = x12 =812 mod n x3 = x22 =----2 mod n x4 = x32 =-----2 mod n x5 = x42 =--- 2 mod n Barisan bit acak yang dihasilkan : Rinaldi Munir/Teknik Informatika

Perhatikan contoh berikut: Bilangan acak tidak harus 1 bit LSB tetapi bisa juga j buah bit (j adalah bilangan bulat positif yang tidak melebihi log2(log2 n)) ). Perhatikan contoh berikut: Rinaldi Munir/Teknik Informatika

Contoh x1 = x02 mod n x2= x12 mod n x3 = x22 mod n x4 = x32 mod n Misalkan kita memilih p = 11351 dan q = 11987 sehingga n = pq = 136064437. Kita pilih s = 80331757 dan j = 4 (j tidak melebihi log2(log2 136064437) = 4.75594). Kita hitung x0 = 803317572 mod 136064437 = 1312737111. Tentukan Barisan bit acak yang dihasilkan : x1 = x02 mod n x2= x12 mod n x3 = x22 mod n x4 = x32 mod n x5 = x42 mod n Rinaldi Munir/Teknik Informatika

Barisan bit acak yang dihasilkan sebagai berikut: x1 = x02 mod n = 1312737182 mod 136064437 = 47497112 z1 = 47497112  8 (mod 24) = 1000basis 2 (4 bit LSB dari 47497112) x2 = x12 mod n = 474971122 mod 136064437 = 69993144 z1 = 69993144  8 (mod 24) = 1000basis 2 (4 bit LSB dari 69993144) … x3 = x22 mod n = 699931442 mod 136064437 = 13810821 z1 = 13810821  5 (mod 24) = 0101basis 2 (4 bit LSB dari 13810821) Barisan blok bit acak yang dihasilkan: 1000 1000 0101 … atau dalam basis 10:  8 8 5 … Rinaldi Munir/Teknik Informatika

Keamanan BBS terletak pada sulitnya memfaktorkan n Keamanan BBS terletak pada sulitnya memfaktorkan n. Nilai n tidak perlu rahasia dan dapat diumumkan kepada publik. BBS tidak dapat diprediksi dari arah kiri (unpredictable to the left) dan tidak dapat diprediksi dari arah kanan (unpredictable to the kanan), artinya jika diberikan barisan bit yang dihasilkan oleh BBS, kriptanalis tidak dapat memprediksi barisan bit sebelumnya dan barsian nit sesudahnya Rinaldi Munir/Teknik Informatika