Anda di halaman 1dari 24

Bahan kuliah IF4020 Kriptografi

Kriptografi
Klasik
(Bagian 3)
Oleh: Dr. Rinaldi Munir

Prodi Informatika
Sekolah Teknik Elektro dan Informatika
2019

Rinaldi Munir/IF4020 Kriptografi 1


Affine
•Cipher
Perluasan dari Caesar cipher
• Enkripsi: C  mP + b (mod n)
• Dekripsi: P  m–1 (C – b) (mod n)
• Kunci: m dan b

Keterangan:
1. n adalah ukuran alfabet
2. m bilangan bulat yang relatif prima dengan n
3. b adalah jumlah pergeseran
4. Caesar cipher adalah khusus dari affine cipher dengan
m=1
5. m–1 adalah inversi m (mod n), yaitu
Rinaldi m  mKriptografi
Munir/IF4020
–1  1 (mod n)
2
• Contoh:
Plainteks: kripto (10 17 8 15 19 14)
n = 26, ambil m = 7 (7 relatif prima dengan 26)

Enkripsi: C  7P + 10 (mod 26)


p1 = 10  c1  7  10 + 10  80  2 (huruf ‘C’)
(mod 26)
p2 = 17  c2  7  17 + 10  129  25 (mod 26)(huruf
‘Z’)
p3 = 8  c3  7  8 + 10  66  14 (mod 26)
(huruf ‘O’)
p4 = 15  c4  7  15 + 10  115  11 (mod 26) (huruf
‘L’)
p5 = 19  c1  7  19 + 10  143  13 (mod 26)(huruf
‘N’) Rinaldi Munir/IF4020 Kriptografi 3
• Dekripsi:
- Mula-mula hitung m -1 yaitu 7–1 (mod 26) dengan memecahkan 7x  1 (mod 26)
Solusinya: x  15 (mod 26) sebab 7  15 = 105 1(mod 26).
- Jadi, P  15 (C – 10) (mod 26)

c1 = 2  p1  15  (2 – 10) = –120  10 (mod 26) (huruf ‘k’)


c2 = 25  p2  15  (25 – 10) = 225  17 (mod 26) (huruf ‘r’)
c3 = 14  p3  15  (14 – 10) = 60  8 (mod 26) (huruf ‘i’)
c4 = 11  p4  15  (11 – 10) = 15  15 (mod 26) (huruf ‘p’)
c5 = 13  p5  15  (13 – 10) = 45  19 (mod 26) (huruf ‘t’)
c6 = 4  p6  15  (4 – 10) = –90  14 (mod 26) (huruf ‘o’)

Plainteks yang diungkap kembali: kripto


Rinaldi Munir/IF4020 Kriptografi 4
• Affine cipher tidak aman, karena kunci mudah ditemukan dengan
exhaustive search,

• sebab ada 25 pilihan untuk b dan 12 buah nilai m yang relatif


prima dengan 26 (yaitu 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23,
dan 25).

Rinaldi Munir/IF4020 Kriptografi 5


• Salah satu cara memperbesar faktor kerja untuk exhaustive key
search: enkripsi tidak dilakukan terhadap huruf individual, tetapi
dalam blok huruf.

• Misal, pesan kriptografi dipecah menjadi kelompok 4-huruf:


krip togr afi

(ekivalen dengan 10170815 19140617 000508, dengan


memisalkan
‘A’ = 0, ‘B’ = 1, …, ‘Z’ = 25)

Rinaldi Munir/IF4020 Kriptografi 6


• Nilai terbesar yang dapat muncul untuk merepresentasikan blok: 25252525 (ZZZZ),
maka 25252525 dapat digunakan sebagai modulus n.
• Nilai m yang relatif prima dengan 25252525, misalnya 21035433,
• b dipilih antara 1 dan 25252525, misalnya 23210025.

• Fungsi enkripsi menjadi:


C  21035433P + 23210025 (mod 25252525)

• Fungsi dekripsi, setelah dihitung, menjadi


P  5174971 (C – 23210025) (mod 25252525)

Rinaldi Munir/IF4020 Kriptografi 7


• Affine cipher mudah diserang dengan known-plaintext attack.

• Misalkan kriptanalis mempunyai dua buah plainteks, P1 dan P2,


yang berkoresponden dengan cipherteks C1 dan C2,

• maka m dan b mudah dihitung dari buah kekongruenan simultan berikut


ini:

