1 / 40

9. BILANGAN BULAT

9. BILANGAN BULAT. 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 .

aden
Télécharger la présentation

9. BILANGAN BULAT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 9. BILANGAN BULAT

  2. 9.7 Kriptografi Kriptografiadalahilmudanseniuntukmenjagakeamananpesan. Keamananpesandiperolehdenganmenyandikannya menjadipesan yang tidakdimengertiolehorang yang tidakberkepentingan Pesan yang akandisandikandisebutplainteks. Pesan yang telahdisandikandisebutcipherteks. Prosesmenyandikanpesandariplainteksmenjadicipherteksdisebutenkripsi. Prosesmengembalikancipherteksmenjadiplainteks disebutdekripsi.

  3. Kriptanalisisadalahilmudanseniuntukmemecahkancipherteksmenjadiplaintekstanpamengetahuikunci yang diberikan. Orang yang melakukankriptanalisisdisebutkriptanalis. Kriptologiadalahstudimengenaikriptografidankriptanalisis. plainteks cipherteks enkripsi plainteks dekripsi Prosesenkripsidandekripsi

  4. NotasiMatematis Jikacipherteksdilambangkandengan C danplainteksdilambangkandengan P, makafungsienkripsi E memetakan P ke C, E(P) = C (9.1) Padaproseskebalikannya, fungsienkripsi 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 Misalsekelompokorangsepakatuntukmenyandikanplainteksmenggunakanalgoritma yang sama. Algoritmanyaadalahmempertukarkanposisitiapduakarakter yang berurutanpadaplainteks, makadidapat, Cipherteks : TSURTKRU IDKSIRT Denganmenggunakanalgoritmatersebut, makacipherteksbisadikembalikanmenjadiplainteks.

  6. Contoh 9.1 adalahcontohkriptografi yang mengandalkankerahasiaanalgoritma. Algoritma yang mengandalkankerahasiaanalgoritmadisebutalgoritmarestricted. Kelemahanalgoritmaadalahjikaadasatuataubeberapaorangkeluardarikelompoknya, makaalgoritmaharusdiubah, karenakerahasisaannyatidakbisadiandalkanlagi. Padasaatinikriptografitidaklagimengandalkankerahasiaanalgoritmanya. Algoritmabolehdiketahuiumum.

  7. Kekuatanalgoritmasaatiniterletakpadakunci, yaituderetankarakterataubilanganbulat. Kuncidijagakerahasiaannyadanhanyaorang yang mengetahuikunci yang dapatmelakukanenkripsidandekripsi. Kuncitersebutsamafungsinyasepertisandi-lewat (password) padasistemkomputer, PIN padakartu ATM ataukartukredit. Perbedaannya, jikasandi-lewatatau PIN bertujuanuntukotorisasiakses, sedangkankuncipadakriptografidigunakanuntukprosesenkripsidandekripsi.

  8. Caesar cipher Caesar cipher adalahteknikkriptografi yang digunakanolehKaisarRomawi, Julius Caesar untukmenyandikanpesan yang dikirimkepadaparapejabatnya. Pada Caesar cipher tiaphurufditukarkandenganhurufke 3 berikutnyadarisusunanalfabet. Kuncidarialgoritmainiadalahjumlahpergeseranhuruf, yaitu 3.

  9. Susunanalfabetsetelahdigesersejauh 3 harufadalah: 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 digunakanadalahmenggeser 3 hurufberikutnya. Artinyatiaphurufdisubstitusidenganhurufketigaberikutnya. Denganmengkodekansetiaphurufdengan integer, yaitu A = 0, B = 1, C = 2, … , Z = 25, makasecaramatematispergeseran 3 hurufalfabetekivalendenganmelakukanoperasi modulo terhadapplainteks p menjadicipherteks c denganpersamaan, c = E(p) = (p + 3) mod 26

  10. Secaraumumfungsienkripsidandekripsipada Caesar cipher dapatdibuatlebihumumdenganmenggeserhurufalfabetsejauh K, sehingga Prosesenkripsidilakukandenganmenggunakanrumus c = E(p) = (p + K) mod 26 Sedangkandekripsi p = D(c) = (c – K) mod 26 PadapersamaandiatasK disebutkunci. Contoh 9.2 Sandikanpesan: AWASI ASTERIX DAN TEMANNYA OBELIX denganmenggunakan Caesar cipher dengan K = 3.

  11. Penyelesaian Denganmenggunakanrumus c = E(p) = (p + 3) mod 26 danmengkonversialfabetkebilangan integer, maka cipherteksdapatditentukan: p1 = A  c1 = E(0) = (0 + 3) mod 26 = 3 p2 = W  c2 = E(22) = (22 + 3) mod 26 = 25 p3 = A  c3 = E(0) = (0 + 3) mod 26 = 3 p4 = S  c4 = E(18) = (18 + 3) mod 26 = 21 dst……. Makadiperolehciphertekssebagaiberikut: AWASI ASTERIX DAN TEMANNYA OBELIX DZDVL DVWHULA GDQ WHPDQQBD REHOLA

  12. K1 K2 plainteks cipherteks enkripsi EnkripsidanDekripsipadaalgoritmakriptografi modern SistemKriptografiKunciSimetri Jikaprosesenkripsidandekripsimenggunakankunci yang sama (K1 = K2), makadisebutSistemKriptografi kuncisimetri. Istilah lain yang digunakanadalah Kriptografikuncipribadi. Contohalgoritmasimetri adalah DES (Data Encryption Standard) plainteks dekripsi

  13. K1 K2 plainteks cipherteks enkripsi EnkripsidanDekripsipadaalgoritmakriptografi modern SistemKriptografiKunciPublik Jikaprosesenkripsidandekripsimenggunakankunci yang tidaksama (K1 = K2), makadisebutSistem KriptografikuncipublikatauSistemKriptografi Nirsimetri. Contohalgoritmakuncipublikadalah RSA (Rivest-Shamir-Adleman). plainteks dekripsi

  14. Algoritma RSA Algoritmakriptografi RSA termasuksistemkriptografi kuncipublik, karenakuncienkripsidandekripsi berbeda. Berikutadalahalgoritma RSA. Pembangkitanpasangankunci Pilihduabuahbilangan prima a dan b sembarang. Jagakerahasiaan a dan b. 2. Hitungn = a.b. Nilai n tidakperludirahasiakan. 3. Hitungm = (a – 1)(b – 1). Setelah m dihitung, adan bdapatdihapus agar tidakdiketahuiolehpihak lain. 4. Pilihsebuahbilanganbulate untukkuncipublik. Syaratnyaadalahedanmharusrelatif prima. 5. Hitungkuncideskripsi d, dengankekongruenan ed 1 (mod m).

  15. Enkripsi Susunpesanmenjadiblok-blokplainteks: p1, p2, p3, … , pi. Syaratnyanilai piharusterletak dalamhimpunannilai (1, 2, 3, … , n–1) untuk menjaminhasilperhitungantidakberadadiluar himpunan. 2. Hitungblokcipherteksciuntukblokpalinteks pi denganmenggunakanpersamaan ci = piemod n  eadalahkuncipublik. Dekripsi Prosesdekripsidilakukandenganmenggunakanrumus, pi = cidmod n  dadalahkuncipublik.

  16. Contoh 9.3 Lakukanprosesenkripsiterhadapplainteks: HARI INI Penyelesaian Berdasarkantabel ASCII, plainteksdapatdikonversi menjadibentukdesimal 7265827332737873 Pembangkitanpasangankunci Pilihnilai a dan b masing-masing 47 dan 71. Hitung n = (47)(71) = 3337 Hitung m = (47 – 1)(71 – 1) = 3220 Pilih e = 79. Ingat e dan m harusrelatif prima. Hitung d darirumused 1 (mod m). Didapatd = 1019. Nilai d harusdirahasiakan.

  17. Enkripsi 1. Nyatakanplainteksdalambentukblok-blokkecil, misalnyamenjadiblok-blok yang berukuran 3 digit. Berdasarkantabel ASCII, plainteksdapatdikonversi menjadibentukdesimal 7265827332737873 p1 = 726 p4 = 273 p2 = 582 p5 = 787 p2 = 733 p6 = 003 2. Hitungci = piemod n c1 = (726)79 mod 3337 = 215 c2 = (582)79 mod 3337 = 776 c3 = (733)79 mod 3337 = 1743 c4 = (273)79 mod 3337 = 933 c5 = (787)79 mod 3337 = 1731 c6 = (003)79 mod 3337 = 158

  18. Dekripsi Prosesdekripsimenggunakanrumus, pi = cidmod n P1 = 2151019 mod 3337 = 726 P2 = 7761019 mod 3337 = 582 P3 = 17431019 mod 3337 = 733 P4 = 9331019 mod 3337 = 273 P5 = 17311019 mod 3337 = 787 P6 = 1581019 mod 3337 = 003 Kembaliketabel ASCII, didapat: 726582733273787003

  19. Latihan Lakukanprosesenkripsiterhadapplainteks: SISTEM INFORMASI Penyelesaian Berdasarkantabel ASCII, plainteksdapatdikonversi menjadibentukdesimal: 83738384697732737870798277658373 Pembangkitanpasangankunci Pilihnilai a dan b masing-masing 37 dan 51. Hitung n = (37)(51) = 1887 Hitung m = (37 – 1)(51 – 1) = 1800 Pilih e = 29. Ingat e dan m harusrelatif prima. Hitung d darirumused 1 (mod m). Didapatd = 869. Nilai d harusdirahasiakan.

  20. Enkripsi 1. Nyatakanplainteksdalambentukblok-blokkecil, misalnyamenjadiblok-blok yang berukuran 3 digit. Berdasarkantabel ASCII, plainteksdapatdikonversi menjadibentukdesimal 83738384697732737870798277658373 p1 = 837 p5 = 327 p9 = 776 p2 = 383 p6 = 378 p10 = 583 p3 = 846 p7 = 707 p11 = 073 p4 = 977 p8 = 982

  21. 2. Hitungci = piemod n c1 = (837)29 mod 1887 = 378 c7 = (707)29 mod 1887 = 317 c2 = (383)29 mod 1887 = 191 c8 = (982)29 mod 1887 = 217 c3 = (846)29 mod 1887 = 1815 c9 = (776)29 mod 1887 = 1775 c4 = (977)29 mod 1887 = 536 c10 = (583)29 mod 1887 = 955 c5 = (327)29 mod 1887 = 327 c11 = (073)29 mod 1887 = 1516 c6 = (378)29 mod 1887 = 837

  22. Dekripsi Prosesdekripsimenggunakanrumus, pi = cidmod n p1 = 378869 mod 1887 = 837 p7 = 317869 mod 1887 = 707 p2 = 191869 mod 1887 = 383 p8 = 217869 mod 1887 = 982 p3 = 1815869 mod 1887 = 846 p9 = 1775869 mod 1887 = 776 p4 = 536869 mod 1887 = 977 p10 = 955869 mod 1887 = 583 p5 = 327869 mod 1887 = 327 p11 = 1516869 mod 1887 = 073 p6 = 837869 mod 1887 = 378 83738384697732737870798277658373

  23. 9.8 Fungsi Hash Data yang disimpandidalamnmemorikomputerperluditempatkandalamsuatucarasedemikiansehinggapencariannyaapatdilakukandengancepat. Setiap data yang beruparecordmempunyaifieldkunci yang unik yang membedakansuaturecorddenganrecordlainnya. FungsiHashdigunakanuntukmenempatkansuaturecord yang mempunyainilaikuncik. Fungsi Hash yang paling umumberbentuk: H(k) = k mod m

  24. Misalm = 11, sehinggakitamempunyaisel-selmemori yang diberiindeks 0 sampai 10. Kita akanmenyimpan data record yang masingt-masingmempunyaikunci 15, 558, 32, 132, 102, dan 5. Padamulanyasel-selmemoridalamkeadaankosong. Keenam data recordtersebutmasing-masingdisimpanpadalokasi yang dihitungsebagaiberikut: 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. Keadaansel-selmemorisetelahpenyimpanankeenam data recordtersebutdigambarkansepertiberikut: Karenafungsihashbukanfungsisatukesatu (beberapanilaik yang berbedadapatmenghasilkannilaih(k) yang sama), makadapatterjadibentrokan (collision) dalampenempatansuatu data record. Misalkitaakanmenempatkan data record dengankunci 257. Perhitungan hash menghasilkan h(257) = 257 mod 11 = 4, Padahalselmemoridenganlokasi 4 sudahterisi. Kita katakantelahterjadibentrokan.

  26. Untukmengatasibentrokanperluditerapkankebijakanresolusibentrokan (collision resolution policy). Satukebijakanresolusibentrokanadalahmencariseltakterisitertinggiberikutnya (dengan 0 diasumsikanmengikuti 10). Jikakitaterapkankebijakanini, maka data recorddengankunci 257 ditempatkan p[adaposisi 6. Untukmencari data recordtertentu, makakitagunakanfungsihashkembali. Misalkitaakanmencari data recorddengankuncip, makakitahitungh(p) = p mod 11, misalh(p) = q. Jikarecordpsamadenganisiselpadalokasiq, kitakatakanlokasirecordpditemukan. Sebaliknyajikarecordptidaksamadenganisiselpadalokasi q, makalihatposisitertinggiberikutnya.

  27. 9.9 International Standard Book Number (ISBN) Buku yang diterbitkanolehpenerbitresmibiasanyadisertaidengankode ISBN yang terdiridari 10 karakter. ISBN terdiriatas 4 bagiankode, yaitu : Kode yang mengidentifikasibahasa, Kodepenerbit, Kode yang diberikansecaraunikpadabukutsb., Karakteruji (dapatberupangkaatauhuruf X untukmempresentasikanangka 10. Karaktewrujidigunakanuntukmemvalidasi ISBN, tepatnyauntukmendeteksikesalahanpadakarakter ISBN ataukesalahankarenaperpindahanangka-angkanya.

  28. Karakterujidipilihsedemikianrupa, sehingga : xiadalahkarakteruji yang ke I didalamkode ISBN. Untukmendapatkankarakteruji, kitacukupmenghitung:

  29. Untukkode ISBN 0–3015–4561–8, angka 0 adalahkodekelompoknegaraberbahasaInggris, 3015 adalahkodepenerbit, 4561 adalahkarakterunikuntukbuku yang diterbitkanolehpenerbittersebut, dan 8 adalahkarakteruji. Karakterujididapatmelaluiperhitungan, 1(0)+2(3)+3(0)+4(1)+5(5)+6(4)+7(5)+8(6)+9(1)=151 Jadikarakterujinyaadalah 151 mod 11 = 8

  30. Kode ISBN jugaharusmemenuhi, dan 231 mod 11 = 0 atau 231  0 (mod 11) Contoh 9.4 Nomorsebuahbukuterbitanpenerbit Indonesia adalah 979–939p–04–5. Tentukanp. Penyelesaian:

  31. Diketahuikarakteruji ISBN adalah 5. Hal iniberarti: Hitung: = 9 + 14 + 27 + 36 + 15 + 54 + 7p + 0 + 36 = 191 + 7p Jadi (191 + 7p) mod 11 = 5  191 + 7p = 11 k + 5 1(9)+2(7)+3(9)+4(9)+5(3)+6(9)+7(p)+8(0)+9(4)

  32. Nilaipharusmemenuhi 0  p  9

  33. Latihan Nomorsebuahbukuterbitanpenerbit Indonesia adalah 0–07–289p05–0. Tentukanp. Penyelesaian: = 1(0)+2(0)+3(7)+4(2)+5(8)+6(9)+7(p)+8(0)+9(5) = 0 + 0 + 21 + 8 + 40 + 54 + 7p + 0 + 45 = 168 + 7p Jadi (168 + 7p) mod 11 = 0  168 + 7p = 11 k + 0

  34. Nilaipharusmemenuhi 0  p  9. Jadi p = 9

  35. 9.10 PembangkitBilanganAcakSemu Bilanganacak (random) banyakdigunakanpada program komputer, misalnyauntuk program simulasi (misalnyamensimulasikanwaktukedatangannasabahdi bank, pompabensin, danseterusnya), program kriptografi, aplikasistatistik, dansebagainya. Tidakadakomputasi yang benar-benarmenghasilkanderetbilanganacaksecarasempurna. Bilanganacak yang dihasilkandenganrumus-rumusmatematikaadalahbilanganacaksemu (pseudo), karenapembangkitanbilangannyadapatdiulangkembali.

  36. PembangkitderetbilangansemacamitudisebutPembangkitBilanganAcakSemu (Pseudo Random Number Generator) atauPRNG. Salahsatumetodeuntukmembangkitkanbilanganacakadalahdenganpembangkitbilanganacakkongruenlanjar (Linear Congruential Generator) ataudisingkatPRNG yang berbentuk, xn = (axn-1 + b) mod m xn= bilanganacakke –n darideretnya xn-1= bilanganacaksebelumnya a = faktorpengali b = increment m = modulus (a, b, m semuanyakonstanta)

  37. Kuncipembangkitadalah x0 yang disebutumpanatauseed. LCG mempunyaiperiodetiodaklebihbesardarim. Jikaa, b, danmdipilihsecaratepat (misalnyabseharusnyarelatif prima terhadapm), makaLCGakanmempunyaiperiodemaksimalm – 1. Contoh 9.5 BangkitkanbilanganacakdenganmenggunakanLCG. m = 17, a = 7, b = 11, danx0 = 0.

  38. Penyelesaian Persamaan LCG berbentuk, xn = (axn-1 + b) mod m  xn = (7xn-1 + 11) mod 17 Perhitunganselanjutnya, x1 = (7xn-1+ 11) mod 17 = (7(0) + 11) mod 17 = 11 x2 = (7xn-1+ 11) mod 17 = (7(11) + 11) mod 17 = 3 dst…..

  39. Terlihatpada n = 16 dan x16 = x0 , makabilangan acakberikutnya (x17 , x18 , dst.)

  40. Latihan Sembilan angkapertamadarikode ISBN sebuah bukuadalah 0–07–053965. Tentukankarakteruji bukutersebut! 2. ISB sebuahbukutentangalgoritmaadalah 0–471–55p80–8. Berapanilaip? 3. Tunjukkanbagaimanasekumpulan data dengan kunci-kuncisebagaiberikut: 714, 631, 26, 373, 906, 509, 2032, 42, 4, 136, 1028 ditempatkandalam memoridenganfungsihash h(k) = k mod 17. 4. Tentukanbilanganacak yang dihasilkanoleh xn+1 = (4xn + 1) mod 7 denganumpan x0 = 7

More Related