Penggunaan Metode Enkripsi Vigenere dan MD5 dalam Proses Pengamanan Pesan

Penggunaan Metode Enkripsi Vigenere dan MD5 dalam Proses Pengamanan Pesan






Oleh :
PUTU ARIANA
14.1401.081




PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS INDONESIA TIMUR
MAKASSAR
2017
BAB I
PENDAHULUAN

A.   Latar Belakang
Pesatnya perkembangan teknologi pada era saat ini, memudahkan setiap orang untuk melakukan berbagai aktivitas di dunia maya. Sebagai contoh seperti aktivitas mencari informasi (searching), berbelanja secara on-line, mengirimkan pesan elektronik (e-mail), dan berbagai aktivitas yang lain. Penggunaan fasilitas internet dimanfaatkan oleh sebagian besar orang untuk memudahkan aktivitas mereka sehari-hari. Selain untuk mempersingkat waktu, penggunaan media internet juga sangat ekonomis karena meminimalkan biaya. Seperti pada aktivitas mengirimkan e-mail, sangat memudahkan pengguna untuk mengirimkan pesan secara cepat karena beberapa saat setelah pesan dikirim pesan tersebut dapat dibaca oleh penerima. Selain itu, pengiriman e-mail juga sangat ekonomis karena tidak memerlukan biaya banyak untuk ongkos di jalan. e-mail juga dapat mengunggah data dengan kapasitas yang lebih besar dibandingkan dengan aplikasi yang lain. Namun di antara beberapa keunggulan dari proses pengiriman e-mail, tentunya hal ini memiliki kekurangan. Salah satu bahaya besar dalam proses pengiriman e-mail yaitu tentang keamaan proses pengiriman e-mail. Beberapa masalah yang biasanya terjadi pada keamaan proses pengiriman e-mail yaitu penyadapan baik penyadapan aktif maupun pasif, penipuan, atau bahkan pencurian akun pengguna e-mail untuk digunakan hal-hal yang merugikan pengguna.  Para intruder (peretas) biasanya memanfaatkan kesempatan untuk mengintai aktivitas seseorang yang akan disadap. Intruder menyerap pesan-pesan yang dianggap mereka penting (seperti yang bersifat mempunyai nilai jual). Mereka akan mengabaikan pesan-pesan yang menurut mereka tidak penting seperti spam dan file sampah karena mengganggu sebagian aktivitas pada intruder. Meskipun hanya pengirim dan penerima e-mail yang hanya dapat membaca pesan tersebut secara kasat mata, seorang intruder dapat dengan mudah membaca pesan-pesan pengguna e-mail.  Berdasarkan permasalahan di atas, penulis bertujuan untuk memaparkan beberapa solusi untuk mengatasinya. Pada makalah ini, penulis akan memaparkan dua metode untuk mengatasi masalah penyadapan yang biasanya dilakukan oleh para intruder, yaitu dengan menggunakan metode enkripsi Vigenere yang merupakan metode kriptografi klasik dan MD5 (Message Digest 5) yang merupakan metode kriptografi modern. Dengan metode enkripsi Vigenere, pesan teks biasa (plain text) akan diubah menjadi suatu pesan yang tidak mudah dibaca (cipher text). Dengan algoritma metode MD5, setiap pesan yang akan di-enkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan, anggap sebanyak b bit.
BAB II
Metode Enkripsi Vigenere dan MD5
A.   Kriptografi
Kriptografi berasal dari bahasa Yunani, yang terdiri dari dua kata yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain [1]. Definisi yang dipakai dalam buku-buku yang lama (sebelum tahun 1980-an) menyatakan bahwa kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya [7]. Schneier menyatakan bahwa kriptografi adalah seni untuk menjaga keamanan pesan [11]. Sedangkan Menezes dan kawan-kawan menyatakan bahwa kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data, serta otentikasi [5].
Adapun tujuan dari system kriptografi adalah sebagai berikut
1.  Confidentiality 
Memberikan kerahasiaan pesan dan menyimpan data dengan menyembunyikan informasi melalui teknik-teknik enkripsi.
2.  Message Integrity 
Memberikan jaminan untuk tiap bagian bahwa pesan tidak akan mengalami perubahan dari saat ia dibuat hingga saat ia dibuka.
3.  Non-repudiation
Memberikan cara untuk membuktikan bahwa suatu dokumen datang dari seseorang apabila ia mencoba menyangkal memiliki dokumen tersebut.
4.  Authentication 
Memberikan dua layanan. Pertama, mengidentifikasi keaslian suatu pesan dan memberikan jaminan keautentikannya. Kedua, menguji identitas seseorang apabila ia akan memasuki sebuah sistem.
Pada dasarnya keamanan dan kerahasian suatu pesan, data, ataupun informasi adalah merupakan hal yang  mutlak yang harus kita lakukan. Sedangkan alat untuk melakukan pengamanan data dalam sistem komunikasi jaringan komputer sering disebut cryptography. Kriptografi (cryptography) merupakan ilmu dan seni penyimpanan pesan, data, atau informasi secara aman. Kritptanalisis (cryptanalysis) merupakan ilmu dan seni pembongkaran pesan, data, atau informasi rahasia seperti di atas. Kriptologi (cryptology) adalah panduan dari kriptografi dan kriptanalist.  Kriptografi memiliki dua bagian yang penting, yaitu enkripsi dan dekripsi. Proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut  plaintext)  menjadi pesan yang tersembunyi (disebut ciphertext)  adalah enkripsi (encryption).
B.   Vigenere Cipher
Vigenere chiper merupakan salah  satu algoritma kriptografi  klasik  untuk  menyandikan  suatu plaintext dengan menggunakan teknik substitusi. Vigenere  cipher  pada  dasarnya  cukup  rumit untuk  dipecahkan.  Meskipun  begitu,  Vigenere cipher  tetap memiliki  kelemahan. Salah  satunya adalah dapat diketahui panjang kuncinya dengan menggunakan  metode  kasiski.  Hal  ini disebabkan karena umumnya terdapat  frasa yang berulang-ulang pada ciphertext yang dihasilkan.
Vigenere  Cipher  adalah  suatu  algoritma kriptografi  klasik  yang  ditemukan  oleh  Giovan Battista  Bellaso.  Beliau  menuliskan  metodenya tersebut  pada  bukunya  yang  berjudul  La  Cifra del.  Sig.  Giovan  Battista  Bellaso  pada  tahun 1553.  Nama  vigenere  sendiri  diambil  dari seorang yang bernama Blaise de Vigenere. Nama vigenere  diambil  sebagai  nama  algoritma  ini karena beliau menemukan kunci yang  lebih kuat lagi untuk  algoritma  ini dengan metode  autokey cipher  meskipun  algoritma  dasarnya  telah ditemukan  lebih  dahulu  oleh  Giovan  Battista Bellaso.
Kode vigènere termasuk kode abjad-majemuk (polyalphabetic substitution cipher). Algoritma ini baru dikenal luas 200 tahun kemudian dan dinamakan kode vigènere. Vigènere merupakan pemicu perang sipil di Amerika dan kode vigènere digunakan oleh Tentara Konfederasi (Confederate Army) pada perang sipil Amerika (American Civil War). Kode vigènere berhasil dipecahkan oleh Babbage dan Kasiski pada pertengahan abad 19 [2]. Algoritma enkripsi jenis ini sangat dikenal karena mudah dipahami dan diimplementasikan. Teknik untuk menghasilkan ciphertext bisa dilakukan menggunakan substitusi angka maupun bujursangkar vigènere. Teknik susbtitusi vigènere dengan menggunakan angka dilakukan dengan menukarkan huruf dengan angka, hampir sama dengan kode geser. Disampaikan juga oleh Phillip dan Garcia bahwa, “With the advent of computer the Vigenère cipher has become even easier to break.  Most cipher texts can be cracked within a few seconds even with long keys” [8].
Algoritma  ini  menjadi  terkenal  karena cukup  sulit  dipecahkan.  Matematikawan Charles  Lutwidge  Dodgson  menyatakan bahwa  algoritma  ini  tidak  terpecahkan. Pada  tahun  1917,  ilmuwan  Amerika menyebutkan  bahwa  Vigenere  cipher adalah  sesuatu  yang  tidak mungkin  untuk ditranslasikan. Namun hal ini terbantahkan sejak  Kasiski  berhasil  memecahkan algoritma pada abad ke-19.    Pada  dasarnya  Vigenere  Cipher  serupa dengan  Caesar  Cipher,  perbedaannya adalah pada Vigenere Cipher  setiap huruf pesan aslinya digeser sebanyak satu huruf pada  kuncinya  sedangkan  pada  Caesar Cipher  setiap  huruf  pesannya  digeser sebanyak 1 huruf yang sama.
Algoritma  Vigenere  Cipher  ini menggunakan  bujursangkar  Vigenere untuk melakukan  enkripsi. Setiap baris di dalam  bujursangkar  menyatakan  huruf-huruf  ciphertext  yang  diperoleh  dengan Caesar cipher. Untuk lebih jelasnya perhatikan  gambar   di  bawah  ini.  Deretan huruf kuning mendatar merepresentasikan plaintext, sedangkan deretan huruf hijau menurun merepresentasikan kunci.  Contoh, misalkan plaintext dengan huruf P disandikan dengan kunci K, maka hasil ciphertext yang dihasilkan adalah huruf Z.