C1  mP1 + b (mod n)
C2  mP2 + b (mod
n)
Rinaldi Munir/IF4020 Kriptografi 8
• Contoh: Misalkan kriptanalis menemukan
cipherteks C dan plainteks berkorepsonden K
cipherteks E dan plainteks
berkoresponden O.

• Kriptanalis m dan
2  10m + bn(mod
dari kekongruenan
26) (i)berikut:
4  14m + b (mod 26) (ii
)
• Kurangkan (ii) dengan (i), menghasilkan
2  4m (mod 26) (iii
Solusi: m = 7 )

Substitusi m = 7 ke dalam (i),


2  70 + b (mod 26) (iv
Solusi: b = 10. )
Rinaldi Munir/IF4020 Kriptografi 9
Hill
Cipher
- Dikembangkan oleh Lester Hill (1929)
- Menggunakan m buah persamaan linier
- Untuk m = 3 (enkripsi setiap 3 huruf),

C1 = (k11 p1 + k12p2 + k13 p3) mod 26


 C1   k11 k13 
 p1 
C2 = (k21 p1 + k22p2 + k23 p3) mod 26  C 2    k 21 k23  p 2 
C  k k  p 
C3 = (k31 p1 + k32p2 + k33 p3) mod 26  3   3 
k12

C = KPk
22
31
Rinaldi Munir/IF4020 Kriptografi 10
• Contoh:
17 17
5
 
 21 18 21
K=
 2 2 19 

Plainteks: paymoremoney
Enkripsi tiga huruf pertama: pay = (15, 0, 24)

17 17 5 15   375


  11 
Cipherteks: C =  21 18 21 0    819  mod 26  = LNS
 2 18 
13 24   486
19    
2  

Cipherteks selengkapnya: LNSHDLEWMTRW

Rinaldi Munir/IF4020 Kriptografi 11


• Dekripsi perlu menghitung K-1 sedemikian sehingga KK-1 = I (I matriks identitas).

 4 9 15

K-1
=  
15 17 6
 
 24 0 17 
sebab

17 17
5  4 9 15   443 442 442
      1 
 21 18 2115 17 495 0
6    858
 2 2  24
19  0 17   52 365  0 0 1 
494
0

780 mod 26   0 1
Rinaldi Munir/IF4020 Kriptografi 12
• Cara menghitung matriks invers 2 x 2:
a
1  d  b
K-1 =
 c d 
b det(K )   a 
K=  c 
= 1  d  b
ad  bc   a 
c 

Contoh: K =  3 10 
15 9
det(K) = (3)(9) – (15)(10) = 27 – 150 = –123 mod 26 = 7

Rinaldi Munir/IF4020 Kriptografi 13


K–1 = 1  3 10 1 9 10 
7 15 9  = 7  15 3

 9 10  15  9 16   135 240 mod 26  5 6 
= 15 3  11 3  165 45 
 15  9 19 

Keterangan: (i) 7 –1 (mod 26)  15, karena


(7)(15) = 105 mod 26 = 1
(ii) –10  16 (mod 26)
(iii) –15  11 (mod 26)

Rinaldi Munir/IF4020 Kriptografi 14


Periksa bahwa:

–1 3 10  6   3 5 10  9 3 6 10 19


KK = 15 9   9 19   15  6  9
5  15 5  9 

9 19 
= 105 208  mod 26  1 0 
156 261 0 1

Rinaldi Munir/IF4020 Kriptografi 15


• Untuk matriks 3 x 3:
b T A D G
 a c  1  A B C 
1  
K= d e f , K =
–1
E
D E F  B
 g h det(K)  det(K) 
i  G I  C H  I 
H F
• yang dalam hal ini,
A = (ei – hf) B = – (di – fg) C = (dh – eg)
D = – (bi – hc) E = (ai – cg) F = – (ah – bg)
G = (bf – ec) H = – (af – cd) I = (ae – bd)
dan
det(K) = aA + bB + cC

Rinaldi Munir/IF4020 Kriptografi 16


• Dekripsi:

P = K-1 C

Cipherteks: LNS atau C = (11, 13, 18)


 4 9 15  11  431 
Plainteks:  15      15 
17 6 13    494  mod 26   0

 
 18  570 
17  24 
 24 0
C = (15, 0, 24) = (P, A, Y)

Rinaldi Munir/IF4020 Kriptografi 17


• Kekuatan Hill cipher terletak pada penyembunyian frekuensi huruf
tunggal

