ENKRIPSI FILE CITRA MEDIS MENGGUNAKAN AES PADA …eprints.undip.ac.id/59696/1/J2F007023_1.pdf ·...

16
ENKRIPSI FILE CITRA MEDIS MENGGUNAKAN AES PADA ANDROID SKRIPSI Disusun Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Pada Jurusan Ilmu Komputer / Informatika Disusun Oleh: ISA FERRY CHRISWANTORO J2F007023 JURUSAN ILMU KOMPUTER / INFORMATIKA FAKULTAS SAINS DAN MATEMATIKA UNIVERSITAS DIPONEGORO 2014

Transcript of ENKRIPSI FILE CITRA MEDIS MENGGUNAKAN AES PADA …eprints.undip.ac.id/59696/1/J2F007023_1.pdf ·...

ENKRIPSI FILE CITRA MEDIS MENGGUNAKAN AES PADA

ANDROID

SKRIPSI

Disusun Sebagai Salah Satu Syarat

Untuk Memperoleh Gelar Sarjana Komputer

Pada Jurusan Ilmu Komputer / Informatika

Disusun Oleh:

ISA FERRY CHRISWANTORO

J2F007023

JURUSAN ILMU KOMPUTER / INFORMATIKA

FAKULTAS SAINS DAN MATEMATIKA

UNIVERSITAS DIPONEGORO

2014

ii

HALAMAN PERNYATAAN KEASLIAN SKRIPSI

Saya yang bertanda tangan di bawah ini :

Nama : Isa Ferry Chriswantoro

NIM : J2F007023

Judul : Enkripsi File Citra Medis Menggunakan AES pada Android

Dengan ini saya menyatakan bahwa dalam tugas akhir/skripsi ini tidak terdapat karya yang

pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan

sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau

diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan

disebutkan di dalam daftar pustaka.

Semarang, 29 Agustus 2014

Isa Ferry Chriswantoro

J2F007023

iii

HALAMAN PENGESAHAN

Judul : Enkripsi File Citra Medis Menggunakan AES pada Android

Nama : Isa Ferry Chriswantoro

NIM : J2F007023

Telah diujikan pada sidang tugas akhir pada tanggal 29 Agustus 2014 dan dinyatakan lulus

pada tanggal 29 Agustus 2014

Mengetahui,

Ketua Jurusan Ilmu Komputer / Informatika

FSM UNDIP

Nurdin Bahtiar, S.Si, M.T

NIP 19790720 200312 1 002

Semarang, 29 Agustus 2014

Panitia Penguji Tugas Akhir

Ketua

Aris Sugiharto, S.Si, M.Kom

NIP 19710811 199702 1 004

iv

HALAMAN PENGESAHAN

Judul : Enkripsi File Citra Medis Menggunakan AES pada Android

Nama : Isa Ferry Chriswantoro

NIM : J2F007023

Telah diujikan pada sidang tugas akhir pada tanggal 29 Agustus 2014.

Semarang, 29 Agustus 2014

Pembimbing Utama

Helmie Arif Wibawa, S.Si, M.Cs.

NIP 19780516 200312 1 001

v

ABSTRAK

Citra medis sebagai salah satu data digital dalam bentuk citra yang menyimpan informasi

pasien, perlu dilindungi agar informasi pasien terjaga kerahasiaan dan keamanannya. Citra

medis yang ada pada media penyimpanan digital biasanya tidak memiliki perlindungan

keamanan, sehingga citra medis tersebut dapat dilihat oleh semua orang. Untuk memenuhi

aspek kerahasiaan dan keamanan file citra medis, dapat digunakan kriptografi. Kriptografi

adalah salah satu teknik yang digunakan untuk meningkatkan aspek keamanan suatu

informasi. Dengan kriptografi, file citra medis dapat disimpan dengan aman dan rahasia pada

media penyimpanan digital. Aplikasi Enkripsi File Citra Medis dibangun untuk mengatasi

