• Tidak ada hasil yang ditemukan

Pembangunan Aplikasi Steganografi Pada Citra Digital Menggunakan Metode Random Pixel Positioning (RPP) dan Algoritma Advanced Encryption Standard (AES) 256 Bit Untuk Keamanan Data

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Aplikasi Steganografi Pada Citra Digital Menggunakan Metode Random Pixel Positioning (RPP) dan Algoritma Advanced Encryption Standard (AES) 256 Bit Untuk Keamanan Data"

Copied!
107
0
0

Teks penuh

(1)

KEAMANAN DATA

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

HERRU REDYANTO

10109106

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

v

DAFTAR ISI ...v

DAFTAR GAMBAR...ix

DAFTAR TABEL...xv

DAFTAR SIMBOL...xx

DAFTAR LAMPIRAN...xxx

BAB 1 PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Rumusan Masalah ... 2

1.3. Maksud dan Tujuan ... 3

1.4. Batasan Masalah ... 3

1.5. Metodologi Penelitian ... 4

1.5.1. Metode Pengumpulan Data... 4

1.5.2. Metode pembangunan perangkat lunak ... 4

1.6. Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 6

2.1. Keamanan Informasi ... 7

2.2. Citra digital ... 8

2.3. Pengukuran Error Citra ... 9

2.4. Steganografi ... 10

2.4.1. Sejarah Steganografi ... 13

2.4.2. Konsep dan Terminologi Steganografi ... 14

2.4.3. Teknik Steganografi... 15

2.4.4. Steganografi Pada Citra Digital ... 16

2.5. Random Pixel Positioning (RPP) Steganografi ... 17

(3)

vi

2.6.2.1. Add Round Key ... 22

2.6.2.2. Sub Bytes ... 22

2.6.2.3. Shift Rows ... 23

2.6.2.4. Mix Columns ... 23

2.7. Unified Modelling Language (UML) ... 24

2.8. Teknologi Java ... 28

BAB 3 ANALISIS DAN PERANCANGAN ... 31

3.1 Analisis Sistem ... 31

3.1.1 Analisis Masalah ... 31

3.1.2 Analisis Algoritma ... 31

3.1.2.1 Analisis Algoritma Advanced Encryption Standard(AES) ... 32

3.1.2.1.1Analisis Penjadwalan Kunci ... 33

3.1.2.1.2Analisis Proses Enkripsi Algoritma (AES) ... 35

3.1.2.2 Analisis Metode Random Pixel Positioning (RPP) ... 37

3.1.2.2.1Analisis Prose Penyisipan/Embedding ... 37

3.1.2.2.2Analisis Proses Pengungkapan / Ekstrasi ... 40

3.1.3 Analisis Kebutuhan non-Fungsional ... 41

3.1.3.1 Analisis Pengguna ... 41

3.1.3.2 Analisis Kebutuhan Perangkat Keras ... 41

3.1.3.3 Analisis Perangkat Lunak ... 42

3.1.4 Analisis Kebutuhan Fungsional ... 43

3.1.4.1 Use Case Diagram... 43

3.1.4.2 Skenario Use Case ... 43

3.1.4.3 Activity Diagram ... 49

(4)

vii

3.2.1.1.1Perancangan pesan menu penyisipan ... 65

3.2.1.1.2Perancangan pesan menu ekstraksi ... 67

3.2.1.2 Perancangan Jaringan Semantik ... 68

3.2.2 Perancangan Method ... 68

3.2.2.1 Perancangan Method Penyisipan ... 69

3.2.2.2 Perancangan Method Ekstraksi ... 70

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM...73

4.1 Implementasi Sistem ... 70

4.1.1 Implementasi Perangkat Keras ... 70

4.1.2 Implementasi Perangkat Lunak ... 70

4.1.3 Implementasi Antarmuka... 71

4.2 Pengujian Sistem ... 73

4.2.1 Rencana Pengujian... 73

4.2.2 Pengujian White Box ... 73

4.2.3 Pengujian Black Box ... 82

4.2.4 Pengujian Program... 83

4.2.5 Pengujian Keamanan Pesan ... 84

4.2.6 Pengujian Kualitas Citra ... 88

4.2.7 Kesimpulan Hasil Pengujian... 95

BAB 5 KESIMPULAN DAN SARAN...97

5.1 Kesimpulan ... 97

(5)

110

DAFTAR PUSTAKA

[1] Farrell, Joyce. 2012. Java Programming. Course Technology, United State of America.

[2] Kim, David, dan Michael G Solomon. 2012. Fundamentals of Information

Systems Security. Jones & Bartlett Learning, United State of America

[3] Morkel, T., JHP. Eloff, dan MS. Olivier. An Overview of Image Steganography.

Information and Computer Security Architecture (ICSA) Research Group,

Department of Computer Science, University of Pretoria, Pretoria.

[4] Munir, Rinaldi. 2004. Pengolahan Citra Digital. Informatika, Bandung.

[5] Munir, Rinaldi. 2006. Kriptografi. Informatika, Bandung.

[6] A.S., R. and Shalahuddin, M. (2011) Modul Pembelajaran Rekayasa Perangkat

Lunak (Terstruktur dan Berorientasi Objek), Bandung: Modula.

[7] Parmenter, D. (2010) Mengembangkan, Mengimplementasikan dan

Menggunakan Key Performance Indicators, Jakarta: PPM.

[8] Rifki sadikin, 2001. Kriptografi, untuk keamanan jaringan. ISBN

978-979-293128-0, keamanan komputer

[9] Widodo, Prabowo Pudjo. Herlawati. 2011. Menggunakan UML. Informatika

(6)

iii

memberikan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan laporan

tugas akhir ini. Laporan tugas akhir ini merupakan syarat untuk menyelesaikan studi

jenjang strata satu (S1) di Program Studi Teknik Informatika, Universitas Komputer

Indonesia dengan judul “PEMBANGUNAN APLIKASI STEGANOGRAFI

PADA CITRA MENGGUNAKAN METODE RANDOM PIXEL POSITIONING

(RPP) DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) 256

BITUNTUK KEAMANAN DATA”.

Laporan tugas akhir ini tidak akan berarti apa-apa tanpa bantuan dan

dukungan semua pihak yang dengan segenap hati dan rasa tulus yang telah

memberikan semua hal yang penulis butuhkan, untuk itu penulis ingin mengucapkan

terima kasih kepada:

1. Allah SWT yang telah melimpahkan rahmat dan karunia-Nya.

2. Kedua orang tua yaitu Ayah Rochmanto dan Ibu Elly Yuliah dan

saudara-saudariku yaitu Adhitia Tristiana, Aas sukaesih, Oktaviena Dwi Citra, Dyas Tama

Sumantri, Tedy Yana, Neneng Warningsih, Ani Cahyani, Endang dan adik

kecilku Helmi Dwi Redyanto tercinta yang selalu memberikan dorongan

semangat dan doa yang tidak pernah ada habisnya, serta cinta dan kasih sayang

yang menjadi kekuatan bagi penulis.

3. Bapak Irawan afrianto, S.T., M.T. selaku ketua program studi teknik informatika

Universitas Komputer Indonesia.

4. Bapak Iskandar Ikbal S.T., M.Kom., selaku dosen pembimbing yang telah

memberikan bimbingan, pengarahan dan masukan bagi penulis.

5. Bapak Irfan Maliki, S.T,. M.T. selaku dosen reviewer yang telah memberikan

(7)

iv masukan dan saran kepada penulis

8. Seluruh dosen pengajar di UNIKOM khususnya pada Program Studi Teknik

Informatika yang telah memberikan ilmu dan pengetahuannya

9. Kepada Agus Winarto Pratama, Rian, Suhendi, Bayu Rizki Pratama, Hilman

Anugrah, Harry Ginanjar, Cinoy Setianto, Rahmat Setiawan, Ken Kinanti, yang

telah membantu dalam pengerjaan penelitian ini

10.Teman-teman seperjuangan dari kelas IF-3 2009 seluruhnya yang telah

bersama-sama melewati manis pahitnya masa perjalanan kuliah.

11.Semua pihak yang terlibat yang telah ikut membantu dalam penulisan laporan ini

baik secara langsung maupun tidak langsung.

Dalam penulisan laporan ini, penulis telah berusaha semaksimal mungkin,

walaupun demikian penulis menyadari bahwa laporan tugas akhir ini masih jauh dari

sempurna. Oleh karena itu penulis menerima segala masukan, saran dan kritik yang

