You are on page 1of 20

APLIKASI DEKRIPSI DAN ENKRIPSI PESAN DENGAN ALGORITMA

DATA ENCRYPTION STANDARD (DES) BERBASIS JAVA

NASKAH PUBLIKASI

diajukan oleh
Witarko
10.11.4268

Kepada
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
YOGYAKARTA
2014

DESCRIPTION AND ENCRYPTION APPLICATION WITH ALGORITHM DATA


ENCRYPTION STANDARD (DES) BASED JAVA
APLIKASI DEKRIPSI DAN ENKRIPSI PESAN DENGAN ALGORITMA DATA
ENCRYPTION STANDARD (DES) BERBASIS JAVA
Witarko
Ema Utami
Jurusan Teknik Informatika
STMIK AMIKOM YOGYAKARTA

ABSTRACT
A Message can contain data that is very important. Therefore, the message
safety is should be a very important concern. And the way to make that message safe is
with encryption. Encryption is the process to make safe of information by making the
information cant be read or understood. If information already encrypted, then the
information is sent safely to the other without fear of being seen. Then, to be able to read
messages that have been encrypted, the process called decryption. Decryption is the
process to read the information that has been encrypted.
One method of encryption and decryption is the Data Encryption Standard (DES)
that have been used as the standard for data security in the United States government.
Data Encryption Standard (DES) encryption techniques belong to the private key. DES
algorithms will encrypt data blocks of 64 bits using a key of 56 bits.
Application in this paper is able to encrypt and decrypt the text so that it becomes
unreadable by using the DES cryptographic algorithm. This application is created using
the Java programming language on the Windows operating system.
Keywords: Cryptography, DES, Java, Security, Key, Message, Encryption, Decryption.

1.

Pendahuluan
Perkembangan teknologi jaringan komputer menyebabkan terkaitnya satu

komputer dengan komputer yang lainnya. Hal ini membuka banyak peluang dalam
pengembangan aplikasi komputer tetapi juga membuat peluang adanya ancaman
terhadap pengubahan dan pencurian data (Rifki Sadikin, 2012).
Seiring dengan perkembangan dunia teknologi saat ini, hampir semua hal selalu
disajikan dalam bentuk digital dan terkomputerisasi. Seperti halnya buku dan
perpustakaan online. Bahkan layanan Bank pun ada di internet yang sebenarnya sangat
rawan terjadi tindak kejahatan dunia maya (Cyber Crime). Maka dari itu, setiap orang
berupaya agar setiap data yang beredar di dunia maya ataupun dalam suatu jaringan
tertentu tetap terjaga kerahasiaannya. Banyak cara yang dilakukan orang-orang untuk
mengamankan data, salah satu caranya adalah dengan membuat data informasi tersebut
tidak dapat dipahami orang lain. Dimulai dari sinilah muncul ilmu baru yang disebut ilmu
Kriptografi. Kriptogafi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan
dikirim dari suatu tempat ke tempat lain (Dony Ariyus, 2008).
Pada era teknologi sekarang, enkripsi adalah salah satu cara yang paling baik
untuk mengamankan pesan. Enkripsi sendiri adalah proses mengamankan suatu
informasi dengan membuat informasi tersebut tidak dapat dibaca atau dimengerti.
Setelah data terenkripsi, maka cara agar dapat membaca informasi atau pesan tersebut
adalah dengan cara dekripsi, kebalikan dari enkripsi. Dekripsi adalah proses untuk
membaca informasi yang sudah dienkripsi.
Ada banyak algoritma kriptografi yang digunakan untuk mengenkripsi pesan,
mulai dari yang paling klasik sampai yang paling modern. Semua memiliki karakteristrik
sendiri - sendiri. Mengenkripsi sebuah pesan menggunakan algoritma kriptografi
sebenarnya bukanlah perkara yang mudah. Karena algoritma kriptografi modern hampir
semuanya menggunakan model bit. Oleh karena itu dibutuhkan ketelitian yang luar biasa
untuk bisa mengenkripsi sebuah pesan menggunakan algoritma yang bermodelkan bit.
Salah satu algoritma yang menggunakan model bit adalah algoritma Data Encryption
Standard (DES).
Data Encryption Standard (DES) merupakan salah satu algoritma kriptografi yang
cukup sulit dan lama dalam penerapannya. Butuh berkali-kali proses permutasi untuk
setiap kunci dan plainteks (pesan). Dan apabila proses pengenkripsian dan
pendekripsian ini dilakukan secara manual, yang artinya dilakukan tanpa bantuan
komputer, maka tingkat kesalahannya luar biasa besar. Salah satu angka saja akan
membuat hasil yang sangat berbeda. Bahkan bisa berakibat gagalnya pesan untuk
dibaca.