permasalahan tersebut. Aplikasi ini menggunakan algoritma AES dalam proses enkripsi dan

dekripsi file citra medis. AES ( Advanced Encryption Standard ) merupakan algoritma

kriptografi yang aman untuk melindungi data atau informasi yang bersifat rahasia. AES

merupakan standar algoritma kriptografi terbaru yang dipublikasikan oleh NIST ( National

Institute of Standard and Technology ) sebagai pengganti algoritma DES ( Data Encryption

Standard ) yang sudah berakhir masa penggunaannya. Aplikasi ini dibangun menggunakan

bahasa pemrograman java dan diimplementasikan pada telepon seluler berbasis android.

Hasil keluaran dari aplikasi ini berupa file citra medis terenkripsi yang gambarnya tidak

bermakna dan dapat pula berupa file citra medis terdekripsi yang dapat dilihat gambarnya

jika kunci dekripsi yang dimasukkan benar.

Kata kunci: Citra Medis, AES, Enkripsi, Dekripsi, Android.

vi

ABSTRACT

Medical image as one of the digital data in the form of imagery that stores patient

information, must be protected in order to protect the confidentiality and security of patient

information. Digital image available on digital storage media usually do not have security

protection, so that the digital image can be seen by everyone. To meet the confidentiality and

security of medical image files, cryptography can be used. Cryptography is one of the

techniques used to enhance the security aspect of the information. With cryptography,

medical image files can be stored safely and confidentially on digital storage media. Medical

Image File Encryption Application built to overcome these problems. This application uses

the AES algorithm in the process of encryption and decryption of medical image files. AES

(Advanced Encryption Standard) is a secure cryptographic algorithms to protect data or

confidential information. AES is the latest standard cryptographic algorithms published by

NIST (National Institute of Standards and Technology) as a replacement for the DES

algorithm (Data Encryption Standard), which is over its service life. This application was

built using the Java programming language and implemented on a mobile phone based on

Android. The output of this application form encrypted medical image files that the picture

is not meaningful and can also be decrypted medical image files that can be seen if the

decryption key is entered correctly.

Keywords: Medical image, AES, Encryption, Decryption, Android.

vii

KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat

dan hidayah-Nya sehingga penulis dapat menyusun tugas akhir yang berjudul “Enkripsi File

Citra Medis Menggunakan AES pada Android”

Tugas akhir ini disusun sebagai salah satu syarat untuk memperoleh gelar sarjana

strata satu pada Jurusan Ilmu Komputer / Informatika Fakultas Sains Dan Matematika

Universitas Diponegoro Semarang.

Dalam penyusunan tugas akhir ini, penulis mendapat bantuan dan dukungan dari

banyak pihak. Atas peran sertanya dalam membantu dalam penyelesaian tugas akhir ini,

penulis ingin mengucapkan terima kasih kepada:

1. Bapak Dr. Muhammad Nur, DEA selaku Dekan Fakultas Sains dan Matematika

Universitas Diponegoro.

2. Bapak Nurdin Bahtiar, S.Si, M.T Ketua Jurusan Ilmu Komputer / Informatika

Fakultas Sains dan Matematika Universitas Diponegoro.

3. Bapak Indra Waspada, ST, M.TI selaku Koordinator Tugas Akhir Jurusan Ilmu

Komputer / Informatika Fakultas Sains dan Matematika Universitas Diponegoro.

4. Bapak Helmie Arif Wibawa, S.Si, M.Cs selaku dosen pembimbing yang selalu

memberi arahan agar laporan tugas akhir ini terselesaikan.

5. Semua pihak yang telah membantu hingga selesainya tugas akhir ini, yang tidak

dapat penulis sebutkan satu persatu. Semoga Allah membalas segala kebaikan yang

telah Anda berikan kepada penulis.

Penulis menyadari bahwa masih banyak kekurangan dalam penyusunan laporan