Gambar 1. Korespondensi Plantext dan Chipertext.
Sedangkan metode lain untuk melakukan proses enkripsi dengan metode vigènere cipher yaitu menggunakan tabula recta (disebut juga bujursangkar vigènere).

Gambar 1. Tabel Bujursangkar Cipher Vigenere.
Kolom paling kiri dari bujursangkar menyatakan huruf-huruf kunci, sedangkan baris paling atas menyatakan huruf-huruf plaintext. Setiap baris di dalam bujursangkar menyatakan huruf-huruf ciphertext yang diperoleh dengan Caesar cipher, yang mana jumlah pergeseran huruf plaintext ditentukan nilai numerik huruf kunci tersebut (yaitu, a=0, b=1, c=2, …, z=25). Bujursangkar vigènere digunakan untuk memperoleh ciphertert dengan menggunakan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek daripada panjang plaintext, maka kunci diulang penggunaannya (sistem periodik). Bila panjang kunci adalah m, maka periodenya dikatakan m. Contohnya adalah sebagai berikut :
Text Box: Enkripsikan pesan MILLENNIUM dengan kunci YTWOK menggunakan Cipher Vigenere. Dengan menggunakan Vigenere cipher maka kita peroleh KBHZO    LGEIW.


Text Box: ci  pi + ki (mod 26), 0   ci   25


