IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION

Download Dokumen yang digunakan untuk pengujian adalah dokumen teks jurnal – jurnal penelitian berbahasa Indonesia sebanyak 15 dokumen. Dokumen yag ...

0 downloads 655 Views 280KB Size
 

IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD (AES) UNTUK ENKRIPSI DAN DEKRIPSI PADA DOKUMEN TEKS Ana Kurniawati1, Muhammad Dwiky Darmawan2 1)

Sistem Informasi, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Gunadarma 2) Teknik Informatika, Fakultas Teknologi Industri, Universitas Gunadarma Jl. Margonda Raya No.100 Pondok Cina Depok e-mail : [email protected]), [email protected])

ABSTRAK

Dalam penggunaan teknologi sehari-hari, manusia tidak terlepas dari yang namanya internet sebagai kebutuhan untuk saling bertukar informasi. Salah satu informasi yang sering dicari ataupun dikirim adalah dokumen. Di dalam dokumen banyak mengandung informasi-informasi penting di dalamnya. Keamanan dokumen tentu menjadi sangat penting agar tidak adanya pihakpihak yang tidak berwenang meretas atau memanipulasi informasi dari dokumen tersebut. Ada cara untuk mengamankan suatu informasi agar informasi itu tidak bocor kepada pihak yang tidak berwenang, yaitu dengan menggunakan kriptografi. Kriptografi merupakan salah satu teknik yang digunakan untuk meningkatkan aspek keamanan suatu informasi. Kriptografi digunakan untuk mengubah pesan rahasia yang dapat dimengerti menjadi sebuah pesan yang tidak dapat dimengerti lagi. Pesan yang akan dirahasiakan sebelum disamarkan disebut plaintext, sedangkan pesan setelah disamarkan disebut chipertext. Proses penyamaran plaintext ke chipertext disebut enkripsi, sedangkan pengembalian chipertext menjadi plaintext semula disebut dekripsi. Dalam penelitian ini algoritma yang digunakan adalah algoritma kriptografi Advanced Encryption Standard (AES). Dokumen yang digunakan untuk pengujian adalah dokumen teks jurnal – jurnal penelitian berbahasa Indonesia sebanyak 15 dokumen. Dokumen yag diuji adalah dokumen bertipe pdf, doc dan txt. Dari hasil implementasi dan pengujian didapat kesimpulan bahwa algoritma kriptografi AES dapat diimplementasikan dalam menjaga kerahasiaan dan keamanan pesan rahasia. Kata Kunci: Dekripsi, Enkripsi, Dokumen Teks. 1. PENDAHULUAN Dalam penggunaan teknologi sehari-hari, manusia tidak terlepas dari yang namanya internet sebagai kebutuhan untuk saling bertukar informasi. Salah satu informasi yang sering dicari ataupun dikirim adalah dokumen. Di dalam dokumen banyak mengandung informasi-informasi penting di dalamnya. Keamanan dokumen tentu menjadi sangat penting agar tidak adanya pihak-

