Perancangan dan Implementasi Algoritma
Block Cipher
256
bit
dengan Skema
P-Box
Berbasis Pembuatan Lumpia untuk
Pengamanan SMS pada
Mobile Platform
Android
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi
Untuk memperoleh gelar Sarjana Komputer
Peneliti:
Ester Carolina Ambarsari (672012139) Yos Richard Beeh, S.T., M.Cs. Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
1. Pendahuluan
Komunikasi adalah salah satu hal yang penting dalam lingkungan sosial, khususnya untuk saling bertukar informasi dari satu pihak ke pihak yang lain. Salah satu media pertukaran informasi dapat dilakukan melalui pesan teks. Kasus-kasus yang telah terjadi selama ini adalah adanya pihak-pihak tertentu yang mencoba untuk mengubah, menyisipkan ataupun menghilangkan pesan sebelum diterima oleh pihak yang berhak menerima pesan. Oleh karena itu diperlukan keamanan informasi, salah satu strategi untuk keamanan informasi adalah dengan menerapkan teknik kriptografi.
Kriptografi bertujuan untuk menyelesaikan masalah keamanan, kerahasiaan, keaslian dan integritas data sehingga digunakan untuk menjaga informasi dari pihak yang tidak memiliki otoritas atau hak akses. Kriptografi sudah digunakan sejak jaman Romawi Kuno oleh Julius Caesar yang dijuluki dengan teknik Caesar
Chiper dan pada perang dunia kedua pun Jerman menggunakan mesin kriptografi
Enigma untuk mengamankan informasi dari pihak sekutu [1]. Kriptografi mengalami perkembangan dan selalu diperbaharui baik memodifikasi kriptografi yang sudah ada maupun merancang kriptografi yang baru agar keamanan dan kerahasiaan data dapat terjaga sehingga mempersulit kriptanalis untuk memecahkan algoritmanya. Sebelumnya perancangan algoritma kriptografi baru dengan teknik tanam padi dan bajak sawah sudah dilakukan oleh Widodo, dkk pada tahun 2015 [2]. Berdasarkan hal tersebut perancangan kriptografi yang baru sangat disarankan agar keamanan informasi tetap terjaga hingga sampai kepada pihak yang dituju. Salah satu ide teknik perancangan kriptografi baru adalah dengan menerapkan teknik pembuatan Lumpia. Teknik lipat-lipat kulit Lumpia
untuk membungkus isinya inilah yang akan dikombinasikan dengan teknik block
cipher dalam kriptografi. Pelipatan kulit lumpia tersebut menjadi pola yang
digunakan dalam transposisi Permutation Box (P-Box) plainteks berukuran 256
bit.
Android adalah sistem operasi open source berbasis linux yang berjalan
pada perangkat mobile phone dimana telah dilengkapi dengan akses internet dan
fitur-fitur lainnya. Android juga merupakan sistem operasi pada mobile phone
yang paling banyak beredar. Hal ini diperkuat dari data presentase International
Data Corporation (IDC) yang menunjukkan bahwa Android memiliki 82,8%
pangsa pasar di seluruh dunia [3]. Sedangkan berdasarkan data dari Google, pengguna aktif sistem operasi Android hingga tahun 2015 mencapai 1,4 miliar
pengguna di seluruh dunia [4]. Peran smartphone tersebut berbeda pada setiap
penggunanya, ada sebagian orang yang menggunakan untuk mengirimkan pesan-pesan rahasia kepada pihak-pihak tertentu dan tidak diperkenankan orang lain selain yang dituju untuk melihat ataupun membukanya.
Berdasarkan latar belakang yang ada, maka penelitian yang dilakukan
bertujuan untuk mengamankan informasi SMS (Short Message Service) pada
mobile platform android dengan menggunakan teknik kriptografi simetris berbasis
2. Tinjauan Pustaka
Penelitian berjudul Aplikasi Teknik Enkripsi Dan Dekripsi File Dengan
Algoritma Blowfish Pada Perangkat Mobile Berbasis Android, membahas tentang
aplikasi sistem pengamanan file yang bertujuan mengamankan file bentuk gambar,
video, dan dokumen pada perangkat mobile android. Algoritma kriptografi yang
dipakai dalam pengamanan file tersebut adalah algoritma Blowfish dengan
menggunakan jumlah kunci 72 bit atau 9 karakter [5].
Pada penelitian yang berjudul Enkripsi SMS (Short Message Service) pada
Telepon Seluler Berbasis Android dengan Metode RC6. Pada penelitian ini membahas mengenai penerapan kriptografi metode RC6, yang merupakan salah
satu kandidat AES yang diajukan oleh RSA Security Laboratories kepada NIST
pada pengamanan SMS. Algoritma ini menggunakan ukuran block hingga 128 bit,
dengan ukuran kunci yang bervariasi antara 128, 192, dan 256. Aplikasi dibangun pada sistem operasi android dengan kriptografi kunci simetris yang panjang kuncinya tidak dibatasi [6].
Berbeda dengan penelitian-penelitian yang telah dipaparkan yang lebih menggunakan algoritma-algoritma kriptografi yang sudah ada, pada penelitian yang akan dilakukan lebih difokuskan pada perancangan algoritma baru untuk pengamanan pada SMS. Penelitian yang dilakukan ini membahas tentang
bagaimana perancangan Algoritma Kriptografi Simetris dengan block chiper
dengan panjang bit 256-bit, dimana pola enkripsi dan dekripsi pada plainteks dan
cipherteks menggunakan pola teknik penggulungan Lumpia sebagai pengacakan dan bagaimana penerapannya pada aplikasi SMS pada mobile platform android.
Selanjutnya akan dibahas dasar-dasar teori yang digunakan sebagai landasan Perancangan Kriptografi Simetris Berbasis Teknik Pembuatan Lumpia untuk
Pengamanan SMS pada Mobile Platform Android. Suatu proses penyandian yang
melakukan perubahan sebuah kode (pesan) dari yang bisa dimengerti atau plainteks menjadi sebuah kode yang tidak bisa dimengerti atau cipherteks disebut
enkripsi. Sedangkan proses kebalikannya untuk mengubah cipherteks menjadi
plainteks disebut dekripsi. Gambar 1, memperlihatkan skema enkripsi dan dekripsi.
Gambar 1 Skema Enkripsi dan Dekripsi [7].
Algoritma kriptografi disebut juga sebagai cipher yaitu aturan untuk
enkripsi dan dekripsi, atau fungsi matematika yang digunakan untuk enkripsi dan
dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enkripsi dan
Misalkan P menyatakan plainteks dan C menyatakan cipherteks, maka fungsi
enkripsi memetakan P ke C.
C P
E( ) (1)
dan fungsi dekripsi memetakan D ke C,
P
C
D
(
)
(2)karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal, maka berlaku persamaan
P
P
E
D
(
(
))
(3)Di dalam Walpole (1995) analisis korelasi adalah metode statistik yang digunakan untuk mengukur besarnya hubungan linier antara dua variabel atau
lebih. Nilai korelasi populasi (ρ) berkisar pada interval -1 ≤ ρ ≤ 1. Jika korelasi bernilai positif, maka hubungan antara dua variable bersifat searah. Sebaliknya, jika korelasi bernilai negatif, maka hubungan antara dua variable bersifat berlawanan arah [8]. Analisis korelasi digunakan untuk melihat hubungan secara linier antara dua peubah yang biasanya adalah X dan Y, secara umum diberikan pada Persamaan (4) [9].
√{ ∑ ∑ ∑ ∑ ∑ }{ ∑ ∑ } , (4)
Dimana n adalah banyaknya karakter, ∑x adalah total jumlah dari variabel x (bilangan ASCII plainteks), ∑y adalah total jumlah dari variabel y (bilangan
ASCII cipherteks), Σx2 adalah kuadrat dari total jumlah variable x, Σy2 adalah
kuadrat dari total jumlah variabel y, Σxy adalah hasil perkalian dari total jumlah variabel x dan variabel y. Interval kategori kekuatan hubugan korelasi ditunjukkan pada Tabel 1.
Tabel 1 Interval Kriteria Hubungan Korelasi [10]. Koefisien Kekuatan Hubungan
0 Tidak Ada Korelasi
0,00 – 0,25 Korelasi Sangat Lemah
0,25 – 0,50 Korelasi Cukup
0,50 – 0,75 Korelasi Kuat
0,75 – 0,99 Korelasi Sangat Kuat
1 Korelasi Sempurna
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux
yang mencakup sistem operasi, middleware, dan aplikasi. Android Standart
Development Kit (SDK) adalah tools API (Application Programming Interface)
yang diperlukan untuk pengembangan aplikasi pada platform android dengan
menggunakan Bahasa pemrograman Java. Kode Java dikompilasi bersama dengan
data file resource yang dibutuhkan oleh aplikasi, dimana prosesnya di package
oleh tools yang dinamakan “apt tools” ke dalam paket android, sehingga
3. Metode Penelitian
Pada penelitian ini, akan dilakukan beberapa tahapan penelitian yang secara garis besar terbagi dalam empat tahapan [12], yaitu identifikasi masalah, perancangan sistem, implementasi sistem, dan pengujian sistem dan analisis hasil pengujian. Tahapan dalam penelitian ini dapat dilihat pada Gambar 2.
Gambar 2 Tahapan Penelitian
Tahapan penelitian pada Gambar 2, dijelaskan sebagai berikut: Tahap
pertama: Bagaimana aplikasi yang dibuat dapat mengirim pesan teks dengan aman, serta bagaimana performa algoritma yang akan dirancang dalam
mengamankan proses pengiriman dan penerimaan informasi. Tahap kedua:
Merancang aplikasi SMS dan antarmuka aplikasi yang digunakan oleh user serta
proses enkripsi dan dekripsi menggunakan algoritma yang dirancang. Tahap
kedua dilakukan dengan merancang arsitektur sistem, usecase diagram, Activity
diagram, dan proses-proses pada kriptografi block cipher. Tahap ketiga:
Mengimplementasikan aplikasi yang dapat mengirim dan menerima pesan teks, dan mampu menjaga kerahasiaan informasi yang dikirim maupun yang diterima
sesuai dengan hasil dari tahap perancangan. Tahap keempat: Pada teknik
kriptografi akan dilakukan pengujian proses enkripsi dan dekripsi dengan menggunakan nilai korelasi untuk mengetahui keamanan dari algoritma yang dirancang. Tahap kedua, ketiga dan keempat menggunakan sebuah metode
pengembangan prototype dalam perancangannya.
Metode perancangan yang dipakai dalam pembuatan sistem aplikasi SMS adalah
metode prototype. Metode prototype adalah metode dalam pengembangan
rekayasa software yang bertahap dan berulang, serta mementingkan sisi user
sistem. Dengan metode ini pengembang dan user dapat saling berinteraksi selama
proses pemuatan sistem, sehingga hasilnya diharapkan dapat memenuhi
kebutuhan user dimana prosesnya dapat dilihat pada Gambar 3.
Identifikasi Masalah
Perancangan Sistem
Implementasi Sistem
Gambar 3 Metode Prototype [13]
Tahapan dalam Metode Prototype adalah sebagai berikut : 1) Listen to
Customer. Pada tahap ini dilakukan analisis untuk mendapatkan data apa yang
dibutuhkan untuk membangun Aplikasi Pengamanan SMS; 2) Build adalah
membangun sistem berdasarkan perancangan menggunakan Unified Modeling
Language (UML). Sistem dirancangan menggunakan UML untuk selanjutnya
dibuat aplikasi berbasis Android; 3) Customer Test. Dilakukan pengujian sistem
dengan cara black box testing.
Dalam perancangan kriptografi dilakukan dua proses yaitu proses pertama enkripsi dan proses kedua dekripsi. Proses enkripsi pada perancangan kriptografi ini dilakukan seperti ditunjukkan dalam Gambar 4.
Plainteks Kunci
Transposisi Transposisi
Masuk bit
Teknik Penggulungan
Lumpia
Ambil bit
Masuk bit
Ambil bit
+
Cipherteks
n Putaran
Gambar 4 Bagan Umum Proses Enkripsi.
Gambar 4 merupakan bagan umum proses enkripsi yang terdapat pada aplikasi. Persiapan dan langkah-langkah proses enkripsi perancangan kriptografi dijelaskan sebagai berikut: 1) Menyiapkan plainteks yang akan dienkripsi. 2)
Menyiapkan key untuk digunakan dalam proses enkripsi. 3) Melakukan proses
transposisi, yaitu perpindahan bit pada plainteks dan kunci. 4) Transposisi
painteks dilakukan dengan 3 langkah, yaitu pemasukan bit yang dilakukan secara
bit dengan menggunakan pola penggulungan kulit lumpia, dan terakhir adalah
pengambilan bit yang merupakan hasil dari transposisi plainteks. 5) Transposisi
kunci dilakukan dengan 2 langkah, yaitu pemasukan bit yang dilakukan secara
horizontal dari kiri ke kanan dan selanjutnya bit akan diambil mengikuti aturan ambil secara diagonal. 6) Melakukan operasi matematika XOR terhadap hasil
proses plainteks dan hasil proses kunci. 7) Proses akan dilakukan sebanyak n
Putaran untuk mendapatkan cipherteks.
Aplikasi yang akan dibangun tetap memiliki fungsionalitas standar seperti kirim pesan, menerima pesan, kotak masuk, dan kotak keluar. Hanya berbeda saat melakukan pengiriman pesan, saat pesan akan dikiriman terlebih dahulu pesan akan dienkripsi agar pesan yang tersimpan pada jaringan SMS lebih tepatnya pada
SMSC (Short Message Service Center) akan disamarkan seperti pesan sembarang.
Begitu juga saat seseorang menerima pesan, pesan akan didekripsi untuk dapat mengembalikan pesan secara utuh. Antarmuka dari aplikasi ini akan dibangun semenarik mungkin agar mudah untuk digunakan.
User Sender Encryption SMS
SMS Center
BTS BTS
Send
User Receiver Decryption SMS Receive
Gambar 5 Rancangan Arsitektur Sistem Aplikasi SMS
Gambar 5 merupakan rancangan arsitektur sistem aplikasi SMS. Saat user
pengirim menuliskan pesan dengan kunci untuk enkripsi, maka secara langsung pengiriman pesan sudah terenkripsi. Pesan yang ditampung dalam SMSC sudah dalam bentuk cipherteks, sehingga informasi pada pesan tersebut tidak akan dapat diketahui pada saat di SMSC. Setelah ditampung semetara di SMSC pesan akan
langsung diteruskan ke nomor telephone yang dituju. User penerima akan
menerima pesan masih dalam bentuk cipherteks, untuk melihat pesan secara utuh
user penerima melakukan dekripsi dengan memasukan kode kunci yang sama
dengan kode kunci yang digunakan oleh user pengirim.
Perancangan proses pada penelitian ini dilakukan menggunakan UML (Unified
Modeling Language) untuk merancang Use Case dan Activity Diagram. Pada
gambar 6 Use Case Diagram User menjelaskan, user pengirim dapat secara
langsung mengirimkan pesan yang sudah terenkripsi, sehingga tidak akan ada
Read Message
User
Input Message
Send Message Input Key
Encrypt Message Decrypt Message
<<include>> <<include>>
Gambar 6 Use Case Diagram User
Untuk dapat melihat aktifitas-aktifitas yang ada dalam aplikasi, dapat
digambarkan dengan menggunakan Activity Diagram seperti pada Gambar 7.
Gambar 7 Activity Diagram User
Pada Gambar 7 merupakan activity diagram user untuk melakukan
pengiriman pesan secara aman. Sistem pertama kali akan menampilkan inbox
pesan dan tulis pesan, dengan demikian user dapat memilih menu tulis pesan
untuk mengirim pesan. Tampilan penulisan pesan sama seperti aplikasi SMS yang
lain, hanya perbedaannya ada satu kolom tambahan dimana user akan
memasukkan kode kunci untuk enkripsi pesan saat dikirim. Setelah pesan tersebut
dikirim maka akan diterima sementara oleh SMS Center dalam bentuk cipherteks
4. Hasil dan Pembahasan
Bagian ini akan membahas secara lebih rinci mengenai perancangan kriptografi simetris berbasis teknik pembuatan Lumpia untuk pengamanan SMS
pada mobile platform Android, serta membahas tentang proses enkripsi plainteks
untuk menghasilkan sebuah chipertext.
Gambar 8 Teknik Penggulungan Kulit Lumpia.
Gambar 8 merupakan langkah-langkah penggulungan kulit Lumpia yang dijadikan sebagai pola dalam perancangan kriptografi simetris berbasis teknik
pembuatan Lumpia untuk pengamanan SMS pada mobile platform Android yang
diterapkan pada matriks plainteks. Proses enkripsi yang sudah dijelaskan pada
Gambar 4 dilakukan P-Box plainteks dan kunci, proses P-Box dilakukan dengan
memasukkan bit dan mengambil bit plainteks dan kunci dalam block berukuran
16x16 dan pengambilan bit. Proses memasukkan bit dapat dilihat pada Gamar 9
dibawah ini.
Gambar 9 Proses Masuk bit
Gambar 9 merupakan proses bit plainteks dan kunci masuk dalam block
berukuran 16x16 dengan jumlah plainteks 32 karakter. Bit masuk secara
horizontal dari kiri kekanan dari index . Misalkan P menyatakan
plainteks, K menyatakan kunci dan n menyatakan jumlah bit dalam satu baris
block, maka fungsi bit masuk berlaku persamaan
(5)
(6)
Dari persamaan (5), maka didapatkan index anggota plainteks dalam setiap baris
Gambar 10 Proses P-Box Plainteks Langkah 1 Proses 1.
Gambar 10 merupakan proses P-Box bit dalam index untuk langkah 1 pada
proses 1. Proses pertama adalah pelipatan dengan block ukuran 9 x 9, pada proses
ini P-Box dilakukan dengan memindahkan urutan index secara diagonal. Dapat
dilihat pada gambar diatas kotak-kotak index dengan warna yang sama secara
diagonal akan dipindahkan ke diagonal yang ada diseberangnya, begitupun
sebaliknya. Sebagai contoh urutan bit index 138 ditukar posisi dengan bit index
16, bit index 120 dan 137 ditukar dengan bitindex 15 dan 32, bitindex 104, 121,
dan 138 ditukar dengan bitindex 14, 31, dan 48. Begitu seterusnya hingga sampai
pada diagonal terakhir yang ditandai dengan warna abu-abu. Dari keseluruhan proses P-Box plainteks, pada tahap ini akan terjadi permutasi ganda tepatnya pada
index yang diberi garis cetak tebal, hal ini terjadi karena pada proses penggulungan Lumpia pada Gambar 8 terdapat lipatan yang tertumpuk yang bertujuan untuk mengunci isi Lumpia.
Gambar 11 Proses P-Box Plainteks Langkah 2, 3, dan 5 Pada Proses 1 (A) P-Box Plainteks Langkah 2. (B) P-Box Plainteks Langkah 3. (C) P-Box Plainteks
Langkah 5. 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
Gambar 11 merupakan proses transposisi bit dalam block 8x8 yang
mewakili langkah ke 2 yaitu pada block (A), langkah 5 yaitu pada block (B), dan
Langkah 3 yaitu pada block (C). Proses transposisi tidak jauh berbeda dengan
yang sudah dijelaskan pada Gambar 9, yang berbeda hanya ukuran dari block dan
letak blocknya. Proses transposisi dilakukan secara diagonal mengikuti warna
kolom yang sama sesuai arah yang ada pada Gambar 11. Hasil dari keseluruhan proses transposisi plainteks dapat dilihat pada Gambar 11.
Gambar 12 Proses 1 P-Box Plainteks.
(A) Posisi bit Awal (B) Hasil P-Box bit Langkah I (C) Hasil P-Box bit Langkah II
(D) Hasil P-Box bit III (E) Hasil P-Box bit Langkah IV (F) Hasil P-Box bit Langkah V.
Gambar 12 merupakan proses keseluruhan P-Box plainteks dalam 1 proses sesuai dengan pola teknik pembuatan Lumpia seperti Gambar 8, (A) menjelaskan
P-Box awal yang digambarkan dengan urutan index 1 sampai 256. (B) merupakan
hasil dari P-Box plainteks langkah 1 yang sudah dijelaskan tahap pertukarannya pada Gambar 10. (C) merupakan hasil dari P-Box plainteks langkah 2. (D) merupakan hasil dari P-Box plainteks langkah 3. (E) merupakan hasil dari P-Box pola penggulungan yang merupakan tahap akhir dari teknik pembuatan Lumpia. (F) merupakan modifikasi P-Box plainteks langkah 5 pada proses 1, dan juga merupakan hasil akhir dari P-Box plainteks pada proses 1.
Hasil dari proses pengacakan plainteks akan dilakukan operasi XOR dengan
bit kunci yang akan dijelaskan pada Gambar 13.
Gambar 13 P-Box Kunci pada Proses 1.
A B C 145146147148149150151152153154155156157158159160 145146147148149150151152153154155156157158159160 145146147148149150151152153154155156157158159160 161162163164165166167168169170171172173174175176 161162163164165166167168169170171172173174175176 161162163164165166167168169170171172173174175176 177178179180181182183184185186187188189190191192 177178179180181182183184185186187188189190191192 177178179180181182183184185186187188189190191192 193194195196197198199200201202203204205206207208 193194195196197198199200201202203204205206207208 193194195196197198199200201202203204205206207208 209210211212213214215216217218219220221222223224 209210211212213214215216217218219220221222223224 209210211212213214215216217218219220221222223224 225226227228229230231232233234235236237238239240 225226227228229230231232233234235236237238239240 225226227228229230231232233234235236237238239240 241242243244245246247248249250251252253254255256 241242243244245246247248249250251252253254255256 241242243244245246247248249250251252253254255256
Gambar 13 merupakan proses pengambilan bit kunci yang sebelumnya kunci sudah dimasukkan seperti pada Gambar 9. Proses pengambilan kunci
dilakukan dengan cara mengambil setiap bit mengikuti arah panah. Pengambilan
dilakukan dari ujung kiri bawah mengikuti arah panah hingga terambil 16 bit, lalu
dilakukan berulang hingga sampai pada ujung panah, yaitu ujung kanan atas. Berdasarkan pada Persamaan 4 yang merupakan persamaan untuk mengetahui nilai korelasi antara plainteks dan cipherteks, dalam nilai korelasi
berkisar antara -1 sampai 1. Jika nilai korelasi mendekati 1 maka plainteks dan
cipherteks mempunyai nilai yang sangat berhubungan, tetapi jika nilai korelasi yang didapat mendekati 0 (nol), maka dapat dikatakan plainteks dan cipherteks mempunyai nilai yang sama sekali tidak berhubungan.
Untuk menguji perancangan alur pembuatan lumpia sebagai teknik
kriptografi Block Cipher dengan Skema P-Box dilakukan pengujian korelasi dari
proses enkripsi yang sudah dilakukan terhadap putaran, percobaan dilakukan dengan 30 putaran. Percobaan dilakukan dengan memasukkan plainteks dan kunci yang berbeda-beda, dapat dilihat pada Tabel 2.
Tabel 2 Pengujian Korelasi
No. Plainteks Kunci Nilai Korelasi
Rata-rata
2. A^;b60@%C f71 672012139 -0,035487434
3. AAAAAAAAAAAAA FTIUKSW 0,011102021
Berdasarkan pengujian pada Tabel 2, nilai korelasi diuji pada setiap putarannya untuk melihat hubungan antara plainteks dan cipherteks. Hasil pengujian digambarkan dengan grafik pada Gambar 14, Gambar 15, dan Gambar 16.
Gambar 14 Grafik Nilai Korelasi Hubungan Putaran 1 Sampai Putaran 30 pada Pengujian
Pertama.
Gambar 14 menunjukkan hasil dari pengujian korelasi dari setiap putaran di dalam algoritma yang dirancang dengan plainteks dan kunci pada Tabel 2 pengujian pertama. Berdasarkkan nilai-nilai hasil pengujian korelasi dari grafik di atas dari putaran 1 sampai putaran 30 menunjukkan nilai korelasi pada grafik yang
stabil dibawah 0,4 dan diatas -0,4 dengan rata-rata nilai korelasi dari semua putaran yaitu -0,045161624.
Gambar 15 Grafik Nilai Korelasi Hubungan Putaran 1 Sampai Putaran 30 pada Pengujian Kedua.
Gambar 15 menunjukkan hasil dari pengujian korelasi dari setiap putaran di dalam algoritma yang dirancang dengan plainteks dan kunci pada Tabel 2 pengujian kedua. Berdasarkkan nilai-nilai hasil pengujian korelasi dari grafik di atas dari putaran 1 sampai putaran 30 menunjukkan nilai korelasi pada grafik yang stabil dibawah 0,5 dan diatas -0,5 dengan rata-rata nilai korelasi dari semua putaran yaitu -0,035487434.
Gambar 16 Grafik Nilai Korelasi Hubungan Putaran 1 Sampai Putaran 30 pada Pengujian Ketiga
Gambar 16 menunjukkan hasil dari pengujian korelasi dari setiap putaran di dalam algoritma yang dirancang dengan plainteks dan kunci pada Tabel 2 pengujian ketiga. Berdasarkkan nilai-nilai hasil pengujian korelasi dari grafik di atas dari putaran 1 sampai putaran 30 menunjukkan nilai korelasi pada grafik yang stabil dibawah 0,4 dan diatas -0,4 dengan rata-rata nilai korelasi dari semua putaran yaitu 0,011102021.
Kriptografi mengubah plainteks menjadi cipherteks, setiap algoritma yang dibuat berusaha untuk menghilangkan hubungan secara langsung antara plainteks dan cipherteks agar kriptanalisis sulit untuk menentukan hubungan secara linier atau dengan teknik kriptanalis lainnya menetukan plainteks walaupun tidak mengetahui kunci. Hubungan yang unik antara plainteks dan cipherteks dapat diuji dengan melihat hubungan secara statistik. Hubungan plainteks dan cipherteks ditentukan dengan menggunakan analisis korelasi yang diberikan pada
ketiga menunjukkan grafik stabil naik turun dengan korelasi rata-rata masih di bawah 0,1 dan di atas -0,1. Ini berarti hubungan korelasi dari putaran 1 sampai putaran 30 dengan beberapa pengujian dengan plainteks dan kunci yang berbeda sangat lemah seperti yang sudah dijelaskan pada Tabel 1, sehingga dapat disimpulkan bahwa algoritma kriptografi simetris berbasis pembuatan Lumpia yang dirancang dapat memberikan keamanan untuk pesan teks. Sedangkan dari 3 percobaan yang dilakukan, hingga putaran ke 30 nilai korelasi terus naik turun yang berarti pola grafik tersebut sudah mengalami titik jenuh dan disimpulkan bahwa proses enkripsi yang dilakukan cukup dengan 30 putaran. Maka dapat dijelaskan alur proses enkripsi secara lebih jelas pada Gambar 17 di bawah ini.
Pada Gambar 17 plainteks dan kunci masuk pada proses 1 putaran 1. Terdapat 30 putaran proses enkripsi untuk mendapatkan cipherteks, pada setiap putaran terdapat 4 proses enkripsi seperti pada gambar di atas. Pada setiap proses
plainteks terdapat 3 langkah, yaitu Masuk bit, Pembuatan Lumpia, dan Ambil
bit. Masuk bit adalah proses dimana bit dimasukkan dalam block ukuran 16x16, seperti yang sudah dijabarkan pada Gambar 9. Pembuatan Lumpia merupakan
proses transposisi atau perpindahan bit dalam block ukuran 16x16 sesuai dengan
cara menggulung kulit lumpia yang ada pada Gambar 8, dimana dalam 1 proses transposisi plainteks terdapat 5 langkah seperti yang sudah dijelaskan pada
Gambar 10, 11, dan 12. Bit-bit yang sudah di acak kemudian diambil, hasil dari
proses 1 akan menjadi P1. Pada setiap proses Kunci terdapat 2 langkah, yaitu
Masuk bit dan Ambil bit. Masuk bit adalah proses dimana bit-bit dimasukkan
dalam block ukuran 16x16, seperti pada Gambar 9. Ambil bit adalah proses
dimana bit-bit diambil dengan pola yang berbeda dari pola masuk bit, pola
pengambilan bit dilakukan secara diagonal seperti yang sudah dijelaskan pada
Gambar 13, hasil pengambilan ini akan menjadi K1.
P1 dan K1 merupakan hasil dari pengacakan pada setiap proses pada plainteks dan kunci. P1 dan K1 akan dilakukan operasi XOR untuk mendapatkan hasil yang nantinya akan dipakai untuk plainteks baru pada proses 2, sedangkan K1 akan menjadi kunci baru pada proses 2. Proses tersebut akan terus dilakukan hingga sampai pada proses 4 yang menghasilkan P4 dan K4 yang akan dilakukan operasi XOR untuk mendapatkan C1. Pada keseluruhan proses ini merupakan ekkripsi yang terjadi pada putaran 1. Putaran 2 akan dilakukan dengan plainteks baru yaitu C1 yang didapatkan pada putaran 1 dan kunci baru yaitu K4 yang didapat dari hasil transposisi kunci pada Putaran 1. Kemudian akan dilakukan
proses yang sama seperti pada putaran 1 hingga mendapatkan C2, C3, C4 … C30.
C30 atau hasil cipherteks pada putaran 30 akan dijadikan sebagai hasil akhir cipherteks.
Hasil uji coba kriptografi pada aplikasi dilakukan dengan menggunakan
smartphone LG Magna dengan versi android 6.0 Marshmallow. Hasil yang
diperoleh dari uji coba aplikasi dapat dilihat pada tampilan-tampilan aplikasi yang ditujukan pada gambar-gambar berikut:
Gambar 18a merupakan tampilan awal aplikasi yang menampilkan kotak
masuk pesan yang diambil dari storage pesan yang terdapat pada smartphone
user. Pada tampilan Gambar 12 terdapat image button untuk user menulis pesan.
Ketika user menekan button tulis pesan maka akan menampilkan Gambar 18b.
Tampilan tulis pesan sedikit berbeda dari tampilan tulis pesan pada
aplikasi-aplikasi SMS biasanya, yaitu terdapat tambahan edittext untuk user menuliskan
kunci enkripsi pesan yang akan dikirim. Pada Gambar 18b User mengisi nomor
telephone yang akan dituju, pesan yang akan dikirim sekaligus kunci enkripsi
pesan. Ketika user siap untuk mengirim pesan dan menekan button send maka
secara langsung pesan akan terlebih dahulu dienkripsi dan menghasilkan output
berupa cipherteks yang akan langsung dikirim. Laporan pesan akan muncul seperti pada Gambar 18b jikalau pesan sudah sampai pada tujuan.
(A) (B) (C)
Gambar 19 (A) CipherteksPesan (B) Dekripsi Pesan (C) Hasil Dekripsi Pesan
Gambar 19a menampilkan pesan masuk dalam bentuk cipherteks. Untuk
menampilkan pesan asli maka user terlebih dahulu memasukkan kunci dekripsi
pesan yang sama dengan kunci enkripsi pesan. Tampilan pengisian kunci dapat
dilihat pada Gambar 19b, ketika kunci sudah terisi dan user menekan “OK” maka
pesan cipherteks yang sebelumnya akan diperbaharui menjadi pesan asli yang ditampilkan pada Gambar 19c.
Pengujian aplikasi pada tahap ini menggunakan metode black box, yaitu
pengujian fungsional yang dilakukan oleh developer tanpa melihat alur eksekusi
Tabel 3 Pengujian Black Box Aplikasi.
Proses Hasil yang Diharapkan Hasil yang Muncul Kesimpulan
Membuka aplikasi Messaging
Menampilkan inbox pesan Daftar inbox pesan dalam Hp
Klik Pesan Masuk Menampilkan nomor pengirim dan pesan yang
Klik Dekripsi Menampilkan pesan asli setelah menginputkan
Berdasarkan pada hasil pengujian fungsionalitas program pada Tabel 3,
dapat disimpulkan bahwa aplikasi Pengamanan SMS pada Mobile sudah
memenuhi tujuan penelitian. Pengujian kemampuan aplikasi yang dirancang perlu
juga dilakukan pada beberapa tipe handphone berbeda sehingga diperoleh
informasi yang mendukung Pengujian Black Box.
Tabel 4 Analisis Pengujian pada Beberapa Tipe Handphone
Tipe Handphone Enkripsi Dekripsi Integritas Data
Xiaomi Redmi Note 3
Analisis pada Tabel 4 dilakukan berdasarkan tipe handphone dan spesifikasi
handphone yang berbeda dengan versi Android minimum 5.0 (Lolipop).
handphone berjalan dengan baik. Berdasarkan hasil dari analisa pada Tabel 4 dapat dikatakan bahwa implementasi algoritma yang dibuat sudah sesuai dengan aspek-aspek sistem kriptografi dan informasi yang dikirim dan diterima tetap utuh.
5. Simpulan
Pengujian nilai korelasi perancangan Algoritma Block Cipher 256 bit
dengan Skema P-Box Berbasis Pembuatan Lumpia memiliki nilai rata-rata pada
setiap putarannya -0.061167386, dari nilai tersebut berdasarkan interval kriteria hubungan korelasi pada Tabel 1 masuk dalam kriteria korelasi sangat lemah. Oleh karena itu dapat disimpulkan bahwa hubungan linier antara plainteks dan cipherteks berhubungan sangat lemah sehingga dapat dikatakan rancangan Algoritma yang dibuat dapat menyamarkan plainteks dengan baik. Berdasarkan analisis yang sudah dilakukan pada aplikasi, rancangan algoritma dapat
diimplementasikan pada aplikasi SMS mobile platform Android berbagai tipe
handphone serta dapat melakukan proses enkripsi dan dekripsi sesuai dengan perancangan algoritma yang dibuat dan integritas data atau keutuhan informasi tetap terjaga dengan baik.
6.
Daftar Pustaka[1] Kromodimoeljo, S., 2010, Teori dan Aplikasi Kriptografi, Jakarta: SPK IT
Consulting
[2] Widodo, A. dkk., 2015, Perancangan Kriptografi Block Cipher Berbasis
Pada Teknik Tanam Padi dan Bajak Sawah, Seminar Nasional Teknik
Informatika dan Sistem Informasi(SETISI), Bandung
[3] Larensi, R., 2015, Ini presentase Pengguna Android dan IOS di Dunia,
Lebih Besar Siapa ?,
http://www.merdeka.com/teknologi/ini-presentase-pengguna-android-dan-ios-di-dunia-lebih-besar-siapa.html, Diakses tanggal 29 Agustus 2016.
[4] Wahyudi, R., 2015, Google: 1,4 Miliar Penduduk Dunia Pakai Android,
http://tekno.kompas.com/read/2015/09/30/11110017/Google.1.4.Miliar.Pen
duduk.Dunia.Pakai.Android,Diakses tanggal 29 Agustus 2016.
[5] Wardoyo, S. dkk., 2014, Aplikasi Teknik Enkripsi Dan Dekripsi Fmessile
Dengan Algoritma Blowfish Pada Perangkat Mobile Berbasis Android,
Cilegon: Program Studi Teknik Elektro, Universitas Sultan Ageng Tirtayasa.
[6] Rahmayun, D.I., 2014, Enkripsi SMS (Short Message Service) pada Telepon
Seluler Berbasis Android dengan Metode RC6, Padang: Jurnal Momentum.
Vol.16 No.1.
[7] Zimmermann, Phil, 2003, An Introduction to Cryptography, California:
PGP Corporation.
[8] Walpole, R.E., 1995, Pengantar Statistika, Edisi ke-3, Jakarta: Gramedia.
[9] Montgomery, D.C., & Runger, G.C., 2011, Applied Statistics and
[10] Sarwono, J., 2009, Statistik Itu Mudah: Panduan Lengkap untuk Belajar
Komputasi Statistik Menggunakan SPSS 16 , Yogyakarta: Penerbit
Universitas Atma Jaya Yogyakarta.
[11] Syafaat, N., 2014, Pemrograman Aplikasi Mobile Smartphone dan Tablet
PC Berbasis Android, Bandung: Informatika.
[12] Tutupary, A.A.P dkk., 2015, Perancangan dan Implementasi Kriptografi
Block Cipher Berbasis pada S-Box untuk Pengecekan Surat Izin Mengemudi pada Android Platform, Salatiga: Fakultas Teknologi Informasi, Program Studi Teknik Informatika, Universitas Kristen Satya Wacana Salatiga.
[13] Pressman, R., 2001, Software Engineering A Practitioner’s Approach Fifth
Edition, New York : Mcgraw-Hill.
[14] Liwandouw, V.B & Wowor, A.D., 2015, Kombinasi Algoritma Rubik,
CPSRNG Chaos, dan S-box Fungsi Linier Dalam Perancangan Kriptografi
Cipher Blok. Seminar Nasional Sistem Informasi Indonesia.
[15] Maturidi, A. J., 2014, Metode Penelitian Teknik Informatika, Yogyakarta: