360 likes | 536 Views
9. BILANGAN BULAT. 9.6 Bilangan Prima Definisi 9.6 Bilangan bulat positif p > 1 disebut bilangan prima jika faktor-faktor positif dari p hanya 1 dan p. Dengan kata lain bilangan-bilangan positif yang habis membagi p hanya a dan p.
E N D
9.6 Bilangan Prima Definisi 9.6 Bilanganbulatpositif p > 1 disebutbilangan prima jikafaktor-faktorpositifdari p hanya 1 dan p. Dengankata lain bilangan-bilanganpositif yang habismembagi p hanya a dan p. Bilanganpositif yang lebihbesardari 1 danbukanbilangan prima disebutbilangankomposit
Sebagaicontoh, bilangan 37 adalahbilangan prima karenafaktor-faktornyahanyabilangan 1 dan 37. Sedangkanbilangan 39 adalahbilangankomposit, karenaselain 1 dan 39 masihadafaktor-faktor lainnya, yaitu 3 dan 13. Barisanbilangan prima dimulaidari 2, yaitu: 2, 3, 5, 7, 11, 13, …
Teorema 9.6 TeoremaDasarAritmatik (The Fundamental Theorem of Arithmatic) Setiapbilanganpositif yang lebihbesaratausamadengan 2 dapatdinyatakansebagaiperkaliansatu ataulebihbilangan prima. Secaraimplisitpernyataan “setiapbilanganpositif” padateorema 9.6 berartiberlakuuntukbilangan prima dankomposit.
Contoh 9.15 Faktor prima daribilangan-bilangan: 100, 64, 641, 999, dan 1024 adalah: 100 = 2 . 2 . 5 . 5 = 22 . 52 64 = 2 . 2 . 2 . 2 . 2 . 2 = 26 641 = 641 999 = 3 . 3 . 3 . 37 = 33 . 37 1024 = 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 . 2 = 210
Teorema 9.7 Jika n adalahbilangankomposit, maka n mempunyaifaktor prima yang lebihkecilatausamadengan Untukmengujiapakah n bilangan prima atau komposit, dapatkitaujidengancaramembagi n dengansalahsatubilangan prima 2, 3, …, atau bilangan prima Jika n habisdibagidengansalahsatubilangan prima tersebut ,maka n adalahbilangankomposit. Jikatidakadabilangan prima mulaidari 2 sampaidengan yang habismembagi n, maka n adalahbilangan prima
Contoh 9.16 Tentukanapakahbilangan-bilangan: 241 dan 1049 adalahbilangan prima ataukomposit. Penyelesaian: . Bilangan prima adalah 2, 3, 5, 7, 11, 13. Karenatidakadabilangan prima yang habismembagi 241, makabilangan 241 adalahbilangan prima. . Bilangan prima adalah 2, 3, 5, 7, 11, dan 13. Karenaadasalahsatubilangan prima yang , dalamhalini 11, yang habismembagi 187, makabilangan 187 adalahbilangankomposit.
9.7 Kriptografi Kriptografiadalahilmudanseniuntukmenjagakeamananpesan. Keamananpesandiperolehdenganmenyandikannya menjadipesan yang tidakdimengertiolehorang yang tidakberkepentingan Pesan yang akandisandikandisebutplainteks. Pesan yang telahdisandikandisebutcipherteks. Prosesmenyandikanpesandariplainteksmenjadicipherteksdisebutenkripsi. Prosesmengembalikancipherteksmenjadiplainteks disebutdekripsi.
Kriptanalisisadalahilmudanseniuntukmemecahkancipherteksmenjadiplaintekstanpamengetahuikunci yang diberikan. Orang yang melakukankriptanalisisdisebutkriptanalis. Kriptologiadalahstudimengenaikriptografidankriptanalisis. plainteks cipherteks enkripsi plainteks dekripsi Prosesenkripsidandekripsi
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)
Contoh 9.1 Plainteks : STRUKTUR DISKRIT Misalsekelompokorangsepakatuntukmenyandikanplainteksmenggunakanalgoritma yang sama. Algoritmanyaadalahmempertukarkanposisitiapduakarakter yang berurutanpadaplainteks, makadidapat, Cipherteks : TSURTKRU IDKSIRT Denganmenggunakanalgoritmatersebut, makacipherteksbisadikembalikanmenjadiplainteks.
Contoh 9.1 adalahcontohkriptografi yang mengandalkankerahasiaanalgoritma. Algoritma yang mengandalkankerahasiaanalgoritmadisebutalgoritmarestricted. Kelemahanalgoritmaadalahjikaadasatuataubeberapaorangkeluardarikelompoknya, makaalgoritmaharusdiubah, karenakerahasisaannyatidakbisadiandalkanlagi. Padasaatinikriptografitidaklagimengandalkankerahasiaanalgoritmanya. Algoritmabolehdiketahuiumum.
Kekuatanalgoritmasaatiniterletakpadakunci, yaituderetankarakterataubilanganbulat. Kuncidijagakerahasiaannyadanhanyaorang yang mengetahuikunci yang dapatmelakukanenkripsidandekripsi. Kuncitersebutsamafungsinyasepertisandi-lewat (password) padasistemkomputer, PIN padakartu ATM ataukartukredit. Perbedaannya, jikasandi-lewatatau PIN bertujuanuntukotorisasiakses, sedangkankuncipadakriptografidigunakanuntukprosesenkripsidandekripsi.
Caesar cipher Caesar cipher adalahteknikkriptografi yang digunakanolehKaisarRomawi, Julius Caesar untukmenyandikanpesan yang dikirimkepadaparapejabatnya. Pada Caesar cipher tiaphurufditukarkandenganhurufke 3 berikutnyadarisusunanalfabet. Kuncidarialgoritmainiadalahjumlahpergeseranhuruf, yaitu 3.
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
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.
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
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
K1 K2 plainteks cipherteks enkripsi EnkripsidanDekripsipadaalgoritmakriptografi modern SistemKriptografiKunciPublik Jikaprosesenkripsidandekripsimenggunakankunci yang tidaksama (K1 = K2), makadisebutSistem KriptografikuncipublikatauSistemKriptografi Nirsimetri. Contohalgoritmakuncipublikadalah RSA (Rivest-Shamir-Adleman). plainteks dekripsi
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).
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.
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.
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
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
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.
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
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
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
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
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
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.
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.