Melihat permasalahan tersebut, tentunya teknologi komputer saat ini dapat kita
gunakan untuk pengembangan aplikasi enkripsi dan dekripsi pesan, diharapkan aplikasi
enkripsi dan dekripsi pesan ini dapat membatu kita agar lebih mudah mengenkripsi dan
mendekripsikan pesan menggunakan algoritma DES. Karena dalam apliksi enkripsi dan
dekripsi yang ada sekarang ini, masih terbilang susah digunakan dan tidak ada
penjelasan untuk setiap langkah enkripsi dan dekripsinya.
Berdasarkan latar belakang yang telah dipaparkan inilah penulis mencoba
membuat aplikasi yang dapat memudahkan proses enkripsi dan dekripsi pesan
menggunakan algoritma DES dan dari penelitian ini penulis mengangkat judul Aplikasi
Dekripsi dan Enkripsi Pesan dengan Algoritma Data Encryption Standard (DES)
berbasis Java.

2.

Landasan Teori

2.1.

Konsep Dasar Kriptografi


Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret

(rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah
ilmu dan seni untuk mejaga keamanan pesan ketika pesan dikirim dari suatu tempat ke
tempat lain.
Kriptografi mempunyai sejarah yang sangat menarik dan panjang. Kriptografi
sudah digunakan 4000 tahun yang lalu, diperkenalkan oleh orang-orang Mesir lewat
hieroglyph. Jenis tulisan ini bukanlah bentuk standar untuk menulis pesan.

2.2.

Algoritma Kriptografi Klasik


Kriptografi klasik memiliki beberapa ciri:

2.3.

1.

Berbasis karakter

2.

Menggunakan pena dan kertas saja, belum terkomputerisasi

3.

Termasuk ke dalam kriptografi kunci simetris

Algoritma Kriptografi Modern


Enkripsi modern berbeda dengan enkripsi konvensional. Enkripsi modern sudah

menggunakan komputer untuk pengoperasiannya, berfungsi untuk mengamankan data


baik yang ditransfer melalui jaringan komputer maupun yang bukan. Hal ini sangat
berguna untuk melindungi privacy, data integrity, authentication dan non-repuditation.
2.3.1.

Algoritma Simetri
Algoritma simetris disebut juga algoritma konvensional adalah algoritma

yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Disebut

konvensional karena algoritma yang bisa digunakan orang sejak berabad-abad


yang lalu adalah algoritma jenis ini.
Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di
bawah ini:

2.3.2.

1.

Data Encryption Standard (DES)

2.

Advance Encryption Standard (AES)

3.

International Data Encryption Algorithm (IDEA)

4.

A5

5.

RC4

Algoritma Asimetri
Algoritma asimetrik (juga disebut algoritma Kunci Publik) didesain

sedemikian rupa sehingga kunci yang digunakan untuk enkripsi berbeda dari kunci
yang digunakan untuk dekripsi.

2.3.3.

Algoritma Hibrida
Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan

kunci, yaitu kunci rahasia (simetri) yang disebut juga session key (kunci sesi)
untuk enkripsi data dan pasangan kunci rahasia kunci public untuk pemberian
tanda tangan digital serta melindungi kunci simetri.

3.

Analisis dan Perancangan

3.1.

Analisis Sistem
3.2.1.

Identifikasi Masalah
Keamanan sebuah pesan atau data menjadi perhatian yang sangat

serius. Terkadang orang-orang sering sekali bertukar pesan-pesan penting berupa


password atau pesan penting lainnya. Apa yang terjadi apabila pesan rahasia kita
diketahui oleh orang lain yang tidak berkepentingan. Jika sampai itu terjadi, maka
tentu saja rahasia kita terbongkar.
Untuk mengatasi permasalahan diatas, penulis membuat aplikasi untuk
membantu kita mengamankan pesan rahasia agar tidak dapat dibaca orang lain
menggunakan teknik yang disebut enkripsi menggunakan algoritma kriptografi
Data Encryption Standard (DES). Dengan menggunakan aplikasi ini, pengguna
dapat mengamankan pesan sekaligus dapat mempelajari bagaimana skema dari
algoritma kriptografi DES.

3.2.2.

Analisis Kebutuhan Sistem

3.2.3.1.

Analisis Kebutuhan Fungsional


Analisis kebutuhan fungsional berisi proses-proses apa saja yang

nantinya dilakukan oleh sistem. Kebutuhan fungsional juga berisi informasiinformasi apa saja yang harus ada, dihasilkan dan dilakukan oleh sistem.
1.

Pengguna menginstal aplikasi dekripsi dan enkripsi DES.

2.

Pengguna memiliki kunci simetri sebagai pengaman pesan dan


pesan (plain text) untuk melakukan proses enkripsi.

3.

Dengan menu-menu yang ada pada aplikasi enkripsi dan dekripsi


DES, pesan (plain text) dapat dienkripsi menggunakan algoritma
DES yang dijelaskan secara detail.

4.

Pengguna memiliki kunci simetri dan pesan terenkripsi (chipper


text) untuk melakukan proses dekripsi.

5.

Dengan menu-menu yang ada pada aplikasi enkripsi dan dekripsi


DES,

pesan

terenkripsi

(chipper

text)

dapat

didekripsi

menggunakan algoritma DES yang dijelaskan secara detail.


6.

Pesan yang terenkripsi berupa kode-kode yang tidak dapat dibaca


oleh orang awam sehinga pesan terjaga kerahasiaannya.

7.

Pesan

yang

terdekripsi

berupa

pesan

asli

yang

sudah

diterjemahkan dan dapat dibaca oleh orang awam.


3.2.3.2.

Analisis Kebutuhan Non Fungsional


Analisis kebutuhan non-fungsional menjabarkan apa saja yang harus

dimiliki oleh sistem agar dapat berjalan. Kebutuhan non-funsional meliputi


ketersediaan perangkat keras, perangkat lunak dan pengguna.
3.2.3.3.

Analisis Kebutuhan Perangkat Keras (Hardware)


Perangkat keras yang dibutuhkan :
1.

Spesifikasi perangkat keras yang digunakan dalam pembuatan


aplikasi adalah :

2.

3.2.3.4.

a.

Processor AMD E-450 APU with Radeon HD Graphics

b.

RAM (Random Access Memory) 2.00 GB

c.

Harddisk 250 GB

Spesifikasi minimum perangkat keras untuk implementasi aplikasi :


a.

Processor 1.5 GHZ

b.

RAM (Random Access Memory) 1.00 GB

c.

Free Space Memory 500 MB

Analisis Kebutuhan Perangkat Lunak (Software)


1.

Software yang dibutuhkan untuk pembuatan aplikasi :

2.

a.

Sistem Operasi Windows 7 (32-bit)

b.

NetBeans 6.9.1

c.

Java SE Development Kit (JDK) 6 update 18

Sistem informasi yang dibutuhkan untuk penerapan aplikasi ini


adalah minimal Windows XP

3.2.3.

Analisis Kelemahan Sistem


Untuk mengidentifikasi masalah, maka harus dilakukan analisis

terhadap kekuatan, kelemahan, peluang dan ancaman. Panduan analisis ini


dikenal dengan analisis SWOT (Strengths, Weakness, Opportunities, Threats).
3.1.3.1.

Analisis Kekuatan (Strengths)


Beberapa kekuatan dari aplikasi enkripsi dan dekripsi DES ini adalah :
1.

Aplikasi enkripsi dan dekripsi DES ini mampu melakukan proses


enkripsi dan dekripsi pesan dengan menggunakan metode DES.

2.

Aplikasi ini dapat mengenkripsi dan mendekripsi teks atau tulisan


yang berupa angka, huruf dan karakter lainya yang masih dalam
anggota ASCII.

3.

Aplikasi ini disertai tutorial bagaimana cara mengenkripsi dan


mendekripsi menggunakan DES.

4.

Aplikasi ini menjelaskan secara detail bagaimana proses enkripsi


dan dekripsi setiap langkah pengerjaannya.

5.

Aplikasi ini mampu mengenkripsi dan mendekripsi sebuah kalimat


panjang yang lebih dari 64 bit.

6.

Aplikasi ini dibuat dengan (Graphical User Interface) GUI yang


user friendly sehingga mudah digunakan.

3.1.3.2.

Analisis Kelemahan (Weakness)


Beberapa kelemahan aplikasi enkripsi dan dekripsi DES ini adalah :
1. Aplikasi

ini

menggunakan

algoritma

DES,

yang

artinya

menggunakan 1 kunci simetri yang sama. Apabila kunci tersebut


tersebar,

maka

orang

lain

dapat

menterjemahkan

pesan

menggunkan kunci tersebut.


2. Algoritma kriptografi DES termasuk algoritma yang sudah lama,
dan sudah banyak kriptanalis yang mampu menjebol algoritma ini.
3.1.3.3.

Analisis Peluang (Opportunities)


Beberapa peluang aplikasi enkripsi dan dekripsi DES ini adalah ;
1. Aplikasi ini dapat dimanfaatkan oleh semua orang yang ingin
mempelajari

cara

enkripsi

dan

dekripsi

menggunakan metode algoritma DES.

pesan

atau

teks

2. Aplikasi ini cocok untuk orang-orang yang ingin merahasiakan


pesan rahasianya agar tidak dapat diketahui orang lain.
3.1.3.4.

Analisis Ancaman (Threats)


Proses enkripsi dan dekripsi menggunakan aplikasi enkripsi dan

dekripsi DES terhitung lama karena dalam pembuatannya, algoritma yang dipakai
untuk membuat aplikasi ini menggunakan metode Array, bukan menggunakan
metode bit seperti seharusnya meskipun hasilnya sama.

3.2.4.

Analisis Kelayakan Sistem


Analisis ini digunakan untuk menentukan kemungkinan apakah aplikasi

enkripsi dan dekripsi DES layak untuk dikembangkan atau harus dihentikan.
3.1.4.1.

Analisis Kelayakan Teknologi


Dari segi kelayakan teknologi aplikasi ini dapat dikatakan layak karena

untuk menjalankan aplikasi ini pengguna (user) tidak harus menginstal Java
terlebih dahulu. Karena aplikasi ini sudah dikemas menjadi format executable
(.exe) menggunakan aplikasi Advanced Installer 10.2.
3.1.4.2.

Analisis Kelayakan Hukum


Kelayakan hukum disini merupakan peraturan yang ada dalam

pemerintahan, yang pasti selalu berubah-ubah setiap waktu dan diantisipasi


dengan undang-undang yang berlaku. Berdasarkan penelitian, sistem yang
diusulkan layak secara hukum karena software atau perangkat lunak yang
mendukung aplikasi ini adalah menggunakan software yang legal, sehingga jika
suatu saat sistem ini dijalankan dan terdapat pemeriksaan software, maka sistem
ini tidak dapat dikatakan melanggar hukum. Aplikasi enkripsi dan dekripsi DES ini
juga tidak mengandung unsur-unsur yang melanggar hukum karena tidak
mengandung unsur SARA dan pornografi.
3.1.4.3.

Analisis Kelayakan Operasional


Dari segi operasional aplikasi ini dikatakan layak, karena di jaman yang

modern ini, sudah banyak sekali orang-orang dapat mengoperasikan komputer


dan mengetahui tentang keamanan data. Aplikasi ini juga di desain sedemikian
rupa agar mudah untuk digunakan.

4.

Implementasi dan Pembahasan

4.1

Implementasi dan Pembahasan Tampilan


4.1.1

Proses Tampilan Enkripsi dan Dekripsi Kata Otomatis


Proses dalam tampilan Enkripsi Kata Otomatis merupakan proses dimana

pengguna ( user ) dapat mengoperasikan sebuah kata untuk dienkripsi tanpa

melihat atau melewati setiap tahap penyandianya. Dalam proses ini pengguna
diminta untuk memasukan plaintext untuk untuk proses enkripsi dan chipertext
untuk proses dekripsi. Dan juga user harus memasukan kunci untuk melakukan
enkripsi atau dekripsi. Pada tahap ini, aplikasi dilengkapi dengan pilihan combo
box berisi pilihan String, Hexadecimal dan biner. Hal ini dimaksudkan agar
pengguna dapat menggunakan aplikasi untuk enkripsi dan dekripsi walaupun kata
yang akan dienkripsi atau didekripsi berbentuk String, Hexadecimal ataupun Biner.

Gambar 4.1. Tampilan Enkripsi Otomatis

Gambar 4.2. Tampilan Dekripsi Otomatis


4.1.2

Proses Tampilan Enkripsi dan Dekripsi Kata Step by Step


Proses dalam tampilan Enkripsi Kata Step by step merupakan proses

dimana pengguna ( user ) dapat mengoperasikan sebuah kata untuk dienkripsi


atau didekripsi dengan melihat atau melewati setiap tahap penyandiannya. Berikut
urutan proses penyandian nya.
1.

Convert To Biner
Dalam proses ini pengguna diminta untuk memasukan plaintext untuk
proses enkripsi atau chipertext untuk proses dekripsi. User juga

diminta untuk memasukan kunci DES. Pada tahap ini, aplikasi


dilengkapi dengan pilihan combo box berisi pilihan String dan
Hexadecimal.

Hal

ini

dimaksudkan

agar

pengguna

dapat

menggunakan aplikasi walaupun kata atau pesan masih berbentuk


String maupun Hexadecimal.

Gambar 4.3. Step Enkripsi Convert To Bin

Gambar 4.4. Step Dekripsi Convert To Bin


2.

Initial Permutation
Pada step ini, Plaintext / Chipertext akan dipermutasikan dengan
tabel (Initial Permutation (IP) yang kemudian disebut dengan X0.
Selanjutnya, bagi blok IP/ X0 tersebut menjadi dua bagian L0 dan
R0 dengan masing-masing mempunyai ukuran 32 bit. Kemudian,
klik Next untuk ke langkah selanjutnya.

Gambar 4.5. Tampilan Enkripsi Initial Permutation

Gambar 4.6. Tampilan Dekripsi Initial Permutation


3.

Pencarian K+ untuk Pembangkitan Kunci


Kunci yang sudah dalam bentuk biner dipermutasikan dengan
tabel PC-1. Hasil permutasi kunci dengan tabel PC-1 disebut K+.
Selanjutnya bagi dua kunci permutasi tersebut (K+) menjadi C0
dan D0, dimana setiap bagian mempunyai ukuran 28 bit. Setelah
C0 didefinisikan, sekarang kita dapat membuat 16 blok Cn dan Dn,
1<=n<=16. Setiap pasang dari blok Cn dan Dn dibentuk dari
pasangan

Cn-1

dan

Dn-1,

secara

berulang

untuk

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 menggunakan aturan left


shift dari blok sebelumnya.

Gambar 4.7. Tampilan Kunci K+ dengan Tabel PC-1


Jika sudah mendapatkan nilai K+, kemudian klik next untuk
langkah selanjutnya.
4.

Pembangkitan Kunci
Kini

kita

membentuk

kunci

Kn,

untuk

1<=n<=16,

dengan

menerapkan permutasi sesuai dengan petunjuk tabel untuk setiap


gabungan antara Cn dan Dn. Setiap pasang mempunyai ukuran 56
bit, tetapi permutasi ini hanya akan menggunakan 48 bit. Berikut ini
adalah hasil dari pembangkitan 16 anak kunci.

Gambar 4.8. Tampilan Pembangkitan 16 anak kunci


5.

Tutorial Round 16
Pada step kali ini, hanya sebagai tutorial untuk melakukan enkripsi
16 kali putaran saja tanpa ada proses lain.

Gambar 4.9. Tampilan Tutorial Round 16


6.

Hasil Round 16
Kita lanjutkan dengan melakukan 16 iterasi untuk 1<=n<=16,
dengan menerapkan fungsi f yang mengoperasikan dua blok data
dari masing-masing 32 bit dan kunci 48 bit Kn untuk menghasilkan
32 bit data. Rumus yang digunakan adalah :

Gambar 4.10. Hasil 16 kali putaran Dekripsi

Gambar 4.11. Hasil 16 kali putaran Enkripsi


Perbedaan enkripsi dan dekripsi adalah penggunaan Kunci. Jika
enkripsi, maka kunci yang akan digunakan adalah K1 sampai
dengan K16, lalu untuk dekripsi, kunci yang digunakan adalah K16
sampai dengan K1.
Untuk menghitung f, pertama sistem akan mengembangkan setiap
blok Rn-1 dari 32 bit menjadi 48 bit. Untuk melakukan hal ini,
sistem

membutuhkan

fungsi

Expansion

Permutation

(E).

Selanjutnya, untuk perhitungan f, sistem akan melakukan operasi


XOR pada E(Rn-1) dengan kunci Kn.
Perhitungan f masih belum selesai, selanjutnya kita lakukan
sebuah operasi pada setiap grup yang terdiri dari 6 bit. Kita
gunakan setiap grup tersebut sebagai alamat pada tabel Sboxes. Dari hasil sebelumnya dapat ditentukan

Dimana setiap Bi terdiri dari 6 bit, maka dapat dihitung :

Jika B adalah 6 bit blok, maka S1(B) ditentukan sebagai berikut :


Bit pertama dan terakhir dari B mewakili bilangan desimal 0-3 (0011). Anggap bilangan ini sebagai i. 4 bit tengah lainnya mewakili
bilangan desimal 0-15 (0000-1111) dan anggap bilangan ini
sebagai j. Dengan demikian variabel i sebagai baris dan j sebagai
kolom. Sebagai contoh jika input B = 011011, maka i = 01 = 1 dan j
= 1101 =13. Pada baris 1 dan kolom 13 kita dapatkan nilai 5, jadi
outputnya adalah 0101.

Tahap terakhir dalam perhitungan f adalah dengan melakukan


permutasi P dari output tersebut.

Pada step ini, sistem akan menampilkan informasi hasil enkripsi 16


putaran, yang retdiri dari E(Rn), Kn, En XOR Kn, S-Box Outputs,
Hasil
7.

, Ln = Rn-1, dan R1.

Initial Permutation Invers dan Hasil Enkripsi


Setelah melalui 16 kali putaran, maka pada putaran terakhir
(Round 16) akan menghasilkan L16dan R16, yang nantinya akan
digunakan untuk menentukan hasil enkripsi.

Gambar 4.12. Initial Permutation Invers dan Hasil Enkripsi

Gambar 4.13. Initial Permutation Invers dan Hasil Dekripsi


Untuk mencari hasil enkripsi atau dekripsi, maka langkah yang
dilakukan sistem adalah membalik L16 dan R16 kemudian

digabungkan menjadi R16L16. Setelah itu, lakukan permutasi


-1

dengan Tabel IP . Untuk proses enkripsi, hasil permutasi tersebut


adalah chipertext dari plaintext yang sudah dimasukan di awal
step. Lalu, untuk dekripsi hasil permutasi tersebut adalah plaintext
dari chipertext yang sudah dimasukan di awal step.

4.1.3

Proses Tampilan Enkripsi dan Dekripsi Kalimat


Pada proses Enkripsi Kalimat disini, sedikit berbeda dengan enkripsi biasa,

karena seharusnya enkripsi dan dekripsi menggunakan Algoritma DES hanya bisa
menggunakan 64 bit saja. Lalu, bagaimana cara mengenkripsi atau mendekripsi
pesan apabila plaintext / chipertext lebih dari 64 bit. Cara yang paling masuk akal
adalah membagi kalimat panjang tersebut menjadi beberapa bagian dengan setiap
bagian terdiri dari 64 bit. Tentu saja jumlah bagian ini tergantung oleh panjang
karakter dari kalimat itu sendiri. . Lalu, apabila ada blok yang belum terisi 64 bit
atau 8 karater, maka akan diganti dengan karakter spasi sehingga bisa memenuhi
ketentuan 64 bit algoritma DES.

Gambar 4.14. Tampilan Statement Encryption

Gambar 4.15. Tampilan Statement Decryption


5.

Penutup

5.1.

Kesimpulan
Berdasarkan hasil analisis dan implementasi yang telah dilakukan, serta untuk

mengakhiri penelitian pada laporan skripsi yang berjudul Aplikasi Dekripsi dan
Enkripsi Pesan dengan Algoritma Data Encryption Standard (DES) berbasis Java
maka penulis dapat menarik kesimpulan sebagai berikut :
1.

Alur Algoritma Data Encryption Standard (DES) dilakukan dengan cara


merubah plaintext dan key kedalam bentuk biner yang kemudian akan dibagi
kedalam blok-blok biner sesuai ketentuan dari algoritma DES. Pesan atau
plaintext yang digunakan berukuran 64 bit dan kunci yang digunakan
berukuran 64 bit. Setelah plaintext dirubah menjadi biner, maka akan
dilakukan permutasi awal menggunakan tabel Initial Permutation, lalu hasil
dari permutasi ini dibagi menjadi 2 blok biner, yakni R0 dan L0. Langkah
selanjutnya, key yang sudah berbentuk biner, dilakukan operasi untuk
membangkitkan 16 buah anak kunci yang nantinya akan digunakan untuk
mengenkripsi pesan. Setelah didapat 16 buah anak kunci tersebut, kemudian
dimulailah perputaran 16 kali DES. Setelah perputaran selesai, tahap terakhir
adalah melakukan permutasi R16L16 menggunakan tabel IP Invers.
Perbedaan mendasar antara enkripsi dan dekripsi menggunakan algoritma
DES adalah pada penggunaan 16 buah anak kunci. Pada proses enkripsi,
kunci yang digunakan untuk perputaran adalah K1 sampai K16, sedangkan
untuk dekripsi, kunci yang digunakan dimulai dari K16 sampai dengan K1.

2.

Pada aplikasi ini, proses enkripsi dan dekripsi dapat dilakukan secara
bertahap. Penulis membagi langkah-langkah enkripsi dan dekripsi menjadi 6
langkah. Yang pertama, adalah melakukan konversi nilai masukan plaintext

dan key kedalam biner, kemudian melakukan Initial Permutation. Langkah


ketiga adalah pembangkitan kunci dengan diawali pemcarian K+, baru
kemudian dilangkah keempat akan ditemukan hasil dari pembangkitan 16
anak kunci tersebut. Langkah kelima adalah melakukan putaran 16 kali sesuai
aturan algoritma DES. Langkah keenam atau terakhir adalah melakukan
permutasi menggunakan tabel IP Invers.
3.

Aplikasi ini sudah dirancang sedemikian rupa agar dapat mengenkripsi dan
mendekripsi pesan tanpa harus melalui langkah-langkah panjang. Jadi,
proses enkripsi dan dekripsi ini sudah secara otomatis dijalankan oleh
komputer tanpa harus menampilkan kepada user bagaimana proses ini
berjalan.

4.

Algortima DES membatasi panjang karakter sebuah pesan yang akan


dienkripsi dan didekripsi. Oleh karena itu, untuk dapat menenkripsi dan
mendekripsi pesan berupa kalimat panjang, maka yang harus dilakukan
adalah membagi kalimat itu menjadi blok-blok dimana setiap blok berisi 64 bit
atau 8 karakter. Lalu, apabila ada blok yang belum terisi 64 bit atau 8 karater,
maka akan diganti dengan karakter spasi sehingga bisa memenuhi ketentuan
64 bit algoritma DES.

5.2.

Saran
Dalam penulisan skripsi ini tentu masih terdapat banyak kekurangan, namun ini

tidak menutup untuk dapat disempurnakan untuk pengembangan selanjutnya agar dapat
meningkatkan fungsionalitasnya dan manfaat aplikasi ini. Beberapa hal yang mungkin
dapat dilakukan untuk pengembangan aplikasi Encrypt Decrypt DES ini yaitu:
1.

Merubah metode konversi ke biner yang masih menggunakan Array menjadi


bertipe Byte.

2.

Menambah logika untuk menyaring masukan berupa Hexadecimal dan Biner


agar lebih akurat.

3.

Mengganti tutorial statis menjadi dinamis, seperti flash atau gambar bergerak
agar menarik dan tidak membosankan.

4.

Memperbaiki Graphical User Interface (GUI) agar kelihatan lebih bagus dan
lebih user friendly.

5.

Menambah algoritma kriptografi lain supaya bervariasi dan bisa digunakan


untuk metode kriptografi hybrid.

6.

Menambahkan menu Help atau menu bantuan agar aplikasi ini bisa
digunakan oleh orang awam.

DAFTAR PUSTAKA

Ariyuz, Dony. 2006. Kriptografi Keamanan Data dan Komunikasi. Yogyakarta : GRAHA
ILMU.
Ariyuz, Dony. 2008. Pengantar Ilmu Kriptografi Teori, Analisis, dan Implementasi.
Yogyakarta : Andi Offset.
Sadikin, Rifki. 2012. Kriptografi untuk Keamanan Jaringan. Yogyakarta : Andi Offset.
Kurniawan, Yusuf. 2004. Kriptografi Keamanan Internet dan Jaringan Telekomunikasi.
Bandung : Informatika Bandung.
Kristanto, Andri. 2003. Keamanan Data pada Jaringan Komputer. Yogyakarta : Gava
Media
G. Sri Hartati, B. Herry Suharto, M. Soesilo Wijono. 2006. Pemrograman GUI Swing Java
dengan NetBeans 5, Yogyakarta : Andi offset.
Matius Soesilo, G. Sri Hartati Wijono, B. Herry Suharto. 2005. Java2SE dengan JBuilder.
Yogyakarta : Andi Offset
Budi Raharjo, Imam Heryanto, Arif Haryono. 2012. Mudah Belajar Java. Bandung :
Informatika Bandung.
Fowler, Martin. 2005. UML Distilled 3th Ed., Panduan Singkat Bahasa Pemodelan Objek
Standar. Yogyakarta : Andi offset.
Hermawan, Julius. 2004. Analisa-Desain dan Pemrograman Obyek dengan UML dan
Visual Basic.NET. Yogyakarta : Andi offset.

You might also like