tugas akhir ini, untuk itu penulis mohon maaf dan mengharapkan saran serta kritik yang

membangun dari pembaca. Semoga laporan tugas akhir ini dapat bermanfaat bagi

pengembangan ilmu dan pengetahuan, khususnya pada bidang Informatika.

Semarang, 29 Agustus 2014

Penulis

viii

DAFTAR ISI

HALAMAN PERNYATAAN KEASLIAN SKRIPSI .......................................................... ii

HALAMAN PENGESAHAN .............................................................................................. iii

HALAMAN PENGESAHAN .............................................................................................. iv

ABSTRAK............................................................................................................................. v

ABSTRACT ......................................................................................................................... vi

KATA PENGANTAR ......................................................................................................... vii

DAFTAR ISI ...................................................................................................................... viii

DAFTAR GAMBAR ............................................................................................................ xi

DAFTAR TABEL ............................................................................................................... xii

BAB I PENDAHULUAN ..................................................................................................... 1

1.1. Latar Belakang ....................................................................................................... 1

1.2. Rumusan Masalah.................................................................................................. 2

1.3. Tujuan dan Manfaat ............................................................................................... 2

1.4. Ruang Lingkup ...................................................................................................... 3

1.5. Sistematika Penulisan ............................................................................................ 3

BAB II LANDASAN TEORI ................................................................................................ 5

2.1. Citra ....................................................................................................................... 5

2.2. Peak Signal to Noise Ratio (PSNR) ...................................................................... 6

2.3. Citra Medis ............................................................................................................ 6

2.4. Android .................................................................................................................. 7

2.5. Kriptografi ............................................................................................................. 8

2.6. AES (Advance Encryption Standard) .................................................................. 10

2.7. Model Pengembangan Perangkat Lunak ............................................................. 17

2.8. Konsep Analisis dan Perancangan Sistem ........................................................... 19

2.8.1. Software Requirement Specification .............................................................. 19

ix

2.8.2. Pemodelan Context ........................................................................................ 20

2.8.3. Flowchart....................................................................................................... 21

2.9. Java Standard Edition (Java SE) ......................................................................... 23

BAB III ANALISIS DAN PERANCANGAN .................................................................... 24

3.1. Definisi Kebutuhan .............................................................................................. 24

3.1.1. Gambaran Umum .......................................................................................... 24

3.1.2. Analisis Aplikasi Enkripsi File Citra Medis .................................................. 24

3.1.3. Software Requirement Spesification .............................................................. 25

3.1.4. Pemodelan Fungsional ................................................................................... 25

3.1.4.1. Data Context Diagram ............................................................................ 26

3.1.4.2. Data Flow Diagram ................................................................................ 26

3.2. Perancangan Antarmuka ...................................................................................... 27

3.3. Perancangan Proses Aplikasi ............................................................................... 29

3.3.1. Proses Enkripsi File Citra Medis ................................................................... 29

3.3.2. Proses Dekripsi File Citra Medis Terenkripsi ............................................... 29

BAB IV IMPLEMENTASI DAN PENGUJIAN ................................................................ 31

4.1. Implementasi Antarmuka .................................................................................... 31

4.2. Implementasi Fungsi............................................................................................ 32

4.2.1. Implementasi Fungsi Enkripsi File Citra Medis ............................................ 32

4.2.2. Implementasi Fungsi Dekripsi File Citra Medis Terenkripsi ........................ 32

4.2.3. Implementasi Algoritma AES ....................................................................... 32

4.2.4. Implementasi Fungsi PSNR........................................................................... 32

4.3. Pengujian ............................................................................................................. 32

4.3.1. Lingkungan Pengujian ................................................................................... 33

4.3.2. Rencana Pengujian ........................................................................................ 33

4.3.3. Pelaksanaan Pengujian .................................................................................. 33

4.3.3.1. Pengujian Enkripsi File Citra Medis .......................................................... 34

x

