Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Rinaldi Munir/IF5054 Kriptografi1 Algoritma Kriptografi Klasik.

Presentasi serupa


Presentasi berjudul: "Rinaldi Munir/IF5054 Kriptografi1 Algoritma Kriptografi Klasik."— Transcript presentasi:

1 Rinaldi Munir/IF5054 Kriptografi1 Algoritma Kriptografi Klasik

2 Rinaldi Munir/IF5054 Kriptografi 2 Pendahuluan Algoritma kriptografi klasik berbasis karakter Termasuk ke dalam kriptografi simetri Tiga alasan mempelajari algoritma klasik: 1. Memahami konsep dasar kriptografi. 2. Dasar algoritma kriptografi modern. 3. Memahami kelemahan sistem cipher.

3 Rinaldi Munir/IF5054 Kriptografi 3 Algoritma kriptografi klasik: 1. Cipher Substitusi (Substitution Ciphers) 2.Cipher Transposisi (Transposition Ciphers)

4 Rinaldi Munir/IF5054 Kriptografi 4 Cipher Substitusi Contoh: Caesar Cipher Tiap huruf alfabet digeser 3 huruf ke kanan p i : 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 c i : 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 Contoh: Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA

5 Rinaldi Munir/IF5054 Kriptografi 5 Misalkan A = 0, B = 1, …, Z = 25, maka secara matematis caesar cipher dirumuskan sebagai berikut: Enkripsi: c i = E(p i ) = (p i + 3) mod 26 Dekripsi: p i = D(c i ) = (c i – 3) mod 26

6 Rinaldi Munir/IF5054 Kriptografi 6 Jika pergeseran huruf sejauh k, maka: Enkripsi: c i = E(p i ) = (p i + k) mod 26 Dekripsi: p i = D(c i ) = (c i – k) mod 26 k = kunci rahasia Untuk 256 karakter ASCII, maka: Enkripsi: c i = E(p i ) = (p i + k) mod 256 Dekripsi: p i = D(c i ) = (c i – k) mod 256 k = kunci rahasia

7 Rinaldi Munir/IF5054 Kriptografi 7

8 8 Kelemahan: Caesar cipher mudah dipecahkan dengan exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).

9 Rinaldi Munir/IF5054 Kriptografi 9 Contoh: kriptogram XMZVH Plainteks yang potensial adalah CREAM dengan k = 21. Kunci ini digunakan untuk mendekripsikan cipherteks lainnya.

10 Rinaldi Munir/IF5054 Kriptografi 10 PHHW PH DIWHU WKH WRJD SDUWB KEY 1oggv og chvgt vjg vqic rctva 2nffu nf bgufs uif uphb qbsuz 3meet me after the toga party 4Ldds ld zesdq sgd snfz ozqsx 5kccr kc ydrcp rfc rmey nyprw 6… 21 ummb um inbmz bpm bwoi xizbg 22 tlla tl hmaly aol avnh whyaf 23 skkz sk glzkx znk zumg vgxze 24 rjjy rj fkyjw ymj ytlf ufwyd 25 qiix qi ejxiv xli xske tevxc

11 Rinaldi Munir/IF5054 Kriptografi 11 Contoh: Kriptogram HSPPW menghasilkan dua kemungkinan kunci yang potensial, yaitu k = 4 menghasilkan pesan DOLLS dan k = 11 menghasilkan WHEEL. Jika kasusnya demikian, maka lakukan dekripsi terhadap potongan cipherteks lain tetapi cukup menggunakan k = 4 dan k = 11 agar dapat disimpulkan kunci yang benar.

12 Rinaldi Munir/IF5054 Kriptografi 12 Jenis-jenis Cipher Substitusi 1. Cipher abjad-tunggal (monoalphabetic cipher) Satu karakter di plainteks diganti dengan satu karakter yang bersesuaian. Jumlah kemungkinan susunan huruf-huruf cipherteks yang dapat dibuat adalah sebanyak 26! = Contoh: Caesar Cipher