membangun untuk perbaikan dimasa mendatang. Akhir kata, semoga laporan ini

dapat berguna khususnya bagi penulis dan untuk seluruh pihak yang membutuhkan

pada umumnya.

Bandung, 28 Agustus 2014

(8)

Nama Lengkap : Herru Redyanto

Jenis Kelamin : Laki- laki

Tempat/ Tanggal Lahir : Tangerang, 09 Agustus 1990

Kewarganegaraan : Indonesia

Agama : Islam

Status : Belum Menikah

Golongan Darah : O

Alamat : Perumahan mustika tigaraksa blok C14/17 RT04/08

tangerang

No. Telp/ HP : 081399830748

Email : heru_indra@yahoo.com

B. PENDIDIKAN

1995-2002 : SD NEGERI COGREG 1

2002-2005 : SMP NEGERI 2 TIGARAKSA

2005-2008 : SMK NEGERI 3 YUPPENTEK

2009-2014 : UNIVERSITAS KOMPUTER INDONESIA

Demikian biodata saya yang dibuat dengan sebenar-benarnya dalam keadaan sadar

dan tanpa paksaan.

Bandung, 20 Agustus 2014

(9)

1

1.1. Latar Belakang Masalah

Berdasarkan sejarah panjang mengenai metode kerahasiaan informasi, tujuan

utama dari kegiatan tersebut adalah melindungi informasi agar tidak dapat dideteksi

oleh pihak yang tidak berkepentingan. Seiring perkembangan teknologi, metode

steganografi digunakan pula untuk aktivitas-aktivitas pengabsahan sebuah

dokumen. Sistem kearsipan paling banyak menggunakan metode ini. Penggunaan

steganografi merupakan teknologi yang sangat bermanfaat dalam pengamanan

dokumen. Steganografi berbeda dengan kriptografi atau metode keamanan

informasi lainnya, steganografi yaitu menyembunyikan informasi atau pesan

kedalam media lain seperti citra digital, teks, suara atau video sehingga tidak

menimbulkan kecurigaan orang lain. Steganografi membutuhkan dua properti,

yaitu informasi dan media penampung[4]. Media penampung yang banyak

digunakan untuk menyembunyikan informasi yaitu citra digital. Penyisipan

informasi pada media citra digital dilakukan pada bit-bit pixel yang terdapat pada

citra. Penggunaan citra digital sebagai media penampung mempunyai kelebihan

karna indra pengelihatan manusia memiliki keterbatasan tersebut manusia sulit

membedakan citra digital yang asli dengan citra yang telah disisipi pesan rahasia.

Steganografi mempunyai banyak metode yang dapat digunakan, namun

metode yang banyak digunakan saat ini masih mempunyai kekurangan dalam hal

kualitas, kapasitas, dan ketahanan[3]. Metode – metode yang digunakan dalam pembuatan steganografi mempunyai kriteria – kriteria yaitu kapasitas media penampung menyimpan informasi (payload capacity), kualitas media penampung

yang telah disisipi pesan (fidelity), ketahanan terhadap manipulasi (robustness) dan

tidak menimbulkan kecurigaan pada media penampung yang telah disisipi pesan

(Unsuspicious file)[2]. Kriteria – kriteria ini harus dipenuhi oleh metode yang

digunakan dalam pembuatan steganografi, agar media yang menampung informasi

(10)

penampung. Sehingga jika media penampung dapat diungkap oleh orang yang tidak

bertanggung jawab, maka informasi yang tersembunyi akan langsung diketahui.

Metode Random Pixel Positioning (RPP) merupakan salah satu metode yang

dapat digunakan dalam pembuatan steganografi. Dari beberapa metode

steganografi yang digunakan antara lain metode Random Pixel Positioning (RPP).

metode tersebut yaitu merubah file gambar maupun file sisipan ke dalam bentuk bit

dan menyisipkan bit-bit dari file sisipan tersebut ke dalam bit-bit pada file gambar.

Random pixel positioning (RPP) merupakan pengembangan dari metode LSB yakni

dengan mengacak posisi bit-bit tersebut dalam bit-bit gambar sehingga tidak mudah

dilacak. Salah satu enkripsi yang dapat digunakan yaitu algoritma Advanced

Encryption Standard(AES) adalah blockchiptertext yang dapat mengenkripsi

(encipher) dan dekripsi (decipher) yaitu mengubah pesan asli (plaintext) menjadi

pesan dalam bentuk tersandi (ciphertext). Proses enkripsi akan menghasilkan data

tersandi dan hanya dibuka atau dibaca oleh pihak penerima yang memiliki kinci

(key) sedangkan proses dekripsi adalah mengembalikan data tersandi menjadi

bentuk data asli. Baik teknik kriptografi dan steganografi sama-sama memiliki

kekurangan, oleh karena itu menggabungkan kedua teknik enkripsi ini

dimaksudkan akan menambah tingkat keamanan pada saat pertukaran data

menyisipkan pesan rahasia bahkan untuk mengklaim autentifikasi dari suatu media

citra digitalyang dibuat.

Berdasarkan uraian tersebut, maka pada tugas akhir ini akan dilakukan

“PEMBANGUNAN APLIKASI STEGANOGRAFI PADA CITRA DIGITAL MENGGUNAKAN METODE RANDOM PIXEL POSITIONING (RPP) DAN ALGORITMA ADVANCED ENCRYPTION STANDARD (AES)256BIT UNTUK KEAMANAN DATA” agar data yang bersifat rahasia aman dan tidak mudah dilihat oleh pihak ketiga.

1.2. Rumusan Masalah

Metode dan algoritma yang digunakan untuk menyisipkan pesan pada citra

digital, maka pada permasalahan ini adalah bagaimana pesan yang disisipkan harus

(11)

disisipkan dengan metode random pixel positioning dan algoritma advanced

encryption standard.

Perumusan masalah dapat dilihat melalui point-point berikut ini

1. Bagaimana cara penyisipan pesan ke citra digital menggunakan metode dan

algoritma yang digunakan ?

2. Bagaimana cara mendapatkan pixel-pixel yang telah disisipi pesan sehingga

pesan dapat di-ekstrak kembali ?.

1.3.Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas

akhir ini adalah untuk membangun aplikasi steganografi pada citra digital

menggunakan metode Random Pixel Positioning (RPP) dan algoritma advanced

encryption standard (AES)256 bits untuk keamanan data.

Tujuan yang akan dicapai dalam penelitian ini adalah:

1. Melakukan pengujian terhadap keamanan pesan menggunakan aplikasi

steganalysis yaitu StegSpy2.1

2. Untuk mengetahui besar pesan yang dapat disembunyikan kedalam citra digital

menggunakan metode random pixel positioning (RPP).

3. Untuk mengetahui kualitas citra yang telah disisipi pesan menggunakan metode

random pixel positioning (RPP).

4. Untuk mengetahui ketahanan pesan pada citra yang telah disisipi pesan.

1.4.Batasan Masalah

Batasan masalah yang ditentukan pada pembangunan aplikasi steganografi

menggunakan metode Random Pixel Positioning (RPP) dan algoritma advanced

encryption standard (AES)256 untuk keamanan data ini adalah sebagai berikut :

1. Media penampug pesan hanya file citra berformat *.bmp *.png *.gif dan *.jpg.

2. Pesan yang akan disisipkan kedalam citra tidak hanya file teks saja, tapi juga

dapat berupa gambar dengan jenis yaitu:

a. Pesan teks : *.txt, *.doc, *.docx, *.pdf dan *.xls

(12)

3. Menggunakan algoritma advanced encryption standard (AES)256bits untuk

enkripsi pesan yang akan disisipkan kedalam citra.

4. Hal – hal yang akan diujikan pada aplikasi yang dibangun yaitu: a. Besar pesan yang dapat disembunyikan kedalam citra

b. Kualitas citra yang telah disisipi pesan yang dinyatakan dalam PSNR.

c. Ketahanan terhadap manipulasi citra yang telah disisipi pesan (robustness).

5. Aplikasi yang dibangun berbasis desktop.

6. Perangkat lunak yang digunakan untuk pembangunan aplikasi yaitu :

a. Sistem operasi yang digunakan yaitu windows.

b. Pengkodean dan desain aplikasi menggunakan Java NetBeans7.

1.5.Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini menggunakan

metode analis deskriptif yang terdiri dari dua metode yaitu metode pengumpulan

data, dan metode pembangunan perangkat lunak.

1.5.1. Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penulisan tugas akhir ini