pihak yang tidak berwenang meretas atau memanipulasi informasi dari dokumen tersebut. Ada cara untuk mengamankan suatu informasi agar informasi itu tidak bocor kepada pihak yang tidak berwenang, yaitu dengan menggunakan kriptografi. Kriptografi adalah salah satu teknik yang digunakan untuk meningkatkan aspek keamanan suatu informasi. Kriptografi merupakan kajian ilmu dan seni untuk menjaga suatu berkas agar berkas tersebut aman. Bentuk tersandi ini hanya dapat dibaca oleh pihak yang berhak membacanya. Pesan yang akan dirahasiakan sebelum disamarkan disebut plaintext, sedangkan pesan setelah disamarkan disebut chipertext. Proses penyamaran plaintext ke chipertext disebut enkripsi, sedangkan pengembalian chipertext menjadi plaintext semula disebut dekripsi. Kriptografi mendukung kebutuhan dari dua aspek keamanan informasi, yaitu secrecy dan authenticity. Secrecy merupakan perlindungan terhadap kerahasiaan berkas informasi, sedangkan Authenticity merupakan perlindungan terhadap pemalsuan dan pengubahan informasi yang tidak diinginkan. Kriptografi dengan algoritma yang baik akan memerlukan waktu yang lama untuk memecahkan berkas yang telah tersandikan. Seiring dengan perkembangan komputer, maka dunia teknologi informasi membutuhkan algoritma kriptografi yang lebih kuat dan aman. Algortima dalam kriptografi dibagi dalam dua kategori, yaitu algoritma dengan kunci simetrik dan kunci asimetrik. Dalam beberapa algoritma kunci simetrik, Advanced Encryption Standard (AES) merupakan algoritma kunci simetrik yang sangat baik, juga merupakan algoritma cipher blok yang menggunakan teknik subtitusi, permutasi dan sejumlah putaran pada setiap blok yang akan dienkripsi. Penelitian ini membahas bagaimana membuat perangkat lunak untuk mengamankan dokumen teks dengan menerapkan prinsip kriptografi menggunakan Advanced Encryption Standard (AES). Perangkat lunak ini bertujuan untuk mengamankan dokumen sebelum mengirimnya melalui jaringan internet, sehingga hanya orang yang berkepentingan mengetahui isi dari dokumen tersebut. Dengan aplikasi ini, diharapkan user merasakan aman dalam mengirim dokumen berbasis online dan terjaga kerahasiaannya. 2. METODE PENELITIAN Model proses pengembangan perangkat lunak yang digunakan dalam penelitian ini yaitu menggunakan metode waterfall yang terdiri dari tahap analisa kebutuhan, tahap perancangan dan tahap pembuatan program serta tahap pengujian. Metode waterfall dapat dilihat pada gambar 1. Analisis Kebutuhan Perancangan Pengkodean Pengujian Pengoperasian

Gambar 1. Metode Waterfall

3. HASIL DAN PEMBAHASAN 3.1. Tahap Analisa Kebutuhan Pada tahap analisa kebutuhan ini dilakukan menganalisis perangkat lunak dengan menggunakan algortima advanced encryption standard (AES). Analisa meliputi analisa kebutuhan data, kebutuhan fungsional dan kebutuhan non fungsional. 3.1.1 Analisis Kebutuhan Data Kebutuhan data yang dibutuhkan pada perangkat lunak ini adalah dokumen yang dapat dienkripsi dan didekripsi. Dokumen merupakan dokumen jurnal-jurnal penelitian yang mempunyai format teks yaitu Word (*.doc/x), Plain Text (.*txt) dan PDF (*.pdf). 3.1.2 Analisis Kebutuhan Fungsional Fungsi-fungsi yang dibutuhkan pada perangkat lunak yang akan dibangun antara lain: - Kemampuan untuk bisa meng-enkripsi dokumen, serta membangkitkan kunci untuk dokumen yang di-enkripsi. - Kemampuan program yang dapat meng-enkripsi dokumen text. - Kemampuan program untuk meng-dekripsikan kembali dokumen yang telah dienkripsi. 3.1.3 Analisis Kebutuhan Non Fungsional Kebutuhan ini menjelaskan hal-hal yang dibutuhkan selama pembuatan perangkat lunak, yaitu spesifikasi perangkat keras dan perangkat lunak. 1. Spesifikasi Perangkat Keras Spesifikasi perangkat keras yang digunakan dalam pembuatan program ini adalah sebagai berikut: - Processor Intel® Core i5-2450M CPU @ 2.50 GHz - Hard disk 500GB - RAM 2GB - VGA Intel® HD Graphics Family 2. Spesifikasi Perangkat Lunak Spesifikasi perangkat lunak yang digunakan dalam pembuatan situs ini adalah sebagai berikut: - Windows 7 Ultimate 32-bit - Netbeans 8.1

3.2. Tahap Perancangan Pada tahap perancangan, meliputi perancangan perangkat lunak secara umum seperti perancangan antar-muka pengguna, struktur program dan perancangan proses dengan UML. 3.2.1. Struktur Menu Perangkat Lunak Struktur Menu Perangkat Lunak ini dapat dilihat pada gambar 2.

Gambar 2. Struktur Menu Perangkat Lunak 3.2.2

