Anda di halaman 1dari 79

IMPLEMENTASI KRIPTOGRAFI DENGAN ALGORITMA RSA DAN

RIJNDAEL PADA APLIKASI EMAIL


BERBASIS WEB PADA CV. GlOBAL ENTREPRENEUR TEKNOLOGI
SOLUTIONS (GETS)

TUGAS AKHIR

Oleh :
YOGI DAMARA PUTRA
1211510498

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR

JAKARTA
2017
LEMBAR JUDUL

i
IMPLEMENTASI KRIPTOGRAFI DENGAN ALGORITMA RSA DAN
RIJNDAEL PADA APLIKASI EMAIL
BERBASIS WEB PADA CV. GlOBAL ENTREPRENEUR TEKNOLOGI
SOLUTIONS (GETS)

TUGAS AKHIR
Diajukan untuk memenuhi salah satu persyaratan
memperoleh gelar Sarjana Komputer (S.Kom)

Oleh :
YOGI DAMARA PUTRA
1211510498

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR

JAKARTA
2017

ii
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR

LEMBAR PENGESAHAN

Nama : YOGI DAMARA PUTRA

Nomor Induk Mahasiswa : 1211510498

Jenjang Strata : Strata 1

Judul : IMPLEMENTASI KRIPTOGRAFI DENGAN ALGORITMA


RSA DAN RIJNDAEL PADA APLIKASI EMAIL BERBASIS
WEB PADA CV. GLOBAL ENTREPRENEUR TEKNOLOGI
SOLUTIONS (GETS)

Jakarta, 13 Juni 2017

Tim Penguji : Tanda Tangan :

Pipin Farida Ariyani, S.Kom, M.T.I


Ketua, .........................

Subandi, M.Kom
Anggota, .........................

Pembimbing, ..........................
Purwanto, S.Si, M.Kom

Ketua Program Studi

.................................
Muhammad Ainur Rony, S.Kom, M.T.I

iii
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS BUDI LUHUR

ABSTRAK

Nim : 1211510498
Nama : Yogi Damara Putra
Judul : IMPLEMENTASI KRIPTOGRAFI DENGAN ALGORITMA RSA DAN
RIJNDAEL PADA APLIKASI EMAIL BERBASIS WEB
PADA CV. GLOBAL ENTREPRENUER TEKNOLOGI SOLUTIONS (GETS)

CV. Global Entrepreneur Teknologi Solutions (GETS) merupakan perusahaan yang bergerak
di bidang jasa UI/UX (user interface / user experience) design dan development. Berfokus
pada pengembangan desain tampilan pada halaman web dan mobile Android maupun IOS.
Adanya permintaan untuk membuat aplikasi email untuk client. Pemilik perusahaan
berkeinginan membuat sebuah produk aplikasi email yang nantinya dapat digunakan untuk
client. Selain itu pemilik perusahaan juga menginginkan fitur keamanan guna
meningkatkan keamanan email dalam melakukan pertukaran data. Salah satu cara untuk
meningkatkan keamanan dalam pesan yaitu melalui aplikasi email yaitu menggunakan
kriptografi sebagai pengamanan terhadap pesan. Pengembang aplikasi email ini
menggunakan algoritma asimetris dan simetris yaitu RSA dan Rijndael. Kedua algoritma
tersebut berfungsi untuk mengenkripsikan pesan dikirimkan oleh pengguna aplikasi email.
Pesan dikirimkan melalui email pengguna, email tersebut akan dienkripsi menggunakan
kunci publik masing-masing algoritma, sehingga email tersebut menjadi ciphertext (data
yang sudah dienkripsi atau disandikan). Hasil penelitian ini bertujuan untuk menyediakan
aplikasi komunikasi atau pertukaran pesan berupa teks melalui aplikasi email berbasis web
yang memiliki enkripsi. Enkripsi ini memastikan bahwa hanya pengirim dan penerima saja
yang dapat membaca email yang telah dikirmkan.

Kata kunci : RSA, Rijndael, enkripsi, dekripsi, teknologi, web based

xii + 67 halaman; 60 gambar; 5 tabel; 2 lampiran

iv
SURAT PERNYATAAN TIDAK PLAGIAT DAN PERSETUJUAN PUBLIKASI

Saya yang bertanda tangan dibawah ini :

Nama :
NIM :
Program Studi :
Fakultas :

Menyatakan bahwa TUGAS AKHIR yang berjudul :

1. Merupakan hasil karya tulis ilmiah sendiri dan bukan karya yang pernah diajukan
untuk memperoleh gelar akademik oleh pihak lain,
2. Saya ijinkan untuk dikelola oleh Universitas Budi Luhur sesuai dengan norma
hukum dan etika yang berlaku.

Pernyataan ini saya buat dengan penuh tanggung jawab dan saya bersedia menerima
konsekuensi apapun sesuai aturan yang berlaku apabila dikemudian hari pernyataan ini
tidak benar.

Jakarta, 13 Juni 2017

(Yogi Damara Putra)

v
KATA PENGANTAR

Puji syukur ke hadirat Tuhan Yang Maha Esa yang telah memberikan karunia dan
anugerah-Nya sehingga penulis dapat menyelesaikan laporan Tugas Akhir yang berjudul
Implementasi Kriptografi Dengan Algoritma RSA Dan Rijndael Pada Aplikasi Email Berbasis
Web Pada CV. Global Entreprenuer Teknologi Solutions ini dapat terselesaikan dengan
baik.
Tugas Akhir ini merupakan salah satu syarat untuk memenuhi kurikulum jenjang strata
satu (S1) pada Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas
Budi Luhur Jakarta.
Pada kesempatan ini, tidak lupa penulis menyampaikan rasa terima kasih yang
sebesar-besarnya kepada semua pihak yang telah membantu, baik secara langsung
maupun tidak langsung dalam pembuatan laporan Tugas Akhir ini hingga selesai. Dengan
kerendahan hati, penulis ingin menyampaikan rasa terima kasih yang sebesar-besarnya
kepada:
1. Kepada Tuhan Yang Maha Esa yang telah memberikan kesempatan pada penulis
untuk menyelesaikan Tugas Akhir ini dengan baik.
2. Kedua orang tua yang telah mendukung dan mendoakan penulis selama Tugas Akhir
ini berlangsung.
3. Bapak Prof. Dr. Sc. Agr. Ir. Didik Sulistyanto selaku Rektor Universitas Budi Luhur.
4. Bapak Goenawan Brotosaputro, S.Kom, M.Sc selaku Dekan Fakultas Teknologi
Informasi Universitas Budi Luhur.
5. Bapak Muhammad Ainur Rony, S.Kom, M.T.I selaku ketua Program Studi Teknik
Informatika Universitas Budi Luhur.
6. Bapak Purwanto, S.Si, M.Kom selaku dosen pembimbing Tugas Akhir, yang telah
banyak memberikan masukan dan selalu sabar membimbing saya.
7. Kepada seluruh karyawan CV. Global Entrepreneur Teknologi Solutions (GETS) yang
sudah mendukung dalam penyelesaian Tugas Akhir ini.
8. Semua teman-teman dari segala Fakultas di Universitas Budi Luhur khususnya:
teman-teman lainnya yang sudah banyak memberikan ilmu tambahan, pengetahuan,
serta inspirasi dan sarannya.
Penulis menyadari bahwa dalam penulisan laporan Tugas Akhir ini tidak luput dari
berbagai kekurangan dan kelemahan, karena pengetahuan dan kemampuan yang masih
sangat terbatas. Oleh karena itu penulis sangat mengharapkan adanya kritikan serta saran
yang sifatnya membangun dari para pembaca, yang dapat berguna bagi penulis demi
memperbaiki mutu laporan Tugas Akhir ini.

Jakarta, 29 Mei 2017

Yogi Damara Putra

vi
DAFTAR TABEL

Tabel 2. 1 : S-box Rijndael......................................................................................... 17


Tabel 3. 1 : Spesifikasi Basis Data Users ..................................................................... 25
Tabel 3. 2 : Spesifikasi Basis Data Mail Header ............................................................ 25
Tabel 4. 1 : Hasil Enkripsi .......................................................................................... 62
Tabel 4. 2 : Hasil Dekripsi .......................................................................................... 62

vii
DAFTAR GAMBAR

Gambar 2. 1 : Scytate (Dony Ariyus, 2008) ................................................................... 4


Gambar 2. 2 : Proses encrypt dan decrypt (Rinaldi Munir, 2004) .................................... 5
Gambar 2. 3 : Contoh Teknik Blocking (Dony Ariyus, 2008) ........................................... 5
Gambar 2. 4 : Contoh Teknik Permutasi (Dony Ariyus, 2008) ......................................... 6
Gambar 2. 5 : Enkripsi Dengan Teknik Permutasi (Dony Ariyus, 2008)............................ 6
Gambar 2. 6 : Enkripsi Dengan Teknik Ekspansi (Dony Ariyus, 2008) ............................. 7
Gambar 2. 7 : Enkripsi Dengan Teknik Pemampatan (Dony Ariyus, 2008) ....................... 7
Gambar 2. 8 : Kriptografi Asimetris (Rinaldi Munir, 2004) .............................................. 9
Gambar 2. 9 : Kriptografi Simetris (Rinaldi Munir, 2004) .............................................. 10
Gambar 2. 10 : Encrypt Blok Cipher (Rinaldi Munir, 2004)............................................ 11
Gambar 2. 11 : Decrypt Blok Cipher (Rinaldi Munir, 2004) ........................................... 11
Gambar 2. 12 : Tahap AddRoundKey .......................................................................... 16
Gambar 2. 13 : Tahap SubBytes ................................................................................. 16
Gambar 2. 14 : Tahap ShiftRows ................................................................................ 17
Gambar 2. 15 : Tahap MixColumns ............................................................................. 18
Gambar 2. 16 : Bagan Proses Enkripsi ........................................................................ 19
Gambar 2. 17 : Bagan Proses Dekripsi ........................................................................ 19
Gambar 3. 1 : Entity Relationship Diagram ................................................................. 23
Gambar 3. 2 : Logical Relational Structure .................................................................. 24
Gambar 3. 3 : Class Diagram ..................................................................................... 24
Gambar 3. 4 : Rancangan Layar Halaman Home ......................................................... 26
Gambar 3. 5 : Rancangan Layar Halaman Login .......................................................... 27
Gambar 3. 6 : Rancangan Layar Halaman Create Account............................................ 27
Gambar 3. 7 : Rancangan Layar Halaman Compose .................................................... 28
Gambar 3. 8 : Rancangan Layar Halaman Inbox ......................................................... 28
Gambar 3. 9 : Rancangan Layar Halaman Reply Inbox ................................................ 29
Gambar 3. 10 : Rancangan Layar Halaman Sent Mail ................................................... 29
Gambar 3. 11 : Rancangan Layar Halaman Reply Sent Mail ......................................... 30
Gambar 3. 12 : Rancangan Layar Halaman Trash Mail ................................................. 30
Gambar 3. 13 : Rancangan Layar Halaman Reply Trash Mail ........................................ 31
Gambar 3. 14 : Flowchart Proses Halaman Home ........................................................ 32
Gambar 3. 15 : Flowchart Proses Halaman Login......................................................... 33
Gambar 3. 16 : Flowchart Proses Halaman Create Account .......................................... 34
Gambar 3. 17 : Flowchart Proses Halaman Compose ................................................... 35
Gambar 3. 18 : Flowchart Proses Halaman Inbox ........................................................ 36
Gambar 3. 19 : Flowchart proses Halaman Reply Inbox ............................................... 37
Gambar 3. 20 : Flowchart Proses Halaman Sent Mail ................................................... 38
Gambar 3. 21 : Flowchart Proses Halaman Reply Sent Mail .......................................... 39
Gambar 3. 22 : Flowchart Proses Halaman Trash Mail ................................................. 40
Gambar 3. 23 : Flowchart Proses Halaman Reply Trash Mail ........................................ 41
Gambar 3. 24 : Flowchart Proses Pembangkit Kunci RSA ............................................. 42
Gambar 3. 25 : Flowchart Proses Pembangkit Kunci RSA ............................................. 43
Gambar 3. 26 : Flowchart Proses Pembangkit Kunci RSA ............................................. 44

viii
Gambar 3. 27 : Flowchart Proses Enkripsi RSA ............................................................ 45
Gambar 3. 28 : Flowchart Proses Dekripsi RSA ............................................................ 46
Gambar 3. 29 : Flowchart Proses Enkripsi Rijndael ...................................................... 47
Gambar 3. 30 : Flowchart Proses Dekripsi Rijndael ...................................................... 48
Gambar 4. 1 : Tampilan Halaman Home ..................................................................... 54
Gambar 4. 2 : Tampilan Halaman Login ...................................................................... 55
Gambar 4. 3 : Tampilan Halaman Create Account ....................................................... 55
Gambar 4. 4 : Tampilan Halaman Inbox ..................................................................... 56
Gambar 4. 5 : Tampilan Halaman Reply Inbox ............................................................ 56
Gambar 4. 6 : Tampilan Halaman Compose ................................................................ 57
Gambar 4. 7 : Tampilan Halaman Sent Mail ................................................................ 57
Gambar 4. 8 : Tampilan Halaman Reply Sent Mail ....................................................... 58
Gambar 4. 9 : Tampilan Halaman Trash Mail ............................................................... 58
Gambar 4. 10 : Tampilan Halaman Reply Sent ............................................................ 59
Gambar 4. 11 : Hasil Enkripsi Di Database ................................................................. 59
Gambar 4. 12 : Hasil Enkripsi Di Aplikasi Email ........................................................... 60
Gambar 4. 13 : Hasil Enkripsi Di Gmail ...................................................................... 60
Gambar 4. 14 : Hasil Enkripsi Di Yahoo...................................................................... 61

