• Tidak ada hasil yang ditemukan

Perancangan Aplikasi Enkripsi dan Dekripsi Teks Menggunakan Algoritma Hash MD5 dan Triple DES

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perancangan Aplikasi Enkripsi dan Dekripsi Teks Menggunakan Algoritma Hash MD5 dan Triple DES"

Copied!
7
0
0

Teks penuh

(1)

1

Perancangan Aplikasi Enkripsi dan Dekripsi Teks Menggunakan Algoritma

Hash MD5 dan Triple DES

Syarkawi MS Sanggo1), Aldi Renaldi2), Meijen Norris Simbolon3)

Program Studi Sistem Komputer, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia Jl. Dipatiukur No. 112-116, Bandung, Indonesia 40132

1)khawi.sanggo@email.unikom.ac.id 2)aldir72@gmail.com 3)jends.526633@gmail.com

Abstract - Cryptography is a science and an art to securing messages. To maintain the security of the message, required strong cryptographic algorithms and reliable. The combination of hash MD5 algorithm and triple DES (3DES) in securing the messages will reduce the weaknesses of each of the cryptographic algorithm. Hash MD5 algorithm accepts input in the form of a message with any size and produces a fixed length output. Otherwise the 3DES algorithm is a cryptographic algorithm that encrypts the original message with three different keys are generated on each round. Thus then designed an application encryption and decryption using hash MD5 and 3DES algorithms. By combining both, the secured messages are expected to remain the private.

Keywords - 3DES; decryption; encryption; hash;

cryptography; MD5

Abstrak - Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan. Untuk menjaga keamanan pesan tersebut, diperlukan algoritma kriptografi yang kuat serta handal. Perpaduan algoritma hash MD5 dan triple DES (3DES) dalam mengamankan pesan akan mengurangi kelemahan dari masing-masing algoritma kriptografi tersebut. Algoritma hash MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan keluaran yang panjangnya tetap. Sedangkan algoritma 3DES merupakan algoritma kriptografi yang mengenkripsi pesan asli dengan tiga kunci berbeda yang dibangkitkan pada setiap rondenya. Dengan demikian maka dirancanglah sebuah aplikasi enkripsi dan dekripsi menggunakan algoritma hash MD5 dan 3DES. Dengan menggabungkan kedua algoritma tersebut, pesan yang diamankan diharapkan tetap terjaga kerahasiannya.

Kata kunci - 3DES; dekripsi; enkripsi; hash;

kriptografi; MD5

I.PENDAHULUAN

Kemajuan teknologi komputer membantu semua aspek kehidupan manusia, dari hal yang terkecil sampai ke berbagai hal yang sangat rumit sekalipun bisa dikerjakan oleh teknologi komputer. Contoh dari kemajuan teknologi komputer yang paling nyata yang

dapat digunakan oleh semua orang adalah kecepatan dalam menyampaikan pesan dari tempat yang jauh. Selain itu, komputer juga dipakai oleh berbagai kalangan seperti pemerintah, organisasi-organisasi sosial, militer, bank, pendidikan, transportasi, perdagangan, industri, dan sebagainya. Semua lapisan masyarakat memerlukan komputer sebagai alat bantu dalam kehidupan sehari-hari. Penggunaan komputer saat ini hampir tidak lepas dari internet, dengan internet akan banyak perangkat yang terhubung, baik itu antar komputer maupun dengan perangkat lainnya, dan semuanya itu tidak terlepas dari proses pengiriman data antara perangkat satu dan yang lainnya. Sehingga keamanan menjadi hal yang harus benar-benar diperhatikan agar data yang transmisikan tidak diambil, diubah, atau dirusak oleh pihak-pihak yang tidak bertanggung jawab.[1]

Hingga saat ini masalah keamanan sering kali kurang mendapat perhatian dari para perancang dan pengelola aplikasi. Seringkali masalah keamanan berada di urutan setelah tampilan, atau bahkan di urutan terakhir dalam daftar hal-hal yang dianggap penting. Apabila mengganggu performansi dari sistem, seringkali masalah keamanan tidak begitu diperdulikan bahkan ditiadakan.

Ancaman keamanan yang terjadi terhadap informasi adalah:

1) Interruption

Merupakan suatu ancaman terhadap avaibability, informasi, data yang ada dalam sistem komputer dirusak, dihapus, sehingga jika data, informasi tersebut dibutuhkan tidak ada lagi.