13 Rinaldi Munir/IF5054 Kriptografi 13 Di dalam sistem operasi Unix, rot13 adalah fungsi menggunakan cipher abjad-tunggal dengan pergeseran k = 13 Contoh: rot13(ROTATE) = rot13(17,14,19,0,19,4)= EBGNGR Enkripsi arsip dua kali dengan rot13 menghasilkan arsip semula: P = rot13(rot13(P)) (Kenapa?)

14 Rinaldi Munir/IF5054 Kriptografi Cipher substitusi homofonik (Homophonic substitution cipher) Setiap karakter plainteks dipetakan ke dalam salah satu karakter cipherteks yang mungkin. Fungsi ciphering memetakan satu-ke-banyak (one-to- many). Misalnya huruf A dapat berkoresponden dengan 7, 9, atau 16, huruf B dapat berkoresponden dengan 5, 10, atau 23 dan seterusnya. Tujuan substitusi homofonik : untuk menyembunyikan hubungan statistik antara plainteks dengan cipherteks sehingga menyulitkan teknik analisis frekuensi.

15 Rinaldi Munir/IF5054 Kriptografi Cipher abjad-majemuk (Polyalphabetic substitution cipher ) Merupakan cipher substitusi-ganda yang melibatkan penggunaan kunci berbeda. Cipher abjad-majemuk dibuat dari sejumlah cipher abjad-tunggal, masing-masing dengan kunci yang berbeda. Kebanyakan cipher abjad-majemuk adalah cipher substitusi periodik yang didasarkan pada periode m.

16 Rinaldi Munir/IF5054 Kriptografi 16 Plainteks: P = p 1 p 2 … p m p m+1 … p 2m … Cipherteks: E k (P) = f 1 (p 1 ) f 2 (p 2 ) … f m (p m ) f m+1 (p m+1 ) … f 2m (p 2m ) … Untuk m = 1, cipher-nya ekivalen dengan cipher abjad-tunggal.

17 Rinaldi Munir/IF5054 Kriptografi 17 Contoh cipher substitusi periodik adalah cipher Vigenere Kunci: K = k 1 k 2 … k m k i untuk 1  i  m menyatakan jumlah pergeseran pada huruf ke-i. Karakter cipherteks: c i (p) = (p + k i ) mod 26 (*) Misalkan periode m = 20, maka 20 karakter pertama dienkripsi dengan persamaan (*), setiap karakter ke-i menggunakan kunci k i. Untuk 20 karakter berikutnya, kembali menggunakan pola enkripsi yang sama.

18 Rinaldi Munir/IF5054 Kriptografi 18 Contoh: Plainteks: SHE SELLS SEA SHELLS BY THE SEASHORE + Kunci KEY KEYKE YKE YKEYKE YK EYK EYKEYKEY Cipherteks: CLC CIJVW QOE QRIJVW ZI XFO WCKWFYVC

19 Rinaldi Munir/IF5054 Kriptografi Cipher substitusi poligram (Polygram substitution cipher ) Contoh: Playfair cipher Blok karakter disubstitusi dengan blok cipherteks. Misalnya ABA diganti dengan RTQ, ABB diganti dengan SLL, dan lain-lain.

20 Rinaldi Munir/IF5054 Kriptografi 20 Cipher Transposisi Cipherteks diperoleh dengan mengubah posisinya. Dengan kata lain, algoritma ini melakukan transpose terhadap rangkaian karakter di dalam teks. Nama lain untuk metode ini adalah permutasi, karena transpose setiap karakter di dalam teks sama dengan mempermutasikan karakter-karakter tersebut.

21 Rinaldi Munir/IF5054 Kriptografi 21 Contoh 4. Misalkan plainteks adalah DEPARTEMEN TEKNIK INFORMATIKA ITB Enkripsi: DEPART EMENTE KNIKIN FORMAT IKAITB Cipherteks: (baca secara vertikal) DEKFIEMNOKPEIRAANKMIRTIATTENTB

