PENGAMANAN FILE TEKS DENGAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RABIN DAN ALGORITMA STEGANOGRAFI FIRST OF FILE DAN END OF FILE SKRIPSI

Ukuran: px
Mulai penontonan dengan halaman:

Download "PENGAMANAN FILE TEKS DENGAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RABIN DAN ALGORITMA STEGANOGRAFI FIRST OF FILE DAN END OF FILE SKRIPSI"

Transkripsi

1 PENGAMANAN FILE TEKS DENGAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RABIN DAN ALGORITMA STEGANOGRAFI FIRST OF FILE DAN END OF FILE SKRIPSI MORIGIA SIMANJUNTAK PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017

2 PENGAMANAN FILE TEKS DENGAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RABIN DAN ALGORITMA STEGANOGRAFI FIRST OF FILE DAN END OF FILE SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer MORIGIA SIMANJUNTAK PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017

3 PERSETUJUAN Judul :PENGAMANAN FILE TEKS DENGAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RABIN DAN ALGORITMA STEGANOGRAFI FIRST OF FILE DAN END OF FILE Kategori : SKRIPSI Nama : MORIGIA SIMANJUNTAK Nomor Induk Mahasiswa : Program Studi : SARJANA (S1) ILMU KOMPUTER Fakultas :ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing: Pembimbing 2 Pembimbing 1 Amer Sharif, S.Si, M.Kom Dr. Poltak Sihombing, M. Kom NIP. - NIP Diketahui/disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M. Kom NIP i

4 PERNYATAAN PENGAMANAN FILE TEKS DENGAN ALGORITMA KRIPTOGRAFI KUNCI PUBLIK RABIN DAN ALGORITMA STEGANOGRAFI FIRST OF FILE DAN END OF FILE SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, September 2017 Morigia Simanjuntak ii

5 UCAPAN TERIMA KASIH Puji dan syukur kehadirat Tuhan Yang Maha Esa atas segala limpahan rahmat dan karunia-nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer. Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar-besarnya kepada: 1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera Utara. 2. Ibu Dr. Elviawaty Muisa Zamzami, ST, MT, MM, selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi. 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer dan juga selaku Dosen Pembimbing I penulis yang telah memotivasi dan senantiasa memberikan bimbingan, saran dan dukungan kepada penulis dalam pengerjaan skripsi ini. 4. Bapak Amer Sharif, S.Si, M.Kom selaku Dosen Pembimbing II penulis yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini. 5. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU. 6. Ayahanda T. Simanjuntak (Alm) dan Ibunda Alfrida, S.Pd yang telah menjadi sumber motivasi, pendukung, penyemangat, dan inspirasi terbesar bagi penulis dalam menyelesaikan skripsi, serta kakanda Firdaus Doloksaribu, Epril Yenni Simanjuntak, Alto Belly Simanjuntak, Farid Akbar Siregar S.Kom yang senatiasa memberikan dukungan dan doa untuk penulis. 7. Teman dekat penulis Rudi Hendy Handoko Sitorus, S.M yang telah menjadi penyemangat terbesar bagi penulis dalam menyelesaikan skripsi. 8. Sahabat-sahabat terbaik Yayang Novita Sari, Sanita Hutajulu, Bellina Alfonsina Zilliwu, Tio Bella Audina, S.P, dan Diana Tarigan, S.S yang selalu memberikan dukungan dan semangat kepada penulis dalam menyelesaikan skripsi serta teman seperjuangan Suci Budiani Hasibuan, Alyiza Dwi Ningtyas, S.Kom, Rudy Chandra, S.Kom, kelompok belajar RSA (Ribak Sude iii

6 Algorithm) Irma Simbolon, Agum Gumelar, S.Kom, Brando Hernandes, S.Kom, Yoga Aditya S.Kom dan teman-teman angkatan 2013 yang juga senantiasa menjadi pengingat dan motivasi penulis. 9. Keluarga IMILKOM, KMKI dan Paguyuban Karya Salemba Empat USU yang telah memberikan inspirasi serta dukungan kepada penulis. 10. Beasiswa Yayasan Karya Salemba Empat yang telah memberikan dukungan finansial berupa beasiswa selama masa perkulihan. 11. Donatur Beasiswa Indofood Sukses Makmur,Tbk yang telah memberikan pelatihan pelatihan kepemimpinan kepada penulis dan juga telah memberikan kebutuhan finansial selama mengikuti pelatihan. 12. Dan semua pihak yang telah membantu dan tidak dapat disebutkan satu per satu. Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan berkah yang melimpah dari Tuhan Yang Maha Esa. Medan, 10 September 2017 Penulis iv

7 ABSTRAK Dalam berkomunikasi ada beberapa bentuk mulai dari menggunakan tulisan maupun lisan. Semakin meningkatnya perkembangan komunikasi secara tulisan membuat semakin pentingnya aspek keamanan dan kerahasiaan data. Kriptografi merupakan ilmu atau seni untuk menjaga keamanan data dengan cara mengacak data atau pesan. Sedangkan steganografi adalah ilmu menyembunyikan pesan atau data ke dalam suatu media. Konsep kriptografi dan steganografi dapat dikombinakasikan sehingga menghasilkan sistem keamanan pesan atau data yang lebih baik. Untuk meningkatkan keamanan pesan, maka penelitian ini menggunakan Algoritma Kriptografi Rabin dan Algoritma Steganografi First Of File dan End Of File. Tahap pertama yaitu dengan membangkitkan bilangan prima menggunakan metode Fermat s Little Theorem dan melakukan pencarian bilangan relatif prima menggunakan algoritma Euclidean GCD. Implementasi sistem menggunakan bahasa pemrograman C# dengan IDE SharpDevelop. Selanjutnya pesan teks yang berformat (*.txt, *.doc, *.docx) di enkripsi dan menghasilkan ciphertext yang kemudian akan disembunyikan pada citra berformat *.jpeg dengan teknik steganografi kombinasi metode First Of File dan End Of File. Hasil penelitian menunjukkan bahwa proses enkripsi relatif lebih cepat dibandingkan dengan proses dekripsi pada algoritma kriptografi kunci publik Rabin dan untuk pengujian embedding pada steganografi First Of File dan End Of File memerlukan waktu proses embedding cover image rata-rata 6, detik dan proses extraction stego image rata-rata 0,05624 detik. Ukuran pixel citra yang digunakan mempengaruhi hasil stego image. Semakin besar ukuran pixel citra, akan semakin halus garis hitam yang tampak pada stego image tersebut. Kata Kunci: Kriptografi, Steganografi, File Teks, Rabin, First Of File dan End Of File, Fermat s Little Theorem. v

8 TEXT FILE SECURITY WITH CRYPTOGRAPHY KEY PUBLIC RABIN ALGORITHM AND STEGANOGRAPHY ALGORITHM FIRST OF FILE AND END OF FILE ABSTRACT In communicating there are several forms ranging from using writing or oral. The increasing development of written communication makes the importance of data security and secrecy aspects. Cryptography is the science or art to maintain data security by randomizing data or messages. While steganography is the science of hiding messages or data into a medium. The concept of cryptography and steganography can be combined so as to produce a better message or data security system. To improve message security, this research uses Rabin Cryptography Algorithm and Steganography Algorithm First Of File and End Of File. The first stage is to generate primes using the Fermat's Little Theorem method and perform a search of relatively prime numbers using the Euclidean GCD algorithm. Implementation of the system using C# programming language with the SharpDevelop IDE. Furthermore, text messages formatted (*.txt, *.doc, *.docx) are encrypted and generate ciphertext which will then be hidden in the *.jpeg format image with steganographic technique combination of First Of File and End Of File method. The results show that the encryption process is relatively faster compared to the decryption process in Rabin's public key cryptography algorithm and for embedding testing on steganography First Of File and End Of File requires seconds embedding cover image process and extraction stego image process average seconds. The image pixel size used affects the stego image results. The larger the pixel image size, the smoother the black line that looks at the stego image. Keywords: Cryptography, Steganography, Text File, Rabin, First Of File and End Of File, Fermat s Little Theorem. vi

9 DAFTAR ISI Halaman Persetujuan... i Pernyataan... ii Perhargaan... iv Abstrak... v Abstract... vi Daftar Isi... vii Daftar Tabel... ix Daftar Gambar... x Daftar Lampiran... xii Bab 1 Pendahuluan 1.1. Latar Belakang Rumusan Masalah Batasan Masalah Tujuan Penelitian Manfaat Penelitian Penelitian Sebelumnya Metode Penelitian Sistematika Penulisan... 5 Bab 2 Landasan Teori 2.1. Kriptografi Terminologi dan Konsep Kriptografi Istilah dalam Kriptografi Tujuan Kriptografi Jenis-jenis Algoritma Kriptografi Algoritma Simetris Algoritma Asimetris Landasan Matematika Kriptografi Bilangan Prima Relatif Prima Greatest Common Divisor Aritmatika Modulo Inversi Modulo Fermat s little Theorem Algoritma Kunci Publik Rabin Proses Pembangkitan Kunci Proses Enkripsi Algoritma Rabin Proses Dekripsi Algoritma Rabin Steganografi Teknik Steganografi FOF dan EOF Proses Penyisipan FOF dan EOF Proses Ektraksi FOF dan EOF Arsitektur Umum Kriptografi dan Steganografi Bab 3 Analisis dan Perancangan 3.1. Analisis Sistem Analisis Masalah Analisis Kebutuhan Kebutuhan Fungsional vii

10 Kebutuhan Non Fungsional General Arsitektur Sistem Pemodelan Sistem Use Case Diagram Activity Diagram Activity Diagram Proses Pembangkit Kunci Activity Diagram Proses Enkripsi Rabin Activity Diagram Proses Penyisipan FOF dan EOF Activity Diagram Proses Ektraksi FOF dan EOF Activity Diagram Proses Dekripsi Rabin Sequence Diagram Flowchart Flowchart Gambaran Umum Sistem Flowchart Pembangkitan Kunci Flowchart Enkripsi Rabin Flowchart Dekripsi Rabin Flowchart Penyisipan FOF dan EOF Flowchart Ektraksi FOF dan EOF Perancangan Antarmuka (Interface) Rancangan Halaman Utama Halaman Pembangkitan Kunci Halaman Proses Enkripsi Rabin Halaman Proses Penyisipan FOF dan EOF Halaman Proses Ektraksi FOF dan EOF Halaman Proses Dekripsi Rabin Halaman Help Bab 4 Implementasi Dan Pengujian Sistem 4.1. Implementasi Sistem Menu Home Menu Generate Key Menu Rabin Public Key Submenu Encryption Submenu Decryption Menu FOF dan EOF Submenu Embedding Submenu Extraction Menu Help Pengujian Sistem Pengujian Generate Key Pengujian proses Encryption Pengujian proses Embedding Pengujian proses Extraction Pengujian proses Decryption Pengujian Sistem Hasil Pengujian Encryption Hasil Pengujian Embedding Hasil Pengujian Extraction Hasil Pengujian Decryption viii

11 Bab 5. Kesimpulan dan Saran 5.1. Kesimpulan Saran Daftar Pustaka ix

12 DAFTAR TABEL Halaman Tabel 2.1 Tabel Kode Elias Delta Tabel 2.2 String yang Belum Dikompresi Tabel 2.3 String yang Sudah Dikompresi Dengan Elias Delta Code Tabel 2.4 Formulasi Persoalan Logaritma Diskrit Tabel 2.5 Penyelesaian contoh soal modulo eksponensial Tabel 2.6 Perhitungan α 2 mod 271 dan α 135 mod Tabel 3.1 Keterangan Gambar Rancangan Interface Halaman Home Tabel 3.2 Keterangan Gambar Rancangan Interface Halaman Key Generator Tabel 3.3Keterangan Gambar Rancangan Interface Halaman Sender Tabel 3.4 Keterangan Gambar Rancangan Interface Halaman Recipient Tabel 3.5 Keterangan Gambar Rancangan Interface Halaman Help Tabel 4.1 Hasil Uji Coba untuk 5 kali pengujian Tabel 4.2 Hasil Uji Coba Berdasarkan Waktu x

13 DAFTAR GAMBAR Halaman Gambar 2.1 Ilustrasi Kompresi Lossless... 8 Gambar 2.2. Ilustrasi Kompresi Lossy... 8 Gambar 2.3 Plainteks berupa Teks dan Cipherteksnya Gambar 2.4 Skema Kriptografi Simetri Gambar 2.5 Skema Kriptografi Asimetri Gambar 2.6 Sistem Kriptografi dengan Algoritma ElGamal Gambar 2.7 Matriks Citra Digital Gambar 2.8 Perbandingan gambar dengan ukuran piksel berbeda Gambar 2.9 Contoh Citra Biner Gambar 2.10 Perbandingan gradasi warna berdasarkan ukuran bit Gambar 2.11 Contoh Citra Grayscale Gambar 2.12 Contoh penyimpanan citra warna dalam memori Gambar 2.13 Contoh Citra Warna Gambar 2.1 Ilustrasi Kompresi Lossless... 8 Gambar 2.2. Ilustrasi Kompresi Lossy... 8 Gambar 2.3 Plainteks berupa Teks dan Cipherteksnya Gambar 2.4 Skema Kriptografi Simetri Gambar 2.5 Skema Kriptografi Asimetri Gambar 2.6 Sistem Kriptografi dengan Algoritma ElGamal Gambar 2.7 Matriks Citra Digital Gambar 2.8 Perbandingan gambar dengan ukuran piksel berbeda Gambar 2.9 Contoh Citra Biner Gambar 2.10 Perbandingan gradasi warna berdasarkan ukuran bit Gambar 2.11 Contoh Citra Grayscale Gambar 2.12 Contoh penyimpanan citra warna dalam memori Gambar 2.13 Contoh Citra Warna Gambar 3.1 Diagram Ishikawa Masalah Penelitian Gambar 3.2. Use-Case Diagram Pada Sistem Gambar 3.3 Activity Diagram Proses Pembangkitan Kunci Gambar 3.4 Activity Diagram Proses Kompresi Elias Delta Code Gambar 3.5 Activity Diagram Proses Enkripsi ElGamal Gambar 3.6 Activity Diagram Proses Dekripsi Pesan Gambar 3.7 Activity Diagram Proses Dekompresi Elias Delta Code Gambar 3.8 Sequence diagram sistem Gambar 3.9 Flowchart Alur proses pembangkit kunci Gambar 3.10 Flowchart Alur proses kompresi Elias Delta Code Gambar 3.11 Flowchart Alur proses Enkripsi ElGamal Gambar 3.12 Flowchart Alur proses Dekripsi ElGamal Gambar 3.13 Flowchart Sistem Gambar 3.14 Rancangan Interface Halaman Home Gambar 3.15 Rancangan Interface Halaman Key Generator Gambar 3.16 Rancangan Interface Halaman Sender Gambar 3.17 Rancangan Interface Halaman Recipient Gambar 3.18 Rancangan Interface Halaman Help Gambar 4.1 Menu Home Gambar 4.2. Submenu Key Generator Gambar 4.3 Submenu Sender xi

14 Gambar 4.4 Submenu Recipient Gambar 4.5 Menu Help Gambar 4.6 Citra yang akan diuji Gambar 4.7 Hasil nilai kunci publik dan kunci privat Gambar 4.8 Save File Dialog untuk menyimpan kunci publik Gambar 4.9 Save File Dialog untuk menyimpan kunci privat Gambar 4.10 Open File Dialog input file citra Gambar 4.11 Tampilan sistem menampilkan citra terpilih Gambar 4.12 Hasil konversi gambar RGB menjadi Grayscale Gambar 4.13 Message Box informasi proses kompresi berhasil Gambar 4.14 Hasil dari proses kompresi Gambar Open File Dialog input file kunci publik Gambar 4.16 Tampilkan nilai kunci publik Gambar 4.17 Message Box informasi proses enkripsi berhasil Gambar 4.18 Save File Dialog hasil kompresi dan enkripsi citra Gambar Open File Dialog input file citra Gambar 4.20 Open File Dialog input kunci prvat Gambar 4.21 Tampilan nilai kunci publik Gambar 4.22 Message Dialog informasi proses dekripsi berhasil Gambar Message Dialog informasi proses dekompresi berhasil Gambar 4.24 Tampilan citra asli Gambar 4.25 Save File Dialog untuk menyimpan citra asli Gambar 4.26 Hasil Uji Coba ke Gambar 4.27 Hasil Uji Coba ke Gambar 4.28 Hasil Uji Coba ke Gambar Hasil Uji Coba ke Gambar 4.30 Hasil Uji Coba ke Gambar 4.31 Grafik perbandingan hasil pengujian antara ukuran file citra asli, hasil kompresi/dekripsi, hasil enkripsi, dan hasil dekompresi...69 Gambar 4.32 Grafik perbandingan hasil pengujian waktu pada proses kompresi, enkripsi, dekripsi, dan dekompresi xii

15 DAFTAR LAMPIRAN Halaman Lampiran 1 Listing Program A-1... A-1 Lampiran 2 Curriculum Vitae B-1... B-1 xiii

16 BAB 1 PENDAHULUAN 1.1 Latar Belakang Dalam berkomunikasi ada beberapa bentuk mulai dari menggunakan tulisan maupun lisan. Ada banyak informasi rashasia yang dapat disampaikan melalui tulisan. Jika tulisan atau pesan disampaikan secara langsung dari pengirim kepada penerima pada saat itu juga tanpa melalui perantara apapun, maka hal tersebut dapat menjamin keamanan, dan kerahasiaan dari pesan tersebut. Namun, jika tulisan atau pesan harus dikirim melalui perantara dan memerlukan waktu dalam proses pengirimannya, maka terdapat kemungkinan bahwa pesan akan mengalami penyadapan sehingga rahasia pada pesan dapat diketahui oleh pihak yang tidak berwenang atau kemungkinan pesan yang dikirim mengalami perubahan sebelum sampai ke tujuan. Terdapat beberapa cara dan teknik tertentu untuk menjaga keamanan pesan yang bersifat rahasia / tersembunyi, salah satunya dengan menggunakan kriptografi yang berfungsi untuk menyamarkan pesan menjadi bentuk pesan tersandi. Kriptografi adalah ilmu dan seni untuk menjaga kerahasian pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya (Munir, 2006). Pengamanan pesan file teks dapat menggunakan kriptografi kunci asimetris dan simetris, namun yang digunakan dalam penelitian ini adalah kunci asimetris. Kriptografi kunci asimetris terdiri dari dua kunci, yaitu kunci publik dan kunci privat. Dalam kriptografi kunci asimetris, kunci publik berfungsi untuk mengenkripsi suatu pesan dan kunci privat berfungsi untuk mendekripsi suatu pesan. Sehingga tingkat keamanan suatu pesan lebih baik dibandingkan menggunakan kriptografi kunci simetris yang hanya memiliki satu kunci privat saja. Terdapat berbagai macam metode kriptografi kunci asimetris yang telah digunakan. Salah satunya adalah algoritma Rabin Public Key. Algoritma Rabin Public Key diperkenalkan oleh Michael O. Rabin pada tahun Algoritma Rabin akan melakukan enkripsi dan dekripsi, pesan asli disebut plaintext dan pesan yang sudah diamankan disebut ciphertext. Proses pengubahan plaintext menjadi ciphertext disebut enkripsi. Sebaliknya, proses pengubahan ciphertext menjadi plaintext disebut dekripsi. Sebuah ciphertext dapat dikirim secara langsung kepada penerima pesan, namun hal 1

17 ini dapat memancing kecurigaan dari pihak ketiga karena bentuk ciphertext yang biasanya terlihat seperti pesan tersandi yang membuat kecurigaan memungkinkan memiliki pesan tersembunyi didalamnya. Oleh sebab itu, dilakukan penyembunyian ciphertext kedalam suatu media sebelum dilakukan pengiriman data untuk meningkatkan keamanan dari pesan rahasia yang akan dikirim. Penyembunyian data atau pesan rahasia dengan suatu cara tertentu disebut steganografi. Steganografi adalah teknik menyembunyikan data rahasia di dalam media digital sehingga keberadaan data rahasia tersebut tidak diketahui oleh orang (Munir, 2006). Steganografi juga memiliki banyak algoritma yang dapat dipakai. Saat ini, telah ada beberapa metode steganografi yang umum digunakan. Salah satunya adalah metode First of File (FOF) dan End of File (EOF). Pada metode First of File ini, pesan disisipkan pada awal nilai file sedangkan End of File, pesan akan disisipkan pada akhir nilai file. Metode FOF tidak jauh berbeda dengan metode EOF. Kelebihan dari kedua metode ini adalah data yang disisipkan tidak terbatas jumlahnya serta tidak mengubah kualitas citra. Kekurangannya adalah ukuran dimensi file citra lebih besar dari semula dan citra stego hasil penyisipan pesan memiliki gradasi warna hitam pada bagian atas atau bawah citra stego (Aditya, et al. 2010). Berdasarkan latar belakang yang telah diuraikan di atas, maka penulis memberi judul penelitian ini dengan nama Pengamanan File Teks dengan Algoritma Kriptografi Kunci Publik Rabin dan Algoritma Steganografi First Of File dan End Of File. 1.2 Rumusan Masalah Berdasarkan latar belakang di atas, maka rumusan masalah yang akan dibahas pada penelitian ini adalah belum terjaminnya keamanan pesan saat proses enkripsi menggunakan algoritma Kriptografi Kunci Publik Rabin sehingga pesan akan disisipkan ke dalam suatu file gambar berformat jpeg dengan menggunakan algoritma Steganografi First Of File dan End Of File. 1.3 Batasan Masalah Agar tulisan ini tidak menyimpang dari ruang lingkup pembahasan diperlukan batasan masalah sebagai berikut : 2

