A. PENDAHULUAN
1. Latar Belakang
Komunikasi adalah salah satu cara yang baik untuk menyampaikan perasaan,
ide-ide dan ekspresi. Proses penyampaian perasaan, ide-ide dan ekspresi disampaikan dari seseorang kepada orang lain, dalam situasi yang tertentu komunikasi
menggunakan sebuah media untuk merubah sikap atau tingkah laku seorang atau
sejumlah orang sehingga ada efek yang diharapkan, media yang digunakan berupa
surat, short message service (SMS), lukisan, gambar, grafik dan lain-lain.
Short message service (SMS) adalah bentuk-bentuk komunikasi yang paling
banyak diminati oleh pengguna smartphone Android. Permasalahan keamanan
muncul mengingat beberapa fasilitas transaksi dilakukan menggunakan media ini.
SMS pada awalnya dirancang untuk komunikasi dimana konten yang dikirimkan
adalah plaintext. Bagaimanapun data plaintext seperti ini dapat diketahui oleh
siapa saja yang memiliki akses ke sistem SMS. Server SMS milik operator
merupakan salah satu pihak yang dapat mengambil data ini, walaupun dalam
setiap perjanjian terdapat klausul tentang kerahasiaan data, akan tetapi data
plaintext yang terkirim dan berkasnya tersimpan di berbagai tempat baik di server
milik operator maupun milik content provider. Kemudahan dalam bertukar
informasi melalui SMS ini disalahgunakan oleh beberapa pihak, beberapa orang
dengan berbagai cara mencoba mencuturi informasi yang bukan hak mereka. Hal
ini tentunya akan sangat berbahaya untuk pengguna smartphone Android,
terutama bagi mereka yang sering mengirimkan data dan informasi rahasia
melalui SMS.
Karena itu, dibutuhkan suatu cara untuk mengamankan informasi yang
sifatnya penting atau rahasia. Dengan melakukan enkripsi terhadap teks SMS,
maka tingkat keamanan informasi dari pesan tersebut dapat ditingkatkan. Saat ini,
algoritma Blowfish merupakan algoritma kriptografi modern kunci simetris
berbentuk cipher block yang digunakan sebagai standar algoritma kriptografi
terbaru. Dengan memanfaatkan algoritma Blowfish ini, maka dapat dikembangkan suatu aplikasi SMS yang memungkinkan pengguna smartphone Android
untuk mengirimkan pesan singkat dengan enkripsi teks dan dapat melakukan
dekripsi terhadap pesan terenkripsi. Aplikasi SMS ini akan dibangun berbasis
mobile pada platform Android.
2.
Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan, maka yang menjadi
Tujuan
Tujuan dari penelitian Tugas Akhir ini yaitu menghasilkan suatu aplikasi
Batasan Masalah
Agar pembahasan dalam penelitian ini terarah dan tidak melebar. Maka,
permasalahan dibatasi pada :
1. Aplikasi ini hanya dapat mengenkripsi dan mendekripsi data berupa teks
SMS.
2. Aplikasi ini difokuskan untuk pengamanan SMS berbasis mobile pada
platform Android.
3. Proses enkripsi dan dekripsi teks SMS menggunakan algoritma Blowfish.
4. Aplikasi ini hanya dapat mengkompresi dan dekompresi jumlah karakter
SMS.
5. Aplikasi ini hanya dapat mengkompresi jumlah karakter SMS yang telah di
enkripsi dan dekompresi jumlah karakter SMS sebelum di dekripsi dengan
menggunakan algoritma Huffman.
5.
Manfaat Penelitian
Manfaat dari penelitian Tugas Akhir ini yaitu menghasilkan aplikasi enkripsi
dan dekripsi teks sms, dengan aplikasi ini maka pengguna smartphone dapat
mengirimkan suatu teks SMS yang berisi informasi rahasia tanpa takut diketahui
isi pesan tersebut oleh pihak-pihak yang tidak berhak.
6.
Pada penelitian ini memberikan perbandingan yang adil antara empat simetris
algoritma kunci yang paling umum digunakan: DES, 3DES, AES dan
Blowfish. Perbandingan telah dibuat berdasarkan parameter ini: putaran blok
ukuran, ukuran kunci, dan waktu enkripsi / dekripsi, waktu proses CPU dalam
bentuk throughput dan konsumsi daya. Hasil ini menunjukkan bahwa
blowfish lebih baik daripada algoritma lainnya.
2. Tahun 2013, Nishika dan Rahul Kumar Yadav dari PDM College of
Engineering Bahadurgarh, India menjelaskan dalam penelitiannya tentang
Cryptography on Android Message Applications A Review, bahwa Short
Message Service (SMS) adalah layanan komponen pesan teks dari telepon,
web, atau sistem komunikasi mobile yang menggunakan protokol komunikasi
standar dan memungkinkan pertukaran pesan teks singkat antara fixed line
atau perangkat ponsel. Keamanan SMS masih merupakan tugas yang
menantang.
Berbagai
algoritma
kriptografi
telah
diterapkan
untuk
mengamankan SMS.
3. Tahun 2013, Miss Kirti . P. Lokhande dan Prof. Avinash . P.Wadhe dari G.H.
Raisoni College of Engineering, Amravati, India menjelaskan dalam
penelitiannya tentang Security in Android File System, bahwa smartphone
dan tablet merupakan gadget terbaru. Perangkat ini mengandung Personal
Information diidentifikasi. Seorang penyerang bisa mendapatkan kontrol
penuh dengan menghubungkan perangkat komputer lain menggunakan kabel
USB. Dalam penelitian ini membahas file sistem yang aman dan terenkripsi
di sistem operasi Android dan mengoptimalkan kinerjanya menggunakan
sertifikat enkripsi algoritma Blowfish yang disediakan di OPENSSL.
B. TINJAUAN PUSTAKA
1.
Harganya murah.
terkirim
ke
tujuan
walaupun
nomor
tujuan
sedang
melakukan
pembicaraan(sibuk).
VMS (Voice Mail Service). VMS berfungsi untuk menerima, menyimpan dan
memainkan/memperdengarkan voice mail (pesan suara) yang ditujukan
kepada subscriber.
E-Mail. MS dapat juga mengirimkan SMS ke suatu alamat e-mail dan akan
diterima sebagai sebuah e-mail.
Bila sebuah SMS dikirimkan dari MS A ke MS B, maka SMS itu akan
10
bertanggung jawab dalam pemberian sumber data dan transmisi sinyal radio
elektromagnetis antara MSC dan mobile phone.
5. Home Location Register (HLR), basis data yang digunakan untuk
mengenai pelanggan yang berasal dari suatu HLR yang roaming ke HLR
lainnya.
11
b. Push Event based, yaitu pesan yang diaktivasi oleh aplikasi berdasarkan
kejadian yang berlangsung.
c. Push - Schedule, yaitu pesan yang diaktivasi oleh aplikasi berdasarkan waktu
yang telah terjadwal.
d. Push Personal Profile, yaitu pesan yang diaktivasi oleh aplikasi
berdasarkan profile dan preference dari pengguna.
12
Transceiver (TRX), bila client ingin dapat mengirim dan menerima paket
data.
2.
Kriptografi
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan
berita. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari
teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi
seperti kerahasiaan data, keabsahan data, integrasi data, serta autentifikasi. Tidak
semua aspek keamanan informasi ditangani oleh kriptografi. Kriptografi selalu
menjadi tugas penting.
Tujuan utama dari setiap kegiatan kriptografi adalah keamanan data, selain
bertujuan untuk meningkatkan keamanan, juga berfungsi untuk melindungi
pesan, data, atau informasi agar tidak dapat dibaca oleh orang yang tidak berhak,
mencegah agar orang orang yang tidak berhak menyisipkan atau menghapus
pesan, data, atau informasi ( Defni, 2014:66 ).
Dalam menjaga kerahasiaan data dengan kriptografi, data sederhana yang
dikirim (plainteks) diubah ke dalam bentuk data sandi (cipherteks), kemudian data
sandi tersebut hanya dapat dikembalikan ke bentuk data sebenarnya hanya dengan
menggunakan kunci (key) tertentu yang dimiliki oleh pihak yang sah saja.
Tentunya hal ini menyebabkan pihak lain yang tidak memiliki kunci tersebut tidak
akan dapat membaca data yang sebenarnya sehingga dengan kata lain data akan
tetap terjaga.
13
Integritas data (data integrity), yaitu memberikan jaminan bahwa untuk tiap
bagian pesan tidak akan mengalami perubahan dari saat data dibuat/dikirim
oleh pengirim sampai dengan saat data tersebut dibuka oleh penerima data.
Nirpenyangkalan
(non
repudiation),
yaitu
memberikan
cara
untuk
14
Pada sistem kriptografi simetri, kunci untuk proses enkripsi sama dengan
kunci untuk proses dekripsi. Keamanan sistem kriptografi simetri terletak pada
kerahasiaan kunci. Istilah lain untuk kriptografi simetri adalah kriptografi kunci
privat (private key cryptography) atau kriptografi konvensional (conventional
cryptography).
Kunci Private, K
Kunci Private, K
Enkripsi
Enkripsi
Plainteks, P
Cipherteks, C
E k (P) = C
Plainteks, P
D k (P) = C
bentuk
bit
tunggal
yang
dalam
hal
ini
rangkaian
bit
blok
(block
cipher) Algoritma
kriptografi
beroperasi
pada
plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit
dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya.
Cipher blok mengenkripsi satu blok bit setiap kali.
15
Pada sistem kriptografi asimetri, kunci untuk proses enkripsi tidak sama
dengan kunci untuk proses dekripsi. Istilah lain untuk kriptografi asimetri adalah
kriptografi kunci publik (public key cryptography), sebab kunci untuk enkripsi
tidak rahasia dan dapat diketahui oleh siapapun, sementara kunci untuk dekripsi
hanya diketahui oleh penerima pesan.
Kunci Private, SK
Kunci Public, PK
Enkripsi
Plainteks, P
E pk (P) = C
Enkripsi
Cipherteks, C
Plainteks, P
D sk (P) = C
16
3. Sederhana.
Blowfish
dirancang
hanya
menggunakan
operasi-operasi
17
Empat buat kot ak-S dengan ukuran 32 bit mempunyai entry sebanyak 256
buah. Kotak-kotak tersebut adalah:
S1,0, S1,1, . . . , S1,255
S2,0, S2,1, . . . , S2,255
S3,0, S3,1, . . . , S3,255
S4,0, S4,1, . . . , S4,255
operasi XOR antara P2 dengan 32 bit kunci berikutnya, dan begitu seterusnya
untuk semua bit pada kunci (hingga P18). Ulangi langkah ini melalui
perputaran bit-bit kunci hingga seluruh elemen pada P-array telah dilakukan
operasi XOR dengan bit-bit kunci.
3. Lakukan proses enkripsi terhadap string dengan keseluruhan elemen nol
18
7. Lanjutkan proses mengubah semua elemen yang terdapat pada P-array, dan
kemudian keempat kotak-S secara berurutan, dengan hasil keluaran algoritma
Blowfish yang terus menerus berubah.
Secara keseluruhan terdapat 521 iterasi atau putaran yang dibutuhkan untuk
membangkitkan seluruh subkunci yang dibutuhkan. Aplikasi kemudian dapat
STAR
T
menyimpan subkunci
P(1) - P(18)
terdiri
dari <16> S-Box
buah (1,255)
putaran. Skema jaringan Feistel pada algoritma Blowfish
S-Box (1,0)
S-Boxdilihat
(2,0) < pada
> S-Box
(2,255) 2.5. Masukan terhadap jaringan Feistel ini adalah x,
dapat
Gambar
S-Box (3,0) < > S-Box (3,255)
For j = 0
To 255
step 2
,)
For i = 1 To
18
S-Box (i,j) =
S-Box (i,j + 1) =
For N = 1 To
18 step 2
,)
P (N+1) =
19
20
S-BOX 1
= XOR
S-BOX 2
= SUM
32 BIT
S-BOX 3
32 BIT
S-BOX 4
21
Blowfish adalah algoritma yang menerapkan jaringan feistel yang terdiri dari
16 putaran. Inputnya merupakan elemen 64 bit, X (plaintext) dan outputnya
adalah ciphertext dengan elemen 64 bit. Untuk proses enkripsi dapat dilakukan
sebagai berikut :
1. Bagi X menjadi setengah bagian, yaitu dengan ukuran 32 bit. Hasil
pembagian ini adalah : XL, XR
2. Lakukan langkah-langkah berikut dalam 16 putaran:
XL = XL xor Pi
XR = F(XL) xor XR
Tukar XL dan XR
Keterangan : untuk i = 1 sampai 16 ( menunjukkan nomor putaran)
3. Tukar XL dan XR (membatalkan pertukaran terakhir)
4. XR = XR xor P17
5. XL = XL xor P18
6. Kombinasikan kembali XL dan XR
END
STAR
T
XOR
XOR
XOR
XOR
Y
i < 16
22
23
END
STAR
T
XOR
XOR
XOR
XOR
Y
i < 16
Algoritma Huffman
Algoritma Huffman, yang dibuat oleh seorang mahasiswa MIT bernama
David Huffman pada tahun 1952, merupakan salah satu metode paling lama dan
paling terkenal dalam kompresi teks. Kode Huffman salah satu algoritma dasar
untuk kompresi data, yang bertujuan untuk mengurangi jumlah bit yang
diperlukan untuk merepresentasikan informasi/pesan ( Amrullah, dkk. 2008:3 ).
Algoritma Huffman menggunakan prinsip tiap karakter (simbol) dikodekan hanya
dengan rangkaian beberapa bit, dimana karakter yang sering muncul dikodekan
dengan rangkaian bit yang pendek dan karakter yang jarang muncul dikodekan
Plaintext
24
Metode Huffman Statis Metode ini tergantung pada probabilitas dari setiap
simbol yang hadir pada suatu data (pesan). Berdasarkan probabilitas tersebut
kemudian dibentuk daftar kode untuk setiap simbol dengan ketentuan karakter
yang paling sering muncul di dalam data dikodekan dengan kode yang jumlah
bitnya lebih sedikit, sedangkan karakter yang jarang mucul dikodekan dengan
kode yang jumlah bitnya lebih panjang.
Contoh: Kode ASCII string 4 huruf ALAM membutuhkan representasi
4 8 bit = 32 bit, dengan rincian sebagai berikut: A = 01000001 L = 01001100 A
= 01000001 M = 01001101. Pada string di atas, frekuensi kemunculan A = 2, L =
1 dan M= 1.
simpul yang terletak dengan frekuensi lebih kecil diberi nilai 1. Untuk frekuensi
yang sama besar maka simpul yang terletak pada cabang kiri diberi nilai 0 dan
untuk simpul yang terletak pada cabang kanan diberi nilai 1.
25
26
C. METODOLOGI
Adapun metodologi yang digunakan dalam penelitian tugas akhir ini
menggunakan spesifikasi alat dan flowchart sebagai berikut :
1.
Spesifikasi Alat
27
2.
Flowchart
Metodologi yang digunakan dalam penelitian tugas akhir ini secara umum
yaitu pengirim pesan dapat mengenkripsi dan mengkompres pesan yang akan
dikirim melalui layanan sms. Karena pesan yang diterima dalam keadaan
terkompresi dan terenkripsi, maka harus ada pendekompresi dan pendekripsi
1
START
Masukkan Kunci
Private
STAR
T
Terima Pesan Baru
Enkripsi Pesan
x / 2 = dan
= XOR ; = F (XOR
Masukkan Kunci
For i < 16
Private
Y
Bangkitkan Kunci
Dekompresi Pesan
Inisialisasi P-Array
dan keempat
Mengubah rangkaian bit
kode
S-Box.
Huffman menjadi teks sesuai
tabel huffman
Kunci = True
?
T
Kompresi
?
Alert Kunci
Salah !
T
Y
Ganti tiap karakter dengan kode
Huffman sesuai tabel Huffman
=0; =0
Dekripsi Pesan
P (N) = ; P (N+1) =
For N = 1 To 18
xGambar
/ 2 = dan 3.1. Blok Diagram
= XOR ; = F (XOR
For i < 16
S-Box (i,j) =
TampilkanS-Box
Pesan (i,j + 1) =
END
Kirim Pesan
28
3.
Huffman yang telah ada, kode Huffman ini terdiri atas awalan dan badan. Awalan
dan badan merupakan pengelompokan agar tabelnya lebih kompleks dan rapi.
Tabel 3.1. Tabel Statis Kode Huffman
Karakter
Spasi
a
b
c
d
e
f
g
h
i
j
k
l
m
Awalan
101
0
Badan
1
0
00100
0101000
0000
0001
110001
00101
01011
0011
10100
10101
0100
0110
Ubahan
1011
1010
000100
00101000
00000
00001
0110001
000101
001011
00011
010100
010101
00100
00110
29
n
o
p
q
r
s
t
u
v
w
x
y
z
0
1
2
3
4
5
6
7
8
9
@
/
:
(
)
Sisa huruf
.
,
?
!
A
B
G
H
J
K
O
P
111
111
110
111
10110
10111
0101001
0111
1000
1001
1101
0101010
0101011
1100000
11001
011001
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1111
1110
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
0111X
010110
010111
00101001
00111
01000
01001
01101
00101010
00101011
01100000
011001
01100001
1110000
1110001
1110010
1110011
1110100
1110101
1110110
1110111
1111000
1111001
1111010
1111011
1111100
1111101
1111111
1111110
1100000
1100001
1100010
1100011
1100100
1100101
1100110
1100111
1101000
1101001
1101010
1101011
1101100
1101101
1101110
30
Y
C
D
E
F
I
L
M
N
Q
R
S
T
U
V
W
X
Z
1111
0000
0001
0010
0011
0100
0101
0110
111
11000
0111
1000
1001
1010
11001
1011
11010
11011
100
1101111
1000000
1000001
1000010
1000011
1000100
1000101
1000110
100111
10011000
1000111
1001000
1001001
1001010
10011001
1001011
10011010
10011011
Kegiatan
Bulan
I
1.
Persiapan Infrastruktur
2.
Perancangan Aplikasi
Perancangan Unified Modeling
3.
Language (UML)
4.
5.
Pembuatan Aplikasi
II
III
IV
VI
31
6.
7.
8.
9.
Pengujian Aplikasi
Analisis Data
Pembuatan Laporan Dan Sidang
Revisi Dan Jilid Laporan Akhir
DAFTAR PUSTAKA
Amrullah, Ata. dkk. Kompresi dan Enkripsi SMS dengan Metode Huffman Code
dan Algoritma Enigma. Surabaya : Politeknik Negeri Surabaya.
Anjari, Becik Gati. Enkripsi SMS (Short Message Service) Pada Telepon Selular
Berbasis Android. Surabaya : Institut Teknologi Sepuluh Nopember.
Apriani, Fitri. 2014. Aplikasi Chatting dengan Sistem Enkripsi Menggunakan
Algoritma Blowfish Berbasis Android. Tanjung Pinang : Universitas Maritim
Raja All Haji.
Dafid. 2006. Kriptografi Kunci Simetris dengan Menggunakan Algoritma
Crypton. Palembang : STMIK MDP.
Defni, Indri Rahmayun. 2014. Enkripsi SMS (Short Message Service) pada
Telepon Selular Berbasis Android dengan Metode RC6. Padang : Politeknik
Negeri Padang.
Lokhande, Miss P. dan Wadhe, Avinash P. 2013. Security in Android File System.
India : G.H. Raisoni College of Engineering.
Mandal, Pratap Chnadra. Superiority of Blowfish Algorithm. India : B. P. Poddar
Institute of Management & Technology.
Nishika and Yadav, Rahul Kumar. 2013. Cryptography on Android Message
ApplicationsA Review. India : PDM College of Engineering Bahadurgarh.
32