ix
DAFTAR SIMBOL

1. Flowchart

Terminator
Digunakan untuk menggambarkan kegiatan awal atau
akhir dari suatu proses.

Process
Digunakan untuk menggambarkan suatu proses.

Sub Process
Permulaan sub program / Proses menjalankan sub
program.

Input / Output
Digunakan untuk menggambarkan suatu kegiatan
masukkan maupun keluaran.

Decision
Digunakan untuk menggambarkan suatu keputusan
atau tindakan yang harus diambil pada suatu kondisi
tertentu.

Line Connector
Digunakan untuk menghubungkan satu simbol dengan
simbol yang lain pada halaman modul yang lainnya.

On - Page Connector
Digunakan untuk menghubungkan satu simbol dengan
simbol yang lainnya pada halaman yang sama.

Off - page Connector


Digunakan untuk menghubungkan satu simbol dengan
simbol yang lainnya pada halaman yang berbeda.

x
DAFTAR ISI

LEMBAR JUDUL ............................................................................................................ i


LEMBAR PENGESAHAN ............................................................................................... iii
ABSTRAK ................................................................................................................... iv
SURAT PERNYATAAN TIDAK PLAGIAT DAN PERSETUJUAN PUBLIKASI ........................... v
KATA PENGANTAR ..................................................................................................... vi
DAFTAR TABEL ......................................................................................................... vii
DAFTAR GAMBAR ..................................................................................................... viii
DAFTAR SIMBOL ......................................................................................................... x
DAFTAR ISI ............................................................................................................... xi
BAB I PENDAHULUAN ................................................................................................. 1
1. Latar Belakang ........................................................................................... 1
2. Permasalahan ............................................................................................. 1
3. Tujuan Penulisan ........................................................................................ 1
4. Batasan Masalah......................................................................................... 2
5. Metoda Pengembangan............................................................................... 2
6. Sistematika Penulisan ................................................................................. 2
BAB II LANDASAN TEORI ........................................................................................... 4
1. Sejarah Kriptografi ...................................................................................... 4
2. Pengertian Kriptografi ................................................................................. 4
3. Teknik Dasar Kriptografi .............................................................................. 5
a. Subtitusi ................................................................................................ 5
b. Blocking ................................................................................................ 5
c. Permutasi .............................................................................................. 6
d. Ekspansi ................................................................................................ 6
e. Pemampatan ......................................................................................... 7
4. Aspek Kriptografi ........................................................................................ 8
5. Algoritma Kriptografi ................................................................................... 8
a. Algoritma Asimetris ................................................................................ 9
b. Algoritma Simetris .................................................................................. 9
6. Algoritma RSA (Rivest-Shamir-Adleman) .................................................... 11
a. Sejarah Algoritma RSA ......................................................................... 11
b. Pengertian Algoritma RSA ..................................................................... 11
c. Properti Algoritma RSA ......................................................................... 12
d. Perumusan Algoritma RSA .................................................................... 12
e. Algoritma membangkitkan kunci ........................................................... 13
f. Algoritma Enkripsi dan Dekripsi ............................................................. 13
g. Keamanan RSA .................................................................................... 14
7. Algoritma Rijndael .................................................................................... 15
a. Sejarah Algoritma Rijndael ................................................................... 15
b. Pengertian Rijndael .............................................................................. 15
c. AddRoundKey ...................................................................................... 16
d. SubBytes() .......................................................................................... 16
e. ShiftRows ............................................................................................ 17
f. MIXColumns ........................................................................................ 18
g. Algoritma Enkripsi dan Dekripsi ............................................................. 18
h. Keamanan Rijndael .............................................................................. 19
8. Jurnal Referensi ........................................................................................ 20
BAB III ANALISIS MASALAH DAN PERANCANGAN PROGRAM ...................................... 23
1. Analisa Masalah ........................................................................................ 23
2. Penyelesaian Masalah ............................................................................... 23

xi
3. Rancangan Basis Data .............................................................................. 23
a. Entity Relationship Diagram .................................................................. 23
b. Logical Relational Structure .................................................................. 24
c. Class Diagram...................................................................................... 24
d. Spesifikasi Basis Data ........................................................................... 25
4. Rancangan Layar ...................................................................................... 26
a. Rancangan Layar Halaman Home ......................................................... 26
b. Rancangan Layar Halaman Login .......................................................... 27
c. Rancangan Layar Create Account .......................................................... 27
d. Rancangan Layar Halaman Compose ..................................................... 28
e. Rancangan Layar Halaman Inbox .......................................................... 28
f. Rancangan Layar Halaman Reply Inbox ................................................. 29
g. Rancangan Layar Halaman Sent Mail ..................................................... 29
h. Rancangan Layar Halaman Reply Sent Mail ........................................... 30
i. Rancangan Layar Halaman Trash Mail ................................................... 30
j. Rancangan Layar Halaman Reply Trash Mail .......................................... 31
5. Flowchart dan Algoritma Aplikasi ............................................................... 32
a. Flowchart Aplikasi ................................................................................ 32
b. Algoritma Aplikasi ................................................................................ 49
BAB IV IMPLEMENTASI DAN UJI COBA PROGRAM ...................................................... 54
1. Kebutuhan Sistem .................................................................................... 54
a. Perangkat Keras (Hardware) ................................................................. 54
b. Perangkat Lunak (Software) ................................................................. 54
2. Implementasi Program .............................................................................. 54
a. Tampilan Halaman Home ..................................................................... 54
b. Tampilan Halaman Login ...................................................................... 55
c. Tampilan Halaman Create Account ........................................................ 55
d. Tampilan Halaman Inbox ...................................................................... 56
e. Tampilan Halaman Reply Inbox ............................................................ 56
f. Tampilan Halaman Compose ................................................................ 57
g. Tampilan Halaman Sent Mail ................................................................ 57
h. Tampilan Halaman Reply Sent Mail ....................................................... 58
i. Tampilan Halaman Trash Mail ............................................................... 58
j. Tampilan Halaman Reply Trash Mail ...................................................... 59
k. Tampilan Hasil Enkripsi ........................................................................ 59
3. Tabel Pengujian ........................................................................................ 61
a. Tabel Percobaan Enkripsi...................................................................... 61
b. Tabel Percobaan Dekripsi ..................................................................... 62
4. Evaluasi Sistem ........................................................................................ 62
a. Kelebihan Aplikasi ................................................................................ 62
b. Kekurangan Aplikasi ............................................................................. 63
BAB V PENUTUP ........................................................................................................ 64
1. Kesimpulan .............................................................................................. 64
2. Saran ....................................................................................................... 64
DAFTAR PUSTAKA ..................................................................................................... 65
LAMPIRAN-LAMPIRAN ............................................................................................... 66

xii
BAB I
PENDAHULUAN

1. Latar Belakang
Perkembangan teknologi informasi saat ini sangat membantu dalam
menyelesaikan banyak pekerjaan dengan cepat, akurat, dan efisien. Salah satu aspek
yang paling penting dalam dunia teknologi informasi adalah keamanan data. Dalam
era digital saat ini, menjaga keamanan sebuah data yang dimiliki sesorang maupun
perusahaan menjadi suatu hal yang sangat penting untuk dilakukan demi menjaga
keutuhan sebuah data dari kerusakan maupun pencurian oleh pihak-pihak yang tidak
bertanggung jawab, sehingga data yang disimpan tidak mengalami perubahan atau
sesuai dengan aslinya. Maka dari itu keamanan data benar-benar menjadi
permasalahan yang sangat penting.
CV. Global Entrepreneur Teknologi Solutions (GETS) merupakan perusahaan
yang bergerak di bidang jasa UI/UX (user interface / user experience) design dan
development. Berfokus pada pengembangan desain tampilan pada halaman web dan
mobile Android maupun IOS. Adanya permintaan untuk membuat aplikasi email untuk
client. Pemilik perusahaan berkeinginan membuat sebuah produk aplikasi email yang
nantinya dapat digunakan untuk client. Selain itu pemilik perusahaan juga
menginginkan fitur keamanan guna meningkatkan keamanan email dalam melakukan
pertukaran data.
Salah satu ilmu pengamanan data yang terkenal adalah kriptografi. Kriptografi
adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan, data, atau informasi
dengan cara menyamarkannya menjadi bentuk tersandi yang tidak mempunyai
makna. Dalam kriptografi, terdapat dua proses utama yaitu enkripsi dan dekripsi.
Enkripsi adalah proses penyandian pesan asli atau plainteks menjadi cipherteks (teks
tersandi). Sedangkan dekripsi adalah proses penyandian kembali cipherteks menjadi
plainteks. Berdasarkan pernyataan di atas, perlu ada suatu aplikasi pengamanan
informasi dalam sebuah data, yang dapat meminamilisir dampak kebocoran data.
Maka penulis mencoba membuat aplikasi email menggunakan algoritma RSA (Rivest-
Shamir-Adleman) dan Rijndael berbasis web.

2. Permasalahan
Dari uraian latar belakang masalah di atas, maka dapat dikemukakan beberapa
identifikasi masalah :
a. Bagaimana meningkatkan keamanan dalam melakukan komunikasi atau
pertukaran data berupa teks pada aplikasi email berbasis web?
b. Bagaimana cara menjaga keaslian data dari siapapun kecuali pemilik account
email?
c. Bagaimana mengimplementasikan aplikasi email berbasis web?
d. Bagaimana mengimplementasikan pertukaran data antara pengguna
menggunakan aplikasi email berbasis web?
e. Bagaimana cara mengimplementasikan algoritma RSA dan Rijndael untuk
mengamankan pesan pada aplikasi email berbasis web?

3. Tujuan Penulisan
Dari uraian latar latar belakang masalah di atas, maka dapat dikemukakan
beberapa identifikasi masalah :
a. Aplikasi email ini menyediakan keamanan untuk pertukaran data dengan
menggunakan enkripsi.
b. Untuk menjaga keaslian suatu data aplikasi email ini menggunakan fitur keamanan
email dengan cara mengimplementasikan kriptografi menggunakan metode
algoritma RSA dan Rijndael.

1
2

c. Aplikasi email ini memungkinkan para pengguna untuk saling bertukar pesan
melalui email lain.
d. Untuk pertukaran data pengguna harus terdaftar terlebih dahulu diaplikasi email
ini.
e. Pesan keluaran dari aplikasi email ini ke aplikasi email lain berbentuk chiperteks
dan sebaliknya pesan keluaran dari aplikasi email lain ke aplikasi email ini
berbentuk plainteks.

4. Batasan Masalah
Agar tidak meluasnya pembahasan pada tugas akhir ini, maka diberikan beberapa
batasan masalah sebagai berikut :
a. Metode algoritma yang digunakan adalah algoritma RSA dan Rijndael.
b. Aplikasi ini dibuat untuk mengamankan pesan yang ada di aplikasi email lain.
Dengan cara mengenkripsi pesan.
c. Data yang akan dienkripsi berbentuk teks atau string.
d. Aplikasi ini dapat berjalan di semua browser.
e. Aplikasi ini bisa mengirim email kesemua aplikasi email lain dengan cara harus
terdaftar diaplikasi email ini.

5. Metoda Pengembangan
a. Studi Literatur
Melalui studi literatur diperoleh data atau informasi dengan mengumpulkan,
mempelajari dan membaca berbagai referensi baik itu dari buku-buku, jurnal,
makalah, internet dan berbagai sumber lainnya yang menunjang dalam penulisan
ini.

b. Analisis Masalah
Merupakan tahap dimana proses pengumpulan data dilakukan, identifikasi
masalah, dan analisis kebutuhan sistem. Tahap ini bertujuan untuk menentukan
solusi yang didapat dari aktivitas-aktivitas tersebut.

c. Perancangan Sistem
Pada tahap desain sistem ini dilakukan kegiatan mencari hardware dan sistem
operasi yang optimal untuk implementasi aplikasi. Pada tahap ini dilakukan
pengembangan algoritma RSA dan Rijndael yang yang akan digunakan untuk
melakukan pertukaran data yang terjadi antara masing-masing user yang terkait.
Selain itu juga dilakukan perancangan Unified Modelling Language (UML) dan User
Interface (UI) sebagai standar untuk membuat aplikasi ini.

d. Pemrograman (pengkodean)
Pada tahap coding dilakukan kegiatan penerjemahan dari rancangan sistem
ke dalam bentuk code dengan menggunakan bahasa pemograman PHP.

e. Pengujian Sistem
Pengujian dilakukan dengan melakukan beberapa tes pengujian aplikasi dan
mencari kesalahan atau kekurangan dari aplikasi yang dibuat sehingga aplikasi
tersebut dapat berjalan sesuai yang diinginkan.

6. Sistematika Penulisan
Agar penjelasan laporan tugas akhir ini lebih sistematis dan terarah maka
penulisannya disusun dengan sistematika penyusunan sebagai berikut :
3

