270 likes | 448 Views
BILANGAN BULAT (lanjutan 1). 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 .
E N D
BILANGAN BULAT (lanjutan 1)
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.