APLIKASI KRIPTOGRAFI BERBASIS DESKTOP DENGAN METODE TRIPLE DES (3-DES) Mochammad Fiqri J, Entik Insanudin S.T., M.T. Program Studi Teknik Infomartika Fakultas Fakultas Sains dan Teknologi Universitas Islam Negeri Sunan Gunung Djati Bandung Jl. A. H. Nasution 105 Bandung Email:
[email protected],
[email protected]
Abstract Classical cryptography algorithms existed long before the modern world into what it is today. Classical cryptography algorithms have only one common key. In contrast to modern cryptographic algorithms that have two keys, namely a public key and a private key. Triple DES algorithm is a symmetric cryptography algorithm used to secure the data, which consists of encryption and decryption, Triple DES is a development of DES cryptographic algorithm. In this paper will explain cryptography-based desktop application that can perform encryption and decryption process to a file using Triple DES. Keywords: Cryptography, Triple DES Abstrak Algoritma kriptografi klasik sudah ada jauh sebelum dunia menjadi modern seperti sekarang ini. Algoritma kriptografi klasik hanya memiliki satu kunci yang sama. Berbeda dengan algoritma kriptografi modern yang memiliki 2 kunci yaitu kunci publik dan kunci private. Algoritma Triple DES adalah salah satu algoritma simetris pada kriptografi yang digunakan untuk mengamankan data, yang terdiri dari proses enkripsi dan dekripsi, Triple DES ini merupakan pengembangan dari algoritma kriptografi DES. Dalam paper ini akandijelaskan aplikasi kriptografi berbasis dekstop yang mampu melakukan proses enkripsi dan dekripsi terhadap suatu file dengan menggunakan metode Triple DES. Kata Kunci : Kriptografi, Triple DES
Latar Belakang Masalah Pada era sekarang, kebutuhan akan informasi sangatlah penting bagi kehidupan manusia. Setiap hari manusia mengakses informasi baik secara fisik maupun secara virtual. Dengan adanya keberagaman metode dan semakin mudahnya mengakses informasi, ini juga memudahkan bagi siapa saja yang ingin berbagi informasi maupun “mencuri” informasi dari siapapun. Berbagi informasi dapat dilakukan dengan mudah baik dari dua arah maupun satu arah dewasa ini. Bukan hanya berbagi informasi, untuk mencuri informasi dapat dibilang mudah juga dewasa ini. Sistem keamanan pengiriman data (komunikasi data yang aman) dipasang untuk mencegah pencurian, kerusakan, dan penyalahgunaan data yang terkirim. Dalam prakteknya, pencurian data berwujud pembacaan oleh pihak yang tidak berwenang biasanya dengan menyadap saluran publik. Kriptografi sangatlah diperlukan sebagai metode mengamankan informasi, mengubah informasi yang sebenarnya
yang biasa disebut plainteks, menjadi informasi yang tersandi yang biasa disebut cipherteks. Proses penyandian disebut enkripsi dan pembukaan pesan yang tersandi disebut dekripsi. Dalam proses enkripsi, plainteks diubah menjadi ciperhteks. Selama pengiriman, yang dikirim merupakan cipherteks dimana selain pengirim dan penerima, tidak akan ada yang mengerti. Yang tersandi yang biasa disebut cipherteks. Proses penyandian disebut enkripsi dan pembukaan pesan yang tersandi disebut dekripsi. Dalam proses enkripsi, plainteks diubah menjadi ciperhteks. Selama pengiriman, yang dikirim merupakan cipherteks dimana selain pengirim dan penerima, tidak akan ada yang mengerti.
Landasan Teori Prinsip Dasar Kriptografi Ilmu kriptografi adalah ilmu dan seni untuk menjaga pesan supaya aman dan utuh. Kriptografi terdiri dari kriptografi klasi dan kriptografi modern. Kriptografi klasik memiliki kunci simetri dimana proses enkripsi dan dekripsi dilakukan dengan 1 kunci yang sama. Berbeda dengan kriptografi modern yang memiliki kunci asimetri dimana memiliki lebih dari 1 kunci. Kriptografi sendiri terdiri dari 2 proses utama yaitu enkripsi dan dekripsi. Enkripsi ialah proses mengubah plainteks menjadi cipherteks dengan menggunakan kunci yang sudah ditentukan. Dekripsi ialah proses pengembalian cipherteks menjadi plainteks.
Tujuan Kriptogtrafi 1. Kerahasiaan Informasi di dalam sistem komputer dan informasi yang ditransmisikan hanya dapat diakses oleh sekelompok pengguna yang berhak, untuk itu maka kerahasiaan data harus dijaga.. 2. Autentikasi Penerima pesan dapat meyakinkan dirinya bahwa pesan yang diterima tidak terjadi perubahan dan berasal dari orang yang diinginkan. 3. Integritas Pesan yang dikirim melalui media komunikasi dapat disadap oleh penyerang (attacker) dan pesan tersebut dimodifikasi, pesan yang diterima oleh penerima tidak lagi seperti yang pertama kali dikirimoleh pengirim. 4. Nir-penolakan Jika seseorang sudah mengirimkan pesan, maka dia tidak dapat membantah pesan yang dia kirimkan, karena pengiriman pesan tanpa ada pertemuan dapat menimbulkan penolakan atas pesan yang pernah dikirim bila tidak ada identitas pengirim dalam pesan tersebut. 5. Ketersediaan (availablity) Ketersediaan berarti suatu sumber daya dari sistem komputer tersedia untuk diakses bagi pihak yang berhak pada saat dibutuhkan. Metode 3 DES Algoritma 3DES adalah suatu algoritma pengembangan dari algoritma DES (Data Encryption Standard). Perbedaan DES dengan 3DES terletak pada panjangnya kunci yang digunakan. Pada DES menggunakan satu kunci yang panjangnya 56-bit, sedangkan pada 3DES menggunakan 3 kunci yang panjangnya 168- bit (masingmasing panjangnya 56-bit). Pada 3DES, 3 kunci yang digunakan bisa bersifat saling bebas (K1 ≠ K2 ≠ K3) atau hanya dua buah kunci yang saling bebas dan satu kunci lainnya sama dengan kunci pertama (K1 ≠ K2 dan K3 = K1). Karena tingkat kerahasiaan algoritma 3DES terletak pada panjangnya kunci yang digunakan, maka penggunaan algoritma 3DES dianggap lebih aman dibandingkan dengan algoritma DES.
Gambar 1
Gambar 2
1. Pilih file yang akan dienkripsi 2. Masukkan key di dalam kolom password 3. Pilih aksi ‘enkripsi’
Gambar 3: Enkripsi 3 DES
Gambar 7: Proses enkripsi berhasil Disini saya mengenkripsi file .docx dengan menggunakan password ‘kripto’. File yang berhasil dienkripsi akan tersimpan di folder yang sama dengan file asli.
Gambar 8, file yang terenkripsi menjadi ekstensi .usb
Gambar 4: Dekripsi 3 DES Pembahasan Proses Enkripsi Data Enkripsi merupakan proses mengamankan data mengubah data asli menjadi data yang tersandi dengan menggunakan metode yang telah ditentukan. Disini akan memberikan contoh proses enkripsi 3 DES menggunakan aplikasi desktop yang telah dibuat.
Kode program enkrispi: Private Sub ProteksiFile(ByVal pwd As String, ByVal fin As String, ByVal feout As String) Dim fileStream As FileStream fileStream = File.OpenWrite(feout) Dim writeStream As BinaryWriter writeStream = New BinaryWriter(fileStream) Dim myByte As Byte Dim salt() As Byte salt = SetEncKey(pwd) 'Write data to file Try 'Write salt to file Dim i As Integer For i = 0 To salt.Length - 1 writeStream.Write(salt(i)) Next writeStream.Flush() Catch End Try
Gambar 6: Tampilan enkripsi data Ini merupakan tampilan awal aplikasi yang dibuat. Sebelumnya di dalam aplikasi terdapat menu ‘lokasi file’ untuk memilih file yang akan dienkripsi. Kemudian ‘ukuran file’ merupakan informasi besarnya file yang akan dieksekusi. Langsung saja kita akan melakukan proses enkripsi:
'Create the encrypter Dim encryptor As ICryptoTransform encryptor clientDESCryptoServiceProvider.CreateEncryptor() 'Create the Encrypter Stream
=
Dim encStream As CryptoStream encStream = New CryptoStream(fileStream, encryptor, CryptoStreamMode.Write) 'Read the input file Dim readStream As BinaryReader readStream = New BinaryReader(File.OpenRead(fin)) Try Do myByte = readStream.ReadByte() encStream.WriteByte(myByte) Loop Catch encStream.FlushFinalBlock() encStream.Flush() End Try encStream.Close() fileStream.Close() readStream.Close() MsgBox("File " & TextBox1.Text & " berhasil di enkripsi", MsgBoxStyle.Information, "Message") End Sub Proses Dekripsi Data Dekripsi merupaka proses pengembalian data yang telah tersandi menjadi data asli sehingga bisa dipahami isinya. Langsung saja kita buka aplikasi untuk melakukan proses dekripsi menggunakan metode 3 DES.
Gambar 11: File kembali menjadi ekstensi .docx Kode program dekripsi: Private Sub DeProteksiFile(ByVal pwd As String, ByVal fin As String, ByVal fdout As String) Dim fileStream As FileStream fileStream = File.OpenRead(fin) 'Load Salt Dim salt(7) As Byte Try Dim i As Integer For i = 0 To 7 salt(i) = fileStream.ReadByte() Next SetDecKey(pwd, salt) Catch fileStream.Close() Return End Try 'Create the decryptor Dim encryptor As ICryptoTransform encryptor = clientDESCryptoServiceProvider.CreateDecryptor() 'Create the decryptor stream Dim decStream As CryptoStream decStream = New CryptoStream(fileStream, encryptor, CryptoStreamMode.Read)
Gambar 9: Proses dekripsi Kembali lagi di tampilan awal aplikasi, bedanya kita akan melakukan aksi dekripsi. Langsung saja dipilih file yang telah terenkripsi untuk didekripsi menggunakan key yang sama seperti saat proses pengenkripsian yaitu key ‘kripto’.
'Stream to read the from decryptor stream Dim readStream As BinaryReader readStream = New BinaryReader(decStream) 'The output file Dim writeStream As BinaryWriter writeStream = New BinaryWriter(File.OpenWrite(fdout)) Dim myByte As Byte Try 'Copy data Do myByte = readStream.ReadByte() writeStream.Write(myByte) Loop Catch 'Flush stream writeStream.Flush() End Try
Gambar 10: Proses dekripsi berhasil
writeStream.Close() fileStream.Close() readStream.Close()
MsgBox("File " & TextBox1.Text & " berhasil di dekripsi", MsgBoxStyle.Information, "Message") End Sub Kesimpulan 1. Aplikasi ini dibangun sepenuhnya menggunakan metode Triple DES berbasis desktop 2. Pembuatan aplikasi ini menggunakan Micrososft Visual Studio dengan bahasa pemrograman VB.NET 3. Proses enkripsi dan dekripsi berhasil jika menggunakan 1 kunci yang sama 4. Semua ekstensi file yang dienkripsi berubah menjadi .usb Daftar Pustaka http://elib.unikom.ac.id/files/disk1/391/jbptunikompp-gdlmuhammadar-19537-10-pertemua-s.doc