LaporanTugasBesarKriptografi

12
Tugas Besar 1 Kriptografi IF3048 SiTeganograph Disusun : Sandy Socrates – 13508044 Ismail Sunni – 13508064 Rezan Achmad – 13508104 Teknik Informatika 2008 ITB Bandung

description

komputer

Transcript of LaporanTugasBesarKriptografi

Tugas Besar 1 Kriptografi

IF3048

SiTeganograph

Disusun :

Sandy Socrates – 13508044Ismail Sunni – 13508064

Rezan Achmad – 13508104

Teknik Informatika 2008ITB

Bandung

Teori Singkat

Selain dengan enkripsi, kerahasisaan pesan juga dapat diimplementasikan dengan steganografi.

Pesan rahasia disimpan di dalam media digital seperti citra sedemikian sehingga keberadaan tidak dapat

dideteksi. Penyembunyian pesan di dalam citra dilakukan sedemikian sehingga tidak merusak kualitas

citra.

sebelum melangkah lebih jauh, akan dijelaskan terlebih dahulu beberapa istilah di steganografi agar

lebih mudah untuk mengikuti penjabaran selanjutnya.

● Pesan / plain text : data atau informasi yang dapat dibaca atau dimengerti maknanya● Ciphertext / kriptogram : pesan yang telah disandikan sehingga tidak bermakna lagi● Enkripsi : proses menyandikan plainteks menjadi cipherteks● Dekripsi : proses mengembalikan cipherteks menjadi plainteks semula● Kriptografi : ilmu dan seni untuk menjaga keamanan pesan● Algoritma kriptografi : aturan untuk enkripsi dan dekripsi (umumnya bersifat publik)● Kunci : parameter yang digunakan untuk transformasi enkripsi dan dekripsi (bersifat rahasia)● Symmeric-key cryptography : kriptografi dimana kunci enkripsi = kunci dekripsi● Asymetric-key cryptography : kriptografi dimana kunci enkripsi tidak sama dengan kunci dekripsi

alasan penggunaan steganografi ini adalah, dikarenakan jika kita mengenkripsi suatu data, pasti data yang dihasilka akan tidak beraturan, dan akibatnya, akan dicurigai orang yang tidak berwenang. Jadi, steganografi, mengatasi masalah ini dengan menyelipkan pesan ke dalam suatu objek yang diperkirakan tidak dicurigai orang lain. sedangkan definis formalnya adalah sebagai berikut :Steganography : seni dan ilmu menulis atau menyembunyikan pesan tersembunyi dengan suatu cara sehingga selain si pengirim dan penerima, tidak ada seorang pun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia.Perhatikan contoh berikut :Pakaian anda kurang rapi, imbasnya, nona-nona akan lari disertai IP menurun.Jika dilihat, maka tidak ada yang mencolok atau aneh dengan kalimat di atas. Namun, coba perhatikan huruf depan masing-masing kata dalam kalimat di atas. Sehingga menjadi : PAKRINALDIM, atau bisa kita pisah-pisah menjadi : Pak Rinaldi M. yang merupakan nama salah satu dosen di Informatika.Dengan perkembangan zaman, penggunaan steganografi semakin meluas. Apalagi jika digabungkan dengan penyimpanan data di komputer. Sehingga, data yang disembunyikan (hiddentext) bisa bermacam-macam. Mulai dari teks, gambar, audio, video, dan lain-lain. Begitu pula dengan objek yang digunakan untuk menyamarkan atau menyembunyikan hiddentext.Beberapa istilah yang menyangkut dengan steganografi :

● Embedded message (hiddentext): pesan yang disembunyikan● Cover-object (covertext) : pesan yang digunakan untuk menyembunyikan embedded message● Stego-object (stego-text) : pesan yang sudah berisi pesan embedded message● Stego-key : kunci yang digunakan untuk menyimpan pesan dan mengekstraksi pesan dari stego-

text Adapun kriteria steganografi yang baik :

● Imperceptible : keberadaan pesan rahasia tidak dapat dipersepsi● Fidelity : mutu cover-object tidak jauh berubah akibat dari embeded● Recovery : data yang disembunyikan harus dapat diungkapkan kembali● Robustness : tahan terhadap segala perubahan, misal kompresi. Tapi hal ini tidak terlalu penting.

LSB :

Algoritma steganografi sederhana pada citra digital adalah dengan algoritma modifikasi LSB. Nilai

bit LSB pada pixel-pixel citra diganti dengan bit-bit pesan. Untuk meningkatkan keamanan, maka

penyisipan pesan ke dalam pixel-pixel citra tidak dilakukan secara sekuensial, tetapi secara acak. Oleh

karena itu, pembangkit bilangan acak dibutuhkan untuk membangkitkan posisi pixel. Pembangkit

bilangan acak ini tergantung pada kunci (yang akan menjadi seed atau nilai awal untuk memulai

pembangkitan). Pada proses ekstraksi pesan, kunci ini dibutuhkan kembali untuk membangkitkan

bilangan acak yang sama.

Pada praktekmya, sebelum disisipkan, pesan dienkripsi terlebih dahulu dengan sebuah algoritma

enkripsi. Karena anda baru belajar algoritma kriptografi klasik, maka algoritma enkripsi yang digunakan

adalah Vigenere Cipher seperti yang pernah dikerjakan pada Tucil 1.

Selain itu, untuk meningkatkan kapasitas (payload) pesan yang dapat disisipkan, maka bit LSB

yang dimodifikasi ada dua pilihan: 1 bit LSB atau 2 bit LSB.

Struktur File Bitmap

Perancangan dan ImplementasiProgram yang kami buat bernama SiTeganografi. Program ini diimplementasikan di WPF