18 1. Pesan terlebih dahulu dienkripsi mengunakan algoritma kunci publik rabin kemudian pesan disisipkan kedalam suatu file gambar dengan menggunakan algoritma steganografi First Of File dan End Of File. 2. Format file yang digunakan adalah.txt,.doc,.docx. 3. Bahasa yang digunakan adalah bahasa pemrograman C#. 4. Karakter yang digunakan pada data yang akan di input adalah menggunakan printable ASCII (dengan kode karakter ) 8 bit. 5. Pembangkitan bilangan prima menggunakan Fermat s Little Theorem dengan panjang kunci berkisar sekitar 1 sampai Sistem hanya melakukan enkripsi dan dekripsi data dan kunci pada file teks, namun tidak melakukan enkripsi dan dekripsi data maupun kunci terhadap komponen lain seperti tabel atau gambar yang terdapat di dalam file teks. 7. Media untuk menyimpan pesan adalah citra dengan format (*.jpeg). 1.4 Tujuan Penelitian Tujuan dari penyusunan tugas akhir ini adalah mengimplementasikan kombinasi algoritma kriptografi kunci publik Rabin dan algoritma steganografi First of File dan End Of File dalam pengamanan file teks dan menerapkan sebuah aplikasi untuk mengamankan dan merahasiakan data file teks yang telah disisipkan ke dalam sebuah citra dengan format.jpeg. 1.5 Manfaat Penelitian 1. Memperoleh satu aplikasi yang dapat mengamankan file teks dengan mengkombinasikan algoritma kriptografi kunci publik Rabin dan algoritma steganografi First of File dan End Of File. 2. Memudahkan para pengguna dalam menyembunyikan pesan rahasia sehingga tidak bisa diketahui oleh orang yang tidak berhak/berwenang. 1.6 Penelitian Sebelumnya Berikut ini beberapa penelitian yang terkait dengan algoritma Rabin dan Algoritma First Of File dan End Of File : 3

19 1. Henny Wandani (2012) dalam skripsi yang berjudul Implementasi Sistem Keamanan Data Dengan Menggunakan Teknik Steganografi End Of File (Eof) Dan Rabin Public Key Cryptosystem. Dalam skripsi ini, dapat disimpulkan bahwa, sistem ini menggabungkan algoritma kriptografi Rabin Public Key dan teknik steganografi End of File untuk menjaga keamanan dan kerahasiaan suatu data rahasia dan pada metode End of File, data yang telah dienkripsi akan disisipkan pada nilai akhir file gambar, sehingga akan menambah ukuran file dan terdapat penambahan garis-garis pada bagian bawah file gambar tersebut. 2. Nadya Soraya Hardiyana (2013) dalam skripsi yang berjudul Implementasi Algoritma Kriptografi Massey Omura dengan Teknik Steganografi Kombinasi Endf Of File (EOF) dan First Of File(FOF) Untuk Keamanan Data. Dalam skripsi ini, dapat disimpulkan bahwa, Penggunaan metode kombinasi End Of File dan First Of File untuk proses embedding dilakukan dengan cara menyisipkan baris matriks baru pada matriks pixel citra secara horizontal dan berseling dari baris pertama (First Of File) dan baris akhir (End Of File). Sehingga menghasilkan seperti garis hitam pada bagian atas dan bawah citra bitmap. 1.7 Metode Penelitian Penelitian ini menerapkan beberapa metode penelitian sebagai berikut: 1. Studi Literatur Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, situs internet yang berkaitan dengan penelitian ini. 2. Pengumpulan dan Analisis Data Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan penelitian ini seperti fungsi enkripsi/dekripsi Rabin dan Steganografi. 3. Perancangan Sistem Pada tahap ini masalah akan dianalisis untuk mengetahui apa saja hal yang dibutuhkan dalam penelitian ini, dan kemudian sistem dirancang dengan membuat gambaran sistem menggunakan flowchart, Use case Scenario, sequence diagram, dan user interface. 4

20 4. Implementasi Sistem Pada tahap ini perancangan diimplementasikan dengan menggunakan bahasa C#. 5. Pengujian Sistem Pada tahap ini prototipe sistem yang telah diimplementasikan dilakukan pengujian dengan file teks yang berekstensi.txt,.doc,.docx. 6. Dokumentasi Sistem Melakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian (skripsi). 1.8 Sistematika Penulisan Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut : BAB 1. PENDAHULUAN Bab ini akan menjelaskan mengenai latar belakang masalah yang dibahas dalam skripsi ini, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, penelitian sebelumnya, metode penelitian, dan sistematika penulisan skripsi. BAB 2. LANDASAN TEORI Pada bab ini berisi penjelasan singkat mengenai sistem kriptografi, teori-teori dasar yang digunakan dalam algoritma kriptografi Rabin, sistem kriptografi Rabin, dan algoritma steganografi First Of File dan End Of File. BAB 3. ANALISIS DAN PERANCANGAN SISTEM Pada bab ini berisi penjelasan tentang analisis masalah yang dibangun dalam sistem dan menganalisis tentang hal hal yang dibutuhkan dalam membangun sistem ini, kemudian dilanjutkan dengan tahapan perancangan sistem yang berupa perancangan interface sistem. BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM Pada bab ini berisi tentang implementasi sistem yang berdasarkan tahapan perancangan dengan menggunakan bahasa pemrograman C#. Kemudian dilanjutkan 5

21 dengan tahapan pengujian sistem untuk menguji apakah sistem sudah berjalan sesuai dengan perancangan. BAB 5 : KESIMPULAN DAN SARAN Bab ini merupakan bab penutup yang menguraikan mengenai kesimpulan yang penulis ambil dari pembahasan pada bab-bab sebelumnya dan saran sebagai masukan terhadap permasalahan yang muncul yang diharapkan dapat bermanfaat bagi pemecahan masalah tersebut. 6

22 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kata Cryptography berasal dari bahasa Yunani yang terdiri dari dua kata yaitu kryptos yang berarti rahasia dan graphein yang berarti tulisan (Mollin,2007). Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi (Kromodimoeljo, 2010) Terminologi dan Konsep Kriptografi Dalam pertukaran informasi, pengirim (sender) melakukan pengiriman sebuah pesan asli ke penerima (recepient) dengan harapan pesan asli tersebut dapat sampai ke tangan sang penerima dengan aman dan kerahasiaan pesan tersebut terjaga. Pesan memiliki nama lain yaitu plainteks (plaintext) atau teks-jelas (cleartext). Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Cipherteks harus dapat ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca. Proses menjadikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering (standard nama menurut ISO ). Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi (decryption) atau deciphering (standard nama menurut ISO ) (Munir, 2006). Skema kriptografi dapat dilihat pada gambar 2.1. Kunci Privat,K Kunci Privat,K Plainteks,P Enkripsi E K (P)=C Cipherteks,C Dekripsi D K (C)=P Plainteks,P Gambar 2.1 Skema proses enkripsi dan dekripsi (Munir, 2006) 7

23 Istilah dalam Kriptografi Dalam kriptografi, terdapat beberapa istilah penting yang perlu diketahui maknanya, antara lain sebagai berikut (Munir, 2006): 1. Pesan, Plaintext, dan Ciphertext Pesan merupakan data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan tersebut adalah plainteks (plaintext). Pesan dapat berupa data atau informasi yang dikirim maupun disimpan dalam media penyimpanan. Pesan yang tersimpan dapat berupa teks, citra (image), suara/bunyi (audio), dan video. Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk yang lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut ciphertex) atau kriptogram. 2. Pengirim dan Penerima Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas yang lainnya. Penerima (recepient) adalah entitas yang menerima pesan. Entitas yang dimaksud dapat berupa orang, mesin komputer, kartu kredit, dan sebagainya. 3. Enkripsi dan Dekripsi Proses yang menyandikan pesan asli (plaintext) menjadi pesan tersandi (ciphertext) disebut enkripsi (encryption). Sedangkan proses yang mengembalikan ciphertext menjadi plaintext semula dinamakan dekripsi (decryption). 4. Cipher dan Kunci Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Di dalam kriptografi, algoritma sudah tidak lagi dirahasiakan, tetapi kuncinya yang harus terjaga kerahasiaannya. Kunci merupakan parameter yang digunakan untuk transformasi enciphering dan deciphering. Kunci dapat berupa string ataupun deretan angka. Misalkan P menyatakan plaintext, dan C menyatakan ciphertext, maka fungsi enkripsi E memetakan P ke C, dan menggunakan kunci K, maka fungsi enkripsi dan dekripsi ditulis sebagai berikut: 29

24 ( ) Dan fungsi dekripsi D memetakan C ke P ditulis sebagai berikut: ( ) Karena proses dekripsi mengembalikan pesan yang terenkripsi tersebut menjadi kembali ke pesan semula, maka kesamaan berikut adalah benar, ( ( )) Keamanan algoritma kriptografi sering diukur dari banyaknya kerja yang dibutuhkan untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci apa yang digunakan. 5. Sistem Kriptografi Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi. Sistem kriptografi (cryptosystem) adalah kumpulan yang terdiri dari algoritma kriptografi, semua plaintext dan ciphertext yang mungkin, dan kunci. 6. Penyadap Penyadap merupakan orang yang mencoba menangkap pesan selama ditransmisikan. Tujuan penyadap adalah untuk mendapatkan informasi sebanyak-banyaknya mengenai sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk memecahkan ciphertext. Nama lain penyadap yaitu: enemy, adversary, intruder, interceptor, bad guy. 7. Kriptanalisis Kriptografi berkembang sedemikian rupa, sehingga melahirkan bidang yang berlawanan yaitu kriptanalisis. Kriptanalisis (cryptanalisis) adalah ilmu dan seni untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis Tujuan Kriptografi Tujuan kriptografi adalah (Munir, 2006): 1. Kerahasiaan (Confidentiality) Kerahasiaan adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Di dalam kriptografi, layanan ini direalisasikan dengan menyandikan pesan menjadi ciphertext. 30

25 2. Integritas Data (Data Integrity) Integritas data adalah layanan yang menjamin bahwa pesan masih asli atau belum pernah dimanipulasi selama pengiriman. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubtitusian data lain kedalam pesan yang sebenarnya. 3. Otentikasi (authentication) Otentikasi adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan. Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan. Pesan yang dikirim melalui saluran komunikasi juga harus diotentikasi asalnya. Otentikasi sumber pesan secara tersirat juga memberikan kepastian integritas data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah tidak benar. Oleh karena itu, layanan integritas data selalu dikombinasikan dengan layanan otentikasi sumber pesan. 4. Nirpenyangkalan (Non-repudiation) Nirpenyangkalan adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman, atau penerima pesan menyangkal telah menerima pesan Jenis-jenis Algoritma Kriptografi Algoritma Simetris Algoritma Simetris adalah algoritma yang menggunakan kunci yang sama pada proses enkripsi dan dekripsinya. Aplikasi kriptografi simetri yang utama yaitu melindungi kerahasiaan data yang disimpan pada media yang tidak aman. Kelemahan dari sistem ini, baik pengirim maupun penerima pesan adalah harus memiliki kunci yang sama, sehingga pengirim pesan harus mencari cara yang aman untuk memberitahukan kuncinya kepada penerima pesan (Munir, 2006). 31

26 Skema kriptografi simetris disebut juga sebagai skema atau algoritma kunci simetris (symmetric-key), kunci rahasia (secret-key), dan single-key (Paar et al., 2010). Skema kriptografi simetri dapat dilihat pada gambar 2.2. Gambar 2.2. Skema Kriptografi Simetris (Munir, 2006) Kunci enkripsi sama dengan kunci dekripsi, yaitu K. Algoritma yang termasuk dalam algoritma simetri adalah DES (Data Encryption Standard), Blowfish, Twofish, Triple-DES, IDEA, Serpent, RC4,RC4+, Hill Cipher, Affine Cipher, OTP, AES (Advanced Encryption Standard), dsb Algoritma Asimetris Algoritma Asimetris adalah algoritma kriptografi yang menggunakan kunci yang berbeda pada proses enkripsi dan dekripsinya. Pada proses enkripsi menggunakan kunci publik (kunci tersebut tidak dirahasiakan dan dapat diketahui siapapun), sedangkan pada proses dekripsi menggunakan kunci privat (kunci bersifat rahasia dan hanya dapat diketahui oleh penerima pesan). Pada kriptografi jenis ini, setiap orang yang berkomunikasi harus memiliki sepasang kunci, yakni kunci privat dan kunci publik. Pengirim mengenkripsi pesan dengan menggunakan kunci publik si penerima pesan (recepient). Hanya penerima pesan yang dapat mendekripsikan pesan tersebut karena hanya ia yang mengetahui kunci privatnya sendiri (Munir, 2006). Skema kriptografi asimetri dapat dilihat pada gambar

27 Gambar 2.3. Skema Kriptografi Asimetris (Munir, 2006). Kunci enkripsi berbeda dengan kunci dekripsi. Kunci enkripsi bersifat publik (tidak rahasia), sedangkan kunci dekripsi bersifat privat (rahasia). Algoritma yang termasuk dalam algoritma asimetri adalah RSA, RSA-CRT, Elgamal, DSA, dsb. Sistem kriptografi public-key (asimetris) memiliki kontribusi yang luar biasa dibandingkan dengan sistem kriptografi simetri. Kontribusi yang paling penting yaitu tanda-tangan digital pada pesan agar memberikan aspek keamanan otentikasi, integritas data, dan nirpenyangkalan. Tanda-tangan digital merupakan nilai kriptografis yang bergantung pada isi pesan dan kunci yang digunakan. Pengirim pesan mengenkripsikan pesan (yang sudah diringkas) dengan kunci privatnya, hasil enkripsi inilah yang dinamakan tanda-tangan digital. Tanda-tangan digital dilekatkan pada pesan asli. Penerima pesan memverifikasi tanda-tangan digital dengan menggunakan kunci publik (Munir, 2006). 2.2 Landasan Matematika Kriptografi Landasan matematika kriptografi yang akan digunakan dalam sistem adalah sebagai berikut: Bilangan Prima Bilangan bulat positif ( ) disebut bilangan prima jika pembaginya hanya 1 dan. Contoh: 23 adalah bilangan prima karena ia hanya habis dibagi oleh 1 dan 23. Karena bilangan prima harus lebih besar dari 1, maka barisan bilangan prima dimulai dari 2, yaitu 2, 3, 5, 7, 11, 13,... Seluruh bilangan prima adalah bilangan ganjil, kecuali 2 yang merupakan bilangan genap. Bilangan selain prima disebut bilangan komposit (composite). Contoh: 20 adalah bilangan komposit karena 20 dapat dibagi oleh 2, 4, 5, dan 10, selain 1 dan 20 sendiri. (Munir, 2006) Relatif Prima 33

28 Dua buah bilangan (misal: d ) dikatakan relatif prima jika gcd dari kedua bilangan tersebut yang dinotasikan dengan ( ) bernilai 1. Contoh: Apakah bilangan dan adalah relatif prima: 1. dan 2. dan Penyelesaiannya dapat dilihat pada Tabel 2.1 dan Tabel Untuk dan Tabel 2.1. Penyelesaian contoh soal relatif prima(1) mod Jadi, 8 dan 9 dikatakan relatif prima, karena ( ). 2. Untuk dan Tabel 2.2. Penyelesaian contoh soal relatif prima(2) mod Jadi, 12 dan 15 tidak dikatakan relatif prima, karena ( ) Greatest Common Divisor (GCD) Greatest Common Divisor (GCD) dari bilangan bulat dan, dinotasikan ( ), adalah bilangan bulat terbesar yang membagi kedua bilangan dan. Kemungkinan lain, dikatakan bahwa ( ) adalah bilangan, sehingga jika d dan d, maka 34

29 d. Jika ( ), dapat dikatakan bahwa dan adalah relatif prima. Diperluas gagasan dari Greatest Common Divisor (GCD) untuk sepasang bilangan bulat dengan mengikuti dua aturan: ( ) ( ) ( ) ( ), yang menangani nilai negatif. Contoh: 1. Temukan d( ) Jawab: Dilihat pada aturan pertama bahwa ( ) ( ), Jadi hasil dari ( ). 2. Temukan ( ) Jawab: Penyelesaiannya dapat dilihat pada Tabel 2.3 Tabel 2.3. Penyelesaian contoh soal ( ) A B R = A mod B Jadi, hasil dari ( ). 3. Temukan ( ) Jawab: Dilihat dari aturan kedua bahwa ( ) ( ), Maka ( ) ( ) ( ) Penyelesaiannya dapat dilihat pada Tabel 2.4 Tabel 2.4. Penyelesaian contoh soal ( ) A B R = A mod B

30 6 0 Jadi, hasil dari ( ). Sebuah GCD ada jika pada bagian terakhir dari bilangan bulat dan. Dengan catatan bahwa GCD adalah bilangan positif. (seringnya disetujukan, bagaimanapun, bahwa ( ) ). Jika ( ) maka dapat dikatakan bahwa dan tidak memiliki pembagi yang umum atau disebut juga sebagai bilangan relatif prima (Ruohonen, 2014) Aritmatika Modulo Biarkan m merupakan sebuah bilangan bulat (integer). Dikatakan bahwa bilangan bulat dan adalah modulo kongruen m jika terdapat perbedaan dibagi oleh m. Dituliskan: (mod m) Untuk mengindikasikan bahwa dan adalah bilangan modulo kongruen m. Bilangan m dikatakan sebagai modulus. (Hoffstein, 2008) Inversi Modulo Dikatakan bahwa seperti ( ). (Galbraith, 2012). Dan d. Perkalian invers dari bilangan bulat mod o adalah bilangan bilangan bulat seperti (mod ). Jika adalah sedikit positif seperti invers, maka disebut juga sedikit perkalian invers dari bilangan bulat mod o, dinyatakan dengan. (Mollin, 2008). Contoh: Berapa inversi modulo dari 9 (mod 13) Penyelesaiannya dapat dilihat pada Tabel 2.5 Tabel 2.5. Penyelesaian contoh soal inversi modulo (mod ) 1 (mod ) 2 (mod ) 3 (mod ) 36

31 Iterasi berhenti ketika hasilnya yaitu:. (mod ), maka pada contoh soal ini didapatkan Fermat s Little Theorem Pierre De Fermat lahir di Beaumont-de-Lomagne, Tarn-et-Garonne, Prancis. Ia memberikan banyak sekali kontribusi pada ilmu teori bilangan. Salah satu teoremanya yang terkenal adalah Fermat s Little Theorem. Teorema ini pertama kali dinyatakannya pada sebuah surat untuk temannya, Frencle de Bessy, pada tanggal 18 Oktober Secara formal, Fermat s Little Theorem ini dapat ditulis: Misalkan a suatu bilangan bulat positif dan p suatu bilangan prima, maka Untuk G (, ) = 1, berlaku 1 1 (mod ) Contoh, kalkulasikan 2 58 (mod 19). Karena 19 adalah bilangan prima dan 2 tidak dapat dibagi 19, maka teorema ini dapat digunakan untuk mengkalkulasi (mod 19) 1 (mod 19) Jadi 2 58 = (2 18 ) 3 x (2 4 ) 1 3 x (mod 19) Meskipun dapat digunakan untuk mempermudah kalkulasi, dalam kriptografi, peran terpenting dari Fermat's little theorem adalah sebagai dasar dari berbagai teknik enkripsi asimetris Algoritma Kunci Publik Rabin Algoritma Rabin Public Key pertama kali diperkenalkan pada tahun 1979 oleh Michael O. Rabin. Algoritma Rabin Public Key adalah salah satu algoritma kriptografi asimetris yang menggunakan kunci publik dan kunci privat. Algoritma Rabin Public Key merupakan varian algoritma Rivest Shamir Adleman (RSA). Fungsi dasar algoritmanya mirip dengan fungsi dasar dari algoritma RSA. Hanya saja 37

32 komputasinya lebih sederhana dibandingkan algoritma RSA. Karena kesederhaan komputasinya inilah maka serangan terhadap algoritma ini pun lebih banyak, antara lain : a. Chosen-Ciphertext Attack Penyerang menentukan ciphertext untuk didekripsikan, sehingga mengetahui bentuk plaintext hasil dekripsi. b. Chosen-Plaintext Attack Kriptanalis dapat menentukan plaintext untuk dienkripsikan, yaitu plaintext - plaintext yang lebih mengarahkan ke penemuan kunci. Adapun proses enkripsi dan dekripsi pada algoritma Rabin Public Key, yaitu : Proses Pembangkitan Kunci Tahapan - tahapan yang dapat dilakukan dalam proses pembangkitan kunci pada algoritma Rabin Public Key adalah : 1. Pilih 2 (dua) buah bilangan prima besar sembarang yang saling berbeda p dan q, dimana p q 3 (mod 4). Atau dengan kata lain jika p dan q di modulo 4 akan menghasilkan 3 (Wandani, 2012). Contoh : p = 11 dan q = Hitung nilai n yang merupakan kunci publik dengan rumus sebagai berikut: n = p * q dengan p dan q adalah kunci privat. Contoh : n = p * q = 11 * 23 n = 253 Proses Enkripsi Algoritma Rabin Proses Enkripsi Algoritma Rabin Proses enkripsi pada algoritma Rabin Public Key menggunakan kunci publik n. Berikut langkah-langkah proses enkripsi menggunakan algoritma Rabin Public Key yang telah dimodifikasi : 38

33 3. Ubah nilai plaintext m menjadi nilai biner, kemudian nilai biner plaintext m digabungkan dengan nilai biner plaintext m itu sendiri (redundant information) atau dengan kata lain plaintext digandakan. Penggabungan ini bertujuan untuk dapat menentukan plaintext yang sebenarnya dari keempat hasil dekripsi yang diperoleh. Contoh : m = 8, nilai binernya adalah Maka nilai m [m m] = Ubah hasil penggandaan nilai biner plaintext menjadi nilai desimalnya. Contoh : m [m m] = , nilai desimalnya adalah 136. Maka nilai m = Hitung nilai ciphertext c dengan menggunakan rumus : c = m 2 mod n dengan c adalah ciphertext, n adalah kunci publik, dan m adalah nilai desimal dari hasil penggandaan nilai biner plaintext. Contoh : m = 136 dan n =253, maka c adalah : c = m 2 mod n = mod 253 c = 27 Maka, plaintext = 8 dienkripsi dengan nilai c = 27. Untuk kombinasi plaintext dan kunci yang merupakan angka kelipatan 11 akan diperoleh ciphertext yang juga merupakan angka kelipatan 11. Hal ini menyebabkan kriptanalis dapat mengetahui bentuk plaintext yang sebenarnya atau dengan kata lain algoritma Rabin Public Key tidak aman untuk serangan chosen-ciphertext attack. Tabel 2.6 akan menunjukkan hasil enkripsi angka kelipatan 11 dengan rentang angka dan kunci publik yang digunakan adalah