2) Interception

Merupakan ancaman terhadap kerahasiaan (secrecy). Informasi yang ada disadap atau orang yang tidak berhak mendapat akses ke komputer dimana informasi tersebut disimpan.

3) Modification

Merupakan ancaman terhadap integritas. Orang yang tidak berhak berhasil menyadap lalu lintas informasi yang sedang dikirim dan diubah sesuai dengan keinginan si orang tersebut.

4) Fabrication

Merupakan ancaman terhadap integritas. Orang yang tidak berhak berhasil meniru (memalsukan) suatu informasi yang ada sehingga orang yang menerima informasi tersebut menyangka informasi tersebut

(2)

2

berasal dari orang yang dikehendaki oleh penerima informasi tersebut.

Ancaman-ancaman keamanan dapat menyerang sistem, baik itu hardware, software, data, dan line komunikasi. Penyerangan terhadap sistem tersebut dapat berupa pencurian, penghapusan, pengrusakan, atau memodifikasian. Ancaman-ancaman tersebut dapat terjadi kapanpun, dan saat terjadi penyerangan pengguna tidak mengetahui bahwa pengguna tersebut sedang diserang.[2]

Salah satu cara agar pesan yang di rahasiakan tetap aman dan terjaga keasliannya adalah dengan menggunakan sistem kriptografi. Untuk itu penulis bermaksud membuat sebuah aplikasi yang mampu mengenkripsi dan mendekripsi sebuah pesan teks dengan dua algoritma sekaligus, yakni algoritma hash MD5 dan triple DES. Dengan adanya penerapan dari kedua algoritma tersebut dalam mengamankan sebuah pesan teks, diharapkan kerahasian dari pesan teks tersebut dapat terjaga.

II.TINJAUAN PUSTAKA

A. Kriptografi

Kriptografi adalah ilmu sekaligus seni untuk menjaga keamanan pesan (message) [Schneier, 1996]. Kriptografi juga ilmu yang mempelajari tentang penyembunyian huruf atau tulisan sehingga membuat tulisan tersebut tidak dapat dibaca oleh orang yang tidak berkepentingan.

Kriptografi mempunyai sejarah yang sangat menarik dan panjang. Kriptografi sudah digunakan 4000 tahun yang lalu yang diperkenalkan oleh orang-orang Mesir untuk mengirim pesan ke pasukan militer yang berada di lapangan dan supaya pesan tersebut tidak terbaca oleh pihak musuh walaupun kurir pembawa pesan tersebut tertangkap oleh musuh. Pada zaman Romawi kuno dikisahkan pada suatu saat, ketika Julius Caesar ingin mengirimkan satu pesan rahasia kepada seorang Jenderal di medan perang. Pesan tersebut harus dikirimkan melalui seorang kurir, tetapi karena pesan tersebut mengandung rahasia, Julius Caesar tidak ingin pesan tersebut terbuka di tengah jalan. Disini Julius Caesar memikirkan bagaimana mengatasinya yaitu dengan cara mengacak pesan tersebut menjadi suatu pesan yang tidak dapat dipahami oleh siapapun kecuali hanya dapat dipahami oleh Jenderalnya saja.

Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi pengertian kriptografi secara modern adalah tidak saja berurusan hanya dengan penyembunyian pesan namun lebih pada sekumpulan teknik yang menyediakan keamanan informasi. Berikut adalah rangkuman beberapa mekanisme yang berkembang pada kriptografi modern:

1) Penyandian dengan kunci asimetrik (symmetric key encipherment). Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi dan kunci dekripsi bernilai sama. Kunci pada penyandian simetrik diasumsikan bersifat rahasia hanya yang melakukan enkripsi dan dekripsi yang mengetahui nilainya. Oleh karena itu penyandian dengan kunci simetrik disebut juga penyandian dengan kunci rahasia secret key encipherment.

2) Penyandian dengan kunci asimetrik (Asymmetric key encipherment). Penyandian dengan kunci asimetrik atau sering juga disebut dengan penyandian kunci publik (public key) adalah penyandian dengan kunci enkripsi dan dekripsi berbeda nilai. Kunci nilai enkripsi yang juga disebut dengan kunci publik bersifat terbuka. Sedangkan, kunci dekripsi yang juga disebut kunci private bersifat tertutup/rahasia.

