Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

9. BILANGAN BULAT. 9.7 Kriptografi Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Keamanan pesan diperoleh dengan menyandikannya menjadi.

Presentasi serupa


Presentasi berjudul: "9. BILANGAN BULAT. 9.7 Kriptografi Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Keamanan pesan diperoleh dengan menyandikannya menjadi."— Transcript presentasi:

1 9. BILANGAN BULAT

2 9.7 Kriptografi Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Keamanan pesan diperoleh dengan menyandikannya menjadi pesan yang tidak dimengerti oleh orang yang tidak berkepentingan Pesan yang akan disandikan disebut plainteks. Pesan yang telah disandikan disebut cipherteks. Proses menyandikan pesan dari plainteks menjadi cipherteks disebut enkripsi. Proses mengembalikan cipherteks menjadi plainteks disebut dekripsi.

3 Kriptanalisis adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks tanpa mengetahui kunci yang diberikan. Orang yang melakukan kriptanalisis disebut kriptanalis. Kriptologi adalah studi mengenai kriptografi dan kriptanalisis. plainteks enkripsi cipherteks dekripsi plainteks Proses enkripsi dan dekripsi

4 Notasi Matematis Jika cipherteks dilambangkan dengan C dan plainteks dilambangkan dengan P, maka fungsi enkripsi E memetakan P ke C, E(P) = C(9.1) Pada proses kebalikannya, fungsi enkripsi D memetakan C ke P, D(C) = P(9.2) Dari (9.1) dan (9.2) didapat, D(E(P)) = P(9.3)

5 Contoh 9.1 Plainteks : STRUKTUR DISKRIT Misal sekelompok orang sepakat untuk menyandikan plainteks menggunakan algoritma yang sama. Algoritmanya adalah mempertukarkan posisi tiap dua karakter yang berurutan pada plainteks, maka didapat, Cipherteks : TSURTKRU IDKSIRT Dengan menggunakan algoritma tersebut, maka cipherteks bisa dikembalikan menjadi plainteks.

6 Contoh 9.1 adalah contoh kriptografi yang mengandalkan kerahasiaan algoritma. Algoritma yang mengandalkan kerahasiaan algoritma disebut algoritma restricted. Kelemahan algoritma adalah jika ada satu atau beberapa orang keluar dari kelompoknya, maka algoritma harus diubah, karena kerahasisaannya tidak bisa diandalkan lagi. Pada saat ini kriptografi tidak lagi mengandalkan kerahasiaan algoritmanya. Algoritma boleh diketahui umum.

7 Kekuatan algoritma saat ini terletak pada kunci, yaitu deretan karakter atau bilangan bulat. Kunci dijaga kerahasiaannya dan hanya orang yang mengetahui kunci yang dapat melakukan enkripsi dan dekripsi. Kunci tersebut sama fungsinya seperti sandi-lewat (password) pada sistem komputer, PIN pada kartu ATM atau kartu kredit. Perbedaannya, jika sandi- lewat atau PIN bertujuan untuk otorisasi akses, sedangkan kunci pada kriptografi digunakan untuk proses enkripsi dan dekripsi.

8 Caesar cipher Caesar cipher adalah teknik kriptografi yang digunakan oleh Kaisar Romawi, Julius Caesar untuk menyandikan pesan yang dikirim kepada para pejabatnya. Pada Caesar cipher tiap huruf ditukarkan dengan huruf ke 3 berikutnya dari susunan alfabet. Kunci dari algoritma ini adalah jumlah pergeseran huruf, yaitu 3.

9 Susunan alfabet setelah digeser sejauh 3 haruf adalah: Plainteks : 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 Cipherteks : 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 Kunci yang digunakan adalah menggeser 3 huruf berikutnya. Artinya tiap huruf disubstitusi dengan huruf ke tiga berikutnya. Dengan mengkodekan setiap huruf dengan integer, yaitu A = 0, B = 1, C = 2, …, Z = 25, maka secara matematis pergeseran 3 huruf alfabet ekivalen dengan melakukan operasi modulo terhadap plainteks p menjadi cipherteks c dengan persamaan, c = E(p) = (p + 3) mod 26

