LISTING PROGRAM
Kode Program Class Enkrip
Kode Program Class Dekrip
System.IO.File.WriteAllText("C:/Users/Asus/Documents/Visual Studio 2012/Projects/test1/dekripted.txt", result);*/
return arrayint; }
} }
Kode Program Class Embed
int t = s;
gr.SetPixel(x, y, Color.FromArgb(na, nr, ng, nb));
Kode Program Class Ekstrak
using System;
{
Kode Program Class Kripto
(SEPTIAN MAIHADI PUTRA LUBIS)
DATA PRIBADI
Nama Lengkap : Septian Maihadi Putra Lubis Nama Panggilan : Septian
Tempat/Tanggal Lahir: Tebing Tinggi / 20 September 1991 Jenis Kelamin : Pria
Agama : Islam
Warga Negara : Indonesia
Alamat : Jl. Abdul Hakim Gang Mustika No. 1B, Medan
HP : 081360145106
E-mail : [email protected] Status : belum menikah
RIWAYAT PENDIDIKAN
Sekolah Menengah Atas
SMA Perguruan Nasional Ir. H Djuanda, Tebing Tinggi 2006-2009
Sekolah Menengah Pertama
SMA Perguruan Nasional Ir. H Djuanda, Tebing Tinggi 2003-2006
Sekolah Dasar
SMA Perguruan Nasional Ir. H Djuanda, Tebing Tinggi 1995-2003
Programming: C++, C#, Prolog Database : MySQL
IDE : Visual Studio 2012
PENGALAMAN KERJA
No Instansi/Lembaga Jabatan/Posisi Tahun
1 Program Studi S1 Ilmu
Komputer Fasilkom-TI USU Asisten Laboratorium 2012-2014
SEMINAR
No. Seminar Tahun
1 Seminar Demo Software dan Diskusi Panel Integrasi Agent Based Model
DAFTAR PUSTAKA
Ade, A. 2011. Studi Perbandingan Kinerja Algoritma Kompresi Shannon-Fano Dan Huffman Pada Citra Digital. Skripsi. Medan, Indonesia : Universitas Sumatera Utara.
Ayushi. 2010. A Sysmetric Key Cryptographic Algorithm. International Journal of
Computer Aplications. Volume 1-No.14.
Cole, E. 2003. Hiding in Plain Sight: Steganography and Art of Convert Communication. Indianapolis, indiana. Willey Publishing, Inc.
Degraf, G.A., Pellenz, M.D., Santin, A.O., & Maziero, C.A. 2007. A Three Pass Protocol for
Cryptography Based on Padding for Wireless Network. Pontificial Catholic
University of Parana.
Gellert, W. 1975.The VNR Concise Encyclopedia of Mathematics.Van Nostrand Reinhold Company: New York.
Jasril. Marzuki, I,. Rahmat, F,. 2012. Modificattion Four Bits of Uncomppressed Steganography Using Least Significant Bit (LSB) Method. ICACSIS 2012. 287-292
Klitz, E. dan Pietzak, K. 2010. Leakage Resilient Elgamal Enkription. Journal of centrum
Winkunde and Informatica. Nedherland.
Kromodimoeljo, S. 2010. Teori dan Aplikasi Kriptografi. SPK IT Consulting: Jakarta.
M. Dobsicek. 2004, Extended steganographic system, 2004 8th International Student
Conference on Electrical Engineering. FEE CTU.
Mollin, R. A. 2002. RSA and Public-Key Cryptography.2nd Edition. Chapman & Hall/CRC: Florida.
Mollin, R. A. 2007. An Introduction to Cryptography.2nd Edition. Chapman & Hall/CRC: Florida.
Munir, R. 2007. Matematika Diskrit. Edisi ke-3. Informatika: Bandung.
Neeta, D, Shehal, K. and Jacobs, D. 2007. Implementation of LSB Steganography and Its Evaluation for Various Bits. Digital Information Management, 2006 1st
Pramana, Tengku. S. 2013. Implenemtasi Massey-Omura Cryptosystem dan Lehman Prime
Generator untuk Keamanan E-mail Pada Mozilla Thunderbird. Skripsi. Medan:
Universitas Sumatera Utara
Prasetyo, E.2011.Pengolahan Citra Digital dan Aplikasinya menggunakan Matlab. Yogyakarta: Andi Offset.
Pusparani, N. A. 2009. Analisa RSA dengan Penambahan Chinese Remainder Theorem untuk mempercepat Proses. Skripsi. Departemen Ilmu Komputer. Institut Pertanian Bogor: Bogor.
Reza, M. 2012. Simulasi Pengamanan File Teks dengan Menggunakan Algoritma
Massey-Omura. Skripsi. Medan: Universitas Sumatera Utara.
Schneier, B. 1996.Applied Cryptography: Protocols, Algorithms, and Source Code in C. 2nd Edition. John Wiley & Sons, Inc: New Jersey.
Sharma, P., Gupta, A.K., dan Sherma, S. 2012. Intesified ElGamal Cryptosystem (IEC).
Internatioanal Journal of Advences in Engineering and Technology.
ISSN:2331-1963.
Simamora, Hermanda. I. T. 2013. Implementassi Algoritma Elgamal dengan Pembangkit Bilangan Prima Lehman dan Algoritma Least Significant Bit (LSB) dengan Cover
Image Bitmap untuk Keamanan Data Text. Skripsi. Medan: Universitas Sumatera
Utara.
van Tilborg, H.C.A., & Jajodia, S. 2011. Encyclopedia of Cryptography and Security. Springer: New York
Verma, V., Poonam., & Chawla, R. 2014. An Enchanced Least Significat Bit Steganography Method Using Midpoint Circle Approach. International Conference on
Communication and Signal Processing: 105-108.
Winton, R. 2007. Enhancing the Massey-Omura Cryptosystem. Journal of Mathematical
Science and Mathematics Education. 21-29
BAB III
ANALISI DAN PERANCANGAN
3.1 Analisis Sistem
Analisis sistem merupakan tahap awal untuk pengembangan sistem. Yang dilakukan untuk
memahami kebutuhaan sistem dan gambaran tugas-tugas yang akan dikerjakan sistem. Dalam
tahap ini akan dilakukan pemodelan rancang bangun sistem yang akan diimplementasi dalan
bentuk nyata.
3.1.1 Analisis Masalah
Adanya kriptografi sebagai metode untuk mengirim suatu pesan dengan aman, chipertext
yang dihasilkan oleh metode kriptografi merupakan kumpulan karakter acak yang
mengundang kecurigaan.
Sehingga untuk meningkatkan pengamanan pesan dilakukan penggabungan
kriptografi dan steganografi. Algoritma kriptografi yang digunakan adlah Massey-Omura
dengan algortima sreganografi Least Significant Bit (LSB) modifikasi tempat penyisipan.
Dalam analisis masalah, dapat digambarkan lebih jelas melalui Diagram Ishikawa
Pengamanan significant bit modifikasi
tempat penyimpanan Kekhawatiran akan
pembobolan pesan
Gambar 3.1 Diagram Ishikawa Analisis Masalah
3.1.2 Analisis Persyaratan
Analisis persyaratan merupakan tahap yang penting, yaitu menentukan persyaratan dari
sistem seperti kebutuhan dari pengguna. Analisis Persyaratan terbagi dua, yaitu analisis
fungsional dan analisis nonfungsional
3.1.2.1 Analisis Fungsional
Analisis fungsional dilakukan untuk dapat mendeskripsikan tentang aktivitas dan layanan apa
saja yang harus disediakan ole sebuah sistem. Berikut adalah aktivitas yang dapat dilakukan
oleh sistem.
1. File gambar yang digunakan hanya berFormat Bitmap (*.bmp) dan jumlah
minimal pixel pada gambar berjumlah (((jumlah karakter) x 5)+1) pixel.
2. File yang akan di enkripsi adalah berupa pesan teks dengan Format *.txt dengan
karakter ASCII dan jumlah karakter terbatas hanya sampai 10.000 karakter.
3. Maksimal jumlah karakter yang dapat di embed adalah (jumlah pixel / 5 ) karakter.
4. Metode yang digunakan untuk membangkitkan bilangan prima adalah metode
Rabin miller.
5. Sistem mengenkripsi pesan menggunakan algoritma Massey-Omura kemudian
menyisipkannya ke gambar dengan algoritma LSB modifikasi penyisipan tempat.
6. Karakter yang digunakan berdasarkan table ASCII 127
3.1.2.2 Analisis Nonfungsional
Analisis nonfungsional dilakukan untuk dapat mendeskripsikan mengenai fitur, karakteristik
dan batasan lainnya yang menentukan kepuasan pengguna terhadap sistem.
1. PerForma
Sistem yang akan dibangun harus dapat menunjukan hasil dari embedding dan
extracting.
2. Mudah dipelajari dan digunakan
Sistem yang akan dibangun harus memiliki tampilan yang user friendly dan juga
memiliki respon yang baik dalam proses penggunaannya.
3. Hemat biaya
Sistem yang akan dibangun bebas digunakan dan tidak membutuhkan perangkat
lain.
4. Dokumentasi
Sistem yang akan dibangun dapat menyimpan pesan hasil enkripsi sesuai
algoritma kriptografi serta dapat menyimpan citra hasil embedding sesuai metode
steganografi.
5. Manajemen kualitas
Sistem yang akan dibangun memiliki kualitas yang baik.
6. Kontrol
Sistem yang akan dibangun menampilkan pesan error untuk setiap input yang
tidak sesuai dengan sistem.
3.1.3 Pemodelan Persyaratan Sistem Dengan Use Case
Pada dasarnya Use Case adalah urutan langkah-langkah yang saling terkait untuk satu tujuan.
Sedangkan Use Case Diagram adalah suatu diagram yang menggambarkan interaksi antar
sistem dengan pengguna. Pemodelan Use Case merupakan pemodelan yang baik untuk
menentukan, mendokumentasikan dan memahami persyaratan fungsional.
Use Case diawali oleh pengguna yang disebut Actor yang menginisiasi kegiatan
sistem yaitu sebuah use case. Yang berperan sebagai Actor dalam sistem ini terdiri dari
pengirim pesan (sender) dan penerima pesan (recipient).
Sebelum melakukan pengiriman pesan sender dan recipient menyepakati sebuah
Generate Prime
Encryption1 Generate Key A
Embedding1
Extracting1
Generate Key B
Encryption2
Embedding2 Extracting2
Decryption1
Embedding3 Extracting3
Decryption2 System
Sender Recipient
Bilangan prima di distribusikan dengan cara yang berbeda dengan cara pengiriman pesan,
seperti interaksi langsung antar sender dengan recipient atau dengan atau dengan pengiriman
melalui fedex. Bilangan prima yang di sepakati dapat di gunakan terus menerus dalam
penbangkit kunci enkripsi dan dekripsi selama tidak lebih kecil dari panjang pesan yang akan
di enkripsi. User dapat menggunakan proses Generate prime untuk membantu mencari
bilangan prima yang dibutuhkan.
Proses yang dilakuan sender yaitu Generate Prime, Generate Key A, Encryption1,
Embedding1, Extracting2, Decryption1, Embedding3. Sedangkan recipient melakukan
proses Extracting1, Generate Key B, encryption2, Embedding2, Extracting3, Decryption2.
Pada proses Generate Prime nilai bilangan prima akan disimbolkan sebagai (p), pada proses
Generate Key A, kunci enkripsi akan disimbolkan sebagai (eA) dan kunci dekripsi
disimbolkan sebagai (dA), sedangkan pada Generate Key B, kunci enkripsi disimbolkan
sebagai (eB) dan kunci dekripsi disimbolkan sebagai (dB).
Use Case diagram sistem ini dapat dilihatt pada gambar 3.2
Sender System
Memilih menu Start Menampilkan halaman
enkrip1 Memilih atau
menginput langsung Plaintext
Mengeksekusi tombol Generate
Membangkitkan dan menampilkan bilangan
prima
Melihat bilangan prima p
Menampilkan Plaintext 3.1.3.1 Spesifikasi Use Case
Spesifikasi Use Case Generate Prime dapat dilihat pada Tabel 3.1
Tabel 3.1 Spesifikasi Use Case Generate Prime
Name Generate Prime
Actors Sender
Trigger Sender memilih menu Start
Preconditions Sender memilih atau menginput langsung Plaintext
Postconditions Sender mendapatkan nilai bilangan prima p
Success Scenario 1. Sender memilih menu Start
2. Sistem menampilkan halaman enkripsi1
3. Sender memasukkan data Plaintext
4. Sender mengeksekusi tombol generate
5. Sistem membangkitkan bilangan prima dan menampilkan bilangan
prima p
6. Sender dapat melihat bilangan prima p
Alternative Flow -
Activity Diagram untuk Generate Prime dapat dilihat pada Gambar 3.3
Sender System
Memiliki bilangan prima p
Mengeksekusi tombol Generate
Membangkitkan dan menampilkan kunci enkripsi eA dan kunci
dekripsi dA
Melihat nilai eA dan dA
Spesifikasi Use Case Generate Key A dapat dilihat pada table 3.2
Tabel 3.2 Spesifikasi Use Case untuk Generate Key A
Name Generate Key A
Actors Sender
Trigger Sender memiliki bilangan prima p
Preconditions Sender mengeksekusi tombol Generate
Postconditions Sender mendapatkan nilai kunci Enkripsi eA dan nilai kunci Dekripsi dA
Success Scenario 1. Sender memiliki bilangan prima p
2. Sender mengeksekusi tombol generate
3. Sistem membangkitkan dan menampilkan kunci enkripsi eA dan
kunci dekripsi dA
4. Sender dapat melihat nilai eA dan dA
Alternative Flow -
Activity Diagram untuk Generate Key A dapat dilihat pada Gambar 3.4
Sender System
Memiliki Plaintext, bilangan prima p, kunci
enkripsi eA, dan kunci dekripsi dA
Mengeksekusi tombol Enkripsi1
Melakukan proses Enkrip
Mendapatkan Ciphertext1
Spesifikasi Use Case Encryption1 dapat dilihat pada table 3.3
Tabel 3.3 Spesifikasi Use Case untuk Encryption1
Name Encryption1
Actors Sender
Trigger Sender memiliki Plaintext, bilangan prima p, kunci enkripsi eA dan kunci
dekripsi dA
Preconditions Sender mengeksekusi tombol Enkripsi1
Postconditions Sender mendapatkan Ciphertext1
Success Scenario 1. Sender memiliki Plaintext, bilangan prima p, kunci enkripsi eA dan
kunci dekripsi dA
2. Sender mengeksekusi tombol Enkripsi1
3. Sistem melakukan proses Enkrip
4. Sender mendapatkan Ciphertext1
Alternative Flow -
Activity Diagram untuk Encryption1 dapat dilihat pada Gambar 3.5
Sender System
Spesifikasi Use Case Embedding1 dapat dilihat pada Tabel 3.4
Tabel 3.4 Spesifikasi Use Case untuk Embedding1
Name Embedding1
Actors Sender
Trigger Sender memiliki Ciphertext1 yang akan di embed
Preconditions Sender telah memilih gambar awal sebagai media penampung
Ciphertext1
Postconditions Sender mendapatkan gambar Embeded1
Success Scenario 1. Sender memilih Ciphertext1 yang akan di Embed
2. Sistem menampilkan Ciphertext1
3. Sender memilih gambar awal
4. Sistem menampilkan gambar awal
5. Sender mengeksekusi tombol embed1
6. Sistem melakukan proses Embedding
7. Sender mendapatkan gambar Embeded1
8. Sistem menampilkan gambar Embeded1
9. Sender melihat gambar Embeded1
Alternative Flow -
Activity Diagram untuk Embedding1 dapat dilihat pada Gambar 3.6
Recipient System
Memilih gambar Embeded1
Mengeksekusi tombol extract1
Mendapatkan Ciphertext1
Menampilkan gambar Embeded1
Melakukan proses Extracting Spesifikasi Use Case Extracting1 dapat dilihat pada Table 3.5
Tabel 3.5 Spesifikasi Use Case untuk Extracting1
Name Extracting1
Actors Recipient
Trigger Recipient menerima gambar Embeded1
Preconditions Recipient telah memilih gambar Embeded1 untuk di extract
Postconditions Recipient mendapatkan Ciphertext1
Success Scenario 1. Recipient memilih gambar Embeded1
2. Sistem menampilkan gambar Embeded1
3. Recipient mengeksekusi tombol Extract1
4. Sistem melakukan proses Extract
5. Recipient mendapatkan Ciphertext1
Alternative Flow -
Activity Diagram untuk Extracting1 dapat dilihat pada Gambar 3.7
Recipient System
Memiliki bilangan prima p
Mengeksekusi tombol Generate
Membangkitkan dan menampilkan kunci enkripsi eB dan kunci
dekripsi dB
Melihat nilai eB dan dB
Spesifikasi Use Case Generate key B dapat dilihat pada Table 3.6
Tabel 3.6 Spesifikasi Use Case untuk Generate Key B
Name Generate Key B
Actors Recipient
Trigger Recipient telah menginput bilangan prima p
Preconditions Recipient mengeksekusi tombol Generate
Postconditions Recipient mendapatkan nilai kunci Enkripsi eB dan nilai kunci Dekripsi
dB
Success Scenario 1. Recipient menginput bilangan prima p
2. Recipient mengeksekusi tombol Generate
3. Sistem membangkitkan dan memanpilkan Kunci Enkripsi eB dan
Kunci Dekripsi dB
4. Recipient dapat melihat nilai eB dan dB
Alternative Flow -
Activity Diagram untuk Generate Key B dapat dilihat pada Gambar 3.8
Recipient System
Memiliki Ciphertext1, bilangan prima p, kunci
enkripsi eB, dan kunci dekripsi dB
Mengeksekusi tombol Enkripsi2
Melakukan proses Enkrip
Mendapatkan Ciphertext2
Spesifikasi Use Case Encryption2 dapat dilihat pada table 3.7
Tabel 3.7 Spesifikasi Use Case untuk Encryption2
Name Encryption2
Actors Recipient
Trigger Recipient memiliki Ciphertext1, bilangan prima p, kunci enkripsi eB dan
kunci dekripsi dB
Preconditions Recipient mengeksekusi tombol Enkripsi2
Postconditions Recipient mendapatkan Ciphertext2
Success Scenario 1. Recipient memiliki Ciphertext1, bilangan prima p, kunci enkripsi eB
dan kunci dekripsi dB
2. Recipient mengeksekusi tombol Enkripsi2
3. Sistem melakukan proses Enkrip
4. Recipient mendapatkan Ciphertext2
Alternative Flow -
Activity Diagram untuk Encryption2 dapat dilihat pada Gambar 3.9
Recipient System
Spesifikasi Use Case Embedding2 dapat dilihat pada Tabel 3.8
Tabel 3.8 Spesifikasi Use Case untuk Embedding2
Name Embedding2
Actors Recipient
Trigger Recipient memiliki Ciphertext2 yang akan di embed
Preconditions Recipient telah memilih gambar Embeded1 sebagai media penampung
Ciphertext2
Postconditions Recipient mendapatkan gambar Embeded2
Success Scenario 1. Recipient memilih Ciphertext2 yang akan di Embed
2. Sistem menampilkan Ciphertext2
3. Recipient memilih gambar Embeded1
4. Sistem menampilkan gambar Embeded1
5. Recipient mengeksekusi tombol embed2
6. Sistem melakukan proses Embedding
7. Recipient mendapatkan gambar Embeded2
8. Sistem menampilkan gambar Embeded2
9. Recipient melihat gambar Embeded2
Alternative Flow -
Activity Diagram untuk Embedding2 dapat dilihat pada Gambar 3.10
Sender System
Memilih gambar Embeded2
Mengeksekusi tombol extract2
Mendapatkan Ciphertext2
Menampilkan gambar Embeded2
Melakukan proses Extracting Spesifikasi Use Case Extracting2 dapat dilihat pada Table 3.9
Tabel 3.9 Spesifikasi Use Case untuk Extracting2
Name Extracting2
Actors Sender
Trigger Sender menerima gambar Embeded2
Preconditions Sender telah memilih gambar Embeded2 untuk di extract
Postconditions Sender mendapatkan Ciphertext2
Success Scenario 1. Sender memilih gambar Embeded2
2. Sistem menampilkan gambar Embeded2
3. Sender mengeksekusi tombol Extract2
4. Sistem melakukan proses Extract
5. Sender mendapatkan Ciphertext2
Alternative Flow -
Activity Diagram untuk Extracting2 dapat dilihat pada Gambar 3.11
Sender System
Memilih Ciphertext2
Menginput Kunci dekripsi dA
Mendapatkan Ciphertext3
Menampilkan Ciphertext2
Melakukan proses Dekripsi Mengeksekusi tombol
Dekrip1
Spesifikasi Use Case Decryption1 dapat dilihat pada Table 3.10
Tabel 3.10 Spesifikasi Use Case Decryption1
Name Decryption1
Actors Sender
Trigger Sender memiliki Ciphertext2
Preconditions Sender telah memilih Ciphertext2 untuk di dekripsi
Postconditions Sender mendapatkan Ciphertext3
Success Scenario 1. Sender memilih Ciphertext2
2. Sistem menampilkan Ciphertext2
3. Sender menginput kunci dekripsi dA
4. Sender mengeksekusi tombol Dekrip1
5. Sistem melakukan proses dekripsi
6. Sender mendapatkan Ciphertext3
Alternative Flow -
Activity Diagram untuk Decryption1 diliaht pada Gambar 3.12
Sender System
Spesifikasi Use Case Embedding3 dapat dilhat pada Tabel 3.11
Tabel 3.11 Spesifikasi Use Case Embedding3
Name Embedding3
Actors Sender
Trigger Sender memiliki Ciphertext3 yang akan di embed
Preconditions Sender telah memilih gambar Embeded2 sebagai media penampung
Ciphertext3
Postconditions Sender mendapatkan gambar Embeded3
Success Scenario 1. Sender memilih Ciphertext3 yang akan di Embed
2. Sistem menampilkan Ciphertext3
3. Sender memilih gambar Embeded2
4. Sistem menampilkan gambar Embeded2
5. Sender mengeksekusi tombol embed3
6. Sistem melakukan proses Embedding
7. Sender mendapatkan gambar Embeded3
8. Sistem menampilkan gambar Embeded3
9. Sender melihat gambar Embeded3
Alternative Flow -
Activity Diagram untuk Embedding3 diliaht pada Gambar 3.13
Recipient System
Memilih gambar Embeded3
Mengeksekusi tombol Extract3
Mendapatkan Ciphertext3
Menampilkan gambar Embeded3
Melakukan proses Extracting Spesifikasi Use Case Extracting3 dapat dilhat pada Tabel 3.12
Tabel 3.12 Spesifikasi Use Case Extracting3
Name Extracting3
Actors Recipient
Trigger Recipient menerima gambar Embeded3
Preconditions Recipient telah memilih gambar Embeded3 untuk di extract
Postconditions Recipient mendapatkan Ciphertext3
Success Scenario 1. Recipient memilih gambar Embeded3
2. Sistem menampilkan gambar Embeded3
3. Recipient mengeksekusi tombol Extract3
4. Sistem melakukan proses Extract
5. Recipient mendapatkan Ciphertext3
Alternative Flow -
Activity Diagram untuk Extracting3 diliaht pada Gambar 3.14
Recipient System
Memilih Ciphertext3
Menginput Kunci dekripsi db
Mendapatkan Plaintext
Menampilkan Ciphertext3
Melakukan proses Dekripsi Mengeksekusi tombol
Dekrip2
Menampilkan Plaintext
Melihat plaintext
Spesifikasi Use Case Decryption2 dapat dilihat pada Table 3.13
Tabel 3.13 Spesifikasi Use Case Decryption2
Name Decryption2
Actors Recipient
Trigger Recipient memiliki Ciphertext3
Preconditions Recipient telah memilih Ciphertext3 untuk di dekripsi
Postconditions Recipient mendapatkan Plaintext
Success Scenario 1. Recipient memilih Ciphertext3
2. Sistem menampilkan Ciphertext3
3. Recipient menginput kunci dekripsi db
4. Recipient mengeksekusi tombol Dekrip2
5. Sistem melakukan proses dekripsi
6. Recipient mendapatkan Plaintext
7. Sistem menampilkan Plaintext
8. Recipient melihat Plaintext
Alternative Flow -
Activity Diagram untuk Decryption2 diliaht pada Gambar 3.15
3.1.4 Pseudocode
Pseudocode adalah kode atau bentuk penulisan algoritma dengan struktur pemograman yang
sederhana dan dapat dimengerti manusia sehingga memudahkan dalam memahami suatu
algoritma.
3.1.4.1 Pseudocode Proses Generate Prime
Berikut merupakan Pseudocode Generate Prime
Proses Generate Prime dimulai dengan mendapatkan bilangan acak p dari panjang
karakter hingga 25000. Kemudian hitung nilai b dan m, lalu bilangan acak di periksa dengan
fungsi test. Jika hasil pemeriksaan adalah true maka bilangan acak p merupakan bilangan
prima.
3.1.4.2 Pseudocode Proses Rabin Miller
Berikut merupakan Pseudocode Rabin Miller
Proses rabinmiller dimulai dengan mencari bilangan acak a yang lebih kecil dari p.
kemudian menghitung z. selanjutnya dengan mengikuti langkah-langkah pada metode
pengujian bilangan prima Rabin Miller.
3.1.4.3 Pseudocode Proses Euclidean GCD
Berikut merupakan Pseudocode Euclidean GCD
Proses Euclidean GCD digunakan saat mencari kunci enkripsi. untuk mencari relatif
prima dari p -1.
3.1.4.4 Pseudocode Proses Generate Kunci Enkripsi
Berikut merupakan pseudocode proses Generate Kunci Enkripsi
Proses Generate Kunci Enkripsi dilakukan dengan mencari relative prima dari p – 1
menggunakan metode Euclidean GCD.
3.1.4.5 Pseudocode Proses Generate Kunci Dekripsi
Berikut merupakan pseudocode proses Generate Kunci Dekripsi
Proses Generate Kunci Dekripsi dilakukan dengan mencari invers modulo dari kunci
enkripsi eA jika di modulokan dengan p – 1.
3.1.4.6 Pseudocode Proses Enkripsi
Berikut merupakan pseudocode proses enkripsi
Proses enkripsi dilakukan setelah tedapat plain text, bilangan prima p, kunci enkripsi
ea. Proses enkripsi dilakukan melalui perhitungan C = meA mod p dimana m adalah nilai ascii dari karakter di plain text. Hasil perhitungan akan dimasukkan kembali kedalam array untuk
dapat dip roses lebih lanjut.
3.1.4.7 Pseudocode Proses Dekripsi
Berikut merupakan pseudocode proses dekripsi
Proses dekripsi dilakukan dengan melakukan perhitungan C = mdA mod p dimana m merupakan nilai ascii pada karakter di plain text yang telah di enkripsi. Hasil perhitungan
akan dimasukkan kembali kedalam array untuk dapat dip roses lebih lanjut.
ea = kunci enkripsi prime = bilangan prima
arrayint[] = ascii tiap karakter dari plain text for (i = 0; i <= arrayint.lenght -1; i++)
e = ModPow(arrayint[i], key, prime) arrayint[i] = e
return arrayint
da = kunci dekripsi prime = bilangan prima
enkripted[] = cipher text dalam bentuk array for (i = 0; i <= enkripted.lenght -1; i++)
e = ModPow(enkripted[i], key, prime) arrayint[i] = e
3.1.4.8 Pseudocode Proses Embedding
Berikut merupakan pseudocode proses Embedding
Pada proses embedding perlu diketahui nilai biner dari cipher text dan nilai biner dari
nilai RGB pixel tempat penyisipan. Proses akan mengambil 1 digit biner dari cipher text
kemudian menyisipkannya dinilai biner RGB. Digit penyisipan tergantung warna dari nilai
RGB yang menjadi tempat penyisipan, apabila nilai R maka akan berada pada digit ke-8, bila
nilai G, maka akan berada pada digit ke-7, bila nilai B maka akan berada pada digit ke 6.
Proses akan terus berulang sampai semua pixel diproses. Apabila digit yang mau disisipkan
telah habis maka proses akan mengembalikan nilai awal dari nilai RGB.
Binertexta[] = array dari cipher text dalam bentuk biner q = 0
r = 0
rgb = warna yang akan disisipkan
binaryawal = nilai binary dari nilai rgb dari pixel ulang:
For i = q; binertexta[r].lenght; i++ d = binertexta[r].substring(i,1)
// d = nilai dari digit biner pada yang akan disisipkan jika rgb == r //jika binerawal dari nilai Red
g = replacebit(binaryawal, 8, d)
/*replacebit digunakan untuk menggantikan digit ke 8 pada biner awal dengan d*/
q = q +1
else jika rgb == g //jika binerawal dari nilai blue g = replacebit(binaryawal, 7, d)
/*replacebit digunakan untuk menggantikan digit ke 7 pada biner awal dengan d*/
q = q +1 else
g = replacebit(binaryawal, 6, d)
/*replacebit digunakan untuk menggantikan digit ke 6 pada biner awal dengan d*/
q = q +1 return g
if r == binertexta.length -1 return binaryawal q = 0
r++
3.1.4.8 Pseudocode Proses Extracting
Berikut merupakan pseudocode proses extracting
Proses Extracting dilakukan dengan mengambil satu digit biner dari nilai RGB pixel,
tempat pengambilam tergantng pada warna dari nilai RGB yang menjadi tempat pengambil,
apabila nilai R maka tempat pengambilan pada digit ke 8, bila nilai G maka tempat
pengambilan pada digit ke 7, bila nilai B maka tempat pengambilan pada digit ke 6, proses
akan diulang sampai semua digit dari pixel di ambil.
binary = nilai biner dari nilai rgb dari pixel rgb = warna yang akan diekstrak nilainya
jika rgb == r
g = binary.substring(7,1) return g;
else jika rgb == g
g = binary.substring(6,1) return g;
else
Start 3.1.5 Flowchart Sistem
Flowchart keseluruhan sistem dapat dilihat pada Gambar 3.16
Gambar 3.16 Flowchart Keseluruhan Sistem
Pada Gambar 3.16 digambarkan bahwa sistem yang dibuat akan dapat melakukan
enkripsi dan dekripsi pesan menggunakan algoritma kriptografi Massey Omura serta dapat
melakukan embedding dan extracting dengan menggunakan algoritma steganografi Least
Significant Bit modifikasi tempat penyisipan. Pada algoritma Massey Omura digunakan
metode Three Pass Protocol yang membuat terjadinya proses pengiriman seperti yang
ditunjukkan pada kotak proses berwarna abu-abu. Algoritma Massey Omura mencakup
proses Generate prime, Generate Key A, Encryption 1, Generate Key B, Encryption 2,
Decryption 1, Decryption 2. Algoritma Least Significant Bit modifikasi tempat penyisipan
mencakup proses Embedding 1, Extracting 1, Embedding 2, Extracting 2, Embedding 3,
Start
Random nilai p > plain text Length; b = 0;
b++; m = (p – 1) / pow(2, b);
If m mod 2 = 0
If
Rabinmillertest (p, b, m) = true
Output p
End
True
False
True
False Input
Plain text 3.1.5.1 Flowchart Generate Prime
Flowchart proses Generate Prime dapat dilihat pada Gambar 3.17
Gambar 3.17 Flowchart Generate Prime
Pada Gambar 3.17 mengambarkan proses Generate Prime. Bilangan prima yang dihasilkan
harus memenuhi syarat p > jumlah karaktet pada plain text dan harus diuji menggunakan
Start
Random 2 < eA < p-1 Input
p
A = GCD((p – 1), eA)
If a != 1
dA = eA-1 (mod p – 1)
Output eA, dA
True
False
End
3.1.5.2 Flowchart Generate Key A (Sender)
Flowchart proses Generate Key A dapat dilihat pada Gambar 3.18
Gambar 3.18 Flowchart Generate Key A
Pada Gambar 3.18 menggambarkan proses Generate kunci enkripsi (eA) dan kunci dekripsi
(dA). Dimana proses dimulai dengan memasukkan bilangan prima (p) kemudian mencari
nilai eA secara acak dengan batasan 2 < eA < p-1 selanjutnya diuji apakah eA merupakan
relaif prima dari p – 1 (GCD(p -1, eA) = 1) jika tidak maka nilai eA akan dicari secara acak
kembali dan diuji kembali, jika ya maka nilai dA akan di hitung dimana dA merupakan invers
modulo dari eA jika dimodulokan dengan p – 1. Kemudian akan menampilkan nilai eA dan
Start
Input p; eA; Plaintext
m = konversi Plaintext ke ASCII
C1 = meA mod p 3.1.5.3 Flowchart Encryption1 (Sender)
Flowchart proses enkripsi1 dapat dilihat pada Gambar 3.19
Gambar 3.19 Flowchart Encryption 1
Pada Gambar 3.19 menggambarkan proses Encryption 1 yang dilakukan oleh sender, dimulai
dengan input p = bilangan prima, eA = kunci enkripsi, plaintext = text yang akan dienkripsi.
Plaintext akan di konversi untuk mendapatkan nilai ASCII karakter, kemudian dihitung,
sehingga mendapatkan c1 = Ciphertext1.
3.1.5.4 Flowchart Embedding1 (Sender)
Flowchart proses Embedding1 dapat dilihat pada Gambar 3.20
Gambar 3.20 Flowchart Embedding1
Pada Gambar 3.20 menggambarkan proses embedding1 yang dilakukan oleh Sender dimulai
Start
Input Embeded1.bmp
Baca nilai pixel pada Embeded1.bmp
Ambil Ciphertext1 pada gambar Embeded1.bmp
sesuai dengan metode LSB modifikasi tempat
Output Ciphertext1
End
Selanjutnya dilakukan penyisipan dengan metode LSB modifikasi tempat penyisipan,
penyisipan dilakukan pada bit ke-8 nilai biner RED, pada bit ke-7 nilai biner GREEN, pada
bit ke-6 nilai biner BLUE, kemudian hasil penyisipan dipetakan menjadi image baru lalu
disimpan dengan nama “Embeded1.bmp”.
3.1.5.5 Flowchart Extracting1 (Sender)
Flowchart proses Extracting1 dapat dilihat pada Gambar 3.21
Gambar 3.21 Flowchart Extracting1
Pada Gambar 3.21 menggambarkan proses Extracting1 yang dilakukan oleh Recipient setelah
menerima gambar dari Sender. Proses Extracting1 dimulai dengan input gambar
“Embeded1.bmp”, kemudian dilakukan pengambilan Ciphertext1 dengan metode LSB
modifikasi tempat penyisipan, yang dimana tempat pengambilan nilai ada dibit ke-8 nilai
Start
Random 2 < eB < p-1 Input
p
A = GCD((p – 1), eB)
If a != 1
dB = eB-1 (mod p – 1)
Output eB, dB
True
False
End
3.1.5.6 Flowchart Generate Key B (Recipient)
Flowchart proses Generate Key B dapat dilihat pada Gambar 3.22
Gambar 3.22 Flowchart Generate Key B
Pada Gambar 3.22 menggambarkan proses Generate kunci enkripsi (eB) dan kunci dekripsi
(dB). Dimana proses dimulai dengan memasukkan bilangan prima (p) kemudian mencari
nilai eB secara acak dengan batasan 2 < eB < p-1 selanjutnya di uji apakah eB merupakan
relaif prima dari p – 1 (GCD(p -1, eB) = 1) jika tidak maka nilai eB akan dicari secara acak
kembali dan diuji kembali, jika ya maka nilai dB akan dihitung dimana dB merupakan invers
modulo dari eB jika dimodulokan dengan p – 1. Kemudian akan menampilkan nilai eB dan
Start 3.1.5.7 Flowchart Encryption2 (Recipient)
Flowchart proses Encryption2 dapat dilihat pada Gambar 3.23
Gambar 3.23 Flowchart Encryption2
Pada Gambar 3.23 menggambarkan proses Encryption2 yang dilakukan oleh Recipient
dimulai dengan input bilangan prima(p), kunci enkripsi(eB), dan Ciphertext1. Kemudian
dilakukan perhitungan sehingga mendapatkan Ciphertext2(C2).
3.1.5.8 Flowchart Embedding2 (Recipient)
Flowchart proses Embedding2 dapat dilihat pada Gambar 3.24
Gambar 3.24 Flowchart Embedding2
Pada Gambar 3.24 menggambarkan proses Embedding2 yang dilakukan oleh Recipient yang
dimulai dengan input Ciphertext2 dan gambar “Embeded1.bmp” kemudian dilakukan
Start
Input Embeded2.bmp
Baca nilai pixel pada Embeded2.bmp
LSB modifikasi tempat penyisipan, penyisipan dilakukan pada bit ke-8 nilai biner RED, pada
bit ke-7 nilai biner GREEN, pada bit ke-6 nilai biner BLUE, kemudian dipetakan menjadi
gambar baru lalu di simpan dengan nama “Embeded2.bmp”.
3.1.5.9 Flowchart Extracting2 (Sender)
Flowchart proses Extracting2 dapat dilihat pada Gambar 3.25
Gambar 3.25 Flowchart Extracting2
Pada Gambar 3.25 menggambarkan proses Extracting2 yang dilakukan oleh Sender setelah
menerima gambar “Embeded2.bmp” dari Recipient. Proses Extracting2 dimulai dengan input
gambar “Embeded2.bmp”, kemudian dilakukan pengambilan Ciphertext2 dengan metode
LSB modifikasi tempat penyisipan, yang dimana tempat pengambilan nilai ada dibit ke 8
nilai biner RED, bit ke 7 nilai biner GREEN, bit ke 6 nilai biner Blue.
3.1.5.10Flowchart Decryption1 (Sender)
Flowchart proses Decrypion1 dapat dilihat pada Gambar 3.26
Start
Baca nilai pixel pada Embeded3.bmp
Pada Gambar 3.26 menggambarkan proses Decryption1 yang dilakukan oleh Sender dimulai
dengan input bilangan prima (p), Ciphertext2 (C2), dan kunci dekripsi (dA), kemudian
dilakukan perhitungan sehingga mendapatkan hasil Ciphertext3 (C3).
3.1.5.11 Flowchart Embedding3 (Sender)
Flowchart proses Embedding3 dapat dilihat pada Gambar 3.27
Gambar 3.27 Flowchart Embedding3
Pada Gambar 3.27 menggambarkan proses Embedding3 yang dilakukan oleh Sender yang
dimulai dengan input Ciphertext3 dan gambar “Embeded2.bmp” kemudian dilakukan
pembacaan nilai pixel pada gambar. Selanjutnya dilakukan proses penyisipan dengan metode
LSB modifikasi tempat penyisipan, penyisipan dilakukan pada bit ke-8 nilai biner RED, pada
bit ke-7 nilai biner GREEN, pada bit ke-6 nilai biner BLUE, kemudian dipetakan menjadi
gambar baru lalu di simpan dengan nama “Embeded3.bmp”.
3.1.5.12 Flowchart Extracting3 (Recipient)
Flowchart proses Extracting3 dapat dilihat pada Gambar 3.28
Start
Input p; Ciphertext3;
dB;
Plaintext = C3dB mod p
Output Plaintext
End
Pada Gambar 3.29 menggambarkan proses Extracting3 yang dilakukan oleh Recipient setelah
menerima gambar “Embeded3.bmp” dari Sender. Proses Extracting3 dimulai dengan input
gambar “Embeded3.bmp”, kemudian dilakukan pengambilan Ciphertext3 dengan metode
LSB modifikasi tempat penyisipan, yang dimana tempat pengambilan nilai ada di bit ke 8
nilai biner RED, bit ke 7 nilai biner GREEN, bit ke 6 nilai biner Blue.
3.1.5.13 Flowchart Decryption2 (Recipient)
Flowchart proses Decryption2 dapat dilihat pada Gambar 3.29
Gambar 3.29 Flowchart decryption2
Pada Gambar 3.29 menggambarkan proses Decryption2 yang dilakukan oleh Recipient
dimulai dengan input bilangan prima (p), Ciphertext3 (C3), dan kunci dekripsi (dB),
Home
About Help Start Exit
Gambar depan home 3.2 Perancangan sistem
Sistem yang akan dibangun menggunakan Bahasa Pemograman Microsoft Visual Studio
2012 (C#). Rancangan sistem disesuaikan dengan kebutuhan yang mendukung Algoritma
Kriptografi Massey Omura dan Algoritma Steganografi Least Significan Bit modifikasi
penyisipan tempat. Terdiri dari 13 Form yaitu Form Home, Help, About, Enkrip1, Embed1,
Extract1, Enkrip2, Embed2, Extract2, Dekrip1, Embed3, Extract3, dan Dekrip2.
3.2.1 Home
Pada Form Home dirancang sehingga menampilkan gambar yang memiliki keterangan judul
sistem yang dibuat Form ini terdiri dari 4 sub menu yaitu About, Help, Start, Exit. Form
home dibuat dengan menggunakan mdi parent dan Form lainnya merupakan mdi child.
Tampilan rancangan Form Home ditunjukkan pada Gambar 3.30
Gambar 3.30 Rancangan Form Home
3.2.2 About
Form About akan muncul jika user memilih sub menu About. Form ini akan menampilkan
judul sistem dan inFormasi pembuat aplikasi. Terdapat juga Button Close untuk menutup
Close About
Tentang Pembuat Aplikasi
Close Help
Petunjuk peggunaan sistem
Nama proses
Sender Recipient
1. Enkrip 1
2. Embed 1
3. Extract 1
4. Enkrip2
. . . .
Petunjuk Penggunaan
1. 2. 3.
Tampilan rancangan Form About ditunjukkan pada Gambar 3.31
Gambar 3.31 Rancangan Form About
3.2.3 Help
Form Help akan muncul jika memilih sub menu Help. Form ini akan menampilkan petunjuk
penggunaan sistem. User dapat memilih proses yang ingin di tampilkan petunjuk
penggunaannya dengan menekan tombol dengan nama proses yang diinginkan.
Tampilan rancangan Form Help ditunjukkan pada Gambar 3.32
Enkrip1 (sender)
Open File plain text Next
1
Komponen yang digunakan pada Form Help berdasarkan Gambar 3.32 terdiri dari Groupbox
untuk memisahkan Nama Proses dengan Petunjuk Penggunaan, Button pada Groupbox Nama
Proses untuk memilih proses yang akan ditampilkan petunjuk penggunaannya dan Button
Close untuk menutup Form Help.
3.2.4 Enkrip1 (Sender)
Form Enkrip1 akan muncul jika user memilih sub menu Start yang menandakan bahwa user
akan menuju proses awal dari sistem.
Tampilan rancangan Form Enkrip1 ditunjukkan pada Gambar 3.33
Gambar 3.33 Rancangan Form Enkrip1
Komponen yang digunakan untuk pada Form Enkrip1 berdasarkan Gambar 3.33 terdiri dari:
1. TextBox (Plain Text) berfungsi untuk menampilkan Plain text yang akan
diEnkripsi.
2. Button (Open File plain text) berfungsi untuk membuka file teks dengan Format
*.txt apabila tidak memasukkan teks secara langsung.
3. TextBox (bilangan prima) berfungsi untuk menampilkan bilangan prima yang
telah dibangkitkan.
4. Button (Generate) berfungsi untuk membangkitkan bilangan prima.
5. Label (kunci enkripsi 1) berfungsi untuk menampilkan kunci enkripsi 1 yang telah
Embed1 (Sender)
Cipher Text 1
Gambar awal
Waktu Embed
Open File cipher text 1
Open File Gambar awal
6. Label (kunci dekripsi 1) berfungsi untuk menampilkan kunci dekripsi 1 yang telah
dibangkitkkan.
7. Button (Generate) berfungsi untuk membangkitkan kunci enkripsi 1 dan kunci
dekripsi 1.
8. Button (Enkripsi 1) berfungsi untuk melakukan proses enkripsi 1 oleh Sender.
9. Label (Waktu Enkrip) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses enkripsi 1.
10.Button (Next) berfungsi untuk menuju ke From selanjutnya yaitu Embed1.
3.2.5 Embed1 (Sender)
Form Embed1 akan muncul jika user memilih Button Next pada Form Enkrip1.
Tampilan rancangan Form Embed1 ditunjukkan pada Gambar 3.34
Gambar 3.34 Rancangan Form Embed1
Komponen yang digunakan untuk pada Form Embed1 berdasarkan Gambar 3.34 terdiri dari:
1. TextBox (Cipher Text 1) berfungsi untuk menampilkan Cipher Text 1.
2. Button (Open File cipher text 1) berfungsi untuk membuka file teks Cipher Text 1
yang memiliki Format *.txt.
3. PictureBox (Gambar awal) berfungsi untuk menampilkan gambar awal untuk
extract1 (Recipient)
memiliki Format *bmp sebagai gambar awal untuk cover image.
5. Button (Sisip 1) berfungsi untuk memulai proses Embedding 1 oleh Sender.
6. Label (Waktu Embed) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses Embedding 1.
7. Groupbox (image Info) terdiri dari Label (Resolution) yang menampilkan height
dan Widht dari gambar awal, dan Label (Size) yang menampilkan size dari gambar
awal.
8. PictureBox (Gambar Hasil Sisip 1) berfungsi untuk menampilkan gambar hasil
Proses Embedding 1.
9. Button (Back) berfungsi untuk kembali ke Form sebelumnya yaitu Form Enkrip1.
10.Button (Next) berfungsi untuk menuju ke Form selanjutnya yaitu Form Extract1.
3.2.6 Extract1 (Recipient)
Form Extract1 akan muncul jika user memilih Button Next pada Form Embed1.
Tampilan rancangan Form Extract1 ditunjukkan pada Gambar 3.35
Gambar 3.35 Rancangan Form Extract1
Komponen yang digunakan untuk pada Form Extract1 berdasarkan Gambar 3.35 terdiri dari:
1. PictureBox (Gambar Embeded1) berfungsi untuk menampilkan gambar
Enkrip2 (Recipient)
Open Cipher text 1 Back Next
1
2. Button (Open File Gambar) berfungsi untuk memasukkan gambar Embeded1
untuk diekstrak.
3. Button (Ekstrak 1) berfungsi untuk memulai proses Ekstrak 1.
4. Label (Waktu Ekstrak) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses Ekstrak 1.
5. GroupBox (Image Info) terdiri dari Label (Resolution) yang menampilkan height
dan Widht dari gambar Embeded1, dan Label (Size) yang menampilkan size dari
gambar Embeded 1.
6. TextBox (Text Hasil Ekstrak 1) berfungsi untuk menampilkan hasil dari proses
Ekstrak 1.
7. Button (Back) berfungsi untuk kembali ke Form sebelumnya yaitu Form Embed1.
8. Button (Next) berfungsi untuk menuju ke Form selanjutnya yaitu Form Enkrip2.
3.2.7 Enkrip2 (Recipient)
Form Enkrip2 akan muncul jika user memilih Button Next pada Form Extract1.
Tampilan rancangan Form Enkrip2 ditunjukkan pada Gambar 3.36
Gambar 3.36 Rancangan Form Enkrip2
Komponen yang digunakan untuk pada Form Enkrip2 berdasarkan Gambar 3.36 terdiri dari:
1. TextBox (Cipher Text 1) berfungsi untuk menampilkan Cipher text 1 yang akan
Embed2 (Recipient)
Cipher Text 2
Gambar Embeded1
Waktu Embed
Open File cipher text 2
Open File Gambar
2. Button (Open Cipher text 1) berfungsi untuk membuka file teks Cipher Text 1.
3. TextBox (bilangan prima) berfungsi untuk tempat memasukkan bilangan prima
yang telah dibangkitkan sebelumnya..
4. Label (kunci enkripsi 2) berfungsi untuk menampilkan kunci enkripsi 2 yang telah
dibangkitkan.
5. Label (kunci dekripsi 2) berfungsi untuk menampilkan kunci dekripsi 2 yang telah
di bangkitkkan.
6. Button (Generate) berfungsi untuk membangkitkan kunci enkripsi 2 dan kunci
dekripsi 2.
7. Button (Enkripsi 2) berfungsi untuk melakukan proses enkripsi 2 oleh Recipient.
8. Label (Waktu Enkrip) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses enkripsi 2.
9. Button (Back) berfungsi untuk kembali ke Form sebelumnya yaitu Form Extract1.
10.Button (Next) berfungsi untuk menuju ke Form selanjutnya yaitu Form Embed2.
3.2.8 Embed2 (Recipient)
Form Embed2 akan muncul jika user memilih Button Next pada Form Enkrip2.
Tampilan rancangan Form Embed2 ditunjukkan pada Gambar 3.37
Gambar 3.37 Rancangan Form Embed2
Komponen yang digunakan untuk pada Form Embed2 berdasarkan Gambar 3.37 terdiri dari:
extract2 (Sender)
2. Button (Open File cipher text 2) berfungsi untuk membuka file teks Cipher Text 2
yang memiliki Format *.txt.
3. PictureBox (Gambar Embeded1) berfungsi untuk menampilkan gambar
Embeded1 untuk cover image.
4. Button (Open File Gambar) berfungsi untuk membuka gambar Embeded1 yang
memiliki Format *bmp sebagai cover image.
5. Button (Sisip 2) berfungsi untuk memulai proses Embedding 2 oleh Recipient.
6. Label (Waktu Embed) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses Embedding 2.
7. Groupbox (image Info) terdiri dari Label (Resolution) yang menampilkan height
dan Widht dari gambar Embeded1, dan Label (Size) yang menampilkan size dari
gambar Embeded1.
8. PictureBox (Gambar Hasil Sisip 2) berfungsi untuk menampilkan gambar hasil
Proses Embedding 2.
9. Button (Back) berfungsi untuk kembali ke Form sebelumnya yaitu Form Enkrip2.
10.Button (Next) berfungsi untuk menuju ke Form selanjutnya yaitu Form Extract2.
3.2.9 Extract2 (Sender)
Form Extract2 akan muncul jika user memilih Button Next pada Form Embed2.
Tampilan rancangan Form Extract2 ditunjukkan pada Gambar 3.38
Gambar 3.38 Rancangan Form Extract2
Dekrip1 (Sender)
Cipher Text 2
Bilangan prima
Kunci dekripsi 1
Wakru Dekrip Dekripsi 1
Open Cipher Text 2 Back Next
1
2
3
4
5
6
7 8
1. PictureBox (Gambar Embeded2) berfungsi untuk menampilkan gambar
Embeded2 yang ingin diekstrak.
2. Button (Open File Gambar) berfungsi untuk memasukkan gambar Embeded2
untuk diekstrak.
3. Button (Ekstrak 2) berfungsi untuk memulai proses Ekstrak 2.
4. Label (Waktu Ekstrak) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses Ekstrak 2.
5. GroupBox (Image Info) terdiri dari Label (Resolution) yang menampilkan height
dan Widht dari gambar Embeded2, dan Label (Size) yang menampilkan size dari
gambar Embeded2.
6. TextBox (Text Hasil Ekstrak 2) berfungsi untuk menampilkan hasil dari proses
Ekstrak 2.
7. Button (Back) berfungsi untuk kembali ke Form sebelumnya yaitu Form Embed2.
8. Button (Next) berfungsi untuk menuju ke Form selanjutnya yaitu Form Dekrip1.
3.2.10 Dekrip1 (Sender)
Form Dekrip1 akan muncul jika user memilih Button Next pada Form Extract2.
Tampilan rancangan Form Dekrip1 ditunjukkan pada Gambar 3.39
Gambar 3.39 Rancangan Form Dekrip1
Embed3 (Sender)
Cipher Text 3
Gambar Embeded2
Waktu Embed
Open File cipher text 3
Open File Gambar
2. Button (Open Cipher text 2) berfungsi untuk membuka file teks Cipher Text 2.
3. TextBox (bilangan prima) berfungsi untuk tempat memasukkan bilangan prima
yang telah dibangkitkan sebelumnya..
4. TextBox (kunci dekripsi 1) berfungsi untuk Tempat memasukkan kunci dekripsi 1
yang telah di bangkitkkan.
5. Button (Dekripsi 1) berfungsi untuk melakukan proses Dekripsi 1 oleh Sender.
6. Label (Waktu Dekrip) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses Dekripsi 1.
7. Button (Back) berfungsi untuk kembali ke Form sebelumnya yaitu Form Extract2.
8. Button (Next) berfungsi untuk menuju ke Form selanjutnya yaitu Form Embed3.
3.2.11 Embed3 (Sender)
Form Embed3 akan muncul jika user memilih Button Next pada Form Dekrip1.
Tampilan rancangan Form Embed3 ditunjukkan pada Gambar 3.40
Gambar 3.40 Rancangan Form Embed3
1. TextBox (Cipher Text 3) berfungsi untuk menampilkan Cipher Text 3.
2. Button (Open File cipher text 3) berfungsi untuk membuka file teks Cipher Text 3
yang memiliki Format *.txt.
3. PictureBox (Gambar Embeded2) berfungsi untuk menampilkan gambar
Embeded2 untuk cover image.
4. Button (Open File Gambar) berfungsi untuk membuka gambar Embeded2 yang
memiliki Format *bmp sebagai cover image.
5. Button (Penyisipan 3) berfungsi untuk memulai proses Embedding 3 oleh Sender.
6. Label (Waktu Embed) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses Embedding 3.
7. Groupbox (image Info) terdiri dari Label (Resolution) yang menampilkan height
dan Widht dari gambar Embeded2, dan Label (Size) yang menampilkan size dari
gambar Embeded2.
8. PictureBox (Gambar Hasil Penyisipan 3) berfungsi untuk menampilkan gambar
hasil Proses Embedding 3.
9. Button (Back) berfungsi untuk kembali ke Form sebelumnya yaitu Form Dekrip1.
extract3 (Recipient)
3.2.12 Extract3 (Recipient)
Form Extract3 akan muncul jika user memilih Button Next pada Form Embed3.
Tampilan rancangan Form Extract3 ditunjukkan pada Gambar 3.41
Gambar 3.41 Rancangan Form Extract3
Komponen yang digunakan untuk pada Form Extract3 berdasarkan Gambar 3.41 terdiri dari:
1. PictureBox (Gambar Embeded3) berfungsi untuk menampilkan gambar
Embeded3 yang ingin diekstrak.
2. Button (Open File Gambar) berfungsi untuk memasukkan gambar Embeded3
untuk diekstrak.
3. Button (Ekstrak 3) berfungsi untuk memulai proses Ekstrak 3.
4. Label (Waktu Ekstrak) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses Ekstrak 3.
5. GroupBox (Image Info) terdiri dari Label (Resolution) yang menampilkan height
dan Widht dari gambar Embeded3, dan Label (Size) yang menampilkan size dari
gambar Embeded3.
6. TextBox (Text Hasil Ekstrak 3) berfungsi untuk menampilkan hasil dari proses
Ekstrak 3.
7. Button (Back) berfungsi untuk kembali ke Form sebelumnya yaitu Form Embed3.
Dekrip2 (Recipient)
Open Cipher Text 3 Back Finish
Plain Text
3.2.13 Dekrip2 (Recipient)
Form Dekrip2 akan muncul jika user memilih Button Next pada Form Extract3.
Tampilan rancangan Form Dekrip2 ditunjukkan pada Gambar 3.42
Gambar 3.42 Rancangan Form Dekrip2
Komponen yang digunakan untuk pada Form Dekrip2 berdasarkan Gambar 3.42 terdiri dari:
1. TextBox (Cipher Text 3) berfungsi untuk menampilkan Cipher text 3 yang akan
didekripsi.
2. Button (Open Cipher text 3) berfungsi untuk membuka file teks Cipher Text 3.
3. TextBox (bilangan prima) berfungsi untuk tempat memasukkan bilangan prima
yang telah dibangkitkan sebelumnya..
4. TextBox (kunci dekripsi 2) berfungsi untuk Tempat memasukkan kunci dekripsi 2
yang telah dibangkitkkan.
5. Button (Dekripsi 2) berfungsi untuk melakukan proses Dekripsi 2 oleh Recipient.
6. Label (Waktu Dekrip) berfungsi untuk menampilkan total waktu yang digunakan
untuk melakukan proses Dekripsi 2.
7. TextBox (Plain Text) berfungsi untuk menampilkan hasil proses Dekripsi 2.
8. Button (Back) berfungsi untuk kembali ke Form sebelumnya yaitu Form Extract3.
9. Button (Finish) berfungsi untuk Menutup aplikasi yang menandakan user telah
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi sistem
Implementasi sistem merupakan kelanjutan dari tahap perancangan. sistem yang dibangun ini
menggunakan bahasa pemograman Microsoft Visual Studio 2012 (C#). terdiri dari 13 Form
yaitu Form Home, Help, About, Enkrip1, Embed1, Extract1, Enkrip2, Embed2, Extract2,
Dekrip1, Embed3, Extract3, dan Dekrip2.
4.1.1 Home
pada saat dijalankan, Form Home akan muncul dan menampilkan keterangan judul sistem
yang dibuat, Form ini terdapat 4 sub menu yaitu About, Help, Start, Exit
Tampilan Form Home dapat dilihat pada Gambar 4.1
4.1.2 About
Form About akan muncul apabila User memilih sub menu About pada aplikasi. Form ini
menampilkan judul sistem dan informasi pembuat aplikasi.
Tampilan Form About dapat dilihat pada Gambar 4.2
Gambar 4.2 Form About
4.1.3 Help
Form Help akan muncul apabila user memilih sub menu Help pada aplikasi. pada Form ini
aplikasi akan menampilkan petunjuk penggunaan sistem, user dapat memilih proses yang
Tampilan Form Help dapat dilihat pada Gambar 4.3
Gambar 4.3 Form Help
4.1.4 Enkrip1
Form Enkrip1 akan muncul jika user memilih sub menu Start pada aplikasi. Pada Form ini
user harus memasukkan Plain Text, meng-generate bilangan prima, meng-generate kunci
enkripsi 1, dan kunci dekripsi 1 untuk dapat memulai proses enkripsi 1.
Tampilan Form Enkrip1 dapat dilihat pada Gambar 4.4
4.1.5 Embed1
Form Embed1 akan muncul setelah user menekan tombol Next pada Form Enkrip1. Pada
Form ini user harus memasukkan Cipher Text 1 dan gambar yang akan menjadi cover image,
untuk memulai proses Embed 1.
Tampilan Form Embed1 dapat dilihat pada gambar 4.5
Gambar 4.5 Form Embed1
4.1.6 Extract1
Form Extract1 akan muncul setelah user menekan tombol Next pada Form Embed1. pada
Tampilan Form Extract1 dapat dilihat pada Gambar 4.6
Gambar 4.6 Form Extract1
4.1.7 Enkrip2
Form Enkrip2 akan muncul setelah user menekan tombol Next pada Form Extract1. Pada
Form ini user harus memasukkan Cipher Text 1, memasukkan Bilangan prima yang sama,
dan meng-generate kunci enkripsi 2 dan kunci dekripsi 2, untuk dapat memulai proses
Enkripsi 2.
Tampilan Form Enkrip2 dapat dilihat pada Gambar 4.7
4.1.8 Embed2
Form Embed2 akan muncul setelah user menekan tombol Next pada Form Enkrip2. Pada
Form ini user harus memasukkan Cipher Text 2 dan gambar Embeded1 yang akan menjadi
cover image, untuk memulai proses Embed 2.
Tampilan Form Embed2 dapat dilihat pada gambar 4.8
Gambar 4.8 Form Embed2
4.1.9 Extract2
Form Extract2 akan muncul setelah user menekan tombol Next pada Form Embed2. pada
Tampilan Form Extract2 dapat dilihat Gambar 4.9
Gambar 4.9 Form Extract2
4.1.10 Dekrip1
Form Dekrip1 akan muncul setelah user menekan tombol Next pada Form Extract2. Pada
Form ini user harus memasukkan Cipher Text 2, memasukkan Bilangan prima yang sama,
dan memasukkan kunci dekripsi 1, untuk dapat memulai proses Dekripsi 1.
Tampilan Form Dekrip1 dapa dilihat pada Gambar 4.10
4.1.11 Embed3
Form Embed3 akan muncul setelah user menekan tombol Next pada Form Dekrip1. Pada
Form ini user harus memasukkan Cipher Text 3 dan gambar Embeded2 yang akan menjadi
cover image, untuk memulai proses Embed 3.
Tampilan Form Embed3 dapat dilihat pada gambar 4.11
Gambar 4.11 Form Embed3
4.1.12 Extract3
Form Extract3 akan muncul setelah user menekan tombol Next pada Form Embed3. pada
Tampilan Form Extract3 dapat dilihat Gambar 4.12
Gambar 4.12 Form Extract3
4.1.13 Dekrip2
Form Dekrip2 akan muncul setelah user menekan tombol Next pada Form Extract3. Pada
Form ini user harus memasukkan Cipher Text 3, memasukkan Bilangan prima yang sama,
dan memasukkan kunci dekripsi 2, untuk dapat memulai proses Dekripsi 2 yang
menghasilkan Plain Text.
Tampilan Form Dekrip2 dapat dilihat pada Gambar 4.13
4.2 Pengujian Sistem
Pengujian untuk sistem implementasi kriptografi Massey Omura dengan algoritma Least
Significant Bit (LSB) modifikasi penyisipan tempat, ini dilakukan untuk dapat
mendistribusikan pesan tanpa diketahui pihak lain dan mendapatkan pesan asli yang sesuai.
Pengujian ini dimulai dengan melakukan enkripsi pesan dan dilanjutkan dengan embedding
pada citra *.bmp kemudian dilanjutkan dengan proses extracting lalu proses dekripsi.
4.2.1 Pengujian Proses Enkrip1 (Sender)
Sebelum melakukan proses Enkrip1 dilakukan penginputan pesan yang akan didistribusikan
dengan menginputkan langsung pada TextBox Plain Text atau memilih pesan dari direktori
dengan cara mengeksekusi Button Open File Plain Text.
Pop-up Window Open File Plain Text ditunjukkan pada Gambar 4.14
Gambar 4.14 Pop-up Window Open File Plain Text
Hasil Plain Text yang dipilih dari direktori ditunjukkan pada Gambar 4.15
Gambar 4.15 Hasil Plain Text yang dipilih
Setelah dilakukan memasukkan plain text dilanjutkan dengan proses generate
bilangan prima dengan cara mengeksekusi Button generate pada bilangan prima. Bilangan
prima didapatkan secara random dan lebih besar dari panjang karakter pada Plain Text,
kemudian disepakati bersama oleh kedua belah pihak (Sender dan Recipient).
Hasil proses generate bilangan prima ditunjukkan pada gambar 4.16
Gambar 4.16 Hasil proses generate bilangan prima
Setelah didapatkan bilangan prima p = 311, dilanjutkan dengan melakukan generate
kunci enkripsi 1 dan kunci dekripsi 1. Kunci enkripsi 1 didapatkan secara random
berdasarkan relatif prima dari p. kunci dekripsi didapatkan dengan menghitung invers modulo
Hasil proses generate kunci enkripsi 1 dan kunci dekripsi 1 ditunjukkan pada
Gambar 4.17
Gambar 4.17 Hasil proses generate kunci enkripsi 1 dan kunci dekripsi 1
Setelah didapatkan nilai p, kunci enkripsi 1 eA = 57, kunci dekripsi 1 dA = 223,
langkah selanjutnya adalah mengeksekusi Button Enkripsi 1 yang melakukan proses enkripsi
algoritma Massey Omura yaitu terlebih dahulu melakukan konversi nilai setiap karakter
dengan tabel ASCII kemudian dilakukan enkripsi pesan dengan eA = 57, rumus perhitungan
C1 = meA mod p. dimana m adalah nilai ASCII dari tiap karakter Plain Text.
Tabel 4.1 Hasil enkripsi Cipher Text 1 untuk Plain Text “SEPTIAN”
Karakter C1 = meA mod p C1
S C1 = 8357 mod 311 224
E C1 = 6957 mod 311 266
P C1 = 8057 mod 311 135
T C1 = 8457 mod 311 160
I C1 = 7357 mod 311 104
A C1 = 6557 mod 311 94
N C1 = 7857 mod 311 166
Setelah didapat C1 = 224;266;135;160;104;94;166 maka akan disimpan pada Folder “Pengirim” yang di direktori file *.exe sistem berada dengan nama “Cipher1.txt” dan akan muncul DialogBox yang menandakan proses enkripsi selesai dan sistem akan menampilkan
total waktu dari proses Enkripsi 1. Selanjutnya mengeksekusi Button Next untuk proses
Tanda proses enkripsi selesai ditunjukkan pada Gambar 4.18
Gambar 4.18 Tanda proses enkripsi selesai
Direktori penyimpanan Cipher Text 1 C1 ditunjukkan pada Gambar 4.19
Gambar 4.19 Direktori penyimpanan Cipher Text 1
4.2.2 Pengujian proses Embed1 (Sender)
Pada proses Embed1 terlebih dahulu memasukkan file “Cipher1.txt” dengan Button Buka File
Cipher text 1 dan memasukkan Cover image dengan format *.bmp sebagai media penyisipan
Pop-up Window Buka File Cipher Text 1 ditunjukkan pada Gambar 4.20
Gambar 4.20 Pop-up Window Buka File Cipher Text 1
Pop-up Window Open File Gambar Awal ditunjukkan pada Gambar 4.21
Gambar 4.21 Pop-up Window Open File Gambar Awal
Setelah memilih image, maka picurebox akan menampilkan image yang dipilih
dengan dilengkapi Size image dan resolusi image (Width dan Height).
Hasil memasukan Cipher Text 1 dan Cover image ditunjukkan pada Gambar 4.22
Gambar 4.22 Hasil memasukan Cipher Text 1 dan Cover image
Selanjutnya dengan mengeksekusi Button Sisip 1 akan memulai proses penyisipan
Cipher Text 1 kedalam Cover image sehingga menghasilkan image Embeded1 dan sistem
menampilkan total waktu dari proses Embed 1.
Jika proses Embed 1 selesai, maka akan muncul DialogBox yang memberi informasi bahwa “sukses”. Hasil dari proses Embed 1 akan disimpan ke dalam Folder „Pengirim‟
dengan nama “Embeded1.bmp”. selanjutnya dengan mengeksekusi Button Next untuk ke
proses Extract1 (Recipient).
Hasil Embed 1 dan DialogBox ditunjukkan pada Gambar 4.23