Implementasi AES dan Rabin pada Aplikasi Klien Surel Perangkat Android

(1)

Connely, J. 2008. A Practical Implementation of a One-time Pad Cryptosystem.

Crispin, M. 2003. Internet Message Access Protocol -

Version 4rev1,(online) http://tools.ietf.org/html/rfc3501, 24 Juni 2015

Daemen,J & Rijmen,V. 1999. AES Proposal:Rijndael

Fowler, M. 2005. UML Distilled 3th Ed., Panduan Singkat Bahasa Pemodelan Objek Standar.Yogyakarta : ANDI.

Freed & Borenstein. 1996. Multipurpose Internet Mail Extensions (MIME) Part One:Format of

Internet Message Bodies,(online) https://tools.ietf.org/html/rfc2045,24 Juni 2015

Leksono,M.A.2012. Aplikasi Klien Surel Dengan Algoritma Rabbit Pada Ponsel

Android.Skripsi.Institut Teknologi Bandung:Bandung

Muchtar, Muhammad Anggia, Muhammad Fadhly Sani. 2011. Modul Praktikum Desain Perangkat Lunak. Modul Praktikum. Medan, Indonesia: Universitas Sumatera Utara.

Partige, C. 2009. The Technical Development of Internet Email,(online)

http://www.ir.bbn.com/~craig/email.pdf, 20 Juni 2015

Postel, J.B. 1982. Simple Main Transfer Protocol,(online)


(2)

Rabin, M.O. 1979. Digitalize signatures and Public-Key Functions as Intractable as Factorization.

Rasool. S, Sridhar. G, Kumar. K. H & Kumar. P. R. 2011. Enhanced Secure Algorithm For Message Communication. International Journal of Network Security & Its Applications (IJNSA), Vol.3, No.5.

Safaat, N.A. 2012. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Informatika. Bandung

Sadikin, R. 2012. Kriptografi untuk Keamanan Jaringan. Yogyakarta: Andi.

Supranto, J. 2009. Statistik Teori dan Aplikasi Edisi Ketujuh. Jakarta: Erlangga.

Supriyanto, A.2009. Pemakaian Kriptografi Kunci Publik Untuk Proses Enkripsi dan Tanda

Tangan Digital Pada Dokumen Email.Skripsi.Universitas Stikubank:Semarang

Taufan,Y.2011. Enkripsi Email Dengan Menggunakan Metode ElGamal Pada Perangkat


(3)

Pada bab ini akan dibahas tentang rancangan sistem seperti flowchart proses enkripsi dan dekripsi menggunakan AES serta DFD dari proses pengiriman pesan, penerimaan pesan, dan penambahan konten terenkipsi.

3.1 Data yang Digunakan

Dalam pembangunan sistem ini, data yang digunakan adalah surel yang dikirim melalui aplikasi Secure Message. Terdapat dua jenis surel yang digunakan, yaitu surel yang berada pada sisi pengirim dan surel yang berada pada sisi penerima. Surel pada sisi pengirim akan melalui proses enkripsi jika terdapat konten rahasia sedangkan surel pada sisi penerima akan dilakukan proses dekripsi jika terdapat konten rahasia.

3.2 Arsitektur Umum

TULIS SUREL DENGAN KONTEN RAHASIA

ENKRIPSI KONTEN RAHASIA DENGAN AES

PENGGABUNGAN KONTEN RAHASIA KE SUREL

SUREL YANG TELAH TERENKRIPSI ENKRIPSI KUNCI AES

DENGAN RABIN

INPUT

OUTPUT PROSES ENKRIPSI


(4)

SUREL YANG TELAH TERENKRIPSI

PENGECEKAN KETERSEDIAAN KONTEN RAHASIA

DEKRIPSI KONTEN RAHASIA DENGAN AES

SUREL YANG TELAH TERDEKRIPSI DEKRIPSI KUNCI AES

DENGAN RABIN

INPUT

OUTPUT PROSES DEKRIPSI

Gambar 3.1 Arsitektur Umum(lanjutan)

Pada Gambar 3.1, untuk pertama kalinya pengirim dapat memulai menulis surel baru dengan konten rahasia. Untuk memasukkan konten rahasia, pengirim dapat menuliskan konten rahasia beserta kunci yang diinginkan pada kotak yang tersedia. Selanjutnya sistem akan melakukan proses enkripsi pada konten menggunakan algoritma AES 128-bit. Apabila proses enkripsi berhasil dilakukan, maka sistem akan menggabungkan konten rahasia ke surel. Hasil dari keseluruhan proses ini adalah surel yang berisi konten rahasia dengan keadaan telah terenkripsi dan dapat dikirim ke penerima. Selanjutnya surel yang di kotak masuk penerima akan dicek ketersediaan konten rahasia. Apabila ditemukan konten, maka sistem akan mencari terlebih dahulu kunci AES pada konten untuk didekripsi dengan kunci privat Rabin yang disediakan penerima. Setelahnya baru dilakukan proses dekripsi pada konten rahasia dengan algoritma AES 128-bit. Sistem akan menampilkan konten yang telah terdekripsi untuk dibaca penerima.


(5)

Konten yang akan dienkripsi akan melalui proses enkripsi AES 128-bit. Kunci AES yang digunakan akan dienkripsi dengan Algoritma Rabin. Pada enkripsi AES 128-bit terdapat 10 ronde, dimana tiap ronde terjadi proses transformasi yang berbeda-beda tergantung ronde keberapa transformasi tersebut dilakukan. Berikut adalah algoritma untuk enkripsi AES 128-bit:

Input: P,K {Teks Asli 16 bytes,kunci AES 128 bit} Output:CT {Teks sandi 16 bytes}

(Nr,w)EkspansiKunci(K) {Nr: Jumlah ronde=10, w: larik bytes kunci ronde} CT=P

AddRoundKey(CT,w[0..3]) For i=1 to Nr do

SubBytes(CT) ShiftRows(CT)

If i ≠Nr then

MixColumns(CT) End If