10 Secara umum fungsi enkripsi dan dekripsi pada Caesar cipher dapat dibuat lebih umum dengan menggeser huruf alfabet sejauh K, sehingga Proses enkripsi dilakukan dengan menggunakan rumus c = E(p) = (p + K) mod 26 Sedangkan dekripsi p = D(c) = (c – K) mod 26 Pada persamaan diatas K disebut kunci. Contoh 9.2 Sandikan pesan: AWASI ASTERIX DAN TEMANNYA OBELIX dengan menggunakan Caesar cipher dengan K = 3.

11 Penyelesaian Dengan menggunakan rumus c = E(p) = (p + 3) mod 26 dan mengkonversi alfabet ke bilangan integer, maka cipherteks dapat ditentukan: p 1 = A  c 1 = E(0) = (0 + 3) mod 26 = 3 p 2 = W  c 2 = E(22) = (22 + 3) mod 26 = 25 p 3 = A  c 3 = E(0) = (0 + 3) mod 26 = 3 p 4 = S  c 4 = E(18) = (18 + 3) mod 26 = 21 dst……. Maka diperoleh cipherteks sebagai berikut: AWASI ASTERIX DAN TEMANNYA OBELIX DZDVL DVWHULA GDQ WHPDQQBD REHOLA

12 plainteks enkripsi cipherteks dekripsi plainteks K1K1 K2K2 Enkripsi dan Dekripsi pada algoritma kriptografi modern Sistem Kriptografi Kunci Simetri Jika proses enkripsi dan dekripsi menggunakan kunci yang sama (K 1 = K 2 ), maka disebut Sistem Kriptografi kunci simetri. Istilah lain yang digunakan adalah Kriptografi kunci pribadi. Contoh algoritma simetri adalah DES (Data Encryption Standard)

13 plainteks enkripsi cipherteks dekripsi plainteks K1K1 K2K2 Enkripsi dan Dekripsi pada algoritma kriptografi modern Sistem Kriptografi Kunci Publik Jika proses enkripsi dan dekripsi menggunakan kunci yang tidak sama (K 1 = K 2 ), maka disebut Sistem Kriptografi kunci publik atau Sistem Kriptografi Nirsimetri. Contoh algoritma kunci publik adalah RSA (Rivest-Shamir-Adleman).

14 Algoritma RSA Algoritma kriptografi RSA termasuk sistem kriptografi kunci publik, karena kunci enkripsi dan dekripsi berbeda. Berikut adalah algoritma RSA. Pembangkitan pasangan kunci 1.Pilih dua buah bilangan prima a dan b sembarang. Jaga kerahasiaan a dan b. 2. Hitung n = a.b. Nilai n tidak perlu dirahasiakan. 3. Hitung m = (a – 1)(b – 1). Setelah m dihitung, a dan b dapat dihapus agar tidak diketahui oleh pihak lain. 4. Pilih sebuah bilangan bulat e untuk kunci publik. Syaratnya adalah e dan m harus relatif prima. 5. Hitung kunci deskripsi d, dengan kekongruenan ed  1 (mod m).

15 Enkripsi 1.Susun pesan menjadi blok-blok plainteks: p 1, p 2, p 3, …, p i. Syaratnya nilai p i harus terletak dalam himpunan nilai (1, 2, 3, …, n–1) untuk menjamin hasil perhitungan tidak berada di luar himpunan. 2. Hitung blok cipherteks c i untuk blok palinteks p i dengan menggunakan persamaan c i = p i e mod n  e adalah kunci publik. Dekripsi Proses dekripsi dilakukan dengan menggunakan rumus, p i = c i d mod n  d adalah kunci publik.

16 Contoh 9.3 Lakukan proses enkripsi terhadap plainteks: HARI INI Penyelesaian Berdasarkan tabel ASCII, plainteks dapat dikonversi menjadi bentuk desimal Pembangkitan pasangan kunci 1.Pilih nilai a dan b masing-masing 47 dan Hitung n = (47)(71) = Hitung m = (47 – 1)(71 – 1) = Pilih e = 79. Ingat e dan m harus relatif prima. 5.Hitung d dari rumus ed  1 (mod m). Didapat d = Nilai d harus dirahasiakan.

