6
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 : *ika.fitriasih@yahoo.com
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
7 kurung. Matriks berordo 3x3,
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
=
i
f
c
h
e
b
g
d
a
A
maka determinan matriks A adalah
(
aei
dhc
gbf
) (
gec
ahf
dbi
)
f
c
e
b
d
a
i
f
c
h
e
b
g
d
a
A
=
=
+
+
−
+
+
Invers dari matriks A adalah:
C
TA
A
det
1
1=
− dengan(
)
(
)
(
)
(
)
(
)
(
)
(
) (
) (
)
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
−
+
−
−
−
+
−
−
−
+
−
−
−
+
−
−
−
+
=
db
ae
gb
ah
ge
dh
dc
af
gc
ai
gf
di
ec
bf
hc
bi
hf
ei
C
C. Model KriptografiKriptografi 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).
3. Hasil dan Pembahasan
A. Caesar Cipher
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
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 :XJRNSFW SFXNTSFQ KNXNPF
C dapat ditulis dalam pengelompokan atau menghilangkan spasi agar kriptanalis merasa kesulitan seperti contoh di bawah ini:
XJRNS FWSFX NTSFQ KNXNP F XJRNSFWSFXNTSFQKNXNPF
8 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):
( ) (
P
P
x
)
mod
26
E
C
=
=
+
(1)( ) (
C
C
x
)
mod
26
D
P
=
=
−
(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):
( ) (
P
(
n
*
P
)
x
)
mod
26
E
C
=
=
+
(3)( ) (
C
(
C
x
)
/ n
)
mod
26
D
P
=
=
−
(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.
Gambar 2. Bujur sangkar Vigenere [2].
Contoh:
P : S E M I N A R Kunci : L I P I L I P C : D M B Q Y I G
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].
D. Hill Cipher
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
1,
x
2,
x
3)
x
=
adalah suatu elemen teks asli,(
y
1,
y
2,
y
3)
y
=
adalah suatu elemen teks kode dengan y1, y2, dan y3 adalah kombinasi linear dari9 x1 , x2, dan x3. Diketahui:
y
1=
ax
1+
bx
2+
cx
3 3 2 1 2dx
ex
fx
y
=
+
+
3 2 1 3gx
hx
ix
y
=
+
+
Ditulis dalam bentuk matriks:
(
) (
)
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
=
i
f
c
h
e
b
g
d
a
x
x
x
y
y
y
1,
2,
3 1,
2,
3 Proses EnkripsiMenggunakan matriks
A
nxn sebagai kunci danmenghasilkan persamaan di bawah ini:
(
x
x
n)
x
=
1,...,
;y
=
(
y
1,...,
y
n)
;A
=
( )
A
ij(
)
(
)
⎟
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎝
⎛
=
=
n n n n n n n nA
A
A
A
A
A
A
A
A
x
x
x
y
y
, 2 , 1 , , 2 2 , 2 1 , 2 , 1 2 , 1 1 , 1 1 1,...,
,...,
L
M
O
M
M
L
L
xA
y
=
(5) Proses DekripsiUntuk proses ini digunakan persamaan:
1 −
= yA
x
(6) Contoh: 3 2 1 1x
x
x
y
=
+
+
;y
2=
2
x
1+
3
x
2+
2
x
3 ;y
3=
3
x
1+
3
x
2+
4
x
3⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
=
4
2
1
3
3
1
3
2
1
A
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
=
−1
0
25
0
1
25
23
24
6
1A
Enkripsi: FISIKA Æ
FIS
=
(
5
,
8
,
18
)
;(
8
,
10
,
0
)
=
IKA
(
)
=
(
)
=
FSH
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
26
mod
7
,
18
,
5
4
2
1
3
3
1
3
2
1
18
,
8
,
5
(
)
=
(
)
=
SUC
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
26
mod
2
,
20
,
18
4
2
1
3
3
1
3
2
1
0
,
10
,
8
Jadi, FISIKA Æ FSHSUC Æ 5 18 7 18 20 2 Dekripsi: FSHSUC Æ
FSH
=
(
5
,
18
,
7
)
;(
18
,
20
,
2
)
=
SUC
(
)
=
(
)
=
FIS
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
26
mod
18
,
8
,
5
1
0
25
0
1
25
23
24
6
7
,
18
,
5
(
)
=
(
)
=
IKA
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
26
mod
0
,
10
,
8
1
0
25
0
1
25
23
24
6
2
,
20
,
18
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].
10
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 I S I K A Kunci : 1 0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 R E P O R T C : 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 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.
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 berulang-ulang [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
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 [4-6].
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
11 Introduction. New York: Oxford University
Press, 2002.
[2] 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.
[3] 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. [4] 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. [4] Helmut, H.D. Introduction to Cryptography
Principles and Applications Second Edition. New York: Springer, 2007.
[5] Molin, R.A. RSA and public-key cryptography. New York: Chapman & Hall/CRC, 2003. [6] Paar, Christof dan Jan Pelzl. Understanding
Cryptography: A Textbook for Students and Practitioners. New York: Springer, 2010.