• Tidak ada hasil yang ditemukan

Pengamanan Data Teks Dengan Kombinasi Algoritma Data Encryption Standard (Des) Dan First Of File (Fof)

N/A
N/A
Protected

Academic year: 2016

Membagikan "Pengamanan Data Teks Dengan Kombinasi Algoritma Data Encryption Standard (Des) Dan First Of File (Fof)"

Copied!
106
0
0

Teks penuh

(1)

PENGAMANAN DATA TEKS DENGAN KOMBINASI

ALGORITMA

DATA ENCRYPTION STANDARD (DES)

DAN

FIRST OF FILE (FOF)

SKRIPSI

RIO AUDITYA PRATAMA SAMOSIR

091401074

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

PENGAMANAN DATA TEKS DENGAN KOMBINASI

ALGORITMA DATA ENCRYPTION STANDARD (DES)

DAN FIRST OF FILE (FOF)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Ilmu Komputer

RIO AUDITYA PRATAMA SAMOSIR

091401074

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(3)

PERSETUJUAN

Judul : PENGAMANAN DATA TEKS DENGAN

KOMBINASI ALGORITMA DATA ENCRYPTION STANDARD (DES) DAN FIRST OF FILE (FOF)

Kategori : SKRIPSI

Nama : RIO AUDITYA PRATAMA SAMOSIR

Nomor Induk Mahasiswa : 091401074

Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Diluluskan di

Medan, 13 Januari2015

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dian Rachmawati, S.Si, M.Kom Prof. Dr. Iryanto, M.Si NIP. 198307232009122004 NIP.194604041971071001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

PENGAMANAN DATA TEKS DENGAN KOMBINASI

ALGORITMA DATA ENCRYPTION STANDARD (DES)

DAN FIRST OF FILE (FOF)

SKRIPSI

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

Medan, 13 Januari 2015

