• Tidak ada hasil yang ditemukan

Final Skripsi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Final Skripsi"

Copied!
79
0
0

Teks penuh

(1)

i

TUGAS AKHIR

Oleh :

YOGI DAMARA PUTRA

1211510498

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS BUDI LUHUR

JAKARTA

2017

LEMBAR JUDUL

(2)

ii

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

(3)

iii

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

(4)

iv

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 (userinterface / userexperience) design dan development. Berfokus pada pengembangan desain tampilan pada halaman web dan mobileAndroid 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

(5)

v

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

(6)

vi

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

(7)

vii

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

(8)

viii

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

(9)

ix

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

(10)

x

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.

(11)

xi

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

(12)

xii

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

(13)

1

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

mobileAndroid 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

(14)

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 RSAdan 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 :

(15)

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.

(16)

4

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

(17)

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)

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) Gambar 2. 2 : Proses encrypt dan decrypt (Rinaldi Munir, 2004)

(18)

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 :

(19)

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.

(20)

4. Aspek Kriptografi

Dalam kriptografi, ada aspe–aspek penting yang juga merupakan aspek–aspek 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 :

(21)

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 kunciyang 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).

(22)

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

(23)

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 („R‟ivest - „S‟hamir – „A‟dleman). 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,

(24)

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 = p × q (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:

(25)

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,n–1]. c) Setiap blok mi dienkripsi menjadi blok ci dengan rumus

(26)

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!

(27)

(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 EncryptionStandard) 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-Boxnonlinier.

3) Rijndael tidak memakan banyak sumber daya komputasi. Kecepatanantara

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

(28)

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.

(29)

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.

(30)

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 3 1 1 a0 1 2 3 1 a1 1 1 2 3 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 Keyschedule 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

(31)

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

(32)

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 (MassachussetsInstituteofTechnology ) 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

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

(33)

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 InstantMessaging

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

(34)

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-inputuser. 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, EstiSuryani, AbdulAziz, 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.

(35)

23

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 :

(36)

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 :

(37)

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 mailheader

Primary Key : mail_id

Tabel 3. 2 : Spesifikasi Basis Data MailHeader 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

(38)

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.

(39)

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 CreateAccount

Halaman create account berfungsi agar pengguna dapat login ke aplikasi

email dan bisa menggunakan aplikasi ini. Pengguna harus createaccount terlebih dahulu, kemudian pilih tombol create. Berikut rancangan layar halaman create account seperti pada gambar 3.6 di bawah ini.

(40)

d. Rancangan Layar Halaman Compose

Halaman compose berfungsi agar pengguna dapat mengirim pesan masuk pada aplikasi email. Untuk mengirim pesan, pengguna dapat mengklik menucompose. 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 menuinbox. Berikut rancangan layar halaman inbox seperti pada gambar 3.8 di bawah ini.

(41)

f. Rancangan Layar Halaman ReplyInbox

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 replyinbox. 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 ReplyInbox g. Rancangan Layar Halaman SentMail

Halaman sentmail 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.

(42)

h. Rancangan Layar Halaman ReplySent 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 menusent 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 menusent. 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 TrashMail

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 trashmail seperti pada gambar 3.12 di bawah ini.

(43)

j. Rancangan Layar Halaman ReplyTrash Mail

Halaman replytrash mail berfungsi agar pengguna dapat membalas pesan yang sudah dihapus yang ada dalam menutrash 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 menutrash. Berikut rancangan layar halaman replytrash mail seperti pada gambar 3.13 dibawah ini.

(44)

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 ProsesHalaman Home

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

(45)

2) Flowchart Proses Halaman Login

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

(46)

3) Flowchart Proses Halaman CreateAccount

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

(47)

4) Flowchart Proses Halaman Compose

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

(48)

5) Flowchart Proses Halaman Inbox

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

(49)

6) Flowchart Proses Halaman ReplyInbox

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

(50)

7) Flowchart proses Halaman SentMail

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

(51)

8) Flowchart Proses Halaman ReplySentMail

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

(52)

9) Flowchart Proses Halaman TrashMail

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

(53)

10) Flowchart Proses Halaman Reply TrashMail

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

(54)

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

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. 13 : Tahap  SubBytes
Gambar 2. 15 : Tahap  MixColumns
Gambar 2. 16 : Bagan Proses Enkripsi  2)  Dekripsi
+7

Referensi

Dokumen terkait

Candida albicans dianggap sebagai spesies yang paling patogen dan menjadi penyebab terbanyak kandidiasis, tetapi spesies lain ada juga yang dapat menyebabkan penyakit

Selain itu, peneliti ingin mengetahui apakah pelatihan goal setting dapat meningkatkan motivasi belajar bahasa Arab pada siswa kelas XI di SMA “X” Yogyakarta,

Teknik tes yang dilakukan sebanyak dua kali yaitu sebelum eksperimen (pre-test) dan sesudah eksperimen (post-test). Desain atau pola yang dilakukan dalam penelitian ini adalah

Semasa menggunakan alat kawalan jauh, sekiranya tidak ada tindak balas daripada unit penghawa dingin atau paparan pada alat kawalan jauh semakin hilang atau malap, bateri yang

Sejauh ini mengapa banyak yang mengatakan bahwa pekerjaan sebagai pegawai perbankan sangatlah sulit, itu juga didukung dengan pernyataan bahwa banyaknya kriteria

Orang-orang dizaman purba bahkan mungkin telah mengajarkan bahwa Baal atau Molokh adalah satu-satunya Tuhan yang benar dan yang Maha Kuasa, namun itu tidak

Melalui berbagai strategi yang digunakan untuk tujuan sebagai penguasa pasar energi dunia, maka Rusia harus memiliki suatu keputusan akan pentingnya strategi yang harus

tinggi dari stasiun lainnya, karena lokasinya lebih dekat kearah laut. Sementara lokasi Stasiun I dan II terletak lebih kearah daratan, sehingga dekat dengan