1.4 Tujuan Penelitian
Adapun tujuan dari tugas akhir ini adalah:
1. Merancang sebuah aplikasi yang dapat mengenkripsi dan mendekripsi teks
menggunakan algoritma kriptografi RSA. 2.
Merancang sebuah aplikasi yang dapat menyisipkan dan mengekstrak cipherteks berupa blok-blok integer dalam media berupa citra digital dengan format bitmap
.bmp menggunakan algoritma LSB yang telah dimodifikasi.
1.5 Manfaat Penelitan
Penelitian ini diharapkan akan mampu meningkatkan tingkat keamanan data dengan menggabungkan algoritma dari kriptografi dan steganografi sehingga aspek keamanan
dan kerahasiaan dalam pengiriman pesan dapat dicapai.
1.6 Metode Penelitian
Metodologi penelitian yang akan digunakan adalah:
1. Studi Literatur
Mempelajari literatur tentang teori dasar mengenai kriptografi, jenis-jenis kriptografi, keunggulan kriptografi asimetris dibandingkan kriptografi simetris,
memahami tentang algoritma RSA dan metode steganografi LSB, dan semua teori yang berkaitan baik dari beberapa buku, jurnal, maupun penelitian terdahulu.
2. Analisis Data
Pada tahap ini dilakukan analisis kebutuhan terhadap sistem beserta batasan- batasan yang diperlukan. Menganalisis algoritma kriptografi RSA, teknik enkripsi
dan dekripsi pada RSA, serta menganalisis algoritma steganografi LSB, teknik penyisipan dan ekstraksi pesan pada LSB.
Universitas Sumatera Utara
3. Perancangan Sistem
Melakukan perancangan desain dalam bentuk flowchart, diagram use case, dan antar muka sistem untuk memudahkan proses implementasi pada tahap
selanjutnya.
4. Implementasi Sistem
Pada tahap ini dilakukan pembuatan sistem sesuai dengan analisis dan perancangan yang sudah didefinisikan sebelumnya. Implementasi sistem
dilakukan dengan menggunakan bahasa pemrograman Matlab R2007b.
5. Pengujian Sistem
Pengujian dilakukan terhadap keberhasilan proses kriptografi dan steganografi pada sistem, mencakup apakah implementasi telah sesuai dengan teori, apakah
pesan yang diekstrak sesuai dengan pesan sebelum disisipi, apakah pesan hasil dekripsi sesuai dengan plainteks semula, serta apakah metode Modified LSB yang
digunakan memenuhi aspek imperceptibility dan recovery.
6. Dokumentasi Sistem
Melakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian
skripsi.
1.7 Sistematika Penulisan
Sistematika penulisan laporan penelitian ini dibagi menjadi 5 bab, yaitu sebagai berikut:
BAB 1 PENDAHULUAN
Berisikan penjelasan tentang konsep dasar penyusunan tugas akhir, yaitu mengenai latar belakang pemilihan judul, rumusan
Universitas Sumatera Utara
masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.
BAB 2 TINJAUAN TEORETIS
Bab ini akan membahas dasar teori yang menunjang penulisan tugas akhir, berkaitan mengenai kriptografi, steganografi,
proses enkripsi dan dekripsi dengan algoritma RSA, serta proses penyisipan dan ekstraksi pesan dengan menggunakan
metode Modified LSB.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas tentang analisis dan perancangan sistem dengan menggunakan metode RSA dan Modified LSB.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan menjelaskan implementasi metode RSA dan Modified LSB yang digunakan, serta pengujian akan
keberhasilan terhadap sistem yang telah dibangun.
BAB 5 KESIMPULAN DAN SARAN
Bab ini akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh
yang diharapkan dapat bermanfaat untuk pengembangan selanjutnya.
Universitas Sumatera Utara
BAB 2
TINJAUAN PUSTAKA
2.1 Kriptografi
Kriptografi merupakan salah satu ilmu pengkodean pesan yang digunakan untuk meningkatkan keamanan dalam pengiriman pesan atau komunikasi data. Kriptografi
saat ini telah menjadi salah satu syarat penting dalam keamanan teknologi informasi dalam pengiriman pesan penting dan rahasia. Pengiriman pesan penting dan rahasia
sangat rentan terhadap serangan yang dilakukan oleh pihak ketiga, seperti penyadapan, pemutusan komunikasi, pengubahan pesan yang dikirim, dan hal-hal
yang merugikan lainnya.
2.1.1 Pengertian Kriptografi
Kriptografi berasal dari dua kata dalam bahasa Yunani, yaitu crypto dan graphia. Crypto berarti secret rahasia dan graphia yang berarti writing tulisan. Menurut
terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain [2].
Secara umum, istilah yang sering digunakan di dalam kriptografi adalah:
1. Pesan
Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Pesan sering juga disebut plainteks plaintext atau pesan jelas cleartext.
Plainteks merupakan suatu pesan bermakna yang akan diproses menggunakan algoritma kriptografi.
Universitas Sumatera Utara
2. Cipherteks
Cipherteks ciphertext atau disebut juga kriptogram cryptogram merupakan pesan yang telah tersandi. Pesan dalam bentuk cipherteks tidak dapat dibaca
karena berisi karakter-karakter yang tidak memiliki makna setelah melalui proses enkripsi.
3. Enkripsi
Enkripsi merupakan proses yang dilakukan untuk menyandikan plainteks menjadi cipherteks atau disebut sebagai enchipering. Enkripsi dilakukan dengan tujuan
agar plainteks tersebut tidak dapat dibaca oleh pihak yang tidak berwenang.
4. Dekripsi
Dekripsi merupakan proses mengembalikan cipherteks menjadi plainteks semula atau disebut deciphering. Dekripsi dilakukan ketika pesan telah sampai kepada
pihak yang dituju.
5. Kunci
Kunci adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi. Kunci biasanya berupa string atau deretan bilangan. Keamanan suatu algoritma
kriptografi biasanya bergantung kepada kerahasiaan penyebaran kunci.
Berikut adalah skema umum dari proses enkripsi dan dekripsi pada kriptografi:
Gambar 2.1 Skema Umum Kriptografi
Dekripsi Enkripsi
Plainteks Kunci
Kunci
Cipherteks Plainteks
Universitas Sumatera Utara
2.1.2 Tujuan Kriptografi
[9] menyatakan bahwa tujuan kriptografi dalam memberi layanan keamanan adalah sebagai berikut:
1. Confidentiality
Confidentiality merupakan tujuan sistem kriptografi dalam memberikan kerahasiaan pesan dan menyimpan data dengan menyembunyikan informasi lewat
teknik-teknik enkripsi.
2. Data Integrity
Data integrity merupakan tujuan sistem kriptografi dalam memberikan jaminan bahwa pesan tidak akan mengalami perubahan selama proses pengiriman.
Integritas data merupakan layanan yang bertujuan untuk mencegah terjadinya pengubahan informasi oleh pihak-pihak yang tidak berwenang.
3. Non-repudiation
Non-repudiation merupakan tujuan sistem kriptografi dalam memberikan cara untuk membuktikan bahwa suatu dokumen datang dari seseorang apabila ia
mencoba menyangkal memiliki dokumen tersebut. Non-repudiation adalah layanan yang berfungsi untuk mencegah terjadinya penyangkalan terhadap suatu
aksi yang dilakukan oleh pelaku sistem informasi.
4. Authentication
Authentication merupakan tujuan sistem kriptografi dalam mengidentifikasikan keaslian suatu pesan dan memberikan jaminan keotentikannya, dan menguji
identitas seseorang apabila ia akan memasuki sebuah sistem. Penerima pesan dapat memastikan keaslian pengirimnya.
Universitas Sumatera Utara
2.1.3 Jenis Kriptografi
Menurut [6] terdapat dua jenis algoritma kriptografi berdasarkan jenis kunci yang digunakan, yaitu :
1. Algoritma Kriptografi Simetri Konvensional
2. Algoritma Kriptografi Asimetri Kunci Publik
1. Kriptografi Simetri
Konsep dasar dari kriptografi kunci simetri adalah kunci yang digunakan untuk enkripsi merupakan kunci yang sama dengan kunci untuk dekripsi. Istilah lain
untuk kriptografi kunci simetri adalah kriptografi kunci privat private-key cryptography, kriptografi kunci rahasia secret-key cryptography, atau
kriptografi konvensional conventional cryptography.
Kelebihan kriptografi simetri adalah:
a. Proses enkripsi dan dekripsi kriptografi simetri membutuhkan waktu yang
singkat. b.
Ukuran kunci simetri relatif pendek. c.
Otentikasi pengiriman pesan langsung diketahui dari cipherteks yang diterima, karena kunci hanya diketahui oleh penerima dan pengirim saja.
Kekurangan kriptografi simetri adalah:
a. Kunci simetri harus dikirim melalui saluran komunikasi yang aman dan kedua
entitas yang berkomunikasi harus menjaga kerahasiaan kunci. b.
Kunci harus sering diubah, setiap kali melaksanakan komunikasi.
2. Kriptografi Asimetri
Berbeda dengan kriptografi kunci simetri, kriptografi kunci publik memiliki dua buah kunci yang berbeda pada proses enkripsi dan dekripsinya. Nama lain dari
kunci asimetri ini adalah kriptografi kunci publik public-key cryptography.
Universitas Sumatera Utara
Pengirim akan mengenkripsi pesan dengan menggunakan kunci publik, sedangkan penerima mendekripsikan pesan menggunakan kunci privat.
Kelebihan kriptografi asimetri adalah:
a. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang
berkomunikasi. b.
Pasangan kunci privat dan kunci publik tidak perlu diubah dalam jangka waktu yang sangat lama.
c. Dapat digunakan dalam pengamanan pengiriman kunci simetri.
d. Beberapa algoritma kunci publik dapat digunakan untuk memberi tanda tangan
digital pada pesan.
Kelemahan kriptografi asimetri adalah:
a. Proses enkripsi dan dekripsi umumnya lebih lambat dari algoritma simetri,
karena menggunakan bilangan yang besar dan operasi bilangan yang besar. b.
Ukuran cipherteks lebih besar dari pada plainteks. c.
Ukuran kunci relatif lebih besar dari pada ukuran kunci simetri.
2.1.4 Algoritma RSA
Algoritma RSA dibuat oleh 3 orang peneliti dari MIT Massachussets Institute of Technology pada tahun 1976, yaitu Ron Rivest, Adi Shamir, dan Leonard
Adleman. RSA adalah algoritma kriptografi modern yang menggunakan sistem kriptografi asimetri kunci publik. Algoritma RSA yang dibuat oleh para ilmuwan
pada tahun 1976 ini, melakukan pemfaktoran bilangan yang sangat besar untuk mendapatkan kunci privat.
Secara umum, besaran yang digunakan dalam algoritma RSA adalah:
1. p dan adalah bilangan prima rahasia
Universitas Sumatera Utara
2. .
tidak rahasia 3.
rahasia 4.
kunci enkripsi tidak rahasia
5. kunci dekripsi
rahasia 6.
plainteks rahasia
7. cipherteks
tidak rahasia
Enkripsi pada algoritma RSA dapat dilakukan dengan persamaan:
Sedangkan untuk dekripsi digunakan persamaan sebagai berikut:
2.1.4.1 Algoritma Membangkitkan Pasangan Kunci
Berikut adalah langkah-langkah dalam membangkitkan pasangan kunci publik dan kunci privat dengan algoritma RSA:
1. Pilih dua buah bilangan prima sembarang, dan .
2. Hitung
. sebaiknya , sebab jika
maka sehingga
dapat diperoleh dengan menarik akar pangkat dua dari . 3.
Hitung .
4. Pilih kunci publik, , yang relatif prima terhadap
. 5.
Bangkitkan kunci privat dengan menggunakan persamaan: , yang
merupakan turunan dari persamaan . ≡
.
Hasil dari algoritma di atas adalah:
a. Kunci publik adalah pasangan ,
b. Kunci privat adalah pasangan ,
Universitas Sumatera Utara
Implementasi algoritma tersebut dapat dicontohkan sebagai berikut: misalkan Alice ingin mengirimkan pesan kepada Bob dengan nilai p=19 dan q=13. Sehingga
nilai n=247, dan didapat . Lalu dipilih nilai e, misal e=77 relatif prima
terhadap . Kunci publik = 247,77.
Untuk plainteks : “S” dengan kode ASCII 83, cipherteksnya menjadi
= 239
Dimana pada tabel ASCII nilai desimal 239 mewakili karakter ï . Karakter
ï yang akan dikirimkan kepada Bob sebagai cipherteks. Untuk mengetahui plainteks dari cipherteks yang diterimanya Bob harus melakukan dekripsi dengan mencari nilai
d dari persamaan dengan nilai
, , , … .
Untuk
.
, Untuk k = 2
.
, Untuk k = 3
.
, …
Untuk k = 36
.
Dalam perhitungan persamaan tersebut, didapat nilai bulat dari kunci privat d pada iterasi k=36, yaitu d=101. Setelah nilai d diketahui, dapat dicari plainteks dari
cipherteks tersebut.
Untuk cipherteks : ï dengan kode ASCI 239, plainteksnya menjadi
Universitas Sumatera Utara
= 83
Hasil konversi dengan tabel ASCII untuk nilai desimal 83 akan diperoleh karakter “ S “. Karakter “ S ” inilah yang merupakan plainteks hasil dekripsi.
Plainteks hasil dekripsi yang didapat, merupakan plainteks yang sama dengan pesan yang dikirimkan sebelum proses enkripsi.
2.1.4.2 Keamanan RSA
Pada dasarnya keamanan algoritma RSA ini yaitu terletak pada sulitnya memfaktorkan bilangan besar menjadi faktor-faktor prima. Pada RSA masalah
pemfaktoran berbunyi: faktorkan menjadi dua faktor prima, dan , sedemikian hingga
. . sekali dapat difaktorkan menjadi dan , maka dapat dihitung. Selanjutnya kunci privat dapat dihitung.
2.2 Steganografi