IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB Rian Arifin 1) dan Lucky Tri Oktoviana 2) e-mail:
[email protected] Universitas Negeri Malang ABSTRAK: Salah satu cara untuk menjaga keamanan pesan adalah menggunakan teknik steganografi. Metode steganografi yang digunakan adalah metode penyisipan pesan LSB (Least Significant Bit). Pesan rahasia disandikan sebelum disisipkan menggunakan teknik kriptografi. Algoritma kriptografi yang digunakan adalah algoritma RSA. Algoritma RSA terdiri dari algoritma enkripsi dan algoritma dekripsi. Pesan rahasia disandikan menggunakan algoritma enkripsi RSA dan disisipkan menggunakan metode penyisipan LSB. Membaca pesan dengan menggunakan metode LSB dan algoritma dekripsi RSA. Kata kunci : Kriptografi, Steganografi, RSA, LSB, Pesan ABSTRACT: One way to maintain the security of the message is use steganographic techniques. Moreover, the steganografic method which can be applied inserting a message LSB (Least Significant Bit) method. Secret message encoded before inserted using cryptographic techniques. Cryptographic algorithms used are the RSA algorithm. RSA algorithm consists of encryption algorithms and decryption algorithms. Secret messages encrypted using RSA encryption algorithm and inserted using LSB insertion method. Reading process of the disguised secret message can be conducted by LSB method and RSA decryption algorithm. Kata kunci : Cryptography, Steganography, RSA, LSB, Message
Perkembangan teknologi mempermudah orang berkomunikasi, bentuk komunikasi yang sering digunakan adalah mengirim dan menerima pesan. Seiring berkembangnya teknologi, semakin berkembang juga kejahatan terhadap keamanan pesan yang dikirim.Salah satu cara menghindari kejahatan terhadap suatu pesan adalah dengan menyembunyikan pesan ke dalam suatu pesan lain. Teknik ini disebut dengan teknik steganografi. Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui (Munir, 2006:301). Metode steganografi yang sederhana dan mudah diimplementasikan adalah metode LSB (Least Significant Bit). Kelemahan dari metode LSB adalah pesan rahasia yang disisipkan dapat dengan mudah diambil dengan menggunakan metode LSB. Salah satu cara untuk mengatasi permasalahan tersebut adalah menyandikan pesan rahasia sebelum disisipkan menggunakan metode LSB, teknik ini disebut dengan kriptografi. Definisi kriptografi (Menezez, dkk. 1997:4), yang artinya adalah kriptografi merupakan ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data serta otentikasi. Algoritma kriptografi yang paling populer adalah algoritma RSA. Algoritma RSA terdiri dari algoritma enkripsi dan algoritma dekripsi. Algoritma enkripsi RSA untuk menyandikan pesan rahasia
1) 2)
Rian Arifin adalah mahasiswa Jurusan Matematika Un iversitas Negeri Malang. Lucky Tri Oktoviana adalah dosen Jurusan Matematika Un iversitas Negeri Malang.
menjadi bentuk yang tidak dimengerti maknanya. Algoritma dekripsi RSA untuk mengembalikan hasil penyandian menjadi pesan rahasia yang sebenarnya. Dari penjelasan diatas maka dibuat program dan mengimplementasikan untuk meningkatkan keamanan pesan rahasia menggunakan teknik kriptografi dan steganografi. Pesan rahasia berupa teks disandikan menggunakan algoritma enkripsi RSA dan disisipkan ke dalam file gambar bitmap 24-bit menggunakan metode LSB untuk proses menyisipkan pesan rahasia. Pesan rahas ia diambil dari file gambar bitmap 24-bit menggunakan metode LSB dan pesan rahasia tersebut didekripsi menggunakan algoritma dekripsi RSA untuk proses membaca pesan rahasia. Algorima kriptografi RSA terdiri dari algoritma enkripsi RSA dan algoritma dekripsi RSA. Algoritma RSA adalah sebagai berikut (Munir, 2006:181): 1. Pilih dua bilangan prima sembarang, p dan q. 2. Hitung n = p × q (sebaiknya p ≠ q, karena jika p = q maka n = 𝑝 2 sehingga p dapat diperoleh dengan menarik akar pangkat dua dari n). 3. Hitung a = (p – 1) × (q – 1). 4. Pilih kunci e dengan 1< e < a dan e relatif prima terhadap a (gcd(e, a) = 1). 5. Bangkitkan kunci privat dengan menggunakan persamaan e × d ≡ 1 (mod n). Hasil dari algoritma di atas adalah: 1. Kunci publik adalah pasangan (e, n). 2. Kunci privat adalah pasangan (d, n). Algoritma enkripsi dan dekripsi RSA adalah sebagai berikut: 1. Enkripsi: a. Ambil kunci publik (e, n). b. Nyatakan plaintext m menjadi blok – blok 𝑚 1, 𝑚 2 , … , sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0, n – 1]. c. Setiap blok 𝑚 𝑖 , dienkripsi menjadi blok 𝑐𝑖 dengan 𝑐𝑖 = 𝑚 𝑖 𝑒 mod n. 2. Dekripsi: Setiap blok 𝑐𝑖 didekripsi menjadi blok 𝑚 𝑖 dengan 𝑚 𝑖 = 𝑐𝑖 𝑑 mod n. Dalam proses pengerjaan algoritma RSA membutuhkan konsep matematika, yaitu FPB (faktor persekutuan terbesar), algoritma Euclidean, relatif prima, bilangan prima, aritmatika modular dan kekongruenan. Definisi dari FPB dari dua bilangan adalah bilangan positif terbesar yang dapat membagi dua bilangan tersebut (Sudirman, 2001:43). Algoritma Euclidean digunakan untuk mencari FPB dari dua bilangan. Dua bilangan dikatakan relatif prima jika FPB dari dua bilangan tersebut adalah satu (Sudirman, 2001:43). Sebuah bilangan bulat p > 1 disebut bilangan prima jika tidak ada pembagi d dari p demikian sehingga 1 < d < p (As’ari, 1992:24). Aritmatika modular dan kekongruenan digunakan untuk proses enkripsi dan dekripsi pada algoritma RSA. Metode penyisipan LSB adalah menyisipkan pesan dengan cara mengganti bit LSB pada representasi biner file gambar dengan representasi biner dari pesan rahasia yang akan disembunyikan (Marselino, 2003:18). Media yang digunakan untuk teknik steganografi adalah file gambar atau citra digital. Definisi citra menurut Kamus Webster adalah suatu representasi, kemiripan, atau imitasi dari suatu obyek atau benda (Balza dan Firdausy, 2004:2).
Pembahasan Steganografi adalah proses menyembunyikan pesan rahasia pada suatu media tertentu, dalam hal ini media yang digunakan adalah media file gambar bitmap 24 bit dengan pesan rahasia berupa text dan menggunakan metode LSB. Kriptografi adalah proses mengacak suatu pesan rahasia sedemikia n sehingga maksud dari pesan rahasia tersebut tidak dapat dimengerti oleh orang lain, algoritma yang digunakan adalah algoritma RSA. Dengan menggabungkan metode LSB dan algoritma RSA dapat meningkatkan keamanan pesan rahasia. Pesan rahasia disandikan dengan menggunakan algoritma RSA dan disembunyikan pada media file gambar menggunakan metode LSB. Proses utama dari penggabungan algoritma RSA dan metode LSB adalah proses sisip pesan rahasia dan proses baca pesan rahasia. Proses penyisipan pesan dilakukan dengan menyandikan pesan rahasia atau plaintext menggunakan algoritma enkripsi RSA menjadi bentuk yang tidak dapat dipahami maknanya atau ciphertext, setelah itu disisipkan pada media atau covertext yang berupa file gambar menggunakan metode LSB. Hasil dari proses penyisipan adalah file gambar bitmap 24 bit yang disebut dengan stegotext. Sedangkan proses membaca pesan dilakukan dengan mengambil ciphertext dari stegotext dan mengubah ciphertext menjadi plaintext dengan menggunakan algoritma dekripsi RSA. Enkripsi
Kunci publik
Plaintext
Bangkitkan kunci publik
Ciphertext
Sisipkan Ciphertext ke dalam covertext
Stegotext
Password Gambar 1. Skema proses sisip pesan
Dari gambar 1 merupan skema dari proses sisip pesan, proses ini dilakukan oleh orang yang akan mengirim pesan rahasia. Plaintext berupa pesan teks dienkripsi menjadi ciphertext dengan menggunakan kunci publik. kunci publik dibangkitkan dengan memasukkan password untuk kemanan kunci. Ciphertext yang didapatkan disisipkan ke dalam media berupa file gambar bitmap 24 bit dengan menggunakan metode LSB. Hasil dari proses sisip pesan ini adalah file gambar bitmap 24 bit, tetapi file gambar tersebut berisi pesan rahasia. Sehingga, pesan yang dikirim adalah file gambar yang sudah berisi pesan rahasia.
Password
Ciphertext
Ambil ciphertext dari stegotext
Bangkitkan kunci privat
Kunci privat
Plaintext
Dekripsi Stegotext Gambar 2. Skema proses baca pesan
Pada gambar 2 merupan proses baca pesan, proses ini dilakukan oleh orang yang menerima pesan rahasia. Pesan yang diterima adalah stegotext berupa file gambar bitmap 24 bit. Pesan yang masih berupa ciphertext diambil dari file gambar dengan menggunakan metode LSB. Ciphertext harus didekripsi untuk mendapatkan pesan rahasia yang sebenarnya. Ciphertext didekripsi menggunakan kunci privat. Kunci privat didapatkan dengan memasukkan password, password yang disunakan adalah password yang sama dengan password yang digunakan pada saat enkripsi atau yang digunakan oleh yang mengirim pesan. Dengan demikian, pesan rahasia yang sebenarnya dapat dibaca. Hasil Imple mentasi Program dan Analisis Pesan rahasia diubah menjadi karakter yang tidak dapat dipahami maknanya menggunakan algoritma enkripsi RSA, disebut dengan ciphertext. Ciphertext disisipkan ke dalam file gambar bitmap 24 bit dengan menggunakan metode LSB. Contoh hasil dari implementasi program untuk sisip pesan rahasia adalah sebagai berikut: Algoritma enkripsi RSA
Fakultas MIPA Plainext
)A9*•ü Ciphertext "‡*#ˆT
)A9*•ü "‡*#ˆT
Metode penyisipan LSB
Stegotext Gambar 3. Hasil proses sisip pesan rahasia
Contoh hasil dari implementasi program untuk membaca pesan rahasia adalah sebagai berikut:
Metode pengambilan LSB
)A9*•ü "‡*#ˆT
Ciphertext
Stegotext )A9*•ü "‡*#ˆT
Algoritma dekripsi RSA
Ciphertext
Fakultas MIPA
Plainext Gambar 4. Hasil proses baca pesan rahasia
Jika stegotext dimodifikasi maka pesan rahasia yang sebenarnya akan hilanag karena nilai RGB pada piksel yang digunakan untuk menyisipkan pesan rahasia berubah. Kelebihan dari teknik steganografi adalah tidak adanya perbedaan yang signifikan antara file gambar sebelum dan sesudah disisipi. Pesan rahasia tidak dapat dengan mudah didapatkan karena tinggkat keamanan algoritma RSA. Keamanan algoritma RSA adalah memfaktorkan nilai yang besar menjadi dua bilangan prima yang berbeda. Kesimpulan dan Saran Kesimpulan 1. Pesan rahasia berupa text disandikan dengan menggunakan algoritma enkripsi RSA dan disisipkan ke dalam covertext yang berupa file gambar 24 bit dengan menggunakan metode penyisipan LSB. Hasil proses ini adalah stegotext berupa file gambar 24 bit. 2. Pesan rahasia dibaca dengan cara mengambil pesan rahasia dari dari stegotext yang berupa file gambar 24 bit dan mengembalikan pesan rahasia yang disandikan menjadi pesan rahasia yang sebenarnya dengan menggunakan algoritma dekripsi RSA. Hasil dari proses ini adalah pesan rahasia yang sebenarnya. 3. Aplikasi kriptografi dan steganografi dapat meningkatkan keamanan pesan rahasia dengan mengenkripsi pesan rahasia sebelum menyembunyikan dalam covertext. Saran 1. Pesan rahasia tidak hanya berupa pesan text, yaitu pesan file gambar, file audio atau file video. 2. Covertext yang digunakan tidak hanya file gambar bitmap 24 bit, yaitu dapat file gambar dengan format selain bitmap, file audio atau file video.
3. Enkripsi dan dekripsi pesan dapat menggunakan algoritma chiper blok, seperti DES, Double DES, Tripel DES, GOST, RC5 dan AES, atau menggunakan algoritma kriptografi kunci-publik, yaitu ElGamal dan Knapsack. 4. Byte yang digunakan dalam metode penyisipan pesan rahasia tidak berurutan, dengan membangkitkan bilangan random untuk menentukan urutan byte yang digunakan untuk metode penyisipan pesan rahasia. Daftar Rujukan Achmad, Balza, Ir, M. Sc.E., dan Firdausy, Kartika, S.T, M.T, 2005. Teknik Pengolahan Citra Digital Menggunakan Delphi, Ardi Publishing, Cetakan pertama, Yogyakarta. As’ari, Abdur Rahman. 1992. Pengantar Teori Bilangan. Malang. Depdikbud IKIP Malang Proyek Operasi dan Perawatan Fasilitas. Marselino, Andino. 2003. Pembuatan Aplikasi Steganografi dengan Borland Delphi. (online), (http://ikc.depsos.go.id/umum/andino-steganografi.php, diakses tanggal 9 Januari 2013). Menezes, A, VanOorschot, P, Vanstone, S. 1997. Handbook of Applied Cryptography. CRC Press, Inc. Munir, Rinaldi. 2004. Kriptografi. (online), (http://ebookbrowse.com/algoritmarsa-pdf-d309993420, diakses tanggal 11 Maret 2013). Munir, Rinaldi. 2006. Kriptografi. Bandung: Penerbit Informatika. Sudirman.2001. Teori Bilangan. Malang. Depdiknas Universitas Negeri Malang.