• Huruf plainteks yang sama belum tentu dienkripsi menjadi huruf


cipherteks yang sama.

Rinaldi Munir/IF4020 Kriptografi 18


• Hill cipher mudah dipecahkan dengan known-plaintext attack.
• Misalkan untuk Hill cipher dengan m = 2 diketahui:
• P = (19, 7)  C = (0, 23)
• P = (4, 17)  C = (12, 6)
• Jadi, K(19, 7) = (0, 23) dan K(4, 17) = (12, 6)

 0 12   K19 4  mod 26
 23 6  17 
7
C P
 -1 
 19 4 

1
mod 26   25 14 
• Inversi dari P adalah P
• Sehingga 7 17  5 
=
5

K = CP–1 mod 26 =  0 12   14 mod 26   8 8 


 23 25
6 5 5  14 
 7
Rinaldi Munir/IF4020 Kriptografi 19
Enigma
Cipher
• Enigma adalah mesin yang digunakan
Jerman selama Perang Dunia II untuk
mengenkripsi/dekripsi pesan-pesan
militer.

Rinaldi Munir/IF4020 Kriptografi 20


• 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.

Rinaldi Munir/IF4020 Kriptografi 21


• Enigma menggunakan 4 buah rotor untuk melakukan substitusi.

• Ini berarti terdapat 26  26  26  26 = 456.976 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.

Rinaldi Munir/IF4020 Kriptografi 22


Arah gerakan Arah gerakan rotor
rotor

A. 24 21 26 20 1 8 A. 24 21 26 20 26 14 A
B. 25 3 1 1 2 A B. 25 3 1 1 1 8 B
C. 26 1 2 6 3 18 B C. 26 1 2 6 2 18 C
D. 1 5 3 4 4 26 C D. 1 5 3 4 3 26 D
E. 2 1 4 1 5 17 E. 2 1 4 1 4 17 E
F. 3 1 5 5 6 D F. 3 1 5 5 5 20 F
G. 4 9 6 3 7 20 E G. 4 9 6 3 6 22 G
H. 5 1 7 1 8 22 F H. 5 1 7 1 7 10 H
I. 6 0 8 4 9 10 I. 6 0 8 4 8 3 I
J. 7 1 9 1 1 G J. 7 1 9 1 9 13 J
K. 8 4 1 2 0 3 K. 8 4 1 2 1 11 K
L. 9 2 0 2 1 H L. 9 2 0 2 0 4 L
M. 10 6 1 3 1 13 I M. 10 6 1 3 1 23
N. 11 2 1 5 1 11 J N. 11 2 1 5 1 M
O. 12 0 1 1 2 4 O. 12 0 1 1 1 5
P. 13 8 2 6 1 K P. 13 8 2 6 2 N
Q. 14 1 1 2 3 23 L Q. 14 1 1 2 1 24 O
R. 15 6 3 2 1 5 R. 15 6 3 2 3 9 P
S. 16 7 1 2 4 M S. 16 7 1 2 1 12 Q
T. 17 2 4 1 1 24 T. 17 2 4 1 4 25 R
U. 18 2 1 9 5 N U. 18 2 1 9 1 16 S
V. 19 4 5 1 1 9 V. 19 4 5 1 5 19 T
W. 20 1 1 1 6 O W. 20 1 1 1 1 6
X. 21 1 6 1 1 12 P X. 21 1 6 1 6 U
Y. 22 5 1 8 7 25 Y. 22 5 1 8 1 15 V
Z. 23 1 7 2 1 Q Z. 23 1 7 2 7 21
7 1 5 8 16 R 7 1 5 1 W
Slow 9 8 2 1 19 S 9 8 2 8
Medium Fast Slow rotor Medium rotor Fast rotor 2
rotor 1 1
rotor 4 9rotor 6 T 1 1 4 1 X
2 9 1 2 15 2 9 1 9 7
(a) Kondisi rotor
2 pada
2 penekanan
3 0huruf U (b) Posisi 2rotor stelah
2 penekanan
3 2 huruf Y
A 3 0 7 2 21 A 3 0 7 0 1 Z
1 2 1 1 V 1 2 1 2
8 1 0 2 Rinaldi2 Munir/IF4020 Kriptografi 8 1 0 1
23
2 2 8 2 W 2 2 8 2
• 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.

Rinaldi Munir/IF4020 Kriptografi 24

Anda mungkin juga menyukai