Prosiding SENTIA 2009 – Politeknik Negeri Malang
IMPLEMENTASI ALGORITMA HILL CIPHER SEBAGAI MEDIA STEGANOGRAFI MENGGUNAKAN METODE LSB Andy Pramono, S.Kom, M.T.1, Alun Sujjada, S.Kom2 1
Jurusan Seni dan Desain, Fakultas Sastra, Universitas Negeri Malang 2 Program Studi Teknik Informatika, STT Atlas Nusantara Malang 1
[email protected], 2
[email protected]
Abstrak Seiring dengan meningkatnya kejahatan komputer yang terus berkembang dari waktu ke waktu yang dilakukan oleh sebagian orang, yang dikenal dengan sebutan cracker, script kiddies, carder, lamer ataupun nama-nama yang lainnya, dimana aktivitas mereka dalam pencurian atapun manipulasi data sangat mengganggu privasi seseorang. Oleh karena itu diperlukan sebuah metode pengamanan terhadap sebuah data digital, baik itu berupa teks ataupun citra. Disini penulis mencoba menerapkan sebuah algoritma Hill Cipher yang berawal dari sebuah perkalian matrik dengan pengkodean dari sebuah teks, sebagai bentuk langkah awal dari enkripsi sebuah data. Setelah sebuah data sudah menjadi kata acak hasil dari algoritma Hill Cipher, maka tahap selanjutnya adalah dengan menyembunyikan data tersebut kedalam sebuah media citra digital atau yang lebih dikenal dengan istilah Steganografi. Metode yang digunakan disini adalah LSB (Least Significant Bit) yang diletakkan pada bit-bit ganjil, yaitu penyembunyian data di letakkan pada bit-bit awal dari sebuah citra. Hal ini dimaksudkan agar keadaan citra awal tidak terlihat perubahannya secara kasat mata dengan citra hasil penambahan dengan teks yang akan disisipkan. Dari ujicoba tersebut diharapkan dapat membentuk sebuah sistem pengamanan yang berupa data teks kedalam media citra digital, sehingga bisa lebih mempersulit aktivitas pelaku Cyber Crime. Kata kunci : steganografi, enkripsi, hill cipher, LSB
Hill Cipher, yang diharapkan mampu menambah keamanan sebuah data.
1. Pendahuluan Dengan semakin berkembangnya teknologi informasi saat ini, maka hal tersebut tidak semuanya berdampak positif bagi generasi muda pada khususnya. Tetapi juga dapat menimbulkan dampak negatif, dikarenakan rasa ingin tahu yang cukup besar dari generasi muda, maka mereka menyalahgunakan teknologi dengan cara pencurian dan manipulasi data milik orang lain. Oleh karena itu diperlukan sebuah sistem atau aplikasi yang aman dalam hal penanganan data, dimana tujuan yang sebenarnya adalah mempersulit para pelaku kejahatan komputer untuk melakukan aktivitasnya, sehingga angka kejahatan komputer bisa ditekan seminimal mungkin. Dalam hal ini penulis akan mengembangkan sebuah proses penyembunyian sebuah data berupa teks atau steganograf,i dengan menambahkan proses enkripsi algoritma Hill Cipher. Steganografi adalah sebuah teknik penyembunyian data yang mengadopsi teknik lama dengan pemanfaatan komputer, dimana data tersebut di sembunyikan dalam sebuah media digital yang bisa berupa teks, gambar (image) ataupun suara (voice). Untuk semakin mempersulit para pelaku kejahatan komputer maka penulis menggabungkan dengan metode enkripsi algoritma
2. Dasar Teori 2.1 Sistem Bilangan Biner dan Desimal Sistem bilangan adalah suatu cara untuk mewakili besaran dari suatu item fisik. Sistem bilangan yang banyak dipergunakan oleh manusia adalah sistem bilangan desimal, yaitu sistem bilangan yang menggunakan 10 macam simbol untuk mewakili suatu besaran. Sistem ini banyak digunakan oleh manusia, karena manusia mempunyai 10 buah jari untuk dapat membantu perhitungan-perhitungan dengan sistem desimal. Lain halnya dengan komputer, logika di komputer diwakili oleh bentuk elemen dua keadaan (two-state elements), yaitu keadaan off (tidak ada arus) dan keadaan on (ada arus). Konsep inilah yang dipakai dalam sistem bilangan binari, yang hanya menggunakan 2 macam nilai untuk mewakili suatu besaran nilai. Jogiyanto(1990). 2.2 Matrik Sebuah matrik adalah susunan segi empat sikusiku dari bilangan-bilangan. Bilangan-bilangan dalam susunan tersebut dinamakan entri dalam matrik F-138
Prosiding SENTIA 2009 – Politeknik Negeri Malang
d
a11
a12
... a1n
a11
a 21 .
2 22 .
... a 2 n .
a 21 .
a12
... a1n
a 22 .
... a 2 n .
=
a
m n
a
ij m n
ij m n
a bc
ad
bc
Enkripsi merupakan bagian dari kriptografi, dan merupakan hal yang sangat penting supaya keamanan data yang dikirimkan bisa terjaga kerahasiaannya. Enkripsi bisa diartikan dengan chiper atau kode, dimana pesan asli (plaintext) diubah menjadi kode-kode tersendiri sesuai metode yang disepakati oleh kedua belah pihak, baik pihak pengirim pesan maupun penerima pesan. Proses enkripsi dapat digambarkan sebagai berikut:
2 7 4 B= 4 5 0
6 9 6
bc
2.5 Enkripsi dan Dekripsi
Dimana Aij adalah matrik pertama dan Bij adalah matrik kedua. Sedangkan Cij adalah matrik hasil dari perkalian matrik A dengan Matrik B. Contoh: A=
ad
Wijaya (2007).
(2.1)
2.3 Perkalian antar Matrik Aij x Bij = Cij (2.2)
3 7 6
b bc c
ad
a a ... a mn A =. a m1 a m 2 ... a mn = m1 m 2
A
ad
8 4 8
Plaintext
Chipertext
Plaintext
Maka AB = C
=
2 7 4
3 7 6
=
Proses Enkripsi
4 5 0
6 9 6
8 4 8
Ariyus (2006).
3.2 7.4 6.8 3.7 7.5 6.4 3.4 7.0 6.8
2.6 Algoritma Hill Cipher Hil Cipher termasuk dalam salah satu kripto sistem polialfabetik, artinya setiap karakter alfabet bisa dipetakan ke lebih dari satu macam karakter alfabet. Cipher tersebut ditemukan pada tahun 1929 oleh Lester S. Hill. Ide dari Hill Cipher adalah misalkan m adalah bilangan bulat positif, Dengan cara mengambil m kombinasi linier dari m karakter alfabet dalam satu elemen plaintext. Misalkan m=2, maka kita dapat menuliskan suatu elemen plaintext sebagai x = (x1 , x2) dan suatu elemen ciphertext sebagai y = (y1 , y2). Disini (y1 , y2) adalah kombinasi linier dari x1 dan x2. Kita misalkan:
6.2 9.4 6.8 6.7 9.5 6.4 6.4 9.0 6.8
=
82
80
60
96 111 72 2.4 Invers Matrik Misalkan A = (aij) n x n. Jika terdapat B = (Bij) n x n, sedemikian sehingga AB = BA = I (Matrik Identitas ordo n), maka B disebut matrik invers dari A dengan notasi A-1. adjoin A C T dengan A1 A A C = Matrik Kofaktor = (Cij) n x n dengan Cij = (-1)I + j Mij
y1 = 11x1 + 3X2 y2 = 8x1 + 7X2
khusus (n=2) A
a
b
c
d
d A
1
1 ad bc
Proses Dekripsi
d b
c a
Sehingga dapat dituliskan kedalam bentuk matrik sebagai berikut: 11 8 y1 , y 2 x1 , x2 3 7 Secara umum, algoritma Hill Cipher akan menggunakan matrik K m x m sebagai kunci untuk mengacak pesannya . Jika elemen pada baris i dan kolom j dari matriks Kij, maka dapat dituliskan sebagai berikut:
b c
ad
a bc
F-139
Prosiding SENTIA 2009 – Politeknik Negeri Malang
y1 , y 2 ,.......,y m
x1 , x 2 ,......,x m
k1,1
k1, 2
k1,m
k 2,1
k 2, 2
k 2,m
k m ,1
k m,2
k m,m
enkripsi ini bekerja pada modulus 26 agar bisa diperoleh nilai dari 0 sampai dengan 25. sehingga enkripsi untuk JULY adalah DELW. Ariyus(2006) Sedangkan untuk dekripsi adalah dengan mengembalikan nilai dari hasil enkripsi di kalikan dengan nilai invers key matrik. Sebagai contohnya adalah sebagai berikut: -(3,4) DE -(11,22) LW kemudian dilakukan perhitungan sebagai berikut:
Dikatakan bahwa ciphertext diperoleh dari plaintext dengan cara transformasi linier. Untuk melakukan dekripsi, akan digunakan matrik invers K-1. Jadi, dekripsi dilakukan jika matrik tersebut memiliki nilai invers dengan rumus x = yK-1. a. Perkalian matriks memiliki sifat asosiatif, yaitu (AB)C = A(BC). b. Matriks invers dari A adalah A-1 dimana AA-1 = A-1A = Im. c. Matriks identitas m x m yang ditulis dengan Im , adalah matrik yang berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya. Contoh matrik identitas 2 x 2:
I2
1
0
0
1
3,4
1
x KK
1
11
8
3
7
1
7
18
23
11
x Im x
B 1 M 12 W 22
C 2 N 13 X 23
D 3 O 14 Y 24
E 4 P 15 Z 25
F 5 Q 16
G 6 R 17
H 7 S 18
I 8 T 19
J 9 U 20
K 10 V 21
Kemudian dilakukan perhitungan sebagai berikut: 9,20 11, 24
11
8
3
7
11
8
3
7
99 60 , 72 140 121 72 , 88 168
3, 4
DE
11, 22
LW
77 506 ,198 242
JU
583, 440
LY
2.8 Steganografi Steganografi digunakan untuk menyisipkan sebuah teks kedalam media digital yang bisa berupa gambar, audio, atapun video. Sedangkan perbedaan dengan watermarking adalah terletak pada data yang akan disisipkan berupa gambar. Steganografi berasal dari bahasa Yunani yaitu Steganos yang berarti menyembunyikan dan Graptos yang artinya tulisan sehingga secara keseluruhan artinya adalah tulisan yang disembunyikan. Secara umum steganografi merupakan seni atau ilmu yang digunakan untuk menyembunyikan pesan rahasia dengan segala cara sehingga selain orang yang dituju, orang lain tidak akan menyadari keberadaan dari pesan rahasia tersebut. Steganografi sudah digunakan sejak dahulu kala sekitar 2500 tahun yang lalu untuk kepentingan politik, militer, diplomatik, serta untuk kepentingan pribadi sebagai alat. Beberapa contoh penggunaan steganografi pada masa lampau: a. Pada tahun 480 sebelum masehi, seseorang berkebangsaan Yunani yaitu Demaratus
misalkan ingin mengenkripsi plaintext JULY, disini akan memiliki 2 elemen plaintext untuk dienkripsi: -(9,20) JU -(11,24) LY dimana nilai tersebut diperoleh dari tabel penyandian 2.1 A 0 L 11 V 21
113, 98
2.7 Citra Gambar Citra adalah gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinus menjadi gambar diskrit melalui proses sampling. Gambar analog dibagi menjadi N baris dan M kolom sehingga menjadi gambar diskrit. Persilangan antara baris dan kolom tertentu disebut dengan piksel. Contohnya adalah gambar atau titik diskrit pada baris n dan kolom m disebut dengan piksel [n,m]. Sedangkan Sampling adalah proses untuk menentukan warna pada piksel tertentu pada citra dari sebuah gambar yang kontinus. Pada proses sampling biasanya dicari warna rata-rata dari gambar analog yang kemudian dibulatkan kedalam angka bulat. Proses sampling sering juga disebut proses digitisasi. Wikipedia (2002)
dari perhitungan diatas diperoleh:
K
21 92 , 54 44
Sehingga dari dekripsi dari DELW akan kembali lagi ke bentuk semula yaitu JULY.
Sebagai contoh gambaran dari enkripsi Hill Cipher adalah sebagai berikut: Misalkan kunci yang dipakai adalah matrik dengan ordo 2 x 2 dengan nilai
K
18
23 11 7 18 11,22 23 11
Im disebut dengan matrik identitas karena AIm = A Untuk sembarang matrik I x m dan ImB = B untuk sembarang matrik m x n. Dengan menggunakan sifat-sifat matrik diatas, maka
y xK yK 1 xK K
7
hasil tersebut didapat dari perkalian dengan kunci matrik, yang kemudian di modulus 26, karena F-140
Prosiding SENTIA 2009 – Politeknik Negeri Malang
b.
c. d.
e.
mengirimkan pesan kepada polis Sparta yang berisi peringatan mengenai penyerangan Xerxes yang ditunda. Teknik yang digunakan adalah dengan menggunakan meja yang telah diukir kemudian diberi lapisan lilin untuk menutupi pesan tersebut, dengan begitu pesan dalam meja dapat disampaikan tanpa menimbulkan kecurigaan oleh para penjaga. Pada abad ke 5 sebelum masehi, Histairacus mengirimkan pesan kepada Aristagoras Miletus untuk memberontak terhadap raja Persia. Pesan disampaikan dengan cara mencukur kepala pembawa pesan dan mentato kepalanya dengan pesan tersebut. Kemudian saat rambutnya tumbuh kembali, pembawa pesan dikirimkan dan pada tempat tujuan rambutnya kembali digunduli dan pesan akan terbaca. Penggunaan tinta yang tidak terlihat pada pesan lainnya. Pada perang dunia II, Jerman menggunakan microdots untuk berkomunikasi. Penggunaan teknik ini biasa digunakan pada microfilm chip yang harus diperbesar sekitar 200 kali. Pada perang dunia II, Amerika Serikat menggunakan suku Indian Navajo sebagai media untuk berkomunikasi. Stefanus(2004).
Maka setelah disisipi key matriks elemen(1,1) dengan cara mengganti 4 bit nilai R dan nilai B dari kanan dengan nilai biner elemen(1,1) akan menjadi data pixel yang baru 00110000 01010101 11110111 R G B 3.2 Pola Metode LSB Teknik dalam menyisipkan sebuah data dalam gambar ini menggunakan metode LSB(Least Significant Bit), dimana data tersebut akan disisipkan pada bit-bit rendah (4 bit bawah) tetapi pada bit-bit ganjil dari nilai RGB sebuah pixel (satuan data terkecil yang membentuk gambar). 2 bit ke dalam nilai R dan 2 bit lagi ke dalam nilai B, sehingga satu karakter akan membutuhkan 2 buah pixel penampung. Misalkan langkah-langkahnya untuk penyisipan karakter “AKU”, dengan asumsi sudah dilakukan pengacakan data dengan metode Hill Cipher, maka prosesnya adalah a. Dari tiap-tiap karakter akan diambil nilai dari Kode ASCII nya, yaitu 65, 75, 85. b. Mengkonversi kedalam bentuk biner, sehingga di dapat nilai 65 = 01000001, 75 = 01001011, 85 = 01010101. c. Kemudian mengambil nilai dari tiap-tiap pixel gambar yang akan disisipi. Seperti pada gambar berikut :
3. Metode Penelitian 3.1 Format Matrik Algoritma Hill Chiper Untuk penggunaan algoritma Hill Cipher untuk enkripsi data ini, digunakan matrik dengan ordo 2 * 2, dengan batas nilai tiap-tiap elemen antara 0 – 255. Jadi dari nilai-nilai tersebut, akan diambil nilai biner dari tiap-tiap karakter yang kemudian akan di sisipkan kedalam gambar dengan menggunakan metode LSB (Least Significant Bit). Sebagai Ilustrasi adalah misalkan dari matrik dibawah ini: 7 18 23 11 a. Element (1,1) Nilai biner dari 7 adalah 0111 b. Elemen (1,2) Nilai biner dari 18 adalah 10010 c. Elemen (2,1) Nilai biner dari 23 adalah 10111 d. Elemen (2,2) Nilai biner 11 adalah 1011 Jadi key matrik yang akan disisipkan adalah elemen (1,1) = 00000111 elemen (1,2) = 00010010 elemen (2,1) = 00010111 elemen (2,2) = 00001011 Sehingga jika sebuah image memiliki data raster seperti dibawah ini:
d.
Menyisipkan nilai biner dari karakter ke nilai biner dari pixel-pixel terebut diatas. Sehingga muncul hasil seperti berikut: 65 = 0100 0001 akan disisipkan ke Nilai R, B px6 dan px7
4. Hasil Uji coba Untuk langkah pengujian program ini, maka penulis mencoba dengan menggunakan file teks, nilai input matrik, dan citra gambar yang berbedabeda. a. Pengujian 1
00110011 01010101 11111111 R G B
F-141
Prosiding SENTIA 2009 – Politeknik Negeri Malang
11
Nilai matrik yang digunakan adalah
6
9
S,A →
, file
18,0
11
6
9
11
11
citra gambar adalah wisnu.bmp seperti pada gambar 4.16
N,T →
A,R →
A, →
13,19
0,17
0,65
11
6
9
11
11
6
9
11
11
6
9
11
198 0 , 108 0
mod 66
= (198 , 108) mod 66 = (0,42) → A,^ mod 66 143 171 , 78
209
= (314, 287) mod 66 = (50,23) → -,X mod 66 0 153 , 0
187
= (153 , 187) mod 66 = (21,55) → V,} mod 66 0 585 , 0
715
= (585 , 715) mod 66 = (57,55) → :,}
Sedangkan teks yang akan disisipkan adalah “STT ATLAS NUSANTARA”. Jadi nilai-nilai yang diperoleh adalah sebagai berikut : Nilai determinan matrik adalah ((11 * 11) – ( 9 * 6)) mod 66 = 1 (121 – 54 ) mod 66 = 1. 67 mod 66 = 1 Jadi Nilai Matrik sudah memenuhi syarat. File Gambar berektensi bmp. Secara perhitungan manual proses enkripsinya adalah: Tabel 4.1 Tabel Penyandian Input
Jadi secara keseluruhan teks acak dari STT Atlas Nusantara adalah #\C!#L}A:6?9A^-XV}:}, Dari perbandingan antara perhitungan manual dengan menggunakan program adalah sama. Citra gambar awal dengan citra hasil steganografi secara kasat mata tidak terlihat berbeda karena memang hal ini adalah syarat dari sebuah steganografi. Berikut adalah table perbandingan nilai warna asli dengan warna yang telah disisipi data. Tabel 4.2 Tabel Contoh Perbandingan Warna
S 18
65
No 1.
A 0 65 mod 66
2.
T 19
T 19
65
A 0
T 19
L 11
A 0
N U 13 20 S,T →
S 18
A 0
N 13
T 19
A 0
R 17
18,19
11
6
9
11
198 171 , 108
S 18
209
= (369 , 317) mod 66 = (39,53) → #,\ T, →
19,65
A,T →
L,A →
S, →
6
9
11
0,19
11,0
18,65
N,U →
11
209 585 , 114
11
6
9
11
11
6
9
11
6
9
11
11
6
9
11
Warna Output
R=128, G=128, B=255
R=133, G=128, B=255
R=128, G=128, B=128
R=133, G=128, B=133
R=45, G=128, B=30
R=50, G=128, B=35
3.
mod 66
= (794 , 829) mod 66 = (2,37) → C,! mod 66
4.
= (171 , 209) mod 66 = (39,11) → #,L mod 66
5. 1 Kesimpulan a. Algoritma Hill Cipher bisa dilakukan untuk proses enkripsi dan dekripsi sebuah data dengan cara manipulasi string, perkalian matrik dan juga inverse matrik b. Sebuah citra gambar bisa diproses ulang sehingga mampu digunakan untuk menyisipkan data yang berupa teks yang dikenal dengan steganografi dengan format citra *.bmp, dengan cara mengambil nilai dari tiap-tiap pixel penyusun sebuah gambar dan kemudian diambil nilai warna Red, Green dan Blue. c. Steganografi memiliki dua metode , yaitu metode MSB (Most Significant Bit) dan LSB (
0 171 , 0
R=255, G=201, B=54
209
121 0 , 66
0
= (121 , 66) mod 66 = (55,0) → },A mod 66
11
13,20
715
Warna Input
198 585 , 108
715
= (783 , 823) mod 66 = (57,31) → :,6 mod 66 143 180 , 78
220
= (323 , 298) mod 66 = (59,34) → ?,9
F-142
R=255, G=201, B=59
Prosiding SENTIA 2009 – Politeknik Negeri Malang
Least Significant Bit). Dengan menggunakan metode LSB mampu untuk menyisipkan pesan, dan juga secara kasat mata tidak merubah bentuk gambar aslinya. Hal ini dikarenakan Metode LSB hanya mengganti 4 bit rendah. Sehingga jika menggunakan logika, maka penambahan data maksimal hanya 15. 5.2 Saran Dalam penelitian steganografi ini, proses belum berjalan cepat. Hal ini dikarenakan proses perulangan yang berkali-kali untuk mengenkripsi data, dan juga untuk pengambilan data citra gambar. Mungkin untuk pengembangannya bisa digunakan metode lain untuk mempercepat proses pengambilan datanya. Sedangkan untuk menambah tingkat keamanan sebuah data maka bisa digunakan metode enkripsi lain yang bersifat modern seperti algoritma DES 64 bit, RAS dan lain-lain, karena metode Hill Cipher ini masih berupa metode konvensional. Untuk Input berupa teks bisa dikembangkan lagi dengan menggunakan citra gambar. Jadi aplikasi yang dibuat adalah steganografi dari citra gambar menghasilkan citra gambar pula.
DAFTAR PUSTAKA Anonymous.2007.http://id.wikipedia.org/wiki/ Pengolahan_citra. Anonymous.2007.http://id.wikipedia.org/wiki/ teks_biasa Anonymous.2006.http://www.stegoarchieve.com/ history Anonymous. 2006. Studi Tour SMK Negeri 1 Denpasar Bali. Anton, Howard.1998. Aljabar Linear Elementer,Penerbit Erlangga. Ariyus, Doni. 2006. Computer Security, Andi Yogyakarta. Jogiyanto, H.M. 1990, Pengenalan Komputer, Andi offset, Yogyakarta. Kurnia, Adi. 1999. Pemrograman Microsoft Visual Basic 6. Jakarta : PT. Elex Media Komputindo Kelompok Gramedia. Soehono, Stefanus. 2006 . http://www.cert.or .id/~budi/courses/security/2006/Stefanus_Soeh ono_report.doc Stalling,William. 2003. Cryptography and Network Security Principles and Practices, Pearson Education. Wijaya,RosyidahJayanti.2007.http://supriyanto.fisi ka.ui.edu/matkom1
F-143