(Windows Presentation Foundation) dalam bahasa C# dan menggunakan kakas Visual Studio 2010.

Struktur Kelas

Terdapat enam buah kelas antarmuka yang kami buat yaitu

1. About

Kelas ini menampilkan antar muka yang berisi penjelasan mengenai aplikasi SiTeganografi ini.

2. FileViewer

Kelas ini dipergunakan untuk melihat file dalam bentuk byte.

3. Help

Kelas ini menampilkan bantuan penggunaan aplikasi.

4. ImageComparator

Kelas ini menghasilkan suatu tampilan yang berfungsi untuk membandingkan dua buah gambar.

Hasil perbandingan berupa nilai PSNR gambar yang telah disisipi pesan dengan gambar aslinya.

5. ImageViewer

Kelas ini berfungsi menghasilkan suatu tampilan yang berfungsi untuk menampilkan gambar

yang dipilih.

6. MainWindow

Kelas ini merupakan kelas utama yang berisi tampilan utama aplikasi. Di sini, juga menangani

validasi input yang dimasukan oleh user.

Selain kelas antarmuka, ada juga empat buah kelas fungsional, yakni :

1. FastBitmap

Kelas ini dipergunakan untuk mempercepat akses dari bitmap.

2. Helper

Kelas ini menyediakan beberapa fungsi yang digunakan untuk menunjang pekerjaan di kelas lain.

fungsi-fungsi yang ada di kelas ini antara lain, Pseudo Random Generator, Komparator dua buah

citra, dan fungsi untuk menyimpan dan membuka file.

3. Steganografi

Kelas ini digunakan untuk mengestraksi dan menyisipkan pesan ke dalam image.

4. Vigenere

Kelas ini akan melakukan proses dekripsi maupun enkripsi dengan menggunakan Vigenere

Cipher.

Di bawah ini kami tampilkan diagram kelas beserta atribu serta methodnya :

Spesifikasi Program

1. Program menerima masukan berupa citra digital dengan format bitmap (.BMP), nama file pesan, dan kunci steganografi.

2. Pengguna dapat memilih ukuran bit LSB yang digunakan (1 bit atau 2 bit)3. Pengguna dapat memilih apakah pesan dienkripsi atau tidak dienkripsi sebeleum disisipkan.4. Pengguna memasukkan sebuah kata kunci (maksimal 25 karakter) yang berfungsi dua:

sebagai kunci enkripsi pada Vigenere Cipher dan sebagai kunci (seed) pembangkitan bilangan acak. Seed dibangkitkan dengan menjumlahkan representasi integer dari masing-masing karakter.

5. Program tidak menyisipkan kunci di dalam file citra.6. Program menolak menyisipkan pesan jika ukuran file pesan melebihi payload. 7. Program dapat menyimpan stego-image (citra yang sudah disisipi pesan)..8. Program dapat mengekstraksi pesan utuh seperti sediakala dan menyimpannya sebagai file

dengan nama lain (save as).9. Program mampu menyimpan ekstensi file10. Program dapat menampilkan (view) citra asli dan citra stegano dalam dua jendela berbeda.11. Program dapat menampilkan ukuran kualitas citra hasil steganografi dengan PSNR (Peak

Signal- to-Noise Ratio). PSNR adalah metrik yang umum digunakan untuk mengukur kualitas citra. PSNR dihitung dengan rumus:

(II.13)

yang dalam hal ini 256 adalah nilai sinyal terbesar (pada citra dengan 256 derajat keabuan), dan rms (root mean square) adalah akar pangkat dua dari kuadrat selisih dua buah citra I dan

yang berukuran M N:

Satuan PSNR adalah desibel (dB). PSNR menyatakan visibilitas derau di dalam citra. PSNR yang besar mengindikasikan nilai rms yang kecil; rms kecil berarti dua buah citra mempunyai sedikit perbedaan. Dari praktek pengolahan citra, citra dengan PSNR > 30 masih dapat dianggap kualitasnya bagus, tetapi jika PSNR < 30 dikatakan kualitas citra sudah terdegradasi secara signifikan.

12. Program memiliki tampilan yang menarik13. Program memiliki menu untuk menampilkan bantuan14. Program cepat

Pengujian program dan analisis hasilNo LSB Enkripsi File Hasil PSNR

1 1 Ya Teks Bisa 73

2 2 Tidak Teks Bisa 70

3 2 Tidak Gambar Bisa 47

4 1 Tidak Gambar Bisa 47

5 2 Ya Exe Bisa 41

6 2 Tidak Exe Bisa 42

7 2 Ya Docx Bisa 42

8 2 Tidak Docx Bisa 42

9 1 Ya ASV Bisa 41

10 2 Tidak ASV Bisa 41

Keterangan : Hasil “bisa” artinya bisa didekripsikan kembali.

Bisa dilihat, bahwa nilai PSNR semuanya lebih dari 40. Dan ini artinya, gambar hasil penyisipan pesan

memiliki kualitas yang tidak jauh berbeda dari gambar aslinya.

Pembagian tugas :1. Sandy Socrates :

Bagian steganografi yaitu menyisipkan dan mengambil pesan.

2. Ismail Sunni :

Bagian Vigenere dan perhitungan PSNR.

3. Rezan Achmad :

Bagian User Interface.

Kesimpulan1. Steganografi merupakan suatu cara yang cukup ampuh untuk menyembunyikan suatu pesan tanpa

dicurigai oleh orang lain.

2. Jika gambar rusak, walaupun satu pixel pun, pesan yang dalam gambar tersebut juga ikut rusak.

Daftar Pustakahttp :// www . ue . eti . pg . gda . pl / fpgalab / zadania . spartan 3/ zad _ vga _ struktura _ pliku _ bmp _ en . html http :// msdn . microsoft . com / en - us /