• Tidak ada hasil yang ditemukan

APLIKASI DEKRIPSI DAN ENKRIPSI PESAN DENGAN ALGORITMA DATA ENCRYPTION STANDARD (DES) BERBASIS JAVA NASKAH PUBLIKASI. diajukan oleh Witarko

N/A
N/A
Protected

Academic year: 2021

Membagikan "APLIKASI DEKRIPSI DAN ENKRIPSI PESAN DENGAN ALGORITMA DATA ENCRYPTION STANDARD (DES) BERBASIS JAVA NASKAH PUBLIKASI. diajukan oleh Witarko"

Copied!
20
0
0

Teks penuh

(1)

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

(2)
(3)

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 can’t 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.

(4)

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.

(5)

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: 1. Berbasis karakter

2. Menggunakan pena dan kertas saja, belum terkomputerisasi 3. Termasuk ke dalam kriptografi kunci simetris

2.3. 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

(6)

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:

1. Data Encryption Standard (DES) 2. Advance Encryption Standard (AES)

3. International Data Encryption Algorithm (IDEA) 4. A5

5. RC4

2.3.2. 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.

(7)

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 informasi-informasi 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 :

a. Processor AMD E-450 APU with Radeon™ HD Graphics b. RAM (Random Access Memory) 2.00 GB

c. Harddisk 250 GB

2. 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

3.2.3.4. Analisis Kebutuhan Perangkat Lunak (Software)

(8)

a. Sistem Operasi Windows 7 (32-bit) b. NetBeans 6.9.1

c. Java™ SE Development Kit (JDK) 6 update 18

2. 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 pesan atau teks menggunakan metode algoritma DES.

(9)

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

(10)

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

(11)

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.

(12)

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 n =

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 menggunakan aturan “left shift” dari blok sebelumnya.

(13)

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.

(14)

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 :

(15)

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 “S-boxes”. 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 (00-11). 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.

(16)

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 , Ln = Rn-1, dan R1.

7. 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

(17)

digabungkan menjadi R16L16. Setelah itu, lakukan permutasi dengan Tabel IP-1. 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.

(18)

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

(19)

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.

(20)

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

Gambar

Gambar 4.1. Tampilan Enkripsi Otomatis
Gambar 4.4. Step Dekripsi Convert To Bin  2.  Initial Permutation
Gambar 4.6. Tampilan Dekripsi Initial Permutation  3.  Pencarian K+ untuk Pembangkitan Kunci
Gambar 4.8. Tampilan Pembangkitan 16 anak kunci  5.  Tutorial Round 16
+5

Referensi

Dokumen terkait

The present study describes the relationship between macerals constituent, chemical properties and hydrocarbon potential in some Tertiary coals from Lower and Upper Kutai

Pengakuan Model Noken Dalam Putusan Mahkamah Konstitusi Tentang Pemilukada Lanny Jaya Papua Dan Implementasinya Terhadap Sistem Pemilu Di Indonesia .Thesis :

tegangan generator sinkron hubung wye pada beban seimbang lebih besar dari. pada pengaturan tegangan pada hubung delta, yaitu sebesar 90 % dan

Batubara pada Formasi Batupasir Haloq merupakan bagian dari Cekungan Kutai Atas, yang terendapkan pada kondisi limnic (low moor) dengan genesa gambut ombrotrophic

a) Karakteristik litologi sandstone NAF mempengaruhi metode enkapsulasi yang diterapkan, disarankan melakukan kompaksi material sandstone atau pencampuran material

• Bila subclass yang diturunkan dari abstract y g class tidak mengimplementasikan isi semua method abstrak parent class, maka subclass tersebut harus tetap dideklarasikan abstract..

bertindak sebagai wali amanat ( trustee ) untuk mewakili kepentingan investor. Investor, adalah pemegang sukuk yang memiliki hak atas imbalan, margin, dan nilai

Sejak beberapa tahun terakhir, penulisan referensi R dalam bentuk buku teks berbahasa Inggris mulai digalakkan oleh beberapa penerbit terkenal diantaranya Chapmann