• Tidak ada hasil yang ditemukan

Implementasi Sistem Keamanan Data Menggunakan Steganografi Teknik First Of File Dan Inverse Matrix Cipher Kunci Ganda

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Sistem Keamanan Data Menggunakan Steganografi Teknik First Of File Dan Inverse Matrix Cipher Kunci Ganda"

Copied!
103
0
0

Teks penuh

(1)

LISTING PROGRAM

function varargout = beranda(varargin)

Kode Program Tampilan Home

gui_Singleton = 1;

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:}); end

function beranda_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

guidata(hObject, handles);

function varargout = beranda_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

Kode Program Enkripsi dengan kunci 1

function enkrip1_Callback(hObject, eventdata, handles) % hObject handle to enkrip1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) FKripto=guidata(gcbo);

(2)

k13=str2double(get(handles.k13,'string'));

kunci=[k11 k12 k13 k14;k21 k22 k23 k24;k31 k32 k33 k34;k41 k42 k43 k44];

dk=det(kunci); if dk==0

errordlg('Determinan matriks kunci 1 tidak boleh 0'); guidata(hObject,handles);

end

input=get(FKripto.listbox1,'Userdata'); if isequal(input,[])

errordlg({'Plaintext tidak ditemukan.','silahkan isi plaintext .'},'Error','modal');

guidata(hObject,handles); %menambahkan spasi agar jumlah array habis dibagi 4

handles.kata

if mod(handles.l,4)~=0

while mod(handles.l,4)~=0 handles.l=handles.l+1;

for i=1:i<=(handles.ltemp-length(handles.kata))

%membuat matriks baru dengan ukuran 4xn, n=jumlah kolom (panjang kalimat/4)

handles.word=abs(handles.kata); guidata(hObject,handles);

(3)

handles.poskata=1;

guidata(hObject,handles);

for i=1:(length(handles.word)/4) for k=1:4

handles.temp(k,i)=handles.word(1,handles.poskata); guidata(hObject,handles);

%perkalian matriks dengan kunci pertama handles.m=handles.temp;

guidata(hObject,handles); end

handles.m

%mengubah kebentuk array 1 dimensi

handles.kos=zeros(1,length(handles.kata));

handles.sem2= sem'; %sem' artinya transpose matriks sem guidata(hObject,handles);

for k=1:4

handles.kos(1,handles.poskol)=handles.sem2(1,k); handles.poskol=handles.poskol+1;

(4)

close(h);

function enkripsi2_Callback(hObject, eventdata, handles)

Kode Program Enkripsi dengan kunci 2

% hObject handle to enkripsi2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) FKripto=guidata(gcbo);

kunci2=[m11 m12 m13 m14;m21 m22 m23 m24;m31 m32 m33 m34;m41 m42 m43 m44];

dm=det(kunci2); if dm==0

errordlg('Determinan matriks kunci 2 tidak boleh 0'); guidata(hObject,handles);

end

cipher1=get(FKripto.listbox2,'Userdata'); if isequal(cipher1,[])

errordlg({'Belum ada ciphertext hasil enkripsi kunci 1.','silahkan lakukan enkripsi dengan kunci 1 .'},'Error','modal');

guidata(hObject,handles);

for i=1:(length(handles.word)/4) for k=1:4

handles.temp(k,i)=handles.word(1,handles.poskata); guidata(hObject,handles);

handles.poskata=handles.poskata+1; end

end

%perkalian matriks dengan kunci kedua for i=1:length(handles.kata)/4

(5)

sel=kunci2*temp2; handles.m(:,i)=sel;

guidata(hObject,handles); end

handles.m

%mengubah kebentuk array 1 dimensi

handles.kos=zeros(1,length(handles.kata));

handles.sem2= sem'; %sem' artinya transpose matriks sem guidata(hObject,handles);

for k=1:4

handles.kos(1,handles.poskol)=handles.sem2(1,k); handles.poskol=handles.poskol+1;

(6)

k13=str2double(get(handles.k13,'string'));

kunci=[k11 k12 k13 k14;k21 k22 k23 k24;k31 k32 k33 k34;k41 k42 k43 k44];

kunci2=[m11 m12 m13 m14;m21 m22 m23 m24;m31 m32 m33 m34;m41 m42 m43 m44];

(7)

detemp2=detemp(:,i);

desel=inv(kunci2)*detemp2; detemp(:,i)=round(desel); end

detemp

%perkalian matriks dengan invers kunci pertama for i=1:length(data)/4

detemp2=detemp(:,i); desel=inv(kunci)*detemp2; detemp(:,i)=round(desel); end

detemp

%mengubah kebentuk array 1 dimensi kalimat=zeros(1,length(data));

