STUDI MODEL KRIPTOGRAFI KLASIK (Review)

advertisement
Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 STUDI MODEL KRIPTOGRAFI KLASIK
(Review)
I. Fitriasih*, T. B. Prayitno, S. Sidopekso
Kelompok Fisika Teoretik, Departemen Fisika, FMIPA, Universitas Negeri Jakarta
Jl. Pemuda No.10 Rawamangun Jakarta 13220
Telp : (62-21) 4894909, Fax : (62-21) 4894909
E-mail : *[email protected]
ABSTRAK
Kriptografi merupakan suatu ilmu yang mempelajari cara mengamankan data atau pesan yang akan dikirim ke penerima
sehingga data atau pesan menjadi aman dan tidak diketahui oleh pihak ketiga. Data atau pesan yang akan dikirim diubah
menjadi kode-kode yang tidak dipahami oleh pihak ketiga. pengirim pesan melakukan enkripsi hingga menjadi pesan yang
tidak dikenali, sedangkan penerima pesan melakukan dekripsi. Proses enkripsi dan dekripsi menggunakan kunci. Untuk
memahami kriptografi, diperkenalkan kriptografi klasik terlebih dahulu. Pada makalah ini telah dikaji ulang materi
kriptografi klasik yang terdiri dari beberapa model, yaitu Caesar Cipher, Vigenere Cipher, Hill Cipher, serta Alice dan Bob.
Cara yang digunakan tiap model berbeda-beda. Caesar Cipher menggunakan roda yang diputar dengan pergeseran atau kunci
sesuai dengan keinginan pengirim pesan, Vigenere Chiper manggunakan bujur sangkar Vigenere, Hill Cipher dengan
memetakan alfabet ke lebih dari satu macam karakter, serta perumpamaan Alice dan Bob sebagai pengirim dan penerima
yang menggunakan algoritma simetri dan algoritma asimetri. Tiap model memiliki kelemahan yang membuat data atau pesan
dapat diketahui oleh pihak ketiga.
Kata Kunci: kriptografi, Caesar Chiper, Vigenere Chiper, Hill Chiper, Alice dan Bob.
1. Pendahuluan
Kriptografi merupakan suatu ilmu yang
mempelajari cara mengamankan data atau pesan
yang akan dikirim ke penerima sehingga data atau
pesan menjadi aman dan tidak diketahui oleh pihak
ketiga. Data atau pesan yang akan dikirim diubah
menjadi kode-kode yang tidak dipahami oleh pihak
ketiga.
Setiap orang pasti melakukan komunikasi
dengan orang lain karena manusia merupakan
makhluk sosial yang tidak dapat hidup tanpa orang
lain. Begitu banyak data atau pesan yang ada dalam
komunikasi itu. terkadang setiap orang tidak ingin
apa yang disampaikannya diketahui orang lain yang
disebut pihak ketiga, sehingga informasi atau pesan
yang ia sampaikan menjadi rahasia antara dirinya
sendiri dengan orang lain yang dikehendakinya.
Oleh karena itu kriptografi dapat membantu
mengamankan data atau pesan yang ingin
disampaikan tanpa dimengerti oleh pihak ketiga.
Kriptografi membuat data atau pesan
menjadi kode-kode terlebih dahulu oleh pengirim.
Proses ini dikenal dengan enkripsi. Enkripsi
diartikan sebagai proses diubahnya data atau pesan
yang hendak dikirim menjadi bentuk yang hampir
tidak dikenali oleh pihak ketiga. Setelah data atau
pesan itu sampai kepada penerima, maka penerima
melakukan dekripsi yang merupakan kebalikan dari
enkripsi. Dekripsi diatrikan sebagai proses
mengubah data atau pesan kembali kebentuk
semula sehingga data atau pesan dapat
tersampaikan dan dimengerti oleh penerima. Proses
enkripsi dan dekripsi memerlukan kunci dalam
mekanismenya.
Untuk memudahkan pemahanan mengenai
kriptografi,
diperkenalkan
terlebih
dahulu
kriptografi klasik. Kriptografi klasik memiliki
beberapa model yang akan dibahas. Data atau pesan
yang telah dienkripsikan memiliki kemungkinan
diketahui oleh pihak ketiga. Oleh karena itu,
penggunaan kunci harus hati-hati sehingga saat
dekripsi data atau pesan, pihak ketiga
membutuhkan waktu yang cukup lama hingga
membuat pihak ketiga merasa kelelahan bahkan
menghentikan pemecahan data atau pesan yang
dienkripsikan.
2. Teori
A. Operasi Modulo Operasi modulo dapat didefinisikan:
Misalkan a, b, c adalah bilangan bulat dengan c >
0. Ditulis a ≡ b mod c , penggunaannya yaitu
dengan a dibagi c dan memiliki sisa b, sehingga c
dikenal sebagai pembagi dan b adalah sisa.
Contohnya: 30 ≡ 4 mod 26 (30/26 dengan sisa 4).
B. Matriks
Matriks adalah sekumpulan bilangan yang
disusun dengan cara baris dan kolom membentuk
pola persegi panjang dan ditempatkan didalam
6
Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 ⎛a
⎜
kurung. Matriks berordo 3x3, A = ⎜ b
⎜c
⎝
a
A=b
d
e
maka
determinan
matriks
A
g⎞
⎟
h⎟
f i ⎟⎠
ga d
h b e = (aei + dhc + gbf ) − ( gec + ahf + dbi )
c
f
i c
d
e
adalah
f
Invers dari matriks A adalah:
⎛ + (ei − hf ) − (bi − hc ) + (bf − ec ) ⎞
⎟
⎜
1
T
A =
C dengan C = ⎜ − (di − gf ) + (ai − gc ) − (af − dc )⎟
det A
⎜ + (dh − ge ) − (ah − gb ) + (ae − db )⎟
⎠
⎝
−1
A. Caesar Cipher C. Model Kriptografi
Kriptografi memiliki beberapa model yaitu
Caesar Cipher, Vigenere Cipher, Hill Cipher, dan
Alice and Bob. Caesar Cipher menggunakan roda
yang berputar dalam enkripsi dan dekripsi data atau
pesannya. Roda yang digunakan memiliki dua
lingkaran, lingkaran roda paling luar dapat diputar
bebas.
Vigenere Cipher merupakan metode
enkripsi dengan menggunakan deret Caesar Cipher
dengan huruf-huruf sebagai kuncinya. Kelebihan
model ini tidak begitu rentan dengan metode
pemecahan dibandingkan dengan Caesar Cipher.
Vigenere Cipher menggunakan bujur sangkar
Vigenere dalam proses enkripsi dan dekripsinya.
Hill Cipher merupakan salah satu
kriptografi polialfabetik. Ide dari Hill Cipher adalah
menggunakan n kombinasi linear dari n karakter
alfabet dalam suatu elemen teks asli sehingga
dihasilkan n alfabet karakter dalam satu elemen
teks asli, n merupakan bilangan bulat positif [1].
Alice and Bob menggunakan bilangan biner untuk
huruf kapital dalam ASCII (American Standard
Code for Information Interchange).
Caesar Cipher menggunakan roda yang
berputar dalam enkripsi dan dekripsinya. Roda
yang digunakan memiliki dua lingkaran, lingkaran
roda yang paling luar dapat diputar bebas.
Gambar 1. Roda Caesar Cipher [2].
Tiap huruf alfabet digeser 5 huruf ke kanan
3. Hasil dan Pembahasan
P
: 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
: F G H I
J K
L M N O P Q R S T U V W X Y Z A B C D E
C ontoh:
P
:SEMINAR NASIONAL FISIKA
C dapat ditulis dalam pengelompokan atau
C
:XJRNSFW SFXNTSFQ KNXNPF
menghilangkan spasi agar kriptanalis merasa
kesulitan seperti contoh di bawah ini:
XJRNS FWSFX NTSFQ KNXNP F
XJRNSFWSFXNTSFQKNXNPF
7
Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 Misalkan A = 0, B = 1, ... , Z = 25, maka
caesar cipher dirumuskan sebagai berikut:
Enkripsi: C = E P = P + 5 mod 26
Dekripsi:
( ) (
)
P = D(C ) = (C − 5) mod 26
J ika pergeseran huruf sebanyak x, maka
dapat dijadikan dalam persamaan (1) dan (2):
C = E (P ) = (P + x ) mod 26
P = D(C ) = (C − x ) mod 26
(1)
(2)
dengan C adalah ciphertext, P adalah
plaintext, x adalah kunci rahasia, E(P)
adalah enkripsi, dan D(C) adalah dekripsi.
Untuk lebih menyulitkan kriptanalis
dapat digunakan perkalian dengan n, n
adalah bilangan ganjil pada plaintext. Ini
dijelaskan pada persamaan (3) dan (4):
C = E (P ) = ((n * P ) + x ) mod 26
P = D(C ) = ((C − x ) / n ) mod 26
(4)
dengan n = 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23,
25 [2].
Tidak berlaku dengan n adalah bilangan negatif,
karena akan menghasilkan huruf yang sama dalam
enkripsi.
Kelemahan dari Caesar Cipher adalah
dapat dipecahkan dengan cara brute force attack,
suatu bentuk serangan yang dilakukan dengan
mencoba-coba berbagai kemungkinan untuk
menemukan kunci. Bisa juga menggunakan
exhaustive key search, karena jumlah kunci sangat
sedikit (hanya ada 26 kunci) [1].
B. Vigenere Cipher Vigenere Cipher menggunakan bujur
sangkar Vigenere dalam proses enkripsi dan
dekripsinya.
(3)
Gambar 2. Bujur sangkar Vigenere [2].
Contoh:
D. Hill Cipher P
:S EM I NAR
Kunci
:L I P I L I P
C
:DMBQY IG
Kelebihan dari Vigenere Cipher adalah
kriptanalis merasa sulit karena huruf yang sama
dalam C belum tentu huruf yang sama dalam P.
Kelemahan dari Vigenere Cipher adalah bila kunci
ditemukan maka C akan terpecahkan karena
penggunaannya berulang-ulang [1].
Ide dari Hill Cipher adalah menggunakan
n kombinasi linear dari n karakter alfabet dalam
suatu elemen teks asli sehingga dihasilkan n alfabet
karakter dalam satu elemen teks asli. n merupakan
bilangan bulat positif [1].
Misalnya: n = 3, sehingga dapat ditulis:
x = ( x1 , x 2 , x3 ) adalah suatu elemen teks asli,
y = ( y1 , y 2 , y 3 ) adalah suatu elemen teks kode
dengan y1, y2, dan y3 adalah kombinasi linear dari
8
Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 ⎛a
⎜
( y1 , y 2 , y3 ) = (x1 , x2 , x3 )⎜ b
⎜c
⎝
x1 , x2, dan x3.
y1 = ax1 + bx 2 + cx3
Diketahui:
y 2 = dx1 + ex 2 + fx3
d
e
f
g⎞
⎟
h⎟
i ⎟⎠
y3 = gx1 + hx2 + ix3
Ditulis dalam bentuk matriks:
menghasilkan persamaan di bawah ini:
Proses Enkripsi
Menggunakan matriks
Anxn sebagai kunci dan
x = ( x1,..., x n ) ; y = ( y1 ,..., y n ) ; A = (Aij )
⎛ A1,1
⎜
A
( y1 ,..., y n ) = x = (x1 ,..., xn )⎜⎜ 2,1
M
⎜
⎜A
⎝ n ,1
y = xA
Proses Dekripsi
Untuk proses ini digunakan persamaan:
x = yA −1
(6)
Contoh:
M
An , 2
(5)
⎛1 2 3 ⎞
⎜
⎟
(8,10,0)⎜1 3 3 ⎟ = (18,20,2) mod 26 = SUC
⎜1 2 4 ⎟
⎝
⎠
y 2 = 2 x1 + 3 x 2 + 2 x3
y3 = 3x1 + 3x 2 + 4 x3
⎛1 2 3 ⎞
⎜
⎟
A = ⎜1 3 3 ⎟
⎜1 2 4 ⎟
⎝
⎠
⎛ 6 24 23 ⎞
⎜
⎟
A = ⎜ 25 1 0 ⎟
⎜ 25 0 1 ⎟
⎝
⎠
−1
Enkripsi:
A2, 2
A1,n ⎞
⎟
L A2,n ⎟
O M ⎟
⎟
L An ,n ⎟⎠
L
Jadi, FISIKA Æ FSHSUC Æ 5 18 7 18 20 2
y1 = x1 + x 2 + x3 ;
;
A1, 2
FISIKA Æ
FIS = (5,8,18) ;
IKA = (8,10,0)
⎛1 2 3 ⎞
⎜
⎟
(5,8,18)⎜1 3 3 ⎟ = (5,18,7 ) mod 26 = FSH
⎜1 2 4 ⎟
⎝
⎠
Dekripsi: FSHSUC Æ
FSH = (5,18,7 ) ;
SUC = (18,20,2)
⎛ 6 24 23 ⎞
⎜
⎟
(5,18,7 )⎜ 25 1 0 ⎟ = (5,8,18) mod 26 = FIS
⎜ 25 0 1 ⎟
⎝
⎠
⎛ 6 24 23 ⎞
⎜
⎟
(18,20,2)⎜ 25 1 0 ⎟ = (8,10,0) mod 26 = IKA
⎜ 25 0 1 ⎟
⎝
⎠
Jadi, FSHSUC Æ FISIKA Æ 5 8 18 8 10 0
Dekripsi dilakukan jika matriks memiliki invers
yaitu yang memiliki determinan tidak nol.
Kelemahan dari Hill cipher ini dengan
serangan known plaintext attack dimana penyerang
mendapatkan sandi dan mendapatkan pesan asli [3].
9
Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 E. Alice and Bob Alice and Bob menggunakan bilangan biner
untuk huruf kapital dalam ASCII (American Standard
Code for Information Interchange).
Tabel 1. Bilangan biner untuk huruf kapital (ASCII) [4].
Contoh:
P
: FISIKA
ASCII : 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 0 1
F
Kunci
S
I
K
A
:101001010001011010000100111110100101010100
R
C
I
E
P
O
R
T
:001010000011000000011000011000110010010101
Jika angka dalam P dan kunci bernilai sama, maka C
bernilai 0. Sebaliknya jika angka dalam P dan kunci
bernilai tidak sama, maka C bernilai 1.
Kelemahan dari Alice and Bob adalah
dengan
mencoba-coba
segala
kemungkinan
pengelompokkan angka.
mendapatkan sandi dan mendapatkan pesan asli [3].
Selain itu, model Alice and Bob yang menggunakan
bilangan biner untuk huruf kapital dalam ASCII juga
dapat dipecahkan dengan mencoba-coba segala
kemungkinan pengelompokkan angka. Beberapa
referensi yang bermanfaat dapat juga dibaca pada [46]. 4. Kesimpulan
Telah dikaji empat model dari kriptografi
klasik yaitu Caesar Cipher dengan menggunakan
roda perputar yang dapat dipecahkan dengan cara
brute force attack dan menggunakan exhaustive key
search, karena jumlah kunci sangat sedikit (hanya
ada 26 kunci) [1]. Vigenere Cipher dengan
menggunakan bujur sangkar Vigenere yang
memiliki kelemahan bila kunci ditemukan maka C
akan terpecahkan karena penggunaannya berulangulang [1]. Hill Cipher menggunakan n kombinasi
linear dari n karakter alfabet dalam suatu elemen
teks asli sehingga dihasilkan n alfabet karakter
dalam satu elemen teks asli dan n merupakan
bilangan bulat positif [1] yang diubah menjadi
bentuk matriks dan memiliki kelemahan dengan
serangan known plaintext attack dimana penyerang
UCAPAN TERIMA KASIH
Ucapan terima kasih kepada dosen
Universitas Negeri Jakarta dan teman-teman atas
bimbingan dan dukungannya dari awal sampai akhir
pembuatan makalah ini.
Makalah ini telah dipresentasikan pada
Seminar Nasional Fisika 2011 di Pusat Penelitian
Fisika-LIPI, serpong 12-13 Juli 2011.
DAFTAR PUSTAKA
[1] Arius, Doni. Pengantar Ilmu Kriptografi Teori,
Analisis, dan Implementasi. Yogyakarta: Andi
Offset, 2008. hlm 43. Piper, Fread dan Sean
Murphy. Chryptography: A Very Short
10
Spektra: Jurnal Fisika dan Aplikasinya, Vol. 13 Edisi 1 Mei 2012 [2]
[3]
[4]
[4]
[5]
[6]
Introduction. New York: Oxford University
Press, 2002.
Nugraha, Ivan. ”Studi Analisis Mengenai
Aplikasi Matriks dalam Kriptografi Hill
Cipher.” Jurnal Prog.Studi Teknik Informatika
ITB, IF2153-0708-063, Bandung: Juli 2008.
hlm.4.
Singh, Simon. The Code Book: How To Make It,
Brek It, Hack It, Crack It. New York: Delacorte
Press Random <View> Books, 2002. hlm.184.
Budiasa, R.M. “Analisis Kriptografi dalam
Penentuan Cipherteks Kode ASCII melalui
Metode Aljabar Boolean”, Makalah IF3058
Program Studi Teknik Informatika Sekolah
Teknik Elektro dan Informatika ITB,
IF3058_2010_062, Bandung: 2010. hlm.3.
Helmut, H.D. Introduction to Cryptography
Principles and Applications Second Edition.
New York: Springer, 2007.
Molin, R.A. RSA and public-key cryptography.
New York: Chapman & Hall/CRC, 2003.
Paar, Christof dan Jan Pelzl. Understanding
Cryptography: A Textbook for Students and
Practitioners. New York: Springer, 2010.
11
Download