Hal  diatas  merupakan  karakteristik  dari cipher  abjad  majemuk.  Pada  cipher substitusi  sederhana,  setiap  huruf ciphertext  selalu  menggantikan  huruf plaintext  tertentu,  sedangkan  pada  cipher abjad  majemuk  setiap  huruf  ciphertext dapat  memiliki  kemungkinan  banyak huruf  plaintext.  Sehingga  kita  dapat mencegah terdeteksinya frekuensi kemunculan huruf-huruf  di  dalam ciphertext  yang mempunyai  pola  tertentu yang  sama  sebagaimana  yang diperlihatkan  pada  cipher  substitusi sederhana atau abjad tunggal.  Apabila metode Vigenere cipher ini ditranslasikan ke dalam suatu algoritma pemrograman, secara sederhananya, notasi algoritmik yang digunakan untuk mengenkripsi suatu karakter alphabet plaintext (P) menjadi ciphertext (C ) dengan kunci K adalah sebagai berikut.


   merupakan ciphertext dari pergeseran karakter yang terdapat pada plaintext.    merupakan pergeseran karakter pada plaintext. Kr merupakan kunci berupa hasil konversi tabel berbentuk bilangan desimal dari pergeseran  karakter yang terdapat pada kunci yang digunakan. Hasil perhitungan yang dilakukan akan menghasilkan sebuah bilangan desimal untuk kemudian perlu dikonversi menggunakan tabel konversi untuk memperoleh ciphertext.