34 Tabel 2.6 Hasil Enkripsi Angka Kelipatan 11 dengan Kunci Publik 77 Plaintext Ciphertext Proses Dekripsi Algoritma Rabin Ada beberapa tahapan yang dilakukan dalam mendekripsi suatu pesan menggunakan algoritma Rabin Public Key. Berikut langkah langkah proses dekripsi dengan menggunakan algoritma ini yang telah dimodifikasi : 6. Tentukan nilai Yp dan Yq yang merupakan pembagi GCD (Greatest Common Divisor) dari p dan q dengan menggunakan Algoritma Extended Euclidean. Karena GCD bilangan prima adalah 1, maka dapat ditulis sebagai berikut Yp*p + Yq * q = 1 Contoh : Yp*p + Yq * q = 1 11 Yp + 23 Yq = 1 Hasil Bagi Sisa Bagi Subsitusi Penggabungan = 11*1 + 23* = 11*0 + 23* =(11*1+23*0) (11*0 + 23*1)*0 11 = 11*1 +23* = (11*0 + 23*1) (11*1 + 23*0)*2 1 = 11*(-2) + 23*1 40

35 11 0 Karena sisa bagi mencapai 0, maka proses berakhir Hasil akhir yang diperoleh adalah 1 = 11*(-2) + 23*1, sehingga didapat nilai x = -2 dan y = Hitunglah nilai akar kuadrat dari ciphertext terhadap p dan q dengan rumus: m [ ] mod m [ ] mod dengan m p adalah akar kuadrat dari ciphertext terhadap p dan m q adalah akar kuadrat dari ciphertext terhadap q. Contoh : m [ ] mod [ ] mod m mod m [ ] mod [ ] mod mod m Maka, didapatlah mp =4 dan mq = 2 8. Hitung nilai r, s, t dan u dengan menggunakan Chinese Remainder Theorem. r = (Yp*p* mq + Yq * q* mp ) mod n s = (Yp*p* mq - Yq * q* mp ) mod n 41

36 t = ( -Yp*p* mq + Yq * q* mp ) mod n u = ( -Yp*p* mq - Yq * q* mp ) mod n... Contoh : r = (Yp*p* mq + Yq * q* mp ) mod n = ((-2)*11*2 + 1*23*4) mod 253 = 48 s = (Yp*p* mq - Yq * q* mp ) mod n = ((-2)*11*2-1*23*4) mod 253 = 117 t = ( -Yp*p* mq + Yq * q* mp ) mod n = (2*11*2 + 1*23*4) mod 253 = 136 u = ( -Yp*p* mq - Yq * q* mp ) mod n = (2*11*2-1*23*4) mod 253 = Tambahkan r,s,t,u dengan kongruen nilai desimal hasil penggandaan plaintext k yang dikalikan dengan kunci publik n. R = (k*n)+r S = (k*n)+s T = (k*n)+t U = (k*n)+u Contoh : R = (k*n) + r = (0*253) + 48 R = 48 S = (k*n) + s = (0*253) S =

37 T = (k*n) + t = (0*253) T = 136 U = (k*n) + u = (0*253) U = Ubahlah nilai desimal R,S,T,U ke dalam bentuk biner. Kemudian nilai biner R,S,T,U dibagi menjadi 2 (dua) bagian. Bandingkan kedua bagian tersebut. Jika kedua bagian tersebut menghasilkan bentuk biner yang sama, maka didapatlah hasil dekripsi ciphertext c dengan mengubah bentuk biner salah satu bagian yang telah dibagi menjadi 2(dua) bagian yang sama. Contoh : R = 48, nilai binernya adalah Jika nilai binernya dibagi menjadi 2 (dua) bagian, maka akan menghasilkan nilai biner 110 dan 000. Karena tidak menghasilkan bentuk biner yang sama, maka R bukan pesan rahasia yang sebenarnya. S = 117, nilai binernya adalah Panjang nilai biner yang dihasilkan adalah ganjil, sehingga sudah dapat dipastikan S bukan pesan rahasia yang sebenarnya. T = 136, nilai binernya adalah Jika nilai binernya dibagi menjadi 2 (dua) bagian, maka akan menghasilkan nilai biner 1000 dan Karena menghasilkan bentuk biner yang sama, maka T adalah pesan rahasia yang sebenarnya. U = 205, nilai binernya adalah Jika nilai binernya dibagi menjadi 2 (dua) bagian, maka akan menghasilkan nilai biner 1100 dan Karena tidak menghasilkan bentuk biner yang sama, maka U bukan pesan rahasia yang sebenarnya. 43

38 Maka, didapatlah dekripsi dari ciphertext c=27 adalah 48, 117, 136, 205 dengan 136 menghasilkan bentuk biner yang sama jika dibagi menjadi 2 (dua) bagian, yaitu 1000 dan Dan jika diubah menjadi nilai desimal akan menghasilkan nilai plaintext yang sebenarnya yaitu 8 (Wandani, 2012) Steganografi Steganografi adalah jenis komunikasi tersembunyi yang secara harfiah berarti tulisan tersembunyi (Kipper, 2004). Steganografi berasal dari Bahasa Yunani, yaitu steganos yang artinya tulisan tersembunyi (covered writing) (Munir, 2006). Pesan tersebut bersifat terbuka, sering dilihat semua orang, tetapi tidak terdeteksi karena keberadaan makna pesan tersebut rahasia. Deskripsi lain yang populer untuk steganografi adalah tersembunyi di depan mata (hidden in plain sight) (Kipper, 2004). Salah satu perbedaan steganografi dengan kriptografi adalah di mana pesan pada kriptografi bersifat acak, tidak dapat dibaca dan keberadaan akan pesan rahasia sering diketahui. Sedangkan steganografi menyembunyikan pesan dalam pesan lain (media) dan pesan atau media tersebut terlihat seperti normal (Kipper, 2004). Steganografi adalah ilmu menyembunyikan teks pada media lain yang telah ada sehingga teks yang tersembunyi menyatu dengan media tersebut. Media tempat penyembunyian pesan tersembunyi dapat berupa media teks, gambar, audio, atau video. Steganografi yang kuat memiliki sifat media yang telah tertanam teks tersembunyi dan sulit dibedakan dengan media asli namun teks tersembunyi tetap dapat diekstrasi (Sadikin, 2012). Terdapat beberapa istilah yang berkaitan dengan steganografi antara lain. 1. Hiddentext atau hidden object merupakan informasi yang akan disembunyikan. 2. Covertext atau cover object, merupakan media penampung pesan. 3. Stegotext atau stego object, media yang sudah disisipkan pesan. 4. Stegokey, merupakan kunci untuk menyisipkan pesan atau membaca pesan. Penyisipan pesan ke dalam media cover object dinamakan embedding, sedangkan pemisahan pesan dari stego object dinamakan extraction. Kedua proses ini memerlukan kunci (stegokey) agar hanya pihak yang berhak saja yang dapat 44

39 melakukan penyisipan dan pemisahan pesan. Untuk lebih jelasnya tentang proses steganografi dapat dilihat pada Gambar 2.4. Penampung Pesan Penampung Pesan Hasil Pesan Rahasia Penyisipan Pesan Pemisahan Pesan Pesan Kunci Kunci Gambar 2.4 Proses Penyisipan dan Ekstraksi Pesan (Munir, 2016) Proses steganografi sedikit atau banyak akan mengubah kualitas dari media tersebut. Untuk hasil steganografi dapat dikatakan baik cukup dengan memenuhi 3 (tiga) kriteria, yaitu : a. Imperceptibility Keberadaan pesan tidak diketahui oleh indera manusia. b. Fidelity Kualitas dari media penampung tidak berubah banyak setelah dilakukan proses penyisipan sehingga orang akan sulit mengetahui bahwa sebenarnya didalamnya terdapat pesan. c. Recovery Pesan yang disisipkan harus dapat diungkapkan kembali, karena tujuan dari steganografi adalah hanya untuk menyembunyikan data Teknik Steganografi First Of File dan End Of File Teknik EOF atau End Of File merupakan salah satu teknik yang digunakan dalam steganografi. Teknik ini digunakan dengan cara menambahkan data atau pesan rahasia pada akhir file citra. Untuk mengenal data yang disisipkan pada akhir file, diperlukan 45

40 suatu tanda pengenal atau simbol pada awal dan akhir data yang akan disisipkan. Dengan metode ini pesan yang disisipkan jumlahnya tak terbatas. Akan tetapi efek sampingnya adalah ukuran file menjadi lebih besar dari ukuran semula. Sedangkan untuk teknik FOF atau First Of File merupakan kebalikannya, yaitu data atau pesan rahasia ditambahkan pada awal file. Proses embedding atau penyisipan pesan menggunakan metode First of File dan End of File adalah sebagai berikut : 1. Inputkan ciphertext yang akan disisipkan. 2. Inputkan citra yang akan menjadi media penyisipan ciphertext (cover image). 3. Baca nilai setiap pixel citra. 4. Tambahkan ciphertext sebagai nilai awal dan nilai akhir pixel citra dengan diberi karakter penanda sebagai penanda akhir ciphertext. 5. Petakan menjadi citra baru. Berikut contoh penyembunyian pesan dengan teknik steganografi : Contoh Penyisipan Pesan dengan First Of File dan End Of File Pada sebuah citra 4x6 pixel disisipkan adalah angka 8. Misalkan terdapat suatu citra sebagai contoh RGB 4x6 yang memiliki nilai setiap pixel seperti pada Tabel 2.7 Tabel 2.7 Matriks Citra Bewarna 4 x 6 pixel, (Hardiyana, 2013) R=48 R=49 R=67 R=77 R=93 R=114 G=91 G=90 G=103 G=108 G=119 G=130 B=125 B=120 B=129 B=129 B=136 B=143 R=52 R=42 R=48 R=61 R=80 R=97 G=89 G=79 G=82 G=93 G=111 G=120 B=118 B=106 B=107 B=116 B=132 B=134 46

41 R=58 R=49 R=46 R=50 R=54 R=75 G=86 G=77 G=78 G=86 G=98 G=111 B=107 B=98 B=101 B=110 B=125 B=133 R=69 R=60 R=62 R=56 R=52 R=73 G=65 G=87 G=91 G=87 G=89 G=102 B=32 B=106 B=109 B=107 B=108 B=116 Kode biner pesan disisipkan dengan cara menambah baris baru setelah baris terakhir matriks citra. Kemudian kode biner pesan disisipkan pada penambahan baris matriks citra tersebut secara horizontal berurutan dari pixel warna Red, Green, Blue. Sehingga matriks citra setelah disisipi dapat dijelaskan pada Tabel 2.8. Angka bewarna merah adalah pesan yang disisipi pada matriks citra. Tabel 2.8 Matriks Citra yang Disisipikan Ciphertext (Hardiyana, 2013) R=8 R=0 R=0 R=0 R=0 R=0 G=0 G=0 G=0 G=0 G=0 G=0 B=0 B=0 B=0 B=0 B=0 B=0 R=48 R=49 R=67 R=77 R=93 R=114 G=91 G=90 G=103 G=108 G=119 G=130 B=125 B=120 B=129 B=129 B=136 B=143 R=52 R=42 R=48 R=61 R=80 R=97 G=89 G=79 G=82 G=93 G=111 G=120 B=118 B=106 B=107 B=116 B=132 B=134 47

42 R=58 R=49 R=46 R=50 R=54 R=75 G=86 G=77 G=78 G=86 G=98 G=111 B=107 B=98 B=101 B=110 B=125 B=133 R=69 R=60 R=62 R=56 R=52 R=73 G=96 G=87 G=91 G=87 G=89 G=102 B=115 B=106 B=109 B=107 B=108 B=116 R=0 R=0 R=0 R=0 R=0 R=0 G=0 G=0 G=0 G=0 G=0 G=0 B=0 B=0 B=0 B=0 B=0 B=0 Matriks di atas akan dipetakan kembali dalam bentuk citra RGB dan citra ini disebut stego image Proses extraction atau pengambilan ciphertext dari media menggunakan metode First of File dan End of File adalah sebagai berikut : 1. Inputkan citra yang telah disisipkan ciphertext (stego image). 2. Baca nilai pixel stego image yang terdapat pada baris awal dan terakhir matriks pixel citra. 3. Ambil ciphertext yang terdapat pada stego image, yaitu nilai pixel awal yang terdapat pada baris terakhir matriks pixel citra sampai nilai desimal karakter penanda. Berikut contoh pengambilan ciphertext menggunakan metode First of File dan End of File : Terdapat suatu citra RGB 4x6 yang telah disisipkan ciphertext (stego image), angka bewarna merah adalah pesan yang telah disisipi pada matriks citra. Nilai setiap pixel file citra RGB tersebut dapat dilihat pada Tabel 2.9. Tabel 2.9 Matriks Citra yang Disisipikan Ciphertext (Hardiyana, 2013) R=8 R=0 R=0 R=0 R=0 R=0 G=0 G=0 G=0 G=0 G=0 G=0 B=0 B=0 B=0 B=0 B=0 B=0 48

43 R=48 R=49 R=67 R=77 R=93 R=114 G=91 G=90 G=103 G=108 G=119 G=130 B=125 B=120 B=129 B=129 B=136 B=143 R=52 R=42 R=48 R=61 R=80 R=97 G=89 G=79 G=82 G=93 G=111 G=120 B=118 B=106 B=107 B=116 B=132 B=134 R=58 R=49 R=46 R=50 R=54 R=75 G=86 G=77 G=78 G=86 G=98 G=111 B=107 B=98 B=101 B=110 B=125 B=133 R=69 R=60 R=62 R=56 R=52 R=73 G=96 G=87 G=91 G=87 G=89 G=102 B=115 B=106 B=109 B=107 B=108 B=116 R=0 R=0 R=0 R=0 R=0 R=0 G=0 G=0 G=0 G=0 G=0 G=0 B=0 B=0 B=0 B=0 B=0 B=0 Kemudian dibaca nilai pixel stego image yang terdapat pada baris awal dan terakhir matriks pixel citra untuk dimasukkan di setiap pixel R, G dan B, dengan nilai awal dalam keadaan warna hitam atau pixel 0, pembaccan stego image seperti pada Gambar Tabel 2.10 Awal Matriks Pixel Citra R=8 R=0 R=0 R=0 R=0 R=0 G=0 G=0 G=0 G=0 G=0 G=0 B=0 B=0 B=0 B=0 B=0 B=0 Tabel 2.11 Akhir Matriks Pixel Citra R=0 R=0 R=0 R=0 R=0 R=0 G=0 G=0 G=0 G=0 G=0 G=0 B=0 B=0 B=0 B=0 B=0 B=0 49

44 Untuk proses Extracting, maka dilakukan dengan cara mengambil nilai pixel pada matriks citra dimulai dari pixel pertama pada baris pertama matriks (R-G-B), kemudian menuju pixel pertama pada baris terakhir matriks (R-G-B) selanjutnya berulang seperti ini ke pixel kedua sampai dengan menemukan nilai karakter pesan. Setelah itu didapatkan nilai ciphertext yaitu 8. 50

45 BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem Sebuah sistem yang baik tentu harus dibangun dengan perancangan yang baik pula. Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem yang utuh ke dalam bagian-bagian komponen. Hal ini bertujuan untuk mempelajari apakah komponen-komponen tersebut bekerja dan berinteraksi sesuai dengan tujuan mereka. Ada tiga fase analisis sistem yaitu analisis masalah, analisis kebutuhan dan analisis proses. Analisis masalah bertujuan untuk mengidentifikasi penyebab masalah serta memahami kelayakan masalah. Analisis kebutuhan bertujuan untuk mengidentifikasi dan menjelaskan fungsi-fungsi yang disediakan oleh sistem baik kebutuhan fungsional dan non-fungsional. Analisis proses bertujuan untuk mengetahui alur suatu sistem dan tools yang digunakan untuk merancang sebuah sistem Analisis Masalah Analisis masalah adalah proses identifikasi sebab dan akibat dibangunnya sebuah sistem agar sistem dapat berjalan sesuai dengan tujuan dibuatnya sistem. Permasalahan yang dibahas pada penelitian ini adalah belum terjaminnya keamanan pesan saat proses enkripsi menggunakan algoritma Kriptografi Kunci Publik Rabin sehingga pesan akan disisipkan ke dalam suatu file gambar berformat jpeg dengan menggunakan algoritma Steganografi First Of File dan End Of File. File teks yang digunakan dalam penelitian ini adalah file berekstensi *.txt, *.doc dan *.docx. Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa (fishbone diagram). Diagram Ishikawa merupakan suatu alat visual untuk mengidentifikasi, mengeksplorasi, dan secara diagram menggambarkan semua penyebab yang berhubungan dengan suatu permasalahan. Diagram ini menunjukkan sebuah akibat dari permasalahan dengan berbagai penyebabnya (Whitten et al, 2004). Diagram Ishikawa proses perancangan sistem ini dapat dilihat pada Gambar

46 Manusia Material Ancaman manipulasi data dari pihak yang tidak berkepentingan Sulit menjaga kerahasiaan data Pihak ketiga memiliki kecurigaan dan ingin tahu Sulit menemukan metode yang tepat untuk mengamankan & menyisipkan file kedalam citra. Terdapat efek garis berwarna hitam Kriptografi masih mencurigakan Citra berubah dan terlihat mencurigakan Kunci dapat di ketahui pihak ketiga Data yang bersifat rahasia Belum ada aplikasi yang menggabungkan kriptografi dan steganografi Software tidak bekerja dengan baik Dibutuhkannya sistem pengamanan file teks dengan penggabungan kriptografi dan steganografi Metode Mesin Gambar 3.1. Diagram Ishikawa Masalah Penelitian Berdasarkan Gambar 3.1. bentuk segiempat paling kanan merupakan bagian yang menunjukkan masalah utama penelitian. Sedangkan empat buah segiempat lainnya adalah kategori masalah. Garis horizontal yang mengarah ke kategori masalah adalah sebab dari masalah utama Analisis Kebutuhan Analisis kebutuhan terbagi dua bagian, yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional mendeskripsikan aktivitas yang disediakan suatu sistem. Sedangkan kebutuhan nonfungsional mendeskripsikan fitur, karakteristik dan batasan lainnya Kebutuhan Fungsional Kebutuhan fungsional adalah fungsi-fungsi yang harus dipenuhi pada aplikasi yang dirancang. Kebutuhan fungsional yang harus dipenuhi aplikasi yang dirancang adalah sebagai berikut: 1. Pembangkit kunci. 49

47 Kunci dibangkitkan dengan pembangkit bilangan prima yaitu dengan Fermat s little Theorem. 2. Enkripsi Pesan Dengan memiliki kunci enkripsi, sistem dapat melakukan enkripsi pesan menjadi ciphertext. Pesan yang dapat diinputkan oleh sistem yaitu jenis format *.txt, *.doc, dan *.docx. 3. Embedding Pesan (Penyisipan) Pesan rahasia disembunyikan ke dalam citra berformat jpeg yang dipilih oleh pengguna. Pesan rahasia dapat berupa pesan asli langsung atau ciphertext. 4. Ekstraksi Pesan Dengan memilih citra berformat jpeg yang memiliki pesan rahasia di dalamnya, pengguna dapat memperoleh pesan rahasia berupa plaintext atau ciphertext. 5. Dekripsi Pesan Sistem dapat mengubah pesan yang tersandi (ciphertext) menjadi pesan asli (plaintext) atau mengembalikan pesan tersandi ke bentuk semula Kebutuhan Non Fungsional Kebutuhan fungsional mencakup beberapa karakteristik berikut: 1. Performa Sistem yang akan dibangun dapat menunjukkan hasil dari fungsi kriptografi dan steganografi yang dilakukan oleh sistem. 2. Efisiensi Sistem yang akan dibangun harus sesederhana mungkin agar tidak menyulitkan pengguna. 3. Ekonomis Sistem yang akan dibangun harus dapat bekerja dengan baik tanpa harus mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat lunak. 4. Dokumentasi Sistem atau perangkat lunak yang akan dibangun memiliki panduan penggunaan. 5. Manajemen kualitas 50

48 Perangkat lunak yang dibangun harus memiliki kualitas yang baik yaitu proses pembangkitan kunci yang cepat dan proses kriptografi dan steganografi yang akurat. 6. Kontrol Perangkat lunak yang dibangun akan menampilkan pesan error untuk setiap input yang tidak sesuai Arsitektur Umum Kriptografi Dan Steganografi Arsitektur umum antara kriptografi dan steganografi citra digital ditunjukkan pada Gambar 3.2. Citra Digital (original) Pesan (Plaintext) Proses Enkripsi (Rabin) Pesan (Ciphertext) Proses Penyisipan Pesan (Metode FOF dan EOF ) Citra Digital (Hasil/Stego image) Citra Digital Pesan (Plaintext) Proses Dekripsi (Rabin) Pesan (Ciphertext) Proses ekstraksi Pesan (Metode FOF dan EOF) Gambar 3.2. Arsitektur Umum Proses Pada gambar 3.2. dapat dilihat proses kombinasi kriptografi dan steganografi. Pesan teks (plaintext) yang akan disisipkan ke dalam citra digital terlebih dahulu dienkripsi dengan menggunakan algoritma Rabin. Selanjutnya hasil enkripsi (ciphertext) disisipkan ke dalam sebuah citra digital melalui proses penyisipan dengan menggunakan Metode First of File dan End Of File. Hasil penyisipan berupa citra hasil (stego image), dimana di dalam stego image ini telah terdapat pesan yang telah disisipkan sebelumnya. Ekstraksi pesan dilakukan dengan menggunakan metode yang sama saat proses penyisipan. Hasilnya adalah diperoleh pesan yang telah disisipkan sebelumnya (ciphertext). Selanjutnya pesan (ciphertext) tersebut akan didekripsi dengan menggunakan Algoritma Rabin sehingga menghasilkan pesan awal (plaintext). 51

49 3.2. Pemodelan Sistem Pemodelan pada sistem dilakukan untuk memberikan petujuk dan pendeskripsian mengenai gambaran dari kebutuhan sistem yang akan dibangun, yaitu dengan melakukan pemodelan berbasis skenario menggunakan UML untuk mendesain dan merancang sistem. UML (Unified Modeling Language) adalah bahasa yang digunakan untuk memberikan penjelasan mengenai komponen-komponen untuk membangun sistem dan interaksi antar komponen sistem. Beberapa model UML yang digunakan dalam penelitian ini yakni antara lain: use case diagram, activity diagram, dan sequence diagram Use Case Diagram Use case diagram adalah gambaran skenario yang menunjukkan bagaimana interaksi pada sistem yang sedang dijalankan oleh pengguna/actor. Actor pada model use case diagram berperan dalam melakukan komunikasi dengan sistem. Hubungan antara actor dengan use case dihubungkan dengan garis lurus. Sedangkan hubungan antara satu use case yang digunakan untuk meredundasi use case yang lain dihubungkan dengan garis putus-putus dengan keterangan include. Sedangkan keterangan extend digunakan sebagai perluasan satu use case dengan use case yang lainnya jika kondisi telah terpenuhi (Whitten, 2007). Use case diagram sistem pada aplikasi yang dirancang dapat dilihat pada Gambar