Didalam kriptografi terdapat beberapa istilah yaitu plaintext dan ciphertext. Plaintext adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Sedangkan ciphertext adalah bentuk pesan yang tersandi dengan tujuan agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan di sandikan ke bentuk lain.

Kriptografi mempunyai dua bagian yang penting, yaitu enkripsi dan dekripsi. Enkripsi adalah proses dari penyandian pesan asli menjadi pesan yang tidak dapat diartikan seperti aslinya. Dekripsi sendiri berarti merubah pesan yang sudah disandikan menjadi pesan aslinya. Pesan asli biasanya disebut plaintext, sedangkan pesan yang sudah disandikan disebut ciphertext. [3]

Enryption Decryption

Plaintext Ciphertext Plaintext

Gambar 1. Alur proses enkripsi dan dekripsi

B. Fungsi Hash

Fungsi hash adalah fungsi yang menerima masukan string yang panjangnya sembarang dan mengkonversinya menjadi string keluaran yang panjangnya tetap (fixed) (umumnya berukuran jauh lebih kecil daripada ukuran string semula).

Fungsi hash dapat menerima masukan string apa saja. Jika stringmenyatakan pesan (message), maka sembarang pesan M berukuran bebas dikompresi oleh fungsi hash H melalui persamaan:

ℎ = 𝐻(𝑀) (1)

Keluaran fungsi hash disebut juga nilai hash (hash-value) atau pesan-ringkas (message digest). Pada persamaan diatas, h adalah nilai hash atau message digest dari fungsi H untuk masukan M. Dengan kata lain, fungsi hash mengkompresi sembarang pesan yang berukuran

(3)

3

berapa saja menjadi message digest yang ukurannya selalu tetap (dan lebih pendek dari panjang pesan semula). Nama lain fungsi hash adalah:

Compression Function (fungsi kompresi/kontraksi)

Fingerprint (cetak-jari)

Cryptographic Checksum

Message Integrity Check(MIC)

Manipulation Detection Code(MDC)

Aplikasi fungsi hash misalnya untuk memverifikasi kesamaan salinan suatu arsip di dengan arsip aslinya yang tersimpan di dalam sebuah basis data terpusat. Ketimbang mengirim salinan arsip tersebut secara keseluruhan ke komputer pusat (yang membutuhkan waktu transmisi lama), lebih mangkus mengirimkan message digest- nya. Jika message digest salinan arsip sama dengan message digest arsip asli, berarti salinan arsip tesrebut sama dengan asrip di dalam basis data.

Fungsi hash yang banyak dipakai di dalam aplikasi kriptografi adalah MD5 dan SHA. Algoritma MD5 diberikan di bawah ini, sedangkan SHA akan diberikan pada materi DSS (Digital Signature Standard).[4]

C. Message Digest 5 (MD5)

MD5 merupakan perbaikan dari MD4 setelah MD4 berhasil diserang oleh kriptanalis. MD5 adalah salah satu dari serangkaian algortima message digest yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994). Saat kerja analitik menunjukkan bahwa pendahulu MD5-MD4-mulai tidak aman, MD5 kemudian didesain pada tahun 1991 sebagai pengganti dari MD4 (kelemahan MD4 ditemukan oleh Hans Dobbertin) [2]. Algoritma Metode MD5, setiap pesan yang akan di-enkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan, anggap sebanyak b bit. Di sini b adalah bit non negative integer, b bisa saja nol dan tidak harus selalu kelipatan delapan [1]. Pesan dengan panjang b bit dapat digambarkan m_0 m_1 …..m_(b-1). Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit.[4]

Gambar 2. Pembuatan Message Digest 5

Langkah-langkah pembuatan message digest secara garis besar adalah sebgaai berikut:

1) Penambahan Bit-bit Pengganjal

2) Penambahan Nilai Panjang Pesan Semula 3) Inisialisasi Penyangga MD

4) Pengolahan Pesan dalam Blok Berukuran 512-bit. D. Triple Data Encryption Standard (DES)