Proses dekripsi menggunakan Vigenere cipher membutuhkan 1 buah kunci untuk dapat menghasilkan plaintext. Kunci yang digunakan merupakan kunci yang sama dengan kunci yang digunakan pada proses enkripsi. Kemuadian dari kunci yang sudah ada akan dikonversikan mengguakan tabel konversi sehingga menjadi bentuk desimal. Selain mengkonversi kunci yang digunakan, Vigenere cipher juga harus mengkonversi ciphertext (  ) menggunakan table konversi yang juga menghasilkan bilanngan desimal, kemudian plaintext (  ) akan diperoleh dengan mendekripsi plaintext dengan persamaan :

Pi merupakan plaintext dari pergeseran karakter yang terdapat pada ciphertext.    merupakan pergeseran karakter pada ciphertext.    merupakan kunci berupa hasil konversi tabel berupa bilangan desimal dari pergeseran  karakter yang terdapat pada kunci yang digunakan. Kemudian untuk mendapatkan     dapat dilakukan dengan terlebih dahulu mengurangi nilai    dengan nilai    hasil dari pengurangan yang sudah dilakukan akan dijumlahkan dengan angka 26 untuk kemudian hasil penjumlahan akan di modulo 26. Hasilnya akan berupa bilangan decimal, dari hasil bilangan desimal yang didapat akan dikonversi dengan tabel konversi sehingga diperoleh karakter plaintext yang diinginkan. Berikut ini adalah flowchart pengamanan pesan menggunakan Vigenere Cipher.

Gambaran 2. Proses Pengamanan Pesan
Menggunakan Vigenere Cipher.

Gambar 3. Flowchart Proses Pengamanan Pesan
 Menggunakan Vilage Cipher.