4.3.3.2. Pengujian Dekripsi File Citra Medis .......................................................... 36

4.3.4. Analisis Hasil Pengujian ................................................................................ 38

BAB V PENUTUP .............................................................................................................. 39

5.1. Kesimpulan .......................................................................................................... 39

5.2. Saran .................................................................................................................... 39

DAFTAR PUSTAKA .......................................................................................................... 40

Lampiran 1: Source Code Fungsi Enkripsi File Citra Medis .............................................. 43

Lampiran 2: Source Code Fungsi Dekripsi File Citra Medis .............................................. 45

Lampiran 3: Source Code AES ........................................................................................... 47

Lampiran 4: Source Code PSNR ......................................................................................... 55

xi

DAFTAR GAMBAR

Gambar 2. 1 Contoh Citra Medis ........................................................................................... 7

Gambar 2. 2 Layar depan Android 4.4.2 KitKat ................................................................... 8

Gambar 2. 3 Kriptografi Citra Digital ................................................................................... 9

Gambar 2. 4 Ilustrasi Proses Enkripsi AES ......................................................................... 11

Gambar 2. 5 Tabel Substitusi (S-Box)................................................................................. 12

Gambar 2. 6 Ilustrasi Shiftrows ........................................................................................... 12

Gambar 2. 7 Ilustrasi AddRoundKey ................................................................................... 13

Gambar 2. 8 Ilustrasi Proses Dekripsi AES ......................................................................... 14

Gambar 2. 9 Ilustrasi InvShiftRows ..................................................................................... 14

Gambar 2. 10 Tabel Inverse Substitusi (Inverse S-Box) ...................................................... 15

Gambar 2. 11 Ilustrasi Rotword ........................................................................................... 16

Gambar 2. 12 Ilustrasi SubBytes .......................................................................................... 16

Gambar 2. 13 Ilustrasi Rcon[1] ............................................................................................. 16

Gambar 2. 14 Ilustrasi Kolom Pertama Baru ...................................................................... 17

Gambar 2. 15 Ilustrasi Kolom Kedua dan Ketiga Baru ....................................................... 17

Gambar 2. 16 Model Waterfall ............................................................................................ 18

Gambar 3. 1 Gambaran Umum Aplikasi Enkripsi File Citra Medis ................................... 24

Gambar 3. 2 DCD Aplikasi Enkripsi File Citra Medis ........................................................ 26

Gambar 3. 3 DFD Level 1 Aplikasi Enkripsi File Citra Medis ........................................... 27

Gambar 3. 4 Antarmuka Aplikasi Enkripsi File Citra Medis .............................................. 28

Gambar 3. 5 Flowchart Proses Enkripsi File Citra Medis .................................................. 29

Gambar 3. 6 Flowchart Proses Dekripsi File Citra Medis Terenkripsi ............................... 30

Gambar 4. 1 Antarmuka Aplikasi Enkripsi File Citra Medis .............................................. 31

Gambar 4. 2 Tampilan Memilih File Citra Medis ............................................................... 34

Gambar 4. 3 Tampilan Memasukkan Kunci Enkripsi ......................................................... 35

Gambar 4. 4 Tampilan Setelah Enkripsi Selesai ................................................................. 35

Gambar 4. 5 Tampilan Memilih File Citra Medis Terenkripsi ............................................ 36

Gambar 4. 6 Tampilan Memasukkan Kunci Dekripsi ......................................................... 37

Gambar 4. 7 Tampilan Setelah Dekripsi Selesai ................................................................. 37

xii

DAFTAR TABEL

Tabel 2. 1 Perbandingan Jumlah Putaran dan Panjang Kunci ............................................. 11

Tabel 2. 2 Tabel Format SRS .............................................................................................. 19

Tabel 2. 3 Komponen Pemodelan Context .......................................................................... 20

Tabel 2. 4 Flow Direction Symbols ..................................................................................... 21

Tabel 2. 5 Input/Output Symbols ......................................................................................... 22