50 Gambar 3.3. Use Case Diagram Pada Sistem Dilihat dari diagram use case pada Gambar 3.3. menjelaskan bahwa actor pada penelitian ini diidentifikasikan sebagai pengirim dan penerima pesan. Pada use case pembangkitan kunci dilakukan oleh penerima pesan, pada use case encryption dan embedding dilakukan oleh pengirim pesan, dan pada use case extraction dan decryption dilakukan oleh penerima pesan. Use-case narrative merupakan penjelasan dari setiap use-case yang ada pada diagram use-case. Tabel 3.1. sampai Tabel 3.5. berikut ini adalah use-case narrative dari diagram use-case pada Gambar

51 Tabel 3.1. Deskripsi Use Case Generate Key Nama Generate Key Aktor Deskripsi Pengguna Sistem (Berperan sebagai Penerima) Use case ini mendeskripsikan form Generate Key sebagai form yang menunjukkan proses pembangkitan kunci dan pembangkit bilangan prima acak dengan metode Fermat s Little Theorem. Alur Utama - Actor memilih menu generate key - Menekan tombol Generate untuk mendapatkan kunci publik dan kunci privat. - Memilih tombol Save Public Key dan Save Private Key untuk menyimpan kunci. Prakondisi - Pasca Kondisi Sistem menampilkan hasil kunci yang telah dibangkitkan dan di simpan di media penyimpanan. Kunci yang didapatkan yaitu kunci publik dan kunci privat. Tabel 3.2. Deskripsi Use Case Enkripsi Rabin Nama Enkripsi File Teks Aktor Deskripsi Pengirim Use case ini mendeskripsikan form Encryption sebagai form yang menunjukkan proses enkripsi pesan (plaintext) dan kunci publik untuk mengamankan isi pesan. Alur Utama - Pengirim memilih file teks yang akan dienkripsi dan kunci publik. - Sistem melakukan proses enkripsi dan menampilkan hasil Tabel 3.2. Deskripsi enkripsi Use Case (ciphertext) Enkripsi Rabin (lanjutan) Prakondisi Sistem menerima kunci publik pada proses sebelumnya untuk dienkripsi 54

52 Pasca Kondisi Pengirim menyimpan hasil enkripsi (ciphertext) Tabel 3.3. Deskripsi Use Case Embedding Nama Embedding Cover Image Aktor Deskripsi Pengirim Use case ini mendeskripsikan form Embedding sebagai form yang menunjukkan proses penyisipan pesan ke dalam citra untuk mengamankan isi pesan. Alur Utama - Pengirim memilih cover image yang akan disisip dan masukkan ciphertext. - Sistem melakukan proses embedding dan menampilkan hasil embedding (Stego Image). Prakondisi Sistem menerima hasil enkripsi pada proses sebelumnya untuk embedding. Pasca Kondisi Pengirim menyimpan hasil embedding (Stego Image). Tabel 3.4. Deskripsi Use Case Extraction Nama Extraction Stego Image Aktor Penerima Deskripsi Use case ini mendeskripsikan form Extraction sebagai form yang menunjukkan proses ektraksi pesan dari dalam stego image oleh penerima. Stego image akan menghasilkan ciphertext yang sudah disisip ke dalam cover image sebelumnya. Tabel 3.4. Deskripsi Use Case Extraction (lanjutan) Alur Utama - Penerima memasukkan stego image yang akan di ektraksi. - Sistem melakukan proses extraction dan menampilkan hasil extraction (Ciphertext). Prakondisi Sistem menerima hasil embedding stego image pada proses sebelumnya untuk di extraction. 55

53 Pasca Kondisi Pengirim menyimpan hasil extraction (Ciphertext). Tabel 3.5. Deskripsi Use Case Dekripsi Rabin Nama Dekripsi File Teks Aktor Deskripsi Penerima Use case ini mendeskripsikan form Decryption sebagai form yang menunjukkan proses dekripsi pesan (ciphertext) dan kunci privat. Alur Utama - Pengirim memilih file teks yang akan didekripsi dan memasukkan kunci privat. - Sistem melakukan proses dekripsi dan menampilkan hasil dekripsi (plaintext) Prakondisi Sistem menerima file ciphertext dan kunci dari pengirim. Pasca Kondisi Sistem menyimpan hasil dekripsi (plaintext) Activity Diagram Activity diagram adalah diagram aktivitas yang mendeskripsikan proses kerja dalam sebuah sistem yang sedang berjalan. Dalam diagram aktivitas ini dijelaskan proses kerja dari sistem pembangkitan kunci, enkripsi, penyisipan, ektraksi, dan dekripsi yang dilakukan oleh pengguna. 56

54 Activity Diagram Proses Pembangkit Kunci Gambar 3.4. Activity Diagram Proses Pembangkitan Kunci Berdasarkan Gambar 3.4. untuk melakukan proses pembangkit kunci hal pertama yang dilakukan adalah mengklik tombol bangkitkan kunci, dimana untuk nilai bilangan prima, p dan q sudah ditentukan sendiri oleh sistem. Setelah selesai proses bangkitkan kunci maka user menyimpan kunci publik dan privat yang nantinya akan digunakan untuk proses enkripsi. Berdasarkan Gambar 3.5. untuk melakukan enkripsi hal yang pertama dilakukan adalah input file (plaintext) dan kunci publik yang telah disimpan, sistem akan menampilkan isi file dan isi kunci publik yang akan digunakan dalam proses enkripsi. Setelah penginputan file dan kunci selesai, proses enkripsi dapat dilakukan dan menghasilkan ciphertext lalu simpan hasil ciphertext untuk proses embedding. 57

55 Activity Diagram Proses Enkripsi Rabin Gambar 3.5. Activity Diagram Proses Enkripsi Rabin Activity Diagram Proses Penyisipan First Of File dan End Of File Gambar 3.6. Activity Diagram Proses Embedding Berdasarkan gambar 3.6. untuk melakukan embedding, hal pertama yang dilakukan adalah input file image, setelah itu masukkan ciphertext hasil enkripsi, selanjutnya 58

56 proses embedding dilakukan dan menghasilkan stego image, simpan stego image untuk proses ektraksi Activity Diagram Proses Ektraksi First Of File dan End Of File Gambar 3.7. Proses Extraction Berdasarkan gambar 3.7 untuk melakukan proses ektraksi hal pertama yang dilakukan adalah pilih menu ektraksi, tekan tombol browse lalu input stego image, setelah itu proses ektraksi dilakukan dan menghasilkan ciphertext, simpan ciphertext untuk proses dekripsi. 59

57 Activity Diagram Proses Dekripsi Rabin Gambar 3.8. Activity Diagram Proses Decryption Berdasarkan gambar 3.8. untuk melakukan dekrispi, hal yang pertama dilakukan adalah input file ciphertext, setelah itu input kunci privat yang telah disimpan. Sistem akan menampilkan nilai kunci privat. Selanjutnya dekripsi ciphertext, berikutnya sistem akan menampilkan hasil plaintext lalu simpan hasil dekripsi Sequence Diagram Sequence Diagram adalah bentuk pemodelan sistem yang menggambarkan hubungan antar objek atau objek yang saling berinteraksi melalui pesan dalam eksekusi. Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima diantara objek. Sequence Diagram untuk sistem yang dirancang pada penelitian ini dapat dilihat pada Gambar

58 Gambar 3.9. Sequence diagram sistem Flowchart Flowchart merupakan suatu bagan yang menggambarkan urutan suatu proses secara rinci menggunakan simbol-simbol tertentu dan menggambarkan hubungan antara satu proses dengan proses lainnya dengan menggunakan tanda panah Flowchart Gambaran Umum Sistem Flowchart merupakan diagram alir kegiatan sistem yang memperlihatkan penggambaran mengenai langkah-langkah terstruktur terhadap penyelesaian dalam suatu permasalahan, serta memberikan kemudahan dalam melakukan proses pengecekan pada bagian sistem yang dibangun. Diagram alir pada flowchart digambarkan dalam sebuah simbol, setiap simbol memberikan gambaran proses tertentu (Whitten, 2007). Terdapat 5 (lima) proses utama yang terjadi pada sistem ini, yaitu proses pembangkitan kunci, proses enkripsi, proses penyisipan pesan (embedding), proses ekstraksi pesan (extraction) dan proses dekripsi. Keseluruhan proses tersebut dapat dilihat pada flowchart gambaran umum sistem pada Gambar

59 Gambar Gambaran Umum Sistem (Wandani, 2012) Berdasarkan gambar untuk gambaran umum sistem, tahap pertama yaitu dengan membangkitkan bilangan prima menggunakan metode Fermat s Little Theorem dan melakukan pencarian bilangan relatif prima menggunakan algoritma Euclidean GCD. Sistem dibangun dengan menggunakan bahasa pemrograman C# dengan IDE SharpDevelop. Selanjutnya pesan teks yang berformat (*.txt, *.doc, *.docx) di enkripsi dan menghasilkan ciphertext yang kemudian akan disembunyikan pada citra berformat *.jpeg dengan teknik steganografi kombinasi metode First Of File dan End Of File yaitu dengan menyisipkan pesan pada baris awal dan akhir dari matriks pixel suatu citra. Proses penyembunyian pesan (embedding) pada cover image menghasilkan stego image yang selanjutnya akan melalui proses extracting untuk mendapatkan pesan yang tersembunyi (ciphertext) dan kemudian akan di dekripsi sehingga mendapatkan plaintext semula. 62

60 Flowchart Pembangkitan Kunci Pembangkitan kunci dilakukan dengan mengacak bilangan dan kemudian dicek apakah bilangan tersebut merupakan bilangan prima dengan Algoritma Fermat s little Theorem. Flowchart pembangkitan kunci dapat dilihat pada Gambar Gambar Flowchart Alur proses pembangkit kunci Berdasarkan Gambar untuk melakukan proses pembangkit kunci hal pertama yang dilakukan adalah mengklik tombol bangkitkan kunci, dimana untuk nilai bilangan prima, p dan q sudah ditentukan sendiri oleh sistem. Setelah selesai proses bangkitkan kunci maka user menyimpan kunci publik dan privat yang nantinya akan digunakan untuk proses enkripsi. Berdasarkan Gambar untuk melakukan enkripsi hal yang pertama dilakukan adalah input file (plaintext) dan kunci publik yang telah disimpan, sistem akan menampilkan isi file dan isi kunci publik yang akan digunakan dalam proses enkripsi. Setelah penginputan file dan kunci selesai, proses enkripsi dapat dilakukan dan menghasilkan ciphertext lalu simpan hasil ciphertext untuk proses embedding. 63

61 Flowchart Proses Enkripsi pada Algoritma Rabin Public Key Flowchart proses enkripsi menggunakan algoritma Rabin Public Key dapat dilihat pada Gambar Gambar Flowchart Enkripsi (Wandani, 2012) Berdasarkan Gambar untuk melakukan dekripsi hal yang pertama dilakukan adalah masukkan nilai yp dan yq, input ciphertext dan hitung nilai akar kuadrat nya dan hitung juga nilai R,S,T,U. Ubahlah nilai desimal R,S,T,U ke dalam bentuk biner. Kemudian nilai biner R,S,T,U dibagi menjadi 2 (dua) bagian. Bandingkan kedua bagian tersebut. Jika kedua bagian tersebut menghasilkan bentuk biner yang sama, maka didapatlah hasil dekripsi ciphertext c dengan mengubah bentuk biner salah satu bagian yang telah dibagi menjadi 2(dua) bagian yang sama. 64

62 Flowchart Proses Dekripsi pada Algoritma Rabin Public Key Flowchart proses dekripsi pada algoritma Rabin dapat dilihat pada Gambar Mulai Masukkan kunci privat p dan q Masukkan ciphertext yang akan didekripsi Cari nilai Yp dan Yq dengan menggunakan algoritma Extended Euclidean mp = (c^((p+1)/4)) mod p mq = (c^((q+1)/4)) mod q r = (Yp*p*mq + Yq*q*mp) mod n s = (Yp*p*mq - Yq*q*mp) mod n t = (-Yp*p*mq + Yq*q*mp) mod n u = (-Yp*p*mq - Yq*q*mp) mod n R = (k*n)+r S = (k*n)+s T = (k*n)+t U = (k*n)+u Ubah nilai R,S,T,U kedalam bentuk biner Nilai biner R,S,T,U dibagi menjadi 2 bagian. Kedua bagian nilai biner R sama? Tidak Ya Ubah salah satu bagian nilai Kedua bagian nilai Tidak biner R yang telah dibagi 2 (dua) kedalam bentuk desimal biner S sama? Ya Ubah salah satu bagian nilai Kedua bagian nilai Tidak biner S yang telah dibagi 2 (dua) kedalam bentuk desimal biner T sama? Ubah salah satu bagian nilai biner T yang telah dibagi 2 (dua) kedalam bentuk desimal Ya Kedua bagian nilai Tidak biner U sama? Ya Ubah salah satu bagian nilai biner U yang telah dibagi 2 (dua) kedalam bentuk desimal Plaintext Selesai Gambar Flowchart Dekripsi Algoritma Rabin Public Key (Wandani, 2012) Flowchart Proses Embedding First Of File dan End Of File 65

63 Pada proses embedding, hal pertama yang dilakukan adalah input file image, setelah itu masukkan ciphertext hasil enkripsi, selanjutnya proses embedding dilakukan dan menghasilkan stego image, simpan stego image untuk proses ektraksi. Adapun flowchart dari proses dekripsi dapat dilihat pada Gambar Mulai Pilih File citra yang akan menjadi media penyisipan pesan Masukkan Pesan yang akan disisip Baca nilai setiap pxel ke citra Proses First Of File dan End-of-File (EOF) Petakan sebagai File citra baru Stego image Simpan Stego image Stego.bmp Selesai Gambar Flowchart Proses Embedding Berdasarkan Gambar untuk melakukan embedding hal pertama yang dilakukan adalah pilih cover image masukkan ciphertext, proses embedding dapat dilakukan dan menghasilkan stego image lalu simpan hasil stego image untuk proses ektraksi. 66

64 Flowchart Proses Extraction First Of File dan End Of File Proses ektraksi hal pertama yang dilakukan adalah input stego image, setelah itu proses ektraksi dilakukan dan menghasilkan ciphertext, simpan ciphertext untuk proses dekripsi.pengambilan ciphertext dari media file citra dengan menggunakan metode First Of File dan End of File. Adapun flowchart dari proses dekripsi dapat dilihat pada Gambar Mulai Inputkan stego image Baca nilai pixel stego image yang terdapat pada baris awal dan terakhir matriks pixel citra. Ambil ciphertext yang terdapat pada stego image, yaitu nilai pixel awal yang terdapat pada baris pertama matriks, dan nilai pixel awal pada baris terakhir matriks. Ciphertext Selesai Gambar Flowchart Proses Extraction Berdasarkan gambar untuk melakukan proses ektraksi hal pertama yang dilakukan adalah input stego image, baca nilai pixelnya, ambil ciphertext yang terdapat pada stego image setelah itu proses ektraksi dilakukan dan menghasilkan ciphertext, simpan ciphertext untuk proses dekripsi Perancangan Antarmuka (Interface) Perancangan Antarmuka (Interface) merupakan sarana interaksi antara pengguna dan sistem. Hal ini berfungsi untuk memudahkan pengguna dalam melakukan proses sistem. 67

65 Rancangan Halaman Utama (Home) Halaman Home merupakan halaman yang pertama kali ditampilkan saat sistem dijalankan. Pada halaman Home terdapat beberapa menu untuk mengakses halaman lain. Rancangan halaman Home dapat dilihat pada Gambar Gambar Rancangan Interface Halaman Home Pada Gambar ditunjukkan tampilan rancangan dari halaman Home. Pada halaman ini terdapat menu yang terdiri dari Generate Key, Rabin Public Key, FOF dan EOF, dan Help. Pada halaman Home juga terdapat informasi judul, logo fakultas, nama, NIM dan program studi pembuat sistem. Keterangan dari Gambar 3.14 dapat dilihat pada Tabel 3.6. Tabel 3.6. Interface Halaman Home No Keterangan 1 Menu Home untuk menampilkan halaman utama dari sistem 2 Menu Generate Key untuk pembangkitan kunci yang dibutuhkan dalam proses enkripsi Tabel dan 3.6. dekripsi Interface Halaman Home (lanjutan) 3 Menu Rabin Public Key untuk memiliki 2 submenu yaitu: - Submenu Encryption untuk proses mengubah plaintext menjadi 68

66 ciphertext - Submenu Decryption untuk proses mengembalikan ciphertext menjadi plaintext 4 Menu FOF dan EOF untuk memiliki 2 submenu yaitu: - Submenu Embedding untuk proses mengubah citra asli menjadi stego image - Submenu Extraction untuk proses mengembalikan stego image menjadi ciphertext 5 Menu Help untuk menampilkan halaman petunjuk penggunaan sistem 6 Label untuk menampilkan judul sistem 7 Label untuk menampilkan nama dan nim pembuat sistem 8 Picturebox untuk menampilkan logo USU 9 Label untuk menampilkan program studi dan fakultas pembuat sistem Halaman Pembangkit Kunci (Generate Key) Halaman Generate Key merupakan halaman yang tampil saat pengguna memilih submenu Generate Key. Pada halaman ini pengguna dapat membangkitkan kunci yang akan digunakan pada proses enkripsi dan dekripsi. Rancangan halaman Generate Key dapat dilihat pada Gambar

67 Gambar Rancangan Interface Halaman Generate Key Tabel 3.7. Keterangan Gambar Rancangan Interface Halaman Generate Key No Keterangan 1 Groupbox yang berisi field-field untuk proses pembangkitan kunci 2 Textbox untuk menampilkan nilai p 3 Textbox untuk menampilkan nilai q 4 Textbox untuk menampilkan nilai n 5 Button untuk proses pembangkitan kunci 6 Button untuk menyimpan kunci publik 7 Button untuk menyimpan kunci privat Halaman Enkripsi (Encryption) Halaman Enkripsi merupakan halaman yang tampil saat pengguna memilih submenu Enkripsi. Pada halaman ini pengguna dapat melakukan proses Enkripsi berkas. Rancangan halaman enkripsi dapat dilihat pada Gambar

68 Gambar Rancangan Interface Halaman Enkripsi Tabel 3.8. Keterangan Gambar Rancangan Interface Halaman Enkripsi No Keterangan 1 Groupbox yang berisi field-field untuk proses plaintext 2 Groupbox yang berisi field-field untuk proses ciphertext 3 Richtexbox untuk menampilkan hasil nilai dari plaintext 4 Richtexbox untuk menampilkan hasil nilai dari ciphertext 5 Textbox untuk menampilkan direktori file teks 6 Button untuk membuka file teks 7 Textbox untuk menampilkan panjang plaintext 8 Textbox untuk menampilkan kunci publik 9 Button untuk membuka file kunci publik 10 Button untuk melakukan proses enkripsi kunci 11 Textbox untuk menampilkan panjang ciphertext 12 Button untuk menyimpan hasil ciphertext 71

69 3.3.4 Halaman Penyisipan (Embedding) Halaman Embedding merupakan halaman yang tampil saat pengguna memilih submenu Embedding. Pada halaman ini pengguna dapat melakukan proses penyisipan pesan rahasia ke dalam suatu media dapat dilihat pada Gambar Gambar Rancangan Interface Halaman Embedding Tabel 3.9. Keterangan Gambar Rancangan Interface Halaman Embedding No Keterangan 1 Picturebox untuk menampilkan citra asli 2 Textbox untuk menampilkan direktori file image 3 Button untuk membuka direktori file image 4 Textbox untuk menampilkan resolusi citra 5 Textbox untuk menampilkan ciphertext 6 Button untuk membuka direktori ciphertext 7 Richtexbox untuk menampilkan isi ciphertext 8 Button untuk melakukan embedding 9 Groupbox yang berisi field-field untuk proses embedding 10 Picturebox untuk menampilkan hasil stego image 11 Textbox untuk menampilkan resolusi citra setelah di embedding 12 Button untuk menyimpan hasil stego image Halaman Ektraksi (Extraction) 72

70 Halaman Extraction merupakan proses pengambilan pesan rahasia dari stego image. Adapun rancangan antarmuka dari halaman Extraction dapat dilihat pada Gambar Gambar Interface Halaman Extraction Tabel Keterangan Gambar Rancangan Interface Halaman Extraction No Keterangan 1 Picturebox untuk menampilkan stego image 2 Textbox untuk menampilkan direktori file image 3 Button untuk membuka direktori file image 4 Textbox untuk menampilkan resolusi citra 5 Button untuk melakukan proses ektraksi 6 Groupbox yang berisi field-field untuk hasil ektraksi 7 Richtexbox untuk menampilkan hasil ektraksi 8 Textbox untuk menampilkan resolusi citra setelah di embedding 9 Button untuk menyimpan hasil stego image 73

71 3.3.6 Halaman Dekripsi (Decryption) Halaman Dekripsi merupakan halaman yang tampil saat pengguna memilih submenu Dekripsi. Pada halaman ini pengguna dapat melakukan proses Dekripsi ciphertext. Rancangan halaman dekripsi dapat dilihat pada Gambar Gambar Interface Halaman Dekripsi Tabel Keterangan Interface Halaman Dekripsi No Keterangan 1 Groupbox yang berisi field-field untuk proses ciphertext 2 Richtexbox untuk menampilkan hasil isi dari ciphertext 3 Textbox untuk menampilkan direktori file teks 4 Button untuk membuka file teks 5 Textbox untuk menampilkan panjang plaintext 6 Textbox untuk menampilkan kunci private p 7 Textbox untuk menampilkan kunci private q 8 Textbox untuk menampilkan direktori file teks 9 Tabel Button untuk Keterangan melakukan proses Interface dekripsi Halaman Dekripsi (lanjutan) 10 Groupbox yang berisi field-field untuk proses ciphertext 74

72 11 Richtexbox untuk menampilkan hasil isi dari plaintext 12 Textbox untuk menampilkan panjang ciphertext 13 Button untuk menyimpan hasil akhir plaintext Halaman Help Halaman Help merupakan halaman yang ditampilkan oleh sistem jika pengguna sistem memilih menu Help. Adapun rancangan antarmuka dari halaman Help dapat dilihat pada Gambar Gambar Interface Halaman Help Pada Gambar ditunjukkan rancangan antarmuka dari halaman Help. Halaman Help berisi petunjuk penggunaan sistem yang dirancang. Keterangan dari Gambar dapat dilihat pada Tabel Tabel Keterangan Gambar Rancangan Interface Halaman Help No Keterangan 1 Label yang berisi petunjuk penggunaan 2 Label menampilkan prosedur penggunaan sistem 75