BAB I : PENDAHULUAN
Pada bab ini penulis membahas mengenai latar belakang secara singkat
permasalahan yang dihadapi, tujuan yang hendak dicapai sesuai dengan
latar belakang, masalah dan ruang lingkup yang akan dibahas sesuai
dengan tujuan, metode penelitian yang akan dilakukan dan sistematika
penulisan.

BAB II : LANDASAN TEORI


Bab ini membahas teori-teori yang digunakan dalam pengembangan
aplikasi, yaitu membahas tentang kriptografi, algoritma RSA, algoritma
Rijndael, aplikasi email.

BAB III : ANALISA MASALAH DAN PERANCANGAN PROGRAM


pemecahan masalah yang mencakup identifikasi masalah dan strategi
pemecahan masalah. Serta analisa program aplikasi, rancangan layar
aplikasi, flowchart dan algoritma yang terdapat di dalam aplikasi.

BAB IV : IMPLEMENTASI DAN EVALUASI PROGRAM


Pada bab ini penulis membahas mengenai implementasi aplikasi, cara
pengoperasian aplikasi, evaluasi program yang mencakup kelebihan
program aplikasi dan kekurangan program aplikasi.

BAB V : PENUTUP
Bab ini berisi kesimpulan dari aplikasi yang telah dibuat, serta saran yang
dapat membangun agar aplikasi menjadi lebih baik.
BAB II
LANDASAN TEORI

1. Sejarah Kriptografi
Sejak 4000 tahun lalu kriptografi telah dikenal oleh orang-orang Mesir lewat
hieroglyph walaupun bukan dalam bentuk tulisan standar. Pada zaman Romawi Kuno,
Julius Caesar mengirimkan pesan rahasia kepada panglima perang di medan perang
dengan mengganti semua susunan alfabet dari: a b c d e f g h i j k l m n o p q r s t u
v w x y z, menjadi: d e f g h i j k l m n o p q r s t u v w x y z a b c.
Pada zaman Romawi Kuno istilah kriptografi dipergunakan untuk menandai
aktivitas rahasia. Dalam mengirim pesan Julius Caesar mengacak pesan dan sang
Jendral merapihkan, telah ada alat untuk mengirim pesan rahasia dengan nama
scytale yang digunakan oleh tentara Sparta. Scytale merupakan alat yang memiliki
pita panjang dari daun papirus dan sebatang silinder. Pesan ditulis diatas pita yang
dililitkan pada sebatang silinder, setelah itu pita dilepas dari batang silinder lalu
dikirim. Untuk membaca pesan, pita tersebut dililitkan kembali pada sebatang silinder
yang diameternya sama sehingga yang menjadi kunci pada Scytale adalah diameter
silinder.

Gambar 2. 1 : Scytate (Dony Ariyus, 2008)


Secara umum, sejarah perkembangan kriptografi dapat dibagi menjadi dua
bagian yaitu: kriptografi klasik dan kriptografi modern. Kriptografi klasik didefinisikan
sebagai kriptografi yang menggunakan tulisan-tulisan maupun dengan bantuan
peralatan-peralatan mekanis tertentu sedangkan kriptografi modern didefinisikan
sebagai kriptografi yang menggunakan proses-proses perhitungan matematis tertentu
dengan bantuan komputasi oleh komputer.
Berbeda dengan kriptografi klasik yang menitikberatkan kekuatan pada
kerahasiaan algoritma yang digunakan (yang artinya apabila algoritma yang
digunakan telah diketahui maka pesan sudah jelas bocor dan dapat diketahui isinya
oleh siapa saja yang mengetahui algoritma tersebut), kriptografi modern lebih
menitikberatkan pada kerahasiaan kunci yang digunakan pada algoritma tersebut
(oleh pemakainya) sehingga algoritma tersebut dapat saja disebarkan ke kalangan
masyarakat tanpa takut kehilangan kerahasiaan bagi para pemakainya (Dony Ariyus,
2008).

2. Pengertian Kriptografi
Kata cryptography berasal dari bahasa Yunani: crypto artinya tersembunyi atau
rahasia (hidden atau secret) dan graphia artinya tulisan (writing). Kriptografi adalah
ilmu dan seni untuk menjaga keamanan pesan ( message) (Schneier, 1996). Selain
pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik
matematika yang berhubungan dengan aspek keamanan informasi seperti
kerahasiaan, integritas data, serta otentikasi (Alvred J. Menezes, P. van Oorschot dan
S. Vanstone, 1996).

4
5

Sistem kriptografi (cryptosystem) terdiri dari algoritma kriptografi, plaintext,


ciphertext, dan kunci. Algoritma kriptografi (cipher) adalah aturan untuk enciphering
dan deciphering, atau fungsi matematika yang digunakan untuk encrypt dan decrypt
pesan. Plaintext adalah data atau informasi yang dapat dibaca dan dimengerti
maknanya. Ciphertext adalah pesan yang telah disandikan sehingga tidak dapat
dibaca oleh pihak yang tidak berhak (Rinaldi Munir, 2004)

Gambar 2. 2 : Proses encrypt dan decrypt (Rinaldi Munir, 2004)

3. Teknik Dasar Kriptografi


a. Subtitusi
Subtitusi adalah menukar urutan alfabet, baik secara berurutan ataupun
secara acak. Salah satu contoh teknik ini adalah Caesar Cipher. Langkah pertama
adalah membuat suatu tabel subtitusi. Tabel subtitusi dapat dibuat sesuka hati,
dengan catatan bahwa penerima pesan memiliki tabel yang sama untuk keperluan
dekripsi. Bila tabel subtitusi dibuat secara acak, akan semakin sulit pemecahan
ciphertext oleh orang yang tidak berhak (Dony Ariyus, 2008).

b. Blocking
Sistem enkripsi terkadang membagi plaintext menjadi blok-blok yang terdiri
dari beberapa karakter yang kemudian dienkripsi secara independen. Plaintext
yang dienkripsikan dengan menggunakan teknik blocking adalah : Dengan
menggunakan teknik blocking dipilih jumlah lajur dan kolom untuk penulisan
pesan. Jumlah alur kolom menjadi kunci bagi kriptografi dengan teknik ini.
Plaintext ditulis secara vertikal kebawah berurutan pada lajur, dan dilanjutkan pada
kolom berikutnya sampai seluruhnya tertulis. Ciphertext-nya adalah hasil
pembacaan plaintext secara horizontal berurutan sesuai dengan bloknya. Jadi
ciphertext yang dihasilkan dengan teknik ini adalah 5K G KRTDRAEAIFKSPINAT
IRO. Plaintext dapat pula ditulis secara horizontal dan ciphertext-nya adalah hasil
pembacaan secara vertikal.

Gambar 2. 3 : Contoh Teknik Blocking (Dony Ariyus, 2008)


6

c. Permutasi
Salah satu teknik enkripsi yang terpenting adalah permutasi atau sering juga
disebut transposisi. Teknik ini memindahkan atau merotasikan karakter dengan
aturan tertentu. Prinsipnya adalah berlawanan dengan teknik subtitusi. Dalam
teknik subtitusi, karakter berada pada posisi yang tetap tapi identitasnya diacak.
Pada teknik permutasi, identitas karakternya tetap, namun posisinya yang diacak.
Sebelum dilakukan permutasi, umumnya plaintext terlebih dahulu dibagi menjadi
blok-blok dengan panjang yang sama. Untuk contoh diatas, plaintext akan dibagi
menjadi blok-blok yang terdiri dari 6 karakter, dengan aturan permutasi sebagai
berikut :

Gambar 2. 4 : Contoh Teknik Permutasi (Dony Ariyus, 2008)

Dengan menggunakan aturan di atas, maka proses enkripsi dengan permutasi


dari plaintext adalah sebagai berikut :

Gambar 2. 5 : Enkripsi Dengan Teknik Permutasi (Dony Ariyus, 2008)

Chiphertext yang dihasilkan dengan teknik permutasi ini adalah N ETK5 SKD
AI IRK RA ATGORP FI.

d. Ekspansi
Suatu metode sederhana untuk mengacak pesan adalah dengan memelarkan
pesan itu dengan aturan tertentu. Salah satu contoh penggunaan teknik ini adalah
dengan meletakkan huruf konsonan atau bilangan ganjil yang menjadi awal dari
suatu kata di akhir kata itu dan menambahkan akhiran an. Bila suatu kata dimulai
dengan huruf vokal atau bilangan genap, ditambahkan akhiran i. Proses enkripsi
dengan cara ekspansi terhadap plaintext terjadi sebagai berikut :
7

Gambar 2. 6 : Enkripsi Dengan Teknik Ekspansi (Dony Ariyus, 2008)

Ciphertext-nya adalah 5AN EKNIKTAN ASARDAN RIPTOGRAFIKAN. Aturan


ekspansi dapat dibuat lebih kompleks. Terkadang teknik ekspansi digabungkan
dengan teknik lainnya, karena teknik ini bila berdiri sendiri terlalu mudah untuk
dipecahkan.

e. Pemampatan
Mengurangi panjang pesan atau jumlah bloknya adalah cara lain untuk
menyembunyikan isi pesan. Contoh sederhana ini menggunakan cara
menghilangkan setiap karakter ketiga secara berurutan. Karakter - karakter yang
dihilangkan disatukan kembali dan disusulkan sebagai lampiran dari pesan
utama, dengan diawali oleh suatu karakter khusus, dalam contoh ini digunakan
&. Proses yang terjadi untuk plaintext adalah :

Gambar 2. 7 : Enkripsi Dengan Teknik Pemampatan (Dony Ariyus,


2008)

Aturan penghilangan karakter dan karakter khusus yang berfungsi sebagai


pemisah menjadi dasar untuk proses dekripsi ciphertext menjadi plaintext kembali.
Dengan menggunakan kelima teknik dasar kriptografi diatas, dapat diciptakan
kombinasi teknik kriptografi yang amat banyak, dengan faktor yang membatasi
semata-mata hanyalah kreativitas dan imajinasi kita. Walaupun sekilas terlihat
sederhana, kombinasi teknik dasar kriptografi dapat menghasilkan teknik
kriptografi turunan yang cukup kompleks, dan beberapa teknik dasar kriptografi
masih digunakan dalam teknik kriptografi modern.
8

4. Aspek Kriptografi
Dalam kriptografi, ada aspeaspek penting yang juga merupakan aspekaspek
dalam keamanan informasi untuk menjamin sebuah informasi terlindungi dengan
aman dan tidak ada tangan yang menyentuh informasi tersebut. Ada empat aspek
dalam keamanan informasi, diantaranya :
f. Confidentially
Aspek ini ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-
pihak yang tidak berhak. Di dalam kriptografi, layanan ini direalisasikan dengan
menyandikan pesan menjadi ciphertext.

g. Authentication
Layanan yang berhubungan dengan identifikasi, baik mengidentifikasi
kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran
sumber pesan. Dua pihak yang saling berkomunikasi harus dapat mengotentikasi
satu sama lain sehingga ia dapat memastikan sumber pesan. Pesan yang dikirim
melalui saluran komunikasi juga harus diotentikasi asalnya. Otentikasi sumber
pesan secara implisit juga memberikan kepastian integritas data, sebab jika pesan
telah dimodifikasi berarti sumber pesan sudah tidak benar. Oleh karena itu,
layanan integritas data selalu dikombinasikan dengan layanan otentikasi sumber
pesan.

h. Integrity
Layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah
dimanipulasi selama pengiriman. Untuk menjaga integritas data, sistem harus
memiliki kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang
tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain
kedalam pesan yang sebenarnya.

i. Nonrepudiation
Layanan untuk mencegah entitas yang berkomunikasi melakukan
penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau
penerima pesan menyangkal telah menerima pesan.

5. Algoritma Kriptografi
Algoritma dalam kriptografi merupakan sekumpulan aturan (fungsi matematis
yang digunakan) untuk proses encrypt dan decrypt. Dalam beberapa metode
kriptografi terdapat beberapa perbedaan antara fungsi encrypt dan fungsi decrypt.
Tingkat keamanan suatu algoritma dalam kriptografi seringkali diukur dari
kuantitas proses yang dilakukan dalam suatu fungsi, baik itu fungsi encrypt maupun
fungsi decrypt. Proses tersebut juga dapat dihubungkan dengan sumber daya yang
dibutuhkan untuk mengerjakan fungsi tersebut, misalkan dengan waktu, uang, dan
lain-lain. Semakin besar proses yang dikerjakan, yang berarti juga semakin lama
waktu yang dibutuhkan, menunjukan semakin kuat algoritma kriptografi tersebut.
Pada kriptografi klasik, keamanan kriptografi terletak pada kerahasiaan algoritma
kriptografinya. Salah satu contohnya adalah mesin enigma yang dikeluarkan oleh
pemerintah Jerman pada masa Perang Dunia II. Namun, hal ini menjadi titik lemah
ketika algoritma ini bocor ke pihak yang seharusnya tidak berwenang sehingga
mengharuskan untuk menyusun suatu algoritma baru tanpa rasa khawatir akan
kebocoran informasi tersebut, sebab informasi tersebut hanya dapat di decrypt, oleh
pihak yang memang mempunyai kunci pribadi .
Algoritma kriptografi berdasarkan jenis kunci yang digunakan dapat dibedakan
menjadi dua jenis, yaitu :
9

