Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Sekuriti Digital, Teori dan Praktek

Presentasi serupa


Presentasi berjudul: "Sekuriti Digital, Teori dan Praktek"— Transcript presentasi:

1 Sekuriti Digital, Teori dan Praktek
Administrasi Kuliah

2 Tim Pengajar & Text Book
Nursalim Hadi (dosen) Wishnu Prasetya (dosen) Yova (asisten) Pembicara tamu (?) 14 x kuliah tugas paper, tugas pemrograman, mid-test, final test Informasi ttg kuliah lihat di Lihat juga info tambahan ttg topik-topik sekuriti di page tsb. Buku: Bruce Schneier, Applied Cryptography, Wiley. Secepatnya!

3 Sub-topik Kuliah, Bagian Teori
Analisa Algoritme Sistem Sandi Sederhana Protokol Kriptografis Sistem Sandi RSA Serangan Kriptografis Generator Random dan Test Keprimaan Protokol Uang Elektronis Anonim

4 T1 : Sistem-sistem Enkripsi Sederhana

5 Mengapa Mempelajari Sistem Sandi Sederhana?
Sejarah Mudah dipelajari dan mewakili konsep2 yang cukup penting dalam tehnik penyandian. Walaupun lemah tapi ternyata masih digunakan oleh software2 modern. Contoh: wordperfect.

6 Caesar System digunakan bangsa Romawi jaman Julius Caesar, 300 BC(?)
Untuk melakukan enkripsi, teks asli (plain text) m, setiap huruf x di m diganti dengan x' yang diperoleh dengan men-shift x ke kanan k-kali (siklis modulo 26) dalam alphabet. Hasil enkripsi disebut teks sandi (chiper text). k disebut kunci. Contoh : teks asli "you lose" kunci k = 3 teks sandi : "brx orvh"

7 Algoritme Caesar caesar::Int->String->String caesar k [] = []
caesar k (a:s) = a': caesar k s where a' = chr(((ord a) + k) mod 128) deCaesar::Int->String->String deCaesar k [] = [] deCaesar k (a:s) = a': deCaesar k s where a' = chr(((ord a) k) mod 128)

8 Generalisasi dari Caesar System
Kunci k yang mengatakan jarak shift dalam sistem Caesar diganti dengan fungsi f (yang ivertibel dengan invers g) yang melakukan substitusi huruf, bergantung pada posisi huruf dalam pesan asli. Contoh: f0 dan inversnya g0 f0 a k = chr(((ord a) + (k mod 7)*13) mod 128) g0 a k = chr(((ord a) (k mod 7)*13) mod 128) genCaesar::(Char->Int->Char)->String->String genCaesar f s = gC f 0 s where gC f j [] = [] gC f j (a:s) = (f a j): gC f (j+1) s

9 Menyandi Karakter dengan String
Fungsi genCaesar bisa digeneralisasi lebih lanjut dengan mengijinkan huruf untuk disandi dengan satu atau lebih deret huruf (string). Fungsi f yang digunakan sebagai kunci harus invertibel. genCaesar2::(Char->Int->String)->String->String genCaesar2 f s = gC f 0 s where gC f j [] = [] gC f j (a:s) = (f a j) ++ (gC f (j+1) s)

10 Mesin Rotor / Enigma type Rotor = Char->Char
rotor1 = some permutation on ASCII symbols rotor2 = … rotor3 = … rotor a k = r3 (r2 (r1 a k) k) k where r1 b j = rotor1 (chr(((ord a)+(k div speed1)) mod 128)) r2 b j = rotor2 (chr(((ord a)+(k div speed2)) mod 128)) r3 b j = rotor3 (chr(((ord a)+(k div speed3)) mod 128)) speed1 = 1 speed2 = 7 speed3 = 17 rotorCrypt s = genCaesar rotor s

