• Tidak ada hasil yang ditemukan

Implementasi AES dan Rabin pada Aplikasi Klien Surel Perangkat Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi AES dan Rabin pada Aplikasi Klien Surel Perangkat Android"

Copied!
74
0
0

Teks penuh

(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

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

(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

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

(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

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:

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

 ( )

Selanjutnya proses diatas dilakukan untuk setiap elemen pada state sehingga hasil

(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

“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

(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

(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

(15)

Pilih surel yang hendak

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

(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

(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

(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

(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

(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

(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

(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.

(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 .

(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

Berikut ini adalah tabel hasil pengujian proses dekripsi menggunakan

algoritma AES 128-bit dan Rabin, untuk teks sepanjang 10 karakter hingga 4000

karakter .

(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

0 500 1000 1500 2000 2500 3000 3500 4000 4500

La

0 500 1000 1500 2000 2500 3000 3500 4000 4500

(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

0 500 1000 1500 2000 2500 3000 3500 4000 4500

(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

0 500 1000 1500 2000 2500 3000 3500 4000 4500

(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,

(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

(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

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

(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

(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

Transformasi MixColumns akan mencampurkan nilai kolom kolom pada state awal

dengan suatu perkalian matriks dengan sebuah matriks konstan yang ditunjukkan pada

Gambar 2.3

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

(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

(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

(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.

(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

(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

(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.

(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.

(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

(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

(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

(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

(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,

Gambar

Gambar 3.1 Arsitektur Umum
Gambar 3.2. Usecase diagram
Tabel 3.2 Usecase spesifikasi baca surel
Gambar 3.3 Usecase diagram buat surel
+7

Referensi

Dokumen terkait

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

Setelah Alice mendapatkan hasil enkripsi pesan selanjutnya Alice akan mengenkripsi kunci dari pesan tersebut dengan menggunakan kunci publik dari algoritma Rabin. Gambar

Algoritma Advanced Encryption Standard (AES) merupakan algoritma kriptografi yang menggunakan kriptografi simetris atau block chiper simetris untuk proses enkripsi dan

Pada pengerjaan skripsi dengan judul Implementasi Algoritma Kriptografi Rsa Dan Rabin Pada Three-Pass Protocol Untuk Pengamanan Data Pada Aplikasi Chat Berbasis Android,

Untuk membuat kamus berbasis android dapat menggunakan algoritma string matching, salah satu algoritma string matching adalah algoritma Rabin-Karp, algoritma Rabin-Karp

Algoritma asimetris atau biasa disebut algoritma kunci publik dirancang sedemikian sehingga kunci yang digunakan untuk mengenkripsi dan mendekripsi berbeda.Kunci dekripsi tidak

Algoritma AES (Advanced Encryption Standard) merupakan algoritma kriptografi yang sifatnya simetris dan cipher block. Dengan demikian algoritma ini menggunakan kunci

SIMPULAN Berdasarkan hasil yang telah disampaikan diatas, kesimpulan yang dapat diambil dari penelitian ini adalah algoritma enkripsi AES telah berhasil diimplementasikan pada aplikasi