• Tidak ada hasil yang ditemukan

Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Massey-Omura dan Algoritma Least Significant Bit (LSB) Modifikasi Tempat Penyisipan Dengan Cover Image Bitmap Untuk Keamanan Data Text"

Copied!
125
0
0

Teks penuh

(1)

LISTING PROGRAM

Kode Program Class Enkrip

(2)

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

(3)
(4)

int t = s;

(5)

gr.SetPixel(x, y, Color.FromArgb(na, nr, ng, nb));

Kode Program Class Ekstrak

using System;

(6)
(7)

{

Kode Program Class Kripto

(8)
(9)
(10)

(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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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++

(35)

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

(36)

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,

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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),

(46)

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

(47)

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

(48)

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

(49)

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

(50)

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

(51)

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

(52)

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:

(53)

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

(54)

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

(55)

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

(56)

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.

(57)

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.

(58)

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

(59)

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

(60)

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

(61)

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

(62)

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

(63)

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

(64)

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

(65)

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

(66)

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

(67)

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

(68)

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

(69)

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

(70)

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

(71)

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

(72)

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).

(73)

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

Gambar

Tabel 3.13 Spesifikasi Use Case Decryption2
Gambar 3.16 Flowchart Keseluruhan Sistem
Gambar 3.17 Flowchart Generate Prime
Gambar 3.18 Flowchart Generate Key A
+7

Referensi

Dokumen terkait

Alokasi pemanfaatan ruang untuk kawasan lindung, kawasan budi daya, kawasan perkotaan, kawasan pedesaan dan kawasan tertentu dalam rencana tata ruang wilayah nasional,

9 Universitas Pattimura MP3EI MAGDALENA LATUIHAMALLO Strategi Pengembangan Produksi Abalon (Haliotis sp) Berbasis Sumberdaya Dalam Rangka Peningkatan Ekonomi Masyarakat Di

Guru memberikan penguatan terhadap hasil diskusi peserta didik dan kemudian menjelaskan kembali sifat- sifat keteladan Ashabul Kahfi berdasarkan buku teks

Sebagaimana dimaklumi bersama bahwa para pelaksana Penelitian Unggulan Strategis Nasional, Penelitian Strategis Nasional, Penelitian Hibah Kompetensi, Penelitian Kerjasama Luar

Zakat adalah jumlah harta tertentu yang wajib dikeluarkan oleh orang yang beragama Islam dan diberikan kepada golongan yang berhak menerimanya (fakir miskin

Satuan ini memiliki penyebaran di sekitar gunung Seroja – Telaga Menjer dengan litologi berupa lava andesit dan memiliki komposisi utama berupa plagioklas dan piroksen. 

Sampel penelitian terdiri dari 51 perusahaan yang terdaftar di Bursa Efek Indonesia (BEI) dan pengambilan sampel dilakukan dengan teknik purposive sampling .Variabel

Sebuah aktivitas penyelamatan lingkungan yang kreatif dan bermanfaat bila kita dapat memanfaatkan limbah untuk dijadikan benda berguna. Limbah atau sampah, sering