Perancangan Proses Dalam merancang proses ini menggunakan alat bantu UML (Unified Modeling Language). Terdapat beberapa diagram yang digunakan yaitu Use-case Diagram dan Activity Diagram. 3.2.2.1 Use-case Diagram Use-case diagram adalah memodelkan konteks diagram dan memodelkan kebutuhan perangkat lunak. Model kebutuhan perangkat lunak ini memiliki use-case yang disajikan pada gambar 3.

Gambar 3 Use Case Diagram Perangkat Lunak Enkripsi dan Dekripsi Pada gambar 3 dijelaskan bahwa user atau pengguna harus memasukan password pada program sebelum masuk ke menu utama. Jika password yang dimasukan valid, maka pengguna dapat melakukan enkripsi dan dekripsi pada menu utama yang telah disediakan.

3.2.2.2 Activity Diagram Activity diagram menggambarkan berbagai alur aktifitas dalam program secara rinci. Dalam perancangan activity diagram ini menjelaskan activity diagram untuk penggunan dan perangkat lunak yang dapat dilihat di gambar 4.

Gambar 4. Activity Diagram Perangkat Lunak Enkripsi dan Dekripsi Pada gambar 4 menjelaskan langkah pertama user atau pengguna harus memasukan password, jika password valid, program akan menampilkan Menu Utama. Pengguna mencari dokumen untuk dienkripsi dan dekripsi, setelah itu pengguna melakukan proses meng-enkripsi atau dekripsi dokumen, yang kemudian perangkat lunak akan menampilkan Pop-Up berhasil. Setelah proses enkripsi dan dekripsi berhasil, pengguna akan mendapatkan hasil dokumen yang telah dienkripsi atau didekripsi.

3.2.2.3 Sequence Diagram Sequence diagram memperlihatkan kolaborasi dinamik antara objek-objek dengan suatu urutan pesan antar objek tersebut. Dalam perancangan sequence diagram ini menjelaskan sequence diagram untuk pengguna dan perangkat lunak untuk enkripsi dan dekripsi yang dapat dilihat di gambar 5 dan gambar 6. Pengguna 

Enkripsi 

Login 

Masukan Password

Pilih Berkas & Proses Eknripsi

Hasil Enkripsi

Gambar 5. Sequence Diagram Enkripsi Pengguna 

Login 

Dekripsi 

Masukan Password

Pilih Berkas & Proses Dekripsi

Hasil Dekripsi

Gambar 6. Sequence Diagram Dekripsi

3.2.3 Perancangan Tampilan Tahap perancangan tampilan sangat dibutuhkan dalam pembuatan perangkat lunak ini, karena rancangan tampilan akan memberikan gambaran tampilan perangkat lunak yang akan dibuat semudah mungkin agar pengguna tidak mendapatkan kesulitan saat menggunakan perangkat lunaknya. 3.2.3.1 Rancangan Tampilan Password Tampilan password adalah pertama kali muncul ketika program dijalankan. Tampilan password ini terdiri dari satu Text Field untuk memasukan password dan dua Button: YA untuk masuk ke menu utama dan BATAL untuk gagal masuk ke menu utama. Gambarnya dapat dilihat seperti gambar 7. jTextField 

!

Button 

Button 

Gambar 7. Rancangan Tampilan Password 3.2.3.2 Rancangan Tampilan Menu Utama Tampilan menu utama adalah tampilan yang terdapat beberapa TabPane, yaitu: Enkripsi, Dekripsi, Petunjuk dan Tentang. - Rancangan tampilan Tab Enkripsi terdapat satu buah Text Field untuk menampilkan path dokumen, Button Cari untuk mencari dokumen dan Button Enkripsi untuk meng-enkripsi dokumen. Gambarnya dapat dilihat di gambar 8.  TabPane 

TabPane 

TabPane 

TabPane 

  jLabel 

jTextField 

Button 

Button 

 

Gambar 8. Rancangan Tampilan Menu Tab Enkripsi -