22 Rinaldi Munir/IF5054 Kriptografi 22 Dekripsi: Bagi panjang cipherteks dengan kunci. (Pada contoh ini, 30 / 6 = 5) DEKFI EMNOK PEIRA ANKMI RTIAT TENTB Plainteks: (baca secara vertikal) DEPARTEMEN TEKNIK INFORMATIKA ITB

23 Rinaldi Munir/IF5054 Kriptografi 23

24 Rinaldi Munir/IF5054 Kriptografi 24 Lebih jauh dengan Cipher Abjad- tunggal Jumlah kunci = jumlah cara menyusun 26 huruf abjad tersebut, yaitu sebanyak 26! = Contoh susunan tabel substitusi (acak): p i : 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 c i : D I Q M T B Z S Y K V O F E R J A U W P X H L C N G

25 Rinaldi Munir/IF5054 Kriptografi 25 Tip membuat kunci: 1. Pilih kunci dari sembarang kalimat: we hope you enjoy this book 2. Buang huruf yang berulang: wehopyunjtisbk 3. Sambung dengan huruf lain yang belum ada: W E H O P Y U N J T I S B K A C D F G L M Q R V X Z 4. Tabel substitusi: p i : 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 c i : W E H O P Y U N J T I S B K A C D F G L M Q R V X Z

26 Rinaldi Munir/IF5054 Kriptografi 26 Mendekripsi cipherteks tanpa mengetahui kunci (cipher substitusi abjad-tunggal): Metode yang digunakan: 1. Terkaan 2. Statistik Informasi tambahan: 1. Mengetahui bahasa plainteks 2. Konteks plainteks

27 Rinaldi Munir/IF5054 Kriptografi 27 Metode Terkaan Asumsi: bahasa plainteks adalah B Inggris Tujuan: mereduksi jumlah kunci Contoh 1. Cipherteks: G WR W RWL Plainteks: I AM A MA* I AM A MAN Jumlah kunci berkurang dari 26! menjadi 22!

28 Rinaldi Munir/IF5054 Kriptografi 28 Contoh 2. Cipherteks: HKC Plainteks:(lebih sukar ditentukan, tetapi tidak mungkin Z diganti dengan H, Q dengan K, dan K dengan C., karena tidak ada kata “ZQC” dalam Bahasa Inggris)

29 Rinaldi Munir/IF5054 Kriptografi 29 Contoh 3. Cipherteks: HATTPT Plainteks: salah satu dari T atau P merepresentasikan huruf vokal CHEESE MISSES CANNON

30 Rinaldi Munir/IF5054 Kriptografi 30 Contoh 4. Cipherteks: HATTPT Plainteks:(diketahui informasi bahwa pesan tersebut adalah nama negara. Dengan cepat kriptanalis menyimpulkan bahwa polygram tersebut adalah GREECE.)

31 Rinaldi Munir/IF5054 Kriptografi 31 Metode Statistik Paling umum digunakan

32 Rinaldi Munir/IF5054 Kriptografi 32 Terdapat sejumlah tabel frekuensi sejenis yang dipublikasikan oleh pengarang lain, namun secara umum persentase kemunculan tersebut konsisten pada sejumlah tabel. Kemunculan huruf-huruf di dalam plainteks tercermin pada tabel 2 di atas. Jika karakter “R” paling sering muncul di dalam cipherteks, maka kemungkinan besar itu adalah huruf “E” di dalam plainteks.

33 Rinaldi Munir/IF5054 Kriptografi 33 Contoh cipherteks: DIX DR TZX KXCQDIQ RDK XIHPSZXKPIB TZPQ TXGT PQ TD QZDM TZX KXCJXK ZDM XCQPVN TZPX TNSX DR HPSZXK HCI LX LKDUXI. TZX MDKJ QTKFHTFKX DR TZX SVCPITXGT ZCQ LXXI SKXQXKWXJ TD OCUX TZX XGXKHPQX XCQPXK. PR MX ZCJ MKPTTXI TZX. HKNSTDBKCOPI BKDFSQ DR RPWX VXTTXKQ TZXI PT MDFVJ ZCWX LXXI ZCKJXK. TD HDIWPIHX NDFKQXVWXQ DR TZPQ SCPKQ SCPKQ DR KXCJXKQ HCI SKDWPJX XCHZ DTZXK MPTZ HKNSTDBKCOQ MPTZ TZPQ VXTTXK BKDFSIB

