Sekuriti Digital, Teori dan Praktek

Slides:



Advertisements
Presentasi serupa
Peubah acak khusus.
Advertisements

Sejarah  Algoritma ini dikembangkan oleh Ron Rivest, Adi Shamir, dan Len Adleman pada tahun  Algoritma ini.
Gravitasi Lubang Hitam
Kriptografi Kunci-Publik
Pendahuluan Landasan Teori.
CARA MENYATAKAN HIMPUNAN
Algoritma Kriptografi Modern
DISTRIBUSI PELUANG.
Distribusi Probabilitas
Sekuriti Digital, Teori dan Praktek
Pembangkit Bilangan Acak Semu
3 Peubah Acak Diskrit dan Sebaran Peluangnya.
Peluang Diskrit.
Digital Signature Algorithm
Materials prepared by WP Sekuriti Digital, Teori dan Praktek Algoritme Enkripsi RSA Bab 19.1, 19.3,
Bahan Kuliah IF3058 Kriptografi
Distribusi Poisson Percobaan Poisson memiliki ciri-ciri sbb :
Materials prepared by WP Sekuriti Digital, Teori dan Praktek Protokol Kriptografis untuk Otentikasi (2) Bab
Kriptografi Kunci-Publik
KRIPTOGRAFI KUNCI PUBLIK (public-key cryptography)
Materials prepared by WP 1 Administrasi Take-home assignments –tugas 1 : essay ttg cryptographic attack –tugas 2 : menguji kekuatan Vinegere code –tugas.
Sekuriti Digital, Teori dan Praktek
Kriptografi Kunci-Publik
ALGORITMA DAN BILANGAN BULAT
BAB V ALGORITMA DAN BILANGAN BULAT
Bahan Kuliah IF3058 Kriptografi
ALGORITMA DAN BILANGAN BULAT
B. Menggunakan Faktor Prima untuk Menentukan KPK dan FPB
Kriptografi Kunci-Publik
Pembangkit Random Number
Kriptografi Gabungan PGP (Pretty Good Privacy)
Sistem Kriptografi Kunci-Publik
Pembangkit Bilangan Acak Semu
Kriptografi Kunci Publik (Asimetry Key) Algoritma Elgamal Materi 9
Kriptografi Kunci Publik (Asimetry Key) Algoritma Pertukaran Kunci Simetri (Diffie-Hellman) Materi 10 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik.
Bahan Kuliah IF5054 Kriptografi
RSA (Rivest—Shamir—Adleman)
RSA ALGORITMA ASIMETRI Kriptografi – Week 11.
Standar kompetensi Pada akhir semester, mahasiswa menguasai pengetahuan, pengertian, & pemahaman tentang teknik-teknik kriptografi. Mahasiswa diharapkan.
Kriptografi Kunci Publik (Asimetry Key) Algoritma RSA Materi 7
Q U I Z 5A - SOAL Manajemen File
Oleh: Nilam Amalia Pusparani G
Bahan Kuliah IF5054 Kriptografi
Algoritma ElGamal.
Algoritma Pertukaran Kunci Diffie-Hellman
   
Electronic Commerce Pertemuan 5.
Kriptografi Kunci-Publik
Kriptografi Kunci-Publik
JENIS-JENIS KRIPTOGRAFI (Bagian 2)
Algoritma RSA Solichul Huda, M.Kom.
JARINGAN KOMPUTER (Instalasi Server dan TCP/IP)
Algoritma ElGamal Kelompok 8.
Kriptografi Kunci Publik (Asimetry Key) Algoritma Digital Signature Algorithm Materi 8 Pemrograman Jaringan Dosen: Eko Prasetyo Teknik Informatika UMG.
Proteksi & Sekuriti Sistem Komputer
Pembangkit Bilangan Acak Semu
ALGORITMA RSA PERTEMUAN 6 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER
Tandatangan Digital.
Kriptografi Modern.
PEMBANGKIT RANDOM NUMBER
Digital Signature Standard (DSS)
Algoritma RSA Antonius C.P
Proteksi & Sekuriti Sistem Komputer
Keamanan Informasi Week 4 – Enkripsi Algoritma asimetris.
KRIPTOGRAFI.
Skripsi Diajukan untuk memenuhi syarat kelulusan
Kriptografi Kunci Publik
Asimetris Public Kriptografi
This presentation uses a free template provided by FPPT.com Studi Algoritma Enkripsi AES, DES dan RSA untuk Keamanan.
By Adi. SDN Model Mataram. FPB : Ambil bilangan faktor yang sama, yang pangkat terkecil, dari 2 atau lebih bilangan.
Transcript presentasi:

Sekuriti Digital, Teori dan Praktek Generator Bilangan Prima Bab 11.3, 11.5

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  10151 bilangan prima yang panjangnya  512 bit … lebih dari cukup untuk semua mahluk inteligen di alam semesta. Perbandingan: di alam semesta ada  1070 atom … bahkan jika setiap atom membutuhkan 1 milyar bilangan prima setiap 1 S semenjak alam semesta diciptakan … ini baru akan menghabiskan 10109 bilangan prima, dan kita masih punya 10151 bilangan prima  512 bit yang masih belum terpakai.