Tabel 2. 6 Processing Symbols ............................................................................................ 22

Tabel 3. 1 SRS Aplikasi Enkripsi File Citra medis ............................................................. 25

Tabel 4. 1 File Citra Medis Untuk Pengujian ...................................................................... 34

Tabel 4. 2 Hasil Pengujian Enkripsi .................................................................................... 36

Tabel 4. 3 Hasil Pengujian Dekripsi .................................................................................... 38

1

BAB I

PENDAHULUAN

Bab ini membahas latar belakang, rumusan masalah, tujuan dan manfaat, ruang

lingkup, serta sistematika penulisan laporan tugas akhir mengenai Enkripsi File Citra Medis

Menggunakan AES pada Android.

1.1. Latar Belakang

Citra medis sebagai salah satu data digital dalam bentuk citra yang

menyimpan informasi pasien, perlu dilindungi agar informasi pasien terjaga

kerahasiaan dan keamanannya. Misalnya foto rontgen dengan sinar-X atau foto

penyakit yang terlihat pada tubuh pasien dengan bantuan komputer (Sherrow, 2007).

File citra medis dapat dibuka dengan menggunakan aplikasi pembuka gambar yang

ada pada sistem operasi, salah satunya adalah android.

Android merupakan sistem operasi berbasis linux yang dirancang untuk

perangkat mobile seperti telepon pintar dan komputer tablet. Sebagai perangkat

mobile android memiliki beberapa kelebihan dan kekurangan. Kelebihan yang

dimiliki adalah gratis, memiliki banyak aplikasi dan terkadang memiliki ketahanan

terhadap debu dan air. Kekurangan yang dimiliki adalah memori yang terbatas, daya

proses yang terbatas, konektivitas yang terbatas, dan masa hidup yang pendek

(Lestari, 2014).

Pada android terdapat aplikasi yang dapat membuka file citra sehingga dapat

dijadikan sebagai alternatif sementara untuk melihat file citra medis. Namun, file

yang disimpan pada android biasanya tidak terenkripsi, sehingga belum memenuhi

aspek kerahasiaan dan keamanan file citra medis. Untuk memenuhi aspek

kerahasiaan dan keamanan file citra medis yang disimpan pada android, dapat

digunakan teknik kriptografi. Dengan teknik kriptografi, file dokumen yang

disimpan hanya bisa dibaca atau dilihat oleh orang yang memiliki otoritas untuk

membuka file dokumen tersebut.

Kriptografi adalah salah satu teknik yang digunakan untuk meningkatkan

aspek keamanan suatu informasi. Kriptografi merupakan kajian ilmu dan seni untuk

2

menjaga suatu pesan atau data informasi agar data tersebut aman. Kriptografi

mendukung kebutuhan dari dua aspek keamanan informasi, yaitu perlindungan

terhadap kerahasiaan data informasi (secrecy) dan perlindungan terhadap pemalsuan

dan pengubahan informasi yang tidak diinginkan (authenticity) (Wibowo, 2004).

Algoritma kriptografi yang baik akan memerlukan waktu yang lama untuk

memecahkan data yang telah disandikan. Seiring dengan perkembangan teknologi

komputer maka dunia teknologi informasi membutuhkan algoritma kriptografi yang

lebih kuat dan aman. Saat ini, Advanced Encryption Standard (AES) merupakan

algoritma cipher yang cukup aman untuk melindungi data atau informasi yang

bersifat rahasia. AES digunakan sebagai standar algoritma kriptografi terbaru yang

dipublikasikan oleh National Institute of Standard and Technology (NIST). AES

menggantikan Data Encryption Standard (DES) yang pada tahun 2002 sudah

berakhir masa penggunaannya. DES juga dianggap tidak mampu lagi untuk

menjawab tantangan perkembangan teknologi komunikasi yang sangat cepat. AES

sendiri adalah algoritma kriptografi dengan menggunakan algoritma Rijndael yang