17 Enkripsi 1. Nyatakan plainteks dalam bentuk blok-blok kecil, misalnya menjadi blok-blok yang berukuran 3 digit. Berdasarkan tabel ASCII, plainteks dapat dikonversi menjadi bentuk desimal p 1 = 726p 4 = 273 p 2 = 582p 5 = 787 p 2 = 733p 6 = Hitung c i = p i e mod n c 1 = (726) 79 mod 3337 = 215 c 2 = (582) 79 mod 3337 = 776 c 3 = (733) 79 mod 3337 = 1743 c 4 = (273) 79 mod 3337 = 933 c 5 = (787) 79 mod 3337 = 1731 c 6 = (003) 79 mod 3337 = 158

18 Dekripsi Proses dekripsi menggunakan rumus, p i = c i d mod n P 1 = mod 3337 = 726 P 2 = mod 3337 = 582 P 3 = mod 3337 = 733 P 4 = mod 3337 = 273 P 5 = mod 3337 = 787 P 6 = mod 3337 = 003 Kembali ke tabel ASCII, didapat:

19 Latihan Lakukan proses enkripsi terhadap plainteks: SISTEM INFORMASI Penyelesaian Berdasarkan tabel ASCII, plainteks dapat dikonversi menjadi bentuk desimal: Pembangkitan pasangan kunci 1.Pilih nilai a dan b masing-masing 37 dan Hitung n = (37)(51) = Hitung m = (37 – 1)(51 – 1) = Pilih e = 29. Ingat e dan m harus relatif prima. 5.Hitung d dari rumus ed  1 (mod m). Didapat d = 869. Nilai d harus dirahasiakan.

20 Enkripsi 1. Nyatakan plainteks dalam bentuk blok-blok kecil, misalnya menjadi blok-blok yang berukuran 3 digit. Berdasarkan tabel ASCII, plainteks dapat dikonversi menjadi bentuk desimal p 1 = 837 p 5 = 327 p 9 = 776 p 2 = 383 p 6 = 378 p 10 = 583 p 3 = 846 p 7 = 707 p 11 = 073 p 4 = 977 p 8 = 982

21 2. Hitung c i = p i e mod n c 1 = (837) 29 mod 1887 = 378 c 7 = (707) 29 mod 1887 = 317 c 2 = (383) 29 mod 1887 = 191 c 8 = (982) 29 mod 1887 = 217 c 3 = (846) 29 mod 1887 = 1815 c 9 = (776) 29 mod 1887 = 1775 c 4 = (977) 29 mod 1887 = 536 c 10 = (583) 29 mod 1887 = 955 c 5 = (327) 29 mod 1887 = 327 c 11 = (073) 29 mod 1887 = 1516 c 6 = (378) 29 mod 1887 = 837

22 Dekripsi Proses dekripsi menggunakan rumus, p i = c i d mod n p 1 = mod 1887 = 837 p 7 = mod 1887 = 707 p 2 = mod 1887 = 383 p 8 = mod 1887 = 982 p 3 = mod 1887 = 846 p 9 = mod 1887 = 776 p 4 = mod 1887 = 977 p 10 = mod 1887 = 583 p 5 = mod 1887 = 327 p 11 = mod 1887 = 073 p 6 = mod 1887 =

23 9.8 Fungsi Hash Data yang disimpan di dalamn memori komputer perlu ditempatkan dalam suatu cara sedemikian sehingga pencariannya apat dilakukan dengan cepat. Setiap data yang berupa record mempunyai field kunci yang unik yang membedakan suatu record dengan record lainnya. Fungsi Hash digunakan untuk menempatkan suatu record yang mempunyai nilai kunci k. Fungsi Hash yang paling umum berbentuk: H(k) = k mod m

24 Misal m = 11, sehingga kita mempunyai sel-sel memori yang diberi indeks 0 sampai 10. Kita akan menyimpan data record yang masingt-masing mempunyai kunci 15, 558, 32, 132, 102, dan 5. Pada mulanya sel-sel memori dalam keadaan kosong. Keenam data record tersebut masing-masing disimpan pada lokasi yang dihitung sebagai berikut: 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