a. Algoritma Asimetris
Kriptografi asimetris adalah algoritma yang menggunakan dua kunci yaitu
kunci publik (public key) dan kunci privat (private key). Jadi dalam kriptografi ini,
suatu kunci generator akan menghasilkan dua kunci berbeda dimana satu kunci
digunakan untuk melakukan proses encrypt dan kunci yang lain digunakan untuk
melakukan proses decrypt.
Kunci yang digunakan untuk melakukan proses encrypt akan dipublikasikan
kepada umum untuk dipergunakan secara bebas. Oleh sebab itu, kunci yang
digunakan untuk melakukan proses encrypt disebut juga kunci public. Sedangkan
kunci yang digunakan untuk melakukan decrypt akan disimpan oleh pembuat kunci
dan tidak akan dipublikasikan kepada umum. Kunci untuk melakukan decrypt ini
disebut dengan kunci pribadi (private key).

Gambar 2. 8 : Kriptografi Asimetris (Rinaldi Munir, 2004)

Dengan cara demikian, semua orang yang akan mengirimkan pesan kepada
pembuat kunci dapat melakukan proses encrypt terhadap pesan tersebut,
sedangkan proses decrypt hanya dapat dilakukan oleh pembuat atau pemilik kunci
decrypt. Dalam kenyataannya, kriptografi asimetris ini dipakai dalam SSH, suatu
layanan untuk mengakses suatu server.
Kelebihan dari kriptografi asimetris :
1) Masalah keamanan pada distribusi kunci dapat lebih baik atau tidak diperlukan
pengiriman kunci rahasia.
2) Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih
sedikit.
Kelemahan dari kriptografi asimetris :
1) Kecepatan proses encrypt dan decrypt yang lebih rendah bila dibandingkan
dengan algoritma simetris.
2) Untuk tingkat keamanan yang sama, kunci yang digunakan lebih panjang
dibandingkan dengan algoritma simetris.

Algoritma-algoritma yang termasuk kedalam kriptorafi asimetris diantaranya


adalah : Elliptic Curve Cryptography (ECC), Digital Signature Algorithm (DSA), LUC,
RSA, ELGAMAL, Diffie-Hellman (DH).

b. Algoritma Simetris
Kriptografi simetris atau secret key adalah kriptografi yang hanya melibatkan
satu kunci dalam proses encrypt dan decrypt. Pada sistem kriptografi simetris,
kunci untuk proses encrypt sama dengan kunci untuk proses decrypt. Keamanan
sistem kriptografi simetris terletak pada kerahasiaan kunci (Rinaldi Munir, 2004).
10

Gambar 2. 9 : Kriptografi Simetris (Rinaldi Munir, 2004)


Kelebihan dari kriptografi simetris :
1) Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetris.
2) Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem
real time.

Kelemahan dari kriptografi simetris :


1) Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci
yang berbeda pula, sehingga akan terjadi kesulitan dalam manajemen kunci
tersebut.
2) Permasalahan dalam pengiriman kunci itu sendiri yang disebut key distribution
problem.

Algoritma kriptografi simetris dapat dikelompokkan menjadi dua kategori


antara lain:
1) Cipher aliran (stream cipher)
Algoritma kriptografi beroperasi pada plaintext atau ciphertext dalam
bentuk bit tunggal yang dalam hal ini rangkaian bit dienkripsi atau didekripsi bit
per bit. Cipher aliran mengenkripsi satu bit setiap kali. Contoh algoritma stream
cipher: RC4, Panama dan Pike.

2) Cipher blok (block cipher)


Algoritma kriptografi beroperasi pada plaintext atau ciphertext dalam
bentuk blok bit, dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang
panjangnya sudah ditentukan sebelumnya. Cipher blok encrypt satu blok bit
setiap kali. Contoh algoritma block cipher: Rinjdael (AES-128), DES dan IDEA.
Pada cipher blok, plaintext di bagi menjadi beberapa blok dengan panjang
tetap. Ketika melakukan encrypt, cipher blok mungkin saja menerima input 128-
bit plaintext dan mengeluarkan 128-bit keluaran ciphertext. Transformasi
selengkapnya di control menggunakan masukan kedua yaitu kunci. Begitu pula
halnya dengan decrypt, algoritma untuk melakukan decrypt akan menerima
masukan 128-bit ciphertext dan kunci kemudian menghasilkan keluaran 128-
bit plaintext aslinya. Untuk lebih jelasnya proses encrypt dan decrypt pada
cipher blok dapat dilihat pada gambar berikut.
11

Gambar 2. 10 : Encrypt Blok Cipher (Rinaldi Munir, 2004)

Gambar 2. 11 : Decrypt Blok Cipher (Rinaldi Munir, 2004)

6. Algoritma RSA (Rivest-Shamir-Adleman)


a. Sejarah Algoritma RSA
Algortima RSA dijabarkan pada tahun 1976 oleh tiga orang : Ron Rivest, Adi
Shamir dan Len Adleman dari Massachusetts Institute of Technology . Huruf
'''RSA''' itu sendiri berasal dari inisial nama mereka (Rivest - Shamir
Adleman). Clifford Cocks, seorang matematikawan Inggris yang bekerja untuk
GCHQ, menjabarkan tentang sistem equivalen pada dokumen internal di tahun
1973. Penemuan Clifford Cocks tidak terungkap hingga tahun 1997 karena alasan
'' top - secret classification ''. Algoritma RSA dipatenkan oleh Massachusetts
Institute of Technology pada tahun 1983 di Amerika Serikat sebagai US paten
4405829. Paten tersebut berlaku hingga 21 September 2000. Setelah bulan
September tahun 2000, paten tersebut berakhir, sehingga saat ini semua orang
dapat menggunakannya dengan bebas.

b. Pengertian Algoritma RSA


RSA merupakan algoritma kriptografi asimetri, dimana kunci yang digunakan
untuk mengenkripsi berbeda dengan yang digunakan untuk mendekripsi. Kunci
yang digunakan untuk mengenkripsi disebut dengan kunci public, dan yang
digunakan untuk mendekripsi disebut dengan kunci privat. RSA adalah salah satu
algoritma kriptografi yang menggunakan konsep kriptografi kunci publik. RSA
membutuhkan tiga langkah dalam prosesnya, yaitu pembangkitan kunci, enkripsi,
12

dan dekripsi. Proses enkripsi dan dekripsi merupakan proses yang hampir sama.
Jika bilanegan acak yang dibangkitkan kuat, maka akan lebih sulit untuk
melakukan cracking terhadap pesan.

c. Properti Algoritma RSA


Besaran-besaran yang digunakan pada algoritma RSA :

1) p dan q bilangan prima (rahasia)


2) n=pq (tidak rahasia)
3) f(n) = (p 1)(q 1) (rahasia)
4) e (kunci enkripsi) (tidak rahasia)
5) d (kunci dekripsi) (rahasia)
6) m (plainteks) (rahasia)
7) c (cipherteks) (tidak rahasia)

d. Perumusan Algoritma RSA


Algoritma RSA didasarkan pada teorema Euler (lihat bahan kuliah Teori Bilangan)
yang menyatakan bahwa :

1) a harus relatif prima terhadap n


2) (n) = n(1 1/p1)(1 1/p2) (1 1/pr), yang dalam hal ini p1, p2, , pr
adalah faktor prima dari n.
3) (n) adalah fungsi yang menentukan berapa banyak dari bilangan-bilangan 1,
2, 3, , n yang relatif prima terhadap n.
4) Berdasarkan sifat a k b k (mod n) untuk k bilangan bulat 1, maka
persamaan dapat ditulis menjadi
a k(n) = 1k (mod n)
atau
a k(n) = 1 (mod n) (2.2)
5) Bila a diganti dengan m, maka persamaan menjadi
m k(n) = 1 (mod n) (2.3)
6) Berdasarkan sifat ac bc (mod n), maka bila persamaan dikali dengan m
menjadi:
m k(n) + 1 = m (mod n) (2.4)
yang dalam hal ini m relatif prima terhadap n.
7) Misalkan e dan d dipilih sedemikian sehingga
e d = 1 (mod (n)) (2.5)
atau
e d = k(n) + 1 (2.6)
8) Sulihkan (2.6) ke dalam persamaan (2.4) menjadi:
m e d = m (mod n) (2.7)
9) Persamaan (2.7) dapat ditulis kembali menjadi
(m e ) d = m (mod n) (2.8)
yang artinya, perpangkatan m dengan e diikuti dengan perpangkatan
dengan d menghasilkan kembali m semula.
10) Berdasarkan persamaan (2.8), maka enkripsi dan dekripsi dirumuskan sebagai
berikut:
Ee(m) = c me mod n (2.9)
Dd(c) = m cd mod n (2.10)
11) Karena e d = d e, maka enkripsi diikuti dengan dekripsi ekivalen
dengan dekripsi diikuti enkripsi:
Dd(Ee(m)) = Ee(Dd(m)) md mod n (2.11)
13

12) Oleh karena md mod n (m + jn)d mod n untuk sembarang bilangan bulat
j, maka tiap plainteks m, m + n, m + 2n, , menghasilkan cipherteks
yang sama. Dengan kata lain, transformasinya dari banyak ke satu.
Agar transformasinya satu-ke-satu, maka m harus dibatasi dalam himpunan
{0, 1, 2, , n 1} sehingga enkripsi dan dekripsi tetap benar seperti
pada persamaan (2.8) dan (2.9).

e. Algoritma membangkitkan kunci


1) Pilih dua buah bilangan prima sembarang, p dan q.
2) Hitung n = p q (sebaiknya p q, sebab jika p = q maka n = p2 sehingga p
dapat diperoleh dengan menarik akar pangkat dua dari n).
3) Hitung (n) = (p 1) (q 1)
4) Pilih kunci publik, e, yang relatif prima terhadap (n).
5) Bangkitkan kunci privat dengan menggunakan persamaan (2.5), yaitu
e d 1 (mod (n))
Perhatikan bahwa e d 1 (mod (n)) ekivalen dengan e d = 1 + k(n),
sehingga d dapat dihitung dengan
d = 1+ k(n) (2.12)
e
Akan terdapat bilangan bulat k yang memberikan bilangan bulat d. Hasil dari
algoritma di atas:
- Kunci publik adalah pasangan (e, n)
- Kunci privat adalah pasangan (d, n)
Catatan: n tidak bersifat rahasia, namun ia diperlukan pada perhitungan
enkripsi/dekripsi.
Contoh 2.1. Misalkan A akan membangkitkan kunci publik dan kunci privat
miliknya. A memilih p = 47 dan q = 71 (keduanya prima). Selanjutnya, A
menghitung
n = p q = 3337
dan
(n)= (p 1)(q 1) = 3220.
A memilih kunci publik e = 79, karena 79 relatif prima dengan 3220. A
mengumumkan nilai e dan n.
Selanjutnya A menghitung kunci dekripsi d seperti yang dituliskan pada
langkah instruksi 5 dengan menggunakan persamaan (2.12),
d = 1 + (k x 3220)
79
Dengan mencoba nilai-nilai k = 1, 2, 3, , diperoleh nilai d yang bulat adalah
1019. Ini adalah kunci privat untuk mendekripsi pesan. Kunci ini harus
dirahasiakan oleh A.
Kunci publik: (e = 79, n = 3337)
Kunci privat: (d = 1019, n = 3337)

f. Algoritma Enkripsi dan Dekripsi


1) Enkripsi
a) Ambil kunci publik penerima pesan, e , dan modulus n .
b) Nyatakan plainteks m menjadi blok-blok m 1 , m 2 , , sedemikian
sehingga setiap blok merepresentasikan nilai di dalam selang [0,n1].
c) Setiap blok mi dienkripsi menjadi blok ci dengan rumus

ci = mi e mod n
14

2) Dekripsi
a) Setiap blok cipherteks ci didekripsi kembali menjadi blok mi dengan rumus
mi = ci d mod n
Contoh 2.2. Misalkan B mengirim pesan kepada A. Pesan (plainteks) yang
akan dikirim oleh A adalah
m = HARI INI

atau dalam sistem desimal (pengkodean ASCII) adalah

7265827332737873

b) B memecah m menjadi blok yang lebih kecil, misalnya m dipecah menjadi


enam blok yang berukuran 3 digit:

m1 = 726 m4 = 273
m2 = 582 m5 =787
m3 = 733 m6 = 003

Jadi, cipherteks yang dihasilkan adalah

c = 215 776 1743 933 1731 158

c) Dekripsi dilakukan dengan menggunakan kunci privat

d = 1019

Blok-blok cipherteks didekripsikan sebagai berikut:


m 1 = 2151019 mod 3337 = 726
m 2 = 7761019 mod 3337 = 582
m 3 = 17431019 mod 3337 = 733

Blok plainteks yang lain dikembalikan dengan cara yang serupa. Akhirnya
kita memperoleh kembali plainteks semula

m = 7265827332737873

yang dalam sistem pengkodean ASCII adalah

m = HARI INI

