Tahapan Algoritma RSA Implementasi Sistem Keamanan Data Menggunakan Algoritma RSA Dan Modified LSB

Gambar 3.2 Skema Extracting-Decryption Proses Extracting yang digambarkan pada skema di atas, menjelaskan bahwa proses Extracting dengan metode Modified LSB akan mengekstrak cipherteks dari stego image, kemudian Decryption dapat dilakukan dengan menggunakan kunci privat yang tepat untuk menghasilkan plainteks.

3.2 Tahapan Algoritma RSA

3.2.1 Tahapan Proses Enkripsi Algoritma RSA

Dua besaran utama yang diperlukan dalam melakukan proses enkripsi dengan algoritma RSA adalah nilai p dan q. Dimana p dan q adalah merupakan dua buah bilangan prima sembarang sebaiknya . Dalam sebuah sistem nilai p dan q, dapat dimasukkan oleh user atau dibangkitkan oleh sistem. Untuk memudahkan user dalam menentukan nilai p dan q, sistem ini menyediakan fasilitas membangkitkan pasangan nilai p dan q tersebut. Setelah nilai p dan q ditentukan, akan dilakukan penghitungan oleh sistem untuk mendapatkan nilai-nilai berikut: n, , e, dan d. Nilai untuk tiap besaran tersebut didapat dari perhitungan sebagai berikut: 1. . 2. 3. merupakan bilangan acak, yang relatif prima terhadap atau gcd e, = 1. Stego Image Plainteks Kunci Privat Decryption Cipherteks Extracting Modified LSB Universitas Sumatera Utara 4. . ≡ yang ekivalen dengan . Dari perhitungan tersebut akan didapatkan pasangan kunci publik , dan pasangan kunci privat , . Pasangan kunci publik merupakan nilai-nilai yang nantinya akan digunakan dalam mengenkripsi plainteks menjadi cipherteks. Selanjutnya, agar cipherteks dapat dikembalikan menjadi plainteks harus dilakukan proses dekripsi yang membutuhkan pasangan kunci privat. Agar penerima pesan dapat melakukan dekripsi, pengirim pesan harus mendistribusikan kunci privat yang telah terbentuk kepada penerima pesan yang dituju. Untuk mencegah adanya pihak lain yang mampu membaca pesan yang dikirimkan tersebut kunci privat haruslah bersifat rahasia, karena salah satu kunci keamanan suatu algoritma tergantung dari kerahasiaan kunci privatnya. Dalam pendistribusian kunci privat harus dipastikan bahwa kerahasiaan kunci privat dapat terjaga. Pengirim dan penerima pesan harus memastikan bahwa media komunikasi yang digunakan cukuplah aman. Salah satu alternatif yang dapat digunakan dalam pendistribusian cipherteks atau stego image dan kunci privat adalah dengan mengirimkan kunci privat melalui media yang berbeda dengan yang digunakan untuk mengirimkan cipherteks atau stego image. Selanjutnya, penggunaan kunci publik , dalam proses enkripsi digunakan dalam persamaan: , dimana m adalah plainteks dan c adalah cipherteks hasil enkripsi. Misalkan saja, dari hasil pembangkitan nilai p dan q didapat nilai p=787 dan q=853. Dari dua besaran utama tersebut akan didapat nilai-nilai berikut: n = 671311, e = 337, d = 176857 Universitas Sumatera Utara Nilai n dan d merupakan kunci privat yang dikirimkan kepada penerima pesan yang akan melakukan dekripsi. Untuk pesan : “test”. Selanjutnya akan diterjemahkan dalam bentuk desimal dalam pengkodean ASCII. Sehingga plainteks dalam bentuk desimalnya menjadi: “116 101 115 116” “116101115116” Untuk melakukan perhitungan mendapatkan cipherteks, sistem akan membagi plainteks menjadi blok-blok yang lebih kecil, sistem yang akan dirancang pada penelitian ini membagi plainteks yang telah dikonversi dalam pengkodean ASCII untuk tiap enam digit ke dalam satu blok atau dengan kata lain sistem melakukan perhitungan untuk tiap dua karakter plainteks. Sehingga blok-blok plainteks untuk contoh di atas menjadi: Selanjutnya akan diperoleh nilai cipherteks dari perhitungan masing-masing blok plainteks: Cipherteks yang diperoleh: 545709 176892 Dikarenakan sistem akan menghitung dua karakter plainteks menjadi 1 blok cipherteks. Proses tersebut hanya akan berlaku untuk plainteks dengan panjang karakter pesan genap. Sedangkan untuk panjang karakter pesan ganjil maka agar proses tersebut tetap dapat dilakukan, sistem akan menambahkan satu karakter khusus “.” di akhir plainteks dengan panjang karakter ganjil. Dengan demikian sistem akan membaca plainteks sebagai penggabungan antara plainteks awal dengan karakter yang Universitas Sumatera Utara ditambahkan sehingga proses enkripsi tetap dapat dilakukan untuk perhitungan tiap dua karakter plainteks. Cipherteks akan berupa blok-blok integer yang selanjutnya akan disembunyikan dalam cover image dengan metode Modified LSB untuk dikirimkan kepada pihak yang dituju.

3.2.2 Tahapan Proses Dekripsi Algoritma RSA

Dekripsi dilakukan setelah cipherteks berhasil diekstraksi dari stego image, dengan mengubah nilai blok-blok cipherteks menjadi pesan yang dapat dibaca dan dimengerti oleh penerima pesan. Untuk mendekripsikan cipherteks penerima pesan harus memiliki kunci privat yang sebelumnya telah diberikan oleh pengirim pesan. Kunci privat itu berupa nilai dari besaran d dan n, yang bersifat rahasia dan hanya diketahui oleh pengirim dan penerima pesan. Untuk contoh sebelumnya, akan diterima cipherteks “545709 176892” dengan kuci privat n = 671311 dan d = 176857. Dapat dilakukan dekripsi dengan persamaan: untuk masing-masing blok cipherteks sebagai berikut: Setelah didapat hasil perhitungan berupa nilai desimal “116101 115116” selanjutnya akan dapat diketahui pesan yang dikirimkan oleh pengirim dengan menerjemahkannya menggunakan pengkodean ASCII. Untuk setiap 3 digit akan dikonversikan ke dalam pengkodean ASCII kembali, sehingga nilai dari tiap 3 digit plainteks yang didapat menjadi: 116 101 115 116 t e s t Dari hasil dekripsi penerima pesan dapat mengetahui makna pesan yang terenkripsi yang dikirimkan oleh pengirim pesan, yaitu: “test”. Plainteks akan berhasil Universitas Sumatera Utara didekripsikan dengan tepat apabila kunci privat yang digunakan sesuai dengan kunci privat yang diberikan oleh pengirim pesan. Meskipun terdapat pihak-pihak yang dapat menyadap cipherteks, plainteks tidak akan dapat didekripsikan dengan tepat bila kunci privatnya tetap terjaga.

3.3 Tahapan Proses Penyisipan dan Pengekstrakan