IMPLEMENTASI ALGORITMA ADVANCED ENCRYPTION STANDARD
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
-
y
ingin diienkripsi, lanngkah selanjjutnya adalah enkripsi berkas
Setelah menccari berkas yang
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)
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.