73 BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Sistem Implementasi sistem merupakan proses penerapan dari hasil analisis dan perancangan sistem ke dalam sebuah bahasa pemrograman. Implementasi sistem pada penelitian ini dibangun menggunakan bahasa pemrogaman C#. Proses implementasi yang dirancang pada sistem ini dibagi menjadi 5 menu, yaitu : menu Home, menu Generate Key, menu Rabin Public Key, menu FOF dan EOF dan menu Help Menu Home Home merupakan halaman utama, artinya merupakan halaman yang pertama kali muncul ketika sistem dijalankan. Menu Home menampilkan judul sistem, nama pembuat sistem, logo dan informasi universitas. Tampilan halaman Home dapat dilihat pada gambar 4.1. Gambar 4.1. Menu Home 76

74 Menu Generate Key Pada menu Generate Key, user dapat membangkitkan bilangan prima, p, q dan n. Kunci p dan q tersebut akan disimpan sebagai kunci publik dan hasil n sebagai kunci privat yang akan digunakan untuk proses enkripsi dan dekripsi. Tampilan dari submenu Generate Key dapat dilihat pada Gambar 4.2. Gambar 4.2. Submenu Generate Key Menu Rabin Public Key Menu Rabin Public Key memilki 2 submenu didalamnya, yaitu Encryption dan Decryption Submenu Encryption Pada submenu Encryption, dilakukan proses penyandian pesan oleh pengirim pesan. User harus memasukkan pesan asli (plaintext) dan kunci publik yang sudah dihasilkan pada menu Generate Key sehingga akan dihasilkan pesan tersandi (ciphertext). Tampilan dari submenu Encryption dapat dilihat pada Gambar 4.3.

75 Gambar 4.3. Submenu Encryption Submenu Decryption Submenu Decryption dilakukan proses pendekripsian pesan tersandi oleh penerima pesan. User harus memasukkan pesan tersandi (ciphertext) dan kunci privat yang sudah dihasilkan pada menu Generate Key sehingga akan didapatkan kembali pesan asli(plaintext). Tampilan dari submenu Decryption dapat dilihat pada Gambar 4.4. Gambar 4.4. Submenu Decryption 95

76 Menu Steganografi First Of File dan End Of File (FOF dan EOF) Menu First Of File dan End Of File (FOF dan EOF) memilki 2 submenu didalamnya, yaitu Embedding dan Extraction Submenu Embedding Submenu Embedding merupakan proses penyisipan pesan tersandi ke dalam objek berupa citra yang dilakukan oleh pengirim. User akan memilih dan memasukkan citra asli dan ciphertext untuk selanjutnya dilakukan penyisipan sehingga menghasilkan stego image. Stego image yang dihasilkan ini yang akan dikirim ke penerima untuk selanjutnya dilakukan ektraksi dan dekripsi pesan oleh penerima. Tampilan dari submenu Embedding dapat dilihat pada Gambar 4.5. Gambar 4.5. Submenu Embedding 96

77 Submenu Extraction Submenu Extraction merupakan proses ekstraksi pesan dari dalam stego image oleh penerima. Stego image akan menghasilkan pesan tersandi yang sudah disisip ke dalam citra asli sebelumnya. Tampilan dari submenu Extractiont dapat dilihat pada Gambar 4.6. Gambar 4.6. Submenu Extraction Menu Help Pada menu Help menampilkan informasi mengenai langkah-langkah penggunaan sistem ini sehingga memudahkan pengguna sistem. Tampilan dari submenu Help dapat dilihat pada Gambar

78 Gambar 4.7. Menu Help 4.2 Pengujian Sistem Pada tahap ini akan dilakukan pengujian keberhasilan sistem dalam menjalankan fungsi-fungsi yang sebelumnya ditentukan pada tahap analisis dan perancangan sistem Pengujian proses generate key Sebelum dilakukan pengujian proses pembangkitan kunci, pengguna harus mengakses halaman menu Generate Key. Pengujian proses pembangkitan kunci dimulai dari dieksekusinya tombol Generate pada halaman menu Generate Key yang akan menghasilkan kunci publik n dan kunci privat p dan q. Berikut langkah-langkah untuk melakukan proses pembangkit kunci. 1. Menekan tombol Generate Key untuk mendapatkan hasil n dari nilai p dan q. Hasil pembangkit kunci dapat dilihat pada Gambar

79 Gambar 4.8. Hasil nilai kunci publik dan kunci privat Pembuktian dari pembangkit kunci yang dilakukan oleh sistem seperti terlihat pada Gambar 4.6, dapat diuji dengan perhitungan secara manual. Dapat dilihat hasil dari bilangan pada sebuah sistem, yaitu: 83, 727. Maka lakukan perhitungan untuk menguji apakah bilangan yang diambil sesuai dengan rumus seharusnya. 1. Pengujian Bilangan Prima Menguji bilangan p = 83 dan q = 727, apakah termasuk bilangan prima dengan menggunakan Little Fermat Theorem. a. Tentukan bilangan bulat positif a secara semabarang yang memenuhi syarat 1<a<p. Dalam penelitian ini nilai yang digunakan untuk a = 2 b. Jika hasil perhitungan tidak sama dengan 1, dapat dikatakan p bukan bilangan prima, sebagai berikut: - Untuk p = mod mod mod

80 - Untuk q = mod mod 727 3, e+218 mod Karena hasil perhitungan baik p dan q sama dengan 1 sesuai dengan bunyi teori Little Fermat Theorem, maka dapat disimpulkan 83 dan 727 adalah bilangan prima. 2. Tekan tombol Simpan Kunci Publik untuk membuka Save File Dialog dan tentukan direktori untuk menyimpan file kunci publik (*.publickey) yang akan digunakan dalam proses enkripsi. Form Save File Dialog dapat dilihat pada Gambar 4.9. Gambar 4.9. Save File Dialog untuk menyimpan kunci publik 3. Tekan tombol Simpan Kunci Privat untuk membuka Save File Dialog dan tentukan direktori untuk menyimpan file kunci privat (*.privatekey) yang akan digunakan dalam proses dekripsi. Form Save File Dialog dapat dilihat pada Gambar

81 Gambar Save File Dialog untuk menyimpan kunci private Pengujian Proses Encryption Setelah memilih submenu encryption maka akan dilakukan proses enkripsi. Berikut langkah langkah untuk melakukan proses enkripsi pesan. 1. Tekan tombol Browse, untuk membuka Open File Dialog dan pilih file teks (.doc,.docx,.txt) yang akan dienkripsi. Form Open File Dialog dapat dilihat pada Gambar Gambar Membuka Open File Dialog input file teks. 101

82 2. Tekan tombol Browse, untuk membuka Open File Dialog dan pilih file yang berisi kunci publik yang akan dienkripsi. Form Open File Dialog Public Key dapat dilihat pada Gambar Gambar Open File Dialog input Public Key Kemudian sistem akan menampilkan plaintext dan public key tersebut. Tampilan isi plaintext dan public key yang telah terpilih akan tampil pada sistem seperti pada Gambar Gambar Plaintext dan public key terpilih 102

83 3. Tekan tombol Encrypt untuk melakukan proses enkripsi dan kemudian menampilkan hasil ciphertext berhasil dienkripsi seperti terlihat dari Gambar Gambar Hasil ciphertext Untuk menguji hasil perhitungan manual dari proses enkripsi sesuai dengan Gambar 4.14 adalah sebagai berikut : - Ubah nilai plaintext m menjadi nilai biner, kemudian nilai biner plaintext m digabungkan dengan nilai biner plaintext m itu sendiri (redundant information) atau dengan kata lain plaintext digandakan. Penggabungan ini bertujuan untuk dapat menentukan plaintext yang sebenarnya dari keempat hasil dekripsi yang diperoleh. Pembuktian : m = B, Ubah ke dalam ASCII menjadi 66 jadi nilai binernya adalah Maka nilai m [m m] = Ubah hasil penggandaan nilai biner plaintext menjadi nilai desimalnya. Pembuktian : m [m m] = , nilai desimalnya adalah Maka nilai m = Hitung nilai ciphertext c dengan menggunakan rumus : c = m 2 mod n 103

84 dengan c adalah ciphertext, n adalah kunci publik, dan m adalah nilai desimal dari hasil penggandaan nilai biner plaintext. Pembuktian : m = 8514 dan n =60341, maka c adalah : c = m 2 mod n = mod = mod c = Maka, plaintext = B dienkripsi dengan nilai c = Jika dibandingkan hasil perhitungan manual dengan hasil dari sistem, terdapat perbedaan nilai. Hal ini dikarenakan pada proses embedding selanjutnya pesan yang disisip ke dalam pixel dipecah menjadi 2 sehingga diperlukan jumlah genap. 2 pixel untuk R, 2 pixel untuk G dan 2 pixel lagi untuk B. Dalam penelitian ini jumlah bit pesan yang harus disisip harus 6 bit. Sehingga jika ditemukan hasil ciphertext dibawah 6 bit dilakukan penambahan bit 0 di sebelah kiri ciphertext. Maka dapat disimpulkan bahwa proses enkripsi dari sistem menghasilkan nilai yang benar hanya saja pada sistem terdapat penambahan bit 0 jika ciphertext yang dihasilkan dibawah 6 bit. 4. Tekan tombol Save untuk menyimpan hasil enkripsi. Form Save File Dialog akan muncul seperti terlihat pada Gambar Gambar Save File Dialog hasil enkripsi 104

85 Pengujian proses Embedding Setelah memilih Submenu Embedding maka akan dilakukan proses Embedding citra. Berikut langkah langkah untuk melakukan proses Embedding. 1. Tekan tombol Browse, untuk membuka Open File Dialog dan pilih berkas (*jpeg). Kemudian sistem akan menampilkan direktori dari gambar yang terpilih seperti terlihat pada Gambar Gambar Open File Dialog input citra 2. Tekan tombol Browse, untuk membuka Open File Dialog dan pilih ciphertext. Kemudian sistem akan menampilkan direktori dari berkas yang terpilih seperti terlihat pada Gambar Gambar Open File Dialog input ciphertext 105

86 Kemudian sistem akan menampilkan citra dan isi dari ciphertext tersebut. Tampilan citra dan isi ciphertext yang telah terpilih akan tampil pada sistem seperti pada Gambar Gambar Cover Image dan isi dari ciphertext 3. Tekan tombol Embedding untuk melakukan proses enkripsi dan kemudian akan muncul hasil stego image yang berhasil disispkan seperti terlihat dari Gambar Gambar Hasil stego image 106

87 Kemudian untuk image resolution setelah di embed akan menjadi lebih besar dikarenakan pada steganografi FOF dan EOF menambahkan 2 pixel, 1 pixel untuk penyisipan di atas dan 1 lagi untuk di sisipkan dibawah citra. Untuk mengetahuinya hasil penyisipan stego image di setiap pixelnya dapat dilihat pada sistem seperti pada Gambar Gambar Pixel pada stego image Untuk menguji hasil perhitungan manual dari proses embedding sesuai dengan Gambar 4.21 adalah sebagai berikut : - Pada sebuah citra 3x3 pixel disisipkan adalah huruf B. Kalau di enkripsi menghasilkan ciphertext Gambar RGB Pixel 3 X 3 Terdapat suatu citra asli RGB 3x3 yang memiliki nilai setiap pixel seperti pada Tabel 4.1 Tabel 4.1. Matriks Citra Bewarna 3 x 3 pixel R = 1 R = 0 R = 2 G = 20 G = 19 G = 19 B = 0 B = 0 B = 1 R = 0 R = 0 R = 1 G = 19 G = 18 G = 18 B = 0 B = 0 B = 0 R = 1 R = 0 R = 1 G = 20 G = 18 G = 18 B = 1 B = 0 B = 0 107

88 Kode biner pesan disisipkan dengan cara menambah baris baru setelah baris terakhir matriks citra. Kemudian kode biner pesan disisipkan pada penambahan baris matriks citra tersebut secara horizontal berurutan dari pixel warna Red, Green, Blue. Sehingga matriks citra setelah disisipi dapat dijelaskan pada Tabel 4.2. Angka bewarna merah adalah pesan yang disisipi pada matriks citra. Tabel 4.2. Matriks Citra yang Disisipikan Ciphertext R = 1 G = 86 B = 55 R = 0 G = 0 B = 0 R = 0 G = 0 B = 0 R = 1 G = 20 B = 0 R = 0 G = 19 B = 0 R = 2 G = 19 B = 1 R = 0 G = 19 B = 0 R = 0 G = 18 B = 0 R = 1 G = 18 B = 0 R = 1 G = 20 B = 1 R = 0 G = 18 B = 0 R = 1 G = 18 B = 0 R = 0 G = 0 B = 0 R = 0 G = 0 B = 0 R = 0 G = 0 B = 0 Matriks di atas akan dipetakan kembali dalam bentuk citra RGB dan citra ini disebut stego image. 5. Tekan tombol Save untuk menyimpan hasil embedding. Form Save File Dialog akan muncul seperti terlihat pada Gambar

89 Gambar Save File Dialog hasil embedding Pengujian Proses Extraction Setelah memilih submenu extraction maka akan dilakukan proses ekstraksi. Berikut langkah langkah untuk melakukan proses ektraksi pesan. 1. Tekan tombol Browse, untuk membuka Open File Dialog dan pilih berkas hasil embedding (*jpeg). Kemudian sistem akan menampilkan direktori dari gambar yang terpilih seperti terlihat pada Gambar Gambar Open File Dialog stego image 109

90 Kemudian sistem akan menampilkan stego image tersebut. Tampilan citra yang telah terpilih akan tampil pada sistem seperti pada Gambar Gambar Stego Image yang terpilih 2. Tekan tombol Extraction untuk melakukan proses ektraksi dan kemudian menampilkan Extraction Result sebagai informasi berkas berhasil diektraksi seperti terlihat dari Gambar Gambar Hasil Ektraksi 110

91 Untuk menguji hasil perhitungan manual dari proses embedding sesuai dengan Gambar 4.14 adalah sebagai berikut : - Terdapat suatu citra RGB 3x3 yang telah disisipkan ciphertext (stego image), angka bewarna merah adalah pesan yang telah disisipi pada matriks citra. Nilai setiap pixel file citra RGB tersebut dapat dilihat pada Tabel 4.3. Tabel 4.3. Matriks Citra yang Disisipikan Ciphertext R = 1 G = 86 B = 55 R = 0 G = 0 B = 0 R = 0 G = 0 B = 0 R = 1 G = 20 B = 0 R = 0 G = 19 B = 0 R = 2 G = 19 B = 1 R = 0 G = 19 B = 0 R = 0 G = 18 B = 0 R = 1 G = 18 B = 0 R = 1 G = 20 B = 1 R = 0 G = 18 B = 0 R = 1 G = 18 B = 0 R = 0 G = 0 B = 0 R = 0 G = 0 B = 0 R = 0 G = 0 B = 0 Kemudian dibaca nilai pixel stego image yang terdapat pada baris awal dan terakhir matriks pixel citra seperti pada Tabel 4.4 dan 4.5. Tabel 4.4. Baris Awal Matriks Pixel Citra R=1 R=0 R=0 G=86 G=0 G=0 B=55 B=0 B=0 111

92 Tabel 4.5. Baris Terakhir Matriks Pixel Citra R=0 R=0 R=0 G=0 G=0 G=0 B=0 B=0 B=0 Untuk proses Extracting, maka dilakukan dengan cara mengambil nilai pixel pada matriks citra dimulai dari pixel pertama pada baris pertama matriks (R-G-B), kemudian menuju pixel pertama pada baris terakhir matriks (R-G-B) selanjutnya berulang seperti ini ke pixel kedua sampai dengan menemukan nilai karakter pesan. Setelah itu didapatkan nilai ciphertext yaitu Tekan tombol Save untuk menyimpan hasil ektraksi. Form Save File Dialog akan muncul seperti terlihat pada Gambar Gambar Save File Dialog hasil Ektraksi 112

93 Pengujian proses Decryption Setelah memilih submenu Decryption maka akan dilakukan proses dekripsi. Berikut langkah langkah untuk melakukan proses dekompresi pesan. 1. Tekan tombol Browse, untuk membuka Open File Dialog dan pilih berkas (*.ciphertext). Kemudian sistem akan menampilkan direktori dari berkas yang terpilih seperti terlihat pada Gambar Gambar Open File Dialog input file citra 2. Tekan tombol Browse, dan akan muncul Open File Dialog dan pilih berkas teks (*.privatekey). Form Open File Dialog dapat dilihat pada Gambar Gambar Open File Dialog input kunci private 113

94 Kemudian sistem akan menampilkan plaintext dan public key tersebut. Tampilan isi plaintext dan public key yang telah terpilih akan tampil pada sistem seperti pada Gambar Gambar Ciphertext dan private key terpilih 3. Tekan tombol Decrypt untuk melakukan proses dekripsi untuk mengembalikan berkas seperti sebelum dienkripsi dan kemudian menampilkan hasil plaintext berhasil didekripsi seperti terlihat dari Gambar Gambar Hasil plaintext 114

95 Untuk menguji hasil perhitungan manual dari proses dekripsi sesuai dengan Gambar 4.14 adalah sebagai berikut : - Tentukan nilai Yp dan Yq yang merupakan pembagi GCD (Greatest Common Divisor) dari p dan q dengan menggunakan Algoritma Extended Euclidean. Karena GCD bilangan prima adalah 1, maka dapat ditulis sebagai berikut. Yp * p + Yq * q = 1 Pembuktian : Gambar Hasil yp dan yq Hasil akhir yang diperoleh adalah (-254) * * 727 = 1, sehingga didapat nilai yp = -254 dan yq = Hitunglah nilai akar kuadrat dari ciphertext terhadap p dan q dengan rumus: m [ ] mod m [ ] mod dengan m p adalah akar kuadrat dari ciphertext terhadap p dan m q adalah akar kuadrat dari ciphertext terhadap q. Pembuktian : m [ ] mod [ ] mod 115

96 m mod m [ ] mod [ ] mod mod m Maka, didapatlah mp =48 dan mq = Hitung nilai r, s, t dan u dengan menggunakan Chinese Remainder Theorem. r = (Yp*p* mq + Yq * q* mp ) mod n s = (Yp*p* mq - Yq * q* mp ) mod n t = ( -Yp*p* mq + Yq * q* mp ) mod n u = ( -Yp*p* mq - Yq * q* mp ) mod n Pembuktian : r = (Yp*p* mq + Yq * q* mp ) mod n = ((-254)*83* *727*48) mod 6034 = s = (Yp*p* mq - Yq * q* mp ) mod n = ((-254)*83*210-29*727*48) mod 6034 = t = ( -Yp*p* mq + Yq * q* mp ) mod n = (254*83* *727*48) mod 6034 = 8514 u = ( -Yp*p* mq - Yq * q* mp ) mod n = (254*83*210-29*727*48) mod 6034 =

97 - Ubahlah nilai desimal R,S,T,U ke dalam bentuk biner. Kemudian nilai biner R,S,T,U dibagi menjadi 2 (dua) bagian. Bandingkan kedua bagian tersebut. Jika kedua bagian tersebut menghasilkan bentuk biner yang sama, maka didapatlah hasil dekripsi ciphertext c dengan mengubah bentuk biner salah satu bagian yang telah dibagi menjadi 2(dua) bagian yang sama. Pembuktian : R = 24201, nilai binernya adalah Panjang nilai biner yang dihasilkan adalah ganjil, sehingga sudah dapat dipastikan R bukan pesan rahasia yang sebenarnya. S = 51827, nilai binernya adalah Jika nilai binernya dibagi menjadi 2 (dua) bagian, maka akan menghasilkan nilai biner dan Karena tidak menghasilkan bentuk biner yang sama, maka S bukan pesan rahasia yang sebenarnya. T = 8514, nilai binernya adalah Jika nilai binernya dibagi menjadi 2 (dua) bagian, maka akan menghasilkan nilai biner dan Karena menghasilkan bentuk biner yang sama, maka T adalah pesan rahasia yang sebenarnya. U = 36140, nilai binernya adalah Jika nilai binernya dibagi menjadi 2 (dua) bagian, maka akan menghasilkan nilai biner dan Karena tidak menghasilkan bentuk biner yang sama, maka U bukan pesan rahasia yang sebenarnya. Maka, didapatlah dekripsi dari ciphertext c=18655 adalah 24201, 51827, 8514, dengan 8514 menghasilkan bentuk biner yang sama jika dibagi menjadi 2 (dua) bagian, yaitu dan Dan jika diubah menjadi nilai desimal akan menghasilkan nilai plaintext yang sebenarnya yaitu 66, kalau di ubah kedalam bentuk ASCII yaitu B. 4. Tekan tombol Save untuk menyimpan hasil dekripsi. Form Save File Dialog akan muncul seperti terlihat pada Gambar

98 Gambar Save File Dialog hasil Dekripsi Kemudian file dekripsi yang dapat di simpan dan isi plaintext nya kembali hanya file.txt dan.doc saja. Apabila menyimpan dalam format.docx, file dapat di dekripsi namun sistem.docx masih belum bisa membaca isi pesan yang telah di dekripsi. Kegagalan proses dekripsi pada sistem seperti pada Gambar 4.33 dan Gambar Gambar File Dekripsi yang tidak dapat dibuka 118

99 4.3 Hasil Pengujian Sistem Pengujian Enkripsi Pesan Pengujian ini dilakukan untuk mengetahui pengaruh panjang plaintext terhadap lama proses enkripsi pesan dengan menggunakan panjang kunci yang sama dalam proses enkripsi dengan berbagai format file yaitu : *.txt, *.doc, *.docx. Tabel 4.6. Pengujian enkripsi dengan variasi panjang plaintext Isi File Teks Dalam berkomunikasi ada beberapa bentuk mulai dari menggunakan tulisan maupun lisan. Ada banyak info Dalam berkomunikasi ada beberapa bentuk mulai dari menggunakan tulisan maupun lisan. Ada banyak informasi rashasia yang dapat disampaikan melalui tulisan. Jika tulisan atau pesan disampaikan secara la Dalam berkomunikasi ada beberapa bentuk mulai dari menggunakan tulisan maupun lisan. Ada banyak informasi rashasia yang dapat disampaikan melalui tulisan. Jika tulisan atau pesan disampaikan secara langsung dari pengirim kepada penerima pada saat itu juga tanpa melalui perantara apapun, maka hal ter Dalam berkomunikasi ada beberapa bentuk mulai dari menggunakan tulisan maupun lisan. Ada banyak informasi rashasia yang dapat disampaikan melalui tulisan. Jika tulisan atau pesan disampaikan secara langsung dari pengirim kepada penerima pada saat itu juga tanpa melalui perantara apapun, maka hal tersebut dapat menjamin keamanan, dan kerahasiaan dari pesan tersebut. Namun, jika tulisan atau pesan h Dalam berkomunikasi ada beberapa bentuk mulai dari menggunakan tulisan maupun lisan. Ada banyak informasi rashasia yang dapat disampaikan melalui tulisan. Jika tulisan atau pesan disampaikan secara langsung dari pengirim kepada penerima pada saat itu juga tanpa melalui perantara apapun, maka hal tersebut dapat menjamin keamanan, dan kerahasiaan Panjang Plaintext