AddRoundKey(CT,w[(i*4)…(i*4)+3]

End For

Dari algoritma diatas, bisa dilihat proses enkripsi akan menerima masukan berupa teks asli yang ingin dienkripsi dan kunci AES yang digunakan dan akan menghasilkan output berupa teks asli yang telah terenkripsi. Sebelum ronde 1 dimulai teks asli dicampur dengan kunci ronde ke-0( Transformasi ini disebut AddRoundKey ). Setelah itu ronde ke-1 sampai dengan ronde ke-(Nr-1) dengan Nr adalah jumlah ronde akan menggunakan 4 jenis transformasi, yaitu SubBytes, ShiftRows, MixColumns dan AddRoundKey. Pada ronde terakhir , yaitu ronde ke-Nr akan menggunakan transformasi serupa dengan ronde lain namun tanpa transformasi MixColumns.


(6)

Misal terdapat plainteks “AES&Rabin”, kunci AES ”1122334455667788” dan kunci Rabin “77”. Detail transformasi yang digunakan pada proses enkripsi akan dijelaskan pada bahasan selanjutnya.

3.3.1 KeyExpansion

Sebelum proses enkripsi AES dilakukan, terlebih dahulu akan dikerjakan proses KeyExpansion untuk mendapatkan kunci AES yang digunakan untuk setiap ronde

enkripsi. Misal terdapat kunci “1122334455667788” , untuk mendapatkan kunci ronde

ke-1 (w[4],w[5],w[6],w[7]) dilakukan proses:

Kunci diorganisir menjadi block dalam heksadesimal

{31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 }

Block kemudian dibagi menjadi empat word, sehingga w[0]= {31 31 32 32}, w[1]= {33 33 34 34}

w[2]= {35 35 36 36}, w[3]= {37 37 38 38}

Dari algoritma KeyExpansion dapat dihitung

w[4] = w[0]XOR SubWord(RotWord(w[3])) XOR RC[1] = 31 31 32 32 XOR C5 30 30 C5 XOR 01 00 00 00 = AA 36 35 A8

w[5] = w[4] XOR w[1]

= AA 36 35 A8 XOR 33 33 34 34 = 99 05 01 9C

w[6] = w[5] XOR w[2]

= 99 05 01 9C XOR 35 35 36 36 = AC 30 37 AA

w[7] = w[6] XOR w[3]

= AC 30 37 AA XOR 37 37 38 38 = 9B 07 0F 92

Diperoleh kunci ronde ke-1, yaitu


(7)

menghasilkan 10 kunci ronde.

3.3.2 Pre-Round

Plainteks akan diorganisir menjadi block heksadesimal sepanjang 16 byte. Apabila

panjang block kurang dari 16, maka akan ditambah karakter notasi heksadesimal “80”

sebagai padding dan notasi “00” pada byte sisa. Sebelum ronde ke-1 dimulai ,

plainteks akan dicampur dengan kunci ronde ke-0 melalui proses AddRoundKey

sehingga menghasilkan plainteks dalam bentuk UTF-8 “70 74 61 14 61 52 56 5D 5B

B5 36 36 37 37 38 38”

3.3.3 SubBytes Transformation

Block plainteks yang didapat dari pre-round selanjutkan diorganisir menjadi state

Dilakukan subtitusi untuk setiap elemen pada state dengan mengacu pada tabel 2.1. Hasil transformasi SubBytes adalah:

3.3.4 ShiftRows Transformation

State keluaran dari proses SubBytes kemudian dikenakan proses ShiftRows seperti ditunjukkan gambar 2.2. Hasil transformasi ShiftRows adalah:


(8)

3.3.5 MixColumn Transformation

State keluaran dari proses ShiftRows kemudian dikenakan proses MixColumns dengan

rumus nomor 1. Misal untuk menghitung nilai elemen keluaran

 ⨁ ⨁

 Representasi dalam biner yaitu 9A= 10011010 sehingga

Dalam heksadesimal adalah 2F

 Representasi dalam biner yaitu EF= 11101111 sehingga

 ( )

Dalam heksadesimal adalah 2A

 ⨁ ⨁

⨁ ⨁

= 70

Selanjutnya proses diatas dilakukan untuk setiap elemen pada state sehingga hasil transformasi MixColumns adalah:


(9)

dengan operasi eksklusif OR.Hasil dari transformasi AddRoundKey adalah:

Selanjutnya proses SubBytes hingga AddRoundKey akan diulang hingga sepuluh ronde yang akhirnya akan menghasilkan ciphertext

3.3.7 Rabin Encryption

Masukan dari proses enkripsi Rabin adalah kunci dari AES 128-bit yaitu

“1122334455667788”. Proses enkripsi akan mengorganisir kunci menjadi array dengan tiap anggota array adalah setiap 2 karakter dari kunci sehingga menjadi {11 22 33 44 55 66 77 88}.

Misal kunci publik Rabin n “77” dilakukan proses pada 2 karakter pertama “11”:

 Ubah “1 1” ke dalam nilai ASCII dalam bentuk bilangan biner 1 = 00110001

1 = 00110001

 Kedua karakter kemudian digabung menjadi “11000100110001”

 Nilai ini kemudian digandakan menjadi “1100010011000111000100110001” lalu dirubah kedalam bentuk bilangan desimal M “206336305”

 Gunakan rumus nomor 3 sehingga didapat cipherteks

C = (206336305)2 mod 77 = 56

Langkah diatas kemudian dilakukan pada setiap 2 karakter lainnya sehingga menghasilkan kunci AES yang telah dienkripsi {56 23 64 25 60 15 44 70}


(10)

3.4 Perancangan Sistem

Pada penelitian ini perancangan sistem terbagi dua yakni menjelaskan tentang kebutuhan perangkat lunak yang digunakan dalam perancangan sistem Secure Message dan perancangan antar muka sistem yang nantinya akan digunakan pada setiap halaman Secure Message.

3.4.1 Kebutuhan Perangkat Lunak

Adapun aplikasi Secure Message ini dibangun dengan menggunakan bahasa pemrograman Java dan XML untuk aplikasi pada sisi pengguna yang berjalan pada sistem operasi Android, serta menggunakan DBMS SQLite untuk pengelolaan database.

3.4.2 Usecase Diagram

Usecase diagram digunakan untuk menggambarkan fungsionalitas dan fitur-fitur yang ada pada sistem berdasarkan perspektif dari user. Usecase menggambarkan cara user berinteraksi dengan sistem dan menjabarkan langkah-langkah yang harus dilakukan user untuk menyelesaikan suatu tugas didalam sistem (Pressman, 2010). Usecase diagram dari sistem dapat dilihat pada Gambar 3.2.


(11)

BUAT SUREL BARU

BACA SUREL

KEYINFO User

TULIS KONTEN RAHASIA

KIRIM SUREL

MASUKKAN KUNCI JIKA DIMINTA LIHAT KONTEN SUREL

Gambar 3.2. Usecase diagram

3.4.3 Usecase Spesifikasi

Usecase spesifikasi mendeskripsikan usecase diagram, menjelaskan bagaimana sebuah usecase itu bekerja (Muchtar, et al. 2011). Usecase spesifikasi yang digunakan dalam sistem akan dijelaskan pada Tabel 3.1 , Tabel 3.2, dan Tabel 3.3.


(12)

Nama usecase Buat surel baru

Aktor Pengguna

Deskripsi Use case ini digunakan oleh user untuk menulis

surel baru.

Pre condition Semua User dapat mengakses halama ini tanpa syarat apapun.

Characteristic of activation Eksekusi dapat dilakukan oleh siapapun

Basic flow - Pengguna akan menekan tombol Mail untuk mulai menulis surel. Selanjutnya,pengguna dapat mengisi konten surel pada textbox yang telah disediakan

- Pengguna lalu menekan tombol add content

untuk menambah konten rahasia lalu menekan tombol add apabila konten telah selesai dibuat.

- Setelah itu pengguna akan menekan tombol

send untuk mengirim surel tersebut. Alternative flow -

Post condition Petugas akan dikembalikan ke halaman utama.

Limitations -

Nama usecase Baca surel

Aktor Pengguna

Deskripsi Usecase ini digunakan oleh user membaca surel


(13)

Tabel 3.2 Usecase spesifikasi baca surel

Tabel 3.3 Use case spesifikasi KeyInf

Nama usecase KeyInfo

Aktor Pengguna

Deskripsi Usecase ini digunakan oleh user untuk melihat

kunci Rabin yang digunakan sistem

3.4.4 Activity diagram

Activity diagram menggambarkan urutan aktivitas dalam sistem yang dirancang. Diagram aktifasi menjelaskan tentang kegiatan apa yang dilakukan pada sistem tetapi Characteristic of activation Eksekusi dapat dilakukan oleh siapapun.

Basic flow - Pengguna dapat melihat surel yang ada pada inbox kemudian memilih salah satu surel untuk dibaca.

- Pengguna akan memasukkan kunci jika terdapat

konten rahasia.

- Konten surel akan ditempilkan.Untuk

membalas surel pengguna dapat menekan tombol reply.

Alternative flow H-1 : Data tidak ditemukan

Apabila tidak ada surel ditemukan di inbox user. Post condition Pengguna dapat membalas surel tersebut.


(14)

tidak menjelaskan apa yang dilakukan oleh aktor (Fowler, 2005). Activity diagram pada sistem dapat dilihat pada Gambar 3.3 dan Gambar 3.4.

USER SISTEM

User menulis konten surel dan menambah konten rahasia

Enkripsi konten rahasia sesuai kunci yang diberikan

User menekan send untuk

mengirim surel Surel terkirim

Menggabungkan konten rahasia kedalam surel

Gambar 3.3 Usecase diagram buat surel

Pada Gambar 3.3, ditampilkan bagaimana pengguna dapat mengirimkan surel kepada pengguna lain. Surel yang dikirim oleh pengguna bisa mengandung konten rahasia ataupun tidak. Pengguna kemudian dapat memasukkan konten dan kunci yang diinginkan, selanjutnya sistem akan melakukan enkripsi pada konten dan memasukkan konten tersebut pada surel. Jika pengguna memilih untuk mengirim surel , maka sistem akan mengirimkan surel tersebut ke penerima yang dituju.


(15)

Pilih surel yang hendak dibaca

Cek ketersediaan konten rahasia

Masukkan kunci untuk deskripsi konten

Menampilkan surel beserta konten yang telah didekripsi Dekripsi konten rahasia sesuai kunci yang diberikan

Gambar 3.4 Usecase diagram baca surel

Pada Gambar 3.4, user memilih satu surel untuk dibaca maka sistem akan mengecek ketersediaan konten rahasia pada surel tersebut. Jika konten rahasia

tersedia, maka sistem akan meminta pengguna untuk memasukkan kunci, selanjutnya sistem akan mendekripsi konten sesuai dengan kunci yang diberikan pengguna. Setelah itu sistem akan mengecek kembali ketersediaan konten rahasia dan meminta kembali kunci kepada pengguna jika ditemukan konten. Jika konten rahasia tidak tersedia, maka sistem akan menampilkan surel tersebut kepada pengguna.

3.4.5 Perancangan Antar Muka Sistem

Perancangan sistem diperlukan agar sistem yang dibangun sesuai dengan yang diharapkan. Dengan adanya rancangan antar muka bertujuan untuk memudahkan pengguna dalam pemakaian sistem. Berikut ini adalah beberapa rancangan low fidelity interface pada Secure Message.:

A. Halaman Login

Halaman login berfungsi sebagai otorisasi hak akses penggunaan dengan memasukkan alamat surel serta password. Berikut ini adalah rancangan dari halaman login :


(16)

Gambar 3.5 Form Login

Pada gambar 3.5 dapat dilihat bahwa terdapat dua input box dan satu command button yaitu: username, password, dan signin.

Keterangan:

1. Picturebox sebagai logo aplikasi. 2. Label sebagai nama pengenal aplikasi.

3. Textbox untuk memasukkan alamat email pengguna. 4. Textbox untuk memasukkan password pengguna.

5. Sign In, tombol untuk mengirim kombinasi email dan password kepada sistem untuk diproses.

B. Halaman Inbox

Halaman Inbox berfungsi untuk melihat surel yang ada di kotak masuk pengguna. Terdapat juga pilihan menu untuk bernavigasi antar interface. . Berikut ini adalah rancangan dari halaman inbox :

Secure Message Email

Password

Sign in

1

2

3

5 4


(17)

Gambar 3.6 Halaman Inbox

Pada gambar 3.6 dapat dilihat bahwa halaman inbox menampilkan daftar dari surel yang ada di kotak masuk si pengguna.

Keterangan:

1. Menu, tombol yang berfungsi untuk navigasi antar interface. 2. Mail, tombol yang berfungsi untuk membuat surel baru. 3. Label sebagai keterangan halaman yang sedang aktif.

4. Kolom yang menampilkan surel yang ada di kotak masuk pengguna.

C. Halaman Sent Item

Halaman Sent Item berfungsi untuk melihat surel yang telah dikirimkan pengguna pengguna. Terdapat juga pilihan menu untuk bernavigasi antar interface. Berikut ini adalah rancangan dari halaman sent item :

Inbox

Menu Mail

Daftar Surel

Daftar Surel

Daftar Surel Daftar Surel Daftar Surel

1 2

3


(18)

Gambar 3.7 Halaman Sent Item

Pada gambar 3.7 dapat dilihat bahwa halaman sent item menampilkan daftar dari surel yang ada di kotak keluar si pengguna.

Keterangan:

1. Menu, tombol yang berfungsi untuk navigasi antar interface. 2. Mail, tombol yang berfungsi untuk membuat surel baru. 3. Label sebagai keterangan halaman yang sedang aktif.

4. Kolom yang menampilkan surel yang ada di kotak keluar pengguna.

D. Halaman Compose Mail

Halaman Compose Mail berfungsi untuk membuat surel baru untuk dikirimkan ke penerima. Berikut ini adalah rancangan dari halaman compose mail:

Sent Item

Menu Mail

Daftar Surel

Daftar Surel

Daftar Surel Daftar Surel Daftar Surel

1 2

3


(19)

Gambar 3.8 Halaman Compose Mail

Pada gambar 3.8 dapat dilihat bahwa halaman compose mail memungkinkan pengguna untuk mengirimkan surel ke alamat yang dikehendaki.

Keterangan:

1. Back, tombol yang berfungsi untuk navigasi antar interface. 2. Label sebagai keterangan halaman yang sedang aktif.

3. Add, tombol yang berfungsi untuk menambah konten rahasia.

4. Send, tombol yang berfungsi untuk mengirim surel yang telah dibuat. 5. Label from sebagai keterangan alamat pengirim

6. Label sebagai alamat surel dari pengirim 7. Label to sebagai keterangan alamat penerima 8. Textbox untuk memasukkan alamat surel penerima 9. Label subject sebagai keterangan judul dari surel 10.Textbox untuk memasukkan judul surel yang ditulis

11.Kolom yang dapat digunakan pengguna untuk menulis surel

E. Form Tambah Konten

Form Tambah Konten berfungsi untuk menambahkan konten rahasia ke dalam surel yang akan dibuat.Berikut ini adalah rancangan dari form tambah konten:

Compose

From mail@mail.com

To Subject

Send

Compose Mail

Add 1

2

3 4

5 6

7 8

9 10


(20)

Gambar 3.9 Form Tambah Konten

Keterangan:

1. Label sebagai keterangan menambah konten.

2. Textbox untuk memasukkan konten yang hendak dienkrispi. 3. Textbox untuk memasukkan kunci untuk proses enkripsi.

4. Cancel, tombol untuk membatalkan penambahan konten ke dalam surel. 5. Add, tombol untuk menambahkan konten ke dalam surel

Dari gambar 3.9 dapat dilihat program menampilkan kotak kecil untuk menambahkan konten. Untuk menambahkan konten, pengguna memasukkan konten pada kotak yang tersedia, kemudian memasukkan kunci yang diinginkan. Jika pengguna memilih Add maka secara otomatis sistem akan mengambil konten dan memasukkan kedalam surel dalam keadaan telah terenkripsi.

Send

Compose Mail

Add

1

Compose

From mail@mail.com

To

Subject Add Encrypt Text PlainText SecretKey

Cancel Add

1

2 3


(21)

3.5 Perancangan Database

Berikut ini adalah rancangan database Secure Message:

A. Tabel User

Tabel ini berfungsi untuk menyimpan alamat surel dan password dari pengguna. Berikut ini adalah rancangan tabel User :

Tabel 3.4 Table User

B. Tabel Inbox

Tabel ini berfungsi untuk meyimpan surel yang ada di kotak masuk pengguna. Berikut ini adalah rancangan dari table inbox:

Tabel 3.5 Table Inbox

Nama Field Jenis Field Ukuran Keterangan

ID Integer Not Null

Subject Text Allow Null

From Text Not Null

To Text Not Null

Date Text Not Null

Content Text Not Null

Nama Field Jenis Field Ukuran Keterangan

Email Text Not Null

Password Text Not Null


(22)

IsDownload Integer Not Null

UUID Integer Not Null

C. Tabel Sent

Tabel ini berfungsi untuk menyimpan surel yang ada di kotak keluar pengguna. Berikut ini adalah rancangan dari table sent :

Tabel 3.6 Table Sent

Nama Field Jenis Field Ukuran Keterangan

ID Integer Not Null

Subject Text Allow Null

From Text Not Null

To Text Not Null

Date Text Not Null


(23)

(24)

IMPLEMENTASI DAN PENGUJIAN

Pada bab ini, akan dibahas pengimplementasian dan pengujian sistem sesuai dengan analisis dan perancangan yang telah dibahas pada bab sebelumnya. Tahapan ini bertujuan untuk menampilkan hasil tampilan akhir sistem yang dibangun dan proses pengujian sistem yang nantinya dapat mengenali angka indeks meter hasil pemindaian meteran air. Aplikasi yang dihasilkan diimplementasikan dan diuji pada Samsung Galaxy S4 GT-I9500 yang menggunakan sistem operasi Android versi 4.4.2.

4.1. Implementasi Sistem

Berdasarkan hasil analisis dan perancangan sistem pada Bab 3, kebutuhan dalam pengimplementasian dijelaskan pada subbab 4.1.1.

4.1.1 Spesifikasi Sistem

Untuk dapat menjalankan aplikasi, versi minimal dari sistem operasi Android adalah Android 4.0, versi dibawah 4.0 tidak dapat menjalankan perangkat lunak. Ponsel yang dipakai juga harus memiliki media penyimpanan (storage) sebagai tempat penyimpanan surel yang akan diunduh.

4.1.2 Instalasi Aplikasi

Sebelum melakukan penginstalan aplikasi, terlebih dahulu user harus mempunyai akun surel terlebih dahulu, dimana akun surel yang telah didukung adalah akun Gmail. Selanjutnya user dapat langsung menginstal dengan cara memindahkan file apk yang telah dibuild dengan nama SecureMessage.apk ke dalam storage device. Pastikan pengaturan untuk unknown sources telah dicentang pada menu setting device. Lalu ikuti tata cara penginstalan aplikasi seperti biasa pada masing-masing installer. Setelah aplikasi terpasang pada device kita dapat menjalankan aplikasi dengan cara


(25)

Gambar 4.1. Icon aplikasi pada device

4.1.3 Mekanisme Penggunaan Aplikasi

Pada saat aplikasi dibuka, aplikasi akan menampilkan halaman login. Pengguna dapat memasukkan alamat surel yang dimiliki beserta password yang sesuai. Halaman login ini dapat dilihat pada gambar 4.2


(26)

Setelah melakukan proses login, maka pengguna akan ditujukan pada halaman inbox. Halaman Inbox berisikan daftar surel yang berada pada kotak masuk pengguna. Pada setiap halaman akan terdapat menu untuk bernavigasi antar halaman. Halaman Inbox dapat dilihat pada Gambar 4.3.

Gambar 4.3 Halaman Inbox

Pengguna dapat memilih salah satu surel untuk dibaca. Apabila surel mempunyai konten rahasia maka sistem akan meminta kunci privat pengguna. Apabila pengguna memasukkan kunci yang tepat maka sistem akan mendekripsi surel untuk kemudian ditampilkan ke pengguna pada halaman Read Mail. Halaman Read Mail dapat dilihat pada gambar 4.4.


(27)

Compose Mail. Pada halaman compose mail terdapat beberapa textbox yang bisa diisi. Textboxt from otomatis diisi oleh sistem sesuai alamat surel pengguna. Textbox to bisa diisi pengguna untuk memasukkan alamat surel yang dituju. Untuk memasukkan pesan pada surel pengguna bisa menuliskan pada form yang telah tersedia, selanjutnya jika pengguna memilih untuk memasukkan konten rahasia, pengguna bisa menekan button Add . Setelah menekan tombo Add pengguna akan diminta memasukkan kunci publik penerima, kunci pesan yang diinginkan serta konten rahasia yang dimaksudkan. Setelah keseluruhan proses selesai dilakukan, pengguna dapat menekan button Send untuk mengirim surel tersebut. Adapun tampilan halaman Compose Mail dapat kita lihat pada Gambar 4.5.

Gambar 4.5 Halaman Compose Mail

Setelah mengirim surel, pengguna dapat melihat surel yang telah dikirimkan melalui menu Sent Item. Menu ini akan mengarahkan pengguna ke halaman Sent Item yang akan memuat daftar surel terkirim. Pengguna kemudian dapat memilih salah satu surel untuk melihat isi surel tersebut.. Halaman Sent Item dapat kita lihat pada gambar 4.6.


(28)

Gambar 4.6 Halaman Sent Item

Dan menu terakhir yaitu KeyInfo yang akan menampilkan halaman berisikan kunci privat dan kunci publik dari pengguna. Tersedia juga button copy untuk kemudahan pengguna menyalin kunci publik untuk didistribusikan ke pengguna lain Halaman KeyInfo dapat kita lihat pada Gambar 4.7.

Gambar 4.7 Halaman KeyInfo

4.2 Pengujian Sistem

Pengujian sistem dilakukan pada Smartphone dengan spesifikasi :

- Model : GT-I9500

- Manufacturer : Samsung

- Processor : Exynos 5 Octa 1.60 GHz

- GPU : PowerVR SGX 544

- RAM : 2 GB

- Screen Resolution (pixels) : 1080 x 1920 - Android Version : 4.4.2

- API Level : 17

Pengujian sistem dilakukan dengan cara melakukan pembuatan beberapa surel dengan jumlah konten rahasia yang berbeda jumlahnya kemudian dilakukan enkripsi pada konten serta dekripsi kembali pada konten. Adapun hasil pengujian dapat dilihat pada Tabel 4.1 dan Tabel 4.2.


(29)

Tabel 4.1Hasil Pengujian Enkripsi

Proses Enkripsi Setelah Enkripi

Uji 1 Hasil Pengujian: Berhasil


(30)

Tabel 4.1Hasil Pengujian Enkripsi(Lanjutan)

Proses Enkripsi Setelah Enkripsi

Uji 3 Hasil Pengujian : Berhasil

Dari tabel 4.1 dapat dilihat sistem mampu melakukan enkripsi pada konten yang dimasukkan. Pada uji 1 dilakukan proses enkripsi pada satu konten surel dengan satu kunci AES. Pada uji 2 dilakukan proses enkripsi dengan dua konten surel dengan dua kunci AES yang berbeda dan diselingi dengan konten biasa yang tidak terenkripsi. Pada uji 3 konten rahasia ditambah jumlahnya, kali ini tiga konten surel berbeda dikenakan proses enkripsi dengan tiga kunci AES yang berbeda pula. Sistem dapat melakukan proses enkripsi masing-masing konten dengan kunci yang berbeda tanpa tertukar. Dapat dilihat surel yang telah terenkripsi tidak dapat lagi dikenali isi konten yang dikandung karena telah jauh berbeda dengan konten asli.


(31)

Tabel 4.2Hasil Pengujian Dekripsi

Proses Dekripsi Setelah Dekripsi

Uji 1 Hasil Pengujian : Berhasil


(32)

Tabel 4.2Hasil Pengujian Dekripsi(Lanjutan)

Proses Dekripsi Setelah Dekripsi

Uji 3 Hasil Pengujian : Berhasil

Pada uji 1 dilakukan proses dekripsi pada surel hasil uji 1 tabel 4.1 Pada uji 2 dilakukan proses dekripsi pada surel hasil uji 2 tabel 4.1. Pada uji 3 dilakukan proses dekripsi pada surel hasil uji 23 tabel 4.1. Dapat dilihat pengguna hanya perlu memasukkan kunci privat yang dimilikinya dan secara otomatis akan mencari kunci AES dan konten rahasia yang terdapat pada surel, kemudian melakukan proses dekripsi sesuai pasangan konten dan kunci tanpa tertukar.

4.2.1 Analisis Pengujian Sistem

Dari hasil pengujian yang ditampilkan pada Tabel 4.1 didapat beberapa kesimpulan yaitu :

- Object Uji 1

Uji 1 berhasil menerapkan enkripsi dan dekripsi dengan satu konten rahasia. - Object Uji 2


(33)

Konten surel yang tidak dienkripsi juga dapat ditampilkan dengan benar. - Object Uji 3

Uji 3 berhasil menerapkan enkripsi dan dekripsi dengan tiga konten rahasia. Sistem berhasil mengenali urutan konten rahasia sehingga tidak terjadi kesalahan pada proses dekripsi.

4.2.2 Analisis Algoritma AES dan Rabin

Berdasarkan hasil pengujian pada sub bab pengujian sistem, surel yang dikirim dan diterima melewati proses enkripsi dan dekripsi yang terjadi dalam satu waktu dan akan membutuhkan waktu, waktu tersebut yang akan dianalisa pada sub-bab ini.

Berikut ini adalah tabel hasil pengujian proses enkripsi menggunakan algoritma AES 128-bit dan Rabin, untuk teks sepanjang 10 karakter hingga 4000 karakter .

Tabel 4.3 Table hasil pengujian lama proses enkripsi Karakter

pesan

Lama proses AES (Mikrodetik)

Lama proses Rabin (Mikrodetik)

10 2805 3285

20 3224 4278

30 2908 5105

40 3170 6373

50 3474 8285

100 4767 15296

200 7012 22434

300 6635 24442

400 6741 35644

500 7488 38763


(34)

700 8186 49236

800 8485 45132

900 8421 53040

1000 8607 66084

2000 10377 78317

Tabel 4.3 Table hasil pengujian lama proses enkripsi(Lanjutan) Karakter

pesan

Lama proses AES (Mikrodetik)

Lama proses Rabin (Mikrodetik)

3000 12262 128174

4000 13764 125738

Berikut ini adalah tabel hasil pengujian proses dekripsi menggunakan algoritma AES 128-bit dan Rabin, untuk teks sepanjang 10 karakter hingga 4000 karakter .

Tabel 4.4 Table hasil pengujian lama proses dekripsi Karakter

pesan

Lama proses AES (Mikrodetik)

Lama proses Rabin (Mikrodetik)

10 704 3722

20 482 6030

30 487 5325

40 661 5233

50 1273 9257

100 1623 9188

200 3492 12273

300 3792 24342


(35)

600 4308 35512

700 5542 43567

800 5892 40850

900 6251 42057

1000 6311 54353

2000 8251 86785

3000 10364 142610

4000 12435 206318

Berdasarkan tabel 4.3 dan tabel 4.4 dapat dijelaskan, bahwa proses enkripsi dan dekripsi pesan dalam satu kali proses dapat menghasilkan kunci enkripsi dengan lama waktu yang berbeda-beda. Algoritma AES cenderung lebih cepat dibanding algoritma Rabin baik dalam proses enkripsi maupun dekripsi.

Untuk memperkirakan berapa lama proses enkripsi dan dekripsi pesan yang dikirim oleh user untuk sebuah pesan dengan panjang karakter tertentu, umumnya menggunakan teknik analisis regresi. Analisis regresi adalah salah satu metode yang digunakan untuk mencari hubungan antara variabel bebas yang biasa disimbolkan dengan Y, dengan variabel tidak bebas yang biasa disimbolkan dengan X (Supranto, 2009), untuk memperkirakan lama proses enkripsi dan dekripsi pada sebuah pesan dengan panjang pesan tertentu.


(36)

Gambar 4.8 Hasil analisis regresi lama proses enkripsi AES

Dari gambar 4.8 dapat dilihat, persamaan liniernya adalah y = 2.6x + 4910 Misalnya ingin memperkirakan lama proses untuk pesan sepanjang 2500 karakter, maka cara mengetahuinya adalah menghitung koefisien dengan besar kunci,jadi cara mengetahuinya adalah dengan mengalikan nilai koefisien dengan variabel x yaitu 2.6 * 2500 + 4910= 11410, jadi dapat diperkirakan lama proses enkripsi AES untuk pesan sepanjang 2500 karakter adalah 26580 mikrodetik.

Gambar 4.9 Hasil analisis regresi lama proses enkripsi Rabin

0 2000 4000 6000 8000 10000 12000 14000 16000

0 500 1000 1500 2000 2500 3000 3500 4000 4500

La m a p ro se s( Mi k ro d e ti k ) Panjang Karakter

AES 128-bit

y=2,6x + 4910,1

0 20000 40000 60000 80000 100000 120000 140000

0 500 1000 1500 2000 2500 3000 3500 4000 4500

La m a p ro se s( m ik ro d e ti k ) Panjang karakter

Rabin


(37)

Misalnya ingin memperkirakan lama proses untuk pesan sepanjang 2500 karakter, maka cara mengetahuinya adalah menghitung koefisien dengan besar kunci,jadi cara mengetahuinya adalah dengan mengalikan nilai koefisien dengan variabel x yaitu 32.9 * 2500 + 15460= 97710, jadi dapat diperkirakan lama proses enkripsi Rabin untuk pesan sepanjang 2500 karakter adalah 97110 mikrodetik.

Berikut ini adalah gambar dari analisis regresi terhadap table 4.4.

Gambar 4.10 Hasil analisis regresi lama proses dekripsi AES

Dari gambar 4.10 dapat dilihat, persamaan liniernya adalah y = 2.9x + 2114 Misalnya ingin memperkirakan lama proses untuk pesan sepanjang 2500 karakter, maka cara mengetahuinya adalah menghitung koefisien dengan besar kunci,jadi cara mengetahuinya adalah dengan mengalikan nilai koefisien dengan variabel x yaitu 2.9 * 2500 + 4910= 9364, jadi dapat diperkirakan lama proses dekripsi AES untuk pesan sepanjang 2500 karakter adalah 9364 mikrodetik.

0 2000 4000 6000 8000 10000 12000 14000

0 500 1000 1500 2000 2500 3000 3500 4000 4500

La m a p ro se s( Mi k ro d e ti k ) Panjang Karakter

AES 128-bit


(38)

Gambar 4.11 Hasil analisis regresi lama proses dekripsi Rabin

Dari gambar 4.11 dapat dilihat, persamaan liniernya adalah y = 47.8x + 5002 Misalnya ingin memperkirakan lama proses untuk pesan sepanjang 2500 karakter, maka cara mengetahuinya adalah menghitung koefisien dengan besar kunci,jadi cara mengetahuinya adalah dengan mengalikan nilai koefisien dengan variabel x yaitu 47.8 * 2500 + 5002= 124502, jadi dapat diperkirakan lama proses dekripsi AES untuk pesan sepanjang 2500 karakter adalah 124502 mikrodetik.

0 50000 100000 150000 200000 250000

0 500 1000 1500 2000 2500 3000 3500 4000 4500

La

m

a

p

ro

se

s(

Mi

k

ro

d

e

ti

k

)

Panjang Karakter

Rabin


(39)

5.1. Kesimpulan

Berdasarkan analisis dari sistem dan pengujian sistem secara menyeluruh yang dilakukan pada bab sebelumnya, maka ada beberapa hal yang dapat dijadikan kesimpulan pada penelitian ini antara lain:

1. Penerapan kombinasi sistem kriptografi kunci publik yaitu AES dan

kriptografi simetris yaitu Rabin dapat mengamankan surel pengguna pada saat surel sebelum dikirim ke server surel untuk mengamankan surel dari proses penyadapan.

2. Lamanya proses enkripsi dan dekripsi berpengaruh positif atau berbanding

lurus dengan banyaknya karakter pesan.

3. Performa algoritma Rabin sebagai algoritma asimetris lebih lambat dibanding

algoritma AES yang merupakan algoritma simetris

5.2. Saran

Penulis menyarankan dalam pengembangan penelitian lebih lanjut untuk aplikasi klien surel sebagai berikut:

1. Sistem enkripsi AES menggunakan kunci yang lebih besar dari 128-bit.

2. Dapat mendukung attachment file.

3. Dapat mendukung pengiriman surel ke lebih dari satu orang.

4. Dapat mendukung server surel selain Google Mail


(40)

LANDASAN TEORI

Pada bab ini, akan dibahas landasan teori, penelitian terdahulu, konsep dasar dan hipotesis yang mendasari penyelesaian permasalahan pengamanan surel pada aplikasi Secure Message yang akan dibuat.

2.1. Pertukaran Data

Pada aplikasi klien surel umumnya terjadi pertukaran data, dapat berupa pesan teks, suara dan dapat pula berupa gambar. Maksud dari pertukaran data disini adalah proses pengiriman data yang berupa teks, suara atau gambar dari pengguna messenger satu ke pengguna messenger lainnya, dimana data yang dikirimkan akan disimpan terlebih dahulu ke server dan dari server akan dikirim ke penerima data tersebut. Karena proses ini penulis dapat mengambil kesimpulan bahwasanya pertukaran data pada aplikasi klien surel sangat rentan terhadap kejahatan maya seperti data dicuri dan atau data dibajak oleh pihak yang tidak berkepentingan.

2.2. Keamanan Informasi

Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting bagi sebuah organisasi, perguruan tinggi, lembaga pemerintahan maupun individual, kemampuan dalam mengakses dan menyediakan informasi secara cepat serta akurat (Rahardjo, 2005). Karena pentingnya sebuah informasi, seringkali informasi yang diinginkan hanya dapat diakses oleh orang tertentu misalnya pihak penerima yang diinginkan, dan jika informasi ini sampai diterima oleh pihak yang tidak diinginkan akan berdampak kerugian pada pihak pengirim.

Keamanan informasi adalah bagaimana kita dapat mencegah penipuan, atau paling tidak mendeteksi adanya penipuan di sebuah sistem yang berbasis informasi, dimana informasinya sendiri tidak memiliki arti fisik (Rahardjo, 2012).


(41)

pada informasi, seperti melakukan enkripsi, steganografi, cipher dan hashing terhadap informasi tersebut.

2.3. Android

Menurut (Safaat, 2012), Android adalah sebuah sistem operasi untuk perangkat lunak mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka.

2.5.1 Arsitektur android

Secara garis besar arsitektur Android dapat dilihat pada Gambar 2.1 :

Gambar 2.1. Arsitektur android (Safaat 2012)

a. Application dan Widgets

Application dan Widgets adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita dapat mendownload aplikasi dan melakukan intstalasi pada aplikasi tersebut kemudian dijalankan. Di layer terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi ini dibentuk menggunakan bahasa pemrograman Java (Safaat, 2012).


(42)

b. Application Frameworks

Android adalah “Open Development Platform” yaitu Android menawarkan kepada pengembang atau memberi kemampuan kepada pengembang untuk membangun aplikasi yang baik dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm, dan menambahkan status notification, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dialakukan oleh aplikasi inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan (reuse) (Safaat, 2012).

Adapun komponen-komponen yang termasuk didalam Applications

Frameworks adalah sebagai berikut : - Views

- Content Provider - Resources Manager - Notification Manager - Activity Manager c. Libraries

Libraries ini adalah layer dimana fitur-fitur android berada, biasanya para pembuat aplikasi mengakses library untuk menjalankan aplikasinya (Safaat, 2012). Berjalan diatas kernel, layer ini meliputi berbagai library C/C++ inti seperti Libe dan SSL, serta :

- Libraries media untuk pemutaran media audio dan video - Libraries untuk manajemen tampilan

- Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D - Libraries SQLite untuk dukungan database

- Libraries SSL dan Webkit terintegrasi dengan web browser dan security

- Libraries Live Webcore mencakup modern web browser dengan engine embeeded web view


(43)

d. Android Run Time

Layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk kerangka dasar aplikasi android (Safaat, 2012). Didalam android run time dibagi menjadi dua bagian yaitu :

- Core Libraries : Aplikasi android dibangun dalam bahasa java, sementara dalvik sebagai virtual mesinnya bukan virtual machine java, sehingga diperlukan sebuah libraries yang berfungsi menerjemahkan bahasa java/c yang ditangani oleh core libraries.

- Dalvik Virtual Machine : Virtual mesin berbasis register yang dioptamilkan untuk menjalankan fungsi-fungsi secara effisien, dimana merupakan pengembangan yang mampu membuat linux kernel untuk melakukan threading dan manajemen tingkat rendah.

e. Linux Kernel

Linux kernel adalah layer dimana inti dari operating sistem dari Android itu berada. Berisi file-file system yang mengatur sistem processing, memory, resource, drivers, dan sistem-sistem operasi android lainnya. Linux kernel yang digunakan android adalah linux kernel realese 2.6 (Safaat, 2012).

2.4. Kriptografi

Menurut Sadikin (2012), kriptografi adalah ilmu yang bersandarkan pada teknik matematika yang berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas.

Kriptografi terbagi atas dua kategori yaitu kriptografi klasik dan kriptografi modern. Kriptografi klasik adalah sistem kriptografi yang menggunakan penyandian kunci simetris dan menggunakan metode subtitusi (pergantian huruf) atau transposisi (pertukaran tempat). Dan kriptografi modern adalah sistem kriptografi yang menggunakan penyandian kunci asimetris (Sadikin, 2012). Berikut ini adalah


(44)

1. Fungsi Hash

Fungsi hash adalah fungsi yang melakukan pemetaan pesan dengan panjang sembarang ke sebuah teks khusus yang disebut message digest dengan panjang yang tetap. Fungsi hash pada umumnya digunakan untuk menguji keutuhan pada sebuah data serta sebagai tanda tangan digital untuk menjamin keaslian dokumen (Sadikin, 2012).

2. Penyandian dengan kunci simetris

Penyandian dengan kunci simetris adalah penyandian yang menggunakan sebuah kunci yang sama pada proses enkripsi dan dekripsinya. Kunci yang digunakan pada proses enkripsi dan dekripsi bersifat rahasia. Beberapa jenis kriptografi dengan penyandian kunci simetris antara lain Data Encryption Standard (DES), 3DES, Advance Encryption Standard (AES), Blowfish dan International Data Encryption Algorithm (IDEA) (Sadikin, 2012).

3. Penyandian dengan kunci asimetris

Penyandian dengan kunci asimetris adalah penyandian yang memiliki kunci yang berbeda pada proses enkripsi dan dekripsinya. Pada kunci yang digunakan untuk enkripsi bersifat publik (public key). Kunci publik bebas disebarluaskan ke public. Sedangkan kunci yang digunakan untuk dekripsi bersifat rahasia (private key). Beberapa jenis kriptografi dengan penyandian kunci asimetris antara lain RSA, Diffie-Helman, ELGamal, Rabin, dan beberapa penerapan teknik Elliptic Curve (Sadikin, 2012).


(45)

area network (LAN), hal ini memberi kesempatan yang besar untuk mencegat data dan memalsukan pesan. Salah satu yang mudah untuk menjaga keamanan dan keintegritasan informasi antara pengirim dan penerima adalah dengan menggunakan kriptografi kunci privat.

Algoritma AES merupakan algoritma blok cipher yang didesain oleh Joan Daemen dan Vincent Rijment (Daemen,1999). Kunci AES dapat memiliki panjang kunci 128,192, dan 256 bit. Penyandian AES menggunakan proses yang berulang yang disebut dengan ronde. Jumlah ronde yang digunakan tergantung dengan panjang kunci yang digunakan. Kunci ronde dibangkitkan berdasarkan kunci yang diberikan. Proses didalam AES adalah transformasi terhadap state yang merupakan blok(128 bit) yang ditata menjadi matriks byte berukuran 4x4. State yang menjadi keluaran ronde k menjadi masukan untuk ronde k+1.

Tahapan Algoritma AES (Sadikin, 2012):

1. Pra-ronde,blok teks asli dicampur dengan kunci ronde ke-0(transformasi ini

disebut AddRoundKey).

2. Proses ronde 1 hingga ke ronde (n-1), yang masing-masing terdiri atas 4 jenis

transformasi, yaitu SubBytes, ShiftRows, MixColumns, dan AddRoundKey.

3. Ronde n, dilakukan transformasi seperti ronde sebelumnya namun tanpa

transformasi MixColumns.

Detail transformasi yang digunakan pada proses enkripsi akan dijelaskan pada bahasan selanjutnya.

A. SubBytes Transformation

Transformasi SubBytes menggunakan tabel substitusi, yaitu dengan cara menginterpretasikan byte masukan sebagai 2 bilangan heksadesimal, kemudian digit kiri menunjukkan indeks baris dan digit kanan menunjukkan indeks kolom di tabel substitusi. Nilai byte pada tabel substitusi yang dirujuk oleh baris dan kolom menjadi nilai yang mensubstitusi byte masukan awal. Tabel substitusi diberikan oleh tabel 2.1


(46)

Tabel 2.1 Tabel substitusi untuk transformasi SubBytes(Sadikin,2012)

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76

1 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 C0

2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15

3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75

4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84

5 53 D1 00 ED 20 FC B1 5B 6A CB BE 39 4A 4C 58 CF

6 D0 EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8

7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2

8 CD 0C 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73

9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DB

A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79

B E7 C8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08

C BA 78 25 2E 1C A6 B4 C6 E8 DD 74 1F 4B BD 8B 8A


(47)

E E1 F8 98 11 69 D9 83 94 9B 1E 87 E9 CE 55 28 DF

F 8C A1 89 0D BF E6 42 68 41 99 2D 0F B0 54 BB 16

B. ShiftRows Transformation

Transformasi ShiftRows dilakukan dengan menjalankan operasi circular shift left sebanyak i pada baris ke-i pada state. Ilustrasi transformasi ShiftRows dapat dilihat pada Gambar 2.2

ShiftRows

S00 S01 S02 S03

S13 S12 S11 S10

S20 S21 S22 S23

S33 S32 S31 S30

S00 S01 S02 S03

S10 S22 S23 S33 S13 S12 S11 S20 S21 S32 S31 S30

Gambar 2.2 Transformasi ShiftRows(Sadikin,2012)

C. MixColumn Transformation

Transformasi MixColumns akan mencampurkan nilai kolom kolom pada state awal dengan suatu perkalian matriks dengan sebuah matriks konstan yang ditunjukkan pada Gambar 2.3

S00 S01 S02 S03

S13 S12 S11 S10

S20 S21 S22 S23

S33 S32 S31 S30

S’00 S’01 S’02 S’03

S’13 S’12 S’11 S’10

S’20 S’21 S’22 S’23

S’33 S’32 S31 S’30 02 03 1 1

1 03 02 1

1 1 02 03

02 1 1 03

Gambar 2.3 Transformasi MixColumns(Sadikin,2012)

Untuk kolom ke-j, dengan j={0,1,2,3} pada keluaran transformasi MixColumns lakukan:


(48)

⨁ ⨁ (2.1)

⨁ ⨁

⨁ ⨁

⨁ ⨁

D. AddRoundKey Transformation

Transformasi AddRoundKey mencampur sebuah state masukan dengan kunci ronde dengan operasi eksklusif OR. Setiap elemen pada state masukan yang merupakan sebuah byte dikenakan operasi eksklusif OR dengan byte pada posisi yang sama di kunci ronde(kunci ronde direpresentasikan sebagai sebuah state).

E. KeyExpansion

Langkah-langkah ekspansi kunci AES 128-bit dijelaskan pada algoritma dibawah ini Input: byte kunci[16]

Output:word w[44] word temp For i=0 to 3 do

w[i]= (kunci[4*i], kunci[4*i+1] , kunci[4*i+2] , kunci[4*i+3]) End For

For i=4 to 43 do temp = w[i-1] If i%4 = 0 then

temp= SubWord(RotWord(temp)) + RC[i/4] End If

w[i] = temp + w[i-4] End For


(49)

yang akan menghasilkan 44 word kunci dengan 4 word kunci untuk setiap ronde. Pertama sekali kunci AES 128-bit akan diorganisir menjadi 4 word dan disalin ke word keluaran pada 4 elemen pertama(w[0],w[1],w[2],w[3]). Untuk elemen keluaran selanjutnya w[i] dengan i = {4,…,43} dihitung sebagai berikut

1. Salin w[i-1] pada word t (2.2)

2. Jika i mod 4=0 lakukan

w[i]=f(t,i) XOR w[i-4] dengan fungsi f(t,i) adalah sebagai berikut

f(t,i) = SubWord(RotWord(t)) XOR RC[i/4]

Konstan RC[i] ditunjukkan pada tabel 2.2

Tabel 2.2 Konstan RC dalam heksadesimal(Sadikin,2012)

i 1 2 3 4 5 6 7 8 9 10

RC[i] 01 02 04 05 10 20 40 80 1B 3C

3. Jika i mod 4 !=0, lakukan

w[i] = t XOR w[i-4]


(50)

Algoritma Rabin dipublikasikan oleh Michael O.Rabin pada Januari 1979 di Institut Teknologi Massachusetts. Algoritma ini merupakan algoritma asimetris pertama yang menerapkan konsep dimana mendapatkan keseluruhan plaintext dari cyphertext memiliki kesulitan yang sama dalam faktorisasi.

Rumus dasar dari metode enkripsi dan dekripsi Rabin adalah

(2.3)

Dan

Penjelasan:

N = p * q*(kunci publik)

p dan q = Bilangan prima(kunci privat)

M = Plaintext

C = Ciphertext

Tahapan Algoritma Rabin

1. Pilih dua bilangan prima secara acak dan tidak sama.

2. Hitung perkalian p dan q, simpan dalam variabel n.

3. Rahasiakan p, q.

4. Kirimkan n dan C .

2.5. Sistem Surat Elektronik (Surel)

Surel, yang telah dikenal sejak 1993, adalah metode bertukar pesan digital dari satu orang ke orang lain. Pada saat ini, surel beroperasi menggunakan jaringan internet


(51)

pengirim harus online secara bersamaan, yang sekarang mirip dengan instant messaging.

Sistem surel modern didasari pada model store dan forward, dimana server akan menyimpan setiap surel yang dikirim sebelum meneruskan pada penerima. Hal ini membuat setiap pengguna tidak diharuskan terus online , mereka cukup terhubung dengan server surel selama yang dibutuhkan untuk mengirim atau menerima surel.

Sistem surel modern terbagi menjadi dua bagian (Partige, 2008). Bagian pertama adalah MHS (message handling system). MHS adalah bagian yang bertanggung jawab menangani masalah pengiriman surel dari pengirim kepada penerima, dan terbentuk dari suatu set server yaitu MTA(message tranfer agent) Bagian lainnya yaitu UA, berfungsi sebagai media interaksi pengguna surel dengan sistem surel. Melalui UA pengguna dapat membuat , menyimpan dan membaca surel. UA juga yang berinteraksi dengan MHS agar surel dapat dikirimkan.Salah satu contoh UA adalah aplikasi klien surel.

Surel dikirim dengan menggunakan protokol SMTP. Protokol inididesain dengan model sebagai berikut (Postel, 1982): pihakpengirim membuat jalur komunikasi dengan penerima; pihak pengirim mengirimkan perintah MAIL sebagai tanda bahwa ia adalah pengirim; penerima membalas dengan perintah OK jika layanan bisa dijalankan; pengirim mengirimkan perintah RCPT yang menjelaskan penerima surel; jika penerima dapat mengenal penerima surel maka balasan yang diberikan adalah OK; jika tidak maka penerima membalas ia tidak mengenal penerima surel. Kemudian pengirim mengirim perintah DATA diikuti dengan isi surel dan diakhiri tanda titik. Keseluruhan proses diatas dilakukan satu persatu.

Surel dapat diterima dengan menggunakan protokol POP3 (post office protocol) atau IMAP (internet message access protocol). Protokol IMAP memungkinkan pengguna surel dapat menyuting dan memodifikasi surel secara langsung di server. Berbeda dengan POP3 yang mengharuskan pengguna untuk mengunduh seluruh surel di kotak masuk sebelum dibaca. Karenanya protokol IMAP membutuhkan koneksi yang lebih stabil dibandingkan POP3.


(52)

1. badan pesan tekstual dalam rangkaian karakter selain US-ASCII

2. set extensible format yang berbeda untuk badan pesan non-tekstual

3. badan pesan dalam banyak bagian

4. informasi header tekstual dalam rangkaian karakter selain US-ASCII.

2.6. Penelitian Terdahulu

Beberapa penelitian yang menjadi bahan pembelajaran penulis tentang penyelesaian masalah keamanan dalam pertukaran pesan.

Taufan (2011) telah mencoba mengamankan email dengan menggunakan algoritma ElGamal. Ia merancang aplikasi pada perangkat mobile yang dapat menggunakan algoritma ElGamal pada proses enkripsi dan dekripsi surel. Hasilnya email yang dikirimkan dapat terlindungi hingga sampai ke penerima.

Connely (2008) telah menerapkan algoritma One Time Pad untuk mengamankan email. Connely menerapkan sandi One Time Pad dan teknik TRNG (True Random Number Generator) untuk menghasilkan nilai yang benar-benar random sebagai kunci One Time Pad. Hasilnya email yang dienkripsi benar-benar rahasia, atau perfect secrecy.

Rasool et al (2011) telah mencoba meningkatkan algoritma keamanan dalam komunikasi pesan. Rasool et al, menerapkan kombinasi dari algoritma kunci simetris FSET (algoritma yang dibuat oleh Varghese Paul), algoritma kunci publik RSA dan teknik hashing menggunakan SHA-2. Hasilnya komunikasi pesan menjadi rahasia karena telah dienkripsi menggunakan FSET, kemudian kunci yang digunakan telah dienkripsi oleh RSA, untuk mengetahui apakah pesan asli masih terbukti valid, mereka melakukan pengujian menggunakan SHA-2.

Leksono (2012) telah mencoba menerapkan Rabbit sebagai pengamanan sistem klien email. Hasilnya email yang dikirimkan dapat terlindungi hingga sampai ke penerima.

Supriyanto (2009) juga menerapkan RSA dalam pengamanan email dikombinasikan dengan teknik hashing menggunakan SHA-1. Hasilnya email terlindungi walaupun belum dilakukan pengujian dalam pengiriman email tersebut.


(53)

1 Taufan (2011) Mengamankan

email ElGamal Aman

2 Connely

(2008)

Mengamankan

email One Time Pad Aman

3 Rasool et al

(2011)

Mengamankan pesan

FSET, RSA, dan

SHA-2 Sangat aman

4

Leksono (2012)

Mengamankan email

Rabbit Aman

5 Supriyanto

(2009)

Mengamankan


(54)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Kemajuan teknologi secara signifikan turut mengubah cara manusia dalam bertukar informasi. Setelah munculnya Short Message Service (SMS) sebagai alternatif surat konvensional, hal itu pun dirasa kurang cukup karena keterbatasan karakter dan ketidakmampuan SMS dalam melampirkan file multimedia maupun audio visual.

Berkembangnya jaringan internet ikut memberikan pilihan bagi manusia dalam beberapa hal termasuk di bidang pertukaran informasi diantaranya dengan terciptanya surat elektronik (surel). Dengan kemunculan surel, manusia semakin dimudahkan dalam berbagi informasi secara lebih baik karena tidak memiliki keterbatasan dari

SMS. Setiap hari semakin banyak orang yang mengunakan surel sebagai media

berkirim surat secara cepat karena didukung pula dengan teknologi perangkat bergerak yang mayoritas sudah dioptimalkan untuk mengirim dan menerima surel.

Sebuah surel terkadang berisi konten yang bersifat rahasia. Ancaman utama yang dihadapi adalah penyadapan. Selain itu, sebuah surel dapat diambil salinannya dari server yang dilewati surel ketika menuju penerima.

Pengamanan sebuah surel dapat dilakukan dengan mengenkripsi kontennya.

Algoritma enkripsi yang dipilih adalah algoritma AES dan Rabin. Algoritma AES

merupakan salah satu algoritma enkripsi cipherblock. Algoritma ini ditetapkan dalam kompetisi Advanced Encryption Standard yang diselenggarakan oleh U.S. National Institute of Standards and Technology (NIST), didasari oleh algoritma Rijndael (Daemen,1999). Algoritma ini dipilih karena lebih unggul dari DES yang banyak digunakan, terutama dari segi keamanan. Kelemahan algoritma AES sebagai symmetric-key terletak pada proses pertukaran kunci sehingga kunci dari AES akan dienkripsi dengan algoritma Rabin yang merupakan algoritma asymmetric-key yang memiliki kunci publik sehingga memungkinkan pertukaran kunci secara leluasa. Algoritma Rabin diperkenalkan oleh Michael O.Rabin lewat makalah yang berjudul


(55)

Factorization(Rabin,1979), dengan mengambil pendekatan yang sama dengan algoritma RSA.

Pengaksesan surel sekarang ini, tidak mesti menggunakan komputer yang terhubung internet. Cukup dengan sebuah perangkat mobile seperti ponsel cerdas seseorang dapat mengakses surel dengan mudah. Salah satu sistem operasi yang populer adalah Android. Oleh karenanya diperlukan sebuah aplikasi klien yang dapat mengamankan konten surel dengan mengenkripsinya.

Beberapa penelitian dengan pendekatan menggunakan algoritma berbeda telah digunakan dalam pembangunan aplikasi enkripsi dan deskripsi surel. Beberapa diantaranya menggunakan asymmetric-key algorithm seperti metode ElGamal untuk enkripsi surel pada perangkat mobile (Taufan, 2011), maupun symmetric-key algorithm seperti algoritma Rabbit untuk aplikasi klien surel pada ponsel Android (Leksono, 2012).

Penelitian ini membahas tentang aplikasi klien surel dengan pendekatan algoritma AES. Karena dinilai lebih unggul dari segi kecepatan dari asymmetric-key algorithm, dan lebih unggul juga dari block cipher symmetric-key algorithm seperti Serpent , karena AES menggunakan round yang lebih sedikit dalam proses enkripsi dan dekripsi data. Kelemahan algoritma AES sebagai symmetric-key terletak pada proses pertukaran kunci sehingga digunakan algoritma Rabin dalam proses enkripsi kunci AES sebelum didistribusikan.

1.2 Rumusan Masalah

Surel telah menjadi alat komunikasi umum yang banyak digunakan pada saat ini. Namun demikian,penyalahgunaan oleh pihak yang tidak bertanggung jawab membuat konten surel yang bersifat rahasia dapat jatuh kepada pihak yang tidak diinginkan. Maka dari itu diperlukan suatu pendekatan dalam pengamanan konten surel pada perangkat bergerak dari penyalahgunaan oleh pihak yang tidak diinginkan dengan cara yang lebih aman.


(56)

1.3 Batasan Masalah

Agar penelitian tidak terlalu luas dan menyimpang, diberikan beberapa batasan, yaitu:

1. Menggunakan kunci AES sebesar 128-bit.

2. Pembangunan software fokus pada pengimplementasian kriptografi pada

pesan.

3. Data yang dienkripsi hanya berupa text

4. Server surel yang digunakan adalah server Google Mail

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah mengamankan konten surel rahasia dengan penerapan algoritma AES untuk proses yang aman dalam pengiriman surel , serta mampu menerima dan membaca konten surel rahasia tersebut.

1.5 Manfaat Penelitian

Penelitian ini memiliki manfaat untuk membantu pengguna dalam memilih konten surel yang bersifat rahasia yang diinginkan untuk dilakukan pengamanan sehingga tidak disalahgunakan oleh pihak yang tidak bertanggung jawab

1.6 Metodologi Penelitian

Adapun metodologi pada penelitian ini adalah:

1. Studi Literatur

Dilakukan pengumpulan referensi melalui berbagai macam buku, jurnal, artikel, dan materi lainnya yang berkaitan dengan penelitian ini.


(57)

penelitian.

3. Analisis dan Perancangan

Dilakukan analisis terhadap studi literatur tentang klien surel dan melakukan perancangan sistem.

4. Implementasi

Perancangan sistem yang telah dibuat akan diimplementasikan ke dalma aplikasi yang dibuat dengan menggunakan bahasa pemrograman Java

5. Pengujian

Uji coba produk dan evaluasi. Melakukan uji coba program yang telah dibuat. Kemudian melakukan evaluasi terhadap kekurangan program.

6. Penyusunan Laporan

Dokumentasi dari hasil analisis dan implementasi dari aplikasi yang telah dibuat

1.7 Sistematika Penulisan

Tugas akhir ini disusun dalam lima bab dengan sistematika penulisan sebagai berikut:

Bab I Pendahuluan

Bab pendahuluan ini berisi tentang hal-hal yang mendasari dilakukannya penelitian serta pengidentifikasian masalah penelitian. Bagian-bagian yang terdapat dalam bab pendahuluan ini meliputi latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, dan manfaat penelitian.

Bab II Tinjauan Pustaka

Pada bab tinjauan pustaka menguraikan landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan kegiatan penelitian pada tugas akhir ini.


(58)

Bab ini menguraikan metodologi penelitian yang dilakukan dalam menerapkan kombinasi Algoritma AES untuk pengamanan surel pada Secure Message.

Bab IV Hasil dan Pembahasan

Pada bab hasil dan pembahasan akan memaparkan hasil terhadap uji coba algoritma yang telah dilakukan dalam meyelesaikan permasalahan pengamanan pesan pada Secure Message.

Bab V Kesimpulan dan Saran

Bab ini berisi tentang kesimpulan hasil penelitian dan saran-saran yang berkaitan dengan penelitian selanjutnya.


(59)

Kemajuan teknologi secara signifikan turut mengubah cara manusia dalam bertukar informasi. Setelah munculnya Short Message Service (SMS) sebagai alternatif surat konvensional, hal itu pun dirasa kurang cukup karena keterbatasan karakter dan ketidakmampuan SMS dalam melampirkan file multimedia maupun audio visual. Berkembangnya jaringan internet ikut memberikan pilihan bagi manusia dalam beberapa hal termasuk di bidang pertukaran informasi diantaranya dengan terciptanya surat elektronik (surel). Dengan kemunculan surel, manusia semakin dimudahkan dalam berbagi informasi secara lebih baik karena tidak memiliki keterbatasan dari SMS. Setiap hari semakin banyak orang yang mengunakan surel sebagai media berkirim surat secara cepat karena didukung pula dengan teknologi perangkat bergerak yang mayoritas sudah dioptimalkan untuk mengirim dan menerima surel. Dalam perkembangan aplikasi klien surel sangat membantu dalam pertukaran surel, hal ini menjadi kesempatan kebocoran surel semakin besar. Oleh karena itu diperlukan sebuah pendekatan untuk mengamankan pesan tersebut yaitu dengan menerapkan sistem kriptografi pada aplikasi klien surel. Aplikasi ini menggunakan algoritma simetris AES untuk mengenkripsi dan mendekripsi konten surel yang bersifat rahasia serta algoritma asimetris Rabin dalam pendistribusian kunci. Aplikasi dapat membuat konten rahasia, mengirim surel dengan konten tersebut, menerima surel, dan membaca surel lengkap dengan konten rahasia.

Kata kunci: AES Algorithm, Rabin Algorithm, kriptografi simetris, kriptografi asimetris, aplikasi klien surel, android


(60)

IMPLEMENTATION OF AES AND RABIN ON EMAIL CLIENT SOFTWARE FOR ANDROID DEVICE

ABSTRACT

Advances in technology significantly alter a man's way of exchanging information. After the invention of Short Message Service (SMS) as an alternative to conventional mail, it was considered insufficient due to the limitations of the character and the inability of the SMS in attaching multimedia files as well as audio-visual. Development of Internet help provide options for people in several ways, including in the field of information exchange such as by the creation of electronic mail (email). With the emergence of e-mail, people are increasingly facilitated in sharing information better because it does not have the limitations of SMS. Every day more and more people are using e-mail as a medium of correspondence quickly as supported by the majority of mobile device technology that has been optimized to send and receive e-mail. During its development, email client application are very helpful in the exchange of e-mail, it became an opportunity to greater leak message. Therefore we need an approach to securing these email by applying cryptographic systems on email client application. This application uses AES symmetric algorithm to encrypt and decrypt the confidential e-mail content and asymmetric algorithms Rabin in the distribution of keys. Applications can create confidential content, send an email with the content, receive e-mail, and read the complete email with confidential content.

Keywords: AES Algorithm, Rabin Algorithm, symmetric cryptography, asymmetric cryptography, e-mail client application, android.


(61)

MUHAMMAD ASRI SALZAR

091402032

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2015

IMPLEMENTASI AES DAN RABIN PADA APLIKASI KLIEN

SUREL PERANGKAT ANDROID


(62)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh

ijazah Sarjana Teknologi Informasi

MUHAMMAD ASRI SALZAR

091402032

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2015


(63)

Judul : IMPLEMENTASI AES DAN RABIN PADA

APLIKASI KLIEN SUREL PERANGKAT

ANDROID

Kategori : SKRIPSI

Nama : MUHAMMAD ASRI SALZAR

Nomor Induk Mahasiswa : 091402032

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA

UTARA

Diluluskan di

Medan, 26 November 2015

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Sarah Purnamawati ST.,M.Sc NIP 19830226 201012 2 003

M. Andri Budiman S.T., M.Comp.Sc.,M.E.M NIP 19751008 200801 1 011

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

M. Anggia Muchtar, ST., MM.IT NIP 19800110 200801 1 010


(64)

PERNYATAAN

IMPLEMENTASI AES DAN RABIN PADA APLIKASI KLIEN SUREL PERANGKAT ANDROID

SKRIPSI

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

Medan, 26 November 2015

Muhammad Asri Salzar 091402032


(65)

PENGHARGAAN

Alhamdulillah segala puji dan syukur saya sampaikan kehadirat Allah SWT beserta Nabi Besar Muhammad SAW yang telah memberikan rahmat, hidayah-Nya sehingga saya dapat menyelesaikan skripsi ini untuk memperoleh gelar Sarjana Program Studi S-1 Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada:

1. Kedua orang tua penulis, orang yang paling berharga dalam hidup penulis,

ayahanda Ir.A.W.Wahidin dan ibunda Chairani yang telah membesarkan, mendidik, memberi dukungan, doa, dan motivasi tanpa henti. Serta kepada abang-abang dan adik-adik penulis yang selalu ikut menemani penulis.

2. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak

Muhammad Anggia Muchtar, ST., MM. IT dan Bapak Muhammad Fadly Syahputra, B.Sc, M.Sc.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.

3. Bapak M. Andri Budiman ST.,M.Comp.Sc.,M.E.M selaku pembimbing

pertama dan Ibu Sarah Purnamawati, ST., M.Sc selaku pembimbing kedua saya yang telah banyak meluangkan waktunya dan memberikan saran yang bermanfaat dalam menyelesaikan skripsi ini.

4. Bapak Dr. Sawaluddin, M.IT dan Bapak Romi Fadillah Rahmat,

B.Comp.Sc.,M.Sc yang telah bersedia menjadi dosen penguji dan telah memberikan sara-saran yang baik penulis dalam menyelesaikan skripsi ini.

5. Teman-teman yang mendukung dan membantu penulis Iqbal, Daus, Fadli,

Jihan, Salman, Satria, Muslim, Ismail, Januar dan seluruh teman-teman seperjuangan stambuk 2009 lainnya yang tidak dapat disebutkan satu persatu.

6. Abang Manaf, Kak Umi dan Ibu Mega selaku bagian tata usaha Program


(66)

Dan yang terakhir, penulis mengucapkan terima kasih kepada semua pihak yang sudah membantu dalam penyelesaian skripsi ini meskipun tidak dapat disebutkan satu per satu. Terima kasih atas saran, motivasi, dan bantuan yang telah diberikan, semoga Allah memberikan kemudahan bagi kita semua.


(67)

Kemajuan teknologi secara signifikan turut mengubah cara manusia dalam bertukar informasi. Setelah munculnya Short Message Service (SMS) sebagai alternatif surat konvensional, hal itu pun dirasa kurang cukup karena keterbatasan karakter dan ketidakmampuan SMS dalam melampirkan file multimedia maupun audio visual. Berkembangnya jaringan internet ikut memberikan pilihan bagi manusia dalam beberapa hal termasuk di bidang pertukaran informasi diantaranya dengan terciptanya surat elektronik (surel). Dengan kemunculan surel, manusia semakin dimudahkan dalam berbagi informasi secara lebih baik karena tidak memiliki keterbatasan dari SMS. Setiap hari semakin banyak orang yang mengunakan surel sebagai media berkirim surat secara cepat karena didukung pula dengan teknologi perangkat bergerak yang mayoritas sudah dioptimalkan untuk mengirim dan menerima surel. Dalam perkembangan aplikasi klien surel sangat membantu dalam pertukaran surel, hal ini menjadi kesempatan kebocoran surel semakin besar. Oleh karena itu diperlukan sebuah pendekatan untuk mengamankan pesan tersebut yaitu dengan menerapkan sistem kriptografi pada aplikasi klien surel. Aplikasi ini menggunakan algoritma simetris AES untuk mengenkripsi dan mendekripsi konten surel yang bersifat rahasia serta algoritma asimetris Rabin dalam pendistribusian kunci. Aplikasi dapat membuat konten rahasia, mengirim surel dengan konten tersebut, menerima surel, dan membaca surel lengkap dengan konten rahasia.

Kata kunci: AES Algorithm, Rabin Algorithm, kriptografi simetris, kriptografi asimetris, aplikasi klien surel, android


(68)

IMPLEMENTATION OF AES AND RABIN ON EMAIL CLIENT SOFTWARE FOR ANDROID DEVICE

ABSTRACT

Advances in technology significantly alter a man's way of exchanging information. After the invention of Short Message Service (SMS) as an alternative to conventional mail, it was considered insufficient due to the limitations of the character and the inability of the SMS in attaching multimedia files as well as audio-visual. Development of Internet help provide options for people in several ways, including in the field of information exchange such as by the creation of electronic mail (email). With the emergence of e-mail, people are increasingly facilitated in sharing information better because it does not have the limitations of SMS. Every day more and more people are using e-mail as a medium of correspondence quickly as supported by the majority of mobile device technology that has been optimized to send and receive e-mail. During its development, email client application are very helpful in the exchange of e-mail, it became an opportunity to greater leak message. Therefore we need an approach to securing these email by applying cryptographic systems on email client application. This application uses AES symmetric algorithm to encrypt and decrypt the confidential e-mail content and asymmetric algorithms Rabin in the distribution of keys. Applications can create confidential content, send an email with the content, receive e-mail, and read the complete email with confidential content.

Keywords: AES Algorithm, Rabin Algorithm, symmetric cryptography, asymmetric cryptography, e-mail client application, android.


(69)

PERSETUJUAN i

PERNYATAAN ii

PENGHARGAAN iii

ABSTRAK ... v

ABSTRACT ... vi

DAFTAR ISI... vii

DAFTAR TABEL ... ix

DAFTAR GAMBAR ... x

BAB 1 PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalah ... 3

1.4. Tujuan Penelitian ... 3

1.5. Manfaat Penelitian ... 33 1.6. Metodologi Penelitian ... 3

1.7. Sistematika Penulisan ... 4

BAB 2 LANDASAN TEORI ... 6

2.1. Pertukaran Data ... 6

2.2. Keamanan Informasi ... 6

2.3. Android ... 7

2.4. Kriptografi... 9

2.4.1. Algoritma AES... 10

2.4.2. Algoritma Rabin... 915 2.5. Sistem Surat Elektronik(Surel) ... 16

2.6. Penelitian Terdahulu ... 17

BAB 3 ANALISIS DAN PERANCANGAN ... 19

3.1. Data yang Digunakan ... 19


(70)

3.3.1. Key Expansion ... 22

3.3.2. Pre Round... 23

3.3.3. SubBytes Transformation ... 23

3.3.4. ShiftRows Transformation ... 23

3.3.5 MixColumns Tranformation ... 24

3.3.6 AddRoundKey Transformation ... 24

3.3.7 Rabin Encryption ... 25

3.4. Perancangan Sistem ... 26

3.4.1. Kebutuhan Perangkat Lunak ... 26

3.4.2. Usecase Diagram ... 26

3.4.3 Usecase Spesifikasi ... 27

3.4.4 Activity Diagram ... 29

3.4.5 Perancangan Antarmuka Sistem ... 30

3.5. Perancangan Database ... 36

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 38

4.1. Implementasi Sistem ... 38

4.1.1. Spesifikasi Sistem ... 38

4.1.2 Instalasi Aplikasi ... 38

4.1.3 Mekanisme Penggunaan Aplikasi ... 39

4.2. Pengujian Sistem ... 42

4.2.1. Analisis Pengujian Sistem ... 46

4.2.2. Analisis Algoritma AES dan Rabin ... 47

BAB 5 KESIMPULAN DAN SARAN ... 52

5.1. Kesimpulan ... 52

5.2. Saran ... 52


(71)

Hal

Tabel 2.1 Tabel Subsitusi untuk Transformasi SubBytes 12

Tabel 2.2 Tabel Konstan RC dalam Heksadesimal 15

Tabel 2.3 Tabel Penelitian Terdahulu 18

Tabel 3.1 Usecase Spesifikasi buat surel 27

Tabel 3.2 Usecase Spesifikasi baca surel 28

Tabel 3.3 Usecase Spesifikasi keyinfo 28

Tabel 3.4 Tabel User 36

Tabel 3.5 Tabel Inbox 36

Tabel 3.6 Tabel Sent 37

Tabel 4.1 Tabel Hasil Pengujian Enkripsi 43

Tabel 4.1 Tabel Hasil Pengujian Enkripsi(Lanjutan) 44

Tabel 4.2 Tabel Hasil Pengujian Dekripsi 45

Tabel 4.2 Tabel Hasil Pengujian Dekripsi(Lanjutan) 46

Tabel 4.3 Tabel Hasil Pengujian Lama Proses Enkripsi 47

Tabel 4.3 Tabel Hasil Pengujian Lama Proses Enkripsi(Lanjutan) 48


(72)

(73)

Hal

Gambar 2.1 Arsitektur Android 7

Gambar 2.2 Transformasi ShiftRow 13

Gambar 3.3 Transformasi MixColumns 13

Gambar 3.1 Arsitektur Umum 19

Gambar 3.1 Arsitektur Umum(Lanjutan) 20

Gambar 3.2 Usecase Diagram 26

Gambar 3.3 Usecase Diagram buat surel 29

Gambar 3.4 Usecase Diagram baca surel 30

Gambar 3.5 Form Login 31

Gambar 3.6 Halaman Inbox 32

Gambar 3.7 Halaman Sent 33

Gambar 3.8 Halaman Compose Mail 34

Gambar 3.9 Form Tambah Konten 35

Gambar 4.1 Icon aplikasi device 39

Gambar 4.2 Halaman Login 39

Gambar 4.3 Halaman Inbox 40

Gambar 4.4 Halaman Read Mail 40


(74)

Gambar 4.6 Halaman SentItem 41

Gambar 4.7 Halaman KeyInfo 42

Gambar 4.8 Hasil analisis regresi lama proses enkripsi AES 49

Gambar 4.9 Hasil analisis regresi lama proses enkripsi Rabin 50

Gambar 4.10 Hasil analisis regresi lama proses dekripsi AES 50


(1)

DAFTAR ISI

PERSETUJUAN i

PERNYATAAN ii

PENGHARGAAN iii

ABSTRAK ... v

ABSTRACT ... vi

DAFTAR ISI... vii

DAFTAR TABEL ... ix

DAFTAR GAMBAR ... x

BAB 1 PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalah ... 3

1.4. Tujuan Penelitian ... 3

1.5. Manfaat Penelitian ... 33 1.6. Metodologi Penelitian ... 3

1.7. Sistematika Penulisan ... 4

BAB 2 LANDASAN TEORI ... 6

2.1. Pertukaran Data ... 6

2.2. Keamanan Informasi ... 6

2.3. Android ... 7

2.4. Kriptografi... 9


(2)

3.3.1. Key Expansion ... 22

3.3.2. Pre Round... 23

3.3.3. SubBytes Transformation ... 23

3.3.4. ShiftRows Transformation ... 23

3.3.5 MixColumns Tranformation ... 24

3.3.6 AddRoundKey Transformation ... 24

3.3.7 Rabin Encryption ... 25

3.4. Perancangan Sistem ... 26

3.4.1. Kebutuhan Perangkat Lunak ... 26

3.4.2. Usecase Diagram ... 26

3.4.3 Usecase Spesifikasi ... 27

3.4.4 Activity Diagram ... 29

3.4.5 Perancangan Antarmuka Sistem ... 30

3.5. Perancangan Database ... 36

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 38

4.1. Implementasi Sistem ... 38

4.1.1. Spesifikasi Sistem ... 38

4.1.2 Instalasi Aplikasi ... 38

4.1.3 Mekanisme Penggunaan Aplikasi ... 39

4.2. Pengujian Sistem ... 42

4.2.1. Analisis Pengujian Sistem ... 46

4.2.2. Analisis Algoritma AES dan Rabin ... 47

BAB 5 KESIMPULAN DAN SARAN ... 52

5.1. Kesimpulan ... 52

5.2. Saran ... 52


(3)

DAFTAR TABEL

Hal Tabel 2.1 Tabel Subsitusi untuk Transformasi SubBytes 12

Tabel 2.2 Tabel Konstan RC dalam Heksadesimal 15

Tabel 2.3 Tabel Penelitian Terdahulu 18

Tabel 3.1 Usecase Spesifikasi buat surel 27

Tabel 3.2 Usecase Spesifikasi baca surel 28

Tabel 3.3 Usecase Spesifikasi keyinfo 28

Tabel 3.4 Tabel User 36

Tabel 3.5 Tabel Inbox 36

Tabel 3.6 Tabel Sent 37

Tabel 4.1 Tabel Hasil Pengujian Enkripsi 43

Tabel 4.1 Tabel Hasil Pengujian Enkripsi(Lanjutan) 44

Tabel 4.2 Tabel Hasil Pengujian Dekripsi 45

Tabel 4.2 Tabel Hasil Pengujian Dekripsi(Lanjutan) 46 Tabel 4.3 Tabel Hasil Pengujian Lama Proses Enkripsi 47 Tabel 4.3 Tabel Hasil Pengujian Lama Proses Enkripsi(Lanjutan) 48


(4)

(5)

DAFTAR GAMBAR

Hal

Gambar 2.1 Arsitektur Android 7

Gambar 2.2 Transformasi ShiftRow 13

Gambar 3.3 Transformasi MixColumns 13

Gambar 3.1 Arsitektur Umum 19

Gambar 3.1 Arsitektur Umum(Lanjutan) 20

Gambar 3.2 Usecase Diagram 26

Gambar 3.3 Usecase Diagram buat surel 29

Gambar 3.4 Usecase Diagram baca surel 30

Gambar 3.5 Form Login 31

Gambar 3.6 Halaman Inbox 32

Gambar 3.7 Halaman Sent 33

Gambar 3.8 Halaman Compose Mail 34

Gambar 3.9 Form Tambah Konten 35


(6)

Gambar 4.6 Halaman SentItem 41

Gambar 4.7 Halaman KeyInfo 42

Gambar 4.8 Hasil analisis regresi lama proses enkripsi AES 49 Gambar 4.9 Hasil analisis regresi lama proses enkripsi Rabin 50 Gambar 4.10 Hasil analisis regresi lama proses dekripsi AES 50 Gambar 4.11 Hasil analisis regresi lama proses dekripsi Rabin 51