dapat mengenkripsi dan mendekripsi blok data sepanjang 128 bit dengan panjang

kunci 128 bit, 192 bit, atau 256 bit (Wibowo, 2004).

Pada tugas akhir ini akan dikembangkan suatu aplikasi enkripsi file citra

medis dengan menggunakan AES yang diharapkan mampu berjalan dengan baik dan

efisien pada sumber daya yang ada di android, sehingga penyimpanan file citra medis

pada android dapat memenuhi aspek kerahasiaan dan keamanan yang dibutuhkan file

citra medis.

1.2. Rumusan Masalah

Berdasarkan uraian latar belakang di atas, dapat dirumuskan permasalahan

yang dihadapi, yaitu bagaimana mengimplementasi algoritma AES dalam rancang

bangun aplikasi enkripsi file citra medis berbasis android agar file citra medis hanya

dapat dilihat oleh orang yang memiliki otoritas untuk melihatnya.

1.3. Tujuan dan Manfaat

Tujuan yang ingin dicapai dalam penelitian tugas akhir ini adalah

menghasilkan sebuah aplikasi enkripsi file citra medis pada sistem operasi android

3

yang menggunakan algoritma AES dalam proses pengenkripsian dan

pendekripsiannya. Aplikasi yang dihasilkan dapat digunakan untuk mengenkripsi

file citra medis agar hanya dapat dilihat oleh orang yang memiliki otoritas untuk

melihatnya.

Adapun manfaat yang diharapkan dari tugas akhir ini adalah aplikasi yang

dikembangkan dapat digunakan untuk mengenkripsi file citra medis, sehingga dapat

menghasilkan file citra medis yang bersifat rahasia dan aman.

1.4. Ruang Lingkup

Dalam penyusunan tugas akhir ini, diberikan ruang lingkup yang cukup jelas

agar pembahasan lebih terarah dan tidak menyimpang dari tujuan penulisan. Aplikasi

yang akan dikembangkan adalah aplikasi enkripsi file citra medis berbasis android

yang mengimplementasikan algoritma AES pada proses enkripsi dan dekripsi

filenya.

1) Input dan Output berupa file citra medis berekstensi png di tempat penyimpanan

storage default android.

2) Enkripsi dan dekripsi file citra medis menggunakan algoritma AES-128.

3) Bentuk implementasinya menggunakan bahasa pemrograman Java Standard

Edition (Java SE).

4) Menggunakan Eclipse dengan Android Developer Tools (ADT) plugin untuk

penulisan dan kompilasi kode.

1.5. Sistematika Penulisan

Sistematika penulisan yang digunakan dalam laporan tugas akhir ini terbagi

menjadi beberapa pokok bahasan, yaitu:

BAB I PENDAHULUAN

berisi uraian tentang latar belakang masalah, perumusan masalah, tujuan

dan manfaat, ruang lingkup, serta sistematika penulisan laporan tugas akhir

BAB II LANDASAN TEORI

berisi penjelasan singkat konsep–konsep yang mendukung pengembangan

aplikasi, meliputi konsep Citra, PSNR (Peak Signal to Noise Ratio), Citra

4

Medis, Android, Kriptografi, AES (Advanced Encryption Standard), dan

Java SE (Java Standard Edition).

BAB III ANALISIS DAN PERANCANGAN

membahas proses pengembangan sistem pada tahap definisi kebutuhan,

analisis dan perancangan, dengan hasilnya berupa desain dan rancangan

sistem yang akan dikembangkan

BAB IV IMPLEMENTASI DAN PENGUJIAN

membahas proses pengembangan aplikasi dan hasil yang didapat pada

tahap implementasi serta menerangkan rincian pengujian aplikasi yang

dibangun dengan metode black box

BAB V PENUTUP

berisi kesimpulan yang diambil berkaitan dengan aplikasi yang dibangun

dan saran untuk pengembangan lebih lanjut.