• Tidak ada hasil yang ditemukan

Implementasi Algoritma Kriptografi Massey Omura Dengan Teknik Steganografi Kombinasi End Of File (EOF) Dan First Of File (FOF) Untuk Keamanan Data

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Algoritma Kriptografi Massey Omura Dengan Teknik Steganografi Kombinasi End Of File (EOF) Dan First Of File (FOF) Untuk Keamanan Data"

Copied!
144
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA KRIPTOGRAFI MASSEY OMURA

DENGAN TEKNIK STEGANOGRAFI KOMBINASI

END OF FILE (EOF) DAN FIRST OF FILE (FOF) UNTUK KEAMANAN DATA

SKRIPSI

NADYA SORAYA HARDIYANA 091401077

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(2)

IMPLEMENTASI ALGORITMA KRIPTOGRAFI MASSEY OMURA

DENGAN TEKNIK STEGANOGRAFI KOMBINASI

END OF FILE (EOF) DAN FIRST OF FILE (FOF) UNTUK KEAMANAN DATA

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

NADYA SORAYA HARDIYANA 091401077

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : IMPLEMENTASI ALGORITMA KRIPTOGRAFI

MASSEY OMURA DENGAN TEKNIK

STEGANOGRAFI KOMBINASI END OF FILE

(EOF) DAN FIRST OF FILE (FOF) UNTUK KEAMANAN DATA

Kategori : SKRIPSI

Nama : NADYA SORAYA HARDIYANA

Nomor Induk Mahasiswa : 091401077

Program Studi : SARJANA (S1) ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 17 Desember 2013

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Herriyance, ST. M.Kom Maya Silvi Lydia, B.Sc, M.Sc NIP. 198010242010121002 NIP. 197401272002122001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

IMPLEMENTASI ALGORITMA KRIPTOGRAFI MASSEY OMURA DENGAN TEKNIK STEGANOGRAFI KOMBINASI

END OF FILE (EOF) DAN FIRST OF FILE (FOF) UNTUK KEAMANAN DATA

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 17 Desember 2013

(5)

PENGHARGAAN

Puji dan syukur kehadirat Allah SWT, yang hanya dengan rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada:

1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembanding.

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembimbing serta Dosen Pembimbing Akademik.

5. Bapak Herriyance, ST, M.Kom selaku Dosen Pembimbing yang telah membimbing dan memberikan kritik serta sarannya dalam penyempurnaan skripsi ini.

6. Ibu Dian Rachmawati S.Kom, M.Kom selaku Dosen Pembanding yang telah memberikan kritik dan sarannya dalam penyempurnaan skripsi ini.

7. Bapak M. Andri Budiman, ST, M.CompSc, MEM selaku Dosen S-1 Ilmu Komputer yang telah berkenan membimbing dan memberikan kritik serta saran kepada penulis.

8. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar dan pegawai di Program Studi S1Ilmu Komputer Fasilkom-TI Universitas Sumatera Utara.

9. Ayahanda H. Suhardi dan Ibunda Mursiah Nasution, serta kakak-kakak tersayang Ade Rahmi Fadilah, Dewi Kurnia, Rika Mahardika, Bella Almeida Fuaddhilah, Abangda Muhammad Hidayat Wibowo yang selalu memberikan kasih sayang, do’a serta dukungannya kepada penulis.

(6)

11. Abangda Muhammad Ridho Nasution, S.Kom yang selalu memberikan semangat, do’a dan perhatiannya kepada penulis.

12. Rekan-rekan S-1 Ilmu Komputer Stambuk 2009, khususnya Pocut Rizky Azhari, Fithri Rizqi Khairani Nasution, Dewi Ayu Pratami, Lidya Andiny Nasution, Nurul Khairina, dan Ismail Fata Lubis yang selalu memberikan do’a, semangat, bantuan, kritik dan saran kepada penulis selama proses penyelesaian skripsi ini.

Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.

Medan, 17 Desember 2013

(7)

ABSTRAK

Kemudahan yang dihasilkan dari perkembangan teknologi saat ini, ternyata menimbulkan masalah lain dalam keamanan pesan, seperti jalur pendistribusian kunci yang menjadi tidak aman. Keamanan pesan dapat dilakukan melalui kriptografi yaitu dengan cara mengacak pesan, sedangkan melalui steganografi dengan cara menyembunyikan pesan. Konsep kriptografi dan steganografi dapat dikombinasikan sehingga menghasilkan sistem keamanan pesan yang lebih baik. Dalam penelitian ini digunakan algoritma kriptografi Massey-Omura yang merupakan pengembangan dari

Three-Pass Ptotocol yaitu suatu kerangka kerja yang memungkinkan tidak ada proses distribusi kunci sehingga dapat mengurangi terjadinya kebocoran pesan. Tahap pertama yaitu dengan membangkitan bilangan prima menggunakan metode Fermat’s Little Theorem dan melakukan pencarian bilangan relatif prima menggunakan algoritma Euclidean GCD. Selanjutnya pesan teks yang berformat *.txt di enkripsi dan menghasilkan ciphertext yang kemudian akan disembunyikan pada citra bitmap berformat *.bmp dengan teknik steganografi kombinasi metode End Of File dan First Of File yaitu dengan menyisipkan pesan pada baris awal dan akhir dari matriks pixel

suatu citra. Proses penyembunyian pesan (embedding) pada cover image

menghasilkan stego image yang selanjutnya akan melalui proses extracting untuk mendapatkan pesan yang tersembunyi (ciphertext) dan kemudian akan di dekripsi sehingga mendapatkan plaintext semula.

(8)

IMPLEMENTATION OF MASSEY OMURA’S CRYPTOGRAPHY ALGORITHM WITH STEGANOGRAPHY TECHNIQUE COMBINATION OF “END OF FILE” AND “FIRST OF FILE

FOR DATA SECURITY

ABSTRACT

Ease resultant from developments of current’s technology actually causes other problems in security of message like key distribution channels which become unsafe. security message can be done through a cryptography by randomizing message, while through a steganography by hiding message. Concepts of cryptography and steganography can be combined to produce a better message security system. In this research is used Massey Omura algorithm which is the development of Three Pass Protocol namely framework which allow there is no process of key distribution so as to reduce the occurrence of message leaks. The first stage is generating primes using a method of Fermat’s Little Theorem and searching relatively prime number using

Euclidean GCD. Furthermore the text message in format *.txt will encrypted and produce a ciphertext which will be hidden in the bitmap image in format *.bmp by steganography technique combination of End Of File and First Of File with inserting a message at the beginning and end of matrix pixel of image. The process of hiding message(embedding) in cover image produced stego image and through process of

extracting to get the hidden message (ciphertext) which will decrypted and getting the

plaintext.

