Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Materials prepared by WP Sekuriti Digital, Teori dan Praktek Generator Bilangan Prima Bab 11.3, 11.5.

Presentasi serupa


Presentasi berjudul: "Materials prepared by WP Sekuriti Digital, Teori dan Praktek Generator Bilangan Prima Bab 11.3, 11.5."— Transcript presentasi:

1 Materials prepared by WP Sekuriti Digital, Teori dan Praktek Generator Bilangan Prima Bab 11.3, 11.5

2 Materials prepared by WP 2 Beberapa Fakta Tentang Bilangan Prima Dibutuhkan untuk membuat parameter sekuriti dalam RSA –Untuk setiap pasang kunci privat - publik kita membutuhkan dua bilangan prima Kalau setiap pemakai internet butuh satu set kunci RSA yang berbeda, apakah kita tidak akan kehabisan bilangan prima? –Ada luar biasa banyaknya bilangan prima. Kepadatan bilangan prima < n adalah n/(ln n). –Jadi … ada  bilangan prima yang panjangnya  512 bit … lebih dari cukup untuk semua mahluk inteligen di alam semesta. –Perbandingan: di alam semesta ada  atom … bahkan jika setiap atom membutuhkan 1 milyar bilangan prima setiap 1  S semenjak alam semesta diciptakan … ini baru akan menghabiskan bilangan prima, dan kita masih punya  bilangan prima  512 bit yang masih belum terpakai.

3 Materials prepared by WP 3 Prime Hole... Berapa kans-nya dua orang di bumi akan memilih bilangan prima yang sama? (assume  512 bits primes) –Domain pilihannya besranya adalah Jika pembangkitannya betul-betul random … maka kansnya mikroskopis. Bagaimana jika orang berhasil membuat list dari semua bilangan prima  512 bit? –List tsb mau disimpan dimana? Asumsikan 1 GB hard disk yang beratnya cuma 1 gr. Maka daftar dr. semua bilangan prima itu membutuhkan hard disk yang beratnya akan melebihi batas Chandrasar … masa itu akan runtuh menjadi Black Hole. –Kita tidak bisa mengakses Black Hole hard-disk karena tidak ada materi / cahaya / informasi yang bisa keluar dari Black Hole

4 Materials prepared by WP 4 Pembangkit Bilangan Prima Algoritme : –Faktorisasi : (1) ambil bilangan acak p (2) coba faktorkan p (3) kalau tak bisa berarti p prima. Kalau ini bisa dilakukan dengan efesien maka sistem enkripsi RSA tidak ada gunanya. –Test Keprimaan : (1) ambil bilangan acak p (2) terapkan satu atau lain test akan keprimaan p (3) kalau lolos berarti p kandidat prima Bagaimana membuat test keprimaan yang efesien? Naif : menguji semua bilangan q < p 1/2 apakah q membagi p … sangat tidak efesien!

5 Materials prepared by WP 5 Soloway-Strassen Test Robert Soloway & Volker Strassen Ajukan kandidat bilangan prima p 1. Ambil penguji a, a

6 Materials prepared by WP 6 Quadratic Residue dan Simbol Legendre (L) Sebuah bilangan a disebut Quadratic Residue modulo p bila : –ada sebuah x


7 Materials prepared by WP 7 Simbol Jacobi (J) Generalisasi dr. Legendre Simbol Jacobi merupakan generalisasi dr. simbol Legendre untuk p yang tidak harus prima. –DEF1 J(a,n) hanya terdefinisi untuk n yang ganjil –DEF2 Jika n prima J(a,n) = L(a,n) –DEF3 Jika n komposit … terdiri dari faktor prima p 1,p 2,…,p k maka J(a,n) = J(a,p 1 )*J(a,p 2 )*…*J(a,p k ) Seperti L(a,p) value dr. J(a,n)  {0,1,-1} Algoritme rekursif lihat di 11.3

8 Materials prepared by WP 8 Lehman Test 0. Ajukan kandidat bilangan prima p 1. Ambil penguji a, a

9 Materials prepared by WP 9 Rabin - Miller Test Michael Rabin & Gary Miller Ambil kandidat prima p 1. Hitung b terbesar sehingga 2 b membagi p-1 2. Hitung m dimana p = (2 b )*m Pilih penguji a, a0  z=1 then p bukan prima 9. j++ ; z=z 2 mod p 7. If j=b  z  p-1 then kans p bukan prima < 25% Ulangi 3..7 sebanyak 25 kali maka kans p bukan prima adalah