g. Keamanan RSA
1) Kamanan algoritma RSA didasarkan pada sulitnya memfaktorkan bilangan
besar menjadi fakto-faktor primanya. Masalah pemfaktoran: Faktorkan n,
yang dalam hal ini n adalah hasil kali dari dua atau lebih bilangan prima. Pada
RSA, masalah pemfaktoran berbunyi: Faktorkan n menjadi dua faktor
primanya, p dan q, sedemikian sehingga n = p q.
2) Sekali n berhasil difaktorkan menjadi p dan q, maka (n) = (p 1) (q 1)
dapat dihitung. Selanjutnya, karena kunci enkrispi e diumumkan (tidak
rahasia), maka kunci dekripsi d dapat dihitung dari persamaan e d 1
(mod (n)). Penemu algoritma RSA menyarankan nilai p dan q panjangnya
lebih dari 100 digit. Dengan demikian hasil kali n = p X q akan berukuran
lebih dari 200 digit.
3) Menurut Rivest dan kawan-kawan, usaha untuk mencari faktor prima dari
bilangan 200 digit. membutuhkan waktu komputasi selama 4 milyar tahun,
sedangkan untuk bilangan 500 digit membutuhkan waktu 1025 tahun!
15

(dengan asumsi bahwa algoritma pemfaktoran yang digunakan adalah


algoritma yang tercepat saat ini dan komputer yang dipakai mempunyai
kecepatan 1 milidetik).

4) Untunglah algoritma yang paling mangkus untuk memfaktorkan bilangan


yang besar belum ditemukan. Selama 300 tahun para matematikawan
mencoba mencari faktor bilangan yang besar namun tidak banyak
membuahkan hasil. Semua bukti yang diketahui menunjukkan bahwa upaya
pemfaktoran itu luar biasa sulit.

5) Fakta inilah yang membuat algoritma RSA tetap dipakai hingga saat ini. Selagi
belum ditemukan algoritma yang mangkus untuk memfaktorkan bilangan
bulat menjadi faktor primanya, maka algoritma RSA tetap direkomendasikan
untuk mengenkripsi pesan.

7. Algoritma Rijndael
a. Sejarah Algoritma Rijndael
Algoritma Rijndael yang disosialisasikan oleh National Institute of Standard and
Technology (NIST) pada November 2001 lahir sebagai standar baru enkripsi yang
dikembangkan dai algoritma DES (Data Encryption Standard) melalui seleksi ketat
dengan algoritma lainnya. Algoritma ini dicetuskan oleh Vincent Rijmen dan Joan
Daemen menjadi pemenang saat lomba seleksi algoritma baru pengganti DES.
Alasan utama terpilihnya algoritma ini adalah algritma ini memiliki keseimbangan
antara keamanan serta fleksibilitas dalam berbagai platform software dan
hardware (Hanifah Fadhilah, 2012). Evaluasi terhadap Rijndael dijelaskan sebagai
berikut:
1) Belum ada jenis serangan yang telah diketahui yang dapat memecahkan
algoritma Rijndael.
2) Algoritma ini memakai S-Box nonlinier.
3) Rijndael tidak memakan banyak sumber daya komputasi. Kecepatan antara
dekripsi lebih lama daripada enkripsinya.

b. Pengertian Rijndael
Rijndael merupakan jenis algoritma kriptografi yang sifatnya simetri dan
cipher block. Dengan demikian algoritma ini menggunakan kunci yang sama pada
saat enkripsi dan dekripsi serta input dan output-nya berupa blok dengan jumlah
bit tertentu. Algoritma Rijndael mendukung berbagai variasi ukuran kunci yang
akan digunakan. Namun algoritma Rijndael mempunai ukuran kunci yang tetap
sebesar 128, 192, dan 256 bit.
Pemilihan ukuran kunci akan menentukan jumlah iterasi yang harus dilalui
untuk proses enkripsi dan dekripsi. Proses yang dilakukan setiap rondenya identik
(dari ronde ke-0 sampai dengan ronde ke Nr-1), kecuali untuk ronde terakhir Nr.
Proses yang identik tersebut terdiri atas SubBytes(), ShiftRows(), MixColumns(),
dan AddRoundKey(). Sedangkan pada ronde terakhir Nr tidak dilakukan fungsi
MixColumns().
Array 4 x 4 byte plaintext yang disebut state dioperasikan XOR dengan kunci,
kemudian diolah sebanyak 9 ronde dengan operasi SubBytes, ShiftRows,
MixColumns, AddRoundKey. Tiap ronde akan memilki round key yang diturunkan
dari kunci utama. Pada ronde terakhir (ronde 10) tidak dilakukan proses
MixColumns, keseluruhan proses enkripsi ini akan mengasilkan cipher 4 x 4 byte.
16

c. AddRoundKey

Gambar 2. 12 : Tahap AddRoundKey

Dalam tahap AddRoundKey, setiap byte dari state digabungkan dengan


sebuah byte dari sub-kunci ronde, penggabungan ini menggunakan operasi XOR
(). Untuk setiap rondenya, sebuah sub-kunci diturunkan dari kunci utama
menggunakan penjadwalan kunci (Key Scheduling), setiap kunci mempunyai
panjang yang sama dengan state.

d. SubBytes()

Gambar 2. 13 : Tahap SubBytes


Dalam tahap SubBytes, setiap byte dalam state diganti dengan
masukannya dalam sebuah tabel lookup 8-bit, S; bij = S(aij), tabel tetap ini
disebut S-box (singkatan dari Subtitution box kotak subtitusi). Operasi ini akan
memberikan prinsip non-linieritas pada cipher. S-box yang digunakan diturunkan
dari fungsi invers dalam GF (28), yang diketahui mempunyai sifat non-linieritas
yang bagus. Untuk menghindari serangan yang berdasarkan sifat aljabar
sederhana, S-box dibangun dengan menggabungkan fungsi invers dengan
sebuah transformasi affine yang dapat dibalik. S-box juga dipilih untuk
menghindari adanya nilai tetap, dan juga adanya nilai tetap yang berlawanan.
17

Tabel 2. 1 : S-box Rijndael

e. ShiftRows

Gambar 2. 14 : Tahap ShiftRows


Tahap ShiftRows akan menggeser ke kiri secara berputar setiap bytes
dalam setiap baris dari state. Jumlah pergeseran tiap byte berbeda untuk setiap
barisnya. Baris pertama akan tetap pada keadaan semula. Setiap byte dari baris
kedua digeser satu langkah ke kiri. Baris ketiga dan keempat digeser ke kiri
sebanyak dua dan tiga langkah. Untuk ukuran blok 128 bit dan 192 bit pola
pergeserannya sama. Dalam hal ini, setiap kolom dari state keluaran dari tahap
ShiftRows disusun dari byte dari setiap kolom dari state masukan. Untuk ukuran
blok 256 bit, baris pertama tidak berubah posisinya dan pergeseran untuk baris
kedua, ketiga, dan keempat adalah 1 byte,2 byte, dan 4 byte.
18

f. MIXColumns

Gambar 2. 15 : Tahap MixColumns


Tahap MixColumns dapat dilakukan dengan mengalikan empat angka dari
kolom state dalam GF(28) dengan matriks berikut:

[3 1 1 2 ][a3 ]

2 311 a0

1 2 31 a1

1 1 23 a2

Matriks tersebut juga dapat dinyatakan dengan:

r0 = 2a0 + a3 + a2 + 3a1
r1 = 2a1 + a0 + a3 + 3a2
r2 = 2a2 + a1 + a0 + 3a3
r3 = 2a3 + a2 + a1 + 3a0

Karena perhitungan ini dilakukan dalam Galois Field milik Rijndael GF(28),
maka operasi penjumlahan sebenarnya adalah operasi XOR.

g. Algoritma Enkripsi dan Dekripsi


1) Enkripsi
proses enkripsi Rijndael diawali dengan proses AddRoundKey diikuti
sembilan iterasi dengan struktur yang tersusun atas empat proses yaitu
SubBytes, ShiftRows, MixColumns, dan AddRoundKey. Akhir proses enkripsi
yaitu iterasi kesepuluh yang tersusun atas tiga proses terurut SubBytes,
ShiftRows, dan AddRoundKey yang keseluruhan proses tersebut diiringi
proses Key schedule bagi setiap iterasi. Seluruh fungsi operasi (penjumlahan
dan perkalian) yang tercakup dalam AES merupakan opersi-opersi yang
didefinisikan dalam ruang lingkup GF (28 ) dengan polynomial Irreducible
pembangkit f(x) = 8 + 4 + 3 +x+1.
19

Gambar 2. 16 : Bagan Proses Enkripsi

2) Dekripsi
Urutan proses dekripsi Rijndael merupakan kebalikan dari proses
enkripsinya dan menggunakan invers dari tiap transformasi enkripsi.

Gambar 2. 17 : Bagan Proses Dekripsi

h. Keamanan Rijndael
Untuk Rijndael, tipe serangan square attacks cukup menjadi dikenal
sebagai serangan terbaik terhadap Rijndael. Square attacks adalah serangan yang
memanfaatkan struktur orientasi byte. Algoritma ini bekerja dengan baik pada
square cipher yang bekerja dalam 6 putaran. Apabila Rijndael dengan kunci
sepanjang 128 bit, maka serangan ini lebih cepat dari pada exhaustive search
hingga 6 kali iterasi Rijndael.
20

8. Jurnal Referensi
a. Judul : Studi Dan Implementasi Algoritma RSA Untuk Pengamanan Data
Transkrip Akademik Mahasiswa
Penulis : Tri Rahajoeningroem dan Muhammad Aria, 2012
Kesimpulan :

Dalam penulisan ini di jelaskan bahwa algoritma RSA dibuat oleh tiga orang
peneliti dari MIT (Massachussets Institute of Technology ) pada tahun 1976, yaitu
Ron Rivest, Adi Shamir dan Leonard Adleman. RSA adalah salah satu teknik
kriptografi dimana kunci untuk melakukan enkripsi berbeda dengan kunci untuk
melakukan dekripsi. Kunci untuk melakukan enkripsi disebut sebagai kunci publik,
sedangkan kunci untuk melakukan dekripsi disebut sebagai kunci privat. Orang
yang mempunyai kunci publik dapat melakukan enkripsi tetapi yang dalam
melakukan dekripsi hanyalah orang yang memiliki kunci privat. Kunci publik dapat
dimiliki oleh sembarang orang, tetapi kunci privat hanya dimiliki oleh orang
tertentu saja. Untuk pembangkitan pasangan kunci RSA, digunakan algoritma
sebagai berikut :
1) Dipilih dua buah bilangan prima sembarang yang besar, p dan q. Nilai p dan
q harus dirahasiakan.
2) Dihitung n = p x q. Besaran n tidak perlu dirahasiakan.
3) Dihitung m = (p 1)(q 1)
4) Dipilih sebuah bilangan bulat sebagai kunci publik, disebut namanya e, yang
relatif prima terhadap m. e relatif prima terhadap m artinya faktor pembagi
terbesar keduanya adalah 1, secara matematis disebut gcd (e,m) = 1. Untuk
mencarinya dapat digunakan algoritma Euclid
5) Dihitung kunci privat, disebut namanya d sedemikian agar (d x e) mod m =
1. Untuk mencari nilai d yang sesuai dapat juga digunakan algoritma
Extended Euclid. Maka hasil dari algoritma tersebut diperoleh : kunci publik
adalah pasangan (e,n) kunci privat adalah pasangan (e,m) n tidak bersifat
rahasia, namun ia diperlukan pada perhitungan enkripsi/dekripsi. Keamanan
algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan
non prima menjadi faktor primanya, yang dalam hal ini n = p x q. Jika n
berhasil difaktorkan menjadi p dan q, maka m = (p 1)(q 1) dapat dihitung.
Dan karena kunci enkripsi e telah diumumkan (tidak dirahasiakan), maka
kunci dekripsi d dapat dihitung melalui persamaan (d x e) mod n = 1.
6) Selama belum ditemukan cara untuk memfaktorkan bilangan besar menjadi
faktor-faktor primanya, maka selama itu pula keamanan algoritma RSA
terjamin. Penemu algoritma RSA menyarankan nilai p dan q panjangnya lebih
dari 100 digit. Dengan demikian hasil kali n = p x q akan berukuran lebih dari
200 digit. Dengan asumsi bahwa algoritma pemfaktoran yang digunakan
adalah algoritma yang tercepat saat ini dan komputer yang dipakai
mempunyai kecepatan 1 mili detik, menurut Rivest dan kawan-kawan, usaha
untuk mencari faktor bilangan 200 digit membutuhkan waktu komputasi
selama 4 milyar tahun.

b. Judul : Implementasi Algoritma Kriptografi RSA untuk Enkripsi dan Dekripsi


Penulis : Albert Ginting, R. Rizal Isnanto dan Ike Pertiwi Windasari, 2015
Kesimpulan :

Dalam penulisan ini di jelaskan bahwa Aplikasi yang menerapkan algoritma


kriptografi RSA ini berjalan dengan baik mampu dan menirima email, dan dapat
mengenkripsi dan dekripsi kotak masuk yang diterima. Dengan perangkat lunak
ini, tujuan penelitian tercapai yaitu keamanan dalam menerima email terjamin.
21

Ada pengamanan ganda untuk membuka pesan tersandi. Saat mendekripsi pesan
yang telah dienkripsi harus memamukkan password terlebih dahulu, apabila
masukan password salah pesan tidak akan didekripsi. Perangkat lunak ini hanya
mengamankan isi pesan masuk email bukan mengamankan jalur transfer email.
Pada aplikasi yang dikembangkan ini, satu pesan asli dapet menghasilkan
ciphertext yang berbeda-beda, Karena proses pembangkitan kunci RSA
didasarkan oleh nilai P dan Q yang acak. Pesan kesalahan akan ditampilkan
apabila terjadi kesalahan saat memasukan suatu nilai yang salah saat enkripsi
atau dekripsi pesan. Saat enkripsi masukan bit bernilai kosong dan saat dekripsi
masukan password salah.

