Dipakai - Algoritma Klasik 2 [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

KRIPTOGRAFI Pertemuan Ke-3 Semester Genap 2016-2017



KRIPTOGRAFI KLASIK II



Dr. R. Rizal Isnanto, S.T., M.M., M.T.



KRIPTOGRAFI KLASIK • Ada 4 algoritma kriptografi klasik yang dipelajari pada pertemuan kali ini • Keempat algoritma tersebut adalah: ▫ ▫ ▫ ▫



SANDI AFFINE HILL ONE-TIME PAD ROTOR



Konsep Modulo • Konsep Modulo merupakan bagian yang dibahas pada Matematika Diskret. Sangat sering dipakai dlm alg. Modern • Operasi modulo, misal: a mod b = c mempersyaratkan nilai-nilai a, b, dan c harus integer (bulat), dengan c merupakan sisa hasil-bagi bulat dari a/b  div (a/b) • Contoh: 10/3 = 3, sisa 1  maka 10 mod 3 = 1 • Penggunaan kalkulator yang tidak ada fungsi mod-nya contoh: Berapa 124 mod 5? cara: 124 : 5 = 24.8 24 0.8 0.8*5 = 4 Sehingga, 124 mod 5 = 4, atau bisa ditulis: 124 4 mod 5



Konsep Modulo



• Jika a mod b, dengan a < b, maka a mod b = a • Jika a mod b, dengan a > b/2 dan a < b maka a mod b = a-b = (b-a) Contoh: berapakah 31 mod 33? Jawab: a = 31, b = 33, dengan a < b (=31 < 33), sekaligus a > b/2 (= 31 > 33/2 = 16,5), maka dapat dituliskan: 31 mod 33 = 31 31-33 -2 mod 33 atau dapat ditulis: 31 31-33 -2 mod 33 yang merupakan cara penulisan cepat. Angka hasil modulo yang kecil lebih disukai  lebih mudah penghitungannya pada fast exponentiation (dibahas nanti) Model penulisan lain (lebih panjang): 31 mod 33 = (31-33) mod 33 = -2 mod 33 = -2



Sandi AFFINE • Sandi ini menggunakan pasangan kunci (a , b) untuk menentukan sebuah ciphertext • Harus ada konversi dari teks ke huruf sebagai berikut (H = Huruf; A = Angka)



Sandi AFFINE… C0 = (a P0 + b) mod 26 C1 = (a P1 + b) mod 26 Kunci (a,b) Contoh : Plaintext : BIMASAKTI, kunci (15,7) Jawaban : Harus melihat tabel konversi



Sandi AFFINE… • Enkripsi B



C(0) =



((15 x 1)+7) mod 26 =



22 mod 26 =



22 =



W



I



C(1) =



((15 x 8)+7) mod 26 =



127 mod 26 =



23 =



X



M



C(2) =



((15 x 12)+7) mod 26 =



187 mod 26 =



5 =



F



A



C(3) =



((15 x 0)+7) mod 26 =



7 mod 26 =



7 =



H



S



C(4) =



((15 x 18)+7) mod 26 =



277 mod 26 =



17 =



R



A



C(5) =



((15 x 0)+7) mod 26 =



7 mod 26 =



7 =



H



K



C(6) =



((15 x 10)+7) mod 26 =



157 mod 26 =



1 =



B



T



C(7) =



((15 x 9)+7) mod 26 =



142 mod 26 =



12 =



M



I



C(8) =



((15 x 8)+7) mod 26 =



127 mod 26 =



23 =



X



Sandi AFFINE… • Dekripsi – Dimulai dengan mencari kunci terlebih dahulu – Prosedur : known plaintext attack W = C0 = (a P0 + b) mod 26 X = C1 = (a P1 + b) mod 26 22 = (a . 1 + b) mod 26 23 = (a . 8 + b) mod 26



a + b = 22 8a + b = 23 7a = 1 mod 26



Sandi AFFINE… • Menggunakan : Metode Trial and Error Didapatkan : a = 15 Jadi : a + b = 22 15 + b = 22 b = 22 – 15 b=7



a 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 : : 25



7a mod 26 = 0 mod 26 7 mod 26 14 mod 26 21 mod 26 28 mod 26 35 mod 26 42 mod 26 49 mod 26 56 mod 26 63 mod 26 70 mod 26 77 mod 26 84 mod 26 91 mod 26 98 mod 26 105 mod 26 : : 157 mod 26



= = = = = = = = = = = = = = = = : : =



1



Keterangan



0 7 14 21 2 9 16 23 4 11 18 25 6 13 20 1 : : 19



tidak tidak tidak tidak tidak tidak tidak tidak tidak tidak tidak tidak tidak tidak tidak YA : : tidak



Sandi Hill  Sandi Polyalphabet dengan perkalian matriks  Contoh : Teks : “MATAHARI” Kunci : Huruf ke-



0



1 2 3 4 5 6 7 8 9 10 11 12



Plaintext



A B C D E F G H



Huruf ke-



13 14 15 16 17 18 19 20 21 22 23 24 25



Plaintext



N O P Q R S T U V W X Y Z



MATAHARI = {12, 0, 19, 0, 7, 0, 17, 8}



I



J K L M



Sandi Hill…



Jadi Ciphertext-nya = QIIRSJST



Sandi One-Time Pad • Setiap karakter/blok karakter, kuncinya dibangkitkan secara acak untuk semua plaintext, dan hanya digunakan sekali. • Contoh: one-time pad dengan sandi Caesar • Plaintext: “INITEKSRAHASIA” • Kunci: {8 , 15 , 17 , 3 , 11 , 19 , 24 , 8 , 1 , 14 , 14 , 18 , 24 , 23}



Sandi One-Time Pad…



Sandi Rotor • Ide : kunci berubah saat dengan menggunakan rotor • Misal rotor dengan 4 posisi, maka rotor berputar pada posisi : 0,1,2,3,0,1,2,3,0,1,2,3,…. • Ketika rotor dalam posisi 0, maka gunakan kunci 0, rotor posisi 1, maka digunakan kunci 1, dst



Sandi Rotor… Contoh : Mesin rotor 3 posisi dengan 3 kunci subsitusi K0 = {C, D, E, A, B} K1 = {B, E, A, C, D} K2 = {E, A, D, B, C} Tentukan ciphertext untuk plaintext “BACADE”, jika posisi awal =0



Sandi Rotor… i



Posisi Rotor



P(i)



C(i)



0



0



B



K0(B) = D



1



1



A



K1(A) = B



2



2



C



K2(C) = D



3



0



A



K0(A) = C



4



1



D



K1(D) = C



5



2



E



K2(E) = C



Maka ciphertextnya = DBDCCC Penjelasan : B berada pada urutan kedua dari alfabet {A, B, C, D, E} sementara pada K0 urutan kedua adalah huruf D, sehingga prosesnya adalah B terenkripsi menjadi D, begitu seterusnya



TERIMA KASIH



TUGAS 4 1. Carilah ciphertext dari pesan asli “REMBULAN” menggunakan Sandi Hill dengan kunci matriks sebagai berikut.



2.Pada implementasi Sandi Affine, seorang penyerang mencoba mencari pasangan kunci (a,b) yang dipakai untuk proses enkripsi dan dekripsi. Jika diketahui bahwa untuk teks asli “COSTARICA” maka teks sandinya adalah “EISBMJGEM”. Bantulah penyerang tersebut untuk mencari pasangan kunci tersebut. Diketahui bahwa a > 5.



3.Diketahui mesin rotor dengan 4 posisi, menggunakan 4 kunci substitusi K0 = {A,C,D,B,F,E} K1 = {C,A,B,E,D,F} K2 = {E,B,F,D,C,A} K3 = {F,D,E,A,B,C} Tentukan teks sandi untuk teks asli “FADBACE” jika posisi awal rotor adalah 2. Petunjuk: Urutan posisi rotor adalah: 0,1,2,3,0,1,2,3,... dan seterusnya.