Triple Data Encryption Standard (3DES) merupakan suatu algoritma pengembangan dari algoritma DES (Data Encryption Standard). Pada dasarnya algoritma yang digunakan sama, hanya pada 3DES dikembangkan dengan melakukan enkripsi dengan implementasi algoritma DES sebanyak tiga kali. 3DES memiliki tiga buah kunci yang berukuran 168-bit (tiga kali kunci 56-bit dari DES). Pada algoritma 3DES dibagi menjadi tiga tahap, setiap tahapnya merupakan implementasi dari algoritma DES.

Tahap pertama, plainteks yang diinputkan dioperasikan dengan kunci eksternal pertama (K1) dan melakukan proses enkripsi dengan menggunakan algoritma DES. Sehingga menghasilkan pra-ciphertext pertama. Tahap kedua, pra-ciphertext pertama yang dihasilkan pada tahap pertama, kemudian dioperasikan dengan kunci eksternal kedua (K2) dan melakukan proses enkripsi atau proses dekripsi (tergantung cara pengenkripsian yang digunakan) dengan menggunakan algoritma DES. Sehingga menghasilkan pra-ciphertext kedua. Tahap terakhir, pra-ciphertext kedua yang dihasilkan pada tahap kedua, dioperasikan dengan kunci eksternal ketiga (K3) dan melakukan proses enkripsi dengan menggunakan algoritma DES, sehingga menghasilkan ciphertext (C).[5] DES Encryption DES Decryption DES Encryption Plaintext Ciphertext Key(1) Key(2) Key(3) Key (56-bit) Key Generator

(4)

4

1) Pemilihan Kunci

Ada dua pilihan untuk pemilihan kunci eksternal algoritma 3DES, yaitu:

a. K1, K2, dan K3 adalah kunci-kunci yang saling bebas.

K1 ≠ K2≠ K3≠ K1

b. K1dan K2 adalah kunci-kunci yang saling bebas, dan K3 sama dengan K1

K1 ≠ K2 dan K3= K1

2) Proses Enkripsi dan Dekripsi

Proses enkripsi dan dekripsi algoritma 3DES dapat dicapai dengan beberapa cara yang dijabarkan pada Tabel 1.

Tabel 1. Cara pengenkripsian dan pendekripsian

Cara Enkripsi Dekripsi

1 DES – EDE2  K1 ≠ K2,K3= K1  C = E [D {E (P, K1), K2}, K3] DES – DED2  K1 ≠ K2,K3= K1  P = D [E {D (C, K3), K2}, K1] 2 ES – EEE2  K1 ≠ K2,K3= K1  C = E [E {E (P, K1), K2}, K3] DES – DDD2  K1 ≠ K2,K3= K1  P = D [D {D (C, K3), K2}, K1] 3 DES – EDE3  K1 ≠ K2≠ K3≠ K1  C = E [D {E (P, K1), K2}, K3] DES – DED3  K1 ≠ K2≠ K3≠ K1  P = D [E {D (C, K3), K2}, K1] 4 DES – DED3  K1 ≠ K2≠ K3≠ K1  P = D [E {D (C, K3), K2}, K1] DES – DDD3  K1 ≠ K2≠ K3≠ K1  P = D [D {D (C, K3), K2}, K1]

E. Electronic Code Book (ECB)

Pada mode ini, setiap blok plainteks Pi dienkripsi secara individual dan independen menjadi blok cipherteks Ci Secara matematis, enkripsi dengan mode

ECB dinyatakan sebagai

𝐶𝑖= 𝐸𝑘(𝑃𝑖) (2)

dan dekripsi sebagai

𝑃𝑖= 𝐷𝑘(𝐶𝑖) (3)

yang dalam hal ini, Pi dan Ci masing-masing blok plainteks dan cipherteks ke-i. Skema enkripsi dan dekripsi dengan mode ECB dapat dilihat pada Gambar 4.

E

Plaintext Kunci Ciphertext

D

Plaintext Kunci Ciphertext

Gambar 4. Skema enkripsi dan dekripsi dengan mode

Electronic Code Book

Ada kemungkinan panjang plainteks tidak habis dibagi dengan panjang ukuran blok yang ditetapkan. Hal ini mengakibatkan blok terakhir berukuran lebih pendek daripada blok-blok lainnya. Satu cara untuk mengatasi hal ini adalah dengan padding, yaitu menambahkan blok terakhir dengan pola bit yang teratur agar panjangnya sama dengan ukuran blok yang ditetapkan.

