47
PERANCANGAN DAN PEMBUATAN APLIKASI KRIPTOGRAFI BERBASIS WEB
MENGGUNAKAN ALGORITMA RSA
Imam Marzuki
Program Studi Teknik Elektro Fakultas Teknik Universitas Panca Marga Probolinggo
Jl. Yos Sudarso 107 Pabean Dringu Probolinggo 67271 E-mail: [email protected]
ABSTRAKS
Teknologi informasi dan komunikasi telah tumbuh dengan pesat. Tentunya situasi tersebut bisa menguntungkan karena semakin mempermudah pekerjaan manusia. Namun, disisi lain ada kerugian yang didapat. Diantara sekian banyak kerugian salah satunya adalah dari segi keamanan. Kerahasiaan, integritas dan otentikasi data merupakan topik keamanan yang penting untuk dibahas dalam suatu penelitian. Oleh karena itu, penulis tertarik untuk meneliti tentang hal tersebut. Penelitian ini difokuskan pada pengiriman pesan yang memperhatikan unsur-unsur keamanan. Pilihan jatuh pada kriptografi karena dapat memberikan keamanan pada pesan tersebut. Objek pada penelitan adalah pesan yang berisikan file dokumen digital yang merupakan hasil dari kemajuan teknologi informasi dan komunikasi. Algoritma yang digunakan adalah algoritma RSA (Rivest, Shamir, Adleman). Aplikasi dibangun dalam lingkungan bahasa pemrograman PHP. Oleh karena berbasis web, harapannya aplikasi bisa dionlinekan sehingga bisa digunakan secara luas. Dari hasil pengujian membuktikan bahwa aplikasi bekerja dengan cukup baik untuk enkripsi data dengan kunci asimetrik pada dokumen txt, docx, dan xlsx.
Kata Kunci: algoritma RSA, web, kode ASCII
PENDAHULUAN
Teknologi informasi dan komunikasi telah berkembang pesat, memberikan pengaruh yang besar bagi kehidupan manusia. Perkembangan tersebut sudah sangat membantu manusia dalam berkomunikasi, sehingga bisa berkomunikasi dimana saja dan kapan saja. Data dan informasi kini disajikan dalam bentuk digital. Bentuk digital tersebut diantaranya teks, citra, audio, video, dan multimedia. Namun seiring dengan berkembangnya teknologi tersebut, muncul sebuah permasalahan dari sisi keamanannya. Sisi keamanan merupakan efek negatif dari perkembangan ini.
Sisi keamanan inilah yang sering dimanfaatkan oknum-oknum tertentu untuk melakukan perbuatan yang tidak terpuji bahkan tindak kejahatan. Semakin mudahnya penyebaran informasi yang tidak benar, pembobolan rekening bank, dan banyaknya pembajakan adalah contoh sisi gelap dari majunya teknologi digital. Hal ini telah membuat para pengembang TI (Teknologi Informasi) memutar otak untuk menangani masalah-masalah tersebut. Pengembangan sistem keamanan akan terus dilakukan seiring dengan perkembangan teknologi tersebut. Sudah banyak usaha yang dilakukan oleh pengembang TI dalam urusan keamanan, salah satunya menggunakan adalah kriptografi. Kriptografi adalah sebuah seni untuk menyembunyian suatu pesan. Objek pada penelitan adalah pesan yang berisikan file dokumen digital yang merupakan hasil dari kemajuan teknologi informasi dan komunikasi. Algoritma yang digunakan adalah algoritma RSA (Rivest, Shamir,
Adleman). Aplikasi dibangun dalam lingkungan bahasa pemrograman PHP. Oleh karena berbasis web, harapannya aplikasi bisa dionlinekan sehingga bisa digunakan secara luas.
METODE
Flowchart
Flowchart aplikasi kriptografi yang akan dibangun dapat ditunjukkan pada gambar 1.
Flowchart pada gambar 1 menjelaskan bahwa untuk melakukan sebuah aplikasi enkripsi berupa file, yaitu dengan start atau memulai pada suatu aplikasi pengaman file tersebut. Kemudian aplikasi menampilkan tampilan pertama, selanjutnya user dapat melakukan beberapa pilihan aksi pada tool seperti daftar, login dan tentang.
Untuk bisa menjalankan aplikasi tersebut user harus daftar terlebih dahulu setelah proses daftar selesai user dapat masuk dengan memilih menu login, jika proses login benar user dapat melakukan proses selanjutnya tapi jiak login salah maka user akan diminta untuk melakukan proses login kembali sampai proses loginnya benar. Setela proses login benar user dapt memilih menu berikutnya yaitu upload, yang berfungsi untuk menginputkan file yang akan diamankan, selanjutnya yaitu menu file yang berfungsi menampilkan semua file yang telah diupload dan didalam terdapat beberapa pilihan aksi sepeti enkripsi, berfungsi untuk mengamankan file dari bisa dibaca menjadi tidak bisa dibaca, selanjutnya dekripsi, berfungsi untuk mengembalikan file kebentuk semula, sedangkan hapus, berfungsi untuk menghapus file dari daftar aplikasi. Untuk menu pengguna berfungsi untuk menampilkan semua pengguna yang terdaftar dalam aplikasi tersebut. Sedangkan pada menu tentang yaitu mengenai profil dari pembuat program dan mengenai aplikasi enkripsi menggunakan RSA yang dibuat. Selanjutnya logout berfungsi untuk keluar dari aplikasi.
Use Case Diagram
Use case diagram enkripsi file menceritakan tentang user yang menggunakan aplikasi ini serta dapat bisa memilih untuk mengakses menu sesuai dengan yang diinginkan. Use case diagram pada aplikasi kriptografi ini ditunjukkan pada gambar 2.
Gambar 2. Use case diagram aplikasi Pada gambar 2 menunjukkan bahwa seorang actor (user) dapat melakukan kegiatan sesuai dengan yang diinginkan pada aplikasi enkripsi ini.
Untuk melakukan pengiriman pesan, seorang user harus menginput kunci agar dapat mengenkripsi file dan mendeskripsi file dengan kunci yang sudah ditentukan terlebih dahulu.
Activity Diagram
Activity diagram pada aplikasi kriptografi ini ditunjukkan pada gambar 3.
Gambar 3. Activity diagram aplikasi Diagram diatas menjelaskan bahwa aplikasi enkripsi dapat berjalan jika user memilih aktivitas yang tersedia dalam aplikasi enkripsi ini, serta aplikasi akan menampilkan form sesuai dengan aktivitasnya. Pada saat membuka aplikasi maka sistem berproses untuk menampilkan form menu utama, begitu juga saat memilih menu daftar, login, upload, file, pengguna dan memilih tentang.
Class Diagram
Class diagram aplikasi ditunjukkan pada gambar 4.
49 Gambar 4 menjelaskan suatu deskripsi pada masing-masing kelas, dimana setiap kelas terdiri dari nama kelas, atribut (field), dan operasi/metode.
Kelas pada gambar 4 terdiri dari beberapa kelas diantaranya yaitu: kelas home, admin, main menu admin, db_pengguna, db_file dan algoritma RSA. Kelas-kelas tersebut mempunyai fungsi dan hubungan untuk melakukan sesuatu agar mencapai tujuannya, yaitu untuk mengenkripsi dan mendekripsi sebuah file dokumen.
HASIL DAN PEMBAHASAN Implementasi Aplikasi
Gambar-gambar berikut adalah tampilan implementasi dari aplikasi enkripsi file. Tampilan awal ditunjukkan pada gambar 5.
Gambar 5. Tampilan awal
Gambar 5 merupakan tampilan awal dari program enkripsi file, pada tampilan awal tersebut terdapat beberapa pilihan menu seperti, menu daftar berfungsi untuk mendaftarkan pengguna aplikasi, menu login berfungsi untuk mengidentifikasi pengguna aplikasi, menu tentang berfungsi menampilkan keterangan dari aplikasi.
Kemudian tampilan form daftar pengguna ditunjukkan pada gambar 6.
Gambar 6. Form daftar pengguna
Pada form daftar pengguna ini berfungsi untuk mendaftarkan para pengguna aplikasi enkripsi file ini. terdapat beberapa kolom yang harus diisi, pilihan dari kolom yang harus diisi tersebut yaitu nama lengkap, jenis kelamin, tanggal lahir, E-mail dan password.
Kemudian Tampilan login ditunjukkan pada gambar 7.
Gambar 7. Tampilan login
Form login digunakan untuk mengidentifikasi user, jika username dan password yang di masukkan cocok dengan data dalam database, maka user benar-benar terdaftar dan berhak mengakses aplikasi. Kemudian tampilan awal setelah login ditunjukkan pada gambar 8.
Gambar 8. Tampilan awal setelah login Pada tampilan ini terdapat beberapa pilihan menu yang dapat diakses oleh user atau penguna diantaranya yaitu menu upload, file, Pengguna, tentang dan logout.
Kemudian tampilan upload file ditunjukkan pada gambar 9.
Gambar 9. Tampilan upload file
Pada form upload ini berfungsi untuk mesukkan file yang akan dilakukan proses enkripsi, dengan memilih tombol choose file lalu pilih file yang akan dilakukan proses enkripsi setelah itu pilih tombol upload pada aplikasi tersebut.
Kemudian tampilan daftar file ditunjukkan pada gambar 10.
Gambar 10. Tampilan daftar file
Tampilan form daftar file ini berfungsi untuk menampilkan semua daftar file yang telah diupload, serta terdapat juga beberapa pilihan tombol aksi seperti, encrypt yang berfungsi untuk mengenkripsi file, dan tombol encrypt akan berubah menjadi deskrypt jika proses enkripsi berhasil, Tombol dekrypt berfungsi untuk mengembalikan file kebentuk semula, dan tombol hapus berfungsi untuk menghapus file dari form daftar file.
Kemudian tampilan password enkripsi file ditunjukkan pada gambar 11.
Gambar 11. Tampilan password enkripsi file Tampilan tersebut akan muncul jika user memilih tombol encrypt pada form daftar file, untuk melakukan proses enkripsi pada file user harus memasukkan password terlebih dahulu, password yang digunakan berupa angka, simbol, huruf, serta kombinasi dari ketiganya.
Kemudian tampilan password dekripsi file ditunjukkan pada gambar 12.
Gambar 12. Tampilan password dekripsi file Tampilan tersebut akan muncul jika user memilih tombol deskrypt pada form daftar file, untuk melakukan proses deskripsi pada file user
harus memasukkan password yang sudah ditentukan terlebih dahulu.
Dan selanjutnya adalah tampilan pengguna ditunjukkan pada gambar 13.
Gambar 13. Tampilan pengguna
Pada tampilan form pengguna ini berfungsi untuk menampilkan semua user atau pengguna dari aplikasi tersebut.
Dan yang terakhir adalah tampilan tentang ditunjukkan pada gambar 14.
Gambar 14. Tampilan tentang
Tampilan tersebut merupakan tampilan tentang dari profil pembuat program dan tentang program yang dibuatnya.
Pengujian Proses Enkripsi dan Dekripsi File
Proses pengujian enkripsi dan deskripsi dilakukan pada beberapa jenis file dokumen seperti (.txt, .docx dan .xlsx). berikut ini merupakan contoh gambaran dari hasil proses enkripsi dan deskripsi pada file dokumen.
Untuk melakukan proses enkripsi pada file terlebih dahulu harus melakukan proses upload atau memilih file yang akan dilakukan proses enkripsi. Dengan memilih choose file lalu pilih filenya sebagai contoh gambar diatas file yang dipilih (pengaruh Game.txt) lalu pilih open setelah itu pilih Upload File. Proses ini bisa ditunjukkan pada gambar 15.
51 Gambar 15. Proses upload file
Untuk melakukan proses enkripsi pada file, yaitu harus memilih menu file terlebih dahulu, lalu pilih file yang akan dienkripsi dan pilih tombol Encrypt lalu akan diminta untuk memasukkan password, setelah itu file tersebut akan terenkripsi. Proses enkripsi ditunjukkan pada gambar 19. Sementara contoh gambar file yang belum terenkripsi dan yang sudah dienkripsi masing-masing ditunjukkan pada gambar 16 dan 17.
Gambar 16. Proses enkripsi
Gambar 17. File yang belum dienkripsi
Gambar 18. File hasil enkripsi
KESIMPULAN
Adapun kesimpulan yang dapat diperoleh dari aplikasi kriptografi pada file dokumen berbasis web menggunakan algoritama RSA (Rivest, Shamir, Adleman) ini yaitu :
1. Aplikasi enkripsi pada file dokumen ini dirancang dan dibangun dengan menggunakan bahasa pemrograman PHP dan SQL sebagai pengolah databasenya. 2. Dapat menggunakan variasi jenis kunci
input (angka saja, huruf saja, simbol saja dan gabungan ketiganya).
3. Dari hasil percobaan yang telah dilakukan menunjukkan bahwa aplikasi kriptografi ini tidak mengalami masalah dan telah sesuai dengan yang diharapkan.
PUSTAKA
Achmad Z, Sistem Pengaman File dengan Menggunakan Metode RSA Kriptografi dan Digital Signature, 2008
.
Andre, (2014).Pengertian dan Fungsi PHP dalam
Pemrograman Web, (Online),
http://www.duniailkom.com/pengertian-dan-fungsi-php-dalampemograman-web/. diakses tanggal 15 desember 2014.
Ariyus D. Pengantar Ilmu Kriptografi, Yogyakarta: STIMIK AMIKOM Yogyakarta, 2008.
Dadan, R, 2011. Aplikasi Algoritma RSA Untuk Keamanan Data Pada Sistem Informasi Berbasis Web. Fakultas Matematika dan Ilmu Pengetahuan alam, Universitas Negeri Semarang Enung, N, 2016. Aplikasi Enkripsi Dan Dekripsi
Menggunakan Algoritma RSA Berbasis Web, Teknik Informatika, UIN Sunan Gunung Djati, Bandung.
Lusiana, V, 2014. Implementasi Kriptografi Pada File Dokumen Menggunakan algoritma AES-128, Fakultas Ilmu Komputer Unsri, Jurusan Teknik Informatika.
Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika.
Nisya, H, (2013). Pengertian Rancang Bangun, (Online), http://hairunnisya. blogspot.co.id/2013/03/pengertian-rancang-bangun.html?m=1, diakses tanggal 10 Maret 2013 jam 06.28 WIB.
Nugroho, Bunafit. 2004. Aplikasi Pemrograman Web Dinamis dengan PHP dan MySQL. Yogyakarta : Gava Media.
Pahlevi, N, (2012). Algoritma RSA, (Online),
https://ilmukriptografi.
wordpress.com/2012/10/24/public-key-rsa/. diaksestanggal 24 oktober2012.
Rahardjo, B. 1998. Keamanan Sistem Informasi Berbasis Internet. Bandung : PT. Insan Ifonesia.
Riyanto, Djalal. 2004. Buku Ajar Basis Data. Semarang : Universitas Diponegoro. RSA.
http://id.wikipedia.org/wiki/RSA
Wahana Komputer. 2003. Memahami Model Enkripsi dan Security Data. Yogyakarta: Andi Offset.