Professional Documents
Culture Documents
ISBN
Kode ISBN terdiri dari 10 karakter, biasanya dikelompokkan dengan spasi atau garis, misalnya 0301545619. ISBN terdiri atas empat bagian kode: - kode yang mengidentifikasikan bahasa, - kode penerbit, - kode unik untuk buku tersebut, - karakter uji (angka atau huruf X (=10)).
Aplikasi Bilangan Bulat 3
Contoh: ISBN 0301545618 0 : kode kelompok negara berbahasa Inggris, 3015 : kode penerbit 4561 : kode unik buku yang diterbitkan 8 : karakter uji. Karakter uji ini didapatkan sebagai berikut: 10+23+30+41+55+64+ 7 5 + 8 6 + 9 1 = 151 Jadi, karakter ujinya adalah 151 mod 11 = 8.
Aplikasi Bilangan Bulat 5
10
Fungsi Hash
Tujuan: pengalamatan di memori Bentuk: h(k) = k mod m - m : jumlah lokasi memori yang tersedia - k : kunci (integer) - h(k) : lokasi memori untuk record dengan kunci k
Contoh: m = 11 mempunyai sel-sel memori yang diberi indeks 0 sampai 10. Akan disimpan data record yang masing-masing mempunyai kunci 15, 558, 32, 132, 102, dan 5. h(15) = 15 mod 11 = 4 h(558) = 558 mod 11 = 8 h(32) = 32 mod 11 = 10 h(132) = 132 mod 11 = 0 h(102) = 102 mod 11 = 3 h(5) = 5 mod 11 = 5 132 0 1 2 102 15 5 3 4 5 6 7 558 8 9 32 10
Kolisi (collision) terjadi jika fungsi hash menghasilkan nilai h yang sama untuk k yang berbeda. Jika terjadi kolisi, cek elemen berikutnya yang kosong. Fungsi hash juga digunakan untuk me-locate elemen yang dicari.
Kriptografi
Pesan: data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain: plainteks (plaintext) Pesan dapat berupa: teks, gambar, audio, video. Pesan ada yang dikirim atau disimpan di dalam media penyimpanan.
Aplikasi Bilangan Bulat 10
Cipherteks (ciphertext): pesan yang telah disandikan sehingga tidak memiliki makna lagi. Tujuan: agar pesan tidak dapat dimengerti maknanya oleh pihak lain. Cipherteks harus dapat diubah kembali ke plainteks semula
Aplikasi Bilangan Bulat 11
Enkripsi (encryption): proses menyandikan plainteks menjadi ciphertek. Dekripsi (decryption): Proses mengembalikan cipherteks menjadi plainteksnya.
13
plainteks
chiperteks
plainteks semula
enkripsi
dekripsi
14
Kriptografi (cryptography) Dari Bahasa Yunani yang artinya secret writing Definisi: kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan.
Aplikasi Bilangan Bulat 15
Algoritma kriptografi (cipher) - aturan untuk enkripsi dan dekripsi - fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Kunci: parameter yang digunakan untuk transformasi enciphering dan dechipering Kunci bersifat rahasia, sedangkan algoritma kriptografi tidak rahasia
Aplikasi Bilangan Bulat 16
Sejarah Kriptografi
Sudah digunakan di Yunani 400 BC Alat yang digunakan: scytale
Aplikasi Kriptografi
1. Pengiriman data melalui komunikasi (data encryption on motion). saluran
18
Data ditransmisikan dalam bentuk chiperteks. Di tempat penerima chiperteks dikembalikan lagi menjadi plainteks.
Data di dalam media penyimpanan komputer (seperti hard disk) disimpan dalam bentuk chiperteks. Untuk membacanya, hanya orang yang berhak yang dapat mengembalikan chiperteks menjadi plainteks.
Aplikasi Bilangan Bulat 19
Cipherteks (cipher.txt): Ztxzp/pp/qtyp{p}<yp{p}/sx/ p}px; pp/|t}t|zp}/qp}pz/tzp{x/zt xx }v p}v/|tp}vzpz/|t}y/{p=/\ttz p psp{pw/p}pz<p}pz/zt xx}v/p} v/qp |t}tp/spx/sp{p|/ px=/] p{x |ttzp/|t}vppzp}/qpwp/{p /psp{pw t| p/ztwxs p}/|ttzp=
20
Plainteks (lena.bmp):
Cipherteks (lena2.bmp):
21
Plainteks (siswa.dbf): NIM 000001 000002 000003 000004 000005 000006 000007 000008 000009 Nama Elin Jamilah Fariz RM Taufik Hidayat Siti Nurhaliza Oma Irama Aziz Burhan Santi Nursanti Cut Yanti Ina Sabarina Tinggi 160 157 176 172 171 181 167 169 171 Berat 50 49 65 67 60 54 59 61 62
22
Cipherteks (siswa2.dbf): NIM 000001 000002 000003 000004 000005 000006 000007 000008 000009 Nama tp}vzpz/|t}y/{ |t}tp/spx/sp t| p/ztwxs p}/| pp/|t}t|zp}/qppz tzp{x/zt xx}v p} spx/sp{p|/ px=/] Ztxzp/pp/qtypp}< qpwp/{p/psp{pw }t|zp}/qp}pz/p{ Tinggi |zp} px= }/|t qp}pz p/psp xx}v zp} Ztwxs qp}p Berat pp ztwxs spx/ wxs tzp{ ttzp/| }y/{ xx}v zp}/qp
23
Notasi Matematis
Misalkan: C = chiperteks P = plainteks dilambangkan
Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi menjadi EK(P) = C DK(C) = P dan kedua fungsi ini memenuhi DK(EK(P)) = P
Aplikasi Bilangan Bulat 25
plainteks enkripsi
chiperteks dekripsi
plainteks semula
26
Jika kunci enkripsi sama dengan kunci dekripsi, maka sistem kriptografinya disebut sistem simetri atau sistem konvensional. Algoritma kriptografinya disebut simetri atau algoritma konvensional . Contoh algoritma simetri: - DES (Data Encyption Standard) - Rijndael
Aplikasi Bilangan Bulat 27
algoritma
Jika kunci enkripsi tidak sama dengan kunci dekripsi, maka sistem kriptografinya disebut sistem nirsimetri (asymmetric system)
Nama lain: sistem kriptografi kunci-publik karena, kunci enkripsi bersifat publik (public key) sedangkan kunci dekripsi bersifat rahasia (private key). Pengirim pesan menggunakan kunci publik si penerima pesan untuk mengenkripsi pesan
29
Kunci publik
Kunci privat
plainteks enkripsi
cipherteks dekripsi
plainteks asal
30
Caesar Cipher
Tiap huruf alfabet digeser 3 huruf ke kanan
pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Contoh:
Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
31
Misalkan A = 0, B = 1, , Z = 25, maka secara matematis caesar cipher dirumuskan sebagai berikut: Enkripsi: ci = E(pi) = (pi + 3) mod 26 Dekripsi: pi = D(ci) = (ci 3) mod 26
32
p1 = A = 0 c1 = E(0) = (0 + 3) mod 26 = 3 = D p2 = W = 22 c2 = E(22) = (22 + 3) mod 26 = 25 = Z p3 = A = 0 c3 = E(0) = (0 + 3) mod 26 = 3 = D p4 = S = 18 c4 = E(18) = (18 + 3) mod 26 = 21 = V dst Alternatif lain: gunakan tabel substitusi
33
Jika pergeseran huruf sejauh k, maka: Enkripsi: ci = E(pi) = (pi + k) mod 26 Dekripsi: pi = D(ci) = (ci k) mod 26 k = kunci rahasia
34
35
Algoritma RSA
Ditemukan oleh tiga peneliti dari MIT (Massachussets Institute of Technology), yaitu Ron Rivest, Adi Shamir, dan Len Adleman, pada tahun 1976. Termasuk algoritma kriptografi nirsimetri.
36
Setiap pengguna mempunya sepasan kunci: 1. Kunci publik: untuk enkripsi 2. Kunci privat: untuk dekripsi Kunci publik tidak rahasia (diktehui semua orang), kunci privat rahasia (hanya diketahui pemilik kunci saja)
Aplikasi Bilangan Bulat 37
Pembangkitan pasangan kunci 1. Pilih dua bilangan prima, a dan b (rahasia) 2. Hitung n = a b. Besaran n tidak perlu dirahasiakan. 3. Hitung m = (a 1)(b 1). 4. Pilih sebuah bilangan bulat untuk kunci publik, sebut namanya e, yang relatif prima terhadap m. 5. Hitung kunci dekripsi, d, melalui d 1 (mod m).
38
Enkripsi 1. Nyatakan pesan menjadi blok-blok plainteks: p1, p2, p3, (harus dipenuhi persyaratan bahwa nilai pi harus terletak dalam himpunan nilai 0, 1, 2, , n 1 untuk menjamin hasil perhitungan tidak berada di luar himpunan) 2. Hitung blok cipherteks ci untuk blok plainteks pi dengan persamaan ci = pie mod n yang dalam hal ini, e adalah kunci publik.
Aplikasi Bilangan Bulat 39
Dekripsi Proses dekripsi dilakukan dengan menggunakan persamaan pi = cid mod n, yang dalam hal ini, d adalah kunci privat.
40
Contoh 21. Misalkan a = 47 dan b = 71 (keduanya prima), maka dapat dihitung n = a b = 3337 m = (a 1)(b 1) = 3220. Pilih kunci publik e = 79 (yang relatif prima dengan 3220 karena pembagi bersama terbesarnya adalah 1). Nilai e dan n dapat dipublikasikan ke umum.
Aplikasi Bilangan Bulat 41
1 ( k 3220) d 79 Dengan mencoba nilai-nilai k = 1, 2, 3, , diperoleh nilai d yang bulat adalah 1019. Ini adalah kunci dekripsi.
Aplikasi Bilangan Bulat 42
Pecah P menjadi blok yang lebih kecil (misal 3 digit): p1 = 726 p4 = 273 p2 = 582 p5 = 787 p3 = 733 p6 = 003
Aplikasi Bilangan Bulat 43
Enkripsi setiap blok: c1 = 72679 mod 3337 = 215 c2 = 58279 mod 3337 = 776 dst untuk sisa blok lainnya Keluaran: chiperteks C = 215 776 1743 933 1731 158.
Dekripsi (menggunakan kunci privat d = 1019) p1 = 2151019 mod 3337 = 726 p2 =7761019 mod 3337 = 582 dst untuk sisi blok lainnya Keluaran: plainteks P = 7265827332737873 Aplikasi Bilangan Bulat 44 yang dalam ASCII karakternya adalah HARI
Penemu algoritma RSA menyarankan nilai a dan b panjangnya lebih dari 100 digit. Dengan demikian hasil kali n = a b akan berukuran lebih dari 200 digit.
Menurut Rivest dan kawan-kawan, uasaha untuk mencari faktor bilangan 200 digit membutuhkan waktu komputasi selama 4 milyar tahun! (dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai kecepatan 1 milidetik).
Aplikasi Bilangan Bulat 46
daftar pustaka
Doer Allan, Kenneth Levasseur, Applied Discrete Structures for Computer Science, Science Research Associates, Inc. Toronti,1985 Kolman, Bernard, Robert C.Busby,Sharon Ross, Discrete Mathematical Structures,Prentice Hall,1987 Munir, Rinaldi, Matematika Diskrit, Edisi kedua,Penerbit Informatika Bandung,2001 Rosen,Kenneth H.,Discreete Mathematics and Its Application, The Random House Birkhauser Mathematics Series NewYork,1987
Aplikasi Bilangan Bulat 47
Tugas
1. Sembilan angka pertama dari kode ISBN sebuah buku adalah 0-07-053965. Tentukan karakter uji untuk buku tersebut 2. Tentukan bagaimana sekumpulan data dengan kunci-kunci : 714, 631, 26, 373, 775, 906, 509, 2032, 42, 4, 136 dan 1028 disimpan dalam memori dengan fungsi hash h(k)= k mod 17? 3. Enskripsikan pesan Teknik Informatika UAD dengan algoritam RSA dengan nilai-nilai a=23, b=31, dan e=29?
Aplikasi Bilangan Bulat 48
web site
http://syssci.atu.edu/math/faculty/finan/mai n2.pdf http://www1.cs.columbia.edu/~zeph/3203s 04/lectures.html http://www.informatika.org/~rinaldi/Matdis/ matdis.htm
49