PERANCANGAN APLIKASI KEAMANAN DATA EMAIL MENGGUNAKAN ALGORITMA ENKRIPSI RC6 BERBASIS ANDROID

Seminar Nasional Informatika 2014

PERANCANGAN APLIKASI KEAMANAN DATA EMAIL
MENGGUNAKAN ALGORITMA ENKRIPSI RC6
BERBASIS ANDROID
Muhammad Zulham1, Helmi Kurniawan2, Iwan Fitrianto Rahmad3
Jurusan Teknik Informatika, STMIK Potensi Utama
Jl. K.L. Yos Sudarso Km. 6.5 No.3-A, Tanjung Mulia, Medan, Indonesia
Email : joi.am116@gmail.com1

Abstrak
Masalah pengiriman data email ataupun pesan telah menjadi masalah penting pada era teknologi informasi
seperti sekarang ini. Terkadang data-data ini harus bersifat rahasia agar tidak diketahui secara umum. Apabila
data tersebut diketahui, maka data tersebut dapat disalahgunakan untuk kejahatan oleh orang lain. Kriptografi
merupakan salah satu alat keamanan yang digunakan untuk menyembunyikan suatu pesan. Kriptografi sudah
digunakan di segala bidang keamanan. Untuk itu perlunya sebuah keamanan dengan cara enkripsi dan
dekripsi data email menggunakan algoritma kriptografi Rivest Code 6 (RC6). Dalam algoritma kriptografi
Rivest Code 6 (RC6), juga dirancang untuk memenuhi persyaratan AES yang diantaranya adalah kemampuan
untuk beroperasi pada mode blok 128 bit. Jika besar blok 128 bit langsung dipaksakan untuk
diimplementasikan dengan algoritma RC5, maka akan dibutuhkan register kerja 64 bit. Spesifikasi arsitektur
dan bahasa yang menjadi tempat implementasi algoritma yang ditentukan oleh AES belum mendukung

pengoperasian 64 bit yang efisien. Oleh karena itu, daripada menggunakan 2 register 64 bit seperti pada RC5,
RC6 menggunakan 4 register 32 bit. Karena menggunakan 4 register maka akan terdapat 2 operasi rotasi
pada setiap half-round yang ada, dan juga akan lebih banyak bit-bit yang akan digunakan untuk
mempengaruhi banyaknya bit yang dirotasi. Operasi perkalian ini sangat efektif dalam menghasilkan efek
“diffusion” atau penyebaran yang tentu saja mengakibatkan RC6 lebih aman. Aplikasi yang dihasilkan
berbasis android dengan memanfaatkan teknologi terbaru.
Kata Kunci : Keamanan Data, Kriptografi, Rivest Code 6
1.

Pendahuluan

Kriptografi (Cryptography) berasal dari
bahasa Yunani yaitu “Cryptos” artinya “secret”
(rahasia) dan “graphein” artinya “writing”
(tulisan). Jadi, kriptografi berarti “secret writing”
(tulisan rahasia). Definisi yang dikemukakan
dalam [SCH96] : Kriptografi adalah ilmu dan seni
untuk menjaga keamanan pesan. (Cryptography is
the art and sience of keeping message secure).
Terdapat pula definisi yang di kemukakan

di dalam [MEN96] : Kriptografi adalah ilmu yang
mempelajari teknik-teknik matematika yang
berhubungan dengan aspek keamanan informasi
seperti kerahasiaan, integritas data, serta
otentikasi.
(Rinaldi Munir, 2006:3) dalam bukunya
menjelaskan, data atau informasi yang dapat
dibaca dan dimengerti maknanya disebut
plaintext. Plaintext yang tersandi disebut
ciphertext.
Ciphertext
harus
dapat
ditransformasikan kembali menjadi plaintext
semula agar pesan yang diterima bisa dibaca.
Proses menyandikan plaintext menjadi ciphertext
disebut enkripsi disebut enkripsi (encryption) atau
enciphering (standard nama menurut ISO 74982). Sedangkan proses mengembalikan ciphertext

96


menjadi plaintext semula dinamakan dekripsi
(decryption) atau deciphering (standard nama
menurut ISO 7498-2).
Algoritma kriptografi (cipher) dapat dibedakan
menjadi dua macam, yaitu: simetrik dan
asimetrik. Algoritma simetrik (model enkripsi
konvensional)
adalah
algoritma
yang
menggunakan satu kunci untuk proses enkripsi
dan dekripsi data, contohnya adalah RC2, RC4,
RC5, RC6, DES, Blowfish, GOST, AES dan lainlain. Sedangkan algoritma asimetrik (model
enkripsi kunci publik) menggunakan kunci yang
berbeda dalam proses enkripsi dan dekripsi pesan,
contoh dari algoritma ini adalah RSA, El Gamal.
Berikut gambar kunci simertis dan
gambar kunci asimetris :


Gambar 1. Kunci simetris

Seminar Nasional Informatika 2014