34 Rinaldi Munir/IF5054 Kriptografi 34 Histogram kemunculan relatif:

35 Rinaldi Munir/IF5054 Kriptografi 35 Karakter yang paling sering muncul di dalam cipherteks adalah H. Dengan membandingkan Tabel 2 dengan histogram tersebut, kita dapat menyimpulkasn sementara bahwa H berkoresponden dengan E dan bahwa W berkoresponden dengan T. Tetapi kita belum dapat memastikannya. Masih diperlukan: - cara trial and error - pengetahuan tentang bahasa - konteks plainteks - intuisi

36 IF5054 Kriptografi 36 Vigènere Cipher Termasuk ke dalam cipher abjad-majemuk (polyalphabetic substitution cipher ). Ditemukan oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigènere pada abad 16. Sudah berhasil dipecahkan pada Abad 19.

37 IF5054 Kriptografi 37 Vigènere Cipher menggunakan Bujursangkar Vigènere untuk melakukan enkripsi. Setiap baris di dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Caesar Cipher.

38 IF5054 Kriptografi 38

39 IF5054 Kriptografi 39 Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang secara periodik. Bila panjang kunci adalah m, maka periodenya dikatakan m. Contoh: kunci = sony Plainteks: THIS PLAINTEXT Kunci: sony sonysonys

40 IF5054 Kriptografi 40 Contoh enkripsi:

41 IF5054 Kriptografi 41 Hasil enkripsi seluruhnya adalah sebagai berikut: Plainteks: THIS PLAINTEXT Kunci: sony sonysonys Cipherteks: LVVQ HZNGFHRVL

42 IF5054 Kriptografi 42 Huruf yang sama tidaks selalu dienkripsi menjadi huruf cipherteks yang sama pula. Contoh: huruf plainteks T dapat dienkripsi menjadi L atau H, dan huruf cipherteks V dapat merepresentasikan huruf plainteks H, I, dan X Hal di atas merupakan karakteristik dari cipher abjad-majemuk: setiap huruf cipherteks dapat memiliki kemungkinan banyak huruf plainteks. Pada cipher substitusi sederhana, setiap huruf cipherteks selalu menggantikan huruf plainteks tertentu.

43 IF5054 Kriptografi 43 Vigènere Cipher dapat mencegah frekuensi huruf-huruf di dalam cipherteks yang mempunyai pola tertentu yang sama seperti pada cipher abjad-tunggal. Jika periode kunci diketahui dan tidak terlalu panjang, maka kunci dapat ditentukan dengan menulis program komputer untuk melakukan exhaustive key search.

44 IF5054 Kriptografi 44 Contoh: Diberikan cipherteks sbb: TGCSZ GEUAA EFWGQ AHQMC dan diperoleh informasi bahwa panjang kunci adalah p huruf dan plainteks ditulis dalam Bahasa Inggris, maka running program dengan mencoba semua kemungkinan kunci yang panjangnya p huruf, lalu periksa apakah hasil dekripsi dengan kunci tersebut menyatakan kata yang berarti. Cara ini membutuhkan usaha percobaan sebanyak 26 p kali.

45 IF5054 Kriptografi 45 Playfair Cipher Termasuk ke dalam polygram cipher. Ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada tahun Kunci kriptografinya 25 buah huruf yang disusun di dalam bujursangkat 5x5 dengan menghilangkan huruf J dari abjad.

46 IF5054 Kriptografi 46 Jumlah kemungkinan kunci: 25!=

47 IF5054 Kriptografi 47 Susunan kunci di dalam bujursangkar diperluas dengan menambahkan kolom keenam dan baris keenam.