Rancangan tampilan Tab Dekripsi terdapat dua Text Field dan tiga Button, Text Field pertama untuk menampilkan path berkas enkripsi, Text Field kedua untuk menampilkan path dokumen kuncinya. Button pertama dan kedua untuk mencari dokumen enkripsi dan kunci, sedangkan Button ketiga untuk meng-dekripsi dokumen. Gambarnya dapat dilihat di gambar 9.

    TabPane 

TabPane 

TabPane 

TabPane 

  jLabel                 jLabel 

jTextField 

Button 

jTextField 

Button  Button 

Gambar 9. Rancangan Tampilan Menu Tab Dekripsi -

Rancangan tampilan Tab Petunjuk terdapat Text Area untuk menampilkan informasi tata cara penggunaan aplikasi. Gambarnya dapat dilihat di gambar 10.  TabPane 

TabPane 

TabPane 

TabPane 

jTextArea 

Gambar 10. Rancangan Tampilan Menu Tab Petunjuk -

Rancangan tampilan Tab Tentang Petunjuk terdapat Text Area untuk menampilkan informasi tentang aplikasi. Gambarnya dapat dilihat di gambar 11.

 TabPane 

TabPane 

TabPane 

TabPane 

  jTextArea 

Gambar 11. Rancangan Tampilan Menu Tab Tentang Aplikasi      

3.3. Tahap Pengujian Setelah membuat perangkat lunak enkripsi dan dekripsi dokumen teks menggunakan algoritma advanced encryption standard (AES) di Netbeans 8.1, langkah selanjutnya adalah tahap pengujian. Tahap pengujian ini dilakukan untuk mengetahui apakah perangkat lunak sudah berjalan dengan baik. Berikut adalah tahapan uji coba yang dilakukan: 3.3.1. Pengujian Tampilan Password Pada uji coba ini dilakukan apakah pengguna berhasil masuk ke menu utama perangkat lunak jika memasukan password yang valid dan sebaliknya. -

Langkah pertama adalah menjalankan program di Netbeans dengan cara klik tombol

-

Setelah itu akan muncul form password, dapat dilihat di gambar 12. Jika password: ganis, maka akan tampil menu utama, dapat dilihat di gambar 14. Jika password tidak sesuai, maka akan tampil pop-up pemberitahuan kesalahan password dapat dilihat di gambar 13.

 

Gambar 12. Tampilan Form Password

 

Gambar 13. Tampilan Kesalahan Password

Gambar 14. Menu Utama Aplikaasi Enkripsi dan d Dekripssi 3.3.2. Pengujian P Meng-enkrip M psi Dokumen n Text Pada tahap ini i dilakukann apakah pengguna beerhasil mengg-enkripsi dokumen. Seetelah berhasil masuk ke menu m utama, maka langgkah selanjuutnya adalahh mengenkrippsi atau dekkripsi p untuuk meng-enkkripsi adalahh, pilih tab Enkripsi, laluu cari berkas yang dokumenn. Langkah pertama ingin dienkripsi deng gan cara klikk tombol Carri. Gambarnnya dapat dilihat di gambbar 15.

Gambbar 15. Cari Dokumen -

Setelah menccari berkas yang y ingin diienkripsi, lanngkah selanjjutnya adalah enkripsi berkas E maaka hasilnyaa akan ada dua d berkas, yaitu teersebut, dengan cara kliik tombol Enkripsi berkas yang berekstensi .ENC dan .Key . sebagaai kuncinya. Gambarnyaa dapat dilihhat di gambar 16.

 

Gam mbar 16. Popp-up Berkas Berhasil Dieenkripsi

 

3.3.3. P Pengujian Meng-dekrip M psi Dokumen n Teks Pada tahap ini i apakah pengguna dapat d meng--dekripsi dookumen denngan kunci yang sesuai. Ketika K pengg guna sudah meg-enkrips m si dokumen, maka akan terdapat duua dokumen yaitu dokumenn yang berek kstensi .ENC C dan .Key. Fungsi darii berkas .Key adalah sebbagai kunci yang dibutuhkkan saat ingin n meng-dekrripsi berkas .ENC. - Langkah L perttama saat inggin meng-deekripsi dokum men yaitu, pilih p Tab Dekkripsi pada menu m uttama, setelah itu cari beerkas yang inngin didekriipsi, yaitu beerkas yang berekstensi b . .ENC dengan cara klik k tombol Cari. Setelah mencari berkas .ENC C, maka lanngkah selanjuutnya addalah mencaari berkas kuncinya k yanng berekstennsi .Key denngan cara klik k tombol Cari. C G Gambarnya dapat d dilihat di gambar 17.

