APLIKASI
KRIPTOPEDIA BERBASIS ANDROID
NASKAH PUBLIKASI
diajukan oleh
Rizki Samudra
12.11.5817
kepada
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
YOGYAKARTA
2015
1
APLIKASI
KRIPTOPEDIA BERBASIS ANDROID
Rizki Samudra
1),
Akhmad Dahlan
2),
1,2)
Teknik Informatika STMIK AMIKOM Yogyakarta
Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283
Email : rizki.sa@students.amikom.ac.id1), alland@amikom.ac.id2)
Abstract - Cryptography is a knowledge which studies to keep data or messages remain secure when sent from the sender to the receiver without interference from third party. Cryptography very rapid development so that it appears a lot of algorithms that have different basic cryptographic algorithms.
Researchers in this thesis do creating an application Kriptopedia. Applications that will be made will have a variety of menu like data cryptographic algorithms , cryptographic algorithms demo , profile or history of cryptography , cryptographic data search. In this application there will be many cryptographic algorithms from the past to modern cryptography. Researchers hope of creating this Kriptopedia application will help people , especially in terms of information , and basic knowledge of cryptographic algorithms. Creating this application will be very useful for the user to search the data in algorithms which are rarely used , or algorithms as needed. Keywords : cryptographic, Encyclopedia..
1. Pendahuluan
4.1 Latar Belakang Masalah
Kriptografi merupakan suatu seni dalam pengamanan data. Pada mulanya kriptografi digunakan untuk mengamankan sebuah data berupa teks. Proses yang dilakukan oleh kriptografi yaitu enkripsi dan deskripsi, di mana pesan (plaintext) dienkripsi dan menghasilkan chipertext, lalu chipertext di deskripsi menjadi plaintext lagi. Bermacam-macam algoritma yang digunakan dalam mengamankan sebuah data diantaranya yaitu DES, RC6, RSA, AES, dan masih banyak lagi algoritma kriptografi lainnya. Kriptografi sudah ada sejak jaman dahulu kala, contohnya yang dilakukan oleh Tentara Sparta (Yunani) 400 SM mereka membuat pesan untuk menyerang, dan dikirimkan ke tentara Yunani yang lain, agar menyerang secara bersamaan.
Algoritma kriptografi yang sudah ada pada masa lampau juga beraneka macam. Salah satu algoritma Kriptografi pada masa lampau seperti algoritma caesar chiper, subtitusi dan juga tranposisi, tentu algoritma kriptografi masih sangat banyak, dari masa lampau hingga sekarang. Untuk dapat membuat sebuah aplikasi yang menggunakan sistem keamanan kita harus
mengetahui algoritma-algoritma yang sesuai dengan aplikasi yang kita buat, dengan mengetahui algoritma-algoritma kriptografi yang sangat banyak akan membuat kita menjadi tertarik untuk mempelajari kriptografi lebih dalam. Pengalaman pribadi peneliti pada skripsi ini yaitu peneliti mengalami kesulitan untuk mencari algoritma tertentu, dikarenakan banyaknya sumber yang memberikan info berbeda .Oleh karena itu peneliti pada skripsi ini akan merangkum dan mengumpulkan algoritma-algoritma kriptografi dalam sebuah aplikasi android yang bernama “kriptopedia”. Aplikasi ini dibuat dengan sistem operasi android karena perkembangan smartphone yang sedang populer saat ini adalah smartphone yang berbasis android, dan juga sangat praktis untuk dibawa kemana pun dan dapat dipelajari kapan pun.
4.2 Rumusan Masalah
Berdasarkan uraian pada latar belakang masalah di atas maka permasalahan utama adalah “bagaimana merancang aplikasi ensiklopedia kriptografi serta demo algoritma kriptografi berbasis android?”.
4.3 Batasan Masalah
Berdasarkan rumusan masalah di atas maka didapat batasan-batasan masalah yang digunakan untuk membatasi ruang lingkup masalah dalam melakukan penelitian. Batasan masalah yang digunakan adalah sebagai berikut:
1. Perangkat yang mendukung sistem operasi android dengan minimal versi yang dibutuhkan adalah versi 2.2 (froyo). 2. Aplikasi digunakan sebagai media
pembelajaran mengenai algoritma-algoritma kriptografi.
3. Software yang digunakan dalam perancangan adalah Android Developer Tools (ADT).
4. Demo aplikasi yang dibuat hanya algoritma modern saja.
4.4 Tujuan penelitian
Tujuan yang ingin dicapai dalam penelitian adalah untuk membuat aplikasi kriptopedia berbasis android sesuai dengan yang telah dijabarkan dalam batasan masalah.
2
2. Landasan Teori
4.1 Definisi Kriptografi
Kata kriptografi berasal dari bahasa Yunani, “kryptós” yang berarti tersembunyi dan “gráphein” yang berarti tulisan. Sehingga kata kriptografi dapat diartikan berupa frase “tulisan tersembunyi”. Kriptografi juga bisa diartikan sebagai proses mengubah kembali data yang terenkripsi menjadi bentuk yang dapat dipahami. Artinya, kriptografi dapat diartikan sebagai proses untuk melindungi data dalam arti yang luas.[1]
4.2 Kriptografi Klasik
Kriptografi Klasik merupakan suatu algoritma yang menggunakan satu kunci untuk mengamankan data. Teknik Ini sudah digunakan beberapa abad yang lalu. Ada pun beberapa contoh algoritma dari kriptografi klasik.
4.2.1 Kode Kaisar (Caesar Cipher)
Subtitusi kode yang pertama dalam dunia penyandian terjadi pada pemerintahan Yulius Caesar yang dikenal dengan kode Kaisar dengan mengganti posisi huruf awal dari alfabet atau disebut juga dengan algoritma ROT 3.
4.2.2 Cipher Transposisi
Teknik ini menggunakan permutasi karakter dan tidak dapat dibaca kecuali oleh orang yang memiliki kunci untuk mengembalikan teks tersebut ke bentuk semula. [2]
4.2.3 Playfair Cipher
Kunci dari cipher playfair adalah penggunaan matriks 5x5 (dengan masukan terdiri dari 25 karakter dan membuang J yang ada dalam alfabet dan menggantikannya dengan huruf i) kemudian kata tersebut di konkatenasi dengan teks “abcdefghiklmnopqrstuvwxyz” dan pada akhirnya dari hasil yang diperoleh akan dihilangkan seluruh kemunculan huruf yang berulang.
Setelah tabel acuan terbentuk, berikutnya dilakukan operasi terhadap pesan yang akan dienkripsi, yaitu:
1. Ganti seluruf huruf “j” dengan huruf “i”.
2. Tulis kembali pesan dalam bentuk pasangan huruf. 3. Untuk setiap pasangan huruf yang sama harus
dipisah dan disisipkan huruf “z” di tengahnya. 4. Jika jumlah huruf ganjil, maka ditambahkan huruf
“z” di akhir.[3]
4.2.4 Kode vigènere
Teknik Vigener dengan Huruf: ide dasarnya adalah dengan menggunakan kode Kaisar, tetapi jumlah pergeseran hurufnya berbeda-beda untuk setiap periode huruf tertentu. Untuk mengenkripsi pesan digunakan tabula recta (bujursangkar Vigenere). Tabula recta digunakan untuk memperoleh teks kode dengan menggunakan kunci yang sudah ditentukan. Jika kunci
lebih pendek daripada teks asli maka penggunaan kunci diulang.
Jadi, secara matematis enkripsi dengan kode Vigenere adalah:
E(pi) = V(pi, k(i mod m)) pi : huruf ke-i dalam teks asli kn : huruf ke-n dalam kunci m : panjang kunci
V(x,y): huruf yang tersimpan pada baris x dan kolom y pada tabula recta.
4.2.5 Metode Kasiski
Metode kasiski membantu untuk menemukan panjang dari kunci yang digunakan pada vigenere chiper dengan memanfaatkan perulangan pasangan huruf atau tripel huruf, seperti TH, THE, dsb.
Langkah metode Kasiski:
1. Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang ).
2. Hitung jarak antara kriptogram yang berulang. 3. Hitung semua faktor (pembagi) dari jarak tersebut
(faktor pembagi menyatakan panjang kunci yang mungkin).
4. Tentukan irisan dari himpunan faktor pembagi tersebut.[2]
4.3 Kriptografi Modern
Kriptografi Modern merupakan suatu algoritma yang mempunyai kerumitan yang sangat kompleks karena dioperasikan menggunakan komputer. Ada pun beberapa contoh algoritma dari kriptografi modern.
2.3.1 AES
Gambar 1 Proses Algoritma AES
Proses enkripsi algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi, input yang telah dicopykan ke dalam state akan mengalami transformasi byte AddRoundKey. Setelah
3 itu, state akan mengalami transformasi SubBytes, ShiftRows, MixColumns, dan AddRoundKey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES disebut sebagai round function. Pada Round terakhir, state tidak mengalami MixColumns.[4]
2.3.2 DES
Gambar 2 Skema Global Algoritma DES
Skema global dari algoritma DES adalah sebagai berikut:
1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP). 2. Hasil permutasi awal kemudian di-enciphering-
sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda. 3. Hasil enciphering kemudian dipermutasi dengan
matriks permutasi balikan (invers initial permutation atau IP-1) menjadi blok cipherteks.
2.3.3 RC6
Gambar 3 Skema Global Algoritma RC6
RC6 memecah blok 128 bit menjadi 4 buah blok 32 bit, maka algoritma ini bekerja dengan 4 buah register 32-bit A, B, C, D. Byte yang pertama dari plaintext atau ciphertext ditempatkan pada byte A, sedangkan byte yang terakhirnya ditempatkan pada byte D. Dalam prosesnya akan didapatkan (A, B, C, D) = (B, C, D, A) yang diartikan bahwa nilai yang terletak pada sisi kanan berasal dari register disisi kiri
2.3.4 RSA
Untuk melakukan enkripsi RSA, teks-asli disusun menjadi blok x1, x2, ..., sedimikian sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai r-1. Setiap blok xi dienkripsi menjadi blok yi dengan rumus:
C = Me mod n
Untuk melakukan dekripsi terhadap teks-kode yang menggunakan algoritma RSA, setiap blok teks-kode yi
didekripsi kembali menjadi blok xi dengan rumus:
M= Cd mod n = (Me)d mod n = Med mod n [2]
2.3.5 MD5
Gambar 4 Skema Global Algoritma MD5
Cara Kerja Md5 yaitu:
1. Penambahan Bit-bit Pengganjal 2. Penambahan Nilai Panjang Pesan 3. Inisialisai Penyangga MD
4. Pengolahan Pesan dalam Blok Berukuran 512 bit.[2]
4.4 Ensiklopedia
Ensiklopedia sering disamakan dengan kamus. Namun perbedaan utama antara kamus dan ensiklopedia adalah bahwa sebuah kamus hanya memberikan definisi setiap entri atau lema dilihat dari sudut pandang linguistik atau hanya memberikan kata-kata sinonim. Sedangkan ensiklopedia memberikan penjelasan secara lebih mendalam tentang hal yang kita cari. Sebuah Ensiklopedia mencoba menjelaskan setiap artikel sebagai sebuah fenomena, Dengan kata lain, kamus adalah daftar kata-kata lainnya, sedangkan ensiklopedia adalah sebuah daftar hal-hal.[5]
3. Analisis dan Perancangan
4.1 Analisis Kebutuhan Fungsional
Kebutuhan fungsional adalah jenis kebutuhan yangn menjelaskan fungsi-fungsi yang nantinya dapat dilakukan sistem. Adapun kebutuhan fungsional aplikasi Ensiklopedia Kriptografi ini adalah sebagai berikut :
1. Sistem dapat menampilkan Daftar Algoritma Kriptografi.
2. Sistem dapat melakukan Demo Kriptografi. 3. Sistem dapat menampilkan Daftar Demo Tersedia 4. Sistem dapat menampilkan Menu Algoritma
Favorit
5. Sistem dapat menambah dan menghapus algoritma kedalam Menu Favorit.
6. Sistem dapat menampilkan Menu Tentang dan Bantuan.
4
4.2 Analisis Kebutuhan Non- Fungsional
Analisis kebutuhan non-fungsional adalah bagian yang akan mendukung jalannya pembuatan aplikasi Kriptopedia. Berikut merupakan kebutuhan non-fungsional antara lain:
Kebutuhan Perangkat Keras
Spesifikasi hardware yang digunakan dalam pembuatan aplikasi Kriptopedia adalah sebagai berikut: 1. Processor Intel Core Intel® Core™ i5 3210M
Processor
2. Memory (RAM) dengan kapasitas 4GB. 3. Harddisk dengan kapasitas 750GB.
4. VGA NVIDIA NVIDIA® GeForce® GT 635M dengan 2GB DDR3 VRAM.
Kebutuhan minimal smartphone untuk menjalankan aplikasi Kriptopedia adalah:
1. Memory (RAM) minimal 512 MB 2. Harddisk tersedia minimal 100 MB 3. Resolusi layar minimal 240 x 320 px Kebutuhan Perangkat Lunak
Analisis perangkat lunak bertujuan untuk mengetahui secara tepat perangkat lunak apa saja yang dibutuhkan untuk membangun dan mengimplementasi suatu aplikasi.
Adapun spesifikasi minimal perangkat lunak yang dibutuhkan dalam analisis kebutuhan perangkat lunak sebagai berikut :
1. Sistem Operasi Windows 8.1 2. Eclipse Kepler
3. Android Software Development Kit (SDK) 4. Android Developer Tools (ADT)
v22.6.2-1085508
5. Bahasa pemrograman Java dan XML
4.3 Peracangan UML
4.2.1 Use Case Diagram
Use Case menunjukkan proses apa saja yang dapat dilakukan oleh user terhadap sistem yang dirancang, dalam hal ini Kriptopedia berbasis Android. Adapun use case diagram pada aplikasi ini sebagai berikut:
Gambar 5 Use case Diagram
4.2.2 Activity Diagram
Activity diagram menggambarkan berbagai alir aktifitas dalam sistem yang sedang dirancang, dan bagaimana mereka berakhir. Adapun Activity Diagram Aplikasi Kriptopedia adalah sebagai berikut:
Gambar 6 Activity Diagram Demo 4.2.3 Class Diagram
Class diagram mendiskripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terjadi.
Gambar 7 Class Diagram 4.2.4 Sequence Diagram
Sequence diagram digunakan untuk menggambarkan interaksi antara objek dalam dan sekitar sistem (termasuk pengguna, display, dan sebagainya)
5 berupa pesan yang digambarkan terhadap waktu. Adapun Sequence Diagram aplikasi Kriptopedia adalah sebagai berikut:
Gambar 8 Sequence Diagram Demo
4. Implementasi Kode Program dan Antar Muka
4.1 Implementasi Basis Data
Gambar 9 Kode Rancangan Basis Data 4.2 Implementasi Antar Muka
4.2.1 Splash Screen
Gambar 10 Antar Muka Splash Screen
4.2.2 Tampilan Awal
Gambar 11 Antar Muka Tampilan Awal
4.2.3 Menu Utama
Gambar 12 Antar Muka Menu Utama
4.2.4 Detail Algoritma
6
4.2.5 Demo Algoritma
Gambar 14 Antar Muka Demo Algoritma
5. Kesimpulan dan Saran
5.1 Kesimpulan
Setelah melalui tahapan tahapan yang telah dijelaskan pada pembahasan sebelumnya makan dapat ditarik kesimpulan tentang Aplikasi Kriptopedia berbasis Android ini sebagai berikut :
1. Aplikasi Kriptopedia berbasis Android ini disertai demo, sehingga pengguna bisa melihat hasil enkripsi dan deskripsi pada algoritma yang dipilih.
2. Setelah melakukan pengujian pada program didapatkan hasil yang memuaskan dimana program berfungsi secara maksimal sesuai rancangan dan kapasitasnya.
5.2 Saran
Berikut beberapa saran yang dapat dipergunakan sebagai pertimbangan untuk pengembangan aplikasi pada penelitian selanjutnya.
1. Pada pengembangan selanjutnya diharapkan dapat menambahkan algoritma-algoritma yang kurang seperti elgamal, enigma, blowfish, 3DES, dan menambah demo yang kurang pada aplikasi ini yaitu caesar chiper, chiper transposisi, metode kasiski, playfair chiper, vigenere chiper dan menambah proses untuk algoritma yang sudah ada.
2. Penulis berharap pengembang selanjutnya dapat membuat aplikasi ini pada platform lain selain Android, agar masyarakat dapat mengakses aplikasi ini pada platform yang mereka miliki.
Daftar Pustaka
[1.] Oppliger, Rolf. 2005. Contemporary Cryptography. USA: Artech House, Inc.
[2.] Ariyus, Dony.2006. Kriptografi : Keamanan Data dan Komunikasi. Yogyakarta: Penerbit Andi [3.] Toisutta, Eka. 2007. Playfair Cipher. Makalah
pada Institut Teknologi Bandung: tidak diterbitkan
[4.] Yuniati, Voni. Gani Indriyanta. Antonius Rachmat C. 2009. Enkripsi dan Dekripsi dengan Algoritma AES 256 Untuk Semua Jenis File.
[5.] Abdurrahman, Maman. 2002. Analisis PerformansiI Algoritma Kriptografi RC6: Institut Teknologi Bandung.
Biodata Penulis
Rizki Samudra, memperoleh gelar Sarjana Komputer
(S.Kom), Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta, lulus tahun 2015.
Akhmad Dahlan, memperoleh gelar Sarjana
Komputer (S.Kom), Jurusan Teknik Informatika, STMIK AMIKOM Yogyakarta dan memperoleh gelar Magister Komputer (M.Kom), Program Pasca Sarjana Magister Teknik Informatika STMIK AMIKOM Yogyakarta. Saat ini menjadi Dosen di STMIK AMIKOM Yogyakarta pada tahun 2013.