25 Keadaan sel-sel memori setelah penyimpanan keenam data record tersebut digambarkan seperti berikut: Karena fungsi hash bukan fungsi satu ke satu (beberapa nilai k yang berbeda dapat menghasilkan nilai h(k) yang sama), maka dapat terjadi bentrokan (collision) dalam penempatan suatu data record. Misal kita akan menempatkan data record dengan kunci 257. Perhitungan hash menghasilkan h(257) = 257 mod 11 = 4, Padahal sel memori dengan lokasi 4 sudah terisi. Kita katakan telah terjadi bentrokan

26 Untuk mengatasi bentrokan perlu diterapkan kebijakan resolusi bentrokan (collision resolution policy). Satu kebijakan resolusi bentrokan adalah mencari sel tak terisi tertinggi berikutnya (dengan 0 diasumsikan mengikuti 10). Jika kita terapkan kebijakan ini, maka data record dengan kunci 257 ditempatkan p[ada posisi 6. Untuk mencari data record tertentu, maka kita gunakan fungsi hash kembali. Misal kita akan mencari data record dengan kunci p, maka kita hitung h(p) = p mod 11, misal h(p) = q. Jika record p sama dengan isi sel pada lokasi q, kita katakan lokasi record p ditemukan. Sebaliknya jika record p tidak sama dengan isi sel pada lokasi q, maka lihat posisi tertinggi berikutnya.

27 9.9 International Standard Book Number (ISBN) Buku yang diterbitkan oleh penerbit resmi biasanya disertai dengan kode ISBN yang terdiri dari 10 karakter. ISBN terdiri atas 4 bagian kode, yaitu : i)Kode yang mengidentifikasi bahasa, ii)Kode penerbit, iii)Kode yang diberikan secara unik pada buku tsb., iv)Karakter uji (dapat berupa ngka atau huruf X untuk mempresentasikan angka 10. Karaktewr uji digunakan untuk memvalidasi ISBN, tepatnya untuk mendeteksi kesalahan pada karakter ISBN atau kesalahan karena perpindahan angka- angkanya.

28 Karakter uji dipilih sedemikian rupa, sehingga : x i adalah karakter uji yang ke I di dalam kode ISBN. Untuk mendapatkan karakter uji, kita cukup menghitung:

29 Untuk kode ISBN 0–3015–4561–8, angka 0 adalah kode kelompok negara berbahasa Inggris, 3015 adalah kode penerbit, 4561 adalah karakter unik untuk buku yang diterbitkan oleh penerbit tersebut, dan 8 adalah karakter uji. Karakter uji didapat melalui perhitungan, 1(0)+2(3)+3(0)+4(1)+5(5)+6(4)+7(5)+8(6)+9(1)=151 Jadi karakter ujinya adalah 151 mod 11 = 8

30 Kode ISBN juga harus memenuhi, dan 231 mod 11 = 0 atau 231  0 (mod 11) Contoh 9.4 Nomor sebuah buku terbitan penerbit Indonesia adalah 979–939p–04–5. Tentukan p. Penyelesaian:

31 Diketahui karakter uji ISBN adalah 5. Hal ini berarti: Hitung: = p = p Jadi ( p) mod 11 = 5  p = 11 k + 5 1(9)+2(7)+3(9)+4(9)+5(3)+6(9)+7(p)+8(0)+9(4)

32 kp …… –1347 – …… Nilai p harus memenuhi 0  p  9

33 Latihan Nomor sebuah buku terbitan penerbit Indonesia adalah 0–07–289p05–0. Tentukan p. Penyelesaian: = 1(0)+2(0)+3(7)+4(2)+5(8)+6(9)+7(p)+8(0)+9(5) = p = p Jadi ( p) mod 11 = 0  p = 11 k + 0

34 kp …… 7 –13 14– …… Nilai p harus memenuhi 0  p  9. Jadi p = 9

35 9.10 Pembangkit Bilangan Acak Semu Bilangan acak (random) banyak digunakan pada program komputer, misalnya untuk program simulasi (misalnya mensimulasikan waktu kedatangan nasabah di bank, pompa bensin, dan seterusnya), program kriptografi, aplikasi statistik, dan sebagainya. 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.

36 Pembangkit deret bilangan semacam itu disebut Pembangkit Bilangan Acak Semu (Pseudo Random Number Generator) atau PRNG. Salah satu metode untuk membangkitkan bilangan acak adalah dengan pembangkit bilangan acak kongruen lanjar (Linear Congruential Generator) atau disingkat PRNG yang berbentuk, x n = (ax n-1 + b) mod m x n = bilangan acak ke –n dari deretnya x n-1 = bilangan acak sebelumnya a = faktor pengali b = increment m = modulus (a, b, m semuanya konstanta)

37 Kunci pembangkit adalah x 0 yang disebut umpan atau seed. LCG mempunyai periode tiodak lebih besar dari m. Jika a, b, dan m dipilih secara tepat (misalnya b seharusnya relatif prima terhadap m), maka LCG akan mempunyai periode maksimal m – 1. Contoh 9.5 Bangkitkanbilangan acak dengan menggunakan LCG. m = 17, a = 7, b = 11, dan x 0 = 0.

38 Penyelesaian Persamaan LCG berbentuk, x n = (ax n-1 + b) mod m  x n = (7x n ) mod 17 Perhitungan selanjutnya, x 1 = (7x n ) mod 17 = (7(0) + 11) mod 17 = 11 x 2 = (7x n ) mod 17 = (7(11) + 11) mod 17 = 3 dst…..

39 nxnxn nxnxn nxnxn nxnxn Terlihat pada n = 16 dan x 16 = x 0, maka bilangan acak berikutnya (x 17, x 18, dst.)

40 Latihan 1.Sembilan angka pertama dari kode ISBN sebuah buku adalah 0–07– Tentukan karakter uji buku tersebut! 2. ISB sebuah buku tentang algoritma adalah 0–471–55p80–8. Berapa nilai p? 3. Tunjukkan bagaimana sekumpulan data dengan kunci-kunci sebagai berikut: 714, 631, 26, 373, 906, 509, 2032, 42, 4, 136, 1028 ditempatkan dalam memori dengan fungsi hash h(k) = k mod Tentukan bilangan acak yang dihasilkan oleh x n+1 = (4x n + 1) mod 7 dengan umpan x 0 = 7

41 PENYELESAIAN SOAL UJIAN TENGAH SEMESTER

42 pq qqp  q  (p  q)  (p  q)   q FFTTFT FTFTFT TFTFTT TTFTFT Penyelesaian 1. Tunjukkan dengan tabel kebenaran bahwa implikasi  (p  q)   q adalah tautologi. Penyelesaian Karena nilai kebenaran  (p  q)   q selalu benar maka terbuti bahwa  (p  q)   q adalah Tautologi

43 2. Diketahui R = {(0,1), (1,1), (1,2), (2,0), (2,2), (3,0)} adalah relasi pada himpunan A = {0, 1, 2, 3}. Tentukan klosur refleksif dan klosur setangkup dari R. Penyelesaian  = {(0,0), (1,1), (2,2), (3,3)} R-1 = {(1,0), (1,1), (2,1), (0,2), (2,2), (0,3)} Klosur Refleksif = R ⋃  = {(0,1), (1,1), (1,2), (2,0), (2,2), (3,0)} ⋃ {(0,0), (1,1), (2,2), (3,3)} = {(0,0), (0,1), (1,1), (1,2), (2,0), (2,2), (3,0), (3,3)} Klosur Setangkup = R ⋃ R-1 ={(0,1), (0,2), (0,3), (1,0), (1,1), (1,2), (2,0), (2,1), (2,2), (3,0)}

44 3. Buktikan melalui induksi matematik bahwa, Penyelesaian: Langkah Dasar:

45 Langkah Induksi maka berlaku:

46 Pembuktian: (terbukti)

47 4. Tentukan PBB (12345, 54321) dengan menggunakan algoritma Euclidean! Penyelesaian: = (4) = (2) = (2) = (164) = (5)3 + 0 Didapat PBB ( 12345, 54321) = 3

48 5. Tentukan inversi dari 7 modulo 26 Penyelesaian

49 S e l e s a i


Download ppt "9. BILANGAN BULAT. 9.7 Kriptografi Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan. Keamanan pesan diperoleh dengan menyandikannya menjadi."

Presentasi serupa


Iklan oleh Google