100 Tabel 4.6. Pengujian enkripsi dengan variasi panjang plaintext (lanjutan) dari pesan tersebut. Namun, jika tulisan atau pesan harus dikirim melalui perantara dan memerlukan waktu dalam proses pengirimannya, maka terdapat kemung Tabel 4.7 Pengujian enkripsi dengan panjang plaintext Panjang Plaintext Waktu(detik) Berbagai Format File *txt *doc *docx 100 0, , , , , , , , , , , , , , , Berdasarkan tabel 4.6. dan 4.7. dapat dilihat dari grafik gambar 4.35 yaitu lama waktu dalam melakukan proses enkripsi pesan dengan 5 contoh panjang plaintext yang berbeda. Proses Enkripsi 0,7 0,6 Waktu(detik) 0,5 0,4 0,3 0,2 0,1 *txt *doc *docx Panjang Plaintext (Karakter) Gambar Perbandingan proses enkripsi 120

101 4.3.2 Pengujian Embedding Citra Pengujian ini dilakukan untuk mengetahui pengaruh resolusi pixel yang berbeda-beda terhadap lama proses embedding citra dengan menggunakan panjang kunci yang tetap dan ciphertext yang sama dengan format file yang sama yaitu : *.txt. Tabel 4.8. Pengujian embedding dengan resolusi pixel Cover Image Stego Image Panjang Plaintext Waktu(detik) 100 0, Resolusi Pixel 200 x 133 Resolusi Pixel 200 x , Resolusi Pixel 300 x 200 Resolusi Pixel 300 x , Resolusi Pixel 600 x 450 Resolusi Pixel 600 x

102 Tabel 4.8. Pengujian embedding dengan resolusi pixel (lanjutan) , Resolusi Pixel 900 x 675 Resolusi Pixel 900 x , Resolusi Pixel 1024 x 765 Resolusi Pixel 1024 x 767 Rata -Rata 6, Berdasarkan tabel 4.8. dapat dilihat dari grafik gambar yaitu lama waktu dalam melakukan proses embedding citra dengan berbagai resolusi citra yang berbeda. Proses Embedding 6 Waktu(detik) x x x 450 Resolusi Pixel Cover Image Gambar Perbandingan proses embedding cover image 122

103 4.3.3 Pengujian Extraction Stego Image Pengujian ini dilakukan untuk mengetahui pengaruh resolusi pixel yang berbeda-beda terhadap lama proses ektraksi stego image. Hasil Stego image menambahkan 2 pixel, 1 pixel untuk pixel yang di atas dan 1 pixel lagi untuk pixel yang di bawah. Tabel 4.9. Pengujian Ektraksi dengan resolusi pixel Stego Image Panjang Ciphertext Extraction Waktu(detik) Dengan Format File.txt 700 0, Resolusi Pixel 200 x , Resolusi Pixel 300 x

104 2100 0, Resolusi Pixel 600 x , Resolusi Pixel 900 x , Resolusi Pixel 1024 x 765 Rata -Rata 0,

105 Berdasarkan tabel 4.9. dapat dilihat dari grafik gambar 4.36 yaitu lama waktu dalam melakukan proses ekstraksi stego image dengan berbagai resolusi citra yang berbeda. Grafik Pengujian Proses Ektraksi 0,07 0,06 Waktu(detik) 0,05 0,04 0,03 0,02 Stego Image 0, x x x x x 767 Resolusi Pixel Gambar Grafik perbandingan proses extraction stego image Pengujian Dekripsi Pesan Pengujian ini dilakukan untuk mengetahui pengaruh panjang Ciphertext terhadap lama proses dekripsi pesan dengan menggunakan panjang kunci yang tetap dalam proses dekripsi dengan berbagai format file yaitu : *.txt, *.doc, *.docx. Berdasarkan hasil pengujian Gambar dapat disimpulkan bahwa proses enkripsi akan semakin lama jika plaintext semakin panjang karakternya. Berdasarkan hasil pengujian Gambar dapat disimpulkan bahwa lama proses penyisipan akan berbanding lurus dengan ukuran resolusi (pixel). Semakin besar ukuran pixel citra, akan semakin halus garis hitam yang tampak pada stego image tersebut. Berdasarkan hasil pengujian Gambar dapat disimpulkan bahwa proses penyisipan lebih lama dibandingkan dengan lama proses ekstraksi. 125

106 Tabel Pengujian Dekripsi dengan variasi panjang ciphertext Panjang Isi Ciphertext Ciphertext

107 Tabel Pengujian Dekripsi dengan variasi panjang ciphertext (lanjutan) Berdasarkan tabel dapat dilihat dari grafik gambar yaitu lama waktu dalam melakukan proses dekripsi pesan dengan 5 contoh panjang ciphertext yang berbeda. 127

108 Grafik Pengujian Proses Dekripsi 0,3 0,25 Waktu(detik) 0,2 0,15 0,1 0,05 *txt *doc *docx Panjang Ciphertext (Karakter) Gambar Grafik perbandingan proses dekripsi pesan Berdasarkan hasil pengujian Gambar dapat disimpulkan bahwa proses dekripsi akan semakin lama jika ciphertext semakin panjang (berbanding lurus dengan lama proses enkripsi). Selain itu, proses dekripsi juga lebih lama dibandingkan dengan proses enkripsi pada pengujian tersebut. Lalu, proses enkripsi relatif lebih cepat dibandingkan dengan proses dekripsi pada algoritma kriptografi kunci publik Rabin dan untuk pengujian embedding pada steganografi First Of File dan End Of File memerlukan waktu proses embedding cover image rata-rata 6, detik dan proses extraction stego image rata-rata 0,05624 detik. Ukuran pixel citra yang digunakan mempengaruhi hasil stego image. Semakin besar ukuran pixel citra, akan semakin halus garis hitam yang tampak pada stego image tersebut. 128

109 BAB 5 KESIMPULAN DAN SARAN 5.1. Kesimpulan Setelah melakukan studi literatur, analisis, perancangan implementasi dan pengujian sistem untuk pengamanan file teks menggunakan algoritma kriptografi kunci publik Rabin dan algoritma steganografi First Of File dan End of File maka diperoleh kesimpulan sebagai berikut: 1. Proses Embedding dalam metode First Of File dan End Of File dilakukan dengan cara menyisipkan baris matriks baru pada matriks pixel citra secara horizontal dan berseling dari baris pertama dan baris akhir. Sehingga menghasilkan seperti garis hitam pada bagian atas dan bawah citra jpeg. 2. Pengamanan file teks dengan menggunakan kunci publik rabin dan algoritma steganografi First Of File dan End Of File berhasil dilakukan untuk proses pembangkitan kunci, enkripsi, dekripsi dan ektraksi, meskipun pada proses ektraksi citra asli tidak dapat dikembalikan, hanya plaintext yang dapat diekstraksi. 3. Dekripsi dilakukan dengan mengubah hasil ciphertext menjadi biner dan apabila dibagi menjadi dua bentuk binernya sama, maka akan menghasilkan plaintext yang sebenarnya, namun pada saat menyimpan hasil dekripsi dengan format (*.txt, *.doc, *.docx) hasil file.docx tidak dapat di buka hanya *.txt, dan *.doc saja yang bisa di buka isi pesannya. 4. Pada sistem ini, file rahasia akan dienkripsi, kemudian hasil enkripsi yang berupa ciphertext akan disembunyikan ke dalam suatu file gambar berformat jpeg sehingga tidak akan muncul kecurigaan pihak lain dan keamanan dan kerahasiaan pesan terjaga. 5. Panjang plaintext yang digunakan berpengaruh terhadap lamanya waktu proses enkripsi dan dekripsi. Semakin panjang isi plaintext nya, akan semakin lama proses enkripsi dan dekripsi pesan. 6. Proses embedding pada steganografi First Of File dan End Of File memerlukan waktu proses embedding cover image rata-rata 6, detik dan proses extraction stego image rata-rata 0,05624 detik. 129

110 7. Ukuran pixel citra yang digunakan berpengaruh terhadap lamanya waktu proses embedding dan extracting. Semakin besar ukuran pixel citra, maka akan semakin lama proses penyisipan dan ekstraksinya. 8. Ukuran pixel citra yang digunakan mempengaruhi hasil stego image. Semakin besar ukuran pixel citra, akan semakin halus garis hitam yang tampak pada stego image tersebut. 9. Proses enkripsi relatif lebih cepat dibandingkan dengan proses dekripsi pada algoritma kriptografi kunci publik Rabin dan proses ekstraksi gambar relatif lebih cepat dibandingkan dengan proses penyisipan pada steganografi First Of File dan End Of File. 5.2 Saran Adapun saran-saran yang dapat penulis berikan untuk pengembangan dan perbaikan sistem ini adalah sebagai berikut: 1. Algoritma kriptografi dan teknik steganografi yang digunakan pada sistem ini dapat dikembangkan dengan algoritma kriptografi dan teknik steganografi yang lebih baik untuk meningkatkan keamanan data. 2. Sistem ini dapat dikembangkan dengan menambah pilihan file data yang akan di enkripsi seperti data gambar, suara dan video. 3. Untuk penelitian selanjutnya, sebaiknya menggunakan teknik steganografi yang tidak menimbulkan penambahan garis-garis pada bagian atas dan bawah gambar, seperti mengkombinasikan metode End of File (EOF) dan Least Significant Bit (LSB). 4. Perlunya perbaikan pada proses ekstraksi agar dapat mengembalikan stego image ke citra asli. 5. Pada proses dekripsi perlunya perbaikan untuk membalikkan isi pesan dan dapat dibaca isi file.docx, agar 3 file dengan format (*.txt, *.doc, *.docx) dapat di dekripsi dengan baik. 70

111 DAFTAR PUSTAKA Aditya, Y., Pratama, A. & Nurlifa, A Studi Pustaka Untuk Steganografi Dengan Beberapa Metode. Universitas Islam Indonesia: Vol.1 Ariyus, Dony, 2008, Pengantar Ilmu Kriptografi Teori,Analisis, dan Implementasi. Yogyakarta : C.V. Andi Offset, STMIK AMIKOM Yogyakarta. Elia, M., Piva, M., & Schipani, D. (2011). The Rabin cryptosystem revisited. arxiv preprint arxiv: Galbraith, S. D Mathematics of Public Key Cryptography. Cambridge University Press: Cambridge. Hardiyana, S, N Implementasi Algoritma Kriptografi Massey Omura dengan Teknik Steganografi Kombinasi Endf Of File (EOF) dan First Of File(FOF) Untuk Keamanan Data. Skripsi.. Harahap, A., A Implementasi Pengamanan Data Menggunakan Steganografi Pemetaan Titik Hitam dengan Teknik Pencarian Berurutan dan Rabin Cryptosystem. Skripsi.. Kipper, G Investigator's Guide to Steganography. AUERBACH PUBLICATIONS A CRC Press Company: Boca Raton, Florida. Kromodimoeljo, S Teori dan Aplikasi Kriptografi. SPK IT Consulting: Jakarta. Kurniawan, Y Kriptografi Keamanan Internet dan Jaringan Komunikasi. Bandung: Informatika. Mollin, R.A An Introduction to Cryptography 2nd Ed. Taylor & Francis Group, LLC. United State of America. Munir, Rinaldi Kriptografi. Bandung: Informatika.. Sadikin, R Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam Bahasa Java. Andi: Yogyakarta. Sutoyo,T., Mulyanto,Edy, dkk, 2009, Teori Pengolahan Citra Digital. Yogyakarta: C.V.Andi Offset, STMIK AMIKOM Yogyakarta Vijayakumar. Soniya, 2011, Image Steganography Based On Polynomial Functions, Journal of Global Research in Computer Science, Volume 2, No. 3, March. 71

112 Wandany, H Implementasi sistem keamanan data dengan menggunakan teknik steganografi end of file (EOF) dan Rabin public key cryptosystem. Skripsi.. Whitten, J.L., Bentley, L.D System Analysis and Design Methods Seventh Edition. New York: McGraw-Hill.

113 LISTING PROGRAM Form1.cs using System; using System.Drawing; using System.Windows.Forms; using System.Numerics; using System.IO; namespace Pengamanan_File_Text /// <summary> /// Description of Form1. /// </summary> public partial class GenerateKey : Form Random r = new Random(); int p,q,n; public GenerateKey() // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); // // TODO: Add constructor code after the InitializeComponent() call. // void TableLayoutPanel1Paint(object sender, PaintEventArgs e) void GroupBox2Enter(object sender, EventArgs e) void Label4Click(object sender, EventArgs e) void Button4Click(object sender, EventArgs e)

114 void HomeToolStripMenuItemClick(object sender, EventArgs e) MainForm frmchild = new MainForm(); frmchild.show(); this.hide(); void GenerateKeyToolStripMenuItemClick(object sender, EventArgs e) GenerateKey frmchild = new GenerateKey(); frmchild.show(); this.hide(); void deccryptiontoolstripmenuitemclick(object sender, EventArgs e)//enkripsi decryption frmchild = new decryption(); frmchild.show(); this.hide(); void DecryptionToolStripMenuItemClick(object sender, EventArgs e)//enkripsi encryption frmchild = new encryption(); frmchild.show(); this.hide(); void HelpToolStripMenuItemClick(object sender, EventArgs e) help frmchild = new help(); frmchild.show(); this.hide(); public int PseudoPrime(int n)//fermat BigInteger modularexponentiation = BigInteger.ModPow(2,n-1, n); if (modularexponentiation == 1) return n; else return PseudoPrime(r.Next(1,99));

115 void Button1Click(object sender, EventArgs e) cari : p = PseudoPrime(r.Next(1,999)); q = PseudoPrime(r.Next(1,999)); n = p*q; if (p!= q && q % 4 == 3 && p % 4 == 3 && n > && n < ) textbox1.text = p.tostring(); textbox2.text = q.tostring(); textbox3.text = n.tostring(); else goto cari; private void button4_click(object sender, EventArgs e) SaveFileDialog simpan = new SaveFileDialog(); simpan.filter = "key Files( *.publickey) *.publickey"; simpan.filename = "*.publickey"; if (simpan.showdialog() == DialogResult.OK) string filename = simpan.filename.substring(0, simpan.filename.length - 9) + "publickey"; FileStream fstream = new FileStream(filename, FileMode.Create); StreamWriter sw = new StreamWriter(fstream); SeekOrigin seekorigin = new SeekOrigin(); sw.basestream.seek(0, seekorigin); sw.writeline(textbox3.text); sw.flush(); sw.close(); MessageBox.Show("kunci berhasil disimpan"); private void button3_click(object sender, EventArgs e) SaveFileDialog simpan = new SaveFileDialog(); simpan.filter = "key Files( *.privatekey) *.privatekey"; simpan.filename = "*.privatekey"; if (simpan.showdialog() == DialogResult.OK)

116 string filename = simpan.filename.substring(0, simpan.filename.length - 10) + "privatekey"; FileStream fstream = new FileStream(filename, FileMode.Create); StreamWriter sw = new StreamWriter(fstream); SeekOrigin seekorigin = new SeekOrigin(); sw.basestream.seek(0, seekorigin); sw.writeline(textbox1.text); sw.writeline(textbox2.text); sw.flush(); sw.close(); MessageBox.Show("kunci berhasil disimpan"); encryption.cs using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.IO; using System.Diagnostics; namespace Pengamanan_File_Text /// <summary> /// Description of encryption. /// </summary> public partial class encryption : Form public string pilih; public encryption() // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); // // TODO: Add constructor code after the InitializeComponent() call. // void GroupBox1Enter(object sender, EventArgs e)

117 void RSAPublicKeyToolStripMenuItemClick(object sender, EventArgs e) void HomeToolStripMenuItemClick(object sender, EventArgs e) MainForm frmchild = new MainForm(); frmchild.show(); this.hide(); void GenerateKeyToolStripMenuItemClick(object sender, EventArgs e) GenerateKey frmchild = new GenerateKey(); frmchild.show(); this.hide(); void EncryptionToolStripMenuItemClick(object sender, EventArgs e) encryption frmchild = new encryption(); frmchild.show(); this.hide(); void DecryptionToolStripMenuItemClick(object sender, EventArgs e) decryption frmchild = new decryption(); frmchild.show(); this.hide(); void EmbeddingToolStripMenuItemClick(object sender, EventArgs e) Embedding frmchild = new Embedding(); frmchild.show(); this.hide(); void ExtractionToolStripMenuItemClick(object sender, EventArgs e) Extraction frmchild = new Extraction(); frmchild.show(); this.hide(); private void Button1Click(object sender, EventArgs e)

118 richtextbox1.text=null; try OpenFileDialog openfiledialogencryp = new OpenFileDialog(); openfiledialogencryp.title="browse File"; openfiledialogencryp.checkfileexists=true; openfiledialogencryp.checkpathexists=true; openfiledialogencryp.defaultext="txt"; openfiledialogencryp.filter="text Files (*.txt) *.txt text file (*.docx) *.docx text file (*.doc) *.doc"; openfiledialogencryp.filterindex=2; openfiledialogencryp.restoredirectory=true; openfiledialogencryp.showreadonly=true; if (openfiledialogencryp.showdialog() == DialogResult.OK) textbox1.text= openfiledialogencryp.filename; pilih= openfiledialogencryp.filename.substring(openfiledialogencryp.filename.length-3,3); if (pilih=="ocx" pilih=="doc") textbox1.text= Path.GetFullPath(openFileDialogEncryp.FileName); string doc = openfiledialogencryp.filename.substring(0,openfiledialogencryp.filename.length); Microsoft.Office.Interop.Word.Application docword = new Microsoft.Office.Interop.Word.ApplicationClass(); object misval = System.Reflection.Missing.Value; object path= doc; object Readonly = false; Microsoft.Office.Interop.Word.Document word = docword.documents.open(ref path, ref misval, ref Readonly,ref misval, ref misval, ref m isval, ref misval, ref misval, ref misval,ref misval, ref misval, ref misval,ref misval, ref m isval, ref misval, ref misval); word.activewindow.selection.wholestory(); word.activewindow.selection.copy(); IDataObject data = Clipboard.GetDataObject(); richtextbox1.text=data.getdata(dataformats.text).tostring(); word.close(ref misval, ref misval, ref misval); if (pilih=="txt") string s = File.ReadAllText(openFileDialogEncryp.FileName);

119 richtextbox1.text=s; catch (Exception ex) MessageBox.Show(ex.ToString()); textbox3.text = richtextbox1.text.length.tostring(); void HelpToolStripMenuItemClick(object sender, EventArgs e) help frmchild = new help(); frmchild.show(); this.hide(); void Button2Click(object sender, EventArgs e) Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); string plainteks = richtextbox1.text; int n = Convert.ToInt32(textBox4.Text); int temp; string temps; for (int i = 0; i < plainteks.length; i++) temp = rabin.encrypt(plainteks[i],n); temps = temp.tostring(); while (temps.length!= 6) temps = "0" + temps; richtextbox2.text += temps + " "; textbox6.text = richtextbox2.text.length.tostring(); stopwatch.stop(); MessageBox.Show("Waktu = " + ((Double)(stopwatch.Elapsed.TotalMilliseconds / 1000)).ToString() + " detik", "Encryption", MessageBoxButtons.OK); private void button4_click(object sender, EventArgs e) string tipe; OpenFileDialog dialog = new OpenFileDialog();

120 dialog.filter = "Public Key Files( *.publickey) *.publickey"; dialog.title = "Open File : "; dialog.restoredirectory = true; if (dialog.showdialog() == DialogResult.OK) tipe = dialog.filename.substring(dialog.filename.length - 9, 9); if (tipe == "publickey") string[] lines = File.ReadAllLines(dialog.FileName); textbox4.text = lines[0]; private void button3_click(object sender, EventArgs e) SaveFileDialog simpann = new SaveFileDialog(); simpann.filter = "Text Files( *.CipherText) *.CipherText"; simpann.filename = "*.CipherText"; if (simpann.showdialog() == DialogResult.OK) string filename = simpann.filename.substring(0, simpann.filename.length - 10) + "CipherText"; FileStream fstreamm = new FileStream(filename, FileMode.Create); StreamWriter sww = new StreamWriter(fstreamm); SeekOrigin seekorigin = new SeekOrigin(); sww.basestream.seek(0, seekorigin); sww.writeline(richtextbox2.text); sww.flush(); sww.close(); MessageBox.Show("Cipher Text berhasil disimpan"); void TextBox6TextChanged(object sender, EventArgs e) embedding.cs using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms;

121 using System.IO; namespace Pengamanan_File_Text /// <summary> /// Description of Embedding. /// </summary> public partial class Embedding : Form public string pilih; public Embedding() // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); // // TODO: Add constructor code after the InitializeComponent() call. // void PictureBox2Click(object sender, EventArgs e) void HomeToolStripMenuItemClick(object sender, EventArgs e) MainForm frmchild = new MainForm(); frmchild.show(); this.hide(); void GenerateKeyToolStripMenuItemClick(object sender, EventArgs e) GenerateKey frmchild = new GenerateKey(); frmchild.show(); this.hide(); void EncryptionToolStripMenuItemClick(object sender, EventArgs e) encryption frmchild = new encryption(); frmchild.show(); this.hide();