Gambar 2. Kunci asimetris
Operator biner yang sering digunakan
dalam cipher yang beroperasi dalam mode bit
adalah XOR atau exlusive-or. Notasi matematis
untuk operator XOR adalah ⊕ (dalam bahasa C,
operator XOR dilambangkan dengan ^). Operator
XOR dioperasikan pada dua bit dengan aturan
sebagai berikut : (Rinaldi Munir, 2006:99)
0⊕0=0
0⊕1=1
1⊕0=1
1⊕1=0
Misalkan a, b, c adalah peubah Boolean.
Hukum-hukum yang terkait dengan operator
XOR :
1) a ⊕ a = 0

2) a ⊕ b = b ⊕ a
3) a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c
Algoritma RC6 merupakan salah satu
kandidat Advanced Encryption Standard (AES)
yang diajukan oleh RSA Laboratoriest 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. RC6
dirancang
untuk
menghilangkan
segala
ketidakamanan yang ditemukan pada RC5, karena
analisis pada RC5 menunjukkan bahwa ternyata
jumlah rotasi yang terjadi pada RC5 tidak
sepenuhnya bergantung pada data yang terdapat
dalam blok. Selain itu, serangan kriptanalisis
diferensial juga ternyata dapat menembus

keamanan yang ditawarkan RC5. (Yudi Prayudi
dan Idham Halik, 2005 : 153)
RC6 juga dirancang untuk memenuhi
persyaratan AES yang diantaranya adalah
kemampuan untuk beroperasi pada mode blok
128 bit. Jika besar blok 128 bit langsung
dipaksakan untuk diimplementasikan dengan
algoritma RC5, maka akan dibutuhkan register
kerja 64 bit. Spesifikasi arsitektur dan bahasa
yang menjadi tempat implementasi algoritma
yang ditentukan oleh AES belum mendukung
pengoperasian 64 bit yang efisien. Oleh karena
itu, daripada menggunakan 2 register 64 bit
seperti pada RC5, RC6 menggunakan 4 register
32 bit. Karena menggunakan 4 register maka akan
terdapat 2 operasi rotasi pada setiap half-round
yang ada, dan juga akan lebih banyak bit-bit yang

akan digunakan untuk mempengaruhi banyaknya
bit yang dirotasi. (Roland L , 2006)

RC6 seperti juga RC5 mengeksploitasi
penggunaan operasi-operasi primitif yang
diimplementasikan secara efisien dalam prosesorprosesor modern. RC6 juga selain menggunakan
ketiga operasi primitif yang digunakan dalam
RC5, juga menggunakan operasi perkalian 32-bit
yang telah diimplementasikan secara efisien
dalam prosesor modern saat ini. Primitif operasi
perkalian ini sangat efektif dalam menghasilkan
efek “diffusion” atau penyebaran yang tentu saja
mengakibatkan RC6 lebih aman daripada RC5.
Operasi perkalian ini digunakan untuk
menghitung jumlah bit yang dirotasi sehingga
konsep data-dependent rotations dapat dengan
lebih sempurna diimplementasikan. (Roland L,
2006)
Algoritma RC6 adalah versi yang
dilengkapi dengan beberapa parameter, sehingga
dituliskan sebagai RC6-w/r/b, dimana parameter
w merupakan ukuran kata dalam satuan bit, r
adalah bilangan bulat bukan negatif yang

menunjukan banyaknya iterasi selama proses
enkripsi, dan b menunjukan ukuran kunci enkripsi
dalam byte. (Yudi Prayudi dan Idham Halik, 2005
: 153)
Adapun tujuan dari penelitian ini adalah:
1. Menganalisis bagaimana cara kerja
algoritma enkripsi RC6 berbasis android
dalam memberi layanan kerahasiaan
data.
2. Memberi
pemahaman
bagaimana
algoritma enkripsi RC6 melakukan
proses enkripsi dan dekripsi.
3. Membangun suatu program yang dapat
menjaga keamanan data menggunakan
algoritma enkripsi RC6 berbasis android.
2.

Metode Penelitian


Tahapan dalam metode penelitian ini dapat
dimodelkan pada diagram alir yang merupakan
proses dari pengiriman pesan melalui email yang
terenkripsi berbasis android.

97

Seminar Nasional Informatika 2014

Mulai

Mulai

Pilih File

Pilih File

Plaintext


Enkripsi
Pesan

end
Pw = b7e15163
Qw = 9e3779b9

Chipertext

No

Dekripsi
Pesan

Yes

Yes

Masukkan
Kunci


Masukkan
Kunci

Enkripsi

Dekripsi

Chipertext

Plaintext

Simpan File

Simpan File

Selesai

Selesai

No

3. Algoritma Enkripsi
Karena 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 plainteks atau cipherteks
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 di sisi kiri.
Diagram blok berikut akan lebih menjelaskan
proses enkripsi yang terjadi pada algoritma RC6.
B = B + S[ 0 ]
D = D + S[ 1 ]
for i = 1 to 20 do
{
t = ( B x ( 2B + 1 ) )