c. Judul : Implementasi Kriptografi kunci Publik Dengan Algoritma RSA CRT Pada
Aplikasi Instant Messaging
Penulis : Ashari Arief dan Ragil Saputra, 2016
Kesimpulan :

Dalam penulisan ini di jelaskan bahwa Kemajuan teknologi komputer dan


telekomunikasi membantu dalam menyelesaikan banyak pekerjaan dengan
cepat, akurat, dan efisien. Salah satu kemajuan teknologi komunikasi yaitu
menghasilkan aplikasi instant messaging atau pesan instan. Instant messaging
merupakan fasilitas komunikasi chatting untuk para pengguna internet sehingga
user dapat berkomunikasi dengan cara mengirimkan pesan berupa teks dengan
user lain. Namun seiring dengan kemajuan teknologi, dengan semakin banyaknya
pengguna yang menggunakan aplikasi instant messaging terdapat dampak
negatif berupa penyadapan data khususnya saat terjadi komunikasi yang bersifat
rahasia dan penting sehingga aspek keamanan dalam pertukaran informasi
dianggap penting. Kriptografi adalah ilmu yang mempelajari teknik matematika
yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan,
integritas data, otentikasi entitas, dan otentikasi asal data. Kriptografi bertujuan
agar informasi yang bersifat rahasia dan dikirim melalui suatu jaringan, seperti
LAN atau internet, tidak dapat diketahui dan dimanfaatkan oleh orang lain atau
pihak yang tidak berkepentingan. RSA merupakan algoritma kriptografi kunci
publik atau sering disebut kunci asimetrik (kunci enkripsi dan kunci dekripsi
berbeda) sehingga tidak membutuhkan saluran yang aman untuk distribusi kunci.

d. Judul : Implementasi Algoritma Kriptografi RSA Pada Surat Elektronik ( E-Mail)


Penulis : Anang Paramita Wahyadyatmika, R. Rizal Isnanto dan Maman Somantri,
2012
Kesimpulan :

Dalam penulisan ini di jelaskan bahwa kemajuan teknologi informasi, muncul isu-
isu keamanan yang kemudian menjadi sebuah hal yang sangat penting. Karena
adanya dampak negatif dari perkembangan teknologi ini yaitu terjadinya
kejahatan-kejahatan cyber yang memanfaatkan celah keamanan yang ada untuk
masuk kedalam suatu jaringan dan melakukan manipulasi terhadap
data/informasi yang ditransmisikan. Oleh karena itu perlu adanya suatu aplikasi
yang mampu menjaga kerahasiaan dan keamanan proses pendistribusian
informasi salah satunya yaitu aplikasi email client. Aplikasi ini dirancang
menggunakan bahasa pemrograman PHP dengan mengimplementasikan
algoritma kriptografi RSA di dalamnya. Penelitian ini menghasilkan suatu aplikasi
email client yang terhubung langsung dengan jaringan internet. Dengan
mengimplementasikan algoritma kriptografi RSA pada aplikasi ini, membantu
pengguna untuk melakukan proses enkripsi pesan sebelum dikirimkan dan
22

melakukan proses dekripsi saat penerimaan pesan. Sehingga dengan


menggunakan aplikasi ini, pengguna untuk dapat melakukan proses distribusi
informasi secara aman.

e. Judul : Penerapan Algoritma Rijndael Dalam Pengenkripsian Data Rahasia


Penulis :Dedi Alyanto, 2016
Kesimpulan :

Dalam penulisan ini di jelaskan bahwa Data atau informasi merupakan salah satu
aset penting bagi suatu entitas maupun individual, oleh karena itu perlindungan
orisinalitas suatu data atau informasi dari pihak ketiga menjadi hal yang sangat
penting. Banyak algoritma kriptografi diciptakan untuk menjaga kerahasiaan dan
keamanan data-data tersebut. Dalam skripsi ini penulis mengaplikasikan
algoritma kriptografi Rijndael dalam pengamanan data. Diawali dengan
menganalisa cara kerja algoritma Rijndael kemudian merancang aplikasi yang
dapat mengenkripsi dan mendekripsi plainteks yang di-input user. Hasil evaluasi
memperlihatkan bahwa algoritma Rijndael dapat menghasilkan enkripsi yang
tidak dapat dibaca atau dimengerti manusia biasa, dan menghasilkan dekripsi
yang sama persis dengan plainteks awal yang di-input user.

f. Judul : Pengaruh Variasi Panjang Kunci, Ukuran Blok, dan Mode Operasi
Terhadap Waktu Eksekusi Pada Algoritma Rijndael
Penulis : Trihastuti Yuniati, Esti Suryani, Abdul Aziz, 2012
Kesimpulan :

Dalam penulisan ini di jelaskan bahwa Algoritma Rijndael merupakan salah satu
algoritma kriptografi yang berjalan pada mode operasi cipher blok. Rijndael
mendukung panjang kunci dan ukuran blok 128-bit sampai 256bit dengan step
32 bit. Paper ini membahas bagaimana pengaruh variasi panjang kunci, ukuran
blok dan mode operasi terhadap waktu eksekusi pada algoritma Rijndael.
Eksperimen dilakukan terhadap empat berkas pdf berukuran berbeda, 2.5 MB, 5
MB, 10 MB, dan 20 MB. Keempat berkas tersebut dilakukan enkripsi dan dekripsi
dengan berbagai kombinasi panjang kunci, ukuran blok, dan mode operasi.
Variasi panjang kunci dan ukuran blok adalah 128-bit, 192-bit, dan 256-bit, dan
variasi mode operasi adalah ECB, CBC, dan CFB. Tiap kombinasi diulang lima kali
untuk mendapatkan waktu eksekusi rata-ratanya. Hasil penelitian menunjukkan
bahwa kecepatan eksekusi pada mode ECB dan CBC sangat dipengaruhi oleh
jumlah putaran, dimana jumlah putaran tergantung pada panjang kunci dan
ukuran blok, sedangkan kecepatan eksekusi pada mode CFB relatif dipengaruhi
oleh ukuran blok.
BAB III
ANALISIS MASALAH DAN PERANCANGAN PROGRAM

1. Analisa Masalah
Data atau informasi merupakan aset yang berharga dan sangat penting untuk di
jaga, terutama apabila data tersebut bersifat rahasia dimana tidak sembarang orang
diperkenankan untuk mengetahui isi data tersebut, sehingga masalah keamanan data
menjadi salah satu aspek yang sangat penting untuk diperhatikan agar suatu data
dapat dijamin kerahasiaannya. Maka dari itu, dibutuhkan sebuah aplikasi yang
memiliki pengamanan ekstra agar pertukaran pesan atau informasi yang dikirimkan
bersifat konfidensial. Oleh sebab itu, CV. Global Entrepreneur Teknologi Solutions
(GETS) sebagai perusahaan yang bergerak di bidang jasa UI/UX (user inter face / user
experience) design dan development memiliki keinginan untuk menciptakan produk
atau aplikasi berbasis web yang dapat menjaga keamanan data dan informasi. Dalam
hal ini penulis mencoba mengimplementasikan kriptografi pada aplikasi berbasis
email.

2. Penyelesaian Masalah
Dari permasalahan yang telah diuraikan diatas, diperlukan adanya sebuah aplikasi
email berbasis web. Aplikasi tersebut menyediakan layanan pertukaran pesan atau
informasi yang dilengkapi dengan pengamanan pada data, agar isi data tersebut
terjaga kerahasiaannya. Sehingga penulis menggunakan teknik kriptografi yang
diharapkan dapat mengamankan data dari pihak-pihak yang tidak berwenang untuk
memanfaatkan data tersebut.

Untuk meningkatkan keamanan pada data, maka penulis menggunakan dua


algoritma kriptografi dalam menjaga kerahasiaan data pada aplikasi pertukaran pesan
tersebut. Dengan adanya aplikasi ini diharapkan dapat digunakan sebagai solusi dari
permasalahan tersebut. Dengan menggunakan algoritma RSA dan Rijndael maka
pertukaran pesan atau informasi antar pengguna dibuat seaman mungkin dari pihak-
pihak yang tidak berwenang untuk mengetahui pesan tersebut.

3. Rancangan Basis Data


a. Entity Relationship Diagram
Berikut ini adalah entity relationship diagram (ERD) yang digunakan untuk aplikasi
email :

Gambar 3. 1 : Entity Relationship Diagram

23
24

b. Logical Relational Structure


Berikut ini adalah logical relational structure (LRS) yang digunakan untuk aplikasi
email:

Gambar 3. 2 : Logical Relational Structure

c. Class Diagram
Berikut ini adalah class diagram yang digunakan untuk aplikasi email :

Gambar 3. 3 : Class Diagram


25

d. Spesifikasi Basis Data


Berikut ini adalah struktur-struktur tabel yang digunakan dalam pembuatan
database untuk aplikasi ini:
1) Nama Tabel : users
Isi : Data users
Primary Key : username

Tabel 3. 1 : Spesifikasi Basis Data Users

Field Name Data Type Length Keterangan


username Varchar 100 Nama User
email Varchar 100 Email User
password Varchar 100 Kata Sandi User
address Text 65535 Alamat User
RSA PrivateKey Text 65535 Kunci Private RSA
RSA Publickey Text 65535 Kunci Public RSA

2) Nama Tabel : mail_header


Isi : Data mail header
Primary Key : mail_id

Tabel 3. 2 : Spesifikasi Basis Data Mail Header

Field Name Data Type Length Keterangan


mail_id Integer 11 Id Mail
mail_from Varchar 255 Email Pengirim
mail_to Varchar 255 Email Penerima
mail_subject Varchar 255 Subjek email
message_from Text 65535 Pesan Pengirm
message_to Txet 65535 Pesan penerima
mail_date Timestamp 8 Tanggal Pesan
mail_status Tinyint 1 Status email
26

4. Rancangan Layar
Agar suatu aplikasi mudah digunakan, maka diperlukan user interface yang dapat
dengan mudah dimengerti oleh pengguna. Maka dari itu diperlukan rancangan layar
sebelum diimplementasikan dalam bentuk aplikasi. Berikut adalah rancangan layar
aplikasi Implementasi Kriptografi Pada Aplikasi Email Berbasis Web Menggunakan
Algoritma RSA dan Rijndael.
a. Rancangan Layar Halaman Home
Berikut adalah tampilan awal aplikasi, yang mana terdapat informasi tentang
GETS MAIL. Untuk melakukan proses login dapat memilih menu pages lalu klik
login. Berikut rancangan layar halaman home seperti pada gambar 3.4 di bawah
ini.

Gambar 3. 4 : Rancangan Layar Halaman Home


27

b. Rancangan Layar Halaman Login


Halaman login berfungsi agar pengguna dapat masuk ke aplikasi dan bisa
menggunakan aplikasi ini. Pengguna harus memasukkan email dan password,
kemudian pilih tombol sign in. Berikut rancangan layar halaman login seperti pada
gambar 3.5 di bawah ini.

Gambar 3. 5 : Rancangan Layar Halaman Login


c. Rancangan Layar Create Account
Halaman create account berfungsi agar pengguna dapat login ke aplikasi
email dan bisa menggunakan aplikasi ini. Pengguna harus create account terlebih
dahulu, kemudian pilih tombol create. Berikut rancangan layar halaman create
account seperti pada gambar 3.6 di bawah ini.

Gambar 3. 6 : Rancangan Layar Halaman Create Account


28

d. Rancangan Layar Halaman Compose


Halaman compose berfungsi agar pengguna dapat mengirim pesan masuk pada
aplikasi email. Untuk mengirim pesan, pengguna dapat mengklik menu compose.
Berikut rancangan layar halaman compose seperti pada gambar 3.7 di bawah ini.

Gambar 3. 7 : Rancangan Layar Halaman Compose


e. Rancangan Layar Halaman Inbox
Halaman inbox berfungsi agar pengguna dapat melihat semua pesan masuk
ada pada aplikasi email. Untuk melihat semua pesan masuk, pengguna dapat
mengklik menu inbox. Berikut rancangan layar halaman inbox seperti pada gambar
3.8 di bawah ini.

Gambar 3. 8 : Rancangan Layar Halaman Inbox


29

f. Rancangan Layar Halaman Reply Inbox


Halaman reply inbox berfungsi agar pengguna dapat membalas pesan masuk
yang ada dalam menu inbox pada aplikasi email. Untuk melakukan membalas
pesan masuk, pengguna dapat memilih menu inbox setelah masuk ke halaman
inbox. lalu klik email yang akan dibalas. setelah masuk kehalaman reply inbox. Lalu
Pengguna dapat membalas pesan. jika ingin kembali ke halaman inbox, pengguna
harus klik menu inbox. Berikut rancangan layar halaman reply message seperti
pada gambar 3.9 di bawah ini.

Gambar 3. 9 : Rancangan Layar Halaman Reply Inbox


g. Rancangan Layar Halaman Sent Mail
Halaman sent mail berfungsi agar pengguna dapat melihat semua pesan keluar
yang ada pada aplikasi email. Untuk melihat semua pesan keluar, pengguna dapat
mengklik menu sent. Berikut rancangan layar halaman sent mail seperti pada
gambar 3.10 di bawah ini.