Padding yang digunakan dalam mengimplementasian algoritma 3DES ini adalah PKCS di mana konsep dasar dari algoritma padding adalah mengisikan bit yang kurang dari sebuah blok dengan bilangan yang merupakan jumlah sisa blok yang kosong, misalnya sisa blok kosongnya 3, maka sisa 3 bit akan diisi oleh 3 buah bit 3, dst.[6]

F. Visual Studio 2013

Visual Studio 2013 merupakan sebuah perangkat lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi console, aplikasi Windows, ataupun Web. Visual Studio 2013 mencakup compiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Compiler yang dimasukkan ke dalam paket Microsoft Visual Studio 2013 antara lain Visual C++, Visual C#, Visual Basic, Visual Basic.NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe. [7]

1) Visual Basic

Visual Basic adalah bahasa pemrograman tingkat tinggi produk keluaran Microsoft Corporation dan merupakan pengembangan dari bahasa BASIC (Beginners Allpurpose Symbolic Instruction Code) versi DOS. Perbedaan antara Visual Basic dengan bahasa BASIC adalah pemrograman BASIC masih berorientasi teks dan program dieksekusi secara berurutan. Untuk itu bahasa BASIC disebut sebagai interpreter. Sedangkan dalam Visual Basic dengan lingkungan grafiknya, pemrograman terkendali kejadian (event driven) artinya pemrograman menunggu sampai adanya respon dari pengguna berupa event/kejadian tertentu (tombol di klik, menu pilih, dan lain-lain). Ketika event terdeteksi, kode yang berhubungan dengan event akan dieksekusi. Perkembangan Visual Basic sengat pesat karena pemakaiannya mudah dan banyak sekali fasilitas-fasilitas yang disediakan.[7]

III.METODE PENELITIAN

Pada penelitian ini, metode yang digunakan akan dijelaskan sebagai berikut:

1) Studi Pustaka

Studi pustaka digunakan untuk memperoleh informasi, dasar teori yang diperoleh dari membaca

(5)

5

buku, jurnal, serta Internet yang mendukung pembuatan aplikasi ini.

2) Perancangan

Perancangan digunakan sebagai acuan dalam membangun aplikasi enkripsi dan dekripsi teks. Rancangan ini nantinya akan menggambarkan bentuk nyata dari aplikasi yang akan dibuat. Diagram alir dari aplikasi yang akan dibangun dapat dilihat pada Gambar 5. Start Insert Encryption Key Insert Plaintext Encrypt? Encrypt to Hash MD5

Encrypt to 3DES ECB Mode

Yes

Ciphertext

End Decrypt?

Decrypt to 3DES ECB Mode Decrypt to Hash MD5 Yes Plaintext Insert Decryption Key A A Decryption Key = Encryption Key? Ciphertext Yes B B B No No Message Error No

Gambar 5. Diagram alir aplikasi enkripsi dan dekripsi

teks

Saat program aplikasi dijalankan, user akan diminta untuk memasukkan kunci enkripsi. Setelah kunci enkripsi dimasukkan, selanjutnya user akan memasukkan pesan yang akan diamankan. Langkah selanjutnya adalah aplikasi akan melakukan proses enkripsi pesan tersebut dengan kunci yang telah dimasukkan menggunakan algoritma hash MD5. Hasil enkripsi hash MD5 yang berupa ciphertext, akan dienkripsi lagi menggunakan algoritma 3DES dengan kunci yang sama. Setelah dua proses enkripsi tersebut telah selesai, maka akan didapatkan sebuah final ciphertext yang yang mengamankan pesan asli tersebut.

Pada proses dekripsi, langkah-langkah yang dilakukan adalah user akan memasukkan sebuah kunci dekripsi yang sama dengan kunci enkripsi. Jika kunci yang dimasukkan tepat, maka ciphertext akan didekripsi menggunakan algoritma 3DES. Hasil dari dekripsi algoritma 3DES masih berupa ciphertext. Untuk itu, selanjutkan akan didekripsi lagi menggunakan algoritma hash MD5 dengan kunci yang sama. Setelah proses dekripsi menggunakan algoritma hash MD5 selesai, maka program aplikasi akan menampilkan teks pesan asli seperti semula (plaintext).

3) Implementasi

Implementasi digunakan untuk merencanakan, membuat aplikasi, serta merealisasikan aplikasi enkripsi dan dekripsi teks.