Gambar 17. Mencarii berkas .Keyy -

langkah sellanjutnya addalah proses meng-dekrip m psi berkas. Caranya C adallah klik tombbol Deekripsi, laluu akan tampil Pop-up berrhasil sepertii pada gambbar 18.

Gambar 188. Pop-up Beerhasil Dekriipsi 3.3.4. P Pengujian Dokumen Teeks Pengujian paada tampilann perangkat lunak yang sudah dibuaat telah dilakkukan. Penggujian selanjutnnya adalah menguji m lim ma belas (155) dokumen text untukk dienkripsii dan didekkripsi. Dokumenn merupakaan dokumen jurnal-jurnal penelitiann. Dokumenn terdiri darri lima dokuumen berformaat .pdf, lima dokumen beerformat .dooc dan lima dokumen d beerformat .txt. Hasil penggujian dapat diliihat pada tab bel 1.

Tabel 1. Hasil Pengujian Dokumen Teks

No

Kode Dokumen

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Dokumen PDF1 Dokumen PDF2 Dokumen PDF3 Dokumen PDF4 Dokumen PDF5 Dokumen Word 1 Dokumen Word 2 Dokumen Word 3 Dokumen Word 4 Dokumen Word 5 Dokumen TXT 1 Dokumen TXT 2 Dokumen TXT 3 Dokumen TXT 4 Dokumen TXT 5

Type Dokumen

Ukuran (KB)

pdf pdf pdf pdf pdf doc doc doc doc doc txt txt txt txt txt

61 340 349 446 498 82 91 137 152 181 16 17 38 43 88

Proses Enkripsi dan Deskripsi Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil

Hasil pengujian proses enkripsi dalam perangkat lunak ini berhasil bagi dokumen yang memiliki tipe pdf, doc dan txt. Ukuran dokumen yang diuji adalah 16 – 498 KB. PENUTUP Perangkat lunak enkripsi dan dekripsi menggunakan algoritma advanced encryption standard (AES) sudah berhasil dikembangkan. Tahap pembuatan aplikasi dimulai dari tahap analisis yang terdiri dari analisis kebutuhan data, kebutuhan fungsional dan kebutuhan non fungsional. Tahap perancangan perangkat lunak yang dibuat disesuaikan agar aplikasi user-friendly. Tahap ketiga adalah pembuatan program dengan menggunakan bahasa pemrograman Java di Netbeans 8.1. Tahap terakhir adalah tahap pengujian yang dilakukan dengan menguji 15 dokumen berformat pdf, doc dan txt. Hasil pengujian proses enkripsi dalam perangkat lunak ini berhasil bagi dokumen yang memiliki tipe pdf, doc dan txt. Ukuran dokumen yang diuji adalah 16 – 498 KB. DAFTAR PUSTAKA [1]. [2].

[3].

Didi Surian. 2006. “Algoritma Kriptografi AES Rijndael”. TESLA. Jurnal Teknik Elektro. Vol. 8 No. 2, 97-101. Rifkie Primartha. 2013. “Penerapan Enkripsi dan Dekripsi File Menggunakan Algoritma Advanced Encryption Standard (AES)”. Journal Of Research in Computer Science and Applications. Vol. 2 No. 1. Kurniawan. 2004. Kriptografi: Keamanan Internet dan Jaringan Komunikasi.. Informatika Bandung.

[4]. [5]. [6]. [7].

Emy Setyaningsih. 2015. Kriptografi dan Implementasinya. Andi Publisher. Munir, Rinaldi. 2006. Kriptografi. Bandung: Penerbit Informatika. Dr. Eng. R.H Sianipar, M.Eng. 2015. Pemrograman Java Untuk Programmer. Andi Publisher. Bruce Scheneir. 1996. Applied Cryptography. Second edition: John Wiley and Sons, Inc.