sem2= [sem']; %sem' artinya transpose matriks sem for k=1:4

errordlg({'Lebar gambar anda tidak memenuhi syarat untuk penanda akhir,','silahkan cari gambar lain .'},'Error','modal');

(8)

if(s<aa)

(9)

posdata=1;

if(tamp(1,k)==35&&tamp(1,k+1)==35&&tamp(1,k+2)==35) behind=k

errordlg('Citra tidak menyimpan pesan rahasia'); guidata(hObject,handles);

(10)

CURRICULUM VITAE

1. DATA PRIBADI

Nama Lengkap : BASRAH NASUTION Nama Panggilan : BASRAH

Tempat/ Tgl. Lahir : Padangsidimpuan, 14 Agustus 1990 Jenis Kelamin : Laki-laki

2. LATAR BELAKANG PENDIDIKAN

No. Nama Sekolah Tahun

1. SDN .200206 Kota Padangsidimpuan 1997 - 2003

3. SMP N.2 Kota Padangsidimpuan 2003 - 2006

4. SMA N.4 Kota Padangsidimpuan 2006 - 2009

5. S1 Ilmu Komputer Universitas Sumatera Utara 2009 - 2013

3. PENGALAMAN KERJA

No. Instansi/Unit Jabatan/Posisi Tahun

1. Asisten Ilmu Komputer USU Asisten Laboratorium (Pengajaran Berbantuan Komputer)

2012

2. IKLC(Ilmu Komputer Laboratory Center)

Asisten Laboratorium (Grafika Komputer)

2012

3. IKLC(Ilmu Komputer Laboratory Center)

Asisten Laboratorium (Pemrograman Internet)

2013

4. PENGALAMAN KURSUS/PELATIHAN/SEMINAR

No. Nama Kursus/Pelatihan/Seminar Tahun

1. Jaya Course 2009

2. Workshop Addakwah Bloggership Camp (ABC) 2012

3. PELADKES BKM Al-Khuwarizmi 2010

4. Pelatihan Dasar Organisasi IMILKOM USU 2010

(11)

Operating System Technolog: Android The New Trend in Modern Operating System”.

7. Workshop Digital Paperless Publication 2011

8. Workshop dasar pemrograman mikrokontroler 2010

9. SMART LIBRARY 2012

10. Diskusi Panel Sains Interdisipliner Dunia Terkini: Pengenalan Agent Based Model dan Aplikasinya

2010

11. Workshop Teknik Hacking 2010

12. Workshop Teknik Dasar Fotografi 2010

13. Pembicara PLADKES UKMI Al-Khuwarizmi 2013

14. Pembicara Pelatihan Dasar Organisasi IMILKOM USU 2012

15. USU Workshop English Debating 2012

16. Seminar Nasional Kongres Nasional ILP2MI “Pencaplokan Budaya”

2013

5. PENGALAMAN ORGANISASI

No Nama Organisasi Jabatan Tahun

1. Ikatan Mahasiswa Kota Padangsidimpuan (IMAKOPASID)

Kabid. LITBANG 2012

2. UKMI Al-Khuwarizmi Fasilkom-TI USU

Sekretaris Umum 2011

3. UKMI Ad-Dakwah USU Anggota Komunikasi Dakwah 2012 4. SGC (Smartgeneration

Community) USU

Anggota Divisi Jaringan 2012

5. PEMA Fasilkom-TI USU Kabid. ROHIS 2012

6. IKLC (Ilmu Komputer Laboratory Center)

Ketua Umum 2013

7. Sobat Bumi Medan Anggota 2012-2013

6. PRESTASI/PENGHARGAAN

No Prestasi/Penghargaan Tahun

1. Finalis Nasional Trust By Danone 2012 2. Cadre Of This Month UKMI

Ad-Dakwah USU.

2012

3. Pemenang Hibah Bina Desa MITI 2013

7. PENGABDIAN MASYARAKAT

No Kegiatan Pengabdian Tahun

1. IKLC Mengabdi “Pelatihan Spesifikasi Ilmu Komputer di SMA N 1 Perbaungan Kab.Serdang Bedagai SUMUT

2012

2. Bakti Sosial Panti Asuhan Bani Adam UKMI Al-Khuwarizmi Fasilkom-TI USU

(12)

3. Gerakan Seribu Qur’an UKMI Ad-Dakwah USU 2012

4. Sedekah Bumi Sobat Bumi Medan 2013

5. Sedekah Bumi “ Aksi tanam pohon di pondok pesantren yatim darul fatimah Binjai SUMUT”

2013

6 Penyelenggara Try Out SNMPTN Se-Kota Padangsidimpuan IMAKOPASID

2012

Demikian riwayat hidup ini saya perbuat dengan sebenar-benarnya.

Hormat saya,

(13)

DAFTAR PUSTAKA

[1] Anonim. Memahami model enkripsi dan security data. Yogyakarta: Penerbit

Andi.

[2] Brigida. 2013. Unified Modeling Language. (Online)

[3] Dony Ariyus. 2006. Computer Security. Yogyakarta: Penerbit ANDI.

[4] Erick & Yessica. 2007. Cepat Mahir GUI MATLAB. Yogyakarta: Penerbit

ANDI.

[5] Krisnawati. 2008. Metode Least Significant Bit (LSB) dan End of File untuk

menyisipkan teks kedalam citra grayscale. Skripsi. Yogyakarta, Indonesia

STMIK AMIKOM Yogyakarta.

[6] Kurniawan,Y. 2004. Kriptografi: Keamanan Internet Dan Jaringan

Telekomunikasi. Bandung: Informatika Bandung.

[7] Molin, Richard A. 2007. An Introduction to Cryptography (Discrete

mathematics and its application). Boca Raton: Chapman & Hall/CRC

[8]Munawar. 2005. Pemodelan Visual dengan UML.Yogyakarta: Garaha Ilmu.

[9] Sinaga,Y.A. Program Steganalisis Metode LSB pada Citra dengan

Enhanced LSB, Uji Chi-Square, dan RS-Analysis. Skripsi. Bandung,

Indonesia: Institut Teknologi Bandung.

[10] Soplanoit, S. 2006. Steganografi dengan Chaotic Least Significant Bit

Encoding pada Telepon Genggam. Skripsi. Jakarta Barat, Indonesia:

Universitas Taruma Negara.

[11] Sutoyo,T dkk. 2009. Teori Pengolahan Citra Digital. Yogyakarta: Penerbit

ANDI.

[12] T.Sutojo, dkk. 2010. Teori dan Apliasi Aljabar Linier dan Matriks.

Yogyakarta: ANDI.

[13] Wandani, H. 2012. Implementasi Sistem Keamanan Data dengan

menggunakan Teknik Steganografi End of File (EOF) dan Rabin Public Key

(14)

[14] Zarlis,M., Handrizal & Sembiring, S. 2010. Pemrograman Komputer: Satu

Pendekatan kepada Pemrograman Berorientasi Objek dalam C++. Medan:

(15)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan tahapan pemahaman yang menyeluruh terhadap

kebutuhan sistem sehingga diperoleh gambaran tugas-tugas yang akan dikerjakan

sistem. Analisis sistem bertujuan agar sistem yang dibangun tepat guna dan

mempermudah dalam pengembangan sistem selanjutnya.

3.1.1 Analisis Masalah

Mengamankan kerahasiaan data menggunakan kriptografi artinya

menyamarkan data menjadi kode tertentu. Teknik steganografi yang digunakan dalam

sistem membantu meningkatkan pengamanan dengan cara menyisipkan pesan

kedalam media digital berupa citra bmp. Kemunculan sistem ini dapat dilihat dari

diagram ishikawa yang menunjukkan hubungan sebab akibat dari masing-masing

(16)

Gambar 3.1 Diagram Ishikawa

Berdasarkan gambar 3.1 dapat dilihat bahwa masalah dipengaruhi oleh empat faktor

primer yaitu people, method, material, dan machine. Kemudian faktor-faktor tersebut

dijabarkan lagi menjadi faktor sekunder yang lebih rinci.

3.1.2 Analisis Persyaratan

3.1.2.1 Analisis Fungsional

Analisis fungsional menjelaskan segala sesuatu yang dimiliki dan dikerjakan

oleh sistem. Dalam sistem keamanan data menggunakan steganografi teknik First of

File dan Inverse Matrix Cipher Kunci Ganda memiliki persyaratan fungsional, antara

lain:

1. Pesan yang digunakan untuk proses enkripsi berformat (*.txt) dengan cover

image berformat (*.bmp).

2. Digunakan dua matriks kunci masing-masing berordo 4x4.

3. Tanda pengenal steganografi yang digunakan untuk membaca pesan terletak

pada awal pesan didefault berupa kode ASCII dari “#” dan diakhir pesan

didefault berupa kode ASCII dari “###”.

4. Citra stego hasil penyembunyian pesan pada cover image disimpan dalam

format (*.bmp).

5. Kunci yang digunakan untuk mendekripsi pesan sama dengan kunci yang

(17)

3.1.2.2 Analisis Nonfungsional

Persyaratan nonfungsional meliputi kinerja, mudah digunakan, hemat biaya,

dokumentasi dan kontrol.

1. Kinerja

Sistem yang dibangun harus dapat menunjukkan hasil nyata dari

penggabungan proses antara metode First of File dan Inverse Matrix Cipher

Kunci Ganda.

2. Mudah digunakan

Sistem yang dibangun harus memiliki sifat mudah untuk digunakan oleh

pengguna. Hal ini erat kaitannya dengan interface (antarmuka) yang

memberikan pemahaman penggunaan dengan mudah bagi pengguna.

3. Hemat Biaya

Sistem yang dibangun tidak mengeluarkan tambahan piranti lain sebagai

pendukung yang membutuhkan biaya.

4. Dokumentasi

Sistem yang dibangun dapat menunjukkan rekaman waktu pemrosesan data

disetiap tahapan (enkripsi, dekripsi, embed dan ekstrak).

5. Kontrol

Sistem memiliki kontrol berupa aturan-aturan seperti kemunculan kotak

peringatan ketika user menginputkan inputan yang tidak diizinkan oleh sistem.

3.2 Pemodelan

Pemodelan sistem dilakukan bertujuan untuk mepermudah dalam pengembangan

sistem. Pemodelan sistem dibuat dalam bentuk flowchart, pseudocode, use case

diagram serta perancangan antarmuka (interface). Perancangan sistem ini nantinya

(18)

3.2.1 Flowchart Gambaran Umum Sistem

Ada empat proses yang dikelompokkan dalam dua kategori pada sistem yang akan

dibagun, yaitu proses embedding dan extraction. Proses Embedding terdiri dari proses

enkripsi plaintext dan penyisipan ciphertext ke cover image. Proses extraction terdiri

dari proses ekstraksi ciphertext dari citra stego dan dekripsi ciphertext. Keseluruhan

proses tersebut secara umum dapat dilihat melalui flowchart pada Gambar 3.2:

(19)

3.2.1.1 Flowchart Enkripsi

Flowchart untuk proses enkripsi dengan algoritma Inverse Matrix Cipher dapat

dilihat melalui Gambar 3.3 berikut:

Gambar 3.3 Flowchart Proses Enkripsi Dengan Inverse Matrix Cipher

3.2.1.2 Flowchart Dekripsi

Guna mengembalikan ciphertext hasil enkripsi mejadi plaintext maka dibutuhkan

(20)

dekripsi dengan algoritma Inverse Matrix Cipher dapat dilihat melalui flowchart pada

Gambar 3.4.

Gambar 3.4 Flowchart Proses Dekripsi Dengan Inverse Matrix Cipher

3.2.1.3 Flowchart Proses Embedding

Proses penyisipan pesan kedalam citra penampung menggunakan metode First of File

(21)

Gambar 3.5 Flowchart Proses Embedding Dengan Metode First Of File

3.2.1.4 Flowchart Proses Ekstraksi

Proses ekstraksi menggunakan metode First of File dapat dilihat melalui Gambar 3.6

(22)

Gambar 3.6 Flowchart Proses Ekstraksi Dengan Metode First Of File

3.2.2 Unified Modeling Language (UML)

Unified modeling language (UML) menunjukkan bagaimana mengekspresikan sebuah

desain berorientasi objek. Dengan menggunakan UML kita dapat membuat model

untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada

piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa

pemrograman apapun. Konsep dasar UML terdiri dari structural classification,

dynamic behavior, dan model management, dapat kita pahami dengan mudah apabila

kita melihat dari diagram. Diagram yang akan penulis gunakan untuk pemodelan

sistem ini adalah:

1. Use Case Diagram.

(23)

3.2.2.1 Use Case Diagram

Use case diagram yang menggambarkan bagaimana orang-orang berinteraksi dengan

sistem tersebut. Sebuah use case merepresentasikan sebuah interaksi antara aktor

dengan sistem. Use case diagram pada sistem seperti yang dijelaskan pada Gambar

3.7.

Gambar 3.7 Use Case Diagram Sistem

3.2.2.1.1 Use Case Enkripsi/Embed

Rincian use case Enkripsi/Embed dapat dilihat pada Tabel 3.2

Penggun

(24)

Tabel 3.1 Rincian Use Case Enkripsi/Embed

Name Enkripsi/Embed.

Actors Pengguna.

Trigger Pengguna memilih sub menu Enkripsi/Embed.

Preconditions Pengguna menggunakan sistem pengamanan data.

Post Conditions Pengguna dapat melihat citra stego hasil penyisipan data

kedalam citra asli (citra kover) .

Success Scenario 1. Pengguna membuka aplikasi keamanan data.

2. Pengguna memilih sub menu Enkripsi/Embed dari menu

Proses.

3. Sistem menampilkan Form enkripsi/embed.

4. Pengguna menginputkan kunci 1 .

5. Pengguna menekan tombol buka dan memilih file

plaintext (.txt).

6. Pengguna menekan tombol enkripsi untuk mengenkripsi

pesan menjadi ciphertext 1 dan menampilkan hasil

enkripsi kunci 1.

7. Pengguna menginputkan kunci 2.

8. Pengguna menekan tombol enkripsi untuk mengenkripsi

chipertext 1 menjadi ciphertext 2 dan menampilkan hasil

enkripsi kunci 2.

9. Pengguna menekan tombol browse untuk memilih citra

kover.

10.Pengguna menekan tombol embed untuk menyisipkan

pesan ke dalam citra kover.

11.Sistem menampilkan citra stego.

12.Pengguna menekan tombol save untuk menyimpan citra

stego.

(25)

3.2.2.1.2 Use Case Ekstrak/Dekripsi

Rincian use case Ekstrak/Dekripsi dapat dilihat pada Tabel 3.3

Tabel 3.2 Rincian Use Case Ekstrak/Dekripsi

Name Ekstrak/Dekripsi

Actors Pengguna

Trigger Pengguna memilih sub menu ekstrak/dekripsi dari menu

proses.

Preconditions Pemgguna menggunakan sistem pengamanan data

Post Condition Pengguna dapat melihat ciphertext dari citra stego yang

kemudian didekripsi menjadi plaintext.

Success Scenario 1. Pengguna membuka aplikasi pengamanan data.

2. Pengguna memilih sub menu ekstrak/dekripsi dari

menu proses.

3. Sistem menampilkan form ekstrak/dekripsi.

4. Pengguna menekan tombol browse untuk memilih citra

stego.

5. Pengguna menekan tombol ekstrak untuk menguraikan

ciphertext yang disisipkan dalam gambar.

6. Sistem menampilkan ciphertext.

7. Pengguna memasukkan kunci 1 dan 2 sebelum

melakukan proses dekripsi.

8. Pengguna menekan tombol dekripsi untuk dekripsi

ciphertext menjadi plaintext.

Alternative Flow -

3.2.2.2 Activity Diagram

dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan

(26)

paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram untuk sistem

ini dapat dilihat seperti Tabel 3.4:

Tabel 3.3 Activity Diagram FOF dan Inverse Matrix Cipher

User

(27)

3.2.3 Pseudocode

Pseudocode secara singkat dapat diartikan kode semu merupakan urutan baris

algoritma yang menyerupai bahasa pemrograman guna menjelaskan cara

menyelesaikan suatu masalah. Setiap tahapan proses yang terlibat dalam sistem ini

digambarkan kedalam beberapa pseudocode berikut:

3.2.3.1 Pseudocode Proses Enkripsi

Tahapan langakah yang berlangsung dalam proses enkripsi dengan Inverse Matrix

Cipher dapat dilihat melalui pseudocode berikut:

Gambar 3.8 Pseudocode Enkripsi Dengan Inverse Matrix Cipher

3.2.3.2 Pseudocode Proses Dekripsi

Langkah-langkah proses dekripsi dengan Inverse Matrix Cipher dapat dilihat melalui

(28)

Gambar 3.9 Pseudocode Dekripsi Dengan Inverse Matrix Cipher 3.2.3.3 Pseudocode Proses Embedding

Tahapan proses penyisipan ciphertext kedalam citra penampung dapat dilihat melalui

pseudocode berikut:

(29)

3.2.3.4 Pseudocode Proses Ekstraksi

Langkah-langkah proses ekstraksi ciphertext dari citra stego dapat dilihat melalui

pseudocode berikut:

(30)

3.3 Tahapan Inverse Matrix Cipher

Pada tahapan Inverse Matrix Cipher dilakukan enkripsi dan dekripsi. Dalam

melakukan proses enkripsi dengan algoritma Inverse Matrix Cipher digunakan dua

matriks kunci untuk pengamanan pesan. Matriks kunci beordo 4x4 untuk kedua kunci.

Kunci untuk enkripsi dapat diinputkan secara langsung oleh user atau menggunakan

matriks dengan nilai elemen yang diacak oleh komputer.

3.3.1 Proses Enkripsi Inverse Matrix Cipher

Proses enkripsi Inverse Matrix Cipher melibatkan matriks kunci persegi ordo

4x4 untuk kedua kunci yang digunakan. K= . Misalkan

kunci yang digunakan untuk kedua kunci adalah sebagai berikut:

K1=

K2=

Tahapan proses enkripsi adalah:

1. Masukkan plaintext yang akan dienkripsi. Agar dapat dikalikan dengan plaintext

maka plaintext diubah kedalam kode ASCII. Misalkan pesan ‘BISA DICOBA”

sesuai kode ASCII menjadi 66 73 83 65 32 68 73 67 79 66 65. Agar proses

perkalian matriks dapat berlangsung maka panjang plaintext harus habis dibagi 4,

untuk itu ditambahkan spasi diakhir plaintext, spasi memiliki kode ASCII 32,

(31)

Tabel 3.4 Konversi Plaintext Menjadi Kode ASCII

B I S A space D I C O B A space

66 73 83 65 32 68 73 67 79 66 65 32

2. Plaintext yang telah diubah kebentuk ASCII dikalikan dengan matriks kunci sesuai

rumus Yi=K*Xi

Keterangan: Y=ciphertext

K=kunci

X=plaintext

Misalkan plaintext diatas kita enkripsi. Maka sebelum dienkripsi agar dapat

dikalikan dengan matriks kunci persegi ordo 4x4, deret angka dipartisi menjadi

beberapa kelompok array dengan jumlah elemen sebanyak 4 untuk masing-masing

array yang diubah dalam bentuk matriks ordo 4x1, karena dibagi 4 akan ditemukan

tiga matriks misalkan X1, X2 dan X3, maka dapat dituliskan sebagai berikut,

X1= , X2= dan X3= .

sehingga ciphertext yang dihasilkan sebagai berikut:

Y1=K*X1

Y1 = =

Y2=K*X2

Y2= =

Y3=K*X3

Y3= =

Sampai disini proses perkalian dengan kunci pertama selesai selanjutnya dikalikan

(32)

Y1= =

Y2= =

Y3= =

Hasil gabungan ketiganya menjadi rangkaian ciphertext berikut 13071 14895

23387 41495 11415 12920 20247 35891 10121 11263 17910 32554. Mengingat

setelah proses enkripsi akan ada proses penyisipan ciphertext kedalam gambar

dimana nilai elemen ciphertext maksimal 255, maka dengan angka yang besar

seperti diatas tidak memungkinkan disematkan kedalam gambar. Selanjutnya string

ciphertext tersebut diubah kedalam kode ASCII lagi untuk tiap-tiap karakternya,

sehingga ditemukan ciphertext menjadi 49 51 48 55 49 32 32 49 52 56

57 53 32 32 50 51 51 56 55 32 32 52 49 52 57 53 32 32 49

49 52 49 53 32 32 49 50 57 50 48 32 32 50 48 50 52 55 32

32 51 53 56 57 49 32 32 49 48 49 50 49 32 32 49 49 50 54

51 32 32 49 55 57 49 48 32 32 51 50 53 53 52.

Dengan kondisi seperti ini maka ciphertext dapat disisipkan kedalam gambar.

3.3.2 Proses Dekripsi Inverse Matrix Cipher

Tahapan proses dekripsi Inverse Matrix Cipher adalah sebagai berikut:

1. Inputkan ciphertext. Sebagai contoh digunakan ciphertext hasil enkripsi yang

disematkan kedalam gambar yaitu: 49 51 48 55 49 32 32 49 52 56 57

53 32 32 50 51 51 56 55 32 32 52 49 52 57 53 32 32 49 49

52 49 53 32 32 49 50 57 50 48 32 32 50 48 50 52 55 32 32

51 53 56 57 49 32 32 49 48 49 50 49 32 32 49 49 50 54 51

(33)

2. Masukkan matriks kunci satu dan dua.

Sebagai contoh digunakan matriks kunci yang digunakan pada bagian enkripsi

yaitu: K1= dan K2=

3. Ubah ciphertext menjadi tipe string sehingga ditemukan kembali angka hasil

perkalian plaintext terhadap kunci pada tahap enkripsi, seperti berikut:

13071 14895 23387 41495 11415 12920 20247 35891 10121 11263 17910

32554

4. Ubah tipe ciphertext dari string menjadi number agar dapat dikalikan dengan

matriks kunci.

5. Partisi array ciphertext kedalam bentuk matriks 4x1 sehingga ditemukan tiga

matriks hasil partisi sebagai berikut:

Y1= , Y2= , Y3=

6. Kalikan masing-masing kelompok matriks ciphertext dengan inverse matriks

kunci kedua yang hasilnya dibulatkan kedalam bilangan bulat terdekat.

Xi=K2

-X1=

Yi

=

X2= =

X3= =

7. Hasil perkalian pada langkah keenam dikalikan lagi dengan matriks kunci

pertama yang hasilnya dibulatkan kebilangan bulat terdekat, sehingga Xi=K1

-X1=

Xi

(34)

X2= =

X3= =

8. Hasil perkalian terakhir merupakan plaintext dalam bentuk decimal kode ASCII,

selanjutnya seluruh partisi matriks digabung menjadi satu array dan

dikonversikan kebentuk alfabet sehinga ditemukan:

66 73 83 65 32 68 73 67 79 66 65 32

B I S A space D I C O B A space

9. Plaintext ditemukan bertuliskan “BISA DICOBA”

10. Proses dekripsi selesai.

3.4 Tahapan Metode First Of File

Proses End Of File mencakup dua kerja utama yaitu proses penyisispan pesan

kedalam gambar (embedding) dan proses ekstraksi pesan (extraction). Pada metode

First Of File pesan akan disisipkan dibagian atas dari file (header). Pada system ini

pesan yang disisipkan yaitu ciphertext berupa angka hasil enkripsi menggunakan

algoritma kriptografi Inverse Matrix Cipher dan citra penampung yang digunakan

adalah citra berformat bmp.

3.4.1 Proses Embedding

Tahapan proses embedding menggunakan metode steganografi First Of File

dilakukan dengan langkah sebagai berikut:

1. Masukkan ciphertext yang akan disematkan.

2. Inputkan citra bitmap sebagai media penyisipan.

(35)

4. Tambahkan ciphertext diawal piksel citra dan diberi penanda diawal dan diakhir

dari ciphertext yang disisipkan.

5. Petakan menjadi citra baru.

Berikut contoh penyisispan ciphertext menggunakan metode First Of File kedalam

citra RGB dimensi 8x8. Matriks piksel citra tersebut digambarkan seperti Gambar 3.1:

97 98 70 52 60 62 52 99

51 56 14 38 55 104 96 96

77 92 14 38 55 104 96 96

92 12 34 67 88 99 211 34

55 66 43 89 211 234 209 45

66 80 93 60 60 60 51 56

94 91 79 16 62 90 69 73

87 66 62 60 32 105 88 71

Gambar 3.12 Matriks Piksel Citra 8x8

Matriks piksel citra diatas akan disisipkan ciphertext 49 51 48 55 49 32 32 49

52 56 57 53 32 32 50 51 51 56 55 32 32 52 49 52 57 53 32 32

49 49 52 49 53 32 32 49 50 57 50 48 32 32 50 48 50 52 55 32

32 51 53 56 57 49 32 32 49 48 49 50 49 32 32 49 49 50 54 51

32 32 49 55 57 49 48 32 32 51 50 53 53 52. Sebelum disematkan

ciphertext tersebut diberi penanda awal dengan nilai ASCII dari “#” yaitu 35 dan

penanda akhir dengan karakter “###” yang memiliki nilai desimal ASCII “35 35 35”.

Dengan demikian dipetakan citra baru, citra baru ini disebut dengan stego image (citra

(36)

35 49 51 48 55 49 32 32

Gambar 3.13 Matriks Piksel Citra Disisipi Pesan

3.4.2 Proses Extraction

Proses extraction merupakan proses pengambilan ciphertext dari citra stego atau

media penampung menggunakan metode First Of File, adapun langkah-langkahnya

adalah sebagai berikut:

1. Inputkan citra stego.

2. Cek piksel awal apakah sesuai penanda.

3. Cek posisi penanda akhir.

(37)

Proses diatas dapat dilihat dari contoh pengambilan ciphertext dari citra stego

sebagaimana pada Gambar 3.3.

35 49 51 48 55 49 32 32

Gambar 3.14 Matriks Piksel Citra Stego

Dari matriks piksel citra tersebut dibaca nilai piksel matriks dari penanda awal sampai

penanda akhir sehingga ditemukan

(38)

Selanjutnya penanda awal dan akhir diuraikan sehingga hanya ciphertext asli saja

yang diambil seperti yang dijelaskan Gambar 3.4.

49 51 48 55 49 32 32 49 52 56 57 53 32 32 50 51 51 56 55 32 32 52 49 52 57 53 32 32 49 49 52 49 53 32 32 49 50 57 50 48 32 32 50 48 50 52 55 32 32 51 53 56 57 49 32 32 49 48 49 50 49 32 32 49 49 50 54 51 32 32 49 55 57 49 48 32 32 51 50 53 53 52

Gambar 3.15 Ciphertext Dari Citra Stego

3.5 Perancangan Antarmuka (Interface)

Perancangan antarmuka menampilkan antarmuka sistem yang akan digunakan sebagai

jembatan bagi user dalam menggunakan sistem yang dibuat. Antarmuka dirancang

sedemikian rupa agar pengguna sistem mendapat kemudahan dalam menggunakan

sistem. Dalam sistem yang akan dibangun, antarmuka terdiri dari lima halaman utama,

yaitu halaman Home, Embed, Extract, Help, dan About .

3.5.1 Halaman Home

Halaman Home merupakan tampilan awal sistem ketika sistem dijalankan, pada menu

bar terdapat pilihan menu utama sistem yaitu termasuk Home, Proses, Help dan About.

Pada menu Proses terdapat dua sub menu yaitu Enkripsi/Embed dan Ekstrak/Dekripsi.

Setiap menu yang dipilih sistem akan membuka halaman kerja menu tersebut. Setiap

menu memiliki fungsi yang berbeda. Tampilan Home akan dirancang seperti Gambar

(39)

Home

X

Home Proses Help About Exit 1

Enkrip/Embed Ekstrak/Dekripsi

Gambar 3.16 Rancangan Halaman Home

Berikut ini penjelasan dari rancangan visual dari halaman Home:

1. Bagian menu bar terdiri dari pilihan menu utama sistem yaitu

Home,Proses,Help,About dan Exit.

2. Merupakan statsic text berisi judul dari sistem.

3. Merupakan static text berisi informasi singkat pembuat sistem.

3.5.2 Halaman Enkripsi/Embed.

Halaman Enkripsi/Embed menjadi antarmuka bagi user untuk melakukan enkripsi dan

penyisipan ciphertext hasil enkripsi kedalam media citra bitmap. Rancangan halaman

Enkripsi/Embed dapat dilihat pada Gambar 3.16.

IMPLEMENTASI SISTEM KEAAMANAN DATA

MENGGUNAKAN STEGANOGRAFI TEKNIK FIRST OF FILE DAN INVERSE MATRIX CIPHER KUNCI GANDA

Developed by: Basrah Nasution 2

(40)

14

Gambar 3.17 Rancangan Halaman Enkripsi/Embed

Beberapa komponen yang digunakan dalam merancang antarmuka halaman

Enkripsi/Embed dijelasakan sebagai berikut:

1. Terdiri dari Menu Editor yang berupa menu bar yang menghubungkan user ke

halaman utama lainya seperti Home, Proses, Help, About dan Exit.

2. Merupakan Edit Text untuk menampilkan text yang akan dienkripsi.

3. Merupakan baris dan kolom representasi matriks 4x4 sebagai kunci 1.

Masing-masing elemen matriks terdiri dari Edit Text.

4. Merupakan Push Button untuk membuka file yang akan dienkripsi.

5. Merupakan Push Buton untuk melakukan setting ulang plaintext.

6. Tombol Random merupakan Push Button berfungsi memunculkan angka acak

untuk tiap-tiap elemen matriks kunci 1.

7. Merupakan Push Buton untuk melakukan setting ulang elemen matriks kunci 1.

8. Merupakan Push Button untuk melakukan enkripsi pesan.

18

(41)

9. Merupakan Edit Text untuk menampilkan panjang deret karakter hasil enkripsi.

10.Merupakan Edit Text untuk menampilkan ciphertext hasil enkripsi dengan kunci

pertama .

11.Merupakan Edit Text untuk menampilkan waktu proses enkripsi dengan kunci

pertama.

12.Merupakan baris dan kolom representasi matriks 4x4 sebagai kunci 2.

Masing-masing elemen matriks terdiri dari Edit Text.

13.Merupakan Push Button untuk melakukan enkripsi pesan dengan kunci 2.

14.Tombol Random merupakan Push Button berfungsi memunculkan angka acak

untuk tiap-tiap elemen matriks kunci 2.

15.Merupakan Push Buton untuk melakukan setting ulang elemen matriks kunci 2.

16.Merupakan Edit Text untuk menampilkan panjang deret karakter hasil enkripsi

dengan kunci 2.

17.Merupakan Edit Text untuk menampilkan ciphertext hasil enkripsi dengan kunci

2.

18.Merupakan Edit Text untuk menampilkan waktu proses enkripsi dengan kunci 2.

19.Merupakan komponen Axes untuk menampilkan cover image.

20.Merupakan Push Button untuk menelusuri lokasi direktori cover image.

21.Terdiri dari beberapa Edit Text untuk menampilkan informasi rincian citra seperti

lokasi, dimensi, nama file dan ukuran file.

22. Merupakan Push Button untuk melakukan proses penyisipan (embedding) ciphertext kedalam cover image.

23.Merupakan Axes untuk menampilkan citra stego.

24.Merupakan Push Button untuk melakukan proses penyimpanan citra stego.

25.Merupakan Edit Text untuk menunjukkan lama waktu proses embedding.

26.Merupakan Edit Text untuk menunjukkan total waktu proses enkripsi dengan

(42)

Waktu Proses

Halaman Ekstrak/Dekripsi adalah antarmuka oleh user untuk melakukan ekstraksi

pesan rahasia dan menguraikannya kembali menjadi plaintext dengan proses dekripsi

pesan. Halaman Ekstrak/Dekripsi dirancang sedemikian seperti Gambar 3.17

Extract

X

Home Proses Help About Exit

Gambar 3.18 Rancangan Halaman Ekstrak/Dekripsi

Beberapa komponen yang digunakan untuk halaman Ekstrak/Dekripsi dijelaskan

sebagai berikut:

1. Terdiri dari Menu Editor yang berupa menu bar yang menghubungkan user ke

halaman utama lainya seperti Home, Proses, Help, About dan Exit.

2. Merupakan Axes untuk menapilkan citra stego yang akan diekstrak.

3. Merupakan kumpulan beberapa Edit Text untuk menampilkan informasi citra

antara lain lokasi direktori, ukuran citra, nama file citra dan dimensi.

4. Merupakan Edit Text untuk menampilkan ciphertext hasil ekstraksi dari citra.

5. Merupakan Push Button untuk melakukan penelusuran lokasi file citra stego.

6. Merupakan Push Button untuk melakukan ekstraksi pesan yang ada dalam citra.

7. Merupakan Edit Text untuk menunjukkan waktu proses ekstraksi citra stego.

(43)

1

8. Merupakan baris dan kolom representasi matriks 4x4 seabagai kunci, disediakan

sebanyak dua buah yaitu kunci 1 dan kunci 2. Masing-masing elemen matriks

terdiri dari Edit Text.

9. Merupakan Push Button untuk melakukan dekripsi pesan.

10.Merupakan Edit Text untuk menunjukkan waktu proses dekripsi.

11.Merupakan Edit Text untuk menunjukkan plaintext hasil dekripsi ciphertext.

3.5.4 Halaman Help

Halaman Help dirancang untuk memberikan informasi berupa petunjuk melakukan

proses enkripsi, dekripsi, penyisipan dan ekstrak pada sistem. Halaman Help

dirancang seperti visualisasi pada Gambar 3.18.

Extract

X

Home Proses Help About Exit

Gambar 3.19 Rancangan Halaman Help

Beberapa komponen yang digunakan untuk halaman Help dijelaskan sebagai berikut:

1. Terdiri dari Menu Editor yang berupa menu bar yang menghubungkan user ke

(44)

2. Merupakan Edit Text berisi petunjuk proses enkripsi.

3. Merupakan Edit Text berisi petunjuk proses embedding.

4. Merupakan Edit Text berisi petunjuk proses ekstraksi.

5. Merupakan Edit Text berisi petunjuk proses dekripsi.

3.5.5 Halaman About

Halaman About merupakan halaman yang memberikan informasi terkait pembuat

program.

About

X

Gambar 3.20 Rancangan Halaman About

Beberapa komponen yang digunakan untuk halaman Help dijelaskan sebagai berikut:

1. Merupakan Edit Text berisi informasi tentang pembuat sistem.

2. Merupakan Push Button berfungsi untuk menutup halaman About. Info tentang programmer

OK

1

(45)

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1Implementasi Sistem

Tahap implementasi sistem dilakukan setelah tahap analisis First Of File dan Inverse

Matrix Cipher serta perancangan sistem. Sistem diimplementasikan kedalam bahasa

pemrograman MATLAB 7.5.0 (R2007b). Implementasi sistem akan disesuaikan

dengan rancangan yang telah dimodelkan sebelumnya. Perancangan sistem yang baik

akan berpengaruh pada pengembangan sistem ke tahap implementasi.

4.1.1 Spesifikasi Perangkat Keras

Spesifikasi peragkat keras yang digunakan untuk implementasi sistem ini adalah

sebagai berikut:

1. Processor Intel Core i3 2.20 GHz

2. Memory (RAM) 2 GB

3. Harddisk 500 GB

4. Resolusi monitor 1366 x 768 pixel

5. Mouse dan Keyboard

4.1.2 Spesifikasi Perangkat Lunak

Spesifikasi perangkat lunak yang digunakan dalam implementasi sistem ini adalah

sebagai berikut:

1. Sistestem Operasi Windows 7 Profesional.

(46)

4.2Tampilan Antarmuka (Interface)

Sesuai dengan perancangan sistem, maka ada lima halaman utama tampilan

antarmuka dari sistem yang dibangun yaitu:

1. Halaman Home.

2. Halaman Enkripsi/Embed.

3. Halaman Ekstrak/Dekripsi.

4. Halaman Help.

5. Halaman About.

4.2.1 Tampilan Halaman Home.

Halaman Home adalah halaman yang muncul pertama sekali ketika sistem dijalankan,

tampilan halaman Home seperti yang ditunjukkan Gambar 4.1

Gambar 4.1 Tampilan Halaman Home

Pada halaman Home terlihat bahwa terdapat lima pilihan pada menu bar yaitu Home,

Proses, Help, About dan Exit. Seperti yang ditunjukkan oleh gambar, bahwa menu

(47)

4.2.2 Tampilan Halaman Enkripsi/Embed

Halaman Enkripsi/Embed merupakan halaman yang ditujukan untuk melakukan

enkripsi plaintext dan penyisipannya ke dalam citra bitmap. Halaman Enkripsi/Embed

merupakan sub menu dari menu proses. Halaman Enkripsi/Embed dapat dilihat

melalui Gambar 4.2 berikut:

Gambar 4.2 Tampilan Halaman Enkripsi/Embed

4.2.3 Tampilan Halaman Ekstrak/Dekripsi

Halaman Ekstrak/Dekripsi merupakan halaman yang digunakan untuk ekstraksi pesan

dari citra bitmap, selanjutnya di enkripsi untuk mendapatkan plaintext. Proses ini

(48)

Gambar 4.3 Tampilan Halaman Ekstrak/Dekripsi

4.2.4 Tampilan Halaman Help

Halaman Help berisi informasi petunjuk penggunaan sistem. Penggunaan sistem yang

dimaksud berupa penjelasan langkah-langkah melakukan enkripsi, embedding,

(49)

Gambar 4.4 Tampilan Halaman Help

4.2.5 Tampilan Halaman About

Halaman About berisi informasi tentang programmer sistem. Tampilan halaman About

dapat dilihat pada Gambar 4.5.

(50)

4.3Pengujian Sistem

Tahap pengujian sistem merupakan lanjutan dari tahap implementasi sistem. Tahap

pengujian sistem bertujuan untuk membuktikan bahwa sistem yang dibangun berjalan

dengan baik sesuai analaisis dan perancangan sistem yang telah direnacanakan

sebelumnya.

4.3.1 Pengujian Proses Enkripsi

Untuk melakukan proses enkripsi pertama sekali dilakukan penginputan plaintext

dengan cara meng-klik tombol buka.Setelah tombol buka ditekan akan muncul kotak

dialog pop up window pencarian file .txt yang akan dienkripsi.

Gambar 4.6 Inputan Plaintext

Berikutnya adalah memasukkan nilai elemen matriks pertama dengan cara

menginputkan secara manual atau dengan menekan tombol random. Jika menekan

(51)

Tidak ada algoritma khusus yang penulis tambahkan untuk proses ini, penulis hanya

memanfaatkan fungsi random yang telah disediakan matlab.

Gambar 4.7 Tampilan Input Kunci Matriks 1

Selanjutnya dilakukan enkripsi dengan kunci pertama. Dengan demikian hasil enkripsi

dengan kunci pertama akan ditampilkan pada kolom ciphertext yang telah disediakan,

secara otomatis panjang karakter ciphertext dan lama proses diberitahukan lewat

(52)

Gambar 4.8 Tampilan Ciphertext Hasil Enkripsi dengan Kunci 1

Kembali dilakukan pemasukan kunci, sama seperti kunci 1, kunci 2 juga dapat

dilakukan secara manual ataupun random, yang secara otomatis diisi oleh komputer

(53)

Setelah di klik tombol enkripsi maka akan menghasilkan ciphertext hasil enkripsi 2

seperti yang tampak pada Gambar 4.8. Tahap enkripsi berakhir sampai pada langkah

ini.

Gambar 4.10 Tampilan Ciphertext Hasil Enkripsi dengan Kunci 2

4.3.2 Pengujian Proses Embedding

Proses embedding dapat dilakukan setelah ciphertext ditmukan dari hasil enkripsi.

Proses penyisipan (embedding) diawali dengan pemilihan file citra penampung format

(54)

Gambar 4.11 Pop Up Window Pencarian File

Setelah file bitmap dipilih, selanjutnya citra bitmap tersebut akan ditampilkan pada

kotak tampilan citra yang telah disediakan secara bersamaan informasi seputar file

citra ditampilkan pada kotak Detail. Seperti yang ditunjukkan pada Gambar 4.12.

(55)

Selanjutnya adalah menekan tombol embed untuk eksekusi embedding ciphertext

kedalam cover image. Cover image yang berisi pesan akan dipetakan kembali dan

ditampilkan pada kotak tampilan yang disediakan, waktu proses embedding juga akan

muncul pada kotak yang disediakan . Citra ini disebut citra stego (stego image). Citra

stego yang dihasilkan dapat dilihat seperti pada Gambar 4.13

.

Gambar 4.13 Tampilan Citra Stego

Tahap terakhir citra stego dapat disimpan dengan menekan tombol save. Pop Up

Window akan muncul untuk menentukan lokasi penyimpanan dari citra stego seperti

(56)

Gambar 4.14. Pop Up Window Penyimpan File Citra Stego

4.3.3 Pengujian Proses Ekstrak

Pengujian proses ekstraksi dimulai dengan pengambilan citra stego dengan cara

menekan tombol browse sehingga mucul pop-up window untuk memilih file citra

stego seperti yang ditunjukkan Gambar 4.15 berikut:

(57)

Setelah citra stego dipilih maka akan ditampilkan pada kotak citra stego yang telah

disediakan. Bersamaan juga akan ditampilkan informasi terkait file citra yang

dimunculkan di kotak detail. Hal ini dapat dilihat pada Gambar 4.16.

Gambar 4.16 Tampilan Citra Stego

Tahap terakhir adalah menekan tombol ekstrak untuk eksekusi ekstraksi ciphertext

yang terkandung dalam citra stego. Ciphertext hasil ekstraksi akan dimunculkan di

kotak ciphertext, juga akan ditampilkan waktu proses ekstrak pada kotak yang

(58)

Gambar 4.17 Tampilan Ciphertext Hasil Ekstraksi

4.3.4 Pengujian Proses

Dekripsi

Proses dekripsi dapat dilakukan jika ciphertext dan kunci telah diinputkan.

Penginputan kunci dilakukan secara manual pada kotak matriks yang telah disediakan

untuk kedua matriks baik kunci matriks satu maupun kunci matriks dua. Gambar 4.18

(59)

Gambar 4.18 Tampilan Masukan Matriks Kunci

Langkah terakhir adalah menekan tombol dekripsi untuk memunculkan plaintext hasil

dekripsi pada kotak plaintext yang disediakan. Waktu proses dekripsi juga akan

muncul setelah menekan tombol dekripsi. Hal ini dapat kita lihat melalui Gambar

(60)

Gambar 4.19 Tampilan Plaintext Hasil Dekripsi

4.4 Hasil Pengujian

Dalam penelitian ini dilakukan pengujian pada beberapa citra bitmap dengan

menggunaan plaintext dan kunci yang berbeda untuk masing-masing citra pengujian,

(61)

Tabel 4.1 Hasil Pengujian Pada Beberapa Citra

(62)
(63)

Tabel 4.1 menunjukkan bahwa sistem yang dibangun benar-benar dapat

diimplementasikan untuk melakukan proses kriptografi dan steganografi untuk

pengamanan data rahasia untuk berbagai jenis file bitmap dengan ukuran file yang

berbeda-beda, matriks kunci yang berbeda dan plaintext yang berbeda.

4.4.1 Hasil Uji Waktu Proses Enkripsi dan Dekripsi

Proses enkripsi dilakukan pertama sekali untuk mendapatkan ciphertext sebelum

proses embedding, sedangkan proses dekripsi dilakukan paling akhir untuk

mendapatkan kembali plaintext, setelah terlebih dahulu dilakukan proses ekstrak. Pada

pengujian ini digunakan plaintext dengan panjang file uji (.txt) yang berbeda. Proses

enkripsi semua file uji (.txt) menggunakan matriks kunci yang sama yaitu:

Kunci 1

Kunci 2

Dari pengujian ini ditemukan data seperti yang dijelaskan Tabel 4.2.

Tabel 4.2 Uji Waktu Proses Enkripsi Dan Dekripsi

(64)

4. 708 326 5954 270

5. 1416 516 11874 288

6. 2832 1124 23778 705

Berdasarkan data yang ditemukan terlihat bahwa semakin besar panjang plaintext

maka semakin lama waktu proses. Dengan demikian dapat dikatakan bahwa waktu

enkripsi berbanding lurus dengan panjang plaintext begitu juga dengan waktu dekripsi

berbanding lurus dengan panjang ciphertext yang digunakan seperti yang dijelaskan

grafik berikut:

Gambar 4.20 Grafik Hubungan Waktu Enkripsi Dengan Panjang Plaintext

Koordinat titik x menunjukkan panjang plaintext yang digunakan, sedangkan

koordinat titik y menunjukkan waktu proses enkripsi, grafik berupa garis lurus warna

biru menunjukkan x dan y berbanding lurus, dengan kata lain jika x semakin besar

(65)

Gambar 4.21 Grafik Hubungan Waktu Dekripsi Dengan Panjang Ciphertext

Koordinat titik x menunjukkan panjang ciphertext yang digunakan, sedangkan

koordinat titik y menunjukkan waktu proses dekripsi, grafik berupa garis lurus warna

coklat menunjukkan x dan y berbanding lurus, dengan kata lain jika x semakin besar

maka y juga akan semakin besar. Grafik hubungan waktu dekripsi dengan panjang

ciphertext maupun grafik hubungan waktu enkripsi dengan panjang plaintext,

menunjukkan kondisi yang sama, yaitu berbanding lurus.

4.4.2 Hasil Uji Waktu Proses Embedding Dan Ekstrak

Hasil pengujian waktu proses penyisipan dan ekstrak dijelaskan pada Tabel 4.3

Tabel 4.3 Uji Waktu Proses Embedding Dan Ekstrak

(66)

3. 1333.5 2978 518 1345.01 1575

4. 1333.5 5954 527 1353.65 1730

5. 1333.5 11874 641 1370.93 1898

6. 1333.5 23778 758 1405.49 2565

Sesuai hasil yang ditemukan pada tabel 4.3 , terlihat bahwa waktu proses embedding

berbanding lurus dengan panjang ciphertext. Selain itu ditunjukkan juga bahwa waktu

proses ekstrak berbanding lurus dengan ukuran citra stego. Kedua hal ini ditunjukkan

pada grafik berikut:

Gambar 4.22 Grafik Hubungan Waktu Embedding Dengan Panjang Ciphertext

Koordinat titik x menunjukkan panjang ciphertext yang digunakan, sedangkan

koordinat titik y menunjukkan waktu proses embedding, grafik berupa garis lurus

warna biru menunjukkan x dan y berbanding lurus, dengan kata lain jika x semakin

(67)

Gambar 4.23 Grafik Hubungan Waktu Ekstrak Dengan Ukuran Citra Stego

Koordinat titik x menunjukkan besar ukuran citra stego yang digunakan, sedangkan

koordinat titik y menunjukkan waktu proses ekstrak, grafik berupa garis lurus warna

coklat menunjukkan x dan y berbanding lurus, dengan kata lain jika x semakin besar

maka y juga akan semakin besar.

4.4.3 Hasil Uji Panjang Ciphertext Dengan Efek Piksel Hitam Pada Citra Stego

Citra stego hasil penyisipan pesan memiliki efek piksel hitam pada bagian atas

(header) citra stego. Hal ini dikarenakan ciphertext disisipkan pada bagian awal citra.

Dalam penelitian ini digunakan citra kover dengan ukuran yang sama kemudian

sisisipkan dengan ciphertext dengan panjang yang berbeda sehingga menghasilkan

ukuran citra stego dengan ukuran yang berbeda. Hal ini dijelaskan melalui Tabel 4.4.

(68)

Tabel 4.4 Tampilan Efek Piksel Hitam Pada Citra Stego

Stego 1 Stego 2 Stego 3

1336.37 kb 1339.25 kb 1345.01 kb

Ciphertext: 358 Ciphertext: 1506 Ciphertext: 2978

Stego 4 Stego 5 Stego 6

1353.65 kb 1370.93 kb 1405.49 kb

Ciphertext: 5954 Ciphertext: 11874 Ciphertext: 23778

Berdasarkan Tabel 4.4 terlihat bahwa ketebalan efek piksel hitam pada header file

citra bitmap dipengaruhi oleh banyaknya karakter ciphertext yang disisipkan pada

(69)

BAB V

KESIMPULAN DAN SARAN

5.1Kesimpulan

Berdasarkan analisis dan pengujian pada sistem keamanan data menggunakan

steganografi First Of File dan Inverse Matrix Cipher Kunci Ganda dapat ditarik

kesimpulan sebagai berikut:

1. Proses steganografi dengan metode first of file dan algoritma kriptografi

Inverse Matrix Cipher dapat dikombinasikan untuk membangun sistem

keamanan data.

2. Pada sisitem ini menggunakan dua kunci enkripsi Inverse Matrix Cipher

(kunci ganda), sedangkan kunci pada steganografi dibuat dalam program

berupa tanda pengenal pada piksel citra bitmap. Tanda pengenal disisipkan

diawal piksel citra dan akhir piksel yang digunakan untuk menyembunyikan

ciphertext.

3. Sistem ini menggunakan steganografi metode first of file, data hasil enkripsi

disimpan diawal file citra bitmap sehingga membuat ukuran file citra bitmap

lebih besar dari semula, kemudian memunculkan garis hitam pada bagian atas

file citra bitmap tersebut.

4. Banyaknya garis hitam pada file citra bitmap berbanding lurus dengan panjang

karakter hasil enkripsi plaintext (ciphertext). Dengan kata lain semakin

(70)

5. Waktu proses enkripsi/dekripsi maupun embedding/ekstrak berbanding lurus

dengan panjang karakter dan ukuran citra. Semakin besar ukurannya semakin

lama waktu yang dibutuhkan.

5.2 Saran

Sebagai pertimbangan untuk pengembangan lebih lanjut dari sistem keamanan ini,

maka penulis sampaikan saran-saran sebagai berikut:

1. Algoritma kriptografi klasik Inverse Matrix Cipher dapat dikombinasikan

dengan algoritma lain misalnya Blowfish, El-Gamal, RSA dan algortima

lainnya.

2. Untuk penelitian selanjutnya ukuran matriks persegi kunci enkripsi Inverse

Matrix Cipher dapat dibuat pilihan ordo matriksnya misalnya 2x2, 3x3 dan

4x4.

3. Pada penelitian ini hanya melakukan enkripsi data teks pada file ekstensi .txt.

Untuk penelitian berikutnya dapat dilakukan enkripsi untuk file format lain

(71)

BAB II

LANDASAN TEORI

2.1 Kriptografi

Kriptografi adalah ilmu yang mempelajari cara-cara mengamankan informasi

rahasia dari suatu tempat ke tempat lain [4]. Caranya adalah dengan menyandikan

informasi rahasia agar tidak terbaca dan dimengerti oleh orang banyak selain si

pengirim dan penerimanya serta mentransformasikan kembali ke bentuk semula yang

bisa dimengerti. Teknik demikian dipergunakan untuk mengkonversi atau mengubah

suatu data kedalam bentuk kode-kode tertentu, sehingga tidak dapat dibaca oleh pihak

yang tidak dikehendaki.

2.1.1 Pengertian Kriptografi

Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata

kriptografi dibagi menjadi dua, Yaitu kripto dan graphia. Kripto berarti secret

(rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya kriptografi

adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu

tempat ke tempat yang lain. Dalam perkembangannya, kriptografi juga digunakan

untuk mengidentifikasi pengiriman pesan dengan tanda tangan digital dan keaslian

pesan dengan sidik jari digital (fingerprint). Dalam kriptografi dikenal beberapa istilah

penting sebperti berikut:

1. Pesan

Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya.

(72)

Plainteks merupakan suatu pesan bermakna yang akan diproses menggunakan

algoritma kriptografi.

2. Cipherteks

Cipherteks (ciphertext) atau disebut juga kriptogram (cryptogram) merupakan

pesan yang telah tersandi. Pesan dalam bentuk cipherteks tidak dapat dibaca

karena berisi karakter-karakter yang tidak memiliki makna setelah melalui proses

enkripsi.

3. Enkripsi

Enkripsi merupakan proses yang dilakukan untuk menyandikan plainteks menjadi

cipherteks atau disebut sebagai enchipering. Enkripsi dilakukan dengan tujuan

agar plainteks tersebut tidak dapat dibaca oleh pihak yang tidak berwenang.

4. Dekripsi

Dekripsi merupakan proses mengembalikan cipherteks menjadi plainteks semula

atau disebut deciphering. Dekripsi dilakukan ketika pesan telah sampai kepada

pihak yang dituju.

5. Kunci

Kunci adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi.

Kunci biasanya berupa string atau deretan bilangan. Keamanan suatu algoritma

kriptografi biasanya bergantung kepada kerahasiaan penyebaran kunci.

Setiap algoritma kriptografi terdiri algoritma enkripsi (E) dan algoritma dekripsi

(D). Dasar matematis yang mendasari proses enkripsi dan dekripsi adalah relasi antara

dua himpunan yaitu himpunan yang berisi elemen plaintext dan himpunan yang berisi

elemen ciphertext. Enkripsi dan dekripsi merupakan fungsi tranformasi antara dua

himpunan tersebut. Secara umum dapat digambarkan secara matematis sebagai

berikut:

Ek(P) = C (Proses Enkripsi) ... (2.1)

Dk(C) = P (Proses Dekripsi) ... (2.2)

(73)

Dalam proses tersebut, plaintext disandikan dengan P dengan suatu kunci K lalu

dihasilkan pesan C. Pada proses dekripsi, C diuraikan dengan menggunakan kunci K

sehingga menghasilkan pesan yang sama dengan sebelumnya.

Gambar 2.1. Cryptosystem

Setiap cryptosystem yang baik memiliki karakteristik sebagai berikut:

a. Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasian

algoritma yang digunakan.

b. Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.

c. Cryptosystem yang baik akan menghasilkan ciphertext yang terlihat acak dalam

seluruh test statistik yang dilakukan.

d. Cryptosystem yang baik mampu menahan seluruh serangan yang telah dikenal

sebelumnya [10].

2.1.2 Aspek-aspek Keamanan

Selain memberikan kerahasiaan dalam telekomunikasi kriptografi juga memberikan

komponen-komponen sebagai berikut:

1. Authentication

Penerima pesan dapat memastikan keaslian pengirimannya. Penyerang tidak dapat

berpura-pura sebagai orang orang lain.

2. Integrity

Penerima harus dapat memeriksa apakah pesan telah dimodifikasi ditengah jalan

atau tidak. Seorang penyusup seharussnya tidak dapat memasukkan tambahan

kedalam pesan, mengurangi atau mengubah pesan selama data berada di

(74)

3. Nonrepudiation

Pengirim seharusnya tidak dapat mengelak bahwa dialah pengirim pesan yang

sesungguhnya. Tanpa kriptografi, seseorang dapat mengelak bahwa dialah

pengrim email yang sesungguhnya

4. Authority

Informasi yang berada pada system jaringan seharusnya hanya dapat dimodifikasi

oleh pihak yang berwenang. Modifikasi yang tidak diinginkan, dapat berupa

penulisan tambahan pesan, pengubahan isi, pengubahan status, penghapusan,

pembuatan pesan baru (pemalsuan), atau penyalinan pesan untuk digunakan

kemudian oleh penyerang.

2.1.3 Klasifikasi Kriptografi

Terdapat dua jenis algortima kriptografi berdasarkan jenis kuncinya:

1. Algoritma Simetri (Konvensional)

2. Algoritma Asimetri (Kunci-publik)

1. Algoritma Simetri

Algoritma simetri disebut juga sebagai algoritma konvensional adalah algoritma

yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Disebut

konvensional karena algoritma yang biasa digunakan orang sejak berabad-abad

yang lalu adalah algoritma jenis ini. Algoritma simetri sering juga disebut

algoritma kunci rahasia, algoritma kunci tunggal atau algoritma satu kunci, dan

mengharuskan pengirim dan penerima menyetujui suatu kunci tertentu sebelum

mereka dapat berkomunikasi dengan aman. Keamanan algoritma simetri

tergantung pada kunci, membocorkan kunci berarti bahwa orang lain dapat

mengenkrip dan mendekrip pesan. Agar komunikasi tetap aman, kunci harus tetap

dirahasiakan. Yang termasuk algoritma kunci simetri adalah OTP, DES, RC2, Hill

Cipher, Inverse Matrix Cipher, RC4, RC5, RC6, IDEA, Twofish, Magenta, FEAL,

SAFER, Blowfish, GOST, Kasumi dan lain-lain. Metode Hill Cipher dan Inverse

(75)

metode ini sama-sama menggunakan matriks sebagai kunci enkripsi dan

dekripsinya.

2. Algoritma Asimetri

Algoritma asimetri (juga disebut algoritma kunci publik) didesain sedemikian

sehingga kunci yang digunakan untuk enkripsi berbeda dari kunci yang digunakan

untuk dekripsi. Lebih jauh lagi, kunci dekripsi tidak dapat (sedikitnya dalam

waktu yang dapat diterima) dihitung dari kunci enkripsi. Algoritma disebut kunci

publik karena kunci enkripsi dapat dibuat publik yang berarti semua orang boleh

mengetahuinya. Sembarang orang dapat menggunakan kunci enkripsi tersebut

untuk mengenkrip pesan, namun hanya orang tertentu (calon penerima pesan dan

sekaligus pemilik kunci dekripsi yang merupakan pasangan kunci publik) yang

dapat melakukan dekripsi terhadap pesan tersebut. Yang termasuk algoritma

asimetri adalah ECC, LUC, RSA, El-Gamal dan DH.

2.1.4 Algoritma Kriptografi Hill Cipher

Hill Cipher termasuk dalam salah satu kriptosistem polialfabetik, artinya setiap

karakter alfabet bisa dipetakan ke lebih dari satu macam karakter alfabet. Cipher

tersebut ditemukan pada tahun 1929 oleh Lester S. Hill [2]. Misalkan m adalah

bilangan bulat positif, dan P = C = (Z26)m

Misalkan m = 2, maka kita dapat menuliskan suatu elemen plaintext sebagai

x=(x

. Ide dari Hill Cipher adalah dengan

mengambil m kombinasi linier dari m karakter alfabet dalam satu elemen plaintext

sehinga menghasilkan m alfabet karakter dalam satu elemen plaintext.

1,x2), dan suatu elemen ciphertext sebagai y=(y1,y2). Di sini, y1,y2 adalah

Kita juga dapat menuliskannya dalam notasi matriks sebagai berikut:

2

(y1 y2) = (x1 x2)

Secara umum, kita akan menggunakan matriks K m x m sebagai kunci kita. Jika

(76)

Untuk x=(x1,…, xm) P dan K K, kita menghitung y=ek(x)=(y1,…,ym) sebagai

berikut:

(y1 y2 … ym) = (x1 x2 … xm) ……….…………(2.4)

Dengan kata lain, y = xK………..(2.5)

Syarat yang perlu diperhatikan adalah detertminan≠0, dan gcd(determinan,panjang tabel karakter)=1.

2.1.5 Algoritma Kriptografi Inverse Matrix Cipher

Kriptografi Inverse Matrix Cipher bekerja dengan membagi plaintext menjadi

himpunan-himpunan n-huruf dan menggantinya dengan n-angka. Metode ini

menggunakan matriks sebagai kuncinya dalam coding. Dalam hal ini matriks yang

mempunyai invers yang dijadikan sebagai kunci. Misalkan diketahui dua buah matriks

A dan B sedangkan hasil perkalian kedua matriks tersebut adalah:

C=B*A………(2.6)

Untuk mendapatkan kembali matriks A, perlu dilakukan proses berikut:

Kedua ruas dikalikan dengan invers matriks B dan B-1 B

Konsep ini digunakan untuk membuat kriptografi, yaitu pesan rahasia disimpan dalam

matriks A, kemudian di-encode menggunakan kunci B, dan pesan yang dikirim adalah

matriks C. Dengan catatan bahwa penerima telah mengetahui bahwa kuncinya adalah

matriks B [12].

*C………..(2.5)

Konsep enkripsi dan dekripsi menggunakan algoritma kriptografi Inverse

(77)

Misalkan digunakan dua buah kunci enkripsi yaitu matriks K1 dan K2, dengan syarat

determinan kedua kunci ≠ 0. Plaintext yang digunakan adalah matriks P. Proses enkripsi dilakukan sebanyak dua kali, enkripsi pertama menggunakan matriks pertama

sehingga menghasilkan ciphertext berupa matriks C1 seperti persamaan 2.6:

C1=P*K1 ... (2.6)

Selanjutnya ciphertext hasil pertama dienkripsi dengan kunci kedua seperti pada

persamaan 2.7:

C2=C1*K2 ... (2.7)

C2 adalah ciphertext akhir yang dikirim kepada penerima. Untuk mendapatkan

kembali pesan asli maka penerima pesan berupa ciphertext melakukan proses dekripsi

dengan langkah melakukan perkalian matriks C2 dengan inverse matriks K2, sehingga

ditemukan matriks ciphertext hasil perkalian dengan kunci K1, seperti persamaan 2.8:

C1=C2*K2-1

C1 dikalikan lagi dengan inverse matriks K1 untuk mendapatkan matriks plaintext

yang sebenarnya, seperti yang dijelaskan persamaan 2.9:

... (2.8)

P=C1*K1-1 ... (2.9).

2.2 Citra Digital

2.2.1 Definisi Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu

objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa

foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televise,

atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan.

2.2.2 Format File Citra Bitmap

Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data

kode citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Citra

bitmap di presentasikan dalam bentuk matriks atau dipetakan dengan menggunakan

(78)

memanipulasi warna, tetapi untuk mengubah objek lebih sulit. Tampilan bitmap

mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar.

Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk

gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital.

Citra bitmap biasanya diperoleh dengan cara Scanner, Camera Digital, Video Capture,

dan lain-lain [11].

Contoh gambar file citra *bmp.

Gambar 2.2 Citra Bitmap

2.3 Steganografi

Steganografi berasal dari bahasa Yunani, yang berarti tulisan yang

tertutup/tersamar (“covered letter”). Dalam arti lain dapat dikatakan sebagai cara

komunikasi yang menyembunyikan pesan [5]. Data atau pesan yang akan dikirim

disembunyikan ke media lain. Format media yang bisa dipakai diantaranya adalah:

a. Format image: bmp, jpg, gif dll

Gambar

Gambar 3.13 Matriks Piksel Citra Disisipi Pesan
Gambar 3.14 Matriks Piksel Citra Stego
Gambar 3.16 Rancangan Halaman Home
Gambar 3.17 Rancangan Halaman Enkripsi/Embed
+7

Referensi

Dokumen terkait

Paket pengadaan ini terbuka untuk penyedia yang teregistrasi pada Layanan Pengadaan Secara Elektronik ( LPSE ) dan memenuhi persyaratan SBU Bidang Arsitektur yang

*) kepada KPU Provinsi DKI Jakarta paling lambat 15 (lima belas) hari setelah pengumuman hasil survei atau jajak pendapat dan / atau penghitungan cepatb. Pengembalian

(2) Pelatihan atau bimbingan tentang pelatihan pengembangan motorik halus anak usia dini, merupakan suatu kegiatan yang sangat menunjang program pendidikan kreativitas

Jika seorang pemimpin memiliki kredibilitas yang baik, maka akan menjadi inspirasi bagi orang lain untuk mengerjakan segala sesuatu dengan tegas, pasti, jelas, adil,

Selain itu, penelitian ini juga bertujuan untuk mengetahui keefektifan LKPD terintegrasi nilai karakter terhadap pengembangan tanggung jawab, disiplin, serta prestasi belajar

Sehingga apabila sepanjang mengenai kepastian hukum anak sah maka diatur dalam Pasal 250 Burgelijk Wetboek voor Indonesie (BW) atau yang dikenal juga dengan Kitab

Hal ini dikarenakan tujuan pengembangan karier adalah sebagai berikut: (1) membantu dalam pencapaian tujuan pengelola LKP dan LKP itu sendiri; (2) menunjukkan kesejahteraan