4) Pengujian

Pengujian dilakukan untuk menguji sistem yang telah dibuat, serta menguji parameter yang mempengaruhi sistem kerja dari aplikasi yang akan dibangun. 5) Analisis dan Kesimpulan

Analisis dan kesimpulan dilakukan dengan membuat laporan dari hasil perancangan sistem, kemudian dilakukan analisis, sehingga dapat ditarik kesimpulan dari hasil analisis tersebut.

IV.HASIL DAN PEMBAHASAN

A. Kode Program

Berikut merupakan kode program yang dituliskan dalam pemrograman Visual Basic pada Form1.vb:

Berikut merupakan kode program yang dituliskan dalam pemrograman Visual Basic pada Class1.vb:

‘Form1.vb

Imports EncryptionDecryption Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim key As String key = TextBox1.Text

RichTextBox2.Text = Crypto.Encrypt(RichTextBox1.Text, key) RichTextBox2.ReadOnly = True

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Dim key As String key = TextBox2.Text

RichTextBox3.Text = Crypto.Decrypt(RichTextBox2.Text, key) RichTextBox3.ReadOnly = True

End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click RichTextBox1.Text = "" RichTextBox2.Text = "" RichTextBox3.Text = "" TextBox1.Text = "" TextBox2.Text = ""

(6)

6

B. Proses Enkripsi

Enkripsi teks merupakan merupakan bagian awal dari proses pengaman teks pada aplikasi ini. Dalam proses enkripsi ini data yang asli akan dienkrip pertama kali menggunakan algoritma Hash MD5 kemudian ciphertext hasil enkripsi akan di enkrip lagi menggunakan algoritma Triple DES (3DES). Berikut gambar tampilan awal saat aplikasi dijalankan.

Gambar 6. Tampilan awal saat aplikasi dijalankan

Pada tampilan ini, user diminta untuk memasukkan teks sebagai kunci untuk mengenkripsi teks. Selanjutnya user juga akan diminta memasukkan

teks yang yang akan dienkripsi. Berikut tampilan setelah tombol Encrypt ditekan.

Gambar 7. Tampilan setelah tombol encrypt ditekan

C. Proses Dekripsi

Setelah proses enkripsi selesai, maka user akan diminta memasukkan kunci untuk mendekripsikan ciphertext menjadi teks pesan asli (plaintext). Apabila kunci dekripsi yang dimasukkan tidak sama dengan kunci enkripsi maka program aplikasi akan menampilkan pesan kesalahan. Berikut gambar masukkan kunci dekripsi yang tidak sama dengan kunci enkripsi.

Gambar 8. Tampilan error message saat masukkan

kunci dekripsi tidak sesuai dengan kunci enkripsi Pada kondisi ini user akan diperintahkan untuk memasukkan kembali kunci dekripsi yang sesuai dengan kunci enkripsi. Apabila kunci dekripsi yang dimasukkan telah benar maka program akan mendekripsikan ciphertext menjadi pesan aslinya. Berikut gambar dekripsi ciphertext dengan kunci yang sesuai.

‘Class1.vb

Imports System.IO Imports System.Text

Imports System.Security.Cryptography Imports System.Windows.Forms Public Class Crypto

Private Shared DES As New TripleDESCryptoServiceProvider Private Shared MD5 As New MD5CryptoServiceProvider

Public Shared Function MD5Hash(ByVal value As String) As Byte() Return MD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(value)) End Function

Public Shared Function Encrypt(ByVal stringToEncrypt As String, ByVal key As String) As String

DES.Key = Crypto.MD5Hash(key) DES.Mode = CipherMode.ECB

Dim Buffer As Byte() = ASCIIEncoding.ASCII.GetBytes(stringToEncrypt) Return

Convert.ToBase64String(DES.CreateEncryptor().TransformFinalBlock(Buffer, 0, Buffer.Length))

End Function

Public Shared Function Decrypt(ByVal encryptedString As String, ByVal key As String) As String

Try

DES.Key = Crypto.MD5Hash(key) DES.Mode = CipherMode.ECB

Dim Buffer As Byte() = Convert.FromBase64String(encryptedString) Return

ASCIIEncoding.ASCII.GetString(DES.CreateDecryptor().TransformFinalBlock(Buffe r, 0, Buffer.Length))

Catch ex As Exception