adalah menggunakan metode studi literatur. Studi literatur merupakan

pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan

– bacaan yang ada kaitannya dengan judul penelitian. Data yang akan dikumpulkan dari literatur dan pustaka yaitu mengenai steganografi pada citra digital, metode

random pixel positioning (RPP) dan algoritma Advanced encryption standard

(AES)256bits.

1.5.2. Metode pembangunan perangkat lunak

Metode pembangunan perangkat lunak ini menggunakan metode waterfall

seperti pada gambar 1.1 yang terdiri dari beberapa tahap, yaitu:

1. Requirement Definition

Requirement Definition merupakan tahapan analis terhadap apa saja yang

dibutuhkan oleh system yang akan di bangun. Analis yang dilakukan meliputi

(13)

2. System and Software Design

System and Software Design merupakan tahap melakukan perancangan

terhadap keseluruhan sistem perancangan yang dilakukan yaitu perancangan

antar muka dari sistem yang dibangun.

3. Implementation and Unit Testing

Implementation and Unit Testing merupakan tahap merubah perancangan dan

analis yang dilakukan sebelumnya kedalam kode pemograman yang

digunakan. Tahap ini juga dilakukan unit testing untuk mengetahui apakah

telah sesuai dengan kebutuhan sistem.

4. Integrasi and System Testing

Integrasi and System Testing merupakan dimana sistem yang telah dikodekan

dilakukan pengujian. Pengujian ini dilakukan untuk mengetahui apakah

terdapat kesalahan pada sistem yang telah dikodekan pada tahap

implementation atau tidak.

5. Operation and Maintenance

Operation and Maintenance merupakan tahap perawatan jika terjadi kesalahan

pada system merawatan yang dilakukan yaitu pengkoreksi jika terjadi

kesalahan, menambah fungsionalitas dan requiretment sistem.

Gambar 1. 1 Metode Waterfall [1]

1.6.Sistematika Penulisan

Sistematika penulisan skripsi pada penelitian ini disusun untuk memberikan

gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas

(14)

BAB 1. PENDAHULUAN

Bab ini menguraikan tentang latar belakang permasalahan, mencoba

merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan

penelitian, yang kemudian diikuti dengan pembatasan masalah, asumsi, serta

sistematika penulisan.

BAB 2. LANDASAN TEORI

Bab ini membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan

topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis

permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah

dilakukan sebelumnya termasuk sintesisnya.

BAB 3. ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas mengenai sub-sub sistem yang di uraikan dari sistem utama

dengan tujuan untuk mengetahui cara kerja dan interaksi dari tiap sub sistem dalam

fungsinya untuk mencapai tujuan sistem. Didalamnya terdapat analis terhadap

proses penjadwalan kunci, proses enkripsi, proses dekripsi, proses penyisipan dan

proses ekstrasi, selain itu terdapat juga kebutuhan fungsional dan nonfungsional

dari sistem, perancangan antar muka untuk aplikasi yang akan dibangun sesuai

dengan hasil analis yang telah dibuat.

BAB 4. IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas tentang implementasi dari aplikasi yang dibangun.

Implementasi dilakukan berdasarkan analis dan perancangan yang telah dilakukan,

kedalam bahasa pemograman tertentu. Hasil dari implementasi, kemudian

dilakukan, kedalam bahasa pemograman tertentu. Hasil dari implementasi,

kemudian dilakukan pengujian apakah aplikasi telah sesuai seperti yang

diharapkan.

BAB 5. KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan berasarkan hasil penelitian yang telah

dilakukan dan masukan-masukan yang dapat digunakan untuk pengembang

(15)

7

Landasan teori menjelaskan dasar-dasar teori yang digunakan dalam penelitian

yang dilakukan pada tugas akhir. Teori-teori yang digunakan meliputi keamanan

informasi, citra digital, Pengukuran error pada citra, steganografi, kriptografi,

Unified Modelling Language (UML), dan teknologi java.

2.1.Keamanan Informasi

Keamanan informasi merupakan salah satu aspek yang penting dalam

berkomunikasi, namun keamanan seringkali dilupakan ketika melakukan

komunikasi. Informasi yang jatuh ke tangan yang salah dapat menimbulkan

masalah yang besar seperti penipuan, pencurian, pemerasan dan masih banyak lagi

masalah yang akan ditimbulkan.

Keamanan informasi mempunyai beberapa aspek yang harus dipenuhi, agar

informasi dapat terjamin keaslian dan keamanannya. Aspek-aspek umum tersebut

meliputi confidentiality, integrity, authentication, availability dan non

repudiation[2].

1. Confidentiality

Confidentiality atau kerahasiaan yaitu keamanan informasi harus dapat

menjamin kerahasiaan dari informasi. Salah satu cara yang dapat dilakukan yaitu

dengan membatasi hanya orang yang mempunyai hak saja yang dapat membaca

atau mengubah suatu informasi.

2. Integrity

Integrity berhubungan dengan keaslian informasi, integrity yaitu menjamin

keutuhan dan keaslian informasi yang dikirimkan, agar informasi tidak dirusak atau

diubah oleh orang yang tidak berhak. Untuk menjaga integritas data, sistem harus

memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang

tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain

(16)

3. Authentication

Authentication yaitu usaha atau metode untuk mengetahui keaslian dari

informasi, dan memastikan bahwa informasi diterima oleh orang yang benar. Untuk

menjaga otentikasi terhadap informasi, dapat digunakan digital signature untuk

memastikan keaslian informasi.

4. Availability

Availability atau ketersediaan data yaitu keamanan informasi harus dapat

menjamin bahwa data atau informasi harus tersedia ketika akan digunakan. Untuk

menjamin ketersediaan data, sistem harus mempunyai cadangan data jika data

tersebut hilang.

5. Non Repudiation

Non repudiation yaitu menjamin bahwa seorang pengirim informasi tidak dapat

menyangkal keaslian dari informasi yang dikirimnya. Sehingga penerima informasi

dapat memastikan bahwa informasi yang diterima merupakan informasi yang asli.

2.2.Citra digital

Citra secara harafiah, adalah gambar pada bidang dua dimensi (dwimatra).

Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue)

dari intensitas cahaya pada bidang dwimatra. Sedangkan citra digital adalah citra

yang dapat diolah oleh komputer[4].

Sebuah citra digital dapat diwakili oleh sebuah matriks yang terdiri dari M

kolom dan N baris, dimana perpotongan antara kolom dan baris disebut pixel, yaitu

elemen terkecil dari sebuah citra. Sebuah citra digital dapat ditulis dalam bentuk

fungsi 2.1 berikut.

……….…….

Terdapat banyak format file dari citra digital, format file citra ini terdiri dari

beberapa jenis dan setiap jenisnya memiliki karakteristik masing- masing. Beberapa

contoh format umum, pada citra digital yaitu Bitmap (BMP), Joint Photographic

(17)

Group Experts (JPEG), GraphicsInterchange Format (GIF), dan Portable Network

Graphics (PNG).

1. Bitmap (BMP)

Bitmap merupakan format baku citra pada sistem operasi windows dan IBM

OS/2. Citra berformat BMP merupakan citra yang tidak terkompresi, sehingga pada

umumnya citra berformat BMP mempunyai ukuran yang relatif lebih besar

dibandingkan dengan forman citra lainnya. Intensitas pixel dari citra berformat

BMP dipetakan ke sejumlah bit tertentu. Panjang setiap pixel pada bitmap yaitu 4

bit, 8 bit, sampai 24 bit yang merepresentasikan nilai intensitas pixel. Dengan

demikian ada sebanyak 28 = 256 derajat keabuan, mulai dari 0 sampai 255[4].

2. Joint Photographic Group Experts (JPEG)

Joint Photographic Group Experts (JPEG) merupakan standar kompresi file

yang dikembangkan oleh Group Joint Photographic Experts menggunakan

kombinasi DCT dan pengkodean Huffman untuk mengkompresikan citra. Citra

JPEG merupakan citra terkompresi yang bersifat lossy, artinya citra tidak bias

dikembalikan ke bentuk aslinya. Citra ini memiliki ukuran yang relatif lebih kecil

dibandingkan dengan citra berformat BMP karena telah terkompresi.

3. Portable Network Graphics (PNG)

Portable Network Graphics (PNG) adalah salah satu format penyimpanan citra

yang menggunakan metode kompresi yang tidak menghilangkan bagian dari citra

tersebut (lossless compression). Citra berformat PNG merupakan salah satu format

