implementasi kriptografi rsa (rivest shamir-...
TRANSCRIPT
IMPLEMENTASI KRIPTOGRAFI RSA (RIVEST-SHAMIR-
ADLEMAN) PADA SISTEM APLIKASI FILE TRANSFER
BERBASIS WEB : KRIPTOGRAFI RSA
TUGAS AKHIR
Disusun oleh:
IRWAN
201310150511002
JURUSAN D-III TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2017
ii
LEMBAR PERSETUJUAN
IMPLEMENTASI KRIPTOGRAFI RSA (RIVEST-SHAMIR-ADLEMAN)
PADA SISTEM APLIKASI FILE TRANSFER BERBASIS WEB :
KRIPTOGRAFI RSA
Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Ahli Madya
(A.Md.) Teknik Elektro Universitas Muhammadiyah Malang
Disusun Oleh:
Irwan
201310150511002
Diperiksa dan disetujui oleh:
Pembimbing I Pembimbing II
Denar Regata Akbi, S.Kom, M. Kom Khaeruddin, ST
NIDN : 0701058601 NIDN : 0718078603
iii
LEMBAR PENGESAHAN
IMPLEMENTASI KRIPTOGRAFI RSA (RIVEST-SHAMIR-ADLEMAN)
PADA SISTEM APLIKASI FILE TRANSFER BERBASIS WEB :
KRIPTOGRAFI RSA
Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Ahli Madya (A.Md.)
Teknik Elektro Universitas Muhammadiyah Malang
Disusun Oleh :
IRWAN
201310150511002
Tanggal Ujian : 24 Januari 2017
Periode Wisuda : Periode I – Tahun 2017
Disetujui Oleh :
1. Denar Regata Akbi, S.Kom., M. Kom (Pembimbing I)
NIDN : 0701058601
2. Khaeruddin, ST. (Pembimbing II)
NIDN : 0718078603
3. Eko Budi Cahyono, S.Kom., M.T (Penguji I)
NIP : 10895040330
4. Amrul Faruq, ST., M.Eng. (Penguji II)
NIDN : 0718028601
Mengetahui,
Ketua Jurusan Teknik Elektro
Ir. Nur Alif Mardiyah, M.T
NIP : 10892030257
iv
LEMBAR PERNYATAAN
Yang bertanda tangan dibawah ini :
NAMA : IRWAN
NIM : 201310150511002
FAK./JUR. : TEKNIK/D3 TEKNIK ELEKTRONIKA
Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul
“IMPLEMENTASI KRIPTOGRAFI RSA (RIVEST-SHAMIR-ADLEMAN)
PADA SISTEM APLIKASI FILE TRANSFER BERBASIS WEB :
KRIPTOGRAFI RSA” beserta isinya adalah karya saya sendiri dan bukan
merupakan karya tulis orang lain, baik berupa sebagian maupun seluruhnya,
kecuali dalam bentuk kutipaan yang telah disebutkan sumbernya.
Dengan demikian surat pernyataan ini saya buat dengan sebenar-benarnya.
Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam
karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini
maka saya siap menanggung segala bentuk resiko atau sanksi yang berlaku.
Malang, 3 Februari 2017
Yang membuat pernyataan
IRWAN
Mengetahui,
Pembimbing I Pembimbing II
Denar Regata Akbi, S.Kom., M.Kom. Khaeruddin, ST.
NIDN : 0701058601 NIDN : 0718078603
v
ABSTRAK
Kriptografi adalah sebuah ilmu yang mempelajari tentang penyembunyian huruf atau
tulisan sehingga membuat tulisan tersebut tidak dapat dimengerti atau dibaca, proses ini
disebut dengan enkripsi. Untuk membacanya kembali, dilakukan proses deskripsi atau
pengembalian ke tulisan aslinya, kriptografi ialah mengenai mengkonstruksi dan
menganalisis protokol komunikasi yang dapat memblokir lawan berbagai aspek dalam
keamanan informasi seperti data rahasia, integritas data, authentication, dan non-
repudansi merupakan pusat dari kriptografi modern. Kriptografi sendiri adalah sebuah
teknik rahasia dalam penulisan, dengan karakter khusus, dengan mengguanakan huruf
dan karakter di luar bentuk aslinya, atau dengan metode-metode lain yang hanya dapat
dipahami oleh pihak-pihak yang memproses kunci, juga semua hal yang ditulis dengan
cara seperti ini. Jadi, secara umun dapat diartikan sebagai seni menulis atau memecahkan
cipher.
Kata kunci : Kriptografi, Enkripsi, Dekripsi
vi
ABSTRACT
Cryptography is a study of the concealment of a letter or writing that makes the
text can not be understood or read, this process is called encryption. To read it again, a
process description or a return to the original writings, cryptography is about
constructing and analyzing the communication protocol that can block the opposing
various aspects of information security such as confidential data, data integrity,
authentication and non-repudansi is the center of modern cryptography. Cryptography
itself is a secret technique in writing, with a special character, with mengguanakan
letters and characters outside the original form, or by other methods that can only be
understood by the parties that process the key, is also all that is written in this way , So,
umun can be defined as the art of writing or break the cipher.
Keywords: Cryptography, Encryption, Decryption
vii
KATA PENGANTAR
Dengan memanjatkan puji syukur kehadirat Allah SWT. Atas limpahan
rahmat dan hidayah-NYA sehingga peneliti dapat menyelesaikan tugas akhir yang
berjudul :
“IMPLEMENTASI KRIPTOGRAFI RSA( RIVEST – SHAMIR –
ADLEMAN ) PADA SISTEM APLIKASI FILE TRANSFER BERBASIS
WEB : KRIPTOGRAFI RSA”.
Di dalam tulisan ini disajikan pokok – pokok bahasan yang meliputi :
1. Pengimplementasian Kriptografi RSA untuk mengamankan informasi yang
ada dalam sebuah file.
2. Pengujian fitur fungsional aplikasi dari proses generate key, enkripsi dan
dekripsi file.
3. Pengujian proses enkripsi dan dekripsi terhadap 10 format berkas yaitu : .txt,
.exe, .jpg, .doc, .pdf, .psd, .gif, .ppt, .rar dan .mp3.
Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini
masih banyak kekurangan dan keterbatasan. Oleh karena itu peneliti
mengharapkan saran yang membangun agar tulisan ini bermanfaat bagi
perkembangan ilmu pengetahuan kedepan.
Malang, 3 Februari 2017
Penulis
viii
DAFTAR ISI
Halaman
COVER ..................................................................................................................... i
LEMBAR PERSETUJUAN ................................................................................... ii
LEMBAR PENGESAHAN ................................................................................... iii
LEMBAR PERNYATAAN .................................................................................... iv
ABSTRAK ............................................................................................................... v
KATA PENGANTAR .......................................................................................... vii
DAFTAR ISI ........................................................................................................ viii
DAFTAR GAMBAR .............................................................................................. xi
DAFTAR TABEL ................................................................................................ xiii
DAFTAR GRAFIK ............................................................................................... xiv
BAB I PENDAHULUAN ........................................................................................ 1
1.1 Latar Belakang ........................................................................................... 1
1.2 Rumusan Masalah ...................................................................................... 2
1.3 Tujuan ........................................................................................................ 2
1.4 Batasan Masalah ........................................................................................ 3
1.5 Sistematika Penulisan ................................................................................ 3
BAB II LANDASAN TEORI .................................................................................. 5
2.1 Web ........................................................................................................... 5
2.2 Ubuntu ....................................................................................................... 5
2.3 Web Server ................................................................................................ 6
2.3.1 Apache ............................................................................................. 6
2.3.2 Nginx ................................................................................................ 6
2.4 PHP ( Personal Home Page ) .................................................................... 7
2.5 MySQL ( My Sctructured Query Language ) ........................................... 8
2.6 Pengertian Keamanan ............................................................................... 9
2.7 Pengertian Autentikasi ............................................................................ 10
2.8 Isms API ( Application Programming Interface ) ................................... 11
2.9 Definisi Kriptografi ................................................................................. 11
ix
2.9.1. Pengertian .................................................................................... 12
2.9.1.1 Pengiriman dan Penerimaan............................................ 12
2.9.1.2 Pesan, Plaintext, dan Chipertext ..................................... 12
2.9.1.3 Enkripsi dan Dekripsi ..................................................... 13
2.9.1.4 Algoritma Kriptografi dan Kunci .................................... 13
2.9.1.5 Sistem Kriptografi ........................................................... 13
2.9.1.6 Penyadap ......................................................................... 14
2.9.1.8 Tujuan Kriptografi .......................................................... 14
2.9.2 Konsep Matematis Kriptografi ................................................... 15
2.10 Algoritma RSA ..................................................................................... 16
2.10.1 Tujuan Umum ........................................................................... 16
2.10.2 Properti Algortima RSA .......................................................... 17
2.10.3 Perumusan Algoritma RSA ...................................................... 17
2.10.4 Algoritma Membangkitkan Pasangan Kunci ........................... 19
2.10.5 Algoritma Enkripsi dan Deskripsi ........................................... 20
2.10.5.1 Enkripsi ...................................................................... 20
2.10.5.2 Deskripsi ................................................................... 21
BAB III ANALISA DAN PERANCANGAN SISTEM ........................................ 23
3.1 Analisa Masalah ...................................................................................... 23
3.2 Analisa Kebutuhan Sistem ...................................................................... 24
3.2.1 Perangkat Keras (Hardware) .......................................................... 24
3.2.2 Perangkat Lunak ............................................................................ 24
3.2.3 Spesifikasi Pengguna ..................................................................... 24
3.2.4 Kebutuhan Sistem .......................................................................... 24
3.3 Perancangan Sistem ................................................................................ 25
3.3.1 Diagram Konteks ........................................................................... 26
3.3.2 Data Flow Diagram (DFD) ............................................................ 27
3.3.3 Diagram Use Case .......................................................................... 28
3.3.4 Activity Diagram ........................................................................... 29
3.3.4.1 Activity Diagram pada Proses Generate Key .................... 30
3.3.4.2 Activity Diagram pada Proses Enkripsi ............................. 30
x
3.3.4.3 Activity Diagram pada Proses Dekripsi ............................. 31
3.3.5 Statechart Flowchart ...................................................................... 31
3.3.6 Perancangan Antarmuka ................................................................ 35
3.3.6.1 Tampilan Antarmuka Halaman Utama .............................. 36
3.3.6.2 Tampilan Antarmuka Menu Utama ................................... 36
3.3.6.3 Tampilan Antarmuka Menu Daftar File............................. 37
3.3.6.4 Tampilan Antarmuka Halaman Enkripsi ........................... 37
3.3.6.5 Tampilan Antarmuka Halaman Dekripsi ........................... 38
BAB IV IMPLEMENTASI DAN PENGUJIAN .................................................. 39
4.1 Implementasi Antarmuka ........................................................................ 39
4.1.1 Tampilan Halaman Utama ............................................................ 39
4.1.2 Tampilan Menu Utama ................................................................. 40
4.1.3 Tampilan Menu Daftar File .......................................................... 41
4.1.4 Tampilan Halaman Enkripsi .......................................................... 41
4.1.5 Tampilan Halaman Dekripsi .......................................................... 42
4.2 Implementasi Proses ............................................................................... 42
4.2.1 Proses Generate Key ...................................................................... 43
4.2.2 Proses Enkripsi ............................................................................... 47
4.2.3 Proses Dekripsi .............................................................................. 52
4.3 Pengujian Kriptografi Secara Manual ..................................................... 55
4.3 Pengujian Aplikasi .................................................................................. 58
4.4.1 Pengujian Terhadap Format Berkas ............................................... 58
4.4.2 Pengujian Waktu Berdasarkan Ukuran File ................................... 59
4.4.3 Pengujian Ukuran File Terhadap proses Enkripsi dan Dekripsi .... 61
BAB V PENUTUP .............................................................................................. 64
5.1 Kesimpulan ............................................................................................. 64
5.2 Saran ....................................................................................................... 64
DAFTAR PUSTAKA ............................................................................................ 66
LAMPIRAN ........................................................................................................... 67
xi
DAFTAR GAMBAR
Halaman
Gambar 2.1 Proses Enkripsi dan Dekripsi ............................................................. 13
Gambar 2.2 Proses Enkripsi dan Dekripsi dengan Kunci ...................................... 16
Gambar 3.1 Diagram Konteks Proses Enkripsi dan Dekripsi ................................ 26
Gambar 3.2 Data Flow Diagram Proses Enkripsi dan Dekripsi ............................ 27
Gambar 3.3 Diagram Use Case .............................................................................. 28
Gambar 3.4 Activity Diagram Proses Generate Key ............................................. 30
Gambar 3.5 Activity Diagram Proses Enkripsi ...................................................... 30
Gambar 3.6 Activity Diagram Proses Dekripsi ..................................................... 31
Gambar 3.7 Flowchart Proses Generate Key ......................................................... 32
Gambar 3.8 Flowchart Proses Enkripsi ................................................................. 33
Gambar 3.9 Flowchart Proses Dekripsi ................................................................. 34
Gambar 3.10 Perancangan Antarmuka Halaman Utama ....................................... 36
Gambar 3.11 Perancangan Antarmuka Menu Utama ............................................ 36
Gambar 3.12 Perancangan Antarmuka Daftar File ................................................ 37
Gambar 3.10 Perancangan Antarmuka Halaman Enkripsi .................................... 37
Gambar 3.10 Perancangan Antarmuka Halaman Dekripsi .................................... 38
Gambar 3.14 Perancangan Antarmuka Halaman Utama ....................................... 38
Gambar 4.1 Tampilan Halaman Utama ................................................................. 40
Gambar 4.2 Tampilan Menu Utama ...................................................................... 40
Gambar 4.3 Tampilan Daftar File .......................................................................... 41
Gambar 4.4 Tampilan Halaman Enkripsi .............................................................. 41
Gambar 4.5 Tampilan Halaman Dekripsi .............................................................. 42
Gambar 4.6 Pengujian Tombol Generate Key ....................................................... 43
Gambar 4.7 CPanel Tempat Menyimpan Publik Key............................................ 45
Gambar 4.8 Private Key Terdownload .................................................................. 46
Gambar 4.9 Tombol Choose File To Upload ......................................................... 47
Gambar 4.10 File Guide DDN Demo.txt ............................................................... 47
xii
Gambar 4.11 File Terenkripsi dan Tersimpan di CPanel....................................... 50
Gambar 4.12 Ukuran File Asli dan Terenkripsi ..................................................... 51
Gambar 4.13 Isi File Asli dan Terenkripsi ............................................................. 51
Gambar 4.14 Link Hasil Proses Enkripsi ............................................................... 52
Gambar 4.15 Tampilan Halaman Dekripsi dan Private Key yang Terpilih ........... 54
Gambar 4.16 Tampilan File Terdekripsi dan Terdownload ................................... 54
Gambar 4.17 Tampilan Jika Private Key yang Dimasukkan Salah ....................... 55
Gambar 4.18 Tampilan Situs ................................................................................. 55
Gambar 4.19 Publik Key dan Private Key Cocok ................................................. 56
Gambar 4.20 Publik Key dan Private Key Tidak Cocok ....................................... 56
Gambar 4.21 Hasil Pengujian Publik Key dan Private Key .................................. 57
xiii
DAFTAR TABEL
Halaman
Tabel 2.1 Besar – besaran yang digunakan pada Algoritma RSA ......................... 17
Tabel 3.1 Kebutuhan Sistem .................................................................................. 25
Tabel 3.2 Keterangan Use Case Diagram .............................................................. 29
Tabel 4.1 Pengujian Terhadap Format Berkas ....................................................... 58
Tabel 4.2 Pengujian Waktu Berdasarkan Ukuran File (Bandwidth 20 MB) ......... 59
Tabel 4.3 Pengujian Waktu Berdasarkan Ukuran File (Bandwidth 10 MB) ......... 60
Tabel 4.4 Pengujian Ukuran File Terhadapat Proses Enkripsi dan Dekripsi ......... 62
xiv
DAFTAR GRAFIK
Halaman
Grafik 4.1 Waktu Komputasi Berdasarkan Ukuran File (Bandwidth 20MB) ....... 60
Grafik 4.2 Waktu Komputasi Berdasarkan Ukuran File (Bandwidth 10MB) ....... 61
Grafik 4.3 Ukuran File Terhadap Proses Enkripsi dan Dekripsi ........................... 62
xv
DAFTAR PUSTAKA
[1] Khairina Marisa Dyna. 2011. ANALISIS KEAMANAN SISTEM LOGIN
: 6
[2] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P.,
Luotonen, A., and Stewart, L. 1999. Authentication: Basic and Digest
Access Authentication
[3] Lamsani, Missa. 2005. Bahan Kuliah Komunikasi Data
[4] Munir, Rinaldi. 2004. Bahan Kuliah ke-1 IF5054 Pengantar Kriptografi
[5] Bagir, Muhammad. 2011. Pembuatan Website E-Commerce Di PT. Batik
Rahmawati Surakarta.
[6] Ubuntu : https://www.linux.com/what-is-linux
[7] Apriyanto, N. Candra. 2011. Sistem Informasi Penualan Arloji Berbasis
Web pada CV. SINAR TERANG SEMARANG, Yogyakarta : Universitas
Pembangunan Nasional “Veteran”.
[8] Apache : https://httpd.apache.org
[9] Nginx : https://www.nginx.com/resources/wiki/
[10] M. Abrams and P. Brusil. 2000; Computer Security Journal : 2
[11] Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P.,
Luotonen, A., and Stewart, L. 1999. HTTP Authentication: Basic and
Digest Access Authentication.
[12] iSMS : http://isms.co.id/
[13] Munir, Rinaldi. 2006. Bahan Kuliah ke-1 IF5054 Pengantar Kriptografi
[14] Rosnawan, Dadan. 2011. Aplikasi Algoritma RSA Untuk Kemanan Data
Pada Sistem Informasi Berbasis Web
[15] Arif, Muhammad, Fitriyani, Ikhsan, Nurul. Kriptografi RSA Pada Aplikasi
File Transfer Client – Server Based. 1.3 (2015): 2407 – 3911.