MessageBox.Show("Invalid Key", "Decryption Failed", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Try End Function End Class

(7)

7

Gambar 9. Tampilan dekripsi ciphertext dengan kunci

yang sesuai

V.KESIMPULAN

Setelah proses implementasi dan pengujian terhadap aplikasi enkripsi dan dekripsi menggunakan algoritma hash MD5 dan Triple DES (3DES), kami simpulkan bahwa teks yang dienkripsi menggunakan algoritma hash MD5 saja dengan masukkan pesan yang ukurannya sembarang akan menghasilkan message digest yang panjangnya 128-bit. Ini berarti bahwa untuk kemungkinan panjang masukan yang tak terhingga, hanya akan ada 2128 kemungkinan nilai hash yang akan

dihasilkan MD5. Hal ini memberikan indikasi awal bahwa MD5 akan rentan terhadap suatu situasi di mana suatu masukan akan memiliki nilai keluaran hash yang sama dengan suatu nilai masukan yang lain.

Untuk mencega hal itu terjadi, hasil enkripsi dari algoritma hash MD5 dienkripsi lagi menggunakan algoritma 3DES. Algoritma 3DES menggunakan tiga kunci yang dibangkitkan (generate) dengan panjang 168-bit (masing-masing panjangnya 56-168-bit). Karena tingkat kerahasiaan algoritma 3DES terletak pada panjangnya kunci yang digunakan, maka penggunaan algoritma 3DES dianggap lebih aman sehingga kelemahan dari algoritma hash MD5 dapat teratasi dan pesan asli (plaintext) dapat terjaga keamanannya.

penulis dapat menyelesaikan makalah ini

tepat pada waktunya.

DAFTAR PUSTAKA

[1] D. Aryus, Kriptografi Keamanan Data dan Komunikasi, Yogyakarta: Graha Ilmu, 2006. [2] R. Sadikin, Kriptografi untuk Keamanan Jaringan,

Yogyakarta: Andi, 2012.

[3] R. Munir, Pengantar Kriptografi, Bandung: ITB, 2004.

[4] R. Munir, Fungsi Hash dan Algoritma MD5, Bandung: ITB, 2004.

[5] FIPS, Data Encryption Standard (DES), Gaithersburg: National Institute of Standards and Technology, 1999.

[6] A. Adeputra, “Studi & Implementasi Algoritma Triple DES,” Kriptografi, pp. 1-8, 2009.

[7] S. Nurhayati, Modul Praktikum Aplikasi IT III, Bandung: Teknik Komputer Unikom, 2016.

Gambar

Gambar 3. Algoritma 3DES
Gambar 4. Skema enkripsi dan dekripsi dengan mode  Electronic Code Book
Gambar 5. Diagram alir aplikasi enkripsi dan dekripsi  teks
Gambar 8. Tampilan error  message saat masukkan  kunci dekripsi tidak sesuai dengan kunci enkripsi

Referensi

Dokumen terkait

Salon kecantikan merupakan fasilitas pelayanan maupun sarana pelayanan umum yang bertujuan untuk memelihara kesehatan kulit dan rambut dengan menggunakan bahan

Dalam hal ini perlu ada upaya guna mengintegrasikan lahan dari tiap pegaram dengan mengadopsi konsep “corporate farming” atau pembentukan kelompok atau usaha bersamamelalui

Berdasarkan hasil penelitian yang telah dilakukan oleh penulis, maka dapat disimpulkan bahwa komunikasi antarpribadi orangtua dan anak dalam penggunaan gadget dari segi

sebuah kertas tisu melaporkan bahwa perbedaan antara penggunaan bahan bubuk dan reagen pada pengambilan sidik bibir laten pada suatu benda, dipengaruhi oleh beberapa faktor antara

Nur dan Widyastuti (2014) dalam penelitian yang dilakukan pada tiga orang subjek dengan anak terlambat bicara menunjukkan bahwa salah satu reaksi negatif yang

Keseluruhan daerah dengan konsentrasi fosfat tertinggi baik saat pasang maupun surut terletak di bagian muara sungai dan sekitar muara sungai, daerah tersebut merupakan

Jelas di sini tindakan mengusir dan mengasingkan golongan LGBT daripada masyarakat Islam bukan bermaksud mendiskriminasikan mereka, namun sebagai memberi pengajaran