Seminar Nasional Informatika 2015
PENERAPAN ALGORITMA RC6 UNTUK PERANCANGAN
APLIKASI PENGAMANAN SMS PADA MOBILE DEVICE
BERBASIS ANDROID
Yusfrizal1
1,2
Program Studi Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Potensi Utama
3
Universitas Potensi Utama, Jl. K.L.Yos Sudarso Km.6,5 No.3-A Medan (20241)
1
yusfrizal@ymail.com
Abstrak
Telepon selular ( mobile device) merupakan alat komunikasi yang sudah dipakai oleh sebagian besar orang di
dunia. Telepon selular menyediakan media komunikasi yang beragam dan salah satu di antaranya adalah
media SMS (Short Message Service). Layanan pengiriman pesan singkat ini sangatlah standar dan tidak
jarang para pengguna telepon selular menggunakan layanan SMS ini untuk mengirimkan suatu pesan yang
penting dan rahasia, namun para pengguna layanan SMS tersebut sering kali tidak mengetahui bahwa jalur
komunikasi SMS memiliki banyak sekali celah yang memungkinkan untuk terjadinya serangan pada pesan
teks yang dikirim. Dengan majunya kemajuan teknologi telepon selular, di mana banyaknya bermunculan
telepon selular yang memiliki memori yang cukup besar, memungkinkan untuk melakukan implementasi
enkripsi pada SMS menjadi memungkinkan. Oleh karena dalam melakukan implementasi algoritma
kriptografi, algoritma tersebut diharapkan kuat namun tidak terlalu rumit. Salah satu algoritma yang dapat
digunakan adalah algoritma RC6, algoritma ini cukup diakui kesederhanaannya dan kesesuaiannya untuk
diimplementasikan pada prosesor dengan arsitektur ARM yang banyak dipakai pada telepon selular (mobile
device) berbasis android.
Kata kunci : SMS, mobile device, android, algoritma RC6
1.
Pendahuluan
Telepon selular merupakan alat komunikasi
yang sudah dipakai oleh sebagian besar orang di
dunia. Telepon selular menyediakan media
komunikasi yang beragam dan salah satu di
antaranya adalah media SMS (Short Message
Service). SMS merupakan suatu layanan yang
memungkinkan pengguna telepon selular untuk
mengirimkan pesan singkat kepada pengguna
telepon selular lainnya dengan cepat dan dengan
biaya yang kecil. SMS bekerja pada sistem
nirkabel. Sistem nirkabel yang paling populer di
dunia adalah GSM (Global System for Mobile
Communication).
Layanan pengiriman pesan singkat ini
sangatlah standar dan tidak jarang para pengguna
telepon selular menggunakan layanan SMS ini
untuk mengirimkan suatu pesan yang penting dan
rahasia, namun para pengguna layanan SMS
tersebut sering kali tidak mengetahui bahwa jalur
komunikasi SMS memiliki banyak sekali celah
yang memungkinkan untuk terjadinya serangan
pada pesan teks yang dikirim.
Kelebihan dari SMS ini adalah ketika tujuan
sedang sibuk, pesan tetap dapat dikirimkan
dengan menyimpan pesan tersebut pada SMSC
(Short Message Service Center) dan akan
518
mengirimkan ketika tujuan sudah tidak sibuk.
Namun, kelebihan ini juga menjadikan celah yang
sangat vital pada SMS, dengan tersimpannya
pesan pada SMSC, maka penyerang dapat
mendapatkan
pesan
dengan
melakukan
penyusupan pada SMSC tersebut. Selain itu
serangan juga dapat terjadi pada perangkat mobile
pengirim dan dengan penyadapan frekuensi radio.
Untuk mengurangi resiko yang ditimbulkan dari
celah-celah yang terdapat pada layanan SMS
tersebut salah satu cara penanggulangannya
adalah dengan menerapkan suatu algoritma
kriptografi pada pesan yang dikirimkan. Dengan
terenkripsinya pesan yang dikirim maka
seseorang yang berhasil mencuri informasi pesan
teks yang dikirim tersebut akan kesulitan untuk
mengetahui isi dari pesan tersebut. Dengan
majunya kemajuan teknologi telepon selular, di
mana banyaknya bermunculan telepon selular
yang memiliki memori yang cukup besar,
memungkinkan untuk melakukan implementasi
enkripsi pada SMS menjadi memungkinkan.
Telepon selular pada umumnya tidak
memiliki prosesor cepat seperti layaknya PC, oleh
karena dalam melakukan implementasi algoritma
kriptografi, algoritma tersebut diharapkan kuat
namun tidak terlalu rumit. Algoritma RC6 yang
dirancang oleh Ronald L. Rivest, M.J.B.
Seminar Nasional Informatika 2015
Robshaw, R. Sidney, dan Y.L. Yin merupakan
salah satu algoritma yang menjadi finalis kandidat
untuk menjadi AES. Algoritma ini cukup diakui
kesederhanaannya dan kesesuaiannya untuk
diimplementasikan pada prosesor dengan
arsitektur ARM yang banyak dipakai pada telepon
selular dibandingkan dengan finalis yang lainnya
pada saat itu.
Oleh karena itu, penulis mengusulkan
sebuah aplikasi pengamanan SMS menggunakan
algoritma RC6 pada mobile device berbasis
android.
2.
Short Message Service (SMS)
Short Message Service (SMS) merupakan
sebuah layanan yang banyak diaplikasikan pada
sistem komunikasi tanpa kabel, memungkinkan
dilakukannya pengiriman pesan dalam bentuk
teks. SMS didukung oleh GSM (Global System
For Mobile Communication), TDMA (Time
Division Multiple Access), CDMA (Code Division
Multiple Access) yang berbasis pada telepon
seluler yang saat ini banyak digunakan. [1]
SMS merupakan suatu fasilitas untuk
mengirim dan menerima suatu pesan singkat
berupa teks melalui perangkat komunikasi telepon
selular. Pada proses pengiriman SMS, SMS
tersebut tidak langsung dikirimkan dari mobile
phone pengirim ke mobile phone tujuan, akan
tetapi terlebih dahulu dikirim ke Short Message
Service Center (SMSC), kemudian dengan system
store and forward SMS tersebut dikirimkan ke
mobile phone tujuan. [2]
Secara umum sebuah telepon selular hanya
dapat melakukan pengiriman satu buah paket
SMS dalam satu pesan, namun dengan kemajuan
teknologi yang ada sekarang, beberapa telepon
selular mampu mengirimkan beberapa paket SMS
dalam satu pesan. Yang dilakukan telepon selular
agar dapat melakukan pengiriman beberapa paket
dalam satu kali pengiriman pesan adalah
melakukan konkatinasi, jadi sebenarnya hal yang
dilakukan sama dengan mengirimkan beberapa
pesan hanya saja dengan melakukan konkatinasi,
beberapa pesan yang disatukan tersebut dapat
terlihat menjadi satu buah pesan. Dengan adanya
fitur konkatinasi, sebuah SMS seolah-olah dapat
mengirim pesan dengan panjang lebih dari 160
karakter (7 bit karakter) dalam satu buah pesan,
namun pada fitur konkatinasi ini dibutuhkan
sebuah informasi tambahan pada pesan untuk
menyambungkan beberapa pesan menjadi satu
buah pesan, oleh karena itu panjang satu buah
pesan akan menjadi lebih kecil.
Pada sebuah aplikasi penerimaan SMS pada
telepon selular dikenal nomor port, nomor port ini
digunakan sebagai pengenal apabila terdapat dua
buah atau lebih aplikasi penerimaan SMS pada
sebuah telepon selular. Aplikasi penerimaan SMS
tersebut akan menunggu pesan yang ditujukan
pada nomor port tersebut. Untuk mengirimkan
pesan pada port yang spesifik, pengirim harus
menyertakan nomor port pada pesan yang
dikirimkannya. Jika pengirim tidak menyertakan
nomor port, seperti halnya yang dilakukan oleh
aplikasi standar setiap telepon selular, maka pesan
akan ditujukan ke aplikasi standar yang dimiliki
oleh telepon selular atau aplikasi yang memiliki
nomor port 0. Informasi nomor port tersebut
dibawa bersama paket pesan yang dikirimkan
oleh pengirim, oleh karena itu jika pengirim
menyertakan informasi nomor port tujuan, maka
panjang maksimal pesan yang dapat dikirimkan
akan berkurang karena sebagian terpakai oleh
informasi nomor port.
3.
Kriptografi
Keamanan data adalah suatu hal yang sangat
penting dan harus diperhatikan jika kita akan
melakukan pengiriman data dari satu pihak ke
pihak lainnya. Hal tersebut dilakukan karena
mungkin saja data yang dikirimkan tersebut dicuri
oleh pihak lain sebelum data tersebut sampai ke
pihak yang dituju, ataupun salah kirim secara
tidak sengaja ke tujuan yang salah. Oleh sebab
itu, data harus diamankan terlebih dahulu sebelum
dikirimkan agar data terlindungi dari pihak yang
tidak memiliki izin untuk membaca dan
mengetahui isi dari data yang dikirimkan tersebut.
Salah satu teknik pengamanan data yang umum
dilakukan adalah pengamanan dengan cara
mengubah data asli ke dalam bentuk yang tidak
terbaca dengan menggunakan seperangkat aturan
tertentu yang hanya diketahui oleh pihak pengirim
dan penerima, sehingga pihak lain yang tidak
berhak atas data tersebut akan menemui kesulitan
untuk mengetahui isi dari data yang sudah
diamankan tersebut. [3]
Dalam kriptografi suatu pesan yang akan
dirahasiakan
akan
disandikan
dengan
menggunakan suatu algoritma. Pesan yang telah
disandikan disebut plaintext dan pesan yang
sudah diacak atau disandikan disebut ciphertext.
Proses untuk mengkonversi plaintext menjadi
ciphertext disebut enkripsi (encrypt) dan proses
untuk mengembalikan plaintext dari ciphertext
disebut dekripsi (decrypt).
Dengan diagram blok, proses enkripsi dan
dekripsi dapat digambarkan pada Gambar 1
berikut : [4]
Gambar 1. Diagram Blok Proses Enkripsi dan
Dekripsi
Pada operasi enkripsi dan dekripsi
dibutuhkan suatu kunci yang gunanya untuk
519
Seminar Nasional Informatika 2015
menjaga kerahasiaan cara kerja dari algoritma
enkripsi dan dekripsi. Algoritma enkripsi yang
didasarkan pada kunci digolongkan menjadi dua
bagian :
a. Algoritma Simetrik (Symmetric Algorithms),
dimana kunci yang dipakai untuk proses
enkripsi maupun proses dekripsi sama.
Algoritma ini dapat disebut juga secret-key
algorithms atau one-key algorithms.
b. Algoritma
Asimetrik
(Asymmetric
Algorithms), dimana menggunakan kunci yang
berbeda yaitu kunci publik (public key) untuk
melakukan proses enkripsi dan kunci pribadi
(private key) untuk melakukan proses dekripsi.
[4]
RC6 adalah algoritma yang menggunakan
ukuran blok hingga 128 bit, dengan ukuran kunci
yang digunakan bervariasi antara 128, 192 dan
256 bit. Algoritma RC6 dilengkapi dengan
beberapa parameter, sehingga dituliskan sebagai
RC6-w/r/b. Parameter w merupakan ukuran kata
dalam satuan bit, parameter r merupakan bilangan
bukan negatif yang menunjukan banyaknya iterasi
selama proses enkripsi dan parameter b
menunjukan ukuran kunci enkripsi dalam byte.
Setelah algoritma ini masuk dalam kandidat AES,
maka ditetapkan bahwa nilai w = 32, r = 20 dan b
bervariasi antara 16, 24 dan 32 byte. [5]
4.
Untuk membangkitkan urutan kunci internal
yang akan digunakan selama proses enkripsi,
algoritma RC6 melakukan proses pembangunan
kunci yang identik dengan algoritma RC5, yang
membedakan hanyalah pada algoritma RC6,
jumlah word yang diambil dari kunci yang
dimasukan oleh pengguna ketika melakukan
enkripsi ataupun dekripsi lebih banyak. Tujuan
dari proses pembangunan kunci tersebut adalah
untuk membangun suatu array S yang berukuran
2r+4 dari kunci masukan pengguna sepanjang b
bytes
(0 ≤ b ≤ 255), array tersebut akan
digunakan baik dalam proses enkripsi maupun
dekripsi. Proses untuk membangun kunci-kunci
internal menggunakan dua buah konstanta yang
disebut dengan “magic constant”. Dua buah
magic constant Pw dan Qw tersebut didefinisikan
sebagai berikut :
Pw= Odd((e-2)2w) ... ......................... .. (1)
Qw= Odd(( -1)2w) ... .............................(2)
Di mana :
e = 2.7182818284859 (basis dari logaritma
natural)
=1.618022988749 (golden ratio)
Odd (x) adalah integer ganjil terdekat dari x, jika x
genap maka diambil integer ganjil setelah x.
Berikut adalah daftar magic constant pada
beberapa panjang blok dalam heksadesimal :
P16 = b7e1
Q16 = 9e37
P32 = b7e15163
Q32 = 9e3779b9
P64 = b7e151628aed2a6b
Q64 = 9e3779b97f4a7c15
Kunci yang dihasilkan oleh proses
pembentukan kunci ini memiliki sifat satu arah,
sehingga proses pembentukan kunci ini dapat
digunakan sebagai fungsi hash satu arah. Dengan
sifat satu arah tersebut, maka kunci internal akan
sangat berbeda dengan kunci yang dimasukkan
oleh pengguna, hal ini akan membuat hubungan
statistik antara kunci yang dimasukan oleh
pengguna dengan plaintext dan ciphertext menjadi
Mobile Device
Mobile Device merupakan piranti yang
berfungsi sebagai alat bantu (tool) bagi pengguna
untuk meminta informasi. Hasil dari informasi
yang diminta dapat berupa teks, suara, gambar
dan lain sebagainya. Piranti mobile yang dapat
digunakan bisa berupa PDA, smartphone, laptop.
Selain itu, piranti mobile dapat juga berfungsi
sebagai alat navigasi di kendaraan seperti halnya
alat navigasi berbasis GPS. Informasi yang
diinginkan dapat dicari melalui fasilitas untuk
mengakses internet seperti GPRS atau wireless.
Pada umumnya perangkat mobile atau Mobile
Device lebih praktis karena bersifat mudah
dibawa (portable) dari pada perangkat teknologi
lainnya.
Meningkatnya pemakaian piranti mobile
(Mobile Device) telah merevolusi kegiatankegiatan yang bersifat tradisional menjadi lebih
sederhana dan mudah dengan penggunaan
perangkat mobile. Mobilitas yang tinggi tidak
menjadi penghalang lagi, karena saat ini piranti
mobile sudah dapat mengakses server di pusat
data. Piranti mobile sekarang tidak hanya
berfungsi sebagai pencatat jadwal dan buku
alamat. Fungsi piranti mobile sudah berkembang
pesat dan idealnya siap mengganti dokumen
berbasis kertas.
5.
Algoritma RC6
Algoritma enkripsi RC6 adalah suatu
algoritma yang menggunakan kunci private,
mampu bekerja dengan panjang kunci yang
beragam dan mengunakan prinsip intered chiper.
Algoritma RC6 merupakan salah satu kandidat
Advanced Encryption Standard (AES) yang
diajukan oleh RSA Security Laboratories kepada
NIST. Dirancang oleh Ronald L Rivest, M.J.B.
Robshaw, R. Sidney dan Y.L. Yin, algoritma ini
merupakan pengembangan dari algoritma
sebelumnya yaitu RC5 dan telah memenuhi
semua kriteria yang diajukan oleh NIST.
520
5.1. Pembentukan Kunci Internal
Seminar Nasional Informatika 2015
lebih rumit karena dalam melakukan enkripsi,
kunci yang dipakai adalah kunci internal.
Pada pembentukan kunci internal digunakan
iterasi yang cukup banyak baik pada tahap satu, di
mana untuk melakukan ekspansi kunci
dibutuhkan iterasi, dan pada tahap dua, dimana
dibutuhkan iterasi untuk melakukan inisialisai
array serta pada tahap terakhir yang dibutuhkan
untuk menggabungkan dua buah array, yang
bahkan dilakukan selama tiga kali. Iterasi-iterasi
ini membutuhkan waktu yang cukup besar untuk
dilakukan.
5.2. Proses Enkripsi dan Dekripsi
Algoritma RC6 bekerja dengan empat
buah register A,B,C,D yang masing-masing
berukuran w-bit, register-register tersebut akan
diisi oleh plainteks yang kemudian akan
digunakan selama proses enkripsi dan setelah
proses enkripsi berakhir isi dari register-register
tersebut merupakan cipherteks. Byte pertama dari
plainteks atau cipherteks akan disimpan pada
least significant byte dari A dan byte terakhir dari
plainteks atau cipherteks disimpan pada most
significant byte dari D. Proses enkripsi dan
dekripsi algoritma RC6 menggunakan enam buah
operasi dasar :
a. a + b = penjumlahan integer modulo 2w
b. a - b = pengurangan integer modulo 2w
c. a ⊕ b = operasi bitwise exclusive-or sebesar
w-bit words
d. a * b = perkalian integer modulo 2w
e. a<<<b = rotasi sejumlah w-bit word ke kiri
sebanyak jumlah yang diberikan oleh least
sifnificant lg w bit dari b
f. a>>>b = rotasi sejumlah w-bit word ke kanan
sebanyak jumlah yang diberikan oleh least
sifnificant lg w bit dari b.
Langkah-langkah enkripsi algoritma RC6
secara detil adalah sebagai berikut :
a. Blok plainteks dibagi menjadi 4 bagian A, B,
C dan D yang masing-masing memiliki
panjang w bit atau panjang blok dibagi 4.
Kemudian B dan D dijumlahkan (dalam
modulo 2w) dengan kunci internal S[0] dan
S[1].
b. Selanjutnya pada setiap putaran dari 1 sampai
r, lakukan XOR dan pergeseran ke kiri
terhadap A dengan f(x) yang di geser ke kiri
sebanyak lg w, di mana f(x) = x* (2x+1) dan
x = B. Setelah itu melakukan penjumlahan
(dalam modulo 2w) dengan kunci internal. Hal
serupa dilakukan pula terhadap C dengan x =
D. Kemudian melakukan swapping A B, B C,
C D dan D A
c. Setelah iterasi selesai langkah terakhir adalah
melakukan penjumlahan (dalam modulo 2w)
terhadap A dan C dengan dua kunci internal
terakhir. Setelah semua selesai blok yang
terbagi menjadi 4 bagian disatukan kembali.
Algoritma RC6 termasuk kedalam iterated
cipher, kekuatan utama algoritma ini terletak pada
iterasi yang dilakukannya. Dengan dilakukannya
iterasi yang berulang ulang dengan menggunakan
kunci yang berbeda-beda, maka prinsip confusion
dan diffusion dilakukan secara berulang-ulang
pula, sehingga keamanan akan semakin baik.
Serangan yang paling baik untuk
memecahkan algoritma RC6 adalah serangan
dengan menggunakan exhaustive search yang
ditujukan kepada kunci yang dimasukkan oleh
pengguna atau kunci internal. Untuk serangan
yang lebih rumit seperti kriptanalisis differensial
dan linier, dapat digunakan untuk memecahkan
algoritma RC6 yang menggunakan jumlah rotasi
yang kecil, untuk jumlah rotasi 20 ke atas,
serangan ini tidak dapat bekerja dengan baik
karena sulitnya menemukan karakteristik iteratif
yang baik atau perkiraan linier.
6.
Perancangan
Masalah utama dari penelitian ini adalah
melakukan implementasi algoritma RC6 untuk
melakukan enkripsi SMS pada telepon selular.
Agar pesan dapat dikirimkan dengan baik, dalam
melakukan enkripsi, yang dienkripsi hanya bagian
message body saja karena jika bagian dari
message header dienkripsi, maka pesan tidak
akan disampaikan dengan baik. Sebagai contoh,
salah satu bagian dari message header adalah
nomor tujuan, apabila nomor tujuan ini dienkripsi,
maka nomor dapat menjadi tidak dikenali atau
berubah menjadi nomor lain sehingga pesan tidak
dapat dikirimkan atau salah mengirimkan.
6.1. Analisis Penerapan Enkripsi SMS
Algoritma RC6 merupakan algoritma yang
sederhana, fungsi yang digunakan merupakan
fungsi yang sederhana dan hanya mengandalkan
iterated cipher untuk keamanan.
prinsip
Sehingga, dalam implementasi untuk melakukan
enkripsi SMS pada telepon selular tidak
diperlukan adanya penanganan khusus
dalam
melakukan implementasi algoritma, yang perlu
diperhatikan dalam melakukan implementasi
algoritma RC6 untuk enkripsi SMS pada
telepon selular adalah menghindari pemakaian
memory yang berlebihan dan melakukan
penyesuaian aplikasi SMS terhadap algoritma
RC6.
Aplikasi yang akan dibangun merupakan
aplikasi pengiriman dan penerimaan pesan yang
berdiri sendiri. Hal tersebut berdasarkan
pertimbangan dimana aplikasi SMS standar tiap
jenis telepon selular tidaklah sama, panjang
sebuah karakter dapat beragam dan kemampuan
521
Seminar Nasional Informatika 2015
untuk melakukan konkatinasi tidak dimiliki oleh
semua jenis telepon selular dan juga tidak semua
aplikasi pengiriman SMS mengirimkan pesan
dalam bentuk binary.
Tampilan hasil enkripsi dan data hasil
enkripsi yang diterima harus diperhatikan, hal ini
dikarenakan pada data hasil enkripsi, setiap
karakternya akan memiliki panjang 8 bit,
sedangkan sebagian telepon selular hanya
dapat menampilkan karakter dengan panjang 7
bit. Untuk 128 karakter pertama pada karakter
ASCII dengan panjang 8 bit yang jarak
karakternya direpresentasikan
oleh bit-bit
00000000 sampai
01111111 akan dapat
ditampilkan oleh telepon selular karena bit MSB
yang bernilai 0 tidak akan dibaca, namun apabila
bit MSB tersebut bernilai 1, maka jika dipaksa
untuk ditampilkan sebagai karakter oleh telepon
selular, akan ditampilkan sebagai karakter dalam
format ucs2 atau unicode yang memiliki panjang
16 bit atau menjadi bernilai 2 byte. hal ini akan
sangat merugikan jika diimplementasikan untuk
SMS. Dengan pertimbangan tersebut, dalam
implementasi yang akan dilakukan, jika sebuah
pesan telah terenkripsi, maka, dalam pengiriman
pesan, pesan yang dikirim berupa pesan binary
yang terdiri dari byte-byte hasil enkripsi.
6.2. Analisis Spesifikasi
Perangkat Lunak
dan
Kebutuhan
Perangkat lunak yang akan dibangun
memiliki dua buah fitur utama, yaitu:
a. Melakukan enkripsi SMS pada telepon selular
dengan algoritma RC6. Pada perangkat lunak
yang akan dibangun, pengguna harus dapat
melakukan pembuatan SMS yang kemudian
dapat dienkripsi dan pesan SMS yang telah
terenkripsi tersebut harus dapat dikirimkan ke
tujuan dengan baik oleh perangkat lunak yang
akan dibangun.
b. Melakukan dekripsi dari SMS terenkripsi yang
diterima oleh telepon
selular dengan
algoritma RC6. Perangkat lunak harus dapat
menerima pesan yang telah terenkripsi dan
perangkat lunak juga harus dapat mendekripsi
dengan baik pesan yang telah terenkripsi
tersebut, jika kunci yang dimasukan benar.
Agar kedua fitur utama tersebut dapat
dipenuhi dan pengguna dapat menggunakan
sistem dengan mudah, maka perangkat lunak yang
akan dibangun memiliki beberapa kebutuhan
yang harus tersedia pada perangkat lunak
tersebut, kebutuhan fungsional perangkat lunak
tersebut, yaitu:
a. Sistem memiliki kemampuan untuk dapat
melakukan pengiriman pesan yang berbentuk
binary.
522
b. Sistem dapat melakukan enkripsi SMS dengan
menggunakan algoritma RC6.
c. Sistem harus dapat melakukan penyimpanan
pesan.
d. Dalam melakukan penyimpanan pesan, pesan
yang akan / sudah terkirim dengan pesan yang
diterima harus dapat dibedakan.
e. Sistem harus dapat menerima pesan.Untuk
dapat menerima pesan ini, system harus dapat
berjalan terus dan dapat memberikan
pemberitahuan jika pesan datang.
f. Sistem harus mampu melakukan dekripsi.
Pesan yang telah terenkripsi harus dapat
dikembalikan menjadi pesan semula jika
masukkan kunci dari pengguna benar.
g. Sistem memiliki fasilitas untuk melakukan
pemilihan properti algoritma RC6.
Selain kebutuhan fungsional di atas, aplikasi
yang akan dibangun harus dapat memenuhi
beberapa kebutuhan non-fungsional yang dapat
membantu
pengguna dalam menggunakan
aplikasi dan juga dapat memudahkan dalam
pengembangan lebih lanjut. Kebutuhan nonfungsional itu antara lain:
a. Sistem akan memiliki antar muka yang
menarik dan juga mudah untuk dimengerti.
b. Sistem akan memiliki menu bantuan agar
memudahkan dalam penggunaan.
c. Sistem mudah untuk dikembangkan lebih
lanjut. Untuk memenuhi hal ini, sistem
sebaiknya
dibangun
dengan
konsep
pemrograman berorientasi
objek, dengan
rancangan kelas yang baik.
6.2. Flowchart
Flowchart atau diagram alir adalah
sekumpulan simbol-simbol atau skema yang
menunjukkan atau menggambarkan rangkaian
kegiatan-kegiatan program dari mulai awal hingga
akhir. Adapun flowchart dari aplikasi enkripsi
dengan menggunakan algoritma RC6 yang
diterapkan untuk enkripsi SMS adalah :
Seminar Nasional Informatika 2015
a. Flowchart Menu Utama
Gambar 2. Flowchart Menu Utama
b. Flowchart Kirim Pesan
Dalam proses pembuatan aplikasi ini penulis
menggunakan software Eclipse Galileo.
Aplikasi ini diberi nama PengamananSMS,
menghasilkan file yaitu RC6SMS.apk. Pembuatan
program java dibuat melalui Eclipse, yang
kemudian disimulasikan dengan menggunakan
Eclipse Galileo. Eclipse Galileo
berfungsi
sebagai bahasa pemograman android project
sekaligus emulator android yang terinstal pada PC
untuk menguji coba hasil running dari program
java yang telah dibuat. Melalui program ini dari
folder bin diambil file .apk yang diaplikasikan ke
dalam android.
Untuk dapat menjalan aplikasi ini pada
handphone, user hanya perlu mentransfer file
.apk aplikasi ini melalui bluetooth atau kabel data
ke dalam memory handphone. Setelah itu install
aplikasi ke dalam handphone dan aplikasi siap
untuk dijalankan.
7.1. Tampilan Awal Aplikasi
Pada menu ini terdapat lima tombol yang
memiliki fungsi masing-masing yaitu, tombol
Tulis pesan berfungsi untuk menuju activity tulis
pesan. Tombol kotak masuk berfungsi menuju
activity Inbox. Tombol bantuan berfungsi menuju
activity Bantuan. Sedangkan tombol About
berfungsi menuju activity About dan tombol
Pengaturan Keamanan berfungsi menuju activity
Pengaturan Keamanan.Tampilanya adalah pada
Gmabar 4 :
Gambar 3. Flowchart Kirim Pesan
c. Flowchart Baca Pesan
Gambar 4. Tampilan Awal Aplikasi
Gambar 3. Flowchart Baca Pesan
7.
7.2. Tampilan Menu Tulis Pesan
Pada tab Tulis Pesan ini pengguna
diharapkan untuk memasukan nomor tujuan,
pesan yang ingin disampaikan, memasukan kunci
pesan, menekan tombol enkripsi kemudian bisa
akan muncul hasil enkripsi kemudian setelah
muncul hasil enkripsi pengguna dapat menekan
tombol kirim. Tampilan Tulis Pesan seperti
Gambar 6 berikut :
Implementasi
Implementasi dilakukan pada membuat
sebuah aplikasi bergerak (mobile application)
dengan memanfaatkan Java Android Project.
523
Seminar Nasional Informatika 2015
Gambar 5. Tampilan Menu Tulis Pesan
Program aplikasi Pengamanan SMS ini baik
digunakan untuk mengamankan SMS yang
penting sehingga tidak dapat dibaca oeh pihak
yang tidak diinginkan. Aplikasi ini cukup mudah
untuk digunakan oleh orang awam sekalipun
karena berisi perintah - perintah yang sederhana
dan mudah penginstalannya. Aplikasi ini masih
membutuhkan pengembangan agar aplikasi ini
tampil lebih menarik lagi.
8.
Kesimpulan
Dari pembahasan yang dilakukan diperoleh
kesimpulan sebagai berikut:
e. Penerapan algoritma kunci private untuk
enkripsi SMS pada telepon selular dapat
meningkatkan keamanan pada pesan yang
dikirim. Pesan yang terenkripsi tidak akan
dapat dibaca jika tidak didekripsi dengan
menggunakan kunci yang benar, sehingga
orang yang tidak mengetahui kunci yang
sebenenarnya tidak dapat membaca pesan
yang dikirimkan.
f. Algoritma RC6 dapat diimplementasikan
dengan baik untuk melakukan enkripsi SMS
yang bekerja pada jaringan GSM.
524
g. Kekurangan dari implementasi algoritma RC6
untuk enkripsi SMS adalah pesan yang
dikirimkan menjadi lebih besar karena harus
bekerja pada 8 bit dan dibutuhkan padding
untuk memenuhi panjang blok.
h. Semakin besar jumlah rotasi pada algoritma
RC6, maka tingkat keamanan akan semakin
baik, namun waktu yang diperlukan untuk
melakukan enkripsi dan dekripsi akan semakin
besar.
i. Program aplikasi ini hanya bisa dijalankan
pada handphone yang memiliki fitur Java.
j. Aplikasi ini hanya bisa dijalankan pada
handphone tujuan yang juga sudah terinstal
aplikasi dengan versi sama.
k. Aplikasi game ini hanya bisa dijalankan pada
mobile device yang memiliki sistem operasi
Symbian.
Daftar Pustaka:
[1] Yudi Wiharto, 2011, Sistem Informasi
Akademik Berbasis SMS Gateway, Jurnal
Teknologi dan Informatika (Teknomatika),
Palembang.
[2] Evi Mariani Harahap, 2012, Impelementasi
Kompresi Teks Menggunakan Metode
Huffman untuk MenghematKarakter pada
Short Message Service, Universitas Sumatera
Utara, Medan.
[3] Hartono, 2010, Aplikasi Pengamanan Data
Menggunakan Metode Skipjack, STMIK
IBBI, Medan.
[4] Semuil Tjiharjadi, 2009, Pengamanan Data
Menggunakan Metoda Enkripsi Einstein,
Seminar Nasional
Informatika
2009
(semnasIF 2009), Bandung.
[5] Defni, 2014, Enkripsi SMS (Short Message
Service) Pada Telepon Selular Berbasis
Android Dengan Metode RC6, Jurnal
Momentum, Politeknik Negeri Padang,
Padang.