Gambar 3. 10 : Rancangan Layar Halaman Sent Mail


30

h. Rancangan Layar Halaman Reply Sent Mail


Halaman reply sent mail berfungsi agar pengguna dapat membalas pesan
keluar yang ada dalam menu sent pada aplikasi email. Untuk melakukan membalas
pesan keluar, pengguna dapat memilih menu sent setelah masuk ke halaman sent.
lalu klik email yang akan dibalas. setelah masuk kehalaman reply sent mail. Lalu
Pengguna dapat membalas pesan. jika ingin kembali ke halaman sent mail
pengguna harus klik menu sent. Berikut rancangan layar halaman reply sent mail
seperti pada gambar 3.11 di bawah ini.

Gambar 3. 11 : Rancangan Layar Halaman Reply Sent Mail


i. Rancangan Layar Halaman Trash Mail
Halaman trash mail berfungsi agar pengguna dapat menghapus pesan masuk
maupun pesan keluar yang ada pada aplikasi email. Untuk melihat pesan yang
telah terhapus maka, pengguna dapat mengklik menu trash. Berikut rancangan
layar halaman trash mail seperti pada gambar 3.12 di bawah ini.

Gambar 3. 12 : Rancangan Layar Halaman Trash Mail


31

j. Rancangan Layar Halaman Reply Trash Mail


Halaman reply trash mail berfungsi agar pengguna dapat membalas pesan yang
sudah dihapus yang ada dalam menu trash pada aplikasi email. Untuk melakukan
membalas pesan yang sudah di hapus, pengguna dapat memilih menu trash
setelah masuk ke halaman trash. lalu klik email yang akan dibalas. setelah masuk
kehalaman reply trash mail. Lalu Pengguna dapat membalas pesan. jika ingin
kembali ke halaman sent mail pengguna harus klik menu trash. Berikut rancangan
layar halaman reply trash mail seperti pada gambar 3.13 dibawah ini.

Gambar 3. 13 : Rancangan Layar Halaman Reply Trash Mail


32

5. Flowchart dan Algoritma Aplikasi


Flowchart dan algoritma dari setiap proses pada setiap halaman akan dibahas
pada penjelasan berikut ini :
a. Flowchart Aplikasi
1) Flowchart Proses Halaman Home
Berikut ini adalah flowchart proses Halaman Home sebelum pengguna
dapat menggunakan aplikasi ini.

Gambar 3. 14 : Flowchart Proses Halaman Home


33

2) Flowchart Proses Halaman Login


Berikut ini adalah flowchart proses Halaman login sebelum pengguna
dapat menggunakan aplikasi ini.

Gambar 3. 15 : Flowchart Proses Halaman Login


34

3) Flowchart Proses Halaman Create Account


Berikut ini adalah flowchart proses halaman create account sebelum
pengguna dapat menggunakan aplikasi ini.

Gambar 3. 16 : Flowchart Proses Halaman Create Account


35

4) Flowchart Proses Halaman Compose


Berikut ini adalah flowchart proses halaman compose sebelum pengguna
dapat menggunakan aplikasi ini.

Gambar 3. 17 : Flowchart Proses Halaman Compose


36

5) Flowchart Proses Halaman Inbox


Berikut ini adalah flowchart proses halaman inbox sebelum pengguna
dapat menggunakan aplikasi ini.

Gambar 3. 18 : Flowchart Proses Halaman Inbox


37

6) Flowchart Proses Halaman Reply Inbox


Berikut ini adalah flowchart proses halaman reply Inbox sebelum
pengguna dapat menggunakan aplikasi ini.

Gambar 3. 19 : Flowchart proses Halaman Reply Inbox


38

7) Flowchart proses Halaman Sent Mail


Berikut ini adalah flowchart proses halaman sent mail sebelum pengguna
dapat menggunakan aplikasi ini.

Gambar 3. 20 : Flowchart Proses Halaman Sent Mail


39

8) Flowchart Proses Halaman Reply Sent Mail


Berikut ini adalah flowchart proses halaman reply sent mail sebelum
pengguna dapat menggunakan aplikasi ini.

Gambar 3. 21 : Flowchart Proses Halaman Reply Sent Mail


40

9) Flowchart Proses Halaman Trash Mail


Berikut ini adalah flowchart proses halaman trash mail sebelum
pengguna dapat menggunakan aplikasi ini.

Gambar 3. 22 : Flowchart Proses Halaman Trash Mail


41

10) Flowchart Proses Halaman Reply Trash Mail


Berikut ini adalah flowchart proses halaman reply trash mail sebelum
pengguna dapat menggunakan aplikasi ini.

Gambar 3. 23 : Flowchart Proses Halaman Reply Trash Mail


42

11) Flowchart Proses Pembangkit Kunci RSA


Dalam algoritma RSA akan mengalami proses pembangkitan kunci. Dalam
menentukan dua bilangan prima sebagai kunci adalah bilangan prima yang
besar, karena pemfaktoran dari dua bilangan prima yang besar sangat sulit,
sehingga keamanan pesan lebih terjamin. Dalam hal ini untuk mendapatkan
sebuah kunci publik dan kunci rahasia diperlukan proses pembangkitan kunci
terlebih dahulu. Berikut adalah flowchart proses pembangkitan kunci RSA
yang dapat dilihat pada gambar 3.24 sebagai berikut.

Gambar 3. 24 : Flowchart Proses Pembangkit Kunci RSA


43

Dalam flowchart proses pembangkit kunci RSA di gambar 3.24 diatas belum
selesai dan akan dilanjutkan ke dalam flowchart proses pembangkit kunci RSA
lanjutan yang akan dijelaskan pada gambar 3.25 di bawah ini.

Gambar 3. 25 : Flowchart Proses Pembangkit Kunci RSA


44

Pada Gambar 3.25 proses pembangkitan RSA juga belum selesai dan akan di
lanjutkan pada proses terakhir dari pembangkitan kunci algoritma RSA
tersebut dan akan di jelaskan pada gambar 3.26 di bawah ini.

Gambar 3. 26 : Flowchart Proses Pembangkit Kunci RSA


45

12) Flowchart Proses Enkripsi RSA


Proses enkripsi RSA menjelaskan tentang mengubah plinteks menjadi
ciphertext. Proses enkripsi dilakukan menggunakan kunci publik yang
diperoleh. Berikut adalah flowchart proses enkripsi algoritma RSA yang dilihat
pada gambar 3.27 di bawah ini.

Gambar 3. 27 : Flowchart Proses Enkripsi RSA


46

13) Flowchart Proses Dekripsi RSA


Berikut ini adalah flowchart proses dekripsi RSA sebelum pengguna dapat
menggunakan aplikasi ini.

Gambar 3. 28 : Flowchart Proses Dekripsi RSA


47

14) Flowchart Proses Enkripsi Rijndael


Berikut ini adalah flowchart proses enkripsi Rijndael sebelum pengguna
dapat menggunakan aplikasi ini.

Gambar 3. 29 : Flowchart Proses Enkripsi Rijndael


48

15) Flowchart Proses Dekripsi Rijndael


Berikut ini adalah flowchart proses dekripsi Rijndael sebelum pengguna
dapat menggunakan aplikasi ini.

Gambar 3. 30 : Flowchart Proses Dekripsi Rijndael


49

b. Algoritma Aplikasi
1) Algoritma Proses Halaman Home
Berikut ini adalah algoritma proses halaman home.

1. Start
2. Get User Account Manager
3. If User == true then
4. Call Halaman Home
5. Else
6. Set Message Error
7. Endif
8. If Pilih == true then
9. Call A
10. Else
11. End
12. Endif

2) Algoritma Proses Halaman Login


Berikut ini adalah algoritma proses halaman login.

1. Call Halaman Login


2. If Pilih == true then
3. Call B
4. Else
5. Input Email dan Password
6. Endif
7. If Username && Password == true then
8. Set Message Success
9. Save Data User
10. Else
11. Set Message Error
12. Go To line 6
13. EndIf
14. Call C

3) Algoritma Proses Halaman Create Account


Berikut ini adalah algoritma proses halaman create account.

1. Call Create Account Form


2. If Pilih == true then
3. Call A
4. Else
5. Input Data User
6. Endif
7. If Verifikasi Database==true then
8. Save Data User
9. Else
10. Set Message Error
11. EndIf
12. Go To Line 1
50

4) Algoritma Proses Halaman Compose


Berikut ini adalah algoritma proses halaman compose.

1. Call Halaman Compose


2. Input Email
3. Proses Pencarian Data Email
4. If Email == true then
5. Tambahkan Email
6. Else
7. Go To line 2
8. Endif
9. Go To line 5
10. If Tambah Email == true then
11. Input Subject dan Message = plaintext
12. Else
13. Go To line 2
14. Endif
15. Go To line 11
16. Get Public Key RSA and Rijndael
17. Encrypt RSA
18. Encrypt Rijndael
19. Get Message = Ciphertext
20. Save Data to Database
21. Go To Line 1

5) Algoritma Proses Halaman Inbox


Berikut ini adalah algoritma proses halaman inbox.

1. Get Data Message


2. Semua Pesan Masuk == ciphertext
3. Get Privatekey RSA and Rijndael
4. Decrypt Rijndael
5. Decrypt RSA
6. Get Pesan = plaintext
7. Show Message
8. Call Halaman Inbox
9. If Pilih Menu == true then
10. Ifelse Pilih Detail == true then
11. Call G
12. Else
13. If Pilih Compose == true then
14. Call D
15. Else
16. If Pilih Sent == true then
17. Call E
18. Else
19. If Pilih Trash == true then
20. Call F
21. Else
22. Go To Line 1
23. Endif
51

6) Algoritma Proses Halaman Reply Inbox


Berikut ini adalah algoritma proses halaman reply inbox.

1. Call Halaman Reply Inbox


2. Reply Pesan Masuk
3. Input Pesan
4. Get Public Key RSA and Rijndael
5. Encrypt RSA
6. Encrypt Rijndael
7. Get Message = Ciphertext
8. Save Data to Database
9. Go To Line 1

7) Algoritma Proses Halaman Sent Mail


Berikut ini adalah algoritma proses halaman sent mail.

1. Get Data Message


2. Semua Pesan Keluar == ciphertext
3. Get Privatekey RSA and Rijndael
4. Decrypt Rijndael
5. Decrypt RSA
6. Get Pesan = plaintext
7. Show Message
8. Call Halaman Sent Mail
9. If Pilih Detail == true then
10. Call H
11. Else
12. Go To Line 1
13. Endif

8) Algoritma Proses Halaman Reply Sent Mail


Berikut ini adalah algoritma proses halaman reply sent mail.

1. Call Halaman Reply Sent Mail


2. Reply Pesan Keluar
3. Input Pesan
4. Get Public Key RSA and Rijndael
5. Encrypt RSA
6. Encrypt Rijndael
7. Get Message = Ciphertext
8. Save Data to Database
9. Go To Line 1

9) Algoritma Proses Halaman Trash Mail


Berikut ini adalah algoritma proses halaman trash mail.

1. Get Data Message


2. Semua Pesan yang dihapus == ciphertext
3. Get Privatekey RSA and Rijndael
4. Decrypt Rijndael
5. Decrypt RSA
6. Get Pesan = plaintext
52

7. Show Message
8. Call Halaman Trash Mail
9. If Pilih Detail == true then
10. Call I
11. Else
12. Go To Line 1
13. Endif

10) Algoritma Proses Halaman Reply Trash Mail


Berikut ini adalah algoritma proses halaman reply trash mail.

1. Call Halaman Reply Trash Mail


2. Reply Pesan Trash
3. Input Pesan
4. Get Public Key RSA and Rijndael
5. Encrypt RSA
6. Encrypt Rijndael
7. Get Message = Ciphertext
8. Save Data to Database
9. Go To Line 1

11) Algoritma Proses Pembangkit Kunci RSA


Berikut ini adalah algoritma proses pembangkit kunci RSA.

1. Start
2. Choose 2 prime numbers
3. If y1= 1 && y2 = 1 then
4. Mencetak bilangan prima p dan q
5. Calculate n = p x q
6. Show n
7. Calculate ( n ) = (p 1)(q-1)
8. Show (n)
9. Choose e relatif Prima 1 < e < (n)
a. If e > 1 Then e < (n) true then
i. Algoritma Euclid gcd(e,(n)) = 1
b. Else
i. Go To Line 13
c. EndIf
d. Calculate invers of b algoritma euclid
e. Show kunci
f. Show kunci publik
g. Kunci publik dipublikasikan
10. Else
11. Go To Line 2
12. EndIf
13. End

12) Algoritma Proses Enkripsi RSA


Berikut ini adalah algoritma proses enkripsi RSA.

1. Start
2. Get Publickey (e,n)
53

3. Load plainteks
4. Convert Plainteks to ASCII Character

5. If n m then
6. Convert plainteks
7. Call method fast exponentiation
8. Get Cipherteks
9. Send Cipherteks to Receiver
10. Else
11. Go To Line 4
12. EndIf
13. End

13) Algoritma Proses Dekripsi RSA


Berikut adalah algoritma proses deskripsi RSA.

1. Start
2. Get Privatekey (d,n)
3. Get Cipherteks
4. Call method fast exponentiation
5. Convert m to ASCII Character
6. Get plainteks
7. End