(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 semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung, teristimewa untuk kedua orangtua terkasih, Ayahanda Ir. Lindung Samosir dan Ibunda Apulina Surbakti. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:

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

2. Dr. Poltak Sihombing, M. Kom. selaku Ketua Program Studi S1 Ilmu Komputer dan Dosen Penguji I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

3. Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

4. Bapak Prof. Dr. Iryanto, M.Si. selaku Dosen Pembimbing I yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.

5. Ibu Dian Rachmawati S.Si, M.Kom. selaku Dosen Pembimbing II yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis.

6. Bapak Ade Candra, ST, M.Kom. selaku Dosen Penguji II yang telah memberikan kritik dan saran dalam penyempuraan skripsi ini.

7. Hani Febrina Rasyad Siregar S.TI. yang telah memberikan semangat, dukungan, dan perhatian kepada penulis.

(6)

yang telah memberikan semangat dan menjadi teman diskusi penulis dalam menyelesaikan skripsi ini.

9. Teman-teman sekaligus keluarga besar Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

10.Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu demi satu yang telah membantu penyelesaian skripsi ini.

Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini.

Medan, 13 Januari 2015 Penulis,

(7)

ABSTRAK

Pengamanan data belum menjadi prioritas utama kebanyakan orang pada saat ini. Sehingga sering terjadi penyalahgunaan data dan gangguan keamanan lainya. Untuk mengatasi gangguan keamanan tersebut, dapat digunakan ilmu pengamanan data seperti Kriptografi dan Steganografi. Ilmu Kriptografi menggunakan cara mengacak / menyamarkan data, sedangkan Ilmu Steganografi dengan cara menyembunyikan data. Pada penelitian ini algoritma Kriptografi yang digunakan adalah Algoritma Data Encryption Standard(DES). Tahap algoritma DES secara umum terbagi 3 bagian, yaitu pemrosesan pembangkitan kunci internal 56 bit dari kunci eksternal yang panjangnya 64 bit, enkripsi data 64 bit, dan dekripsi data 64 bit. Sehingga plaintext (data awal) yang telah melalui proses algoritma DES akan menghasilkan ciphertext. Selanjutnya dilakukan embedding (penyembunyian data) pada citra bitmap (*.bmp) dengan teknik Steganografi First Of File (FOF) dengan cara menyisipkan pesan pada awal file citra secara horizontal sehingga menghasilkan stego image yang akan di ekstraksi untuk mendapatkan ciphertext sebelumnya. Kemudian melalui tahap dekripsi data 64 bit dari algoritma DES, maka di dapatkan plaintext semula. Dengan kombinasi DES dan FOF, keamanan data akan bertambah karena setelah pesan diacak menjadi ciphertext, ciphertext akan disisipkan kedalam file citra.

.

(8)

TEXT DATA PROTECTION WITH A COMBINATION OF DATA ENCRIPTION STANDARD (DES) ALGORITHM

AND FIRST OF FILE (FOF)

ABSTRACT

Data security system is not a top priority for most people at this moment.As the result, misuse of data and any other security disruptions frequently happens because of the data are not properly protected. To solve the problem, we can apply data security science such as Cryptography and Steganography.Cryptography is using random-disguising method and Steganography is using hiding method.In this research, Cryptograph Algorithm being used is Data Encryption Standard Algorithm (DES). DES Algorithm is divided into 3 stages, which are; the internal process of evocation key 56 bits from external key 64 bits, data encryption 64 bits and data description 64 bits. The plaintext resulted from DES Algorithm process is the Chiphertext.Then, the embedding (data hiding) on a bitmap image (*.bmp) is performed using technique of Steganograph First of File (FOF) by inserting a message at beginning of file image, horizontally. It will result a stego-image that will be extracted to get the previous Chipertext. Thru the stage of DES Algorithm data description 64 bit, the original plaintext, will be obtained.With the combination of DES and FOF, data security will increase because after the message encrypted into ciphertext, the ciphertext will be embedded into the image file.

(9)

DAFTAR ISI

PERNYATAAN iii

PENGHARGAAN iv

ABSTRAK vi

ABSTRACT vii

DAFTAR ISI viii

DAFTAR TABEL x

DAFTAR GAMBAR xi

DAFTAR LAMPIRAN xii

BAB I 13

PENDAHULUAN 13

1.1 Latar Belakang 13

1.2 Perumusan Masalah 14

1.3 Batasan Masalah 14

1.4 Tujuan Penelitian 15

1.5 Manfaat Penelitian 15

1.6 Metode Penelitian 15

1.7 Sistematika Penulisan 16

BAB 2 18

LANDASAN TEORI 18

2.1 Kriptografi 18

2.2 Data Encryption Standard (DES) 19

2.2.1 Langkah-langkah Proses Enkripsi DES 22

2.2.2 Dekripsi DES 30

2.3 Citra Digital 30

2.4 Bitmap 30

2.5 Steganografi 31

2.6 First Of File (FOF) 32

(10)

BAB 3 34

ANALISIS DAN PERANCANGAN 34

3.1 Analisis Sistem 34

3.1.1 Analisis Masalah 34

3.1.2 Analisis Persyaratan 35

3.1.3 Pemodelan Persyaratan Sistem dengan Use Case 36

3.1.4 Pseudocode 41

3.1.5 Analisis Sistem Proses 47

3.1.6 Flowchart Sistem 48

3.1.7 Rancangan Antar Muka 55

3.2 Tahapan Sistem 60

3.2.1 Tahapan Algoritma DESUntuk Enkripsi Pesan 60

3.2.2 Penyisipan Pesan Kedalam Citra Dengan FOF 75

BAB 4 76

IMPLEMENTASI DAN PENGUJIAN SISTEM 76

4.1 Implementasi 76

4.1.1 FormUtama 76

4.1.2 Form Enkripsi 77

4.1.3 FormDekripsi 77

4.2 Pengujian 78

4.2.1 Proses Enkripsi dan Penyisipan Pesan 79

4.2.2 Proses Ekstraksi dan Dekripsi Pesan 82

BAB 5 86

KESIMPULAN DAN SARAN 86

5.1. Kesimpulan 86

5.2. Saran 86

DAFTAR PUSTAKA 88

(11)

DAFTAR TABEL

Tabel Initial Permutation (IP) Tabel PC-1

Tabel Left Shift Tabel PC-2 Tabel Ekspansi Tabel S-Box Tabel P-Box

Tabel Invers Initial Permutation (IP-1) Spesifikasi Use Case Enkripsi

Spesifikasi Use CaseEmbedding Spesifikasi Use Case Ekstraksi Spesifikasi Use Case Dekripsi Tabel Initial Permutation (IP) Tabel PC-1

Tabel Left Shift Tabel Hasil Left Shift Tabel PC-2

Hasil Permutation Compression 2 (PC-2) Tabel Ekspansi

Hasil Operasi XOR antara E(Ri-1) dengan Ki Tabel S-Box

Hasil Substitusi dengan Tabel S-Box Tabel P-Box

Hasil Mutasi dengan Tabel P-Box

Hasil Operasi XOR antara P(Bi) dengan Li-1 Tabel Invers Initial Permutation (IP-1)

(12)

DAFTAR GAMBAR

Nomor Gamba

r

Nama Gambar Halama

n

Skema Algoritma Simetri Skema Algoritma Asimetri Skema Global Kriptografi DES Proses enkripsi Kriptografi DES Citra Format (*.bmp)

Diagram Ishikawa Untuk Analisa Masalah Use case Diagram yang akan Dikembangkan

Activity Diagram untuk Proses Enkripsi dan Embedding Activity Diagram untuk Proses EkstraksidanDekripsi Sequence Diagram Proses Enkripsi dan Penyisipan Pesan Diagramuntuk Proses Ekstraksi dan Dekripsi Pesan Flowchart Proses Pembangkitan Kunci Internal Flowchart Proses Enkripsi

Flowchart Penyisipan Pesan pada Gambar Flowchart Ekstraksi Pesan

FlowchartProses Dekripsi TampilanForm Utama Form Enkripsi

Form Dekripsi

Tampilan Form Utama Tampilan Form Enkripsi Tampilan Form Dekripsi FormHasil Enkripsi

Gambar Perbandingan Hasil Penyisipan Pesan FormHasil Dekripsi

Hasil Dekripsi

(13)

DAFTAR LAMPIRAN

Halaman

A. Listing Program A-1

(14)

ABSTRAK

Pengamanan data belum menjadi prioritas utama kebanyakan orang pada saat ini. Sehingga sering terjadi penyalahgunaan data dan gangguan keamanan lainya. Untuk mengatasi gangguan keamanan tersebut, dapat digunakan ilmu pengamanan data seperti Kriptografi dan Steganografi. Ilmu Kriptografi menggunakan cara mengacak / menyamarkan data, sedangkan Ilmu Steganografi dengan cara menyembunyikan data. Pada penelitian ini algoritma Kriptografi yang digunakan adalah Algoritma Data Encryption Standard(DES). Tahap algoritma DES secara umum terbagi 3 bagian, yaitu pemrosesan pembangkitan kunci internal 56 bit dari kunci eksternal yang panjangnya 64 bit, enkripsi data 64 bit, dan dekripsi data 64 bit. Sehingga plaintext (data awal) yang telah melalui proses algoritma DES akan menghasilkan ciphertext. Selanjutnya dilakukan embedding (penyembunyian data) pada citra bitmap (*.bmp) dengan teknik Steganografi First Of File (FOF) dengan cara menyisipkan pesan pada awal file citra secara horizontal sehingga menghasilkan stego image yang akan di ekstraksi untuk mendapatkan ciphertext sebelumnya. Kemudian melalui tahap dekripsi data 64 bit dari algoritma DES, maka di dapatkan plaintext semula. Dengan kombinasi DES dan FOF, keamanan data akan bertambah karena setelah pesan diacak menjadi ciphertext, ciphertext akan disisipkan kedalam file citra.

.

(15)

TEXT DATA PROTECTION WITH A COMBINATION OF DATA ENCRIPTION STANDARD (DES) ALGORITHM

AND FIRST OF FILE (FOF)

ABSTRACT

Data security system is not a top priority for most people at this moment.As the result, misuse of data and any other security disruptions frequently happens because of the data are not properly protected. To solve the problem, we can apply data security science such as Cryptography and Steganography.Cryptography is using random-disguising method and Steganography is using hiding method.In this research, Cryptograph Algorithm being used is Data Encryption Standard Algorithm (DES). DES Algorithm is divided into 3 stages, which are; the internal process of evocation key 56 bits from external key 64 bits, data encryption 64 bits and data description 64 bits. The plaintext resulted from DES Algorithm process is the Chiphertext.Then, the embedding (data hiding) on a bitmap image (*.bmp) is performed using technique of Steganograph First of File (FOF) by inserting a message at beginning of file image, horizontally. It will result a stego-image that will be extracted to get the previous Chipertext. Thru the stage of DES Algorithm data description 64 bit, the original plaintext, will be obtained.With the combination of DES and FOF, data security will increase because after the message encrypted into ciphertext, the ciphertext will be embedded into the image file.

(16)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Tujuan utama keamanan data adalah untuk mengamankan data/informasi dari

penyalahgunaan oleh pihak-pihak yang tidak bertanggung jawab. Dengan adanya

pengamanan data, tindakan seperti sabotase dan pertukaran data yang tidak sah dapat

dicegah. Namun pengamanan data belum menjadi prioritas utama kebanyakan orang

pada saat ini. Sehingga sering ditemukan kejadian yang berhubungan dengan

gangguan keamanan data. Oleh karena itu untuk mengatasi keadaan tersebut dapat

digunakan beberapa ilmu pengamanan data seperti kriptografi dan steganografi.

Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan

dikirim dari suatu tempat ke tempat yang lain (Kromodimoeljo, 2009). Ada banyak

algoritma pengamanan data teks dengan menggunakan kriptografi, salah satunya

adalah Algoritma Data Encryption Standard (DES).

Data Encryption Standard (DES) merupakan algoritma enkripsi yang paling

banyak dipakai di dunia yang diadopsi oleh NIST (National Institue Of Standards and

Technology) sebagai standar pengolahan informasi Federal AS. Secara umum, DES

terbagi menjadi tiga kelompok, yaitu pemrosesan kunci, enkripsi data 64 bit dan

dekripsi data 64 bit, dimana satu kelompok saling berinteraksi satu dengan lainnya

(17)

Secara keseluruhan konsep kriptografi memang mengacak atau menyamarkan

arti dari suatu data teks tetapi tidak menyembunyikannya sehingga masih bisa terlihat

dan dapat menimbulkan kecurigaan. Untuk menghindari kecurigaan ini maka

dikembangkanlah teknik steganografi.

Secara umum steganografi merupakan seni atau ilmu yang digunakan untuk

menyembunyikan pesan rahasia dengan segala cara sehingga selain orang yang dituju,

orang lain tidak akan menyadari keberadaan dari pesan rahasia tersebut. Data rahasia

yang disembunyikan juga dapat berupa citra, audio, teks, atau video (Wandani, 2012).

Steganografi juga memiliki berbagai teknik penyembunyian, salah satunya adalah

Teknik First Of File (FOF). Pada metode First Of File, pesan akan disisipkan pada

awal nilai file.

Beradasarkan latar belakang yang telah penulis uraikan, maka dilakukan

penelitian dengan judul “Pengamanan Data Teks Dengan Menggunakan Kombinasi

Algoritma Kriptografi Data Encryption Standard (DES) Dengan Teknik Steganografi

First Of File (FOF).”

1.2 Perumusan Masalah

Berdasarkan latar belakang diatas, maka yang menjadi rumusan masalah dalam

penelitian ini adalah bagaimana mengimplementasikan suatu sistem keamanan data

yang mampu melakukan proses enkripsi dan dekripsi menggunakan metode Data

Encryption Standard (DES)dan dapat menyisipkan hasil enkripsi ke dalam file gambar

yang berformat bitmap dengan menggunakan teknik First Of File (FOF).

1.3 Batasan Masalah

Batasan masalah dalam penelitian ini adalah sebagai berikut:

(18)

2. Pesan teks dapat diinput langsung oleh user dan dapat juga berupa file text dengan

format *.txt.

3. Panjang kunci eksternal harus 8 karakter yang nantinya akan diubah menjadi

kunci internal.

4. Aspek steganografi yang dijadikan acuan adalah fidelity dan recovery

5. Bahasa pemrograman yang digunakan adalah visual studio C# (sharp).

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah membangun aplikasi yang mengimplementasikan

algoritma Data Encryption Standard (DES) dan teknik steganografi First Of File

(FOF) untuk mengamankan data.

1.5 Manfaat Penelitian

Manfaat penelitian diharapkanpendistribusian data menjadi lebih aman melalui

implementasi algoritma Data Encryption Standard (DES) dan teknik steganografi

First Of File (FOF).

1.6 Metode Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah:

1. Studi Literatur

Pada tahap ini dilakukan pencarian dan pengumpulan referensi yang berhubungan

(19)

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 analisis terhadap masalah sesuai tujuan dan batasan

masalah dan dilakukan perancangan flowchart, UML, dan interfaceyang

menggunakan algoritma Data Encryption Standard dan teknik steganografi First

Of File.

3. Implementasi Sistem

Pada tahap ini akan dibuat sistem dengan melakukan pengkodean (coding) pada

bahasa pemrograman C# untuk implementasi algoritma Data Encryption

Standard dan teknik steganografi First Of File.

4. Pengujian Sistem

Pada tahap ini dilakukan pengujian terhadap sistem yang telah dibangun untuk

menguji hasil pendekripsian yang berupa plainteks, dimana plainteks keluaran

harus sama dengan plainteks inputan.

5. Dokumentasi

Pada tahap ini dilakukan penyusunan laporan dari hasil analisis dan perancangan

sistem dalam format penulisan penelitian.

1.7 Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri atas bagian-bagian berikut:

BAB I PENDAHULUAN

Bab ini menjelaskan latar belakang, rumusan masalah, batasan masalah, tujuan

penelitian, manfaat penelitian, metodologi penelitian dan sistematikan penulisan dari

(20)

BAB II LANDASAN TEORI

Bab ini menjelasakan landasan teori dari penelitian yang dilakukan. Teori yang

diangkat yaitukriptografi dan steganografi, algoritmaData Encryption Standard

(DES) dan metode First Of File (FOF).

BAB III ANALISIS DAN PERANCANGAN

Bab ini menjelaskan analisis terhadap kombinasi dari metode Data Encryption

Standard (DES) dan First Of File untuk mengamankan pesan teks. Pada bab ini juga

akan dilakukan analisis pengaruh apa yang terjadi terhadap file yang digunakan pada

sistem ini.Bab ini juga akan menjelaskantentang perancangan sistem yang akan

dibuat.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini menjelaskan implementasi dari sistem dengan menggunakan software

Microsoft Visual Studio 2010 (C#). Dan dilakukan pengujian sistem untuk

mengetahui keberhasilan dari sistem sesuai dengan perencanaan yang telah dibuat.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang didapat dari hasil pengujian yang dilakukan serta

(21)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana

menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang

bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi

seperti kerahasiaan, keutuhan data dan otentikasi entitas (Sadikin, 2012).

Dalam kriptografi, proses menyandikan plaintext menjadi ciphertext disebut

dengan enkripsi (encryption). Sedangkan proses pengembalian ciphertext menjadi

plaintext semula dinamakan dekripsi (decryption). Parameter yang digunakan untuk

transformasi enkripsi dan dekripsi disebut dengan kunci (key) (Munir, 2006).

Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang

dipakainya (Ariyus & Andri, 2008):

1. Algoritma simetri

Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci yang

sama untuk kegiatan enkripsi dan dekripsi. Algoritma yang memakai kunci simetri

diantaranya adalah Vigenere Cipher, Affine Cipher,Hill Cipher danData Encryption

Standard (DES). Skema algoritma simetri ditunjukkan pada Gambar 2.1 berikut.

Enkripsi Dekripsi

K K

plainteks cipherteks plainteks semula

(22)

2. Algoritma asimetri

Algoritma asimetri sering juga disebut algoritma kunci publik, dengan arti kunci yang

digunakan unruk melakukan enkripsi dan dekripsi adalah berbeda. Pada algoritma

asimetri, kunci terbagi menjadi dua bagian, yang pertama adalah kunci umum (public

key), yaitu kunci yang boleh semua orang tahu (dipublikasikan). Dan kunci pribadi

(private key), yaitu kunci yang dirahasiakan (hanya boleh diketahui oleh satu

orang)Algoritma yang memakai kunci asimetri diantaranya adalah

Rivest-Shamir-Adleman(RSA) dan El-Gamal. Skema algoritma asimetri ditunjukkan pada Gambar

2.2.

Enkripsi Dekripsi

K1 K2

plainteks cipherteks plainteks semula

Gambar 2.2 Skema Algoritma Asimetri

3. Hash Function (Fungsi Hash)

Fungsi hash merupakan suatu fungsi matematika yang mengambil input panjang

variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap.

2.2 Data Encryption Standard (DES)

DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok.

DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plaintext

menjadi 64 bit ciphertext dengan menggunakan 56 bit kunci internal (internal key)

atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external

key) yang panjangnya 64 bit.

Skema global dari algoritma DES adalah sebagai berikut.

a. Blok plaintext dipermutasi dengan matriks permutasi awal (initial permutation

(23)

b. Hasil permutasi awal kemudian di-encipheringsebanyak 16 kali (16 putaran).

Setiap putaran menggunakan kunci internal yang berbeda.

c. Hasil encipheringkemudian dipermutasi dengan matriks permutasi balikan (invers

initial permutation atau IP-1) menjadi blok ciphertext (Fitri, 2010).

Skema global kritptografi DES dapat kita lihat pada Gambar 2.3 berikut:

Blok Plainteks

IP

Enciphering

IP-1

Cipherteks 16 kali

Gambar 2.3 Skema Global Kriptografi DES (Munir, 2006)

Dalam proses enchipering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan

kanan (R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam

16 putaran DES. Pada setiap putaran i, blok R merupakan masukan untuk fungsi

transformasi yang disebut f . Pada fungsi f, blok R dikombinasikan dengan kunci

internal �.

Keluaran dari fungsi f di-XOR-kan dengan blok L untuk mendapatkan blok R

yang baru. Sedangkan blok L yang baru langsung diambil dari blok R yang

sebelumnya. Ini adalah satu putaran DES. Secara matematis, satu putaran DES

(24)

�� =��−1 ⊕ �(��−1,��) (1)

�� = ��−1 (2)

Pada Gambar 2.4 dapat dilihat skema enkripsi DES secara rinci. Pada proses

enkripsi terjadi 16 kali perputaran dan akan menghasilkan keluaran (L16,R16) yang

merupakan pra-cipherteks. Cipherteks yang sebenarnya akan diperoleh dengan

melakukan permutasi awal balikan (IP-1) terhadap blok pra-cipherteks.

Plainteks

IP

L0 R0

L1 = R0 R1 = L0⊕ f(R0,K1) f

+

f

+

f

+

Cipherteks IP־¹

L2 = R1 R2 = L1⊕ f(R1,K2)

L15 = R14 R15 = L14⊕ f(R14,K15)

L16 = R15

R16 = L15⊕ f(R15,K16)

K1

K2

K16

(25)

2.2.1 Langkah-langkah Proses Enkripsi DES

1. Langkah Pertama

Ubah plainteks dan kunci eksternal ke dalam bentuk biner

2. Langkah Kedua

Lakukan initial permutation (IP) pada bit plainteks menggunakan tabel Initial

Permutationyang ditunjukkan pada Tabel 2.1 berikut:

Tabel 2.1 Tabel Initial Permutation (IP)

58 50 42 34 26 18 10 2

60 52 44 36 28 20 12 4

62 54 46 38 30 22 14 6

64 56 48 40 32 24 16 8

57 49 41 33 25 17 9 1

59 51 43 35 27 19 11 3

61 53 45 37 29 21 13 5

63 55 47 39 31 23 15 7

Setelah mendapatkan hasilnya, bagi (IP) menjadi dua blok, yaitu L0 dan R0:

3. Langkah Ketiga

Generate kunci yang akan digunakan untuk mengenkripsi plainteks dengan

menggunakan tabel permutasi kompresi PC-1 (Tabel 2.2), pada langkah ini terjadi

kompresi dengan membuang 1 bit masing-masing blok kunci dari 64 bit menjadi 56

(26)

Tabel 2.2 Tabel PC-1

57 49 41 33 25 17 9

1 58 50 42 34 26 18

10 2 59 51 43 35 27

19 11 3 60 52 44 36

63 55 47 39 31 23 15

7 62 54 45 38 30 22

14 6 61 53 45 37 29

21 13 5 28 20 12 4

Hasilnya kemudiban dibagi CD menjadi dua blok, yaitu C0 dan D0.

4. Langkah Keempat

Lakukan pergeseran kiri (left shift) pada C0 dan D0 sebanyak 1 atau 2 kali berdasarkan

kali putaran yang ada pada Tabel 2.3 sebagai berikut:

Tabel 2.3 Tabel Left Shift

Iterasi Ke 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Pergeseran

Bit 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

Setiap hasil putaran digabungkan kembali menjadi CiDi dan diinput ke dalam

tabel Permutation Compression 2 (Tabel 2.4) dan terjadi kompresi data CiDi 56 bit

menjadi CiDi 48 bit.

Tabel 2.4Tabel PC-2

14 17 11 24 1 5

(27)

23 19 12 4 26 8

16 7 27 20 13 2

41 52 31 37 47 55

30 40 51 45 33 48

44 49 39 56 34 53

46 42 50 36 29 32

5. Langkah Kelima

Pada langkah ini data Ri-1 32 bit akan di-ekspansi menjadi Ri 48 bit sebanyak 16 kali

putaran menggunakan Tabel Ekspansi pada Tabel 2.7.

Tabel 2.5 Tabel Ekspansi

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 13 14 15 16 17

16 17 18 19 20 21

20 21 22 23 24 25

24 25 26 27 28 29

28 29 30 31 32 1

Hasil E(Ri-1) kemudian di-XOR dengan Ki dan menghasilkan Vektor matriks

Ai.

6. Langkah Keenam

Setiap vektor Ai disubsitusikan kedelapan buah S-Box (Subtitution Box), dimana blok

(28)

menghasilkan output vektor Bi 32 bit. Tabel S-Box dapat dilihat pada Tabel 2.6

berikut.

Tabel 2.6 Tabel S-Box

(29)
(30)
(31)

S-8

Cara menggunakan S-Box:

Kita ambil contoh S-1, kemudian kita ambil sampel blok dari A1 yaitu 101100. Kita

pisahkan menjadi dua blok, yaitu:

 Bit pertama dan terakhir yaitu 1 dan 0 digabungkan menjadi 10

 Bit kedua hingga lima yaitu 0110

Kemudian dibandingkan dengan memeriksa perpotongan antara keduanya

didapatkan nilai 0010 dan seterusnya untuk blok kedua hingga blok ke delapan kita

bandingkan dengan S2hingga S8.

7. Langkah Ketujuh

Setelah didapatkan nilai vektor Bi, langkah selanjutnya adalah memutasikan bit vektor

Bi menggunakan P-Box (Tabel 2.7), kemudian dikelompokkan menjadi 4 blok dimana

(32)

Tabel 2.7 Tabel P-Box

16 17 20 21

29 12 28 17

1 15 23 26

5 18 31 10

2 8 24 14

32 27 3 9

19 13 30 6

22 11 4 25

Hasil P(Bi) kemudian di-XOR-kan dengan Li-1 untuk mendapatkan nilai Ri.

Sedangkan nilai Li sendiri diperoleh dari nilai Ri-1 untuk nilai 1<=1<=16.

8. Langkah Kedelapan

Langkah terakhir adalah menggabungkan L16 dengan R16 kemudian dipermutasikan

untuk terakhir kalinya dengan tabel Invers Initial Permutation yang ditunjukkan pada

Tabel 2.8 berikut:

Tabel2.8 Tabel Invers Initial Permutation (IP-1)

40 8 48 16 56 24 64 32

39 7 47 15 55 23 63 31

38 6 46 14 54 22 62 30

37 5 45 13 53 21 61 29

36 4 44 12 52 20 60 28

35 3 43 11 51 19 59 27

34 2 42 10 50 18 58 26

(33)

2.2.2 Dekripsi DES

Proses dekripsi terhadap blok cipherteks merupakan kebalikan dari proses

enkripsi. DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi.

Jika pada proses enkripsi urutan kunci internal yang digunakan adalah K1, K2,..., K16,

maka pada proses dekripsi urutan kunci adalah K16, K15,..., K1. Untuk tiap putaran

16,15,..., 1, keluaran pada setiap putaran deciphering adalah

�� =��−1 ⊕ �(��−1,��) (1)

�� = ��−1 (2)

2.3 Citra Digital

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

Citra sebagai seluaran suatu sistem perekaman data dapat bersifat optik berupa foto,

bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau

bersifat digital yang dapatlangsung disimpan pada suatu media penyimpanan. Citra

digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor

komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut piksel

(elemen terkecil dari sebuah citra). Piksel adalah elemen citra yang memiliki nilai

yang menunjukkan intensitas citra (Sutoyo, et al. 2009).

2.4 Bitmap

Bitmap adalah format penyimpanan standar tanpa kompresi yang umum dapat

digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari

beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan

(34)

Gambar 2.5 Citra Format (*.bmp)

2.5 Steganografi

Steganografi berasal dari bahasa Yunani steganos, yang berarti “tertutup” dan

graphia, yang berarti “menulis”. Steganografi adalah seni komunikasi tersembunyi.

Selain invisible-ink (tinta tak-tampak), contoh lain yang sering dikutip dari

steganografi adalah sebuah kisah kuno dari Herodotus, yang bercerita tentang seorang

budak yang dikirim oleh tuannya, Histiӕus, untuk ke kota Miletus dengan pesan

rahasia berupa tato di kulit kepalanya. Setelah ditato, si budak menumbuhkan kembali

rambutnya untuk menutupi pesan tersebut. Dia kemudian melakukan perjalanan ke

Miletus dan setelah tiba, dia mencukur kepalanya untuk menunjukkan pesan ke Bupati

kota, Aristagoras. Pesan itu mendorong Aristagoras untuk memulai pemberontakan

terhadap raja Persia. Dalam skenario ini, pesan adalah nilai utama untuk Histiӕus dan

budak hanyalah sebagai pembawa pesan (Cox, et al. 2008).

Steganografi adalah ilmu menyembunyikan teks pada media lain yang telah ada

sedemikian sehingga teks yang tersembunyi menyatu dengan media itu. Media tempat

penyembunyian pesan tersembunyi dapat berupa media teks, gambar, audio atau

video. Steganografi yang kuat memiliki sifat media yang telah tertanam teks

tersembunyi sulit dibedakan dengan media asli namun teks tersembunyi tetap dapat

(35)

Penyembunyian data rahasia ke dalam citra digital akan mengubah kualitas citra

tersebut. Hal ini tergantung pada ukuran file media penyimpanan dan ukuran file

pesan yang disisipkan. Untuk itu ada beberapa hal atau kriteria yang harus

diperhatikan dalam penyembunyian data, yaituSutoyo, et al. 2009):

a. Fidelity

Mutu citra penampung data tidak jauh berubah. Setelah terjadi penambahan pesan

rahasia, stego-data masih terlihat dengan baik. Pengamat tidak mengetahui kalau di

dalam stego-data tersebut terdapat pesan rahasia.

b. Robustness

Pesan yang disembunyikan harus tahan (robust) terhadap berbagai operasi manipulasi

yang dilakukan pada stego-data, seperti pengubahan kontras, penajaman,

pemampatan, rotasi, pembesaran gambar, pemotongan, enkripsi, dan sebagainya. Bila

pada citra penampung dilakukan operasi-operasi pengolahan citra tersebut, maka

pesan yang disembunyikan seharusnya tidak rusak (tetap valid jika diekstraksi

kembali).

c. Recovery

Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Karena tujuan

steganografi adalah penyembunyian informasi maka sewaktu-waktu pesan rahasia di

dalam stego-data harus dapat kembali untuk digunakan lebih lanjut.

d. 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 (Munir, 2006).

2.6 First Of File (FOF)

First Of File adalah suatu metode atau teknik steganografi untuk menyembunyikan

(36)

untuk menyisipkan pesan yang ukurannya sesuai dengan kebutuhan. Ukuran file yang

telah disisipkan pesan sama dengan ukuran file sebelum disisipkan pesan ditambah

dengan ukuran pesan yang disisipkan ke dalam file tersebut (Arfiyah, 2013).

2.7 Penelitian Terdahulu

Beberapa penelitian yang telah dilakukan sebelumnya yang berkaitan dengan

penelitian ini adalah:

1. Berdasarkan penelitian oleh Indra Syahputra, yaitu Simulasi

Kerahasiaan/Keamanan Informasi Dengan Menggunakan Algoritma DES (Data

Encryption Standard), dijelaskan bahwa Kriptografi mendukung kebutuhan dari dua

aspek keamanan informasi, yaitu secrecy (perlindungan terhadap kerahasiaan

informasi) dan authenticity (perlindungan terhadap pemalsuan dan pengubahan

informasi yang tidak diinginkan). Salah satu metode kripstografi yang dapat

digunakan untuk menjamin keamanan data adalah dengan Data Encryption Standard

(DES). DES diadopsi oleh NIST (National Institute of Standards and Technology)

sebagai standar pengolah infoemasi Federal AS (Syahputra, 2010).

2. Berdasarkan penelitian oleh Henny Wandani, yaitu Implementasi Sistem

Keamanan Data dengan Menggunakan Teknik Steganografi End of File (EOF) dan

Rabin Public Key Cryptosystem. Kriptografi yang sifatnya mengacak suatu pesan

rahasia menimbulkan kecurigaan. Sehingga muncullah steganografi yang merupakan

teknik penyembunyian pesan dalam sebuah media dan bersifat tidak mengacak isi file,

sehingga file yang disisipkan tidak mencurigakan. Dengan kombinasi kriptografi dan

steganografi maka akan meningkatkan keamanan pada pesan rahasia (Wandani,

(37)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Tahapan awal dalam merancang suatu sistem yang terdiri dari tiga bagian, yaitu

analisis masalah, analisis persyaratan, dan analisis proses.

3.1.1 Analisis Masalah

Keamanan adalah hal terpenting bagi sebuah pesan atau komunikasi, untuk

mengamankan suatu pesan maka digunakanlah algoritma kriptografi untuk mengacak

pesan tersebut. Dengan semakin meningkatnya pengetahuan dalam bidang komunikasi

data pengamanan dengan teknik kriptografi saja tidak cukup.

Untuk menambah tingkat keamanan suatu pesan, maka dilakukanlah

penggabungan teknik kriptografi dengan steganografi. Algoritma kriptografi yang

akan digunakan disini adalah algoritma Data Encryption Standard dan teknik

steganografinya adalah First Of File.

Analisis masalah lebih jelasnya dapat dilihat melalui Diagram Ishikawa

(Fishbone Diagram) pada Gambar 3.1. berikut.

PENGAMANAN PESAN

USER METODE

MATERIAL SISTEM

Data Encryption Standard

First Of File Mengamankan pensan

File text berformat *.txt

Citra berformat *.bmp

Enkripsi dan Embedding

Ekstraksi dan Dekripsi

(38)

3.1.2 Analisis Persyaratan

Analisis persayaratan merupakan tahap untuk menentukan kebutuhan-kebutuhan dari

sistem. Analisis persyaratan terdiri dari dua bagian, yaitu analisis fungsional dan

analisis nonfungsional.

3.1.2.1Analisis Fungsional

Analisis fungsional dilakukan untuk mengetahui hal-hal yang harus dipenuhi oleh

sistem. Berikut hal-hal yang dapat dilakukan oleh sistem.

1. Sistem mampu mengenkripsi pesan berformat *.txt dan menyisipkannya ke file

citra dengan format *.bmp.

2. Sistem dapat mengekstraksi pesan yang sudah tersisipkan di dalam citra

kemudian mendekripsi pesan tersebut.

3. Dalam proses enkripsi dan dekripsi metode yang digunakan adalah Data

Encrypsion Standard (DES) dan proses penyisipan pesan kedalam citra adalah

teknik Steganografi First Of File (FOF).

4. Sistem dapat menerima inputan karakter ASCII 256.

3.1.2.2Analisis Nonfungsional

Analisis nonfungsional berkaitan dengan fitur-fitur berikut ini:

1. Performa

Sistem dapat menunjukkan hasil dari proses enkripsi dan embedding serta

dekripsi dan extracting.

2. Mudah dipelajari dan digunakan

Sistem memiliki tampilan yang user friendly dan memiliki panduan penggunaan.

3. Hemat biaya

Sistem yang akan dibangun dapat bebas digunakan dan tanpa biaya.

(39)

Sistem yang akan dibangun dapat menyimpan hasil enkripsi dan embedding.

5. Manajemen kualitas

Sistem yang akan dibangun memiliki kualitas yang baik.

6. Kontrol

Sistem akan menampilkan kotak pesan erroruntuk setiap input yang tidak sesuai.

3.1.3 Pemodelan Persyaratan Sistem dengan Use Case

Use case merupakan langkah-langkah pada sistem yang dapat dikerjakan oleh user.

Use case diagram adalah gambaran umum dari sebuah sistem yang lebih

menunjukkan tentang apa saja yang dapat dilakukan oleh sistem tersebut dimana

kontrol dilakukan oleh user.Use Case Diagram dari sistem yang akan dibuat dapat

dilihat pada Gambar 3.2 berikut.

Enkripsi dan Embedding

Ekstraksi dan Dekripsi User

System

Embedding Enkripsi

Dekripsi Ekstraksi

<<extends>>

<<extends>> <<extends>> <<extends>>

<<depand>>

(40)

Pada gambar 3.2 menjelaskan kontrol yang dilakukan oleh user, yaitu

melakukan enkripsi pesan dengan menggunakan algoritma Data Encryption Standard

dan ciphertext hasil dari enkripsi tersebut disisipkan pada citra. Kemudian untuk

melihat kembali pesan user melakukan ekstraksi pada citra yang sudah tersisip pesan

kemudian hasil ekstraksi tersebut harus

didekripsikan untuk melihat pesan aslinya.

3.1.3.1Spesifikasi Use Case

Berikut ini merupakan spesifikasi use casedari Gambar 3.2

Tabel 3.1 Spesifikasi Use CaseEnkripsi

Name Enkripsi

Actors User

Trigger Usermemasukkan plaintext kunci.

Preconditions Usermengeksekusi tombol Enkripsi

Post Conditions Usermendapatkanciphertext hasil proses enkripsi.

Success Scenario 1. Usermemilih menu Enkripsi.

2. Usermemasukkan kunci.

3. User mengeksekusi tombol enkripsi.

4. Sistem akan melakukan proses enkripsi terhadapplaintext

yang dimasukkan.

5. Usermendapatkanciphertext hasil proses enkripsi.

(41)

Berikut ini adalah spesifikasi untuk use casePenyisipan Pesan

Tabel 3.2 Spesifikasi Use CaseEmbedding

Name Embedding

Actors User

Trigger Usermemiliki ciphertext yang akan disisipkan.

Preconditions User memilih citra yang akan disisikpan oleh ciphertext

Post Conditions Usermendapatkan stego-image

Success Scenario 1. User memiliki ciphertext yang akan disisipkan

2. User mamasukkan filecitra.

3. User mengeksekusi tombol Embed

4. Usermendapatkan stego-image dan dapat disimpan

(42)

Berikut adalah activity diagram untuk proses Enkripsi dan Penyisipan.

Masukkan plaintext

Masukkan kunci

Proses Enkripsi

Menampilkan ciphertext Memilih file citra

Proses penyisipan chiphertext ke citra

Menampilkan stego-image Menampilkan file citra

Mengeksekusi tombol Embed

Mengeksekusi tombol simpan

Menyimpan stego-image

Mengeksekusi tombol Enkripsi

User System

Gambar 3.3 Activity Diagram untuk Proses Enkripsi dan Embedding

Berikut adalah spesifikasi untuk use case Ekstraksi Pesan

Tabel 3.3 Spesifikasi Use CaseEkstraksi

Name Ekstraksi

Actors User

Trigger Usermemiliki stego-image yang akan di ekstraksi

Preconditions User mengeksekusi tombol Ekstrak

Post Conditions User mendapatkan ciphertext hasil dari ekstrasi

(43)

2. User mengeksekusi tombol Ekstrak

3. Sistem melakukan proses ekstraksi.

4. User mendapatkan ciphertext hasil ekstraksi

Alternative Flows -

Berikut ini adalah spesifikasi untuk uses case Dekripsi Pesan

Tabel 3.4 Spesifikasi Use CaseDekripsi

Name Dekripsi

Actors User

Trigger User memiliki ciphertext yang akan didekripsi dan

memasukkan kunci

Preconditions Usermengeksekusi tombol Dekripsi

Post Conditions Usermendapatkan plaintext asli dan dapat disimpan

Success Scenario 1. User memiliki plaintext dan memasukkan kunci

2. User mengakses tombol dekripsi..

3. Sistem melakukan proses dekripsi terhadapciphertext..

4. Usermendapatkanplaintext hasil proses dekripsi dan dapat

disimpan.

Alternative Flows -

(44)

Membuka file stego image Menampilkan stego image

Mengeksekusi tombol Ekstrak

Melakukan proses ekstraksi

Menampilkan ciphertext hasil ekstraksi Memasukkan kunci

Mengeksekusi tombol Dekripsi Melakukan proses dekripsi

Menampilkan plaintext hasil proses dekripsi Mengeksekusi tombol simpan

Menyimpan plaintext hasil proses dekripsi

User System

Gambar 3.4 Activity Diagram untuk Proses EkstraksidanDekripsi

3.1.4 Pseudocode

Pseudocode adalah penulisan algoritma pemrograman dengan bentuk sederhana dan

dapat membantu manusia dalam memahami suatu algoritma.

3.1.4.1 Pseudocode Proses Enkripsi

Berikut adalah pseudocode untuk proses enkripsi:

int index = 0

putaran = 0

(45)

while (plain.Length % 8 != 0)

plain += "#"

loop ← plain.Length / 8

getCD()

getCiDi()

getK()

for (int i = 0; i < loop; i++)

PlainBiner = ""

PlainBiner ←getPlainBiner(plain.Substring(index, 8))

getIP()

Enciphering()

index += 8

putaran++

endfor

Proses enkripsi dimulai dengan mengubah kunci eksternal menjadi kunci

internal. Kemudian pesan asli diubah terlebih dahulu kedalam bentuk biner. Proses

enkripsi dilakukan setiap 8 karakter, jika pesan yang dimili user lebih dari 8 karakter

maka akan dilakukan perulangan sampai selesai.

3.1.4.2 Pseudocode Proses Embedding

Berikut adalah pseudocode untuk proses embedding:

string[] cipher = CipherDec.Split(' ')

Bitmap image ← new Bitmap(imgCover.Image);

int x ← image.Width

int y ← image.Height

int R, G, B

int idx = 0

Bitmap output ← new Bitmap(image.Width, 1)

(46)

MessageBox.Show("Image Cover terlalu kecil untuk

Cipherteks yg akan disisipkan", "DES", MessageBoxButtons.OK,

MessageBoxIcon.Warning)

else

for (int i = 0; i < 1; i++)

for (int j = 0; j < x; j++)

output.SetPixel(j, i, Color.FromArgb(255, 0,

0, 0))

endfor

endfor

for (int i = 0; i < 1; i++)

for (int j = 0; j < x; j++)

if (idx = cipher.Length - 1)

goto habis;

if (idx + 2 = cipher.Length - 1)

R ← Convert.ToInt32(cipher[idx])

G ← Convert.ToInt32(cipher[idx + 1])

B ← 0

idx += 2

else if (idx + 1 = cipher.Length - 1)

R ← Convert.ToInt32(cipher[idx])

(47)

B = 0

idx++

else

R ← Convert.ToInt32(cipher[idx])

G ← Convert.ToInt32(cipher[idx + 1])

B ← Convert.ToInt32(cipher[idx + 2])

idx += 3

endif

output.SetPixel(j, i, Color.FromArgb(255, R,

G, B))

endif

endfor

habis:

Bitmap outputImage = new Bitmap(image.Width,

image.Height + 1,

System.Drawing.Imaging.PixelFormat.Format32bppArgb);

using (Graphics graphics =

Graphics.FromImage(outputImage))

graphics.DrawImage(output, new Rectangle(new

Point(), output.Size),

new Rectangle(new Point(), output.Size),

GraphicsUnit.Pixel);

graphics.DrawImage(image, new Rectangle(new

Point(0, output.Height + 1), image.Size),

new Rectangle(new Point(), image.Size),

GraphicsUnit.Pixel);

imgHasil.Image = outputImage;

MessageBox.Show("Proses Embedding Selesai", "Embed",

(48)

endfor

endif

Proses penyisipan pesan (embedding) dilakukan dengan cara menambah baris

baru pada bagian atas atau bagian awal matrik pixel citra. Jika pesan yang akan

disisipkan memiliki banyak karakter, maka pixel dari citra juga tidak boleh terlalu

kecil. Jika citra yang digunakan memiliki pixel yang terlalu kecil maka pada sistem

akan memberikan peringatan bahwa image cover terlalu kecil untuk ciphertext yang

ingin disisipkan.

3.2.4.3 Pseudocode Proses Ekstraksi

Berikut adalah pseudocode untuk proses ekstraksi:

Bitmap image ← new Bitmap(imgStego.Image)

int x ← image.Width

int r, g, b

string pixels = ""

for (int i = 0; i < 1; i++)

{

for (int j = 0; j < x; j++)

{

r ← image.GetPixel(j, i).R g ← image.GetPixel(j, i).G b ← image.GetPixel(j, i).B

pixels += r + " " + g + " " + b + " "

endfor

endfor

pixels ← pixels.Remove(pixels.IndexOf("0 0 0 0")); txtCiphertext.Text = pixels

Pada proses ekstraksi sistem akan membaca nilai dari pixel matriks stego

(49)

yang bernilai 0 0 0 0 maka saat itu sistem akan berhenti membaca, hal ini adalah

sebagai tanda bahwa pesan yang tersembunyi di citra sudah habis.

3.2.4.4 Pseudocode Proses Dekripsi

if (txtKunci.TextLength != 8)

MessageBox.Show("Kunci harus 8 Karakter", "Error",

MessageBoxButtons.OK, MessageBoxIcon.Warning)

else

Plaintext = ""

int index = 0

putaran = 0

string[] cipherArray = txtCiphertext.Text.Split(' ')

loop ← cipherArray.Length / 8 getCD()

getCiDi()

getK()

for (int i = 0; i < loop; i++)

CipherBiner = ""

for (int j = index; j < index + 8; j++)

CipherBiner+= getCipherBiner(cipherArray[j]) +

" "

endfor

deciphering()

index += 8

putaran++

endfor

(50)

Proses dekripsi memiliki cara yang sama sebagaimana proses enkripsi

dilakukan, yang berbeda dari kedua proses ini adalah pada bagian penggunaan kunci,

jika pada enkripsi kunci yang digunakan adalah dari awal yaitu K1,K2,K3,...K16.

Sedangkan untuk proses dekripsi adalah sebaliknya yaitu dari K16,K15,K14,...K1.

3.1.5 Analisis Sistem Proses

Pengamanan pesan teks ini menggunakan algoritma Data Encryption Standarddalam

proses enkripsi dan menggunakan First Of File untuk proses penyisipan pesan ke file

citra. Untuksequence diagramproses enkripsi pesan dapat dilihat pada Gambar 3.5.

User

Enkripsi Dekripsi

1. Masukkan plaintext

2. Masukkan kunci

3. Output: Ciphertext

4. Masukkan citra

5. Output: stego image

6. Pilih lokasi penyimpanan stego image

7. File stego image tersimpan

Gambar 3.5 Sequence Diagram Proses Enkripsi dan Penyisipan Pesan

(51)

User

Ekstraksi Dekripsi

1. Masukkan stego image

2. Output: ciphertext

3. Masukkan kunci

4. Output: plaintext asli

5. Pilih lokasi penyimpanan plaintext

6. File plaintext tersimpan

Gambar 3.6 Sequence Diagram untuk Proses Ekstraksi dan

Dekripsi Pesan

3.1.6 Flowchart Sistem

3.1.6.1Flowchart Proses Enkripsi

Untuk mempermudah dalam memahami langkah-langkah proses enkripsi dengan

menggunakan algoritma Data Encryption Standard penulis akan memisahkan

flowchart pembangkitan kunci internal (Gambar 3.7) dan flowchart enkripsi (Gambar

(52)

START

Input Kunci Eksternal

Ubah kunci menjadi bilangan

biner

Kompresi menggunakan

matriks PC-1

C0D0

Left Shif

CiDi

Kompresi menggunakan

matriks PC-2

K

END

Gambar 3.7 Flowchart Proses Pembangkitan Kunci Internal

Keterangan:

Untuk memulai, user diharuskan untuk memasukkan kunci eksternal, dan untuk

menjalankan proses enkripsi, kunci eksternal (64 bit) tersebut harus diubah menjadi

kunci internal (48 bit) terlebih dahulu. Setelah user memasukkan kunci eksternal 64

bit, maka kunci tersebut akan diubah kedalam bentuk biner dan kemudian di kompresi

(53)

menghasilkan dua buah blok yaitu C0 dan D0. Kemudian kedua buah blok tersebut

digeser ke kiri menggunakan Left Shift, setelah melakukan pergeseran dan

digabungkan, maka menghasilkan C1,D1. C1,D1 kemudian dikompresi lagi menjadi 48

bit menggunakan matriks permutasi kompresi PC-2 dan menghasilkan K .

START

Input plaintext

Ubah kedalam bentuk biner

Pengacakan dengan matrik Initial Permutation

(IP)

L0 dan R0

Ekspansi R0 dengan matriks

ekspansi

XOR-kan E(Ri-1) dan Ki E(Ri-1)

Ai

Permutasikan dengan matriks

P-box

P(Bi)

XOR-kan P(Bi) dan Li-1

Ri (Li = Ri-1)

Inverse Initial Permutation (IP-1)

kepada L16 dan R16

Ciphertext

Konversi kedalam kode ASCII

Ciphertext (desimal)

END Bi

Subtitusikan kedalam S-box

A

A

(54)

Keterangan :

Dari flowchartproses enkripsi pada gambar 3.8dapat dilihat langkah-langkah untuk

melakukan enkripsi, user memasukkanplaintextyang kemudian diubah dulu kedalam

bentuk biner setelah itu lakukanpengacakan menggunakan Initial Permutation (IP) dan

menghasilkan L0 dan R0 yang kemudian ekspansikan ke tabel ekspansi sehingga

menhasilkan blok 48 bit yaitu E(R-1). E(R-1) kemudian di XOR kan dengan K untuk

mendapatkan nilai Ai. Ai tersebut kemudian subtitusikan dengan tabel S-box sehingga

menghasilkan blok 32 bit yaitu Bi. Nilai Bi dimutasikan dengan tabel P-box. P(B)

kemudian di-XOR kan dengan L-i-1 menghasilkan Ri, dimana Li=Ri-1. Setelah

melakukan perulangan sebanyak 16 kali dan mendapatkan hasil sampai L16dan R16

kemudian lakukan Invers Initial Permutation (IP-1), maka akan menghasilkan

ciphertext.

3.1.6.2Flowchart Penyisipan Pesan.

Teknik steganografi yang digunakan untuk menyisipkan pesan kedalam file citra

adalah First Of File.Untuk flowchart penyisipan pesan dapat dilihat pada Gambar 3.9

(55)

START

Ciphertext (desimal)

Cover image

Penyisipan pesan dengan teknik

FOF

Stego image

END

Gambar 3.9Flowchart Penyisipan Pesan pada Gambar

Keterangan :

Ciphertextyang didapat dari proses enkripsi diubah kedalam bentuk desimal sesuai

kode ASCII agar dapat disisipkan ke file citra. Kemudian user memasukkan cover

image, yaitu citra yang akan disisipkan pesan. Setelah itu dilakukan proses penyisipan

dengan teknik FOF, dan didapatlah stego image.

3.1.6.3Flowchart Ekstraksi Pesan

Ekstraksi pesan adalah proses pengambilan kembali pesan yang tersimpandidalam

stego image.Untuk flowchart dari ekstraksi pesan dapat dilihat pada Gambar 3.10

(56)

START

Masukkan Stego image

Proses ekstraksi pesan

Ciphertext

END

Gambar 3.10Flowchart Ekstraksi Pesan

Keterangan :

Awalnya usermemasukkan stego image kemudian proses ekstraksi pesan dilakukan.

Hasil dari proses ekstraksi merupakan ciphertext yang nantinya digunakan untuk

proses dekripsi.

3.1.6.4Flowchart Proses Dekripsi

Proses dekripsi akan setelah proses ekstraksi berhasil mengeluarkan ciphertext dari

(57)

START

Ciphertext (biner)

Pengacakan dengan matrik Initial Permutation

(IP)

L0 dan R0

Ekspansi R0 dengan matriks

ekspansi

XOR-kan E(Ri-1) dan Ki E(Ri-1)

Ai

Permutasikan dengan matriks

P-box

P(Bi)

XOR-kan P(Bi) dan Li-1

Ri (Li = Ri-1)

Inverse Initial Permutation (IP-1)

kepada L16 dan R16

Plaintext (biner)

Konversi kedalam kode ASCII

Plaintext asli

END Bi

Subtitusikan kedalam S-box

A

A

Gambar 3.11FlowchartProses Dekripsi

Keterangan :

Flowchart pada Gambar 3.11menunjukkan proses dari dekripsi pesan, untuk

(58)

Kipada proses enkripsi dimulai dari K1, K2, K3,...,K16 maka pada proses dekripsi

adalah kebalikannya yaitu K16,K15,K14,...,K1.

3.1.7 Rancangan Antar Muka

Sistemdibangun dengan menggunakan software Microsoft Visual Studio dan bahasa

pemrograman yang digunakan adalah C#. Rancangan dari sistem kombinasi algoritma

Data Encryption Standard dan teknik steganografi First Of File ini terdiri dari # buah

form yaitu form utama, form enkripsi dan form dekripsi..

3.1.7.1Antar Muka Form Utama

Form utama merupakan form awal yang muncul pada saat menjalankan sistem. Pada

formutamaterdapat keterangan dari judul sistem yang dibuat dan nama penulis.Untuk

tampilan form utama dapat dilihat pada Gambar 3.12

Enkripsi Dekripsi Keluar

Pengamanan Data Teks

Dengan Kombinasi Algoritma Data Encryption Standard (DES) Dan Teknik Steganografi First Of File (FOF)

Logo USU

Rio Auditya Pratama Samosir 091401074

Data Encryption Standard

1

2

3

2

(59)

Komponen-komponen yang dipakai dalam form Utama pada Gambar 3.12 adalah:

1. Menu String (‘Enkripsi, Dekripsi, Keluar’) merupakan pilihan proses yang dapat

dilakukan oleh sistem.

2. Label digunakan sebagai judul dari sistem dan nama penulis.

3. Picture Box, menampilkan logo dari instansi pendidikan penulis.

3.1.7.2Antar Muka Form Enkripsi

Pada form enkripsi, user memasukkanplaintextyang ingin dienkripsi dan juga

memasukkan kunci eksternal. Setelah proses enkripsi selesai user memasukkan file

citra yang akan disisip oleh ciphertext hasil enkripsi tersebut.

Data Encryption Standard - Enkripsi

Enkripsi Plaintext

Buka

Kunci

Enkripsi

Ciphertext (biner)

Steganografi

Image Cover

Buka

Informasi Image

Embed

Image Hasil

Simpan Ciphertext (desimal)

Simpan Kunci Biner

Plaintext Biner

Proses Hasil Enkripsi

2

1

3 4 7

11 8

12

13

5

6

9

10

14

15 16 18

19

20

21

22

23

24

25

26

17

Gambar 3.13Form Enkripsi

Komponen-komponen yang dipakai dalamform enkripsi pada Gambar 3.13 adalah

sebagai berikut:

(60)

2. Label (‘Plaintext’) merupakanpetunjuk bahwa area tersebut adalah tempat user

memasukkan pesan teks.

3. TextBox 1 merupakan lokasi inputan pesan teks.

4. Button (‘Buka’) berfungsi untuk membuka file pesan teks berformat *.txt yang

sudah tersimpan dalam komputer .

5. Label (‘PlaintextBiner’) merupakanpetunjuk bahwa area tersebut adalah tempat

tampilnya plaintext dalam bentuk biner.

6. TextBox2 merupakan lokasi tampilnya plaintext dalam bentuk biner.

7. Label (‘Kunci’)menunjukan lokasi user memasukkan kunci eksternal.

8. TextBox 3merupakan lokasi inputan kunci eksternal.

9. Label(‘Kunci Biner’) menunjukkan tempat tampilnyakuncidalam bentuk biner.

10. TextBox 4merupakan lokasi tampilnya kunci dalam bentuk biner.

11. Button(‘Enkripsi’) berfungsi untuk memulai proses enkripsi.

12. Label (‘Ciphertext(Biner)’) menunjukan tempattampilnyaciphertextdalam bentuk

biner.

13. TextBox 5lokasitampilnyaciphertextdalam bentuk biner.

14. Label (‘Ciphertext(Desimal)’) menunjukan tempat tampilnyaciphertextdalam

bentuk desimal.

15. TextBox 6lokasitampilnyaciphertextdalam bentuk desimal.

16. Button(‘Simpan’) berfungsi untuk menyimpan ciphertext.

17. Label (‘Proses Hasil Enkripsi’) menunjukan tempat tampilnyahasil dari

tahapan-tahapan yang ada pada proses enkripsi.

18. GroupBox 2 (‘Steganografi’) merupakan tempat proses penyisipan pesan kedalam

citra.

19. Label(‘Image Cover’) menunjukan tempat tampilnya file citra yang dipilih user

sebagai citra yang akan disisipkan pesan.

(61)

21. Button(‘Buka’) berfungsi untuk mengakses file citra berformat *.bmp yang sudah

tersimpan dalam komputer.

22. Label(‘Informasi Image’) menunjukan keterangan dari file citra yang terdiri dari

size dan dimensi.

23. Button(‘Embed’) berfungsi untuk memulai proses penyisipan pesan kedalam file

citra.

24. Label(‘Image Hasil’) menunjukan tempat tampilnya stego image.

25. PictureBox 2lokasi tampilnya stego image.

26. Button(‘Simpan’) berfungsi untukmenyimpan stego image kedalam komputer

user.

3.1.7.3Antar Muka Form Dekripsi

Pada formdekripsi, usermemasukkan file stego image yang ingin di ekstrak terlebih

dahulu. Setelah ciphertext didapatkan proses dekripsi bisa dimulai dan menghasilkan

plaintext yang asli.

Data Encryption Standard - Dekripsi

Dekripsi Ciphertext

Kunci

Enkripsi

Plaintext Steganografi

Stego Image

Buka

Informasi Image

Ekstrak

Plaintext Biner

Simpan

Kunci Biner Ciphertex Biner

Proses Hasil Enkripsi

8

7

9 12

16 13

18

19

10

11

14

15

20

21 22

2

3

4

5

6

17 1

(62)

Komponen-komponen dari form ekstraksi pada Gambar 3.14 adalah sebagai berikut:

1. GroupBox 1 (‘Steganografi’) merupakan tempat proses ekstraksi pesan dalam

stego image.

2. Label(‘Stego Image’) menunjukan tempat tampilnya stego image.

3. PictureBox 1lokasi tampilnya stego image.

4. Button(‘Buka’) berfungsi untuk mengakses file stego image yang sudah tersimpan

dalam komputer.

5. Label(‘Informasi Image’) menunjukan keterangan dari file citra yang terdiri dari

size dan dimensi.

6. Button(‘Ekstrak’) berfungsi untuk memulai ekstraksi pada stego image untuk

mendapatkan ciphertext.

7. GroupBox 2 (‘Dekripsi’) merupakan tempat proses dekripsi dilakukan.

8. Label (‘Ciphertext’) menunjukan tempattampilnyaciphertext.

9. TextBox 1lokasitampilnyaciphertext.

10. Label (‘Ciphertext Biner’) menunjukan tempattampilnyaciphertextdalam bentuk

biner.

11. TextBox 2lokasitampilnyaciphertextdalam bentuk biner.

12. Label (‘Kunci’)menunjukan lokasi user memasukkan kunci.

13. TextBox 3merupakan lokasi inputan kunci.

14. Label(‘Kunci Biner’) menunjukkan tempat tampilnyakuncidalam bentuk biner.

15. TextBox 4lokasi tampilnya kunci dalam bentuk biner.

16. Button(‘Dekripsi’) berfungsi untuk memulai proses dekripsi.

17. Label (‘Proses Hasil Dekripsi’) menunjukan tempat tampilnyahasil dari

tahapan-tahapan yang ada pada proses dekripsi.

18. Label (‘Plaintext’) menunjukan tempat tampilnyaplaintext hasil dari dekripsi.

19. TextBox 5lokasi tampilnya plaintext.

20. Label (‘Plaintext (Biner)’) menunjukan tempat tampilnyaplaintext hasil dari

(63)

21. TextBox 6lokasi tampilnya plaintext dalam bentuk biner.

22. Button(‘Simpan’) berfungsi untuk menyimpan plaintext asli hasil dari proses

dekripsi.

3.2 Tahapan Sistem

3.2.1 Tahapan Algoritma DESUntuk Enkripsi Pesan

Contoh algoritma DES adalah sebagai berikut:

Plainteks : ILKOMUSU

Kunci eksternal : RIOAUDIT

1. Langkah Pertama

Ubah plainteks ke dalam bentuk biner

I L K O M U S U

Desim

al 73 76 75 79 77 85 83 85

Biner 010010 01

010011

00

010010

11

010011

11

010011

01

010101

01

010100

11

010101

01

Ubah kunci ke dalam bentuk biner

R I O A U D I T

Desim

al 82 73 79 65 85 68 73 84

Biner 010010 01

010011

00

010010

11

010011

11

010011

01

010101

01

010100

11

010101

(64)

2. Langkah Kedua

Lakukan initial permutation (IP) pada bit plainteks menggunakan tabel Initial

Permutationyang ditunjukkan pada Tabel 3.5 berikut:

Tabel 3.5 Tabel Initial Permutation (IP)

58 50 42 34 26 18 10 2

60 52 44 36 28 20 12 4

62 54 46 38 30 22 14 6

64 56 48 40 32 24 16 8

57 49 41 33 25 17 9 1

59 51 43 35 27 19 11 3

61 53 45 37 29 21 13 5

63 55 47 39 31 23 15 7

Sehingga setelah posisi bit diambil berdasarkantabel Initial Permutation (IP) maka

diperoleh outputnya adalah:

(IP) : 11111111 11100000 10111010 11111101 00000000 00000000 00011111

01001100

Bagi (IP) menjadi dua blok, yaitu L0 dan R0:

L0 : 11111111 11100000 10111010 11111101

R0 : 00000000 00000000 00011111 01001100

3.Langkah Ketiga

Generate kunci yang akan digunakan untuk mengenkripsi plainteks dengan

menggunakan tabel permutasi kompresi PC-1 (Tabel 3.6), pada langkah ini terjadi

kompresi dengan membuang 1 bit masing-masing blok kunci dari 64 bit menjadi 56

(65)

Tabel 3.6 Tabel PC-1

57 49 41 33 25 17 9

1 58 50 42 34 26 18

10 2 59 51 43 35 27

19 11 3 60 52 44 36

63 55 47 39 31 23 15

7 62 54 45 38 30 22

14 6 61 53 45 37 29

21 13 5 28 20 12 4

Sehingga outputnya:

CD : 0000000 0111111 1100000 0001001 0000010 1100101 0001000 1100001

Bagi CD menjadi dua blok, yaitu C0 dan D0:

C0 : 0000000 0111111 1100000 0001001

D0 : 0000010 1100101 0001000 1100001

4. Langkah Keempat

Lakukan pergeseran kiri (left shift) pada C0 dan D0 sebanyak 1 atau 2 kali berdasarkan

kali putaran yang ada pada Tabel 3.7 sebagai berikut:

Tabel 3.7 Tabel Left Shift

Iterasi Ke 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Pergeseran

(66)

Berikut hasil outputnya:

Tabel 3.8 Tabel Hasil Left Shift

I Ci Di

1 0000000 1111111 1000000 0010010 0000101 1011010 0010001 1000010

2 0000001 1111111 0000000 0100100 0001011 0110100 0100011 0000100

3 0000111 1111100 0000001 0010000 0101101 1010001 0001100 0010000

4 0011111 1110000 0000100 1000000 0110110 1000100 0110000 1000001

5 1111111 1000000 0010010 0000000 1011010 0010001 1000010 0000101

6 1111110 0000000 1001000 0000011 1101000 1000110 0001000 0010110

7 1111000 0000010 0100000 0001111 0100010 0011000 0100000 1011011

8 1100000 0001001 0000000 0111111 0001000 1100001 0000010 1101101

9 1000000 0010010 0000000 1111111 0010001 1000010 0000101 1011010

10 0000000 1001000 0000011 1111110 1000110 0001000 0010110 1101000

11 0000010 0100000 0001111 1111000 0011000 0100000 1011011 0100010

12 0001001 0000000 0111111 1100000 1100001 0000010 1101101 0001000

13 0100100 0000001 1111111 0000000 0000100 0001011 0110100 0100011

14 0010000 0000111 1111100 0000001 0010000 0101101 1010001 0001100

15 1000000 0011111 1110000 0000100 1000001 0110110 1000100 0110000

16 0000000 0111111 1100000 0001001 0000010 1101101 0001000 1100001

Setiap hasil putaran digabungkan kembali menjadi CiDi dan diinput ke dalam

tabel Permutation Compression 2 (Tabel 3.9) dan terjadi kompresi data CiDi 56 bit

menjadi CiDi 48 bit.

Tabel 3.9Tabel PC-2

14 17 11 24 1 5

3 28 15 6 21 10

(67)

16 7 27 20 13 2

41 52 31 37 47 55

30 40 51 45 33 48

44 49 39 56 34 53

46 42 50 36 29 32

Berikut outputnya:

Tabel 3.10Hasil Permutation Compression 2 (PC-2)

C1D1 : 0000000 1111111 1000000 0010010 0000101 1011010 0010001 1000010

K1 : 101100 001001 001001 001010 100001 000110 011000 001100

C2D2 : 0000001 1111111 0000000 0100100 0001011 0110100 0100011 0000100

K2 : 101000 000001 101011 010010 000100 010001 110010 000001

C3D3 : 0000111 1111100 0000001 0010000 0101101 1010001 0001100 0010000

K3 : 001101 000111 001001 010000 010010 100010 000000 110101

C4D4 : 0011111 1110000 0000100 1000000 0110110 1000100 0110000 1000001

K4 : 000001 100101 010101 010000 001000 110110 100110 001100

C5D5 : 1111111 1000000 0010010 0000000 1011010 0010001 1000010 0000101

K5 : 010011 100100 000101 010101 001000 000001 000110 010011

C6D6 : 1111110 0000000 1001000 0000011 1101000 1000110 0001000 0010110

K6 : 000011 111100 000100 001001 110001 110000 000000 100111

C7D7 : 1111000 0000010 0100000 0001111 0100010 0011000 0100000 1011011

K7 : 000010 110000 000110 101011 010001 100000 101111 001000

C8D8 : 1100000 0001001 0000000 0111111 0001000 1100001 0000010 1101101

Gambar

Tabel 2.7 Tabel P-Box
Gambar 2.5 Citra Format (*.bmp)
Gambar 3.1 Diagram Ishikawa Untuk Analisa Masalah
Gambar 3.2 Use case Diagram yang akan Dikembangkan
+7

Referensi

Dokumen terkait

Untuk mendukung dalam pengembangan aplikasi Penyembunyian Pesan Text Terenkripsi Menggunakan Metode Kriptografi Stream Cipher Dan Steganografi End Of File (EOF) Dengan File

Steganografi Teknik Pemetaan Titik Hitam dengan Pencarian Sekuensial dan.. Rabin

Perbandingan Ukuran Pixel Cover Image, Waktu Rata-Rata Proses Embedding, Waktu Rata-Rata Proses Extraction, Rata- Rata Nilai MSE Pada Metode First-of-File (FOF), End-of-File

Jika file data master perusahaan terlindungi oleh sistem keamanan, maka data tersebut aman karena data tersebut tidak bisa sembarangan di ubah tetapimisalnya jika ada

Penggunaan Algoritma Kriptografi Steganografi Least Significant Bit dapat digunakan untuk memberikan pengamanan terhadap file video yang disisipkan oleh pesan teks,

Proses pengamanan pesan pada citra digital aman dan tidak diketahui secara kasat mata, karena besar dari bitmap hasil steganografi tidak terlihat secara signifikan

Pengujian dekripsi terhadap sebuah pesan teks ( plaintext ) dimana pesan teks ( plaintext ) yang terdekripsi dengan kunci yang cocok tersebut dapat kembali ke pesan teks

File format BMP bisa disebut juga bitmap atau format file DIB (untuk perangkat independen bitmap ), adalah sebuah file gambar format yang digunakan untuk menyimpan gambar digital