10 Materials prepared by WP 10 Pre-filter untuk Kandidat Prima 0. Buat bilangan p n-bit secara acak. 1. Set MSB dan LSB = 1 … ini menjamin bilangan akan ganjil, dan panjangnya persis n-bit 2. Test apakah p bisa dibagi bilangan prima kecil (<256 misalnya) test divisibility –vs 3,5,7 mengeliminasi 54% kandidat –vs bil. Prima < 100 mengeliminasi 76% kandidat –vs bil. Prima < 256 mengeliminasi 80% kandidiat –vs bil. Prima < n mengeliminasi 112 / ln n % kandidat

11 Materials prepared by WP 11 Strong Primes Dalam pembuatan parameter sekuriti n=pq … diinginkan bilangan prima p,q yang kuat dalam arti memenuhi sifat 2 tertentu yang membuat n sulit difaktor. Antara lain : –gcd(p-1,q-1) harus kecil –p-1 dan q-1 masing 2 harus punya faktor prima p', q' yang besar –p'-1 dan q'-1 masing 2 harus punya faktor prima yang besar –p+1 dan q+1 masing 2 harus punya faktor prima yang besar –bisa juga : (p-1)/2 dan (q-1)/2 harus prima Keharusan dari penggunaan konsisten dari strong primes merupakan bahan perdebatan. –Membuat bil. Prima yang dibangkitkan sifatnya kurang acak –Karakterisasi strong primes dibuat berdasarkan tehnik (attack) faktorisasi tertentu … bisa menimbulkan kerentanan thd jenis attack lain!

12 Materials prepared by WP Sekuriti Digital, Teori dan Praktek Generator Bilangan Acak Bab , 16.12, 9.4 "Cryptography is a mixture of mathematics and muddle, and without the muddle the mathematics can be used against you." Ian Cassels.

13 Materials prepared by WP 13 Bilangan Acak Digunakan dalam RSA untuk secara acak memilih komponen prima p dan q dr. parameter sekuriti n. Digunakan oleh generator bilangan prima itu sendiri Digunakan sebagai challenge dalam protokol/sistem enkripsi seperti: –Secret splitting –Secret sharing –Blind signature –Sistem enkripsi hibrid –challenge (toko) dalam Uang digital –stream cipher

14 Materials prepared by WP 14 Bilangan Acak dan Enkripsi Membangkitkan bilangan yang murni random sangat sulit … selama kita menggunakan mesin yang deterministis. –Deret pseudo random adalah deret bilangan yang walaupun dibuat dengan cara deterministik memenuhi (sebagian) sifat-sifat statistis dari deret random ideal. Salah satu cara membuat bilangan acak : X n = [X n-1 ] k –menggunakan satu atau lain sistem enkripsi, dan kunci k. X 0 disebut seed. Periode dr. deret bilangan pseudo random adalah jarak terpanjang dalam deret sebelum deret tersebut mengulang polanya. –Dalam deret acak ideal tidak akan terjadi pengulangan. Enkripsi sebaiknya menghasilkan deret yang pseudo acak … kalau tidak nanti polanya bisa ditebak. –Karena itu metode enkripsi bisa dipakai sebagai generator bilangan acak.

15 Materials prepared by WP 15 Linear Congruential Generator (LCG) LCG adalah generator deret pseudo random yang membuat deret tsb dengan cara : X n = (aX n-1 + b) mod m –a,b, m, dan X 0 adalah parameter a disebut multiplier b disebut increment m disebut modulus X 0 disebut seed Quadratic generator : X n = (aX n bX n-1 + c) mod m Polinomial generarator X n = (a n-1 X n-1 n-1 + a n-2 X n-2 n-2 + … + a 1 X 1 + a 0 ) mod m Periode terbaik dari deret adalam m-1. Generator yang menghasilkan deret dengan periode terbaik disebut maximal period generator. –Mencari paremeter yang menghasilkan periode terbaik tidak trivial. Contoh parameter optimal seperti ini lihat di tabel 16.1

16 Materials prepared by WP 16 Keamanan LCG Sebuah generator random dikatakan tidak aman bila deret yang dihasilkan bisa ditebak. LCG … juga quadratic generator … bahkan polynomial generator … walaupun memenuhi berbagai sifat statistis penting dari deret bilangan acak, tetapi telah dibuktikan bisa ditebak deretnya … jadi tidak aman. –Tidak digunakan untuk sistem kriptografis