48 IF5054 Kriptografi 48 Pesan yang akan dienkripsi diatur terlebih dahulu sebagai berikut: 1. Ganti huruf J (bila ada) dengan I 2. Tulis pesan dalam pasangan huruf (bigram). 3. Jangan sampai ada pasangan huruf yang sama. Jika ada, sisipkan Z di tengahnya 4. Jika jumlah huruf ganjil,tambahkan huruf Z di akhir

49 IF5054 Kriptografi 49 Contoh: Plainteks: GOOD BROOMS SWEEP CLEAN → Tidak ada huruf J, maka langsung tulis pesan dalam pasangan huruf: GO OD BR OZ OM SZ SW EZ EP CL EA NZ

50 IF5054 Kriptografi 50 Algoritma enkripsi: 1. Jika dua huruf terdapat pada baris kunci yang sama maka tiap huruf diganti dengan huruf di kanannya. 2. Jika dua huruf terdapat pada kolom kunci yang sama maka tiap huruf diganti dengan huruf di bawahnya. 3. Jika dua huruf tidak pada baris yang sama atau kolom yang sama, maka huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua. Huruf kedua diganti dengan huruf pada titik sudut keempat dari persegi panjang yang dibentuk dari 3 huruf yang digunakan sampai sejauh ini.

51 IF5054 Kriptografi 51

52 IF5054 Kriptografi 52

53 IF5054 Kriptografi 53

54 IF5054 Kriptografi 54 Karena ada 26 huruf abjad, maka terdapat 26 x 26 = 677 bigram, sehingga identifikasi bigram individual lebih sukar. Analisis frekuensi kemunculan lebih sukar dilakukan karena frekuensi kemunculan karakter individual mempunyai rentang lebih besar daripada frekuensi kemunculan bigram.

55 IF5054 Kriptografi 55 Enigma Cipher Enigma adalah mesin yang digunakan Jerman selama Perang Dunia II untuk mengenkripsi/dekripsi pesan-pesan militer.

56 IF5054 Kriptografi 56

57 IF5054 Kriptografi 57 Enigma menggunakan sistem rotor (mesin berbentuk roda yang berputar) untuk membentuk huruf cipherteks yang berubah- ubah. Setelah setiap huruf dienkripsi, rotor kembali berputar untuk membentuk huruf cipherteks baru untuk huruf plainteks berikutnya.

58 IF5054 Kriptografi 58

59 IF5054 Kriptografi 59 Enigma menggunakan 4 buah rotor untuk melakukan substitusi. Ini berarti terdapat 26  26  26  26 = kemungkinan huruf cipherteks sebagai pengganti huruf plainteks sebelum terjadi perulangan urutan cipherteks. Setiap kali sebuah huruf selesai disubstitusi, rotor pertama bergeser satu huruf ke atas. Setiap kali rotor pertama selesai bergeser 26 kali, rotor kedua juga melakukan hal yang sama, demikian untuk rotor ke-3 dan ke-4.

60 IF5054 Kriptografi 60 Posisi awal keempat rotor dapat di-set; dan posisi awal ini menyatakan kunci dari Enigma. Jerman meyakini bahwa cipherteks yang dihasilkan Enigma tidak mungkin dipecahkan. Namun, sejarah membuktikan bahwa pihak Sekutu berhasil juga memecahkan kode Enigma. Keberhasilan memecahkan Enigma dianggap sebagai faktor yang memperpendek Perang Dunia II menjadi hanya 2 tahun.

61 IF5054 Kriptografi 61 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan: memperoleh cipher yang lebih kuat daripada hanya satu cipher saja. Mula-mula enkripsi dengan cipher substitusi sederhana (cipher abjad-tunggal), lalu hasilnya dienkripsi lagi dengan cipher transposisi.

62 IF5054 Kriptografi 62 Contoh: Plainteks: HELLO WORLD Enkripsi dengan caesar cipher menjadi: KHOOR ZRUOG Kemudian enkripsi lagi dengan cipher transposisi (k = 4): KHOO RZRU OGZZ Cipherteks akhir adalah: KROHZGORZOUZ


Download ppt "Rinaldi Munir/IF5054 Kriptografi1 Algoritma Kriptografi Klasik."

Presentasi serupa


Iklan oleh Google