Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

BILANGAN BULAT (lanjutan 1).

Presentasi serupa


Presentasi berjudul: "BILANGAN BULAT (lanjutan 1)."— Transcript presentasi:

1 BILANGAN BULAT (lanjutan 1)

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 Orang yang melakukan kriptanalisis disebut kriptanalis.
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 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: 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……. Maka diperoleh cipherteks sebagai berikut: AWASI ASTERIX DAN TEMANNYA OBELIX DZDVL DVWHULA GDQ WHPDQQBD REHOLA

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

13 Sistem Kriptografi Kunci Publik
plainteks enkripsi cipherteks dekripsi K1 K2 Enkripsi dan Dekripsi pada algoritma kriptografi modern Sistem Kriptografi Kunci Publik Jika proses enkripsi dan dekripsi menggunakan kunci yang tidak sama (K1 = K2), 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 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 Susun pesan menjadi blok-blok plainteks: p1, p2, p3, … , pi. Syaratnya nilai pi harus terletak dalam himpunan nilai (1, 2, 3, … , n–1) untuk menjamin hasil perhitungan tidak berada di luar himpunan. 2. Hitung blok cipherteks ci untuk blok palinteks pi dengan menggunakan persamaan ci = pie mod n  e adalah kunci publik. Dekripsi Proses dekripsi dilakukan dengan menggunakan rumus, pi = cid 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 Pilih nilai 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 harus relatif prima. 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 p1 = 726 p4 = 273 p2 = 582 p5 = 787 p2 = 733 p6 = 003 2. Hitung ci = pie mod n c1 = (726)79 mod 3337 = c2 = (582)79 mod 3337 = 776 c3 = (733)79 mod 3337 = c4 = (273)79 mod 3337 = 933 c5 = (787)79 mod 3337 = c6 = (003)79 mod 3337 = 158

18 Dekripsi Proses dekripsi menggunakan rumus, pi = cid mod n P1 = mod 3337 = 726 P2 = mod 3337 = 582 P3 = mod 3337 = 733 P4 = mod 3337 = 273 P5 = mod 3337 = 787 P6 = 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 Pilih nilai 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 harus relatif prima. 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 p1 = p5 = p9 = 776 p2 = p6 = p10 = 583 p3 = p7 = p11 = 073 p4 = p8 = 982

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

22 Dekripsi Proses dekripsi menggunakan rumus, pi = cid mod n p1 = mod 1887 = p7 = mod 1887 = 707 p2 = mod 1887 = p8 = mod 1887 = 982 p3 = mod 1887 = p9 = mod 1887 = 776 p4 = mod 1887 = p10 = mod 1887 = 583 p5 = mod 1887 = p11 = mod 1887 = 073 p6 = mod 1887 = 378

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. 132 102 15 5 558 32 1 2 3 4 6 7 8 9 10

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.


Download ppt "BILANGAN BULAT (lanjutan 1)."

Presentasi serupa


Iklan oleh Google