(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel xi

Daftar Gambar xii

Daftar Lampiran xiv

Bab I Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 4

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 5

Bab II Landasan Teori

2.1 Kriptografi 6

2.1.1 Definisi Kriptografi 6

2.1.2 Enkripsi dan Dekripsi 6

2.1.3 Sejarah Kriptografi 7

2.1.4 Jenis Algoritma Kriptografi 8

2.1.5 Tujuan Kriptografi 9

2.2 Three Pass Protocol 10

2.3 Aritmatika Modulo 11

2.4 Greatest CommonDivisor (GCD) 11

2.5 Algoritma Euclidean 12

2.6 Relatif Prima 12

2.7 Inversi Modulo 13

2.8 Fermat Little’s Theorem 13

2.9 Algoritma Massey Omura 14

2.10 Steganografi 15

2.10.1 Definisi Steganografi 15 2.10.2 Sejarah Steganografi 17 2.10.3 Teknik Steganografi Kombinasi End Of File dan First Of File 18

2.11 Citra Bitmap 18

(10)

Bab III Analisis dan Perancangan

3.1 Analisis Sistem 21

3.1.1 Analisis Masalah 21

3.2 Perancangan Sistem 56

3.2.1 Home 56

3.3.1 Tahapan Sistem Algoritma Kriptografi Massey Omura 65 3.3.2 Tahapan Sistem Teknik Steganografi Kombinasi End Of File 69 dan First Of File

Bab IV Implementasi dan Pengujian

4.1 Implementasi Sistem 73

4.1.1 Form home_application 73

4.1.2 Form About 74

4.1.3 Form Help 74

(11)

4.1.5 Form Encryption2(Recipient) 76 4.1.6 Form Decryption1(Sender) 76

4.1.7 Form Decryption2(Recipient) 77

4.2 Pengujian Sistem 78

4.2.1 Pengujian Proses Encryption1 78

4.2.2 Pengujian Proses Encryption2 84

4.2.3 Pengujian Proses Decryption1 88

4.2.4 Pengujian Proses Decryption2 90

4.2.5 Hasil Pengujian Proses Embedding dan Extracting 94

Bab V Kesimpulan dan Saran

5.1 Kesimpulan 96

5.2 Saran 97

(12)

DAFTAR TABEL

Nomor

Tabel Nama Tabel Halaman

2.1

Spesifikasi Use Case untuk Prime Generator

Spesifikasi Use Case untuk Key Generator A Spesifikasi Use Case untuk Encryption1

Spesifikasi Use Case untuk Embedding1

Spesifikasi Use Case untuk Extracting1

Spesifikasi Use Case untuk Key Generator B Spesifikasi Use Case untuk Encryption2

Spesifikasi Use Case untuk Embedding2

Spesifikasi Use Case untuk Extracting2

Spesifikasi Use Case untuk Decryption1

Spesifikasi Use Case untuk Embedding3

Spesifikasi Use Case untuk Extracting3

Spesifikasi Use Case untuk Decryption2

Kode ASCII

Perhitungan nilai dA Perhitungan nilai dB

Matriks Citra Bewarna 4 x 6 pixel

Matriks Citra yang Disisipi Pesan dengan Metode End Of File

Matriks Citra yang Disisipi Pesan dengan Metode First Of File

Matriks Citra yang Disisipi Pesan dengan Kombinasi Metode

End Of File dan First Of File

Hasil Enkripsi Ciphertext1 untuk Plaintext ‘NADYA’ Hasil Ciphertext2 dari proses Encryption2

Hasil Ciphertext3 dari proses Decryption1

Hasil Nilai Plaintext Awal dari Proses Decryption2

Hasil Pengujian Proses Embedding dan Extracting Berdasarkan Implementasi Sistem

(13)

DAFTAR GAMBAR

Nomor

Gambar Nama Gambar Halaman

2.1

Pesan Ditulis Secara Horizontal Baris per Baris Skema Kriptografi Simetri

Skema Kriptografi Asimetri Skema Three Pass Protocol

Skema Prosedur Pengiriman Pesan Alice-Bob Model Dasar Embedding pada Steganografi Contoh Citra Bitmap

Diagram Ishikawa Analisis Masalah

Use Case Diagram Sistem

Activity Diagram untuk Prime Generator Activity Diagram untuk Key Generator A

Activity Diagram untuk Encryption1 Activity Diagram untuk Embedding1 Activity Diagram untuk Extracting1 Activity Diagram untuk Key Generator B

Activity Diagram untuk Encryption2 Activity Diagram untuk Embedding2 Activity Diagram untuk Extracting2 Activity Diagram untuk Decryption1 Activity Diagram untuk Embedding3 Activity Diagram untuk Extracting3 Activity Diagram untuk Decryption2 Flowchart Keseluruhan Sistem

FlowchartPrime Generator FlowchartKey Generator A

(14)

3.35

Hasil Plaintext yang dipilih Hasil Ciphertext1

Pop-up Windows Open Image

Hasil Pemilihan Cover Image1

Hasil Embedding1 dan Message box Informasi “Embedding Succeed

Pop-up Windows Save Stego Image Message Box “Stego Image Saved”

Message Box Informasi “No Hidden Message” Hasil Proses Extract1

Hasil Generate Key (Recipient) dan Encryption2

Hasil Embedding2

Hasil Extracting2 dan Decryption1 Hasil Embedding3

Hasil Extracting3

Hasl Decryption2

Pop-up Windows Save File Message Box Warning informasi “Message is over limit of image pixel

(15)

DAFTAR LAMPIRAN

Halaman

A. Listing Program 100

(16)

ABSTRAK

Kemudahan yang dihasilkan dari perkembangan teknologi saat ini, ternyata menimbulkan masalah lain dalam keamanan pesan, seperti jalur pendistribusian kunci yang menjadi tidak aman. Keamanan pesan dapat dilakukan melalui kriptografi yaitu dengan cara mengacak pesan, sedangkan melalui steganografi dengan cara menyembunyikan pesan. Konsep kriptografi dan steganografi dapat dikombinasikan sehingga menghasilkan sistem keamanan pesan yang lebih baik. Dalam penelitian ini digunakan algoritma kriptografi Massey-Omura yang merupakan pengembangan dari

Three-Pass Ptotocol yaitu suatu kerangka kerja yang memungkinkan tidak ada proses distribusi kunci sehingga dapat mengurangi terjadinya kebocoran pesan. Tahap pertama yaitu dengan membangkitan bilangan prima menggunakan metode Fermat’s Little Theorem dan melakukan pencarian bilangan relatif prima menggunakan algoritma Euclidean GCD. Selanjutnya pesan teks yang berformat *.txt di enkripsi dan menghasilkan ciphertext yang kemudian akan disembunyikan pada citra bitmap berformat *.bmp dengan teknik steganografi kombinasi metode End Of File dan First Of File yaitu dengan menyisipkan pesan pada baris awal dan akhir dari matriks pixel

suatu citra. Proses penyembunyian pesan (embedding) pada cover image

menghasilkan stego image yang selanjutnya akan melalui proses extracting untuk mendapatkan pesan yang tersembunyi (ciphertext) dan kemudian akan di dekripsi sehingga mendapatkan plaintext semula.

(17)

IMPLEMENTATION OF MASSEY OMURA’S CRYPTOGRAPHY ALGORITHM WITH STEGANOGRAPHY TECHNIQUE COMBINATION OF “END OF FILE” AND “FIRST OF FILE

FOR DATA SECURITY

ABSTRACT

Ease resultant from developments of current’s technology actually causes other problems in security of message like key distribution channels which become unsafe. security message can be done through a cryptography by randomizing message, while through a steganography by hiding message. Concepts of cryptography and steganography can be combined to produce a better message security system. In this research is used Massey Omura algorithm which is the development of Three Pass Protocol namely framework which allow there is no process of key distribution so as to reduce the occurrence of message leaks. The first stage is generating primes using a method of Fermat’s Little Theorem and searching relatively prime number using

Euclidean GCD. Furthermore the text message in format *.txt will encrypted and produce a ciphertext which will be hidden in the bitmap image in format *.bmp by steganography technique combination of End Of File and First Of File with inserting a message at the beginning and end of matrix pixel of image. The process of hiding message(embedding) in cover image produced stego image and through process of

extracting to get the hidden message (ciphertext) which will decrypted and getting the

plaintext.

(18)

BAB 1 PENDAHULUAN

1.1. Latar belakang

Seiring berkembangnya zaman, diikuti juga dengan perkembangan teknologi sampai saat ini, sebagian besar masyarakat melakukan pertukaran atau saling membagi informasi dengan mudah. Seperti informasi penting suatu perusahaan ataupun individu yang menuntut keamanan atau kerahasiaan sehingga informasi tersebut tidak diketahui pihak luar. Untuk itu, dikembangkanlah ilmu yang mempelajari tentang pengamanan informasi tersebut yang dikenal dengan Kriptografi.

Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika dikirim dari suatu tempat ke tempat lain[9]. Konsep umum kriptografi yaitu enkripsi dan dekripsi. Dimana enkripsi adalah proses mengubah plaintext (informasi) menjadi ciphertext (pesan dalam bentuk rahasia). Sedangkan dekripsi adalah proses mengembalikan ciphertext pada proses enkripsi menjadi

plaintext semula. Kriptografi memiliki berbagai macam algoritma, salah satunya adalah algoritma Massey Omura. Pada algoritma Massey Omura sekuritas terletak pada kesulitan logaritma diskrit dan algoritma ini merupakan pengembangan dari

Three Pass Protocol, yaitu melakukan suatu kerangka kerja yang memungkinkan satu pihak untuk aman mengirim pesan ke pihak kedua tanpa perlu untuk bertukar atau mendistribusikan kunci enkripsi. Penelitian terdahulu oleh Muhammad Reza dilakukan proses enkripsi-dekripsi pesan menggunakan Massey Omura

(19)

Pengetahuan dibidang kriptografi semakin berkembang, dan menimbulkan pihak-pihak yang berusaha mengganggu sistem keamanan kriptografi. Seperti yang diketahui, kriptografi melakukan pengamanan dengan mengacak pesan agar pihak luar tidak mengerti pesan tersebut, namun pihak luar kemudian memiliki cara untuk mengganggu sistem keamanan yaitu dengan merusak pesan sehingga pesan tersebut tidak sampai secara utuh. Maka untuk mengatasi keadaan ini, digunakan teknik steganografi.

Steganografi secara khusus adalah suatu ilmu, teknik dan seni bagaimana menyembunyikan data rahasia didalam sebuah media digital sehingga keberadaan data rahasia tersebut tidak diketahui oleh orang lain[6]. Proses Steganografi yaitu melakukan penyembunyian data (embedding) pada suatu media, kemudian melalui proses ekstraksi (extracting), dapat menampilkan data asli yang disembunyikan. Steganografi juga memiliki berbagai teknik penyembunyian, salah satunya adalah Teknik End Of file (EOF). Telah dilakukan penelitian oleh Krisnawati yang mengimplementasikan teknik steganografi Least Significant Bit (LSB) dan End Of file

(EOF) untuk menyisipkan teks ke dalam citra grayscale. Metode LSB bekerja dengan mengganti bit terakhir kode biner citra dengan kode biner pesan, sedangkan metode EOF bekerja dengan dengan menambahkan teks sebagai nilai derajat keabuan citra pada akhir citra. Kelebihan metode LSB adalah ukuran citra yang mengandung pesan tidak berubah sedangkan metode EOF mempunyai kelebihan dapat menyisipkan pesan dalam jumlah yang tidak terbatas[4].

Walaupun steganografi sering dikaitkan dengan kriptografi, sebenarnya kedua ilmu ini memiliki metode yang berbeda. Kriptografi mengacak pesan asli menjadi tidak dimengerti dan menimbulkan kecurigaan, sedangkan steganografi melakukan penyembunyian pesan di dalam file sehingga tidak diketahui.

(20)

1.2 Rumusan Masalah

Berdasarkan latar belakang diatas, maka yang menjadi rumusan masalah adalah bagaimana penerapan algoritma kriptografi Massey Omura dengan teknik steganografi kombinasi End Of file dan First Of File dalam pengamanan pesan.

1.3 Batasan Masalah

Batasan masalah dalam penelitian adalah sebagai berikut :

1. File citra yang digunakan untuk menyisipkan pesan adalah file bitmap dengan format *.bmp dan maksimal ukuran citra 2592 x 1944 pixel.

2. File yang disisipkan adalah pesan teks dengan format *.txt atau pesan teks yang diinputkan langsung oleh user serta panjang teks terbatas hanya sampai ukuran ( (2592 x 3 x 2) – 2 ).

3. Metode yang digunakan untuk membantu membangkitkan bilangan prima adalah metode Fermat’s Little Theorem.

4. Algoritma yang digunakan untuk mencari dua buah bilangan bulat yang relatif prima adalah Euclidean GCD.

5. Karakter yang digunakan berdasarkan tabel ASCII 256.

6. Bahasa pemrograman yang digunakan adalah Microsoft Visual Studio 2010 (C#).

1.4 Tujuan Penelitian

(21)

1.5 Manfaat penelitian

Manfaat dari penelitian ini adalah, melalui implementasi algoritma kriptografi Massey Omura dengan teknik steganografi kombinasi End Of file dan First Of File, maka pesan rahasia yang di distribusikan akan terjaga keamananya.

1.6 Metode Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah:

1. Studi Literatur

Pada tahap ini dilakukan pencarian dan pengumpulan referensi yang berhubungan dengan algoritma Massey-Omura dan teknik steganografi kombinasi End Of file serta First Of File. Baik dalam bentuk buku ataupun e-book, jurnal, dan makalah yang di dapat dari internet.

2. Analisis dan Perancangan Sistem

Pada tahap ini dilakukan perancangan flowchart, interface dan perancangan sistem yang menggunakan algoritma Massey-Omura dan teknik steganografi kombinasi End Of file serta First Of File sesuai dengan tujuan dan batasan masalah.

3. Implementasi Sistem

Pada tahap ini akan dibuat sistem dengan melakukan pengkodean (coding) pada bahasa pemrograman Microsoft Visual Studio (C#) untuk implementasi algoritma Massey-Omura dan teknik steganografi kombinasi End Of file serta

First Of File.

4. Pengujian Sistem

Pada tahap ini dilakukan pengujian terhadap sistem yang telah dibangun untuk mengetahui kesalahan ataupun kekurangan di dalam sistem berdasarkan keberhasilan proses enkripsi-dekripsi dan keberhasilan proses penyisipan dan ekstraksi.

5. Dokumentasi

(22)

1.7 Sistematika Penulisan

Untuk membuat penulisan lebih terstruktur, maka penulisan ini dibagi menjadi lima bab, yaitu sebagai berikut :

BAB 1 : PENDAHULUAN

Pada bab ini berisi penjelasan mengenai latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.

BAB 2 : LANDASAN TEORI

Pada bab ini berisi penjelasan mengenai teori yang berhubungan dengan penelitian, diantaranya yaitu teori kriptografi, algoritma Massey-Omura, teori steganografi, metode End Of file dan First Of File dan teori lainnya yang berkaitan.

BAB 3 : ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini berisi penjelasan mengenai analisis masalah dan segala hal yang berkaitan dengan sistem yang dibangun, serta menjelaskan cara kerja sistem, kemudian dilanjutkan dengan perancangan antarmuka sistem.

BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini berisi penjelasan mengenai implementasi sistem dengan menggunakan bahasa pemrograman Microsoft Visual Studio 2010 (C#) berdasarkan tahapan perancangan sistem, kemudian dilakukan pengujian sistem untuk mengetahui keberhasilan dan kesesuaian sistem dengan perancangan yang dilakukan sebelumnya.

BAB 5 : KESIMPULAN DAN SARAN

(23)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret

(rahasia) dan graphia berarti writing (tulisan)[10].

Beberapa definisi Kriptografi yaitu, Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan (Cryptography is the art and science of keeping message secure). Sebagai pembanding, terdapat juga definisi kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta otentikasi[12].

Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak menggunakan kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi[11].

2.1.2 Enkripsi dan Dekripsi

Enkripsi (encryption) adalah proses yang dilakukan untuk mengamankan sebuah pesan (disebut plaintext) menjadi pesan yang tersembunyi (disebut ciphertext).

(24)

Proses sebaliknya, untuk mengubah ciphertext menjadi plaintext, disebut dekripsi (decryption)[14].

Enkripsi, dekripsi dan kunci tersebut diatas merupakan dasar penting dari algoritma kriptografi. Algoritma kriptografi disebut juga cipher yaitu fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Konsep matematis yang mendasari algoritma kriptografi dapat dimisalkan P menyatakan plainteks dan C

menyatakan chiperteks, maka fungsi enkripsi E memetakan P ke C,

E(P) = C ………. (2.1)

Dan fungsi dekripsi D memetakan C ke P,

D(C) = P ………. (2.2)

Pada Gambar 2.1 menjelaskan lebih lengkap tentang proses enkripsi-dekripsi dalam kriptografi.

Gambar 2.1 Proses Enkripsi Dekripsi[12]

2.1.3 Sejarah Kriptografi

Kriptografi mempunyai sejarah yang panjang, sebagian besar merupakan sejarah kriptografi klasik, yaitu metode enkripsi yang menggunakan kertas dan pensil atau mungkin dengan bantuan alat mekanik sederhana[12].

Sejarah kriptografi klasik mencatat penggunaan cipher transposisi oleh tentara Sparta di Yunani permulaan tahun 400 SM. Mereka menggunakan alat yang bernama

scytale (Gambar 2.2a). Scytale terdiri dari sebuah kertas panjang dan daun papyrus

yang dililitkan pada sebuah silinder dari diameter tertentu. Pesan ditulis secara

Enkripsi

Plainteks Dekripsi

Cipherteks

Plainteks

(25)

horizontal, baris per baris (Gambar 2.2b). Bila pita dilepaskan, maka huruf-huruf di dalamnya menjadi tersusun acak membentuk pesan rahasia. Untuk membaca pesan, penerima pesan harus melilitkan kembali kertas tersebut ke silinder yang sama[12].

(a) (b)

Gambar 2.2. (a) Sebuah scytale;

(b) Pesan ditulis secara horizontal, baris per baris[12]

2.1.4 Jenis Algoritma Kriptografi

Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan menjadi dua jenis, yaitu sebagai berikut[6] :

1. Algoritma Simetris

(26)

Gambar 2.3 Skema kriptografi simetri [12]

2. Algoritma Asimetri

Berbeda dengan algoritma kunci simetris, kriptografi algoritma asimetris mempunyai dua kunci yang berbeda pada proses enkripsi dan dekripsinya (Gambar 2.4). Nama lain dari algoritma ini adalah kriptografi kunci publik (public key cryptography). Kunci enkripsi pada kriptografi ini tidak bersifat rahasia (publik), sedangkan kunci untuk dekripsi bersifat rahasia (privat). Algoritma kriptografi yang asimetris seperti algoritma RSA, ElGamal,

Massey-Omura dll.

Gambar 2.4 Skema Kriptografi Asimetri [12]

2.1.5 Tujuan Kriptografi

Adapun empat tujuan mendasar dari kriptografi adalah[12]:

1. Confidentiality, adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.

2. Data integrity, adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman.

(27)

4. Non-repudiation, adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

2.2 Three-Pass Protocol

Dalam kriptografi, Three-Pass Protocol dalam pengiriman pesan merupakan suatu kerangka kerja yang memungkinkan satu pihak untuk aman mengirim pesan ke pihak kedua tanpa perlu untuk bertukar atau mendistribusikan kunci enkripsi. Disebut dengan Three-Pass Protocol karena pengirim dan penerima pesan melakukan pertukaran sebanyak tiga tahap untuk mengenkripsi pesan tersebut. Three-Pass Protocol pertama kali dikembangkan oleh Adi Shamir pada sekitar tahun 1980. Konsep dasar Three-Pass Protocol adalah bahwa masing-masing pihak memiliki kunci enkripsi pribadi dan sebuah kunci dekripsi pribadi. Kedua belah pihak menggunakan kunci mereka masing-masing untuk mengenkripsi pesan dan kemudian untuk mendekripsi pesan[5].

Gambar 2.5 Skema Three-Pass Protocol

Cara kerja skema Three-Pass Protocol [5]:

1. Pengirim (Alice) memilih sebuah kunci sandi pribadi s dan kunci dekripsi

t. Pengirim pesan mengenkripsi pesan m dengan kunci s dan mengirimkan pesan terenkripsi E(s, m) untuk penerima (Bob) .

(28)

3. Pengirim (Alice) mendekripsi pesan kedua dengan kunci t. Karena dari sifat komutatif dimana D(t, E(r, E(s,m))) = E(r,m) merupakan pesan yang dienkripsi dengan hanya menggunakan private key penerima (Bob). Lalu pengirim mengirimkan pesan tersebut kepada penerima (Bob) dan di dekripsi dengan D(q, E(r,m)) = m yaitu sebagai pesan asli.

2.3 Aritmatika Modulo

Aritmatika modulo sangat berperan dalam kriptografi karena banyak digunakan dalam algoritma enkripsi, baik untuk enkripsi simetris maupun untuk public key cryptography.[11]

Misalkan a adalah bilangan bulat dan m adalah bilangan bulat > 0. Operasi a mod m memberikan sisa jika a dibagi dengan m. Bilangan m disebut modulo, dan hasil aritmatika modulo m terletak di dalam himpunan {0,1,2,…,m-1}. Sehingga dinotasikan [12] :

a mod m = r sedemikian sehingga a = mq + r, dengan 0 ≤ r < m. Contoh:

23 mod 5 = 3 (23 = 5 x 4 + 3)

2.4 Greatest Common Divisor (GCD)

Greatest Common Divisor (GCD) disebut juga Pembagi Bersama Terbesar (PBB). Misalkan a dan b adalah dua buah bilangan bulat tidak nol. Maka GCD dari a dan b

adalah bilangan bulat terbesar d sedemikian sehingga d | a dan d | b. Dalam hal ini kita nyatakan bahwa GCD(a,b) = d [12].

Contoh :

Faktor pembagi 45: 1,3,5,9,15,45 Faktor pembagi 36: 1,2,3,4,9,12,18,36

(29)

2.5 Algoritma Euclidean

Algoritma Euclidean adalah algoritma untuk mencari Pembagi Bersama Terbesar (PBB atau GCD) dari dua buah bilangan bulat. Euclid, penemu algoritma Euclidean, adalah seorang matematikawan Yunani yang menuliskan algoritmanya tersebut dalam bukunya yang terkenal, Element [12].

Diberikan dua buah bilangan bulat tak-negatif m dan n ( m ≥ n ). Algoritma

Euclidean berikut mencari pembagi bersama terbesar dari m dan n[12].

Algoritma Euclidean[12]:

1. Jika n = 0maka m adalah PBB (m,n); stop. Kalau tidak (yaitu n ≠0) lanjutkan ke langkah 2. 2. Bagilah m dengan n dan misalkan r adalah sisanya

3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah 1.

Contoh:

Misalkan m = 88 , n = 36 dan dipenuhi syarat ( m ≥ n ), maka PBB(88,36) dihitung dengan cara sebagai berikut:

88 mod 36 = 16 36 mod 16 = 4

16 mod 4 = 0 (STOP)

Sisa pembagian terakhir sebelum 0 adalah 4, maka PBB (88,36) = 4

2.6 Relatif Prima

Dua buah bilangan bulat a dan b dikatakan relatif prima jika GCD(a,b) = 1. Jika a dan

b relatif prima, maka terdapat bilangan bulat m dan n sedemikian sehingga[12]

ma + nb = 1 ………. (2.3) Contoh:

(30)

2.7 Inversi Modulo

Jika a dan m relatif prima dan m > 1, maka dapat diketahui inversi dari a modulo m. Inversi dari a (mod m), disebut juga inversi perkalian, adalah bilangan bulat �−1 sedemikian sehingga[12].

��−1 1 (mod ) ………. (2.4)

Contoh :

Berapa inversi modulo dari 5 (mod 12) ? Diketahui m = 5 , n = 12

Tabel 2.1 Proses Perhitungan Invers Modulo

�−1 −1 x (���)

1 1 x 5 (mod 12) = 5 2 2 x 5 (mod 12) = 10 3 3 x 5 (mod 12) = 3 4 4 x 5 (mod 12) = 8 5 5 x 5 (mod 12) = 1

Maka invers modulo dari 5 (mod 12) adalah �−1= 5

2.8 Fermat’s Little Theorem

Pierre De Fermat lahir di Beaumont-de-Lomagne, Tarn-et-Garonne, Prancis. Ia memberikan banyak sekali kontribusi pada ilmu teori bilangan. Salah satu teoremanya yang terkenal adalah Fermat’s Little Theorem. Teorema ini pertama kali dinyatakannya pada sebuah surat untuk temannya, Frencle de Bessy, pada tanggal 18 Oktober 1640 [3].

Secara formal, Fermat’s Little Theorem ini dapat ditulis[3]:

Misalkan a suatu bilangan bulat positif dan p suatu bilangan prima, maka Untuk ��� (�,�) = 1, berlaku

(31)

Contoh, kalkulasikan 258 (mod 19). Karena 19 adalah bilangan prima dan 2 tidak dapat dibagi 19, maka teorema ini dapat digunakan untuk mengkalkulasi

218≡ 219−1 (mod 19) ≡ 1 (mod 19) Jadi

258 = (218)3 x (24)≡ 13 x 24≡ 16 (mod 19)

Meskipun dapat digunakan untuk mempermudah kalkulasi, dalam kriptografi, peran terpenting dari Fermat's little theorem adalah sebagai dasar dari berbagai teknik enkripsi asimetris[11].

2.9 Algoritma Massey-Omura

Massey-Omura Cryptosystem adalah salah satu cryptosystem kunci publik yang berdasarkan pada logaritma diskrit. Diusulkan oleh James Massey dan Jim K. Omura pada tahun 1982 sebagai pengembangan atas Three Pass Protocol oleh Shamir pada tahun 1980, dimana pengirim dan penerima tidak bertukar kunci namun protocol ini memerlukan pengirim dan penerima yang memiliki dua kunci untuk mengenkripsi dan mendekripsi pesan[16].

Berikut cara kerja dari Algoritma Massey-Omura[5]:

a. Semua pengguna telah mensepakati sebuah bilangan prima p berdasarkan

Fermat’s Little Theorem.

b. Setiap pengguna secara rahasia memilih acak bilangan bulat e antara 0

hingga p–1 berdasarkan GCD (e, p–1) = 1, dan menghitung

d =�−1 mod (p–1) ………. (2.6) dengan menggunakan algoritma Euclidean GCD.

c. Alice ingin mengirim pesan M yang aman untuk Bob, kemudian mereka ikuti prosedur berikut :

(32)

Alice Bob

Bob

Bob Alice

Alice

2. Pada saat menerima pesan, Bob menambahkan kunci lagi yaitu �� sehingga mengirimkan pesan ����� kembali ke Alice (perhatikan bahwa saat ini, Bob tidak bisa membaca pesan Alice M).

3. Setelah menerima pesan dari Bob, Alice melakukan dekripsi dengan memakai �� sehingga didapat ������� = ��� kemudian dikirim kembali kepada Bob.

4. Bob menerima ��� dan melakukan dekripsi pesan sehingga didapat

����� = M, dan terbukalah pesan asli Alice yaitu M.

Gambar 2.6 Skema Prosedur Pengiriman Pesan Alice-Bob [5]

Keterangan:

M = Pesan yang akan dikirimkan

�� = Kunci enkripsi Alice

�� = Kunci enkripsi Bob

�� = Kunci dekripsi Alice

�� = Kunci dekripsi Bob

2.10 Steganografi

2.10.1 Definisi Steganografi

(33)

data digital dalam file komputer. Tujuan dari steganografi adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi[1].

Steganografi sering berkaitan dengan kriptografi. Namun terdapat perbedaan mendasar antara steganografi dengan kriptografi terletak pada proses penyembunyian data dan hasil akhir dari proses tersebut. Kriptografi melakukan proses pengacakan data asli sehingga dihasilkan data terenkripsi yang benar-benar acak dan berbeda dengan aslinya. Sementara itu steganografi menyembunyikan data dalam data lain dengan cara menumpanginya tanpa mengubah data yang ditumpanginya tersebut sehingga tampilan data tetap terlihat sama[10].

Gambar 2.7 Model dasar embedding pada steganografi [6]

Keterangan:

�� = fungsi steganografi “embedding” ��−1 = fungsi steganografi “extracting

Sampul(cover) = cover data sebagai media untuk penyisipan pesan Isi pesan = pesan yang akan disisipkan

Key = parameter �

media stego = cover data dengan pesan yang telah disisipkan

(34)

Kriteria yang harus diperhatikan dalam penyembunyian pesan adalah[12]:

a. Imperceptibility

Keberadaan pesan rahasia tidak dapat dipersepsi oleh inderawi. Misalnya jika covertext berupa citra, maka penyisipan pesan membuat citra stegotext

sukar dibedakan oleh mata dengan citra covertext-nya. Jika covertext

berupa audio, maka indera telinga tidak dapat mendeteksi perubahan pada

audio stegotext-nya. b. Fidelity

Mutu media penampung tidak berubah banyak akibat penyisipan. Perubahan tersebut tidak dapat dipersepsi oleh inderawi. Misalnya jika

covertext berupa citra, maka penyisipan pesan membuat citra stegotext

sukar dibedakan oleh mata dengan citra covertext-nya. Jika covertext

berupa audio, maka audio stegotext tidak rusak dan indera telinga tidak dapat mendeteksi perubahan tersebut.

c. Recovery

Pesan yang disembunyikan harus dapat diungkap kembali (reveal). Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu pesan rahasia di dalam stegotext harus dapat diambil kembali untuk digunakan lebih lanjut.

2.10.2 Sejarah Steganografi

(35)

2.10.3 Teknik Steganografi Kombinasi End Of File dan First Of File

Teknik EOF atau End Of File merupakan salah satu teknik yang digunakan dalam steganografi. Teknik ini digunakan dengancara menambahkan data atau pesan rahasia pada akhir file citra[9]. Untuk mengenal data yang disisipkan pada akhir file, diperlukan suatu tanda pengenal atau simbol pada awal dan akhir data yang akan disisipkan[8]. Dengan metode ini pesan yang disisipkan jumlahnya tak terbatas. Akan tetapi efek sampingnya adalah ukuran file menjadi lebih besar dari ukuran semula[4]. Sedangkan untuk teknik FOF atau First Of File merupakan kebalikannya, yaitu data atau pesan rahasia ditambahkan pada awal file.

2.11 Citra Bitmap

Citra bitmap sering disebut juga dengan citra raster. Dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain[15]. File bitmap merupakan format file citra yang tidak mengalami proses kompresi sehingga kualitas gambar yang dihasilkan baik daripada file citra dengan format lain.

Gambar 2.8 Contoh Citra Bitmap

(36)

yang terdiri dari nilai red, green dan blue (RGB). Untuk mendapatkan nilai RGB setiap pixel dilakukan dengan membaca nilai pixel dan mengkonversikan dari nilai biner ke nilai desimal[8].

Terdapat beberapa format dari citra bitmap, salah satunya format .bmp merupakan format penyimpanan standar tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner hingga citra warna yang dikembangkan oleh Microsoft[13].

2.12 Penelitian Terdahulu

Berikut ini beberapa penelitian yang terkait dengan algoritma Massey- Omura dan teknik steganografi End Of File :

1. Penelitian yang dilakukan oleh Muhammad Reza, Muhammad Andri Budiman, dan Dedy Arisandi yaitu membangun sistem untuk mengenkripsi dan mendekripsi pesan teks menggunakan algoritma

Massey-Omura. Dimana Algoritma Massey-Omura ini juga membutuhkan metode The Sieve of Eratosthenes untuk membantu membangkitkan bilangan prima, algoritma Euclidean GCD untuk mencari dua buah bilangan bulat yang relatif prima dan untuk proses enkripsi menggunakan algoritma Modulo Exponential yang berfungsi menghitung nilai perpangkatan modulo bilangan besar serta algoritma

Modulo Invers untuk proses dekripsi[5].

2. Penelitian oleh Krisnawati membahas bagaimana menyisipkan teks ke dalam citra grayscale dengan menggunakan dua metode yaitu metode

(37)

mempunyai kelebihan dapat menyisipkan pesan dalam jumlah yang tidak terbatas, sedangkan kekurangannya adalah kapasitas file citra akan bertambah[4].

3. Penelitian yang dilakukan oleh Henny Wandani, mengimplementasikan Teknik steganografi End Of file dengan algoritma Rabin Public Key. Dilakukan proses enkripsi data atau pesan rahasia yang berupa data teks angka dengan jumlah maksimum yang dimasukkan adalah 24 digit angka, kemudian hasil enkripsi (ciphertext) akan disembunyikan ke dalam suatu file gambar yang berformat bitmap dengan ukuran minimum 25 x 25. Selanjutnya, dilakukan proses ekstraksi dan dekripsi ciphertext,

sehingga diperoleh kembali plaintext yang berupa data teks angka[8].

(38)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Analisis sistem merupakan fase awal untuk pengembangan sistem. Tahap ini mempelajari sebuah sistem dengan menguraikan komponen-komponen di dalamnya dan bagaimana semuanya berinteraksi sehingga sistem yang dibangun dapat mencapai tujuan yang diharapkan.

3.1.1 Analisis Masalah

Perkembangan komunikasi data yang semakin pesat mendorong para pelaku dibidangnya berusaha untuk menemukan cara yang aman untuk mengirimkan suatu pesan. Salah satunya adalah dengan teknik kriptografi yang menyandikan pesan sebagai kode aneh yang membuat pihak luar penasaran dan berusaha untuk mengetahui kode tersebut[4].

Sehingga untuk meningkatkan pengamanan pesan, di lakukanlah penggabungan kriptografi dengan steganografi. Algoritma kriptografi yang digunakan adalah algoritma Massey-Omura dengan teknik steganografi yang mengkombinasikan metode End Of File dan First Of File.

(39)

Algoritma Kriptografi

Of File dan First Of File

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.1Analisis Fungsional

Analisis fungsional dilakukan untuk dapat mendeskripsikan tentang aktivitas dan layanan apa saja yang harus disediakan oleh sebuah sistem. Berikut adalah aktivitas yang dapat dilakukan oleh sistem.

1. File citra yang digunakan untuk menyisipkan pesan adalah file bitmap dengan

Format *.bmp dan maksimal ukuran citra 2592 x 1944 pixel.

2. File pesan yang akan dienkripsi adalah pesan teks dengan format *.txt dan terbatas hanya sampai ( (2592 x 3 x 2) – 2 ).

3. Metode yang digunakan untuk membantu membangkitkan bilangan prima adalah metode Fermat’s Little Theorem.

4. Algoritma yang digunakan untuk mencari dua buah bilangan bulat yang relatif prima adalah Euclidean GCD.

5. Karakter yang digunakan berdasarkan tabel ASCII 256.

(40)

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 dibangun harus dapat menunjukkan hasil dari Enkripsi-Embedding dan Dekripsi-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 dibangun bebas digunakan dan tidak membutuhkan perangkat lain. 4. Dokumentasi

Sistem yang dibangun dapat menyimpan pesan dari hasil enkripsi sesuai algoritma kriptografi serta dapat menyimpan citra hasil penyisipan sesuai metode steganografi. 5. Manajemen kualitas

Sistem yang dibangun akan memiliki kualitas yang baik. 6. Kontrol

(41)

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 antara 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). Proses yang dilakukan Sender yaitu Prime Generator, Key GeneratorA, Encryption1, Embedding1,

Extracting2, Decryption1, Embedding3. Sedangkan Recipient melakukan proses

Extracting1, Key GeneratorB, Encryption2, Embedding2, Extracting3, Decryption2.

Use Case diagram sistem ini dapat dilihat pada Gambar 3.2

System

Prime Generator

Key Generator A

Encryption 1

Embedding 1

Extracting 1

Encryption 2

Embedding 2

Extracting 2

Decryption 1

Embedding 3

Extracting 3

Decryption 2 Key Generator

B

(42)

Gambar 3.2 Use Case Diagram Sistem 3.1.3.1Spesifikasi Use Case

Spesifikasi UseCase Prime Generator dapat dilihat pada Tabel 3.1

Tabel 3.1 Spesifikasi Use CasePrime Generator

Name Prime Generator

Actors Sender

Trigger Sender memilih menu Start

Preconditions Sender mengeksekusi tombol Generate Postconditions Sender mendapatkan nilai bilangan prima p

Success Scenario 1. Sender memilih menu Start

2. Sistem menampilkan halaman Encryption 1 3. Sender mengeksekusi tombol Generate

4. Sistem membangkitkan bilangan prima p dan menampilkan nilai bilangan prima p

5. Sender dapat melihat nilai bilangan prima p

Alternative Flows Sender dapat mengeksekusi tombol Generate kembali jika sistem menampilkan nilai bilangan prima p yang tidak diinginkan

Activity Diagram untuk Prime Generator dapat dilihat pada Gambar 3.3

Sender

System

Memilih menu Start

Mengeksekusi tombol Generate

Melihat nilai bilangan prima P

Menampilkan halaman Encryption1

(43)

Gambar 3.3 Activity Diagram untuk Prime Generator

Spesifikasi Use Case Key Generator A dapat dilihat pada Tabel 3.2

Tabel 3.2 Spesifikasi Use Case untuk Key Generator A

Name Key Generator

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 yang sesuai 2. Sender mengeksekusi tombol Generate

3. Sistem membangkitkan kunci enkripsi eA dan kunci dekripsi dA dan menampilkannya

4. Sender dapat melihat nilai eA dan dA

Alternative Flows

-Activity Diagram untuk Key Generator A yang dapat dilihat pada Gambar 3.4

Sender

System

Memiliki bilangan P

Mengeksekusi tombol Generate Membangkitkan kunci enkripsi eA dan

kunci dekripsi dA

Menampilkan eA dan dA Melihat nilai eA dan dA

(44)

Spesifikasi Use Case Encryption1 dapat dilihat pada Tabel 3.3

Tabel 3.3 Spesifikasi Use Case untuk Encryption1

Name Encryption1

Actors Sender

Trigger Sender mendapatkan nilai kunci enkripsi eA dan nilai kunci dekripsi dA

Preconditions Sender telah memilih Plaintext yang akan di enkripsi dari direktori atau input langsung

Postconditions Sender dapat melihat Ciphertext1 hasil Encryption1

Success Scenario 1. Sender mendapatkan nilai kunci enkripsi eA dan nilai kunci dekripsi dA

2. Sender memilih Plaintext yang ingin di enkripsi dari direktori atau input langsung

3. Sender mengeksekusi tombol Encypt1

4. Sistem melakukan proses Encyption1 terhadap Plaintext

5. Sender dapat melihat Ciphertext1 hasil Encyption1 Alternative Flows

-Activity Diagram untuk Encryption1 yang dapat dilihat pada Gambar 3.5

Sender System

Memiliki nilai eA dan dA

Memilih/input langsung Plaintext Menampilkan Plaintext

Mengeksekusi tombol encrypt1

Melakukan proses enkripsi

(45)

Gambar 3.5 Activity Diagram untuk Encryption1

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 Cover Image1 sebagai media penampung

Ciphertext1

Postconditions Sender mendapatkan Stego Image1

Success Scenario 1. Sender memiliki Ciphertext1 yang akan di Embed

2. Sender mengeksekusi tombol Open Cover Image1 dan memilih Image

3. Sistem menampilkan Cover Image1 yang dipilih 4. Sender mengeksekusi tombol Embed1

5. Sistem melakukan proses Embedding1 dan menampilkan hasil StegoImage1

6. Sender dapat melihat StegoImage1dari hasil Embedding1 dan

mengeksekusi tombol Save Stego Image1

7. Sistem menyimpan hasil Stego Image1 Alternative Flows -

Berikut adalah Activity Diagram untuk Embedding1

Sender System

Memiliki Ciphertext1

Mengeksekusi tombol Open Cover Image1

Memilih Image Menampilkan Cover Image1 yang dipilih

Mengeksekusi tombol Embed1

Melakukan proses Embedding1

Menampilkan Stego Image1 Melihat Stego Image1

(46)

Gambar 3.6 Activity Diagram untuk Embedding1

Spesifikasi Use CaseExtracting1 dapat dilihat pada Tabel 3.5

Tabel 3.5 Spesifikasi Use Case untuk Extracting1

Name Extracting1

Actors Recipient

Trigger Recipient menerima Stego Image1

Preconditions Recipient membuka Stego Image1 yang telah dikirim Sender Postconditions Recipient dapat melihat Chipertext1 hasil Extracting1 Success Scenario 1. Recipient mengeksekusi tombol Open Stego Image1 dan

memilih Image

2. Sistem menampilkan Stego Image1 yang dipilih 3. Recipient mengeksekusi tombol Extract1

4. Sistem melakukan Extracting1 dan menampilkan Ciphertext1

5. Recipient dapat melihat Ciphertext1 Alternative Flows

-Activity Diagram untuk Extracting1 dapat dilihat pada Gambar 3.7

Recipient

System

Mengeksekusi tombol Open Stego Image1

Memilih Image Menampilkan Stego Image1 yang dipilih

Mengeksekusi tombol Extract1

Melakukan proses Extracting1

(47)

Gambar 3.7 Activity Diagram untuk Extracting1

Spesifikasi Use Case Key Generator B dapat dilihat pada Tabel 3.6

Tabel 3.6 Spesifikasi Use Case untuk Key Generator B

Name Key Generator B

Actors Recipient

Trigger Recipient memiliki Ciphertext1 yang ingin di enkrip

Preconditions Recipient mengeksekusi tombol Generate

Postconditions Recipient mendapatkan nilai kunci Enkripsi eB dan nilai kunci Dekripsi dB

Success Scenario 1. Recipient memiliki Ciphertext1 yang ingin di enkrip 2. Recipient mengeksekusi tombol Generate

3. Sistem membangkitkan kunci Enkripsi eB dan kunci Dekripsi dB kemudian menampilkannya

4. Recipient dapat melihat nilai eA dan dA

Alternative Flows

-Activity Diagram untuk Key Generator B dapat dilihat pada Gambar 3.8

Recipient

System

Memiliki Ciphertext1

Mengeksekusi tombol Generate Membangkitkan kunci enkripsi eB dan

kunci dekripsi dB

Menampilkan eB dan dB Melihat nilai eB dan dB

(48)

Spesifikasi Use Case Encryption2 dapat dilihat pada Tabel 3.7

Tabel 3.7 Spesifikasi Use Case untuk Encryption2

Name Encryption2

Actors Recipient

Trigger Recipient memiliki Ciphertext1 dan mendapatkan nilai kunci enkripsi eB dan nilai kunci dekripsi dB

Preconditions Recipient mengeksekusi tombol Encrypt2

Postconditions Recipient dapat melihat Ciphertext2 hasil Encryption2

Success Scenario 1. Recipient telah memiliki Ciphertext1 dan mendapatkan nilai

kuncienkripsi eB dan nilai kunci dekripsi dB 2. Recipient mengeksekusi tombol Encrypt2

3. Sistem melakukan proses Encyption2 terhadap Ciphertext1 dan menampilkan Ciphertext2

4. Recipient dapat melihat Ciphertext2 hasil Encyption2 Alternative Flows

-Activity Diagram untuk Encryption2 dapat dilihat pada Gambar 3.9

Recipient

System

Memiliki Ciphertext1 dan kunci eB dan dB

Mengeksekusi tombol encrypt2 Melakukan Encryption2

(49)

Gambar 3.9 Activity Diagram untuk Encryption2

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 Cover Image2 sebagai media penampung

Ciphertext2

Postconditions Recipient mendapatkan Stego Image2

Success Scenario 1. Recipient memiliki Ciphertext1 yang akan di Embed

2. Recipient mengeksekusi tombol Open Cover Image2 dan memilih Image

3. Sistem menampilkan Cover Image2 yang dipilih 4. Recipient mengeksekusi tombol Embed2

5. Sistem melakukan proses Embedding2 dan menampilkan hasil StegoImage2

6. Recipient dapat melihat StegoImage2 yang merupakan hasil dari Embedding2 dan mengeksekusi tombol Save Stego Image2

7. Sistem menyimpan hasil Stego Image2 Alternative Flows

-Activity Diagram untuk Embedding2 dapat dilihat pada Gambar 3.10 Recipient System

Memiliki Ciphertext2

Mengeksekusi tombol Open Cover Image2

Memilih Image Menampilkan Cover Image2Yang dipilih

Mengeksekusi tombol embed2

Melakukan proses Embedding2

Menampilkan Stego Image2 Melihat Stego Image1

(50)

Gambar 3.10 Activity Diagram untuk Embedding2

Spesifikasi Use Case Extracting2 dapat dilihat pada Tabel 3.9

Tabel 3.9 Spesifikasi Use Case untuk Extracting2

Name Extracting2

Actors Sender

Trigger Sender menerima Stego Image2

Preconditions Sender membuka Stego Image2 yang telah dikirim Recipient Postconditions Sender dapat melihat Chipertext2 hasil Extracting2

Success Scenario 1. Sender mengeksekusi tombol Open Stego Image2 dan

memilih Image

2. Sistem menampilkan Stego Image2 yang dipilih 3. Sender mengeksekusi tombol Extract2

4. Sistem melakukan Extracting2 dan menampilkan Ciphertext2

5. Sender dapat melihat Ciphertext2 Alternative Flows

-Activity Diagram untuk Extracting2 dapat dilihat pada Gambar 3.11

Sender

System

Mengeksekusi tombol Open Stego Image2

Memilih Image Menampilkan Stego Image2 yang dipilih

Mengeksekusi tombol extract2

Melakukan proses Extracting2

(51)

Gambar 3.11 Activity Diagram untuk Extracting2

Spesifikasi Use Case Decryption2 dapat dilihat pada Tabel 3.10

Tabel 3.10 Spesifikasi Use Case untuk Decryption1

Name Decryption1

Actors Sender

Trigger Sender memiliki Ciphertext2

Preconditions Sender mengeksekusi tombol Decrypt1

Postconditions Sender dapat melihat Ciphertext3 hasil Encryption2 Success Scenario 1. Sender memiliki Ciphertext2

2. Sender mengeksekusi tombol Decrypt1

3. Sistem melakukan proses Decryption1 dan menampilkan Ciphertext3

4. Sender dapat melihat Ciphertext3 hasil dari proses Encyption1 Alternative Flows

-Activity Diagram untuk Decryption1dapat dilihat pada Gambar 3.12

Sender

System

Memiliki Ciphertext2

Mengeksekusi tombol decrypt1 Melakukan Decryption1

Menampilkan Ciphertext3 Melihat Ciphertext3

(52)

Spesifikasi Use Case Embedding3 dapat dilihat pada Tabel 3.11

Tabel 3.11 Spesifikasi Use Case untuk Embedding3

Name Embedding3

Actors Sender

Trigger Sender memiliki Ciphertext3 yang akan di Embed

Preconditions Sender telah memilih Cover Image3 sebagai media penampung

Ciphertext3

Postconditions Sender mendapatkan Stego Image3

Success Scenario 1. Sender memiliki Ciphertext3 yang akan di Embed

2. Sender mengeksekusi tombol Open Cover Image3 dan memilih Image

3. Sistem menampilkan Cover Image3 yang dipilih 4. Sender mengeksekusi tombol Embed3

5. Sistem melakukan proses Embedding3 dan menampilkan hasil StegoImage3

6. Sender dapat melihat StegoImage3 yang merupakan hasil dari

Embedding3 dan mengeksekusi tombol Save Stego Image3

7. Sistem menyimpan hasil Stego Image3 Alternative Flows

-Activity Diagram untuk Embedding3 dapat dilihat pada Gambar 3.13

Sender System

Memiliki Ciphertext3

Mengeksekusi tombol Open Cover Image3

Memilih Image Menampilkan Cover Image3 Yang dipilih

Mengeksekusi tombol embed3

Melakukan proses Embedding3

Menampilkan Stego Image3 Melihat Stego Image3

(53)

Gambar 3.13 Activity Diagram untuk Embedding3

Spesifikasi Use Case Extracting3 dapat dilihat pada Tabel 3.12

Tabel 3.12 Spesifikasi Use Case untuk Extracting3

Name Extracting3

Actors Recipient

Trigger Recipient menerima Stego Image3

Preconditions Recipient membuka Stego Image3 yang telah dikirim Sender Postconditions Recipient dapat melihat Chipertext3 hasil Extracting3 Success Scenario 1. Recipient mengeksekusi tombol Open Stego Image3 dan

memilih Image

2. Sistem menampilkan Stego Image3 yang dipilih 3. Recipient mengeksekusi tombol Extract3

4. Sistem melakukan Extracting3dan menampilkan Ciphertext3

5. Recipient dapat melihat Ciphertext3 Alternative Flows

-Activity Diagram untuk Extracting3 dapat dilihat pada Gambar 3.14

Recipient

System

Mengeksekusi tombol Open Stego Image3

Memilih Image Menampilkan Stego Image3

Yang dipilih

Mengeksekusi tombol extract3

Melakukan proses Extracting3

(54)

Gambar 3.14 Activity Diagram untuk Extracting3

Spesifikasi Use Case Decryption2 dapat dilihat pada Tabel 3.13

Tabel 3.13 Tabel Spesifikasi Use Case untuk Decryption2

Name Decryption2

Actors Recipient

Trigger Recipient memiliki Ciphertext3

Preconditions Recipient mengeksekusi tombol Decrypt2

Postconditions Recipient dapat melihat Ciphertext3 hasil Encryption2 Success Scenario 1. Recipient memiliki Ciphertext3

2. Recipient mengeksekusi tombol Decrypt2

3. Sistem melakukan proses Decryption2 dan menampilkan Plaintext

4. Recipient dapat melihat Plaintext awal hasil dari proses

Encyption2 dan mengeksekusi tombol Save Plaintext

5. Sistem menyimpan Plaintext Alternative Flows

-Activity Diagram untuk Decryption2 dapat dilihat pada Gambar 3.15

Recipient

System

Memiliki Ciphertext3

Mengeksekusi tombol decrypt2

Melakukan Decryption2

Menampilkan Plaintext awal Melihat Plaintext awal

Mengeksekusi tombol Save Palintext

(55)

Gambar 3.15 Activity Diagram untuk Decryption2

3.1.4 Pseudocode

Pseudocode adalah kode atau bentuk penulisan algoritma dengan struktur pemrograman yang sederhana dan dapat dimengerti manusia sehingga memudahkan dalam memahami suatu algoritma.

3.1.4.1Pseudocode Proses Generate Prime

Berikut adalah Pseudocode untuk proses Generate Prime ulang:

Random rndp = new Random()

p ← rndp.Next(257, 1000)

if (Fermat(p))

prima.Text ← Convert.ToString(p)

else

goto ulang end if

Proses Generate Prime dilakukan dengan cara melakukan random nilai bilangan prima p mulai dari 257 hingga 1000 dan selanjutnya nilai p yang dirandom diperiksa sesuai proses Fermat. Jika nilai p sesuai dengan proses Fermat maka nilai p akan didapatkan.

3.1.4.2Pseudocode Proses Fermat

Berikut adalah Pseudocode Proses Fermat

BigInteger a = 0;

for (int i = 0; i <= p.ToString().Length; i++) Random rnda = new Random();

a = rnda.Next(2, (int)p);

if (!(BigInteger.ModPow(a, p - 1, p).IsOne)) return false

end if

(56)

Proses Fermat dilakukan untuk mencari bilangan prima yang akan digunakan untuk membangkitkan nilai kunci. Bilangan prima didapatkan dengan melakukan random

nilai bilangan bulat a dengan bilangan prima p dalam rentang 1 < �< � dan selanjutnya mengikuti Fermat Little’s Theorem yaitu ��−1 ≡(����).

3.1.4.3Pseudocode Proses Euclidean GCD

Berikut adalah Pseudocode untuk proses Euclidean GCD

BigInteger r ← m % n

if (r = 0) return n

return cariGCD(n, r)

Pada proses Euclidean GCD digunakan pada saaat mencari nilai kunci enkripsi. Untuk memeriksa apakah nilai kunci enkripsi relatif prima dengan p-1 dimana p adalah bilangan prima.

3.1.4.4Pseudocode Proses Generate Key

Berikut adalah Pseudocode untuk proses Generate Key

ulange:

Random rnde = new Random()

e ← rnde.Next(2, (int)p - 1)

if (cariGCD(e, p) = 1)

nilaie.Text ← Convert.ToString(e)

BigInteger hasil = 0; d = 0;

while (hasil != 1) dA++

hasil ← ((d * e) % (p - 1));

if (d > 100000) goto ulange

end if

nilaid.Text ← d.ToString()

else

(57)

Pada proses Generate Key dilakukan random nilai kunci enkripsi e dalam rentang 1 < � < � −1 dan dilakukan pengecekan berdasarkan algoritma Euclidean

GCD. Jika sesuai, maka didapatkan nilai e yang selanjutnya digunakan untuk mencari nilai kunci dekripsi dengan cara melakukan modulo invers terhadap kunci e atau

��� ≡1 (���� −1). Selanjutnya nilai d dibatasi sampai nilai 100000 untuk mengurangi proses yang terlalu lama pada generate key. Jika nilai d yang didapatkan lebih besar dari 100000 maka akan mengulangi proses random nilai kunci enkripsi.

3.1.4.5Pseudocode Proses Enkripsi

Berikut adalah Pseudocode untuk proses Enkripsi

string plaintext = plain.Text

cipher1enkrip1.Text = "" string pA = ""

foreach (char c in plaintext)

pA += System.Convert.ToInt32(c).ToString() + " " end foreach

string[] temp = pA.Split(' ')

Cipher ← new BigInteger[temp.Length]

for (int i = 0; i < Cipher.Length - 1; i++)

Cipher[i] ← BigInteger.Pow(BigInteger.Parse(temp[i]),

(int)eA) % (int)p

cipher1enkrip1.Text += Cipher[i].ToString() + " "

end for

SCipher ← new int[(temp.Length * 2) - 2]

string mb = "" string cip

for (int i = 0, j = 0; i < Cipher.Length - 1; i++, j+=2)

cip ← Cipher[i].ToString()

if (cip.Length = 1) cip ← "000" + cip

else if (cip.Length = 2) cip ← "00" + cip

else if (cip.Length = 3) cip ← "0" + cip

SCipher[j] ← Convert.ToInt32(cip.Substring(0, 2))

SCipher[j + 1]←Convert.ToInt32(cip.Substring(2,2))

mb += SCipher[j].ToString() + " " +

SCipher[j +1].ToString() + " "

Gambar

Gambar 2.6 Skema Prosedur Pengiriman Pesan Alice-Bob [5]
Gambar 2.8 Contoh Citra Bitmap
Tabel 3.4 Spesifikasi Use Case untuk Embedding1
Gambar 3.13 Activity Diagram untuk Embedding3
+7

Referensi

Dokumen terkait

Pada penelitian ini, pesan atau file teks yang akan dikirim terlebih dahulu enkripsi dengan algoritma kriptografi LUC, selanjutnya hasil enkripsi akan disembunyikan

Dari pengujian yang telah dilakukan penulis, dapat menunjukkan bahwa untuk proses stego dengan metode steganografi end of file tidak akan merubah kualitas citra,

Pada penelitian ini masalah yang diangkat adalah pengamanan file text dan file citra menggunakan dua metode yaitu steganografi dengan teknik end of file (EOF) dan

Data yang disembunyikan tersebut akan disisipkan pada akhir file sehingga file image akan terlihat sedikit berbeda dengan aslinya[1].. Karena metode EOF tidak

Teknik Penyembunyian Citra Digital Pada File Video.. Dengan Metode End

Tampilan Byte Pada Gambar Berikut akan dibahas hasil implementasi dari aplikasi enkripsi dan dekripsi pesan teks dengan algoritma Affine Cipher untuk steganografi pada

Jika pada kriptografi, data yang telah disandikan ( ciphertext ) tetap tersedia, maka dengan steganografi cipherteks dapat disembunyikan sehingga pihak ketiga

Secara umum steganografi merupakan seni atau ilmu yang digunakan untuk menyembunyikan pesan rahasia dengan segala cara sehingga selain orang yang dituju, orang lain