122 void DecryptionToolStripMenuItemClick(object sender, EventArgs e) decryption frmchild = new decryption(); frmchild.show(); this.hide(); void EmbeddingToolStripMenuItemClick(object sender, EventArgs e) Embedding frmchild = new Embedding(); frmchild.show(); this.hide(); void ExtractionToolStripMenuItemClick(object sender, EventArgs e) Extraction frmchild = new Extraction(); frmchild.show(); this.hide(); void HelpToolStripMenuItemClick(object sender, EventArgs e) help frmchild = new help(); frmchild.show(); this.hide(); void Button2Click(object sender, EventArgs e) string tipe; OpenFileDialog dialog = new OpenFileDialog(); dialog.filter = "CipherText Files( *.CipherText) *.CipherText"; dialog.title = "Open File : "; dialog.restoredirectory = true; if (dialog.showdialog() == DialogResult.OK) tipe = dialog.filename.substring(dialog.filename.length - 10, 10); if (tipe == "CipherText") string[] lines = File.ReadAllLines(dialog.FileName); richtextbox1.text = lines[0];

123 void Button1Click(object sender, EventArgs e) OpenFileDialog ofd = new OpenFileDialog(); // membuat obejek OpenFileDialog dengan nama ofd ofd.initialdirectory // menentukan direktori awal saat browse file ofd.title = "Browse Image File"; //set title pada window browse file ofd.checkfileexists = true; // set pengecekan file harus ada atau valid ofd.defaultext = "jpeg"; // set tipe file default ofd.filter = "image files *.jpg;*.png"; // filter untuk menentukan file apa saja yang boleh dipilih ofd.filterindex = 0; // menentukan filter index, index dimulai dari nol ofd.restoredirectory = true; // menentukan nilai restorasi direktori ofd.readonlychecked = true; // set nilai bahwa file hanya akan dibaca atau read ofd.showreadonly = true; // set nilai untuk menampilkan file if (ofd.showdialog() == DialogResult.OK) // jika sudah, tampilkan gambar dalam picturebox dengan mode Stretch(disesuaikan dengan picturebox) picturebox1.image = new Bitmap(ofd.FileName); picturebox1.sizemode = PictureBoxSizeMode.StretchImage; textbox1.text = ofd.filename; textbox4.text = picturebox1.image.width.tostring() + " x " + picturebox1.image.height.tostring(); void Button3Click(object sender, EventArgs e) Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); string[] cipher; cipher = richtextbox1.text.split(' '); Bitmap hasil = eoflof.embed( (Bitmap)pictureBox1.Image, cipher ); picturebox2.image = hasil; textbox5.text = picturebox2.image.width.tostring() + " x " + picturebox2.image.height.tostring(); stopwatch.stop(); MessageBox.Show("Waktu = " + ((Double)(stopwatch.Elapsed.TotalMilliseconds / 1000)).ToString() + " detik", "Embedding", MessageBoxButtons.OK); void Button4Click(object sender, EventArgs e)

124 mp); SaveFileDialog save = new SaveFileDialog(); save.filter = "Image Files(*.jpeg) *.jpeg"; if (save.showdialog() == DialogResult.OK) picturebox2.image.save(save.filename, System.Drawing.Imaging.ImageFormat.B MessageBox.Show("Gambar tersimpan"); extraction.cs using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.IO; namespace Pengamanan_File_Text /// <summary> /// Description of Extraction. /// </summary> public partial class Extraction : Form public Extraction() // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); // // TODO: Add constructor code after the InitializeComponent() call. // void HomeToolStripMenuItemClick(object sender, EventArgs e) MainForm frmchild = new MainForm(); frmchild.show(); this.hide(); void GenerateKeyToolStripMenuItemClick(object sender, EventArgs e)

125 GenerateKey frmchild = new GenerateKey(); frmchild.show(); this.hide(); void EncryptionToolStripMenuItemClick(object sender, EventArgs e) encryption frmchild = new encryption(); frmchild.show(); this.hide(); void DecryptionToolStripMenuItemClick(object sender, EventArgs e) decryption frmchild = new decryption(); frmchild.show(); this.hide(); void EmbeddingToolStripMenuItemClick(object sender, EventArgs e) Embedding frmchild = new Embedding(); frmchild.show(); this.hide(); void ExtractionToolStripMenuItemClick(object sender, EventArgs e) Extraction frmchild = new Extraction(); frmchild.show(); this.hide(); void MenuStrip1ItemClicked(object sender, ToolStripItemClickedEventArgs e) void HelpToolStripMenuItemClick(object sender, EventArgs e) help frmchild = new help(); frmchild.show(); this.hide(); void Button1Click(object sender, EventArgs e) OpenFileDialog ofd = new OpenFileDialog(); // membuat obejek OpenFileDialog

126 dengan nama ofd ofd.initialdirectory // menentukan direktori awal saat browse file ofd.title = "Browse Image File"; //set title pada window browse file ofd.checkfileexists = true; // set pengecekan file harus ada atau valid ofd.defaultext = "jpeg"; // set tipe file default ofd.filter = "image files *.jpeg;*.png"; // filter untuk menentukan file apa saja yang boleh dipilih ofd.filterindex = 0; // menentukan filter index, index dimulai dari nol ofd.restoredirectory = true; // menentukan nilai restorasi direktori ofd.readonlychecked = true; // set nilai bahwa file hanya akan dibaca atau read ofd.showreadonly = true; // set nilai untuk menampilkan file if (ofd.showdialog() == DialogResult.OK) // jika sudah, tampilkan gambar dalam picturebox dengan mode Stretch(disesuaikan dengan picturebox) picturebox1.image = new Bitmap(ofd.FileName); picturebox1.sizemode = PictureBoxSizeMode.StretchImage; textbox1.text = ofd.filename; textbox4.text = picturebox1.image.width.tostring() + " x " + picturebox1.image.height.tostring(); void Button3Click(object sender, EventArgs e) Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); string pesan; pesan = eoflof.extract((bitmap)picturebox1.image); textbox3.text = pesan.length.tostring(); richtextbox1.text = pesan; stopwatch.stop(); MessageBox.Show("Waktu = " + ((Double)(stopwatch.Elapsed.TotalMilliseconds / 1000)).ToString() + " detik", "Extraction", MessageBoxButtons.OK); private void button2_click(object sender, EventArgs e) SaveFileDialog simpann = new SaveFileDialog(); simpann.filter = "Text Files( *.CipherText) *.CipherText"; simpann.filename = "*.CipherText"; if (simpann.showdialog() == DialogResult.OK) string filename = simpann.filename.substring(0, simpann.filename.length - 10) + "CipherText"; FileStream fstreamm = new FileStream(filename, FileMode.Create);

127 StreamWriter sww = new StreamWriter(fstreamm); SeekOrigin seekorigin = new SeekOrigin(); sww.basestream.seek(0, seekorigin); sww.writeline(richtextbox1.text); sww.flush(); sww.close(); MessageBox.Show("Cipher Text berhasil disimpan"); void TextBox3TextChanged(object sender, EventArgs e) decryption.cs using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using Microsoft.Office.Interop.Word; using System.IO; namespace Pengamanan_File_Text /// <summary> /// Description of decryption. /// </summary> public partial class decryption : Form ApplicationClass app; Document doc; public decryption() // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); // // TODO: Add constructor code after the InitializeComponent() call. //

128 void HomeToolStripMenuItemClick(object sender, EventArgs e) MainForm frmchild = new MainForm(); frmchild.show(); this.hide(); void GenerateKeyToolStripMenuItemClick(object sender, EventArgs e) GenerateKey frmchild = new GenerateKey(); frmchild.show(); this.hide(); void EncryptionToolStripMenuItemClick(object sender, EventArgs e) encryption frmchild = new encryption(); frmchild.show(); this.hide(); void DecryptionToolStripMenuItemClick(object sender, EventArgs e) decryption frmchild = new decryption(); frmchild.show(); this.hide(); void EmbeddingToolStripMenuItemClick(object sender, EventArgs e) Embedding frmchild = new Embedding(); frmchild.show(); this.hide(); void ExtractionToolStripMenuItemClick(object sender, EventArgs e) Extraction frmchild = new Extraction(); frmchild.show(); this.hide();

129 void HelpToolStripMenuItemClick(object sender, EventArgs e) help frmchild = new help(); frmchild.show(); this.hide(); string pilih,pilih2; void Button1Click(object sender, EventArgs e) richtextbox1.text=null; try OpenFileDialog openfiledialogencryp = new OpenFileDialog(); openfiledialogencryp.title="browse File"; openfiledialogencryp.checkfileexists=true; openfiledialogencryp.checkpathexists=true; openfiledialogencryp.defaultext="ciphertext"; openfiledialogencryp.filter="ciphertext Files( *.CipherText) *.CipherText"; openfiledialogencryp.filterindex=2; openfiledialogencryp.restoredirectory=true; openfiledialogencryp.showreadonly=true; if (openfiledialogencryp.showdialog() == DialogResult.OK) textbox1.text= openfiledialogencryp.filename; pilih= openfiledialogencryp.filename.substring(openfiledialogencryp.filename.length-3,3); pilih2= openfiledialogencryp.filename.substring(openfiledialogencryp.filename.length- 10,10); if (pilih=="ocx") textbox1.text= Path.GetFullPath(openFileDialogEncryp.FileName); string doc = openfiledialogencryp.filename.substring(0,openfiledialogencryp.filename.length); Microsoft.Office.Interop.Word.Application docword = new Microsoft.Office.Interop.Word.ApplicationClass(); object misval = System.Reflection.Missing.Value; object path= doc; object Readonly = false;

130 Microsoft.Office.Interop.Word.Document word = docword.documents.open(ref path, ref misval, ref Readonly,ref misval, ref misval, ref m isval, ref misval, ref misval, ref misval,ref misval, ref misval, ref misval,ref misval, ref m isval, ref misval, ref misval); word.activewindow.selection.wholestory(); word.activewindow.selection.copy(); IDataObject data = Clipboard.GetDataObject(); richtextbox1.text=data.getdata(dataformats.text).tostring(); word.close(ref misval, ref misval, ref misval); if (pilih2=="ciphertext") string[] lines = File.ReadAllLines(openFileDialogEncryp.FileName); richtextbox1.text = lines[0]; catch (Exception ex) MessageBox.Show(ex.ToString()); textbox3.text = richtextbox1.text.length.tostring(); void Button2Click(object sender, EventArgs e) Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); int p = Convert.ToInt32(textBox4.Text); int q = Convert.ToInt32(textBox2.Text); string temps; string[] cipher; cipher = richtextbox1.text.split(' '); for (int i = 0; i < cipher.length - 1; i++) temps = cipher[i]; richtextbox2.text += Convert.ToChar(rabin.decrypt(Convert.ToInt32(temps),p,q)); textbox6.text = richtextbox2.text.length.tostring(); stopwatch.stop(); MessageBox.Show("Waktu = " + ((Double)(stopwatch.Elapsed.TotalMilliseconds / 1000)).ToString() + " detik", "Decryption", MessageBoxButtons.OK); private void button4_click(object sender, EventArgs e) string tipe;

131 OpenFileDialog dialog = new OpenFileDialog(); dialog.filter = "Public Key Files( *.privatekey) *.privatekey"; dialog.title = "Open File : "; dialog.restoredirectory = true; if (dialog.showdialog() == DialogResult.OK) tipe = dialog.filename.substring(dialog.filename.length - 10, 10); if (tipe == "privatekey") string[] lines = File.ReadAllLines(dialog.FileName); textbox4.text = lines[0]; textbox2.text = lines[1]; private void button3_click(object sender, EventArgs e) SaveFileDialog simpann = new SaveFileDialog(); simpann.overwriteprompt = true; simpann.defaultext= "txt"; simpann.filter = "Text Files (*.txt) *.txt text file (*.docx) *.docx text file (*.doc) *.doc"; simpann.filename = ""; if (simpann.showdialog() == DialogResult.OK) string filename = simpann.filename.substring(0, simpann.filename.length) ;//berpengat if (filename.equals("*.doc") filename.equals("*.docx")) object filenamee = simpann.filename; doc = app.documents.add(); doc.content.text = richtextbox2.text; doc.saveas2(ref filenamee); doc.close(); else var sww = new StreamWriter(simpann.FileName); sww.writeline(richtextbox2.text); sww.close(); MessageBox.Show("Plain Text berhasil disimpan"); void DekripsiFormClosing (object sender,formclosingeventargs e)

132 doc = null; app.quit(); if (e.closereason == CloseReason.UserClosing) Environment.Exit(0); void DecryptionLoad(object sender, EventArgs e) void RichTextBox1TextChanged(object sender, EventArgs e)

133 DAFTAR RIWAYAT HIDUP CURRICULUM VITAE I. DATA PRIBADI / Personal Identification Nama Lengkap : Morigia Simanjuntak Tempat/ : Tangkahan Durian/ 04 Oktober 1995 Tgl. Lahir Jenis Kelamin : Perempuan Agama : Kristen Protestan Kebangsaan : Indonesia Alamat : Jalan Besitang Tangkahan Durian, Pangkalan Berandan Telepon : morigiasimanjuntak@gmail.com II. III. IV. KEMAMPUAN / Capabilities Bahasa Bahasa Pemrograman Database Lainnya : Bahasa Indonesia, Bahasa Inggris : C#, C++, PHP : MySQL : HTML, Ms. Office PENDIDIKAN FORMAL / Formal Education [ ] S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi [ ] SMA Negeri 1 Pangkalan Berandan [ ] SMP Negeri 3 Babalan [ ] SD Negeri 4 Tangkahan Durian PENDIDIKAN NON-FORMAL / Informal Education [ ] Kursus Komputer di Quickly, P.Berandan [ ] Kursus Bahasa Inggris di Inter Media, P.Berandan V. PELATIHAN DAN SEMINAR / Trainings & Workshop 1) Peserta Workshop Bank Indonesia Goes To Campus Bersama NET., Universitas Sumatera Utara [2016] 2) Peserta Seminar Nasional Literasi Informasi (SENARAI) Fasilkom-TI Universitas Sumatera Utara [2014] 3) Peserta Seminar What Will You Be? IMILKOM [2013] XIII. LAINNYA / Others 1) Penerima Beasiswa KSE ( Karya Salemba Empat) USU [ ] 2) Penerima Beasiswa BISMA (Beasiswa Indofood Sukses Makmur Tbk) USU [ ] (CV Updated on September, 17th, 2017)

BAB 2 TINJAUAN TEORETIS

BAB 2 TINJAUAN TEORETIS BAB 2 TINJAUAN TEORETIS 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani, yaitu cryptos yang berarti rahasia dan graphein yang berarti tulisan. Jadi, kriptografi adalah tulisan rahasia. Namun, menurut

Lebih terperinci

IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN RABIN PUBLIC KEY CRYPTOSYSTEM SKRIPSI

IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN RABIN PUBLIC KEY CRYPTOSYSTEM SKRIPSI IMPLEMENTASI SISTEM KEAMANAN DATA DENGAN MENGGUNAKAN TEKNIK STEGANOGRAFI END OF FILE (EOF) DAN RABIN PUBLIC KEY CRYPTOSYSTEM SKRIPSI HENNY WANDANI 081401001 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan)[10]. Beberapa

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Salah satu bentuk komunikasi adalah dengan menggunakan tulisan. Ada banyak informasi yang dapat disampaikan melalui tulisan dan beberapa di antaranya terdapat informasi

Lebih terperinci

IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN DALAM PENGAMANAN FILE TEKS SKRIPSI

IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN DALAM PENGAMANAN FILE TEKS SKRIPSI 0 IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN DALAM PENGAMANAN FILE TEKS SKRIPSI WINDI SAPUTRI SIMAMORA 131401085 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. (Cryptography is the art and science of keeping messages secure) Crypto berarti secret

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Teori Bilangan 2.1.1 Keterbagian Jika a dan b Z (Z = himpunan bilangan bulat) dimana b 0, maka dapat dikatakan b habis dibagi dengan a atau b mod a = 0 dan dinotasikan dengan

Lebih terperinci

BAB 1 PENDAHULUAN Latar belakang

BAB 1 PENDAHULUAN Latar belakang BAB 1 PENDAHULUAN 1.1. Latar belakang Seiring berkembangnya zaman, diikuti juga dengan perkembangan teknologi sampai saat ini, sebagian besar masyarakat melakukan pertukaran atau saling membagi informasi

Lebih terperinci

PENGAMANAN FILE CITRA DENGAN SKEMA HYBRID CRYPTOSYSTEM MENGGUNAKAN ALGORITMA RSA-CRT DAN ALGORITMA AFFINE CIPHER SKRIPSI AGUM GUMELAR

PENGAMANAN FILE CITRA DENGAN SKEMA HYBRID CRYPTOSYSTEM MENGGUNAKAN ALGORITMA RSA-CRT DAN ALGORITMA AFFINE CIPHER SKRIPSI AGUM GUMELAR PENGAMANAN FILE CITRA DENGAN SKEMA HYBRID CRYPTOSYSTEM MENGGUNAKAN ALGORITMA RSA-CRT DAN ALGORITMA AFFINE CIPHER SKRIPSI AGUM GUMELAR 131401022 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Kriptografi

BAB 2 LANDASAN TEORI. 2.1 Kriptografi BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani, yaitu kryptos yang berarti tersembunyi dan graphein yang berarti menulis. Kriptografi adalah bidang ilmu yang mempelajari teknik

Lebih terperinci

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi.

BAB 2 LANDASAN TEORI. Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi. BAB 2 LANDASAN TEORI 2.1. Kriptografi Berikut ini akan dijelaskan pengertian, tujuan dan jenis kriptografi. 2.1.1. Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa Yunani yang terdiri

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi atau Cryptography berasal dari kata kryptos yang artinya tersembunyi dan grafia yang artinya sesuatu yang tertulis (bahasa Yunani) sehingga kriptografi

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Keamanan Data Keamanan merupakan salah satu aspek yang sangat penting dari sebuah sistem informasi. Masalah keamanan sering kurang mendapat perhatian dari para perancang dan

Lebih terperinci

IMPLEMENTASI ALGORITMA KRIPTOGRAFI MASSEY OMURA DENGAN TEKNIK STEGANOGRAFI KOMBINASI END OF FILE (EOF) DAN FIRST OF FILE (FOF) UNTUK KEAMANAN DATA

IMPLEMENTASI ALGORITMA KRIPTOGRAFI MASSEY OMURA DENGAN TEKNIK STEGANOGRAFI KOMBINASI END OF FILE (EOF) DAN FIRST OF FILE (FOF) UNTUK KEAMANAN DATA IMPLEMENTASI ALGORITMA KRIPTOGRAFI MASSEY OMURA DENGAN TEKNIK STEGANOGRAFI KOMBINASI END OF FILE (EOF) DAN FIRST OF FILE (FOF) UNTUK KEAMANAN DATA SKRIPSI NADYA SORAYA HARDIYANA 091401077 PROGRAM STUDI

Lebih terperinci

Bab 2: Kriptografi. Landasan Matematika. Fungsi

Bab 2: Kriptografi. Landasan Matematika. Fungsi Bab 2: Kriptografi Landasan Matematika Fungsi Misalkan A dan B adalah himpunan. Relasi f dari A ke B adalah sebuah fungsi apabila tiap elemen di A dihubungkan dengan tepat satu elemen di B. Fungsi juga

Lebih terperinci

IMPLEMENTASI PENGAMANAN FILE TEXT DENGAN ALGORITMA KRIPTOGRAFI KNAPSACK DAN ALGORITMA STEGANOGRAFI FOF (First of File)

IMPLEMENTASI PENGAMANAN FILE TEXT DENGAN ALGORITMA KRIPTOGRAFI KNAPSACK DAN ALGORITMA STEGANOGRAFI FOF (First of File) IMPLEMENTASI PENGAMANAN FILE TEXT DENGAN ALGORITMA KRIPTOGRAFI KNAPSACK DAN ALGORITMA STEGANOGRAFI FOF (First of File) SKRIPSI DISA HAYANTI 091401066 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi 2.1.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani criptos yang artinya adalah rahasia, sedangkan graphein artinya tulisan. Jadi kriptografi

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI 6 BAB II LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani cprytos artinya secret atau hidden (rahasia), dan graphein artinya writing (tulisan).

Lebih terperinci

IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID

IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) PADA APLIKASI SHORT MESSAGE SERVICE (SMS) BERBASIS ANDROID SKRIPSI HARI RAHMAN NIHE 111401114 PROGRAM STUDI S1 ILMU

Lebih terperinci

PENYANDIAN DATA TEKS DENGAN ALGORITMA ELGAMAL DAN ALGORITMA KOMPRESI DATA DENGAN ALGORITMA ELIAS GAMMA CODE SKRIPSI WIWIN AGUSTINI LUBIS

PENYANDIAN DATA TEKS DENGAN ALGORITMA ELGAMAL DAN ALGORITMA KOMPRESI DATA DENGAN ALGORITMA ELIAS GAMMA CODE SKRIPSI WIWIN AGUSTINI LUBIS PENYANDIAN DATA TEKS DENGAN ALGORITMA ELGAMAL DAN ALGORITMA KOMPRESI DATA DENGAN ALGORITMA ELIAS GAMMA CODE SKRIPSI WIWIN AGUSTINI LUBIS 131421061 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU

Lebih terperinci

IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN PENYISIPAN MENGGUNAKAN FUNGSI LINIER

IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN PENYISIPAN MENGGUNAKAN FUNGSI LINIER IMPLEMENTASI KRIPTOGRAFI ALGORITMA ELGAMAL DENGAN STEGANOGRAFI TEKNIK LEAST SIGNIFICANT BIT (LSB) BERDASARKAN PENYISIPAN MENGGUNAKAN FUNGSI LINIER DRAFT SKRIPSI LIDYA ANDINY NASUTION 091401083 PROGRAM

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Steganografi Istilah steganografi berasal dari bahasa Yunani, yaitu steganos yang berarti penyamaran atau penyembunyian dan graphein yang berarti tulisan. Jadi, steganography

Lebih terperinci

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi JURNAL DUNIA TEKNOLOGI INFORMASI Vol. 1, No. 1, (2012) 20-27 20 Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi 1 Program Studi

Lebih terperinci

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara 5 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi adalah ilmu yang mempelajari bagaimana mengirim pesan secara rahasia sehingga hanya orang yang dituju saja yang dapat membaca pesan rahasia tersebut.

Lebih terperinci

IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) SKRIPSI ANDRUS

IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) SKRIPSI ANDRUS IMPLEMENTASI MODIFIKASI SISTEM KRIPTOGRAFI RSA DAN ELLIPTIC CURVE DIGITAL SIGNATURE ALGORITHM (ECDSA) SKRIPSI ANDRUS 111401094 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi informasi semakin memudahkan penggunanya dalam berkomunikasi melalui bermacam-macam media. Komunikasi yang melibatkan pengiriman dan penerimaan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 7 BAB 2 LANDASAN TEORI 2.1 Kriptografi 2.1.1 Pengertian kriptografi Kriptografi (Cryptography) berasal dari Bahasa Yunani. Menurut bahasanya, istilah tersebut terdiri dari kata kripto dan graphia. Kripto