17 Materials prepared by WP 17 Feedback Shift Register (FSR) b n-1 b n-2 b n-3 b1b1...b0b0 output Feedback Function FSR membangkitkan deret terdiri dr. 0/1 (deret bit). Cara kerja : Setiap langkah (clocking) register di-shift satu bit ke kanan (kiri). Output (1 bit) diambil dari, misalnya, bit ke 0. Sebuah fungsi non-linier yang disebut Feedback function akan membangkitkan bit ke n-1 yang baru di setiap shift. Masukan fungsi adalah bit ke 0 sampai bit ke n-1 yang lama. Linear Feedback Shift Register (LFSR) Adalah FSR dengan fungsi XOR sebagai feedback function. Pilihan bit mana saja dr. register yang ikut di-XOR disebut tap sequence. Tap sequence sangat menentukan perioda dr. LFSR.

18 Materials prepared by WP 18 Contoh LFSR b3b3 b2b2 b1b1 b0b0 output Deret yang dihasilkan : output Tap sequence dapat dianggap sebagai encoding dr. sebuah polinom p … +1. Contohnya tap sequence diatas merupakan ecoding dari polinom x 4 + x + 1 Untuk mendapatkan LFSR dengan periode maksimal, harus dicari tap sequence yang merupakan encoding dari polinom p+1 (spt. contoh diatas) tetapi polinomnya primitif berorde n (ukuran register) … contoh tap sequence yang demikian bisa dilihat di Tabel 16.2.

19 Materials prepared by WP 19 Sekuriti dari LFSR Menghasilkan deret bit pseudo acak yang 'baik' … tetapi tidak cocok untuk sistem kriptografis. –Internal state ke i bisa ditentukan dengan melihat ke ouput ke i sampai ke i+n (n = ukuran register LFSR) –Fungsi feedback bisa direkonstruksi dengan menganalisa output ke i samai ke i+2n (Berlekamp - Massey attack). –Membangkitkan deret bilangan acak dari deret bit acak keluaran LFSR menghasilkan deret yang memiliki korelasi tinggi. Penggunaan polinom 'padat' (banyak suku) sebagai tap sequence menghasilkan sistem yang lebih aman. –Penggunaan polinom jarang lebih efesien. LFSR digunakan sebagai basic building blocks dari generator bilangan random.

20 Materials prepared by WP 20 Stream Chipher Keystream Generator Keystream Generator Plain text Cipher text Key stream PiPi KiKi P i  K i = C i KiKi C i  K i = P i  K i  K i = P i Stream chipper adalah tehnik melakukan enkripsi dengan mengenkrip plain text bit per bit. Ini dilakukan dengan cara mengkombasikan plain text dengan kunci secara bit per bit. Jadi panjang kunci harus sama dengan panjang text. Generator keystream harus menghasilkan deret bit acak … karena kalau tidak bisa ditebak orang. Implementasi generator ini banyak yang menggunakan kombinasi dari LFSR.

21 Materials prepared by WP 21 Generator Deret Bit Acak Menggunakan LFSR LFSR 0 LFSR 1 LFSR n... Combining function Gunakan n LFSR, masing-masing dengan panjang, tap sequence, dan clocking yang berbeda. Keluaran akhir dihasilkan oleh 'combining function' … masukan fungsi ini diambil dr. bit-bit tertentu dr. LFSR (tidak harus bit ke 0). Fungsi ini harus 'non-linier'.

22 Materials prepared by WP 22 Geffe Generator dan A5 LFSR 0 LFSR 1 LFSR Multiplexer Geffe : Geffer generator menggunakan 3 LFSR : panjang LFSR bervariasi. Clocking seragam lemah LFSR 0 LFSR 1 LFSR 3 A5 : A5 menggunakan 3 LFSR dengan panjang masing-masing 19,22,23 bit. Digunakan oleh GSM untuk mengenkrip pembicaraan lewat telpon selular.. Menggunakan variable clocking : masing-masing LFSR di-clock berdasarkan bit tengahnya, di XOR dengan inverse treshold function dr. ketiga bit tengah dr. semua LFSR. lemah … tapi idenya sudah baik. Memperbesar LFSR dan menggunakan polinom padat akan meningkatkan kekuatan A5.


Download ppt "Materials prepared by WP Sekuriti Digital, Teori dan Praktek Generator Bilangan Prima Bab 11.3, 11.5."

Presentasi serupa


Iklan oleh Google