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
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
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,
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
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.
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,
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.
.
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.
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
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
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)
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
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1
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.
.
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.
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
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:
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
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
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
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
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
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
�� =��−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
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
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
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
menghasilkan output vektor Bi 32 bit. Tabel S-Box dapat dilihat pada Tabel 2.6
berikut.
Tabel 2.6 Tabel S-Box
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
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
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
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
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
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,
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
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.
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>>
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.
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
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
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 -
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
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)
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])
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",
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
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
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
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
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
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
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
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
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
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
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
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:
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.
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
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
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
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
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
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
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