Lebih terperinci

ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY

ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY 101421002 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi. BAB 2 LANDASAN TEORI 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi. 2.1.1 Pengertian Kriptografi Kriptografi (cryptography) berasal dari bahasa yunani yaitu

Lebih terperinci

IMPLEMENTASI STEGANOGRAFI HOPPING SPREAD SPECTRUM KE DALAM FILE VIDEO SKRIPSI

IMPLEMENTASI STEGANOGRAFI HOPPING SPREAD SPECTRUM KE DALAM FILE VIDEO SKRIPSI IMPLEMENTASI STEGANOGRAFI HOPPING SPREAD SPECTRUM KE DALAM FILE VIDEO SKRIPSI RICKY STEVEN 111401052 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Lebih terperinci

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Universitas Sumatera Utara 17 BAB 1 PENDAHULUAN Bab ini akan menjelaskan mengenai latar belakang masalah yang dibahas dalam skripsi ini, rumusan masalah, ruang lingkup penelitian, tujuan penelitian, manfaat penelitian, penelitian

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi Ditinjau dari terminologinya, kata kriptografi berasal dari bahasa Yunani yaitu cryptos yang berarti menyembunyikan, dan graphein yang artinya

Lebih terperinci

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Universitas Sumatera Utara BAB 1 PENDAHULUAN 1. Latar Belakang Kerahasiaan pesan atau data yang dimiliki oleh seseorang merupakan hal penting dalam pengiriman pesan agar pesan tersebut hanya dapat diberikan oleh orang tertentu saja

Lebih terperinci

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI MENGGUNAKAN ALGORITMA RSA DAN METODE LSB Rian Arifin 1) dan Lucky Tri Oktoviana 2) e-mail: Arifin1199@gmail.com Universitas Negeri Malang ABSTRAK: Salah satu cara

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 6 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi merupakan sebuah seni penyandian pesan dalam rangka mencapai tujuan keamanan dalam pertukaran informasi. 2.1.1. Definisi Kriptografi Kriptografi berasal

Lebih terperinci

Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan

Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan Penerapan Metode End Of File Pada Steganografi Citra Gambar dengan Memanfaatkan Algoritma Affine Cipher sebagai Keamanan Pesan 1) Achmad Fauzi STMIK KAPUTAMA, Jl. Veteran No. 4A-9A, Binjai, Sumatera Utara

Lebih terperinci

TMA RSAA DAN ER R AHUAN ALAM. Universitas Sumatera Utara

TMA RSAA DAN ER R AHUAN ALAM. Universitas Sumatera Utara IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN ALGORIT TMA RSAA DAN MODIFIED LSBB DRAFT SKRIPSI SISKA ANGGRAINII 081401040 PROGRAM STUDI S1 ILMU KOMPUTE ER DEPARTEMEN ILMU KOMPUTER R FAKULTAS MATEMATIKA

Lebih terperinci

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Universitas Sumatera Utara BAB 1 PENDAHULUAN 1.1 Latar Belakang Teknologi komputer yang berkembang semakin pesat, memberikan kemudahan bagi kita untuk melakukan komunikasi dan pertukaran data atau informasi. Salah satu komunikasi

Lebih terperinci

ENKRIPSI AFFINE CIPHER UNTUK STEGANOGRAFI PADA ANIMASI CITRA GIF

ENKRIPSI AFFINE CIPHER UNTUK STEGANOGRAFI PADA ANIMASI CITRA GIF JIMT Vol. 9 No. 1 Juni 2012 (Hal. 89 100) Jurnal Ilmiah Matematika dan Terapan ISSN : 2450 766X ENKRIPSI AFFINE CIPHER UNTUK STEGANOGRAFI PADA ANIMASI CITRA GIF S. Hardiyanti 1, S. Musdalifah 2, A. Hendra

Lebih terperinci

IMPLEMENTASI KOMBINASI ALGORITMA NTRUENCRYPT DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS SKRIPSI YANSEN BOSTON SIMATUPANG

IMPLEMENTASI KOMBINASI ALGORITMA NTRUENCRYPT DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS SKRIPSI YANSEN BOSTON SIMATUPANG IMPLEMENTASI KOMBINASI ALGORITMA NTRUENCRYPT DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS SKRIPSI YANSEN BOSTON SIMATUPANG 101401070 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN

Lebih terperinci

PERBANDINGAN TEKNIK STEGANOGRAFI DENGAN METODE FIRST-OF-FILE, END-OF-FILE DAN KOMBINASI FIRST-OF- FILE DAN END-OF-FILE PADA FILE BITMAP SKRIPSI

PERBANDINGAN TEKNIK STEGANOGRAFI DENGAN METODE FIRST-OF-FILE, END-OF-FILE DAN KOMBINASI FIRST-OF- FILE DAN END-OF-FILE PADA FILE BITMAP SKRIPSI PERBANDINGAN TEKNIK STEGANOGRAFI DENGAN METODE FIRST-OF-FILE, END-OF-FILE DAN KOMBINASI FIRST-OF- FILE DAN END-OF-FILE PADA FILE BITMAP SKRIPSI ARFIYAH 091401003 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS

Lebih terperinci

SKRIPSI BILQIS

SKRIPSI BILQIS ANALISIS DAN PERANCANGAN APLIKASI PESAN RAHASIA MENGGUNAKAN ALGORITMA ONE TIME PAD (OTP) DENGAN PEMBANGKIT BILANGAN ACAK LINEAR CONGRUENTIAL GENERATOR (LCG) SKRIPSI BILQIS 081401072 PROGRAM STUDI S1 ILMU

Lebih terperinci

IMPLEMENTASI ALGORITMA KUNCI PUBLIK LUC DAN ALGORITMA KOMPRESI GOLDBACH CODES UNTUK PERANCANGAN APLIKASI PENGAMANAN DAN KOMPRESI FILE PDF SKRIPSI

IMPLEMENTASI ALGORITMA KUNCI PUBLIK LUC DAN ALGORITMA KOMPRESI GOLDBACH CODES UNTUK PERANCANGAN APLIKASI PENGAMANAN DAN KOMPRESI FILE PDF SKRIPSI IMPLEMENTASI ALGORITMA KUNCI PUBLIK LUC DAN ALGORITMA KOMPRESI GOLDBACH CODES UNTUK PERANCANGAN APLIKASI PENGAMANAN DAN KOMPRESI FILE PDF SKRIPSI SABRINA RIDHA SARI SINAGA 141421085 PROGRAM STUDI EKSTENSI

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Seiring dengan perkembangan teknologi, tingkat keamanan terhadap suatu informasi yang bersifat rahasia pun semakin tinggi. Hal ini merupakan aspek yang paling penting

Lebih terperinci

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM BAB III PERANCANGAN SISTEM 3.1. Analisis Sistem Analisis sistem adalah salah satu tahap perancangan sebuah sistem yang bertujuan agar sistem yang dirancang menjadi tepat guna dan ketahanan sistem tersebut

Lebih terperinci

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang BAB II LANDASAN TEORI Pada bab ini akan diberikan beberapa definisi, penjelasan, dan teorema yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang diberikan diantaranya adalah definisi

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi Ditinjau dari segi terminologinya, kata kriptografi berasal dari bahasa Yunani yaitu crypto yang berarti secret (rahasia) dan graphia yang berarti writing (tulisan).

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Seiring perkembangan teknologi, teknik dan metode penyampaian pesan rahasia pun semakin beragam. Terdapat berbagai bentuk pesan rahasia seperti pesan teks, pesan citra,

Lebih terperinci

ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI

ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI RATNANINGTYAS YOGA WIJAYANTI 081401011 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN

Lebih terperinci

Universitas Sumatera Utara

Universitas Sumatera Utara PERSETUJUAN Judul : PERBANDINGAN ALGORITMA STEGANOGRAFI ECHO DATA HIDING DAN LOW BIT ENCODING DALAM PENGAMANAN FILE Kategori : SKRIPSI Nama : MELLY Nomor Induk Mahasiswa : 131401136 Program Studi : SARJANA(S1)

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan

Lebih terperinci

IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI MODIFIKASI PLAYFAIR CIPHER DAN TEKNIK STEGANOGRAFI BEGIN OF FILE PADA PENGAMANAN PESAN TEKS SKRIPSI

IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI MODIFIKASI PLAYFAIR CIPHER DAN TEKNIK STEGANOGRAFI BEGIN OF FILE PADA PENGAMANAN PESAN TEKS SKRIPSI IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI MODIFIKASI PLAYFAIR CIPHER DAN TEKNIK STEGANOGRAFI BEGIN OF FILE PADA PENGAMANAN PESAN TEKS SKRIPSI POCUT RIZKY AZHARI 091401073 PROGRAM STUDI S1 ILMU KOMPUTER

Lebih terperinci

IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA

IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA 111401104 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

IMPLEMENTASI PENYEMBUNYIAN DAN PENYANDIAN PESAN PADA CITRA MENGGUNAKAN ALGORITMA AFFINE CIPHER DAN METODE LEAST SIGNIFICANT BIT

IMPLEMENTASI PENYEMBUNYIAN DAN PENYANDIAN PESAN PADA CITRA MENGGUNAKAN ALGORITMA AFFINE CIPHER DAN METODE LEAST SIGNIFICANT BIT IMPLEMENTASI PENYEMBUNYIAN DAN PENYANDIAN PESAN PADA CITRA MENGGUNAKAN ALGORITMA AFFINE CIPHER DAN METODE LEAST SIGNIFICANT BIT SKRIPSI TRI BAGUS PURBA 081401083 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN

Lebih terperinci

SKRIPSI ANNISSA FADILLA

SKRIPSI ANNISSA FADILLA IMPLEMENTASI KOMBINASI ALGORITMA KRIPTOGRAFI LUC DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS SKRIPSI ANNISSA FADILLA 101401072 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

Lebih terperinci

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal

BAB I PENDAHULUAN. melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal BAB I PENDAHULUAN Bab Pendahuluan akan menjabarkan mengenai garis besar skripsi melalui ringkasan pemahaman penyusun terhadap persoalan yang dibahas. Hal-hal yang akan dijabarkan adalah latar belakang,

Lebih terperinci

PENGAMANAN TEKS DENGAN HYBRID CRYPTOSYSTEM ALGORITMA MULTI-POWER RSA DAN ALGORITMA BLOWFISH SKRIPSI MAHADI PUTRA

PENGAMANAN TEKS DENGAN HYBRID CRYPTOSYSTEM ALGORITMA MULTI-POWER RSA DAN ALGORITMA BLOWFISH SKRIPSI MAHADI PUTRA PENGAMANAN TEKS DENGAN HYBRID CRYPTOSYSTEM ALGORITMA MULTI-POWER RSA DAN ALGORITMA BLOWFISH SKRIPSI MAHADI PUTRA 131401057 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA

PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA PENGGUNAAN ALGORITMA KRIPTOGRAFI POHLIG HELLMAN DALAM MENGAMANKAN DATA Rita Novita Sari Teknik Informatika, Universitas Potensi Utama Jalan K.L. Yos Sudarso KM. 6,5 No. 3A Tanjung Mulia Medan rita.ns89@gmail.com

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Perkembangan jaringan komputer di masa kini memungkinan kita untuk melakukan pengiriman pesan melalui jaringan komputer. Untuk menjaga kerahasiaan dan keutuhan pesan

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1. Kriptografi Kriptografi secara etimologi berasal dari bahasa Yunani kryptos yang artinya tersembunyi dan graphien yang artinya menulis, sehingga kriptografi merupakan metode

Lebih terperinci

BAB I PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN Latar Belakang BAB I PENDAHULUAN Bab ini akan menjelaskan mengenai latar belakang penilitian judul skripsi Implementasi Hybrid Cryptosystem dengan menggunakan Algoritma One Time Pad dan Algoritma Rabin Cryptosystem dalam

Lebih terperinci

IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID

IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID IMPLEMENTASI KOMBINASI ALGORITMA COLUMNAR TRANSPOSITION CIPHER DAN DATA ENCRYPTION STANDARD PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID SKRIPSI SAMUEL PANJAITAN 111401111 PROGRAM STUDI S1

Lebih terperinci

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. BAB I PENDAHULUAN 1.1 Latar Belakang Pada proses pengiriman data (pesan) terdapat beberapa hal yang harus diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi. Oleh karenanya

Lebih terperinci

BAB 2 LANDASAN TEORI Keamanan Informasi

BAB 2 LANDASAN TEORI Keamanan Informasi BAB 2 LANDASAN TEORI 2.1. Keamanan Informasi Kriptografi sangat berkaitan dengan isu keamanan informasi. Sebelum mengenal kriptografi diperlukan pemahaman tentang isu-isu yang terkait dengan keamanan informasi

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang Masalah

BAB 1 PENDAHULUAN Latar Belakang Masalah BAB 1 PENDAHULUAN Bab ini membahas tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, serta sistematika penulisan pada penelitian

Lebih terperinci

PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI

PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI 121401140 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisis Masalah Secara umum data dikategorikan menjadi dua, yaitu data yang bersifat rahasia dan data yang bersifat tidak rahasia. Data yang bersifat tidak rahasia

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Kriptografi Kriptografi adalah ilmu yang mempelajari cara-cara mengamankan informasi rahasia dari suatu tempat ke tempat lain [4]. Caranya adalah dengan menyandikan informasi

Lebih terperinci

KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS

KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS 061401001 PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Jaringan komputer dan internet telah mengalami perkembangan pesat. Teknologi ini mampu menghubungkan hampir semua komputer yang ada di dunia, sehingga kita bisa saling

Lebih terperinci

Aplikasi Teori Bilangan dalam Algoritma Kriptografi

Aplikasi Teori Bilangan dalam Algoritma Kriptografi Aplikasi Teori Bilangan dalam Algoritma Kriptografi Veren Iliana Kurniadi 13515078 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

IMPLEMENTASI ALGORITMA HUFFMAN CODING DAN METODE LEAST SIGNIFICANT BIT(LSB) UNTUK PENYEMBUNYIAN CITRA BMP KE CITRA BMP JOHAN SURYA

IMPLEMENTASI ALGORITMA HUFFMAN CODING DAN METODE LEAST SIGNIFICANT BIT(LSB) UNTUK PENYEMBUNYIAN CITRA BMP KE CITRA BMP JOHAN SURYA IMPLEMENTASI ALGORITMA HUFFMAN CODING DAN METODE LEAST SIGNIFICANT BIT(LSB) UNTUK PENYEMBUNYIAN CITRA BMP KE CITRA BMP JOHAN SURYA 121401095 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

Lebih terperinci

Studi dan Implementasi Sistem Kriptografi Rabin

Studi dan Implementasi Sistem Kriptografi Rabin Studi dan Implementasi Sistem Kriptografi Rabin Anugrah Adeputra Program Studi Teknik Informatika, Institut Teknologi Bandung, Jl.Ganesha No.10 Email: if15093@students.if.itb.ac.id Abstraksi Sistem Kriptografi

Lebih terperinci

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB

IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI DENGAN MENGGUNAKAN ALGORITMA RSA DAN MEMAKAI METODE LSB Imam Ramadhan Hamzah Entik insanudin MT. e-mail : imamrh@student.uinsgd.ac.id Universitas Islam Negri Sunan

Lebih terperinci

IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN STEGANOGRAFI TEKNIK PEMETAAN TITIK HITAM DENGAN PENCARIAN SEKUENSIAL DAN RABIN CRYPTOSYSTEM

IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN STEGANOGRAFI TEKNIK PEMETAAN TITIK HITAM DENGAN PENCARIAN SEKUENSIAL DAN RABIN CRYPTOSYSTEM IMPLEMENTASI SISTEM KEAMANAN DATA MENGGUNAKAN STEGANOGRAFI TEKNIK PEMETAAN TITIK HITAM DENGAN PENCARIAN SEKUENSIAL DAN RABIN CRYPTOSYSTEM DRAFT SKRIPSI AULIA AKBAR HARAHAP 101401048 PROGRAM STUDI S-1 ILMU

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB TINJAUAN PUSTAKA.1 Kriptografi Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1. Kriptografi Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi

Lebih terperinci

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL INFORMATIKA Mulawarman Februari 2014 Vol. 9 No. 1 ISSN 1858-4853 KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL Hendrawati 1), Hamdani 2), Awang Harsa

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA 2.1 Tinjauan Pustaka BAB II TINJAUAN PUSTAKA Penelitian tentang implementasi Kriptografi dengan algoritma one time pad pernah dilakukan dan memuat teori-teori dari penelitian sejenis. Di bawah ini adalah

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Kriptografi 2.1.1. Definisi Kriptografi Kriptografi adalah ilmu atau metode yang memungkinkan informasi yang akan dikirim aman sehingga dengan cara ini orang yang dapat memperoleh

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya secret (rahasia), sedangkan gráphein artinya writing (tulisan), jadi kriptografi berarti secret

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Dewasa ini penggunaan teknologi Internet di dunia sudah berkembang pesat. Semua kalangan telah menikmati Internet. Bahkan, perkembangan teknologi Internet tersebut

Lebih terperinci

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi BAB 2 LANDASAN TEORI 2. Kriptografi 2.. Definisi Kriptografi Kriptografi adalah ilmu mengenai teknik enkripsi di mana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh

Lebih terperinci

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi BAB I PENDAHULUAN A. Latar Belakang Kemajuan dan perkembangan teknologi informasi dewasa ini telah berpengaruh pada seluruh aspek kehidupan manusia, termasuk bidang komunikasi. Pada saat yang sama keuntungan

Lebih terperinci

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan

BAB 1 PENDAHULUAN. dalam bahasa sandi (ciphertext) disebut sebagai enkripsi (encryption). Sedangkan BAB 1 PENDAHULUAN 1.1 Latar Belakang Dunia semakin canggih dan teknologi informasi semakin berkembang. Perkembangan tersebut secara langsung maupun tidak langsung mempengaruhi sistem informasi. Terutama

Lebih terperinci

PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI NOVY

PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI NOVY PERANCANGAN APLIKASI PAILLIER CRYPTOSYSTEM UNTUK MENGAMANKAN DATA FILE SKRIPSI NOVY 071401034 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

IMPLEMENTASI ALGORITMA RC4 DAN METODE MODIFIED LSB UNTUK PENGAMANAN TEXT FILE SKRIPSI FEBRI ARO GEA

IMPLEMENTASI ALGORITMA RC4 DAN METODE MODIFIED LSB UNTUK PENGAMANAN TEXT FILE SKRIPSI FEBRI ARO GEA IMPLEMENTASI ALGORITMA RC4 DAN METODE MODIFIED LSB UNTUK PENGAMANAN TEXT FILE SKRIPSI FEBRI ARO GEA 111401087 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA

Lebih terperinci

IMPLEMENTASI DAN ANALISIS KRIPTOGRAFI HYBRID ALGORITMA FEAL DAN ALGORITMA ELGAMAL DALAM PENGAMANAN FILE TEKS SKRIPSI SYABRUL MAJID

IMPLEMENTASI DAN ANALISIS KRIPTOGRAFI HYBRID ALGORITMA FEAL DAN ALGORITMA ELGAMAL DALAM PENGAMANAN FILE TEKS SKRIPSI SYABRUL MAJID IMPLEMENTASI DAN ANALISIS KRIPTOGRAFI HYBRID ALGORITMA FEAL DAN ALGORITMA ELGAMAL DALAM PENGAMANAN FILE TEKS SKRIPSI SYABRUL MAJID 131421058 PROGRAM S-1 EKSTENSI ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN

Lebih terperinci

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA ABSTRAK ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA Makalah ini membahas tentang pengamanan pesan rahasia dengan menggunakan salah satu algoritma Kryptografi, yaitu algoritma ElGamal. Tingkat keamanan

Lebih terperinci

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda BAB II DASAR TEORI Pada Bab II ini akan disajikan beberapa teori yang akan digunakan untuk membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda tangan digital yang meliputi: keterbagian

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Secara Umum Menurut Richard Mollin (2003), Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya

Lebih terperinci

SKRIPSI DIRA FAHRENDY SEMBIRING

SKRIPSI DIRA FAHRENDY SEMBIRING IMPLEMENTASI KEAMANAN TEKS PADA CITRA BITMAP DENGAN KOMBINASI ALGORITMA KNAPSACK DAN ALGORITMA LEAST SIGNIFICANT BIT (LSB) TERHADAP MODIFIKASI NILAI BRIGHTNESS SKRIPSI DIRA FAHRENDY SEMBIRING 081401100

Lebih terperinci

IMPLEMENTASI DIGITAL SIGNATURE DENGAN ALGORITMA RSA DAN LEHMANN PRIME GENERATOR PADA PESAN TEKS SKRIPSI MIRNAWATI

IMPLEMENTASI DIGITAL SIGNATURE DENGAN ALGORITMA RSA DAN LEHMANN PRIME GENERATOR PADA PESAN TEKS SKRIPSI MIRNAWATI IMPLEMENTASI DIGITAL SIGNATURE DENGAN ALGORITMA RSA DAN LEHMANN PRIME GENERATOR PADA PESAN TEKS SKRIPSI MIRNAWATI 081401005 DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS

Lebih terperinci

IMPLEMENTASI STEGANOGRAPHY NATURE OF WHITESPACE (SNOW) BERBASIS WEB MENGGUNAKAN METODE WHITESPACE SKRIPSI POPPY TANIA

IMPLEMENTASI STEGANOGRAPHY NATURE OF WHITESPACE (SNOW) BERBASIS WEB MENGGUNAKAN METODE WHITESPACE SKRIPSI POPPY TANIA 1 IMPLEMENTASI STEGANOGRAPHY NATURE OF WHITESPACE (SNOW) BERBASIS WEB MENGGUNAKAN METODE WHITESPACE SKRIPSI POPPY TANIA 101401018 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Penelitian sebelumnya yang terkait dengan penelitian ini adalah penelitian yang dilakukan oleh Syaukani, (2003) yang berjudul Implementasi Sistem Kriptografi

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Tujuan utama keamanan data adalah untuk mengamankan data/informasi dari penyalahgunaan oleh pihak-pihak yang tidak bertanggung jawab. Dengan adanya pengamanan data,

Lebih terperinci

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman) Media Informatika Vol. 9 No. 2 (2010) PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman) Dahlia Br Ginting Sekolah Tinggi Manajemen Informatika dan Komputer

Lebih terperinci