MAKALAH ILMIAH TEKNOLOGI INFORMASI
Aplikasi Pengiriman SMS Terenkripsi pada Perangkat Android Menggunakan Modifikasi Algoritma Vigenere Cipher
Disusun oleh:
Isram Rasal, S.T., M.M.S.I., M.Sc.
Universitas Gunadarma
2021
ABSTRAK
Perkembangan teknologi informasi dan komunikasi berbasis komputer tidak terlepas dari perkembangan sistem keamanan komputer. Pesatnya perkembangan perangkat telepon selular atau dikenal dengan istilah handphone menyebabkan penyebaran data atau informasi menjadi mudah, namun rentan akan keamanan data. Salah satu layanan keamanan data adalah layanan penyandian pesan. Penulis merancang solusi layanan penyandian pesan SMS (Short Message Service) dengan menggunakan algoritma Vigenère cipher yang telah modifikasi.
Modifikasi yang dilakukan adalah dengan cara mengurangi frekuensi kemunculan kunci.
Hasil dari penelitian ini adalah algoritma Vigenère cipher yang telah modifikasi mampu melakukan enkripsi dan dekripsi pesan tertentu, akan tetapi pada tahap implementasi, aplikasi penyandian SMS pada perangkat telepon selular yang menggunakan sistem operasi Android tidak dapat berjalan dengan baik pada pesan tertentu.
Kata kunci: enkripsi, modifikasi, sms, vigenere cipher.
ABSTRACT
The development of information technology and computer-based communication is inseparable from the development of computer security systems. The rapid development of mobile phone device or as known as the cell phone caused the spread of the data or information in easy way, but also has threat into data security. One of the security service or data security is message encryption service. The author designed the security of SMS service solution using Vigenère cipher algorithm that has been modified. Modification is made to reduce the frequency of key`s occurrence. The results of this study are Vigenère cipher algorithm that has been modified is able to encrypt and decrypt a particular message, but in the implementation phase, SMS encryption application on the mobile phone device that installed on the Android operating system can not run properly on particular messages.
Keywords: encryption, modification, SMS, vigenere cipher.
PENDAHULUAN
Perkembangan teknologi informasi dan komunikasi semakin pesat, hal ini ditandai dengan pesatnya perkembangan telepon selular atau dikenal dengan istilah handphone, di Indonesia saja telah terjual 12 juta unit perangkat handphone pada tahun 2011 (Febriani et al, 2012). Beragam aplikasi diciptakan oleh peneliti untuk menciptakan solusi pengamanan data, khususnya pada pengamanan data SMS (Short Message Service). Misalnya aplikasi SMScrypt yang menggunakan algoritma DES (Data Encryption Standard) untuk melakukan enkripsi dan dekripsi SMS pada perangkat yang memiliki sistem operasi Android (Hendrayanto & Romadona, 2012).
Pada penelitian ini, penulis tertarik untuk melakukan penelitian yang sejenis, yaitu menciptakan solusi pengamanan data atau informasi SMS, yang menjadi pembeda adalah penelitian difokuskan kepada modifikasi algoritma Vigenère chiper guna memperbaiki kelemahan utama algoritma tersebut.
METODE PENELITIAN
Metode penelitian di dalam penelitian ini terdiri dari dasar teori kriptografi Vigenère chiper, analisis kelemahan Vigenère chiper, proses modifikasi algoritma Vigenère chiper, dan implementasi dan testing ke dalam sistem operasi Android.
TINJAUAN PUSTAKA Kriptografi
Kriptografi, secara umum diartikan sebagai ilmu dan seni untuk menjaga kerahasiaan berita. Selain pengertian tersebut terdapat pula pengertian yang lain, yaitu ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentifikasi data (Hendrayanto
& Romadona, 2012).
Lima elemen penting di dalam kriptografi adalah plain text, cipher text, enkripsi, dekripsi dan kunci. Plain text adalah data atau informasi asli yang memiliki makna khusus.
Cipher text adalah pesan yang sudah disandikan melalui proses enkripsi. Enkripsi adalah metode pengubahan plain text menjadi cipher text. Dekripsi adalah kebalikan dari enkripsi, yaitu metode pengubahan cipher text menjadi plain text. Kunci adalah suatu pesan yang dirahasiakan dan digunakan di dalam proses enkripsi dan dekripsi.
Secara matematis, proses enkripsi merupakan pengoperasian fungsi E (enkripsi) menggunakan e (kunci enkripsi) pada M (plain text) sehingga dihasilkan C (cipher text).
Proses enkripsi dinotasikan sebagai berikut:
(1) Ee(M) = C
Sedangkan untuk proses dekripsi, merupakan pengoperasian fungsi D (dekripsi) menggunakan d (kunci dekripsi) pada C (cipher text) sehingga dihasilkan M (plain text).
Proses dekripsi dinotasikan sebagai berikut:
(2) Dd(C) = M Sehingga dari dua persamaan matematis diatas berlaku:
(3) Dd(Ee(M)) = M
Vigenère Chiper
Teknik penyandian Vigenère adalah metode menyandikan teks alfabet dengan menggunakan deretan sandi Caesar berdasarkan huruf-huruf pada kata kunci. Sandi Vigenère merupakan bentuk sederhana dari sandi substitusi polialfabetik. Teknik penyandian ini ditemukan oleh diplomat dan juga kriptologis yang berasal dari Prancis, yaitu Blaise de Vigenère sekitar abad ke 16. Teknik penyandian Vigenère yang kemudian dikenal dengan istilah Vigenère chiper dipublikasikan pada tahun 1856, tetapi 200 tahun kemudian barulah algoritma ini dikenal luas (Satrio, 2011). Vigenère chiper pada dasarrnya adalah pengembangan dari sandi Caesar, yaitu dengan mengganti huruf alfabet dengan huruf alfabet lain yang memiliki jarak pergeseran tertentu. Misalnya pada sandi Caesar dengan jarak pergesaran 4 maka huruf menjadi E, huruf B menjadi F dan seterusnya (Saputra, 2013).
Vigenère chiper menggunakan kotak vigenère untuk melakukan enkripsi. Kotak vigenère ditunjukkan oleh gambar 1. Kolom paling kiri adalah huruf-huruf yang mewakili kunci. Huruf-huruf pada baris paling atas mewakili plain text. Setiap baris di dalam kotak adalah cipher text, dimana jarak pergeseran ditentukan oleh nilai desimal dari huruf kunci (a
= 0, b = 1, …. , z = 25). Jika panjang kunci lebih pendek daripada panjang plain text, maka kunci akan diulang sampai panjangnya sama dengan panjang plain text.
Sebagai contoh, plain text yang ingin disandikan adalah pesan “TUGASMAKALAH”, sedangkan kuncinya adalah “KEY”, maka kunci akan diulang sehingga panjangnya sama dengan plain text menjadi “KEYKEYKEYKEY”. Huruf pertama pada plain text, T, disandikan dengan huruf pertama kunci, K. Pada baris K dan kolom T pada gambar 1, terdapat huruf D, huruf D inilah dinamakan cipher text. Demikian pula pada huruf kedua dan seterusnya. Sehingga bila proses ini dilanjutkan akan menghasilkan plain text, kunci dan cipher text sebagai berikut:
Plain text : T U G A S M A K A L A H Kunci : K E Y K E Y K E Y K E Y Cipher text : D Y E K W K K P Y V E F
Gambar 1. Kotak vigenère.
Secara matematis, enkripsi Vigenère chiper dinotasikan sebagai:
Ci = (Pi + Ki) mod 26 sedangkan proses dekripsinya dinotasikan sebagai:
Pi = (Ci - Ki) mod 26
dimana Ci adalah huruf ke-i pada cipher text, Pi adalah huruf ke-i pada plain text, Ki adalah huruf ke-i pada kunci, dan mod adalah operasi modulus atau sisa hasil pembagian.
Kelemahan Vigenère Chiper
Kasiski menemukan sebuah metode analisis dengan cara melakukan deduksi panjang dari kunci yang tidak diketahui sebelumnya. Bila panjang kunci telah diketahui dengan pasti, misalkan panjangnya N, maka cipher text dibariskan secara terurut menjadi N baris, kemudian pada masing-masing baris dilakukan analisis frekuensi karena masing-masing baris tersebut adalah substitusi monoalfabet seperti pada Caesar cipher (Broto, 2013).
Sebagai contoh, terdapat plain text, kunci dan cipher text sebagai berikut:
Plain text : T H E B E A U T Y A N D T H E B E A S T Kunci : A B C A B C A B C A B C A B C A B C A B
Cipher text : T I G B F C U U A A F E T I G B F C S U
Pada contoh diatas kata THE pertama dan kata THE kedua ternyata dienkripsi dengan hasil cipher text yang sama, yaitu TIG. Hal ini dapat terjadi karena kedua kata THE tersebut dienkripsi oleh kunci yang sama, yaitu ABC. Karena kunci yang digunakan sama, maka pergeseran yang dilakukan terhadap kedua kata THE juga sama. Dari data tersebut diketahui jarak antara perulangan cipher text merupakan 9 yang berupakan perkalian dari 3 dengan bilangan bulat. Namun, data cipher text yang sedikit dapat membiaskan hasil deduksi dari data cipher text. Data cipher text yang lebih banyak dapat membuat tebakan pada panjang kunci menjadi lebih baik. Hal ini merupakan kelemahan utama dari Vigenère chiper.
METODE YANG DIUSULKAN
Modifikasi yang diusulkan harus dapat mengurangi frekuensi kemunculan kunci yang berulang. Adapun modifikasi Vigenère chiper yang dilakukan penulis bukan pada algoritma utamanya.
Bentuk modifikasi yang dilakukan penulis untuk proses enkripsi adalah:
1. Plain text dibagi menjadi blok-blok, dimana panjang setiap blok adalah panjang kunci yang digunakan.
2. Setiap pemrosesan blok i akan memiliki kunci-i masing-masing. Khusus untuk blok pertama, kuncinya adalah kunci masukan dari pengguna. Kunci-i akan dibangkitkan berdasarkan blok i-1 sebelumnya. Dengan kata lain, kunci-i pada blok kedua dan seterusnya adalah merupakan hasil Vigenère chiper blok i sebelumnya atau cipher text Ci-1 dengan menggunakan kunci i-1.
Sebagai contoh terdapat plain text, kunci dan cipher text sebagai berikut:
Plain text : THE BEA UTY AND THE BEA ST Kunci : ABC TIG K3 K4 K5 K6 K7 Cipher text : TIG K3 K4 K5 K6 K7 K8
Sedangkan bentuk modifikasi yang dilakukan penulis untuk proses dekripsi adalah:
1. Cipher text dibagi menjadi blok-blok, dimana panjang setiap blok adalah panjang kunci yang digunakan.
2. Setiap pemrosesan blok i akan memiliki kunci-i masing-masing. Khusus untuk blok pertama, kuncinya adalah kunci masukan dari pengguna. Kunci-i pada blok kedua dan seterusnya adalah cipher text blok i-1 sebelumnya. Dengan kata lain, plain text blok i adalah proses dekripsi antara cipher text blok i dengan kunci i-1. Khusus untuk blok pertama, kuncinya adalah kunci masukan dari pengguna
Sebagai contoh terdapat plain text, kunci dan cipher text sebagai berikut:
Cipher text : TIG K3 K4 K5 K6 K7 K8 Kunci : ABC TIG K3 K4 K5 K6 K7 Plain text : THE BEA UTY AND THE BEA ST
HASIL
Algoritma utama Vigenère chiper tidak mampu mengakomodasi kebutuhan pengguna karena hanya dapat memproses 26 karakter saja, yaitu alfabet A sampai dengan Z. Dalam penelitian ini penulis menggunakan karakter ASCII, namun hanya menggunakan 95 buah karakter saja. Penulis menggunakan jangkauan dari bilangan ASCII tertentu, yakni antara karakter “space” dengan nilai ASCII 32 sampai dengan karakter “~” dengan nilai ASCII 126.
Maka jumlah karakter yang digunakan dalam aplikasi ini ada 95 buah karakter.
Secara matematis, aplikasi enkripsi Vigenère chiper versi penulis, yaitu adanya modifikasi pembangkit kunci, dinotasikan sebagai:
Blok pertama: Ci = (Pi + Ki) mod 95
Blok kedua dan seterusnya: Ci = (Pi + Ci-1 ) mod 95 sedangkan proses dekripsinya dinotasikan sebagai:
Blok pertama: Pi = (Ci +95 - Ki)
Blok kedua dan seterusnya: Pi = (Ci + 95 - Ci-1 )
dimana Ci adalah huruf ke-i pada cipher text, Pi adalah huruf ke-i pada plain text, Ki adalah huruf ke-i pada kunci, dan mod adalah operasi modulus atau sisa hasil pembagian.
PEMBAHASAN Enkripi Pesan
Plain text dan kunci akan ditransformasikan terlebih dahulu ke dalam kode ASCII.
Kemudian plain text akan dienkripsi menggunakan kunci yang telah dimasukkan sebelumnya.
Sebagai contoh terdapat plain text, kunci dan cipher text sebagai berikut:
Plain text : SER BUB ERL IN Kunci : ABC
Cipher text : 5(6-]G
Dengan algoritma enkripsi yang diajukan penulis, “SERBUBERLIN” akan dipecah menjadi 4 blok, dimana blok pertama adalah “SER”, blok kedua adalah “BUB”, blok ketiga adalah
“ERL” dan blok keempat adalah “IN_” perhitungan tranformasinya sebagai berikut:
Plain text : S → 83, E → 69, R → 82. (81, 69 dan 82 adalah Nilai ASCII) Kunci : A → 65, B → 66, C → 67. (65, 66 dan 67 adalah Nilai ASCII) Cipher text :
• 5 → (83 + 65 = 148, 148 mod 95 hasilnya 53), pada tabel ASCII karakter dengan nomor 53 adalah “5”.
• ( → (69 + 66 = 135, 135 mod 95 hasilnya 40), pada tabel ASCII karakter dengan nomor 40 adalah “(“.
• 6 → (82 + 67 = 149, 149 mod 95, hasilnya 54), pada tabel ASCII karakter dengan nomor 54 adalah “6” dan seterusnya.
Dekripi Pesan
Cipher text dan kunci akan ditransformasikan terlebih dahulu ke kode ASCII.
Kemudian Cipher text akan didekripsi menggunakan kunci yang telah dimasukkan sebelumnya.
Sebagai contoh terdapat plain text, kunci dan cipher text sebagai berikut:
Cipher text : KV/;
Kunci : is Plain text : ABCDE
Dengan algoritma dekripsi yang diajukan penulis, perhitungan tranformasinya sebagai berikut:
Cipherteks : K → 75, V → 86, / → 47. (71, 86 dan 47 adalah Nilai ASCII) Kunci : i → 105, s → 115. (105 dan 115 adalah Nilai ASCII)
Plain text :
• A → (75 + 95 - 105 = 65), pada tabel ASCII karakter dengan nomor 65 adalah A.
• B → (86 + 95 - 115 = 66), pada tabel ASCII karakter dengan nomor 66 adalah B .
• C → (47 + 95 - 75 = 67), pada tabel ASCII karakter dengan nomor 67 adalah C dan seterusnya
Aplikasi
Penulis membuat aplikasi enkripsi dan dekripsi pesan SMS pada perangkat Android.
Secara teoritis seharusnya aplikasi mampu menampilkan dan menyimpan semua karakter ASCII, namun faktanya sistem operasi Android tidak mampu menampilkan dan menyimpan beberapa karakter ASCII sehingga dalam proses enkripsi dan dekripsi menjadi gagal pada
pesan tertentu. Sebagai contoh penulis mencoba melakukan enkripsi plain text
“SERBUBERLIN” dengan kunci “ABC” (lihat gambar 2) seharusnya menghasilkan cipher text “KV/;”, namun sistem aplikasi Android tidak dapat menampilkan “KV/;” dengan baik (lihat gambar 3).
Gambar 2. Tampilan muka enkripsi pesan
Gambar 3. Tampilan muka hasil enkripsi pesan (cipher text)
KESIMPULAN
Modifikasi algoritma Vigenère chiper dengan cara membangkitkan kunci berdasarkan blok-blok dapat memperkuat algoritma dasar Vigenere Cipher karena kunci kedua dan seterusnya dibangkitkan dengan teknik substitusi berulang yang acak dan tidak bermakna.
Algoritma enkripsi dan dekripsi berjalan dengan baik dimana setiap plain text yang dienkripsi kemudian dilakukan dekripsi akan menghasilkan plain text yang sama.
Namun ketika algoritma modifikasi ini diimplementasikan ke dalam aplikasi berbasis sistem operasi Android, tidak menunjukkan hasil yang tepat. Hal ini disebabkan sistem operasi Android tidak mampu menunjukkan dan menyimpan karakter ASCII tertentu.
KEPUSTAKAAN
Broto AH, 2013, “Generator Key Vigenere Cipher dengan Menggunakan Randomisasi dari Key tertentu”, Makalah Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, diakses tanggal 27 Juli 2014, < http://repository.stmik- tasikmalaya.ac.id/sesepuh/data/Makalah1Kripto2013-009.pdf>
Febriani, Agushinta DR, Rasal I, Herawan H, Farhat, April 2012, “Towards Ubiquitous Computing in Indonesia: Mobile Payment System through NFC Technology”, IRACST - International Journal of Computer Networks and Wireless Communications (IJCNWC), vol. 2, no 2.
Hendrayanto R, Ramadona AN, “Program Aplikasi Enkripsi dan Dekripsi SMS pada Ponsel Berbasis Android dengan Algoritma DES”, Prosiding Seminar Ilmiah Nasional Komputer dan Sistem Intelijen (KOMMIT), vol 7, pp 631-633.
Saputra O, 2013, “Modifikasi Algoritma Vigenere Cipher Dengan Prinsip Jam”, Makalah Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, diakses tanggal 27 Juli 2014, < http://repository.stmik- tasikmalaya.ac.id/sesepuh/data/Makalah1Kripto2013-006.pdf>
Satrio B, 2011, “Vigènere Cipher dengan Pembangkitan Kunci Menggunakan Bilangan Euler”, Makalah Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut
Teknologi Bandung, diakses tanggal 27 Juli 2014, <
http://informatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi/2010-2011/Makalah1/MakalahIF5054- 2011-A-044.pdf>
LEMBAR PERNYATAAN
Yang bertanda tangan di bawah ini:
Nama : Isram Rasal, S.T., M.M.S.I., M.Sc.
Menyatakan bahwa makalah ini:
1. Belum pernah dipublikasikan dalam salah satu jurnal ilmiah, 2. Belum pernah diunggah ke salah satu situs Web, serta
3. Belum pernah disajikan pada salah satu seminar, simposium, atau pertemuan ilmiah lainnya.
Jakarta, 12 Februari 2021 Yang membuat pernyataan,
Isram Rasal, S.T., M.M.S.I, M.Sc.