Penyisipan pesan ke dalam media covertext dinamakan encoding, sedangkan ekstraksi pesan dari stegotext dinamakan decoding. Kedua proses ini mungkin memerlukan kunci rahasia yang dinamakan stegokey agar hanya pihak yang berhak saja yang dapat melakukan penyisipan pesan dan ekstraksi pesan. Gambar 4 memperlihatkan diagram penyisipan dan ekstraksi pesan. Diagram ini mirip dengan diagram enkripsi-dekripsi pada kriptografi [7].
C.   MD5 (Message  Digest 5)
MD5 adalah salah satu kriptografi modern dari serangkaian algortima message digest yang didesain oleh Profesor Ronald Rivest dari MD5 termasuk algoritma enkripsi yang digunakan untuk membuat variable yang lebih sederhana dari data yang berukuran besar dengan memanfaatkan fungsi hash. Fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Dongjing menyatakan bahwa,“MD5 used widely in cryptographic protocols and internet                   
Pada standar Internet (RFC 1321), MD5 telah dimanfaatkan dalam berbagai macam pada aplikasi keamanan, serta juga dapat digunakan untuk melakukan pengujian integritas sebuah file. Aplikasi MD5 mampu mengetahui bahwa pesan yang dikirim tidak ada perubahan sewaktu berada di jaringan [12]
Pada algoritma metode MD5, setiap pesan yang akan di-enkripsi, terlebih dahulu dicari berapa banyak bit yang terdapat pada pesan, misalkan sebanyak   bit. Di sini   adalah bit non negatif integer,   bisa saja nol dan tidak harus selalu kelipatan delapan [12]. Pesan dengan panjang   bit dapat digambarkan [2]. Algoritma utama MD5 bekerja dalam keadaan 128 bit, yang terbagi menjadi empat 32 bit word, A, B, C, dan D. Kemudian algoritma akan bekerja di setiap fragmen 512 bit. Proses dalam setiap fragmen ini terdiri dari empat putaran, satu putaran terdiri dari 16 operasi berdasarkan fungsi F, penambahan modular, dan rotasi bit kiri.
Message Digest atau intisari pesan memiliki tiga sifat penting, yakni: (1) Jika P diketahui, maka MD5(P) akan dengan mudah dapat dihitung, (2) Jika MD5(P) diketahui, maka tidak mungkin menghitung P, dan (3) Tidak seorang pun dapat memberi dua pesan yang mempunyai intisari pesan yang sama. H(M) H(M’). MD5 dapat memproses teks masukan ke dalam blok-blok bit sebanyak 512 bit, selanjutnya dibagi ke dalam 32 bit sub blok sebanyak 16 buah. Keluaran dari MD5 berupa 4 buah blok dengan masingmasing blok terdiri dari 32 bit yang  akan menjadi 128 bit biasanya disebut nilai hash [11]. Berikut contoh MD5 dari  pesan ASCII sepanjang 43-byte sebagai masukan dan hash MD5 terkait:
MD5("The quick brown fox jumps over the lazy dog") = 9e107d9d372bb6826bd81d3542a419d6. Perubahan yang kecil pada pesan menghasilkan hash yang benar-benar berbeda, misalnya pada kata “dog”, huruf d diganti menjadi c:
MD5("The quick brown fox jumps over the lazy cog") = 1055d3e698d289f2af8663725127bd4b. Hash dari panjang-nol ialah: MD5("")= d41d8cd98f00b204e9800998ecf8427e. Penjelasan algoritma MD5 tersebut yaitu proses pesan variabel-panjang menjadi output sepanjang 128 bit. Pesan masukan dipecah menjadi potongan 512-bit blok (enam belas 32-bit little endian integer) pesan sehingga panjangnya dibagi oleh 512. Selanjutnya: bit tunggal pertama, 1, ditambahkan ke akhir pesan. Hal ini diikuti oleh nol sebanyak yang diperlukan untuk membawa panjang pesan hingga 64 bit kurang dari kelipatan 512. Bit sisanya diisi dengan integer 64-bit yang mewakili panjang pesan asli dalam bit [4].
Dalam MD5 terdapat 5 langkah yang digunakan untuk menghitung intisari pesan. Langkah pertama yaitu menambahkan bit, pesan akan ditambahkan bit-bit tambahan sehingga panjang bit akan kongruen dengan 448, mod 512.langkah kedua yaitu penambahan panjang pesan yang biasa disebut MD Strengthening atau penguatan MD, bit-bit ditambahkan ke dalam dua word (32 bit) dan ditambahkan dengan low-order terlebih dahulu. Langkah ketiga yaitu inisialisasi MD5 menggunakan empat buah word 32 bit register dengan bilangan hexadecimal. Langkah keempat yaitu proses pesan di dalam blok 16 word, dan langkah terakhir yaitu keluaran MD-5 yakni 128 bit dari word terendah A dan tertinggi word D masing-masing 32 bit [12]. Berikut ditampilkan gambar flowchart class MD5. Langkah pertama yaitu start dan memasukkan data, setelah itu dilakukan enkripsi MD5 yang menghasilkan chipertext.

GAMBAR 4. FLOWCHART MD5
Ditinjau dari algoritma terlihat bahwa kriptografi klasik dan modern mempunyai perbedaan yang signifikan. Dalam kriptografi klasik prosesnya termasuk sederhana dan mampu dipecahkan dengan mudah menggunakan perhitungan yang  manual. Di sisi lain pada kriptografi modern, hasil dari enkripsinya cukup rumit, dan susah dalam perhitungan manual walaupun perhitungan manual masih bisa digunakan. Dari penjabaran perbandingan kedua kriptografi tersebut, maka terlihat bahwa kriptografi modern (MD5) jauh lebih aman daripada kriptografi klasik (vigener cipher} [4].
Dalam proses pengamanan pesan, hal yang dilakukan pertama kali oleh pengguna yakni memasukkan data melalui user interface (layer aplikasi). Sebelum data masuk ke database maka data akan melalui sistem pengamanan data. Data akan terenkripsi yang selanjutnya disimpan dalam database, sehingga data menjadi lebih aman. Jika suatu data ingin digunakan maka data didekripsi kembali melalui sistem pengamanan data, sehingga data dapat terbaca oleh pengguna. Berikut digambarkan mekanisme pengamanan data.

