Penerapan
Algoritma RC6 Untuk Ekripsi
SMS
Telepon Seluler
Jamaluddin
Program
studi Teknik Informatik, Universitas Malikussaleh
Email : addinmc@gmail.com
SMS merupakan suatu layanan yang diberikan oleh telepon selular kepada
penggunanya untuk melakukan komunikasi melalui pengiriman pesan singkat dengan
biaya yang murah. SMS sangatlah populer, selain dikarenakan biayanya yang
murah, pesan yang dikirimkan dapat diterima oleh penerima dengan baik dan
cepat. Namun komunikasi melalui media SMS ini bukanlah komunikasi
point-to-point, pesan yang dikirimkan melalui media SMS tidak langsung sampai
pada tujuan, melainkan melalui jaringan SMS. Pada jaringan SMS tersebut,
keamanan pesan sangatlah terancam untuk dibaca oleh orang yang tidak
bertanggung jawab. Perangkat lunak yang dibangun meningkatkan keamanan pesan
dengan melakukan enkripsi terhadap pesan yang dikirimkan. Perangkat lunak yang
dibangun menggunakan algoritma RC6 untuk melakukan enkripsi SMS agar keamanan
pesan dapat ditingkatkan. Algoritma RC6 adalah suatu algoritma kunci privat
yang dikenal dengan kesederhanaannya. Algoritma RC6 merupakan algoritma dengan
parameter yang dapat bekerja pada panjang kunci yang beragam. Untuk aspek
keamanannya, algoritma RC6 mengutamakan prinsip intered cripher.
cipher.
.
Kata Kunci: SMS, RC6, iterated cipher,
enkripsi, dekrip.
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
diantaranya 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).
Komponen yang digunakan oleh GSM dalam melakukan komunikasi SMS diantaranya:
a. Mobile
Station merupakan perangkat mobile yang dapat melakukan pengiriman
SMS.
b. ESME (External Short Messaging Entities)
merupakan suatu perangkat yang dapat mengirimkan dan menerima SMS, pada
umumnya menggunakan jaringan Internet.
c. BS (Base Station) menjadi antar muka
antar jaringan komunikasi nirkabel dengan mobile station.
d. MSC (Mobile Service Switching Center)
merupakan komponen utama pada pengontrolan pertukaran informasi informasi yang
terjadi pada jaringan selular.
e. Register-register yang diantaranya adalah HLR
(Home Location Register) dan VLR (Visitor Location Register).
f. SMSC (Short Message Service Center) merupakan
tempat di mana SMS disimpan sebelum dikirimkan ke tujuan.
Untuk lebih jelas mengenai
jaringan SMS dapat dilihat pada Gambar 1 yang di mana interaksi antara mobile
station dan jaringan tersebut adalah melalui BS.
Gambar
1 Jaringan SMS [ENC05]
Celah keamanan
terbesar pada komunikasi SMS adalah pesan yang dikirimkan akan disimpan pada
SMSC, sehingga apabila terjadi serangan pada SMSC, maka pesan yang terkirim
dapat terbaca. Salah satu cara menaggulangi celah tersebut adalah dengan
melakukan enkripsi terhadap pesan yang dikirimkan. Dengan semakin majunya
teknologi telepon selular, implementasi suatu algoritma enkripsi menjadi
mungkin. Algoritma RC6 yang dirancang oleh Ronald L. Rivest, M.J.B. Robshaw, R.
Sidney, dan Y.L. Yin merupakan salah satu algoritma yang menjadi finalis kandidat
untuk menjadi AES. Walaupun pada akhirnya algoritma ini tidak menang dalam
kompetisi tersebut, namun algoritma ini cukup diakui kesederhanaannya sehingga
menjadi mungkin diimplementasikan untuk enkripsi SMS pada telepon selular.
2. LANDASAN
TEORI
2.1. Struktur
Pesan SMS
Struktur pesan pada sebuah paket SMS dapat
dilihatpada Gambar II-1 yang diadopsi dari [CLE03].
gambar 2.1 Struktur
Pesan SMS
Pada Gambar II-1
dapat terlihat bahwa pada sebuah paket pesan SMS terdiri dari header dan body.
Header pesan terdiri dari instruksi-instruksi kepada komponen-komponen yang
bekerja dalam jaringan SMS. Pada instruksi-instruksi tersebut, terdapat
informasi yang diperlukan selama pengiriman pesan seperti informasi validitas
pesan, dan informasi informasi lainnya. Pada bagian message body, terdapat isi
dari pengirim pesan yang akan dikirimkan. Panjang isi pesan pada sebuah paket
SMS berukuran maksimal 160 karakter, dimana setiap karakter memiliki panjang 7
bit. Beberapa aplikasi standar telepon selular dapat mendukung panjang pesan
dengan karakter sepanjang 8 bit (panjang pesan maksimum 140 karakter) dan
karakter yang lebih panjang lainnya seperti 16 bit, namun karakter sepanjang 8
bit dan 16 bit ini tidak didukung oleh semua aplikasi standar telepon selular.
Pada umumnya karakter sepanjang 8 bit dan 7 bit digunakan untuk menampilkan
data seperti gambar dan simbol[PET07].
2.2 Algoritma RC6[RIV98]
Algoritma RC6
adalah suatu algoritma kriptografi block cipher yang dirancang oleh Ronald L.
Rivest, Matt J.B. Robshaw, Ray Sidney, dan Yuqin Lisa Yin dari RSA
Laboratories. Algoritma ini pada mulanya dirancang untuk menjadi AES (Advance
Encryption Standard). Algoritma RC6 ini berhasil menjadi finalis dan menjadi
kandidat kuat untuk menjadi AES walaupun pada akhirnya algoritma ini tidak
terpilih menjadi AES melainkan algoritma rinjdael. Versi 1.1 dari RC6 mulai
dipublikasikan pada tahun 1998. Dasar desain dari algoritma RC6 ini didasarkan
pada pendahulunya yaitu algoritma RC5. Algoritma RC6 merupakan algoritma dengan
parameter penuh, algoritma RC6 dispesifikasikan dengan notasi RC6-w/r/b. Dimana
w adalah ukuran dari word dalam bit, karena pada RC6 menggunakan 4 buah
register maka word adalah ukuran blok dibagi 4. r adalah jumlah iterasi, dimana
r tidak boleh negatif. Dan b adalah panjang kunci dalam bytes. Pembentukan
kunci internal yang akan digunakan pada proses enkripsi dan dekripsi dari algoritma
RC6 menggunakan pembentukan kunci internal dari algoritma RC6. 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)………………(2.1)
Qw=Odd((Ø1)2w)………………(2.2)
Dimana :
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
Dengan
menggunakan dua buah magic constant tersebut, pembangunan kunci terdiri dari
tiga tahap :
1.
Konversi
kunci rahasia dari bytes ke words
if c=0 then
cß1
endif
for I ßb-1 downto 0 do
L[i/u] ß (L[i/u]<<<8) +
K[i]
Endfor
Dimana c = pembulatan keatas(b/u)
dan u = w/8
2.
Inisialisasi
array S
S[0] ß Pw
for i ß 0 to 2r+3
do
S[i] ß S[i-1]+ Qw
Endfor
3.
Mencampurkan
L dan S
iß0
jß0
Aß0
Bß0
Vß3*max(c,2r+4)
for indexß1 to v do
S[i] ß (S[i]+A+B)
<<< 3
AßS[i]
L[j] ß (L[j]+A+B)
<<< (A+B)
BßL[j]
iß (i+1)mod(2r+4)
jß (j+1)mod c
endfor
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
registerregister tersebut merupakan cipherteks. Proses enkripsi dan dekripsi
algoritma RC6 menggunakan enam buah operasi dasar:
a+b = penjumlahan
integer modulo 2w
a - b=pengurangan
integer modulo 2w
aÅb=operasi bitwise
exclusive-or sebesar w-bit words
a*b = perkalian
integer modulo 2w
a<<<b=rotasi
sejumlah w-bit word ke kiri sebanyak jumlah yang diberikan oleh least
sifnificant lg w bit dari b
a>>>b=rotasi
sejumlah w-bit word ke kanan sebanyak jumlah yang diberikan oleh least
sifnificant lg w bit dari b
Dimana lg w adalah
logaritma basis dua dari w.
Proses enkripsi algoritma RC6
adalah sebagai berikut:
Prosedure Enkripsi
(Input :Plainteks dalam
A,B,C,D
r : integer (jumlah rotasi)
S[0..2r+3] : kunci internal
Output :Cipherteks
dalam A,B,C,D)
Kamus
u
: integer
t
: integer
Algoritma
B
ß
B + S[0]
D
ß
D + S[1]
for i ß 1 to r do
t
ß
(B * (2B + 1))<<<lg w
u
ß
(D * (2D + 1))<<<lg w
A
ß
((A Å
t)<<<u) + S[2i]
C
ß
((C Å
u)<<<t) + S[2i+ 1]
(A,B,C,D)
ß
(B,C,D,A)
endfor
A ß A + S[2r + 2]
C ß C + S[2r + 3]
Atau dapat dilihat pada Gambar
2 dengan f(x)=x*(2x+1).
Proses dekripsi dari algoritma
RC6 adalah sebagaiberikut:
Prosedure Dekripsi
(Input :Cipherteks dalam
A,B,C,D
r : integer (jumlah rotasi)
S[0..2r+3] : kunci internal
Output :Plainteks dalam
A,B,C,D)
Kamus
u
: integer
t
: integer
Algoritma
C
ß
C - S[2r + 3]
A
ß
A - S[2r + 2]
for i ß r downto 1
do
(A,B,C,D)
ß
(D,A,B,C)
u
ß
(D * (2D + 1))<<<lg w
t
ß
(B * (2B + 1))<<<lg w
C
ß
((C - S[2i+ 1])>>>t) ß u
A
ß
((A - S[2i])>>>u) ß t
endfor
D ß D - S[1]
B ß B - S[0]
Atau dapat dilihat pada Gambar
3 dengan f(x)=x*(2x+1).
Gambar 3 Proses Dekripsi RC6
3.
PENERAPAM
3.1. Penerapan
Algoritma RC6
Salah mode
penerapan Algoritma RC6 untuk enkripsi Pesan adalah mode ECB, mode ini adalah mode yang
paling sederhana dan sering digunakan. Dalam block cipher dibutuhkan
metode pemrosesan blok dan mode ECB yang memproses setiap blok secara
independen akan memerlukan jumlah memori yang sedikit dan waktu pemrosesan yang
singkat. Karakter yang dapat digunakan pada SMS beragam, sebuah karakter dapat
memiliki panjang 7 bit, 8 bit atau 16 bit, sebuah pesan tidak dapat memiliki karakter
dengan panjang yang beragam, hal ini harus diperhatikan dalam melakukan
perancangan algoritma enkripsi. Jika panjang karakter yang digunakan menggunakan
panjang 7 bit, maka akan menimbulkan masalah karena pada algoritma RC6 terdapat
“lg w” dimana merupakan logaritma basis dua dengan w adalah
panjang word, jika yang digunakan kerakter dengan panjang 7 bit, maka
panjang word akan menjadi kelipatan 7 sehingga tidak akan ditemukan bilangan
bulat dari “lg w”. Atas dasar pertimbangan tersebut
3.2
Penerapan Enkripsi SMS
Hal yang harus
di perhatikan dalam penerapan ini tersebut adalah aplikasi SMS standar tiap
jenis telepon selular tidaklah sama, panjang sebuah karakter dapat beragam dan
kemampuan untuk melakukan konkatinasi tidak dimiliki oleh semua jenis
teleponselular dan juga tidak semua aplikasi pengiriman SMS mengirimkan pesan
dalam bentuk binary. Penerimaan pesan akan melalui nomor port tersebut
dan pengiriman pesan akan selalu ditujukan pada nomor port tersebut.
nomor port ini akan menyebabkan panjang pesan berkurang karena informasi
nomor port tersebut akan dikirimkan. Pemakaian nomor port ini
juga akan menyebabkan aplikasi dapat berdiri sendiri namun tidak akan dapat
menerima pesan jika diimplementasikan pada telepon selular yang menggunakan
kartu SIM berjenis CDMA. Nomor port tersebut dibawa pada UDH (User
Data Header) pada paket data SMS, yang dimana UDH tersebut tidak
terdapat pada paket data SMS pada CDMA. jika sebuah pesan telah terenkripsi, maka,
dalam pengiriman pesan, pesan yang dikirim berupa pesan binary yang
terdiri dari byte-byte hasil enkripsi.
1.
KESIMPULAN
Dari keseluruhan isi jurnal ini,
dapat diambil kesimpulan sebagai berikut:
1.
Penerapan
algoritma kunci privat untuk enkripsi SMS pada telepon selular dapat meningkatkan
keamanan. 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.
2.
Algoritma
RC6 dapat diterapkan dengan baik untuk
melakukan enkripsi SMS yang bekerja pada jaringan GSM dengan mengirimkan pesan
yang berbentuk binary.
3.
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.
4.
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.
5. SARAN
1. Agar pesan terenkripsi yang dikirimkan memiliki
panjang pesan yang sama dengan plainteks yang ditulis oleh pengirim, sebaiknya
diterapkan sebuah algoritma kompresi untuk melakukan kompresi pesan.
2. Algoritma enkripsi yang diterapkan sebaiknya
dapat menangani panjang karakter yang memiliki panjang 7 bit untuk melakukan
enkripsi SMS. Pada dasarnya panjang karakter pada SMS adalah 7 bit oleh karena
itu agar SMS yang dikirimkan tidak mengalami penambahan panjang sebaiknya digunakan
suatu algoritma enkripsi yang mampu menangani karakter sepanjang 7 bit.
DAFTAR
PUSTAKA
Halim. Abdul, (2007) Penerapan Kriptografi dan Asimetri untuk mengamankan
multimedia messaging service (MMS) http://www.digilib.itb.ac.id
Yudi Haribowo, Pengamanan Situs dengan Enkripsi Head dan Body HTML Menggunakan Algoritma RC4,
http://
www.if.itb.ac.id
Kautzar Mohammad
Gilang, Implementasi
sistem enkripsi pengirim pesan instan java dengan algoritma, RC4 http:// www.if.itb.ac.id
Jati Sasongko,(2005), Pengamanan
Data Informasi menggunakan Kriptografi Klasik, http://www.
unisbank.ac.id
No comments:
Post a Comment