11 Mesin Sandi Sempurna : One Time Pad Joseph Mauborgne & Gilbert Vernam (1917)
Dalam sistem One Time Pad, kunci untuk enkripsi sama panjangnya dengan teks asli, dan merupakan deret dari substitusi huruf secara random. Huruf ke j dari teks asli disubtitusi menurut substitusi ke j dari kunci. Sifat : no periodicity, so absolutely impossible to break. Digunakan oleh kalangan militer : hot-line US - Soviet Soviet spies

12 Substitution Chiper Setiap huruf di teks asli disubstitusi dengan huruf sandi. Dekripsi dilakukan dengan melakukan substitusi balik. Jadi, substitusi harus injektif. Bisa digeneralisasi sebagai berikut: substitusi dilakukan per blok teks asli substitusi blok tidak harus menghasilkan blok yang konsisten besarnya substitusi cukup secara probabilistis sangat injektif.

13 Klasifikasi Sistem Sandi Substitusi
Substitusi sederhana/monoalphabetis tiap huruf diganti dengan satu huruf sandi contoh : sistem Caesar Substitusi homophonis tiap huruf bisa memiliki lebih dari satu huruf sandi contoh : genCaesar Substitusi poligram tiap blok teks asli diganti dengan blok sandi contoh : DES Substitusi polialphabetis kombinasi beberapa substitusi sederhana. Penerapannya bergantung posisi huruf dalam teks asli contoh : mesin rotor

14 T2 : Analisa Algoritme

15 Analisa Algoritme Ditujukan untuk memperkirakan kebutuhan waktu (ruang) relatif sebuah algoritme. Pengertian ‘relatif’ adalah: tidak bergantung pada platform/mesin. Untuk melakukan analisa kekuatan sebuah sistem sandi, kita meninjau berbagai cara untuk membongkar sandi tersebut. Apabila ada strategi pembongkaran yang efesien, maka sistem sandi tersebut lemah dan tidak layak digunakan. Untuk menentukan seberapa efesiennya sebuah strategi pembongkaran, orang menggunakan tehnik analisa algoritme.

16 Notasi O untuk Menyatakan Efesiensi Program
Definisi : Untuk fungsi f,g : Nat  Float f  O(g) = ( n0,K: 0<n0,K : ( n : n0  n : f n  K.(g n)) f  O(g) diartikan “untuk n besar, naik turunnya f dibatasi diatas oleh kelipatan konstan dari g”. Taksiran kebutuhan waktu relatif sebuah program P bisa dinyatakan sebagai sebuah fungsi f : Nat  Float, dimana f(n) adalah kebutuhan waktu P untuk memproses input berukuran n.

17 Running Time dari berbagai kelas algoritme
Kelas Efesiensi #operasi untuk waktu eksekusi n = kecepatan 1 MIPS Konstan O(1) usec Linier O(n) sec Kwadratis O(n2) hari Kubis O(n3) ,000 tahun Eksponensial O(2n) kali umur alam semesta

18 Kelas Problem P dan NP Problem kelas P : problem yang bisa dipecahkan dengan algoritme dengan efesiensi polinomial. Problem kelas NP : problem yang bisa dipecahkan dengan algoritme dengan efesien polinomial, tetapi menggunakan mesin (Turing) non-deterministis (ie mesin dengan unlimited parallelism) Tidak diketahui apakah kelas P= kelas NP Kelas NP-complete terdiri dari problem2 yang bisa dibuktikan sama sulitnya (dari kebutuhan komputasi) untuk dipecahkan. Jadi, bila satu problem dr. kelas NP-complete ditemukan solusi polinomialnya, maka seluruh problem dari kelas itu bisa dipecahkan dengan efesiensi polinomial. Masih ada lagi kelas problem yang undecidable, artinya tidak bisa dihitung solusinya menggunakan algoritme apapun juga.

19 Beberapa Problem dari Kelas NP-complete
Menentukan sembarang jaringan G dan H adalah isomorfis Travelling salesman problem Hamiltonian cycle Satisfiability in proposition logic


Download ppt "Sekuriti Digital, Teori dan Praktek"

Presentasi serupa


Iklan oleh Google