Prime Hole ... Berapa kans-nya dua orang di bumi akan memilih bilangan prima yang sama? (assume  512 bits primes) Domain pilihannya besranya adalah 10151. 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

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 < p1/2 apakah q membagi p … sangat tidak efesien!

Soloway-Strassen Test Robert Soloway & Volker Strassen 1978 0. Ajukan kandidat bilangan prima p 1. Ambil penguji a, a<p, acak 2. if gcd(a,p)  1 then p bukan prima else 3. j = a(p-1)/2 mod p 4. if j  J(a,p) then p bukan prima else kans p bukan prima < 50% ulangi langkah 1..4 sebanyak 50 kali, kalau p lolos semua test maka kans p bukan prima < 2-50.

Quadratic Residue dan Simbol Legendre (L) Sebuah bilangan a disebut Quadratic Residue modulo p bila : ada sebuah x<p sehingga x2 = a (mod p) Bilangan yang bukan quadratic residue disebut non-quadratic residue. Bila p prima, maka sebanyak (p-1)/2 bilangan a<n merupakan residu kwadrat. Cara menentukan apakah a merupakan residu kwadrat … menggunakan fungsi/simbol Legendre (asumsi: p prima): L(a,p) = 0 jika a bisa dibagi oleh p (gcd(a,p)  1) L(a,p) = 1 jika a adalah residu kwadrat modulo p L(a,p) = -1 jika a adalah non-residu kwadrat modulo p algoritme : L(a,p) = a(p-1)/2 mod p bedasarkan Fermat's Little Theorem : z = (a(p-1)/2)2 = ap-1 harus sama dengan 1 … jadi z = -1 atau 1. Kalau a residu kwadrat a(p-1)/2 = (x2)(p-1)/2 = xp-1 dan bedasarkan Fermat ini sama dengan 1 algoritme rekursif lihat di 11.3

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 p1,p2,…,pk maka J(a,n) = J(a,p1)*J(a,p2)*…*J(a,pk) Seperti L(a,p) value dr. J(a,n)  {0,1,-1} Algoritme rekursif lihat di 11.3

Lehman Test 0. Ajukan kandidat bilangan prima p 1. Ambil penguji a, a<p, acak 2. j = a(p-1)/2 mod p 3. if j  {1,-1} then p bukan prima else kans p bukan prima < 50% ulangi langkah 1..3 sebanyak 50 kali, kalau p lolos semua test maka kans p bukan prima < 2-50.

Rabin - Miller Test Michael Rabin & Gary Miller 1976 0. Ambil kandidat prima p 1. Hitung b terbesar sehingga 2b membagi p-1 2. Hitung m dimana p = (2b)*m + 1 3. Pilih penguji a, a<p, acak 4. j = 0 ; z = am mod p 5. if z  {1,p-1} then p bukan prima 6. while jb  zp-1 do 7. If j>0  z=1 then p bukan prima 9. j++ ; z=z2 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 2-50.

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

Strong Primes Dalam pembuatan parameter sekuriti n=pq … diinginkan bilangan prima p,q yang kuat dalam arti memenuhi sifat2 tertentu yang membuat n sulit difaktor. Antara lain : gcd(p-1,q-1) harus kecil p-1 dan q-1 masing2 harus punya faktor prima p', q' yang besar p'-1 dan q'-1 masing2 harus punya faktor prima yang besar p+1 dan q+1 masing2 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!

Sekuriti Digital, Teori dan Praktek "Cryptography is a mixture of mathematics and muddle, and without the muddle the mathematics can be used against you." Ian Cassels. Generator Bilangan Acak Bab 16.1 - 16.5, 16.12, 9.4

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

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 : Xn = [Xn-1]k menggunakan satu atau lain sistem enkripsi, dan kunci k. X0 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.

Linear Congruential Generator (LCG) LCG adalah generator deret pseudo random yang membuat deret tsb dengan cara : Xn = (aXn-1 + b) mod m a,b, m, dan X0 adalah parameter a disebut multiplier b disebut increment m disebut modulus X0 disebut seed Quadratic generator : Xn = (aXn-12 + bXn-1 + c) mod m Polinomial generarator Xn = (an-1Xn-1n-1 + an-2Xn-2n-2 + … + a1X1 + a0) 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

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

Feedback Shift Register (FSR) bn-1 bn-2 bn-3 . . . b1 b0 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.

Contoh LFSR b3 b2 b1 b0 Deret yang dihasilkan : output 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 output Tap sequence dapat dianggap sebagai encoding dr. sebuah polinom p … +1. Contohnya tap sequence diatas merupakan ecoding dari polinom x4 + 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. output

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.

Stream Chipher Ki Ki Pi  Ki = Ci Ci  Ki = Pi  Ki  Ki = Pi Pi Keystream Generator Keystream Generator Ki Ki Key stream Key stream Pi  Ki = Ci Ci  Ki = Pi  Ki  Ki = Pi Pi Plain text Cipher text Plain text 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.

Generator Deret Bit Acak Menggunakan LFSR Combining function LFSR1 . . . LFSRn 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'.

Geffe Generator dan A5 Geffe : A5 : LFSR0 LFSR0 LFSR1 LFSR1 2-1 Multiplexer LFSR1 LFSR3 LFSR3 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. Geffer generator menggunakan 3 LFSR : panjang LFSR bervariasi. Clocking seragam lemah