yang baik untuk digunakan pengolahan citra, karena format ini selain tidak

menghilangkan bagian dari citra yang sedang diolah.

2.3.Pengukuran Error Citra

Pengukuran error citra dilakukan untuk mengetahui tingkat kesamaan antara

citra asli dengan citra yang telah dimanipulasi. Pengukuran error dilakukan dengan

menghitung Mean Square Error (MSE) dan Peak Signal to Noise Ratio (PSNR)

dari citra.

Mean Square Error (MSE) adalah tingkat kesalahan pixel - pixel citra hasil

dari pemrosesan terhadap citra aslinya. Rumus untuk menghitung MSE pada citra

(18)

(PSNR) merupakan nilai (rasio) yang menunjukan tingkat toleransi noise tertentu

terhadap banyaknya noise pada suatu citra. Semakin tinggi nilai PSNR dari suatu

citra, maka semakin kecil tingkat kesalahan yang dimiliki citra tersebut. Untuk

menghitung nilai PSNR digunakan persamaan 2.3

2……….(2.2)

Dimana: I(x,y) nilai pixel dari citra asli.

I’(x,y) nilai pixel pada citra stegano. M = Panjang citra stegano (dalam pixel)

N = Lebar citra stegano (dalam pixel)

Setelah diperoleh dari nilai MSE maka nilai PSNR dapat dihitung dari kuadrat nilai

maksimum dibagi dengan MS. Secara matematis, nilai PSNR dirumuskan sebagai berikut:

= . � ���� … … … . .2

Semakin besar nilai PSNR dari citra, maka citra yang telah dimanipulasi semakin

mendekati citra aslinya, dengan kata lain semakin bagus kualitas citra hasil

manipulasi tersebut. Sebaliknya, semakin kecil nilai PSNR semakin berkurang

kualitas citra hasil manipulasi. Nilai PSNR pada umumnya berada pada rentang 20

- 40 db[6].

2.4.Steganografi

Steganografi adalah suatu ilmu, teknik dan seni tentang bagaimana

menyembunyikan data rahasia didalam wadah (media) digital sehingga keberadaan

data rahasia tersebut tidak diketahui oleh orang lain. Steganografi membutuhkan

dua properti, yaitu media penampung dan data rahasia yang akan disembunyikan.

Steganografi digital menggunakan media digital sebagai wadah penampung,

misalnya

citra (gambar), suara (audio), teks, dan video. Data rahasia yang

disembunyikan juga dapat berupa citra, suara, teks, atau video, Steganografi dapat

dipandang sebagai kelanjutan kriptografi. Jika pada kriptografi data yang telah

disandikan (ciphertext) tetap tersedia, maka dengan steganografi ciphertext dapat

(19)

rahasia yang disembunyikan dapat diekstraksi kembali persis sama seperti keadaan

aslinya.

Pada umumnya, pesan steganografi muncul dengan bentuk lain seperti gambar,

artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini

merupakan tulisan yang menyelubungi atau menutupi.

Contohnya, suatu pesan bisa disembunyikan dengan menggunakan tinta yang tidak

terlihat diantara garis-garis yang kelihatan. Teknik steganografi meliputi banyak

sekali metode komunikasi untuk menyembunyikan pesan rahasia (teks atau

gambar) didalam berkas-berkas lain yang mengandung teks, image, bahkan audio

tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan

struktur dari berkas semula.

Tujuan dari steganografi adalah merahasiakan atau menyembunyikan

keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam

prakteknya, kebanyakan pesan disembunyikan dengan membuat perubahan tipis

terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang

potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan

ini bergantung pada kunci (sama pada kriptografi) dan pesan untuk disembunyikan.

Orang yang menerima gambar kemudian dapat menyimpulkan informasi

terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang

digunakan. Pada metode steganografi cara ini sangat berguna jika digunakan pada

cara steganografi komputer karena banyak format berkas digital yang dapat

dijadikan media untuk menyembunyikan pesan. Format yang biasa digunakan di

antaranya:

1. Format image : bitmap (bmp), gif, png, jpeg, dll.

2. Format audio : wav, voc, mp3, dll.

3. Format lain : teks file, html, pdf, dll.

Kelebihan steganografi jika dibandingkan dengan kriptografi adalah

pesan-pesannya tidak menarik perhatian orang lain. Pesan-pesan berkode dalam

kriptografi yang tidak disembunyikan, walaupun tidak dapat dipecahkan, akan

menimbulkan kecurigaan. Seringkali, steganografi dan kriptografi digunakan

(20)

steganografi (plaintext), biasanya pertama-tama dienkripsikan dengan beberapa arti

tradisional, yang menghasilkan ciphertext. Kemudian, covertext dimodifikasi

dalam beberapa cara sehingga berisi ciphertext, yang menghasilkan stegotext.

Contohnya, ukuran huruf, ukuran spasi, jenis huruf, atau karakteristik covertext

lainnya dapat dimanipulasi untuk membawa pesan tersembunyi hanya penerima

(yang harus mengetahui teknik yang digunakan) dapat membuka pesan dan

mendekripsikannya.

Steganografi mempunyai dua proses utama yaitu embed/penyisipan dan

exstrak(pengungkapan) terlihat pada gambar 2.1. Proses penyisipan merupakan

proses menyisipkan hidden object atau informasi pesan yang akan disisipkan, ke

dalam sebuah cover object atau media penampung, sehingga menghasilkan file baru

yang telah tersisipi pesan didalamnya yang disebut dengan stego file. Sedangkan

proses ekstrak merupakan proses pengembalian hidden object secara utuh setelah

disisipkan ke dalam coverobject.

Gambar 2.1 Proses Steganografi

Ada beberapa Kriteria-kriteria yang harus dipenuhi dalam pembuatan

steganografi. Kriteria - kriteria tersebut yaitu[3] :

1. Impercepbility, yaitu keberadaan pesan tidak dapat dipersepsi oleh indrawi. Jika

pesan disisipkan ke dalam sebuah citra, citra yang telah disisipi pesan harus tidak

dapat dibedakan dengan citra asli oleh mata. Begitu pula dengan suara,telinga

harus mendapati perbedaan antara suara asli dan suara yang telah disisipi pesan.

(21)

2. Fidelity, yaitu mutu media penampung tidak berubah banyak akibat penyisipan.

Perubahan yang terjadi harus tidak dapat dipersepsi oleh indra.

3. Recovery, yaitu pesan yang disembunyikan harus dapat diungkap kembali.

Tujuan steganografi adalah menyembunyikan informasi, maka sewaktu-waktu

informasi yang disembunyikan harus dapat diambil kembali untuk dapat

digunakan lebih lanjut sesuai keperluan.

2.4.1. Sejarah Steganografi

Sejarah steganografi cukup panjang. Awalnya adalah penggunaan hieroglyphic

oleh bangsa Mesir, yakni menulis menggunakan karakter-karakter dalam wujud

gambar. Tulisan Mesir kuno tersebut menjadi ide untuk membuat pesan rahasia saat

ini. Oleh karena itulah, tulisan mesir kuno yang menggunakan gambar dianggap

sebagai steganografi pertama di dunia.[5]

Menurut penelitian para ahli, Yunani termasuk bangsa yang menggunakan

steganografi setelah bangsa Mesir. Herodotus mendokumentasikan konflik antara

Persia dan Yunani pada abad ke-50 sebelum masehi. Dokumentasi pada masa Raja

Xerxes, raja dari Persia, disimpan di Yunani menggunakan steganografi. Berikut

adalah beberapa contoh penggunaan teknik steganografi klasik[6]:

1. Abad ke-15 orang Italia menggunakan tawas dan cuka untuk menulis pesan

rahasia diatas kulit telur. Kemudian telur tersebut direbus hingga “tinta” yang ada meresap dan tidak terlihat pada kulit telur. Penerima pesan cukup mengupas

kulit telur tersebut untuk membaca pesan.

2. Selama terjadinya Perang Dunia ke-2, tinta yang tidak tampak (invisible ink)

telah digunakan untuk menulis informasi pada lembaran kertas sehingga saat

kertas tersebut jatuh di tangan pihak lain hanya akan tampak seperti lembaran

kertas kosong biasa.

3. Pada sejarah Yunani kuno, masyarakatnya biasa menggunakan seorang

pembawa pesan sebagai perantara pengiriman pesan. Pengirim pesan tersebut

akan dicukur rambutnya, untuk kemudian dituliskan suatu pesan pada

