Anda di halaman 1dari 19

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 a + b = 22
23 = (a . 8 + b) mod 26 8a + b = 23
7a = 1 mod 26
Sandi AFFINE a
0
7a mod 26 =
0 mod 26 =
1
0
Keterangan
tidak
Menggunakan : 1 7 mod 26 = 7 tidak
2 14 mod 26 = 14 tidak
Metode Trial and Error 3 21 mod 26 = 21 tidak
4 28 mod 26 = 2 tidak
5 35 mod 26 = 9 tidak
Didapatkan : 6 42 mod 26 = 16 tidak
a = 15 7 49 mod 26 = 23 tidak
8 56 mod 26 = 4 tidak
Jadi : 9 63 mod 26 = 11 tidak
a + b = 22 10 70 mod 26 = 18 tidak
11 77 mod 26 = 25 tidak
15 + b = 22 12 84 mod 26 = 6 tidak
b = 22 15 13 91 mod 26 = 13 tidak
14 98 mod 26 = 20 tidak
b=7 15 105 mod 26 = 1 YA
: : : : :
: : : : :
25 157 mod 26 = 19 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 I J K L M

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}


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.

Anda mungkin juga menyukai