14) Algoritma Proses Enkripsi Rijndael


Berikut adalah algoritma proses enkripsi Rijndael.

1. Start
2. Plain Text
3. AddRoundKey
4. SubBytes, ShiftRows, MixColumns, AddRoundKey
5. SubBytes, ShiftRowns, AddRoundkey
6. Chiper Text
7. End

15) Algoritma Proses Dekripsi Rijndael


Berikut adalah algoritma proses dekripsi Rijndael.

1. Start
2. Chiper Text
3. AddRoundKey, InvShiftRows, InvSubBytes
4. AddRoundKey, InvMixColumns, InvShiftRows, InvSubBytes
5. AddRoundKey
6. Plain Text
7. End
BAB IV
IMPLEMENTASI DAN UJI COBA PROGRAM

1. Kebutuhan Sistem
Berikut spesifikasi perangkat pendukung yang penulis gunakan untuk membuat
program ini :
a. Perangkat Keras (Hardware)
Perangkat keras yang digunakan untuk implementasi program ini adalah :
1) Processor : Intel Core i3-2328M
2) RAM : 6.00 GB
3) Harddisk : 500 GB

b. Perangkat Lunak (Software)


Perangkat lunak yang digunakan untuk implementasi program ini adalah :
1) Microsoft Windows 10.1 Proffesional 64-bit
2) Sublime Text 3
3) XAMPP Control Panel V3.2.2
4) SQLyog Ultimate

2. Implementasi Program
Pada bagian ini, akan dijelaskan mengenai langkahlangkah penggunaan aplikasi ini.
a. Tampilan Halaman Home
Halaman ini yang pertama kali tampil ketika aplikasi dijalankan. Untuk
melakukan proses login pilih menu pages kemudian pilih login. Tampilan
halamannya dapat dilihat pada gambar berikut.

Gambar 4. 1 : Tampilan Halaman Home

54
55

b. Tampilan Halaman Login


Pengguna harus mengisi email dan password kemudian pilih tombol login.
Tampilan halamannya dapat dilihat pada gambar berikut.

Gambar 4. 2 : Tampilan Halaman Login

c. Tampilan Halaman Create Account


Untuk dapat login, pengguna harus create account terlebih dahulu. Jika
pengguna sudah melakukan create account, kemudian pilih tombol create.
Tampilan halamannya dapat dilihat pada gambar berikut.

Gambar 4. 3 : Tampilan Halaman Create Account


56

d. Tampilan Halaman Inbox


Setelah pengguna berhasil melakukan proses login, maka akan tampil
halaman inbox. seperti gambar di bawah ini.

Gambar 4. 4 : Tampilan Halaman Inbox

e. Tampilan Halaman Reply Inbox


Pada saat pengguna ingin membalas pesan masuk. Pengguna dapat mengklik
reply, maka akan tampil halaman reply inbox. Seperti gambar di bawah ini.

Gambar 4. 5 : Tampilan Halaman Reply Inbox


57

f. Tampilan Halaman Compose


Pada saat pengguna ingin mengirim pesan ke email lain yang telah terdaftar
di aplikasi ini, maka akan tampil halaman compose. Seperti gambar di bawah ini.

Gambar 4. 6 : Tampilan Halaman Compose

g. Tampilan Halaman Sent Mail


Jika pengguna ingin melihan pesan keluar, maka pengguna akan mengklik
menu sent dan akan tampil halaman sent mail. Seperti gambar di bawah ini.

Gambar 4. 7 : Tampilan Halaman Sent Mail


58

h. Tampilan Halaman Reply Sent Mail


Pada saat pengguna ingin membalas pesan keluar. Pengguna dapat mengklik
reply, maka akan tampil halaman reply sent mail. Seperti gambar di bawah ini.

Gambar 4. 8 : Tampilan Halaman Reply Sent Mail

i. Tampilan Halaman Trash Mail


Jika pengguna ingin melihan pesan yang telah di hapus, maka pengguna akan
mengklik menu trash dan akan tampil halaman trash mail. Seperti gambar di bawah
ini.

Gambar 4. 9 : Tampilan Halaman Trash Mail


59

j. Tampilan Halaman Reply Trash Mail


Pada saat pengguna ingin membalas pesan yang di-delete. Pengguna dapat
mengklik reply, maka akan tampil halaman reply trash mail. Seperti gambar di
bawah ini.

Gambar 4. 10 : Tampilan Halaman Reply Sent

k. Tampilan Hasil Enkripsi


1) Berikut ini adalah tampilan hasil enkripsi di database:

Gambar 4. 11 : Hasil Enkripsi Di Database


60

2) Berikut ini adalah tampilan hasil enkripsi di aplikasi email:

Gambar 4. 12 : Hasil Enkripsi Di Aplikasi Email

3) Berikut ini adalah tampilan hasil enkripsi di gmail:

Gambar 4. 13 : Hasil Enkripsi Di Gmail


61

4) Berikut ini adalah tampilan hasil enkripsi di yahoo:

Gambar 4. 14 : Hasil Enkripsi Di Yahoo

3. Tabel Pengujian
Berikut merupakan tabel hasil dari percobaan enkripsi dan dekripsi dengan
menggunakan algoritma RSA dan Rijndael.

a. Tabel Percobaan Enkripsi


Waktu
No Plaintext Mail To Ciphertext Proses
Enkripsi

trDSSUz7TZdP5bEGUjGSW+o6fvz9Xa
hVFclzG41NsxRg+s5A3Bs0Tk7JA+u9
toper.acon
F4Tt413Vyp88zcnKM6dtKE3clp+8t9y
1 Kerja dimana?. g@yahoo.c 0.014 detik
wOeVs2C2JRR5M+8mgGwIA5zRtpAU
om
gdj+lpRAy78I9EeNv1Eg0wXXUO8k9N
Qf/V98DDs4AcJ5EEXQiR6y1NrNQr8=

AB4TBYPNcmH7D/MPvfhyHlf5S1foUZ
9/SqZzoOfnrBBmYRzqceNAInf5DY+z
dwika@gm TPtFmgUzkfLWGAUSKJ6NFuKsUbXwJ
2 Kuliah dimana?. 0.014 detik
ail.com xMKzKe+Xbm1fVtLUSyg0365JhHLstuj
pXww5h34NQobyZUq6RQlb+nA5ALU
45NQKVlPO1VSMqwOtmWFO3Wo=
62

krrkNBP2ABJQbUWK2fSXnkfmlsxSBJc
1DfqsisZEl8i6Qk+3b5gxLSvM8Br6r8h
Rumah nya Ryan@gm EsKs0+TCK/5u3prKj57YkzpcsLkoUSk
3 0.014 detik
dimana?. ail.com 3VKb1B89ioVgLn96GBAgdrVGTMru6p
hdPpitb7nSY5vTz+WgO2x5D9jg9J9F
1TYO9HSkjf/wY4X9SGx2o=

Tabel 4. 1 : Hasil Enkripsi

b. Tabel Percobaan Dekripsi


Waktu
No Ciphertext Mail To Plaintext Proses
Dekripsi

trDSSUz7TZdP5bEGUjGSW+o6fvz9Xah
VFclzG41NsxRg+s5A3Bs0Tk7JA+u9F4T
toper.acong
t413Vyp88zcnKM6dtKE3clp+8t9ywOeV
1 @yahoo.co Kerja dimana?. 0.012 detik
s2C2JRR5M+8mgGwIA5zRtpAUgdj+lp
m
RAy78I9EeNv1Eg0wXXUO8k9NlYD2+v
AcJ5EEXQiR6y1NrNQr8=

AB4TBYPNcmH7D/MPvfhyHlf5S1foUZ9/
SqZzoOfnrBBmYRzqceNAInf5DY+zTPtF
mgUzkfLWGAUSKJ6NFuKsUbXwJxMKzK dwika@gm
2 Kuliah dimana?. 0.012 detik
e+Xbm1fVtLUSyg0365JhHLstujpXww5 ail.com
h34NQobyZUq6RQlb+nA5ALUrZ28Oax
VSMqwOtmWFO3Wo=

krrkNBP2ABJQbUWK2fSXnkfmlsxSBJc1
DfqsisZEl8i6Qk+3b5gxLSvM8Br6r8hEsK
s0+TCK/5u3prKj57YkzpcsLkoUSk3VKb ryan@gmail Rumah nya
3 0.012 detik
1B89ioVgLn96GBAgdrVGTMru6phdPpit .com dimana?.
b7nSY5vTz+WgO2x5D9jg9J9FD1FEnbf
/wY4X9SGx2o=

Tabel 4. 2 : Hasil Dekripsi

4. Evaluasi Sistem
Setelah dilakukan analisa dari hasil pengujian aplikasi ini dapat ditemukan
beberapa kelebihan dan kekurangan dari aplikasi ini, yaitu sebagai berikut:

a. Kelebihan Aplikasi
1) Dalam pengiriman pesan antara pengguna aplikasi menggunakan kriptografi
sebagai pengamanan data untuk saling bertukar pesan, sehingga data yang
dikirimkan antara pengguna lebih aman dalam menjaga kerahasian data.
2) Dengan menerapkan algoritma RSA dan Rijdael pada proses pengiriman data
berupa teks, berjalan dengan baik sehingga isi pesan terjaga keaslian datanya.
63

b. Kekurangan Aplikasi
1) Jumlah karakter pesan atau teks yang dikirimkan antara pengguna dalam satu
kali proses pengirman berupa 65.535 karakter.
2) Pengiriman pesan hanya dapat berupa text atau string.
3) Kurangnya fitur dibandingkan dengan beberapa aplikasi email yang
berkembang saat ini.
BAB V
PENUTUP

Berdasarkan analisa yang dilakukan dimulai dari pengumpulan informasi, pemecahan


masalah hingga pengembangan aplikasi ini, maka dapat ditarik beberapa kesimpulan dan
saran yang perlu diperhatikan demi kesempurnaan aplikasi ini.

1. Kesimpulan
Dari adanya implementasi kriptografi RSA dan Rijndael pada aplikasi email, maka
penulis dapat mengambil hasil perancangan dan kesimpulan pada aplikasi ini sebagai
berikut :
a. Algoritma kriptografi RSA dapat di kombinasikan dengan algoritma Rijndael pada
aplikasi email berbasis web.
b. Untuk aplikasi email yang berkembang saat ini, dan pada aplikasi yang
dikembangkan pada tugas akhir ini sudah menggunakan kriptografi sebagai
pengaman data.
c. Dengan diterapkan algoritma RSA dan Rijndael pada proses pengiriman data maka
data yang tersimpan di database tidak dapat terbaca oleh pihak luar yang
berwenang untuk mengetahui isi data tersebut.

2. Saran
Aplikasi email ini masih memiliki beberapa kekurangan, sehingga diperlukan
saran demi membangun aplikasi ini agar menjadi lebih baik :
a. Pesan yang dikirimkan hanya berupa teks, sehingga kedepannya dapat
dikembangkan lagi untuk pengiriman berupa file dan image.
b. Aplikasi email ini dapat dikembangkan lagi menjadi berbasis Android.

64
DAFTAR PUSTAKA

Alyanto, D. (2016). Penerapan Algoritma Dalam pengenkripsian Data Rahasia.

Arief, A., & Saputra, R. (Mei 2016). Implementasi kriptografi kunci publik dengan algoritma
rsa-crt pada aplikasi instant messaging. Scientific Journal of Informatics Vol. 3, No. 1, e-
ISSN 2460 - 0040.

Ariyus, D. (2008). Pengantar Ilmu Kriptografi, Teori, Analisis dan Implementasi.


Yogyakarta: Andi.

Ginting, A., Isnanto, R. R., Windasari, P. I. (2015). Implementasi algoritma kriptografi RSA
untuk enkripsi dan dekripsi. Jurnal Teknologi dan Sistem Komputer, Vol 3, No. 2, e-ISSN
2338 0403.

Kromodimoeljo, Sentot 2009, Teori dan Aplikasi Kriptografi, Jakarta, SPK IT Consulting.

Menezes, Alvred J, Paul, C van Oorschot, Vanstone, Scott A 1996, Handbook of Applied
Cryptography, CRC Press, Inc.

Munir, Rinaldi 2004, Kriptografi. Bandung, Departemen Teknik Informatika Institut


Teknologi Bandung.

Rahajoeningroem, T., & Aria, M. (2012). Studi dan implementasi algoritma RSA untuk
pengamanan data transkrip akademik mahasiswa.

Schneier, Bruce 1996, Applied Cryptography Second Edition: Protocols, Algorithms, And
Source Code, New York, Jhon Wiley & Sons, Inc.

Wahyadyatmika, A. P., Isnanto, R. R., & Somantri, M. (DESEMBER 2014). Implementasi


algoritma kriptografi rsa pada surat elektronik (e-mail). Transient, VOL.3, NO. 4, 2-ISSN
2303 9927, 443.

Yuniata, T., Suryani, E., & Aziz, A. (JUNI 2012). Pengaruh Variasi Panjang Kunci, Ukuran
Blok, dan Mode Operasi Terhadap Waktu Eksekusi Pada Algoritma Rijndael. Jurnal IT
MART, VOL.1, NO. 1, e-ISSN 2301 7201.

65
LAMPIRAN-LAMPIRAN

66
67

Anda mungkin juga menyukai