kepalanya yang sudah botak. Setelah pesan dituliskan, pembawa pesan harus

(22)

pesan kepada pihak penerima. Pihak penerima kemudian akan mencukur

rambut pembawa pesan tersebut untuk melihat pesan yang tersembunyi.

4. Metode lain yang digunakan oleh masyarakat Yunani kuno adalah dengan

menggunakan lilin sebagai media penyembunyi pesan mereka. Pesan dituliskan

pada suatu lembaran, dan lembaran tersebut akan ditutup dengan lilin untuk

menyembunyikan pesan yang telah tertulis. Pihak penerima kemudian akan

menghilangkan lilin dari lembaran tersebut untuk melihat pesan yang

disampaikan oleh pihak pengirim.

2.4.2. Konsep dan Terminologi Steganografi

Terdapat beberapa istilah yang berkaitan dengan steganografi [7], yaitu:

1. Hiddentext atau embedded message: pesan yang disembunyikan.

2. Cover-object: pesan yang digunakan untuk menyembunyikan embedded

message.

3. Stego-object: pesan yang sudah berisi embedded message.

Di dalam steganografi digital, baik embedded message maupun cover-object

dapat berupa teks, citra, audio, maupun video. Penyisipan pesan ke dalam media

cover-object dinamakan encoding, sedangkan ekstraksi pesan dari stego-object

dinamakan decoding. Kedua proses ini mungkin memerlukan kunci rahasia

(stegokey) agar hanya pihak yang berhak saja yang dapat melakukan penyisipan

pesan dan ekstraksi pesan sehingga menambah tingkat keamanan data. Proses

umum penyisipan pesan dan ekstraksi pesan dapat dilihat pada Gambar 2.2

(23)

2.4.3. Teknik Steganografi

Pada dasarnya, terdapat tujuh teknik yang digunakan dalam steganografi [5], yaitu:

1. Injection, merupakan suatu teknik menanamkan pesan rahasia secara langsung

ke suatu media. Salah satu masalah dari teknik ini adalah ukuran media yang

diinjeksi enjadi lebih besar dari ukuran normalnya sehingga mudah dideteksi.

2. Teknik substitusi (SubstitutionTechniques), pada teknik ini data asli digantikan

dengan data rahasia. Biasanya, hasil teknik ini tidak terlalu mengubah ukuran

data asli, tetapi tergantung pada file media dan data yang akan disembunyikan.

Teknik substitusi ini bisa menurunkan kualitas media penampung.

3. Teknik Domain Transformasi (Domain Transform Techniques), yaitu dengan

cara menyimpan informasi rahasia pada transformasi ruang (misalnya domain

frekuensi) dari media penampung (cover). Akan lebih efektif jika teknik ini

diterapkan pada file berekstensi Jpeg (gambar).

4. Teknik Spread Spectrum (Spread Spectrum Techniques), merupakan sebuah

teknik pentransmisian menggunakan pseudo-noise code, yang independen

terhadap data informasi sebagai modulataor bentuk gelombang untuk

menyebarkan energi sinyal dalam sebuah jalur komunikasi (bandwidth) yang

lebih besar dari pada sinyal jalur komunikasi informasi. Penerima

mengumpulkan kembali sinyal dengan menggunakan replica pseudo-noise

code tersinkronisasi.

5. Teknik Statistik (Statistical Techniques), dengan teknik ini data di-encoding

melalui pengubahan beberapa informasi statistik dari media penampung

(cover). Media penampung di bagi dalam blok-blok dimana setiap blok tersebut

menyimpan satu pixel informasi rahasia yang disembunyikan. Perubahan

statistik ditunjukkan dengan indikasi 1 dan jika tidak ada perubahan, terlihat

indikasi 0. Sistem ini bekerja berdasarkan kemampuan penerima dalam

membedakan antara informasi yang dimodifikasi dan yang belum.

6. Teknik Distorsi (Distortion Techniques), informasi yang hendak

disembunyikan disimpan berdasarkan distorsi sinyal. Teknik ini menciptakan

(24)

7. Teknik Pembangkitan Wadah (Cover Generation Techniques), teknik ini

menyembunyikan informasi rahasia sejalan dengan pembangkitan cover.

2.4.4. Steganografi Pada Citra Digital

Citra digital merupakan media penampung yang banyak digunakan dalam

steganografi. Penggunaan citra digital sebagai media penampung mempunyai

kelebihan karena indra penglihatan manusia memiliki keterbatasan terhadap warna,

sehingga dengan keterbatasan tersebut manusia sulit membedakan citra digital yang

asli dengan citra digital yang telah disisipi pesan rahasia.

Banyak metode yang dapat digunakan dalam pembuatan steganografi pada

citra digital seperti Least Significant Bits (LSB), Bit Plane Complexity Segmentation

(BPCS), Discrete Cosine Transform (DCT), Discrete Wavelet Transform (DWT),

Spread Spectrum dan metode-metode lainnya. Dari banyaknya metode tersebut,

metode steganografi pada citra digital dapat dibagi menjadi dua bagian yaitu

metode pada transform domain dan image domain seperti pada gambar 2.3.

Gambar 2.3 Kategori Metode Steganografi Pada Citra Digital[3]

2.5.Random Pixel Positioning (RPP) Steganografi

Random Pixel Positioning merupakan salah satu metode yang dapat digunakan

dalam steganografi. Metode ini beroperasi pada ranah spasial dari citra.

Berdasarkan analisis terhadap sistem penglihatan manusia yang menyatakan

bahwa, mata manusia tidak sensitif terhadap perubahan pada pixel yang memiliki

(25)

kekontrasan rendah. Melalui sifat tersebut maka lebih banyak bit data rahasia yang

dapat disisipkan pada pixel yang memiliki nilai kekontrasan tinggi, dan sedikit bit

yang dapat disisipkan pada pixel dengan kekontrasan rendah.dengan proses

penyisipan yang secara acak. Hal tersebut yang menjadi dasar pemikiran metode

Random Pixel Positioning (RPP) pada steganografi.

Penyisipan pesan dapat dilakukan dengan mengambil sebanyak t bit dari pesan

yang akan disisipkan. Selanjutnya dihitung nilai positioning random yang baru

untuk penyisipan kedalam citra menggunakan persamaan 2.4.

�′� = ��+ � … … … . . … … … . .

Dimana : b : Nilai desimal dari jumlah bit disisipkan.

di : Nilai terkecil dari range selisih perbandingan dua pixel.

Untuk menyisipkan pesan ada beberapa aturan yang harus dipenuhi yaitu :

1. Jika Pi≥ Pi+1dan d’i > di , maka (Pi + [m/2] , Pi+1 - [m/2]) 2. Jika Pi < Pi+1dan d’i > di , maka (Pi - [m/2] , Pi+1 + [m/2]) 3. Jika Pi≥ Pi+1dan d’i ≤ di , maka (Pi - [m/2] , Pi+1 + [m/2]) 4. Jika Pi < Pi+1dan d’i ≤ di , maka (Pi + [m/2] Pi+1 - [m/2])

Dimana m didapat dari selisih d’i dengan di menggunakan persamaan 2.5.

M = |d’i - di|……….(2.5)

Proses tersebut dilakukan terus hingga bit pesan tersisipi semuanya kedalam citra.

Proses ekstraksi pesan dari citra stego menggunakan metode ini dimulai dengan

menghitung nilai positioning random (di) antara dua pixel secara acak. Nilai

positioning random tersebut digunakan untuk mengetahui nilai continuous ranges

(R).

Berdasarkan informasi tersebut dapat diketahui ukuran data rahasia yang

disisipkan pada pixel, sehingga pesan rahasia yang telah disisipkan didapatkan

kembali. Proses ekstraksi ini dilakukan sampai semua data rahasia yang telah

(26)

2.6.Kriptografi

Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang

berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data,

otentikasi, dan autentifikasi data[2]. Kriptografi bukan satu-satunya cara untuk

menyediakan keamanan informasi, melainkan satu set teknik yang dapat digunakan

untuk mengamankan informasi.

Secara umum, kriptografi terdiri dari dua buah bagian utama yaitu bagian

enkripsi dan bagian dekripsi. Enkripsi adalah proses transformasi informasi

menjadi bentuk lain sehingga isi pesan yang sebenarnya tidak dapat dipahami, hal

ini dimaksudkan agar informasi tetap terlindung dari pihak yang tidak berhak

menerima. Sedangkan dekripsi adalah proses kebalikan enkripsi, yaitu transformasi