GAMBAR 5. MEKANISME PENGAMANAN DATA





BAB III
KESIMPULAN DAN SARAN
A.   Kesimpulan
Kriptografi klasik dan kriptografi modern khususnya vigenere cipher dan Message Digest 5 (MD5) sangatlah berbeda baik dalam segi proses ataupun algoritmanya, hasilnya maupun tingkat kerumitannya. Vigenere cipher merupakan salah satu metode enkripsi klasik yang digunakan untuk menyembunyikan pesan berupa teks dengan menggunakan teknik substitusi dimana tiap huruf pada plaintext diganti (disubstitusi) menjadi huruf lain berdasarkan kunci yang digunakan. Sedangkan MD5 merupakan sebuah fungsi hash satu arah yang mengubah masukan dengan panjang variabel menjadi keluaran dengan panjang tetap yaitu 128 bit.
B.   Saran
Saran dari penulis yaitu aplikasi MD5 dapat digabungkan dengan algoritma kriptografi lainnya sehingga didapat aplikasi kriptografi yang lebih handal, selanjutnya Vigenere cipher tidak hanya digunakan untuk mengamankan pesan pada email, namun dapat digunakan untuk mengamankan yang lainnya. Untuk pengembangan selanjutnya, contoh aplikasi dapat mempergunakan 2 (dua) komputer atau lebih.

DAFTAR PUSTAKA
1.    Ariyus, Dony. (2006). Kriptografi, Keamanan Data, dan Komunikasi. Yogyakarta: Graha Ilmu. 
2.    Ariyus, Dony. (2008). Pengantar Ilmu Kriptografi: Teori, Analisis, dan Implementasi. Yogyakarta: Penerbit Andi.
3.    Burnett, Steve dan Paine, Stephen. (2004). RSA Security’s Official Guide to Cryptography. McGraw-Hill, Inc.
4.    Irfan, M. Dwi Ramadhani. (2016). Perbandingan kriptografi klasik (caesar cipher) dan kriptografi modern (MD5). Jurnal Teknik Informatika, Universitas Islam Sunan Gunung Djati, Bandung.
5.    Menezes, dkk. (1996). Handbook of Applied Cryptography. CRC Press.
6.    Mohammed Najm Abdullah, Rula Sami Khudhair, dan Mohaned Kadam Sabr. (2013). Study and analysis of efficient AES multi-layer key. International Journal of Oriental Scientific Publishing, Vol. 6, No.4.
7.    Munir, Rinaldi. (2006). Kriptografi. Bandung: Penerbit Informatika.
8.    Phillip I. Wilson, Mario Garcia. (2006). A modified version of the vigenere algorithm. Intenational Journal f omputer Science and Network Security. Vol. 6 No. 3B.
9.    Pfleeger, Charles P. (1997). Security in Computing Second Edition. Prentice-hall Intenational, inc.
10. Rosyadi, Ahmad. (2012). Implementasi algoritma kriptografi AES untuk enkripsi dan deskripsi e-mail. TRANSIENT, VOL. 1, NO. 3, SEPTEMBER 2012, ISSN: 2302-9927, 64
11. Schneier, Bruce. (1996). Applied Cryptography 2nd. John Wiley & Sons, Ltd.

12. Sofwan, Aghus., Budi. Agung, Susanto. Toni, dkk. (2006). Aplikasi Kriptografi dengan Algoritma Message Digest 5 (MD5). Jurnal Teknik Elektro, Vol. 149 11, Universitas Diponegoro, Semarang

Postingan terkait:

Belum ada tanggapan untuk "Penggunaan Metode Enkripsi Vigenere dan MD5 dalam Proses Pengamanan Pesan"

Posting Komentar