data terenkripsi ke data bentuk semula. Proses transformasi dari plainteks menjadi

cipherteks akan dikontrol oleh kunci. Peran kunci sangatlah penting, kunci

bersama-sama dengan algoritma matematisnya akan memproses plainteks menjadi

cipherteks dan sebaliknya.

Kriptografi tidak memenuhi semua aspek dari keamanan informasi. Kriptografi

hanya memenuhi empat aspek dalam keamanan informasi yang merupakan tujuan

dari kriptografi. Ke empat aspek tersebut yaitu kerahasiaan (confidentiality),

integritas data (integrity), otentikasi data (authentication), dan non-repudiation[5].

1. Kerahasiaan

Kerahasiaan adalah layanan yang digunakan untuk menjaga isi dari informasi

dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka

informasi yang telah disandi. Kriptografi memenuhi aspek kerahasiaan karena

informasi tidak dapat secara langsung diketahui.

2. Integritas data

Integritas data adalah layanan yang berhubungan dengan penjagaan dari

perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus

memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang

tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain

(27)

3. Otentikasi

Otentikasi adalah layanan yang berhubungan dengan identifikasi/ pengenalan,

baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling

berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan

melalui jaringan harus diotentikasi keaslian, isi datanya, waktu pengiriman, dan

lain-lain. Untuk alasan ini aspek kriptografi biasanya dibagi menjadi dua kelas

utama yaitu otentikasi entitas dan otentikasi data asal.

4. Non-repudiation

Non-repudiation adalah layanan yang mencegah terjadinya penyangkalan

terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan atau

membuat. Sebagai contoh, satu entitas dapat mengijinkan pembelian properti oleh

entitas lain dan kemudian berusaha menyangkal otorisasi tersebut diberikan.

Sebuah prosedur yang melibatkan pihak ketiga yang terpercaya diperlukan untuk

menyelesaikan sengketa tersebut.

2.6.1. Algoritma Kriptografi

Algoritma kriptografi yang handal adalah algoritma kriptografi yang

kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri.

Berdasarkan jenis kuncinya, algoritma kriptografi dibagi menjadi dua jenis yaitu

algoritma simetris dan algoritma asimetris.

2.6.1.1. Algoritma Simetris

Algoritma simetris (symmetric algorithm) adalah suatu algoritma dimana kunci

enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut

juga sebagai single-key algorithm[5]. Ilustrasi penggunaan algoritma kriptografi

dengan kunci simetris dapat terlihat pada gambar 2.3 berikut.

Gambar 2.3 Ilustrasi Kriptografi Dengan Kunci Simetris

Algoritma simetris banyak digunakan karena lebih cepat dan lebih simpel,

(28)

dapat diketahui, maka informasi pun dapat diketahui. Beberapa algoritma

kriptografi yang termasuk pada algoritma simetris yaitu DES, AES, Rijndael,

Blowfish, dan IDEA.

2.6.1.2. Algoritma Asimetris

Algoritma asimetris (asymmetric algorithm) dalah suatu algoritma dimana

kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi[5]. Algoritma ini

menggunakan dua kunci yakni kunci publik (public key) dan kunci privat(private

key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan

secara rahasia oleh pengguna. Ilustrasi penggunaan algoritma kriptografi dengan

kunci asimetris dapat terlihat pada gambar 2.4 berikut.

Gambar 2.4. Ilustrasi Kriptografi Dengan Kunci Asimetris.

Algoritma asimetris mempunyai keamanan yang lebih baik, karena jika public

key diketahui, informasi belum tentu dapat diketahui karena private key

kemungkinan berbeda. Namun akan menjadi sulit dan lama ketika

implementasinya. Beberapa algoritma kriptografi yang termasuk pada algoritma

asimetris yaitu Diffie - Hellman, RSA, ElGamal, dan DSA.

2.6.2. Algoritma advanced encryption standard (AES)

Advanced Encryption Standard termasuk dalam jenis algoritma simetris dan

cipher block. Dengan demikian algoritma ini menggunakan kunci yang sama saat

enkripsi dan dekripsi serta masukan dan keluarannya berupa blok dengan jumlah

bit tertentu.

Advanced Encryption Standard mendukung berbagai variasi ukuran blok dan

kunci yang akan digunakan, namun Advanced Encryption Standard mempunyai

ukuran blok dan kunci yang tetap sebesar 128, 192, 256 bit. Pemilihan ukuran blok

(29)

enkripsi dan dekripsi. Tabel 2.1 adalah perbandingan jumlah proses yang harus

dilalui untuk masing-masing masukan.

Tabel 2.1 Jumlah Proses Berdasarkan Ukuran Bit Blok dan Kunci

Blok-blok data masukan dan kunci dioperasikan dalam bentuk array. Setiap

anggota array sebelum menghasilkan keluaran cipher text dinamakan dengan state.

Setiap state akan mengalami proses yang terdiri dari empat tahap yaitu, Add Round

Key, Sub Bytes, Shift Rows, dan Mix Columns. Kecuali pada tahap Mix Columns,

ketiga tahap lainnya akan diulang pada setiap proses sedangkan tahap Mix Columns

tidak akan dilakukan pada tahap terakhir[8].

2.6.2.1. Add Round Key

Proses Add Round Key yaitu proses menggabungkan subkey dengan state

menggunakan operasi XOR untuk setiap byte dari subkey dengan byte yang dari

state[8]. Untuk setiap tahap, subkey dibangkitkan dari kunci utama dengan

menggunakan proses key schedule. Proses Add Round Key dapat dilihat pada

Gambar 2.5.

(30)

2.6.2.2. Sub Bytes

Proses adalah proses substitusi dengan cara mengganti setiap byte state dengan

byte pada sebuah tabel yang dinamakan tabel S-Box yang dapat dilihat pada Tabel

2.2.

Tabel 2.2 S-Box

Sebuah tabel S-Box terdiri dari 16 baris dan 16 kolom dengan masing-masing

berukuran 1 byte. Proses Sub Bytes dapat dilihat pada Gambar 2.6.

Gambar 2.6 Proses Sub Bytes Algoritma AES

2.6.2.3. Shift Rows

Proses Shift Rows adalah proses perputaran pada tiga baris terakhir dari state

dengan jumlah putaran yang berbeda-beda. Baris ke-1 akan diputar sebanyak 1 kali,

baris ke-2 akan diputar sebanyak 2 kali, dan baris ke-3 akan diputar sebanyak 3 kali,

sedangkan baris ke-0 tidak akan diputar[8]. Proses Shift Rows diperlihatkan pada

(31)

Gambar 2.7 Proses Shift Rows Algoritma AES

2.6.2.4. Mix Columns

Operasi Mix Columns adalah proses menggabungkan 4 bytes dari setiap kolom

dari tabel state dengan menggunakan transformasi linier[8]. Operasi MixColumns

memperlakukan setiap kolom sebagai polinomial 4 suku dalam Galois field dan

kemudian dikalikan dengan c(x) modulo (x4+1),dimana c(x)=3x3+x2+x+2.

Kebalikkan dari polinomial ini adalah (x)=11x3+13x2+9x+14.

Operasi Mix Columns juga dapat dipandang sebagai perkalian matrix seperti terlihat

pada gambar 2.8.

Gambar 2.8 Proses Mix Columns Algoritma AES

2.7.Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah sebuah bahasa pemodelan standar

yang memiliki sintaks dan semantic. Pemodelan ini sangat cocok digunakan untuk

merancang dan memodelkan sistem berorientasi objek[9].

Diagram pada UML dibagi menjadi dua bagian yaitu structural diagram dan

behavior diagram. Structural diagram digunakan untuk mendeskripsikan relasi

antar kelas. Tools yang digunakan pada bagian ini yaitu class diagram. Sedangkan

(32)

sebuah use case (bagaimana seorang aktor menggunakan sistem). Tools yang

digunakan pada bagian ini yaitu use case diagram, sequence diagram, collaboration

diagram, statechart diagram, dan activity diagram.

1. Diagram Class

Diagram class digunakan untuk menggambarkan keadaan suatu sistem dengan

menjelaskan keterhubungan antara suatu class dengan class yang lain yang terdapat

pada sistem[9]. Sebuah class terdiri dari nama, atribut dan method. Atribut dan

method dari sebuah class mempunyai visibility, Ada tiga jenis visibility yang

digunakan yaitu private, public, dan protected. Setiap class pada class diagram

mempunyai hubungan dengan class lainnya, ada beberapa jenis hubungan class,

yaitu dependency, asosiasi, agregasi, komposisi dan generalisasi.

a. Dependency

Dependency merupakan hubungan terlemah antar class. Dependency bermakna

satu class menggunakan atau memiliki pengetahuan terhadap class lain, namun

hubungannya hanya sementara dan tidak ada batas waktu yang jelas.

b. Asosiasi

Asosiasi mempunyai hubungan yang lebih kuat dari hubungan dependency,

dimana suatu class tetap berhubungan dengan class lain seterusnya. Hubungan

asosiasi dibagi menjadi dua jenis yaitu directional dan bidirectional.

c. Agregasi

Agregasi merupakan bentuk hubungan yang mengimplikasikan kepemilikan

suatu class. Agregasi juga merupakan bentuk yang lebih kuat dari asosiasi.

Hubungan agregasi dinyatakan dengan simbol diamond pada pemilik kelas dan

garis utuh berpanah kekelas yang dimiliki.

d. Komposisi

Komposisi merupakan bentuk hubungan antar class yang paling kuat.

Komposisi digunakan untuk mengambil seluruh bagian dari class yang

berhubungan. Aturan dari komposisi yaitu hanya boleh ada satu komposisi dalam

(33)

e. Generalisasi

Generalisasi merupakan bentuk hubungan antar class, dari class yang umum

dengan class yang lebih khusus. Contoh class hewan memiliki hubungan

generalisasi dengan class kucing, karena kucing merupakan class khusus dari class

hewan yang lebih umum.

2. Diagram Use Case

Diagram use case digunakan untuk mendeskripsikan kejadian-kejadian apa saja

yang dapat dilakukan oleh user aktor dan fungsionalitas-fungsionalitas apa saja

yang diharapkan dari sistem yang akan dibangun, tanpa mendeskripsikan

bagaimana sistem menyelesaikannya[9]. Sebuah use case menggambarkan suatu

urutan interaksi antara satu atau lebih aktor dan sistem. Dalam fase requirements,

model use case mengambarkan sistem sebagai sebuah kotak hitam dan interaksi

antara aktor dan sistem dalam suatu bentuk naratif, yang terdiri dari input user dan

respon-respon sistem.

Setiap use case menggambarkan perilaku sejumlah aspek sistem, tanpa

mengurangi struktur internalnya. Selama pembuatan model use case secara pararel

juga harus ditetapkan obyek-obyek yang terlibat dalam setiap use case. Contoh use

case diagram diperlihatkan pada gambar 2.9.

Gambar 2.9 Contoh Use Case Diagram

3. Diagram Sequence

Diagram sequence menggambarkan interaksi antar objek di dalam dan di

sekitar sistem yang menekankan pada pengiriman pesan dalam suatu waktu

(34)

atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event

untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas

tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa

yang dihasilkan. Contoh sequence diagram diperlihatkan pada gambar 2.10.

Gambar 2.10 Contoh Sequence Diagram

4. Diagram Collaboration

Diagram collaboration menunjukan informasi yang sama seperti dalam

sequence diagram. Perbedaannya adalah dari cara mengelompokan objek sequence

berdasarkan urutan nomor dari pesan[9]. Contoh collaboration diagram

diperlihatkan pada gambar 2.11.

(35)

5. Diagram Statechart

Diagram statechart menggambarkan keadaan-keadaan pada sistem, memuat

status (state), transisi, kejadian serta aktifitas[9]. Contoh Statechart diagram

diperlihatkan pada gambar 2.12.

Gambar 2.12 Contoh Statechart Diagram

6. Diagram Activity

Diagram activity menggambarkan berbagai alur aktivitas dalam sistem yang

sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin

terjadi, dan bagaimana mereka berakhir[9]. Activity diagram merupakan state

diagram khusus, di mana sebagian besar state adalah action dan sebagian besar

transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh

karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem

(dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan

proses-proses dan jalur-jalur. aktivitas dari level atas secara umum. Contoh Activity

(36)

Gambar 2.13 Contoh Activity Diagram

2.8.Teknologi Java

Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada

pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk

sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada

komputer standalone ataupun pada lingkungan jaringan. Java berdiri di atas sebuah

mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM inilah yang

akan membaca bytecode dalam file class dari suatu program sebagai representasi

langsung program yang berisi bahasa mesin.

Oleh karena itu, bahasa Java disebut sebagai bahasa pemrograman yang

portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem

operasi tersebut terdapat JVM. Platform Java terdiri dari kumpulan library, JVM,

kelas-kelas loader yang dipaket dalam sebuah lingkungan rutin Java, dan sebuah

compiler, debuger, dan perangkat lain yang dipaket dalam Java Development Kit

(JDK)[1].

Java merupakan salah satu bahasa pemrograman yang menggunakan paradigma

pemrograman berbasis objek. Paradigma ini yaitu menggunakan objek untuk

membungkus atribut dan operasi yang mungkin pada objek tersebut. Java

(37)

A. Kelebihan Java

Beberapa kelebihan dari java yaitu sebagai berikut:

1. Multiplatform

Kelebihan utama dari java ialah dapat dijalankan di beberapa platform/system

operasi komputer, sesuai dengan prinsip tulis sekali, jalankan dimana saja.

Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas

sistem operasi linux tetapi dijalankan dengan baik di atas Microsoft Windows.

2. OOP (Object Oriented Programming)

Java merupakan salah satu bahasan pemrograman berbasis objek secara murni.

Semua tipe data diturunkan dari kelas dasar yang disebut objek. Hal ini sangat

memudahkan pemrogram untuk mendesain, membuat, mengembangkan, dan

mengalokasi kesalahan sebuah program dengan basis java secara cepat, tepat,

mudah dan terorganisir.

3. Library yang lengkap

Java terkenal dengan kelengkapan library (perpustakaan) (kumpulan

program-program yang disertakan dalam pemrogram java) yang sangat memudahkan dalam

penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan

perpustakaan ini ditambah dengan keberadaan komunitas java yang besar yang

terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh

kebutuhan pembangunan aplikasi.

4. Bergaya C++

Java memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik

banyak pemrogram C++ untuk pindah ke java. Saat ini pengguna java sangat

banyak, sebagian besar adalah pemrogram C++ yang pindah ke java.

5. Pengumpulan sampah otomatis

Java memiliki fasilitas pengaturan penggunaan memori sehingga para

pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti

(38)

B. Kekurangan Java

Beberapa kekurangan Java antara lain :

1. Mudah didekompilasi

Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber.

Ini memungkinkan karena kode jadi java merupakan bytecode yang menyimpan

banyak atribut bahasa tingkat tinggi seperti nama-nama kelas, metode dan tipe data.

2. Penggunaan memori yang banyak

Penggunaan memori untuk program berbasis java jauh lebih besar dari pada

bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik

(39)

31

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1Analisis Sistem

Analisis sistem merupakan suatu tahapan yang bertujuan untuk mengetahui dan

mengamati apa saja yang terlibat dalam suatu sistem. Pembahasan yang ada pada

analisis sistem ini yaitu analisis masalah, analisis algoritma, analisis kebutuhan

non-fungsional, dan analisis kebutuhan fungsional.

3.1.1 Analisis Masalah

Analisis masalah dilakukan untuk mengetahui masalah-masalah apa saja

yang terjadi dalam pembangunan aplikasi steganografi. Masalah yang terjadi ketika

pembangunan steganografi pada citra digital yaitu kapasitas citra yang dapat

disisipkan informasi kecil, kualitas citra digital yang telah disisipkan informasi, dan

keamanan informasi yang disisipkan kedalam citra tidak terjamin, karena saat ini

banyak aplikasi yang digunakan untuk menanalisis citra apakah terdapat informasi

yang disembunyikan dan letak dari informasi yang disembunyikan. Jika letak dari

informasi yang disisipkan pada citra diketahui, maka informasi akan langsung dapat

diketahui.

3.1.2 Analisis Algoritma

Analisis algoritma digunakan untuk mengetahui alur proses dari algoritma

yang digunakan untuk dapat diterapkan ke dalam aplikasi yang dibangun.

Pembangunan aplikasi ini menggunakan algoritma Advanced Encryption Standard

(AES) untuk proses enkripsi dan dekripsi dengan panjang kunci 32bit sebagai

keamanan terhadap informasi yang akan disisipkan. Sedangkan metode

steganografi yang digunakan yaitu metode Random Pixel positioning (RPP) untuk

proses penyisipan dan ekstraksi informasi. Tahapan-tahapan yang dilakukan pada

setiap prosesnya yaitu sebagai berikut :

1. Proses Penyisipan

a. Pengirim memilih cover citra yang akan disisipkan

(40)

c. Pengirim melakukan enkripsi terhadap pesan menggunakan algoritma

Advanced Encryption Standard (AES)256bit.

d. Pengirim memilih file citra yang akan digunakan sebagai media penampung

dari pesan.

e. Pengirim melakukan proses penyisipan menggunakan metode Random

Pixel Positioning(RPP).

2. Proses Ekstraksi

a. Penerima memilih file citra yang telah disisipkan pesan (stego object).

b. Penerima melakukan proses ekstraksi menggunakan metode Random Pixel

positioning (RPP).

c. Penerima melakukan dekripsi terhadap pesan menggunakan algoritma

Advanced Encryption Standard (AES).

d. Penerima menyimpan pesan yang telah diekstraksi dari citra.

Tahapan-tahapan proses pada aplikasi steganografi secara umum dapat dilihat pada

gambar 3.1.

Gambar 3. 1 Gambaran Umum Aplikasi Steganografi

3.1.2.1Analisis Algoritma Advanced Encryption Standard(AES)

Algoritma Advanced Encryption Standard (AES) merupakan algoritma

kriptografi yang sifatnya simetris dan cipher block. Dengan demikian algoritma ini

mengunakan kunci yang sama saat enkripsi dan dekripsi serta masukan dan

(41)

Encryption Standard (AES) yang digunakaan pada aplikasi steganografi yang

dibangun menggunakan ukuran blok dan kunci 32bit. Algoritma Advanced

Encryption Standard (AES) terdapat dua proses yaitu proses penjadwalan kunci dan

enkripsi.

3.1.2.1.1 Analisis Penjadwalan Kunci

Proses penjadwalan kunci merupakan proses dimana cipherkey di

jadwalkan untuk menghasilkan subkey-subkey yang digunakan untuk proses

enkripsi dan dekripsi pada algoritma Advanced Encryption Standard (AES). Contoh

penjadwalan kunci pada algoritma Advanced Encryption Standard (AES) jika

diketahui kunci yang akan digunakan untuk enkripsi dengan panjang 32 byte yaitu:

Cipherkey = abcdefghijklmnopqrstuvwxyz123456

Tahap awal ubah cipherkey kedalam bentuk hexadecimal menjadi sebagai berikut:

Cipherkey = 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76

77 78 79 7a 7b 7c 7d 7e 7f 80

Tahap selanjutnya melakukan operasi-operasi penjadwalan kunci.

Operasi-operasi yang dilakukan yaitu RotWord, SubByte, dan melakukan operasi XOR

untuk menghasilkan subkey. Operasi-operasi yang dilakukan yaitu sebagai berikut:

1. Masukan cipherkey tersebut kedalam blok 32 byte menjadi.

� = [ ]

2. Melakukan operasi RotWord pada kolom terakhir dari ciphertext.

[ �

] = [ �

]

3. Melakukan operasi SubByte dengan tabel s-box pada tabel II.2.

(42)

4. Hasil dari operasi SubByte dilakukan operasi XOR dengan rcon dan

W1 (kolom ke-1 dari W).

� = [ ]

[ ] ⨁ [ ] ⨁ [ ] = [ ]

5. Melakukan operasi XOR untuk untuk kolom selanjutnya dengan

kolom yang baru.

[ ] ⨁ [ ] = [ ]

[ ] ⨁ [ ] = [ ]

[ ] ⨁ [ ] = [ ]

[ ] ⨁ [ ] = [ ]

[ ] ⨁ [ ] = [ ]

[ ] ⨁ [ ] = [ ]

[ ] ⨁ [ ] = [ ]

6. Simpan kedalam subkey.

� � � = [ ]

Subkey ini yang akan digunakan untuk proses enkripsi atau dekripsi pada

algoritma Advanced Encryption Standard (AES) pada round ke-1 untuk round

(43)

3.1.2.1.2 Analisis Proses Enkripsi Algoritma (AES)

Proses enkripsi pada algoritma Advanced Encryption Standard (AES) terdiri

dari empat operasi yaitu Add Round Key, Sub Bytes, Shift Rows, dan Mix Columns.

Operasi-operasi ini diulang terus-menerus hingga menghasilkan ciphertext. Jumlah

perulangan yang dilakukan tergantung pada ukuran blok dan kunci yang digunakan,

dalam hal ini ukuran blok dan kunci yang digunakan yaitu 256 bit, sehingga

berdasarkan pada tabel 2.1, maka perulangan yang dilakukan sebanyak 14 kali.

Contoh enkripsi pada algoritma advanced encryption standard, jika diketahui kunci

dan plaintext yang akan digunakan untuk enkripsi dengan panjang 32 byte.

Cipherkey = abcdefghijklmnopqrstuvwxyx123456

Plaintext = UNIVERSITAS KOMPUTER INDONESIA !

Tahap awal ubah cipherkey dan plaintext kedalam bentuk hexadecimal menjadi

sebagai berikut:

Cipherkey = 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75

76 77 78 79 7a 7b 7c 7d 7e 7f 80

Plaintext = 55 4E 49 56 45 52 53 49 54 41 53 20 4b 4F 4D 50 55 54 45 52 20

49 4E 44 4F 4E 45 49 53 41 20 21

Masukan cipherkey dan plaintext ke dalam blok 32 byte sehingga menjadi

� = [ ] �� ℎ �� �

dapat dilakukan operasi-operasi enkripsi pada algoritma advanced encryption

standard, sebagai berikut:

1. Melakukan operasi AddRoundKey dengan melakukan operasi XOR pada

setiap kolom di state dengan kolom di ciphertext, sehingga menghasilkan

(44)

� = [ ]

2. State yang telah dilakukan operasi AddRoundKey tersebut dilakukan

perulangan dengan urutan operasi pertama yaitu operasi SubByte. Operasi

ini yaitu melakukan subtitusi state dengan tabel s-box pada tabel 2.2

sehingga menghasilkan state baru yaitu:

� = [ ]

3. Hasil dari operasi SubByte dilakukan operasi ShiftRows yaitu memutar tiga

baris terakhir dari state seperti berikut:

� = [ ] Menjadi ���� = [ ]

4. Melakukan operasi MixColumns yaitu melakukan perkalian tiap kolom pada

state dengan matriks seperti berikut.

[ ] • [ ] = [ ] � = [ ]

5. Melakukan AddRoundKey kembali dengan menggunakan SubKey hasil dari

penjadwalan kunci CipherKey.

[ ] ⨁ [ ]

Sehingga menghasilkan state baru yaitu

� = [ ]

Semua operasi tersebut diulang sebanyak 10 kali hingga mendapatkan

Gambar

Gambar 2.10 Contoh Sequence Diagram
gambar 3.1.
Tabel 3. 8 Skenario Use Case Enkripsi
Tabel 3. 9 Skenario Use Case Penyalinan Kunci
+7

Referensi

Dokumen terkait

1) Menambah pengetahuan penulis dalam melakukan proses enkripsi dan dekripsi suatu pesan dengan menggunakan algoritma Advanced Encryption Standard (AES) dan algoritma

AES merupakan algoritme kriptografi yang didesain untuk beroperasi pada blok pesan 128 bit dan menggunakan tiga variasi blok kunci dengan panjang 128 bit, 192 bit, atau 256

Dalam penelitian ini penulis memilih algoritma Advanced Encryption Standard (AES) untuk diimplementasikan pada proses enkripsi dan dekripsi gambar.. Dari hasil penelitian penulis

2012.Implementasi algoritma rijndael untuk enkripsi dan dekripsi pada citra digital.. Secure image data by

Dalam tugas akhir ini, akan dirancang dan diimplementasikan sistem steganografi dengan medium penampung berupa citra 24 bit dengan enkripsi untuk menyandikan informasi rahasia

Pada kesimpulan mengenai penulisan yang berjudul “Implementasi Pengamanan Data Pada Dokumen Menggunakan Algoritma Kriptografi Advanced Encryption Standard (AES)”,

Pengujian terhadap aplikasi pengaman sms dengan metode kriptografi Advanced Encryption Standard (AES) 128 berbasis Android dilakukan terhadap enkripsi, dekripsi, mengirim

This study provides a place to protect a image using online web server and utilizes a cryptographic technique AES (Advanced Encryption Standart) 192 bit encryption and