T1 672009220 Full text

Perbandingan Kriptografi AES dan Rabbit pada Data
Citra Digital

Artikel Ilmiah

Peneliti:
Febrianto Djaya Saputra(672009220)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2016

Perbandingan Kriptografi AES dan Rabbit pada Data
Citra Digital
Artikel Ilmiah

Diajukan kepada
Fakultas Teknologi Informasi

untuk memperoleh gelar Sarjana Komputer

Peneliti:
Febrianto Djaya Saputra(672009220)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2016

Mmmmmmmmf

.

1.

Pendahuluan


Kemudahan berkomunikasi menimbulkan kebutuhan baru, yaitu
pengamanan informasi yang ditransmisikan pada jaringan komunikasi dari
pengirim ke penerima.Salah satu bentuk informasi yang dikirimkan adalah
gambar. Pengiriman sebuah data dalam bentuk gambar yang akan dikirim ke suatu
tujuan yang bersifat privasi, kemungkinan besar dapat terlihat oleh pihak lain. Hal
ini akan membuat orang tersebut mencari cara untuk menyembunyikannya
sehingga pihak lain tidak tahu. Sebagai contoh, ketika sebuah paket akan
dikirimkan kepada seseorang, maka paket tersebut dikemas sedemikian rupa agar
isi paket tersebut tidak terlihat oleh orang lain. Untuk menambah kerahasiaan dari
isi paket tersebut, ditambahkan sebuah mekanisme tertentu untuk membuka isi
paket tersebut.
Enkripsi visual penting dalam mentransfer gambar melalui jaringan
komunikasi untuk melindungi kerahasiaan gambar, menghindari perubahan isi
gambar, mencegah penambahan informasi palsu, atau menghapus sebagian dari isi
gambar [1]. Kriptografi merupakan metode penyandian pesan. Metode ini bekerja
dengan cara mengubah suatu data informasi menjadi data yang tidak dimengerti
(tersandikan). Metode kriptografi dapat digunakan untuk menyandikan pesan yang
ditransmisikan lewat jaringan Internet.Hal ini mencegah pihak ketiga untuk
mengetahui isi pesan yang sebenarnya.
Algoritma kriptografi dalam proses enkripsi, terbagi ke dalam blockcipher

dan streamcipher. BlockCipheradalah algoritma enkripsi yang akan membagi-bagi
plaintext yang akan diproses, ke dalam ukuran tertentu (disebut blok) dengan
panjang tertentu, dan setiap blok dienkripsi dengan menggunakan kunci yang
sama. Salah satu blockcipher adalah AES.AES merupakan standar algoritma
enkripsi yang diakui oleh publik sebagai metode enkripsi yang handal. AES
merupakan algoritma modern, kekuatan enkripsi terletak pada kerahasian kunci,
sekalipun metode yang terjadi didalam proses enkripsi tersebut dipublikasikan [2].
StreamCipher adalah algoritma enkripsi yang mengenkripsi data persatuan data,
seperti bit, byte, nible atau per 5 bit. Tiap proses enkripsi satu satuan data,
digunakan kunci yang merupakan hasil pembangkitan dari kunci sebelumnya.
Dalam perkembangan metode stream chiper di temukan algoritma baru yaitu
Rabbit[3]. Rabbit merupakan algoritma yang menerima kunci sepanjang 128 bit
dan initial vector sepanjang 64 bit. Berdasarkan latar belakang yang ada, maka
dilakukan penelitian yang perbandingan kriptografi citra digital dengan
menggunakan AES dan Rabbit.
2.

Tinjauan Pustaka

Penelitian sebelumnya membahas penerapan algoritma rabbit untuk

mengamankan surel dalam aplikasi untuk ponsel android. Dimana algoritma
rabbit digunakan untuk menenkripsikan dan mendeskripsikan konten surel yang
bersifat rahasia, dan menghasilkan aplikasi klien surel yang di gunapakn pada
goggle mail yang sederhana dengan algoritma rabbit yang berfungsi sebagai
pengaman konten rahasia pada surel [4].

1

Pada penelitian yang berjudul “Penyandian Citra Menggunakan Metode
Playfair Cipher”, dibahas mengenai pemanfaatan algoritma playfair untuk
enkripsi citra digital. Playfair Cipher merupakan salah satu metode yang
digolongkan dalam kriptogafi klasik yang proses enkripsinya menggunakan
pemrosesan dalam bentuk blok-blok yang sangat besar. Metode ini merupakan
salah satu cara untuk mengatasi kelemahan metode kriptografi klasik lainnya yang
mudah tertebak karena terdapat korespondensi satu-satu antara plainteks dengan
cipherteks. Dari hasil pengujian didapatkan bahwa playfair merupakan metode
penyandian klasik yang cocok diterapkan untuk citra dengan kualitas yang baik
dan pada citra dengan kategori citra detil. Hal ini terlihat dari keacakan intensitas
warna pada citra yang telah tersandikan. Selain itu karena matrik kunci yang
digunakan ukurannya cukup besar mengakibatkan kriptanalisis akan

membutuhkan waktu yang cukup lama untuk menemukan matrik kuncinya,
karena terdapat 256! (factorial) kemungkinan bentuk matrik kunci [5]
Berdasarkan penelitian-penelitian yang telah dilakukan tentang kriptografi
pada citra digital, maka dilakukan penelitian yang membandingkan kriptografi
pada citra digital dengan menggunakan AES blockcipher dan Rabbit
streamcipher.
Batasan masalah dalam penelitian ini adalah sebagai berikut: (1) Data yang
dienkripsi adalah data citra digital; (2) Algoritma yang dibandingkan adalah AES
blockcipher dan Rabbit streamcipher; (3) Perbandingkan ditekankan pada proses
penyandian, yaitu block dan stream, serta pengaruhnya terhadap proses enkripsi
citra digital; (4) Bahasa pemrograman yang digunakan untuk membuat aplikasi
adalah C# .net framework 4.5;
Kriptografi (cryptography) merupakan ilmu dan seni penyimpanan pesan,
data, atau informasi secara aman. Kriptografi (Cryptography) berasal dari bahasa
Yunani yaitu dari kata Crypto dan Graphia yang berarti penulisan rahasia[6].
Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang disebut
Cryptology. Dalam mengenkripsi dan mendekripsi data, kriptografi membutuhkan
suatu algoritma (cipher) dan kunci (key). Cipher adalah fungsi matematika yang
digunakan untuk mengenkripsi dan mendekripsi. Sedangkan kunci merupakan
sederetan bit yang diperlukan untuk mengenkripsi dan mendekripsi data[7].

Secara umum proses kriptografi dibagi menjadi dua bagian yaitu enkripsi dan
dekripsi. Data yang telah dienkripsi disebut ciphertext karena data asli telah
mengalami proses di dalam sebuah algoritma kriptografi atau lebih dikenal
dengan namacipher. Kebalikannya, proses mengubah pesan yang telah dienkripsi
(ciphertext) menjadi pesan asli (plaintext) disebut sebagai proses dekripsi.
AES [2]adalah singkatan dari Advanced Encryption Standard, yakni teknik
algoritma kriptografi yang juga dikenal dengan sebutan Rijndael. Dikembangkan
oleh dua orang ahli kryptografi Belgia, Joan Daemen dan Vincent Rijmen, standar
Enkripsi AES kemudian diadopsi sebagai standar yang digunakan di Amerika
Serikat, dan akhirnya di seluruh penjuru dunia.AES adalah penerus dari Data
Encryption Standard (DES).AES mulai diperkenalkan pada akhir tahun 2001 dan
mulai efektif dipergunakan sebagai standar pada pertengahan tahun 2002.Sejak
tahun 2006, AES menjadi algoritma enkripsi yang paling populer.AES juga
digunakan dalam beragam paket pemrograman.

2

Ketentuan panjang kunci, besar blok dan jumlah round pada AES dapat
dilihat pada Tabel 1.
Tabel 1 Ukuran Kunci, Ukuran Blok dan Jumlah Round pada AES [2]

Jumlah Key
Besar Blok
Jumlah Round
(Nk)
(Nb)
(Nr)
AES – 128
4 word (16 byte)
4 word (16 byte)
10
AES – 192
6 word (24 byte)
4 word (16 byte)
12
AES – 256
8 word (32 byte)
4 word (16 byte)
14

Algoritma Rabbit memiliki tujuh belas variabel. Delapan peubah inner

state dengan ukuran masing-masing 32 bit, delapan counter dengan ukuran
maing-masing 32 bit, dan satu carry berukuran satu bit. Algoritma Rabbit
memiliki beberapa skema.Skema-skema tersebut skema persiapan kunci, skema
next state function, dan skema ekstraksi.Skema persiapan kunci adalah skema
untuk memberikan nilai awal pada semua inner state, counter, dan carry. Skema
next statefunction adalah skema yang menjelaskan aturan pengubahan nilai-nilai
semua peubah. Skema ekstraksi berfungsi untuk megambil bit-bit dari inner state
dengan susunan tertentu menjadi rangkaian bit berukuran 128 dan semu acak.
Pada penelitian ini, format file citra digital yang digunakan adalah
PNG.PNG merupakan TrueColorimage.Suatu true colour image memiliki
komponen red, green dan blue yang terpisah untuk tiap pikselnya.Pada sebagian
besar truecolourimage, tiap komponen diwakilkan dengan satu byte yang terdiri
dari 8 bit, sehingga setiap piksel memiliki 24 bit informasi warna.Oleh karena itu,
mode ini sering disebut sebagai “24-bit warna”.Pada Gambar 1 ditunjukkan
contoh potongan dari file gambar.Potongan ini memiliki dimensi 6 x 6 piksel.Pada
tiap piksel terdapat tiga bagian warna yaitu red, green dan blue. Pada lokasi piksel
1,1 terdapat warna red bernilai 96, green bernilai 143, dan blue bernilai 179. Pada
lokasi piksel 1,2 terdapat warna red 61, green 125, dan green 198[8].

Gambar 1 Komponen RGB pada File Gambar 24 Bit Warna[8]


3.

Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang
terbagi dalam empat tahapan, yaitu: (1) Analisis kebutuhan dan pengumpulan

3

data, (2) Perancangan sistem, (3) Implementasi sistem yaitu Perancangan
aplikasi/program, dan (4) Pengujian sistem serta analisis hasil pengujian.
Identifikasi Masalah dan Studi Literatur

Perancangan Sistem

Implementasi Sistem

Pengujian Sistem dan Analisis Hasil Pengujian


Gambar2Tahapan Penelitian

Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai
berikut.Tahap pertama: identifikasi masalah, yaitu keamanan citra digital. Tahap
kedua: perancangan sistem yang meliputi perancangan proses deteksi kemiripan
citra digital; Tahap ketiga: perancangan sistem, yaitu membuat aplikasi sesuai
perancangan proses pada tahap kedua; dan Tahap keempat: pengujian sistem dan
analisis hasil pengujian, yaitu dilakukan pengujian terhadap proses yang telah
dirancang, dan melihat kesesuaian solusi terhadap masalah yang telah
teridentifikasi sebelumnya.

Plain Image

Kunci

Enkripsi AES

Cipher
Image A


Enkripsi
Rabbit

Cipher
Image B

Gambar 3 Desain Sistem

Sistem yang dikembangkan, memiliki desain yang ditunjukkan pada
Gambar 3. Sistem terdiri dari dua input yaitu file gambar A dan file gambar B.
Hasil deteksi kedua file gambar tersebut adalah berupa angka prosentase
kemiripan.

4

Mulai

Mulai

Input gambar

Input gambar

Input kunci

Input kunci

Baca 16 Komponen Warna

Baca Komponen
Warna
Enkripsi Komponen
Warna

Jika komponen
warna jumlahnya
kurang 16

False
true

Proses tanpa
enkripsi

Jika Semua
Komponen
Warna telah
dienkripsi

false
false

Enkripsi 1 block (16
komponen warna)

True
Selesai

Jika Semua
Komponen Warna
telah dienkripsi

true

Selesai

Gambar 4Proses Enkripsi Citra Digital dengan AES

Gambar 5 Proses Enkripsi Citra
Digital dengan Rabbit

Gambar 4 dan Gambar 5 menunjukkan proses enkripsi dengan algoritma
yang berbeda. Pada AES, proses enkripsi dilakukan blok per blok. Jika terdapat
sisa byte (komponen warna) yang jumlahnya tidak sesuai ukuran blok AES, maka
tidak dapat dilakukan proses enkripsi. Normalnya, akan dilakukan proses padding,
namun jika ini dilakukan pada citra digital, maka akan mengakibatkan
penambahan komponen warna, dan akhirnya ukuran piksel jadi berubah.
Pada proses enkripsi dengan algoritma Rabbit, dilakukan pada komponenkomponen warna, tanpa pembentukan blok. Hal ini mengakibatkan tidak perlunya
dilakukan proses padding. Sehingga semua komponen warna, dapat terenkripsi.

5

4.

Hasil dan Pembahasan

Aplikasi pada penelitian ini, dibuat dalam bentuk aplikasi berbasis
desktop. Software yang digunakan adalah Visual Studio 2012 Express for
Windows Desktop.

Gambar 6 Form Enkripsi

Form enkripsi (Gambar 6), memerlukan dua input, yaitu plain image, dan
kunci. Output dari proses enkripsi adalah dua cipher image yang merupakan hasil
enkripsi dari algoritma AES dan yang kedua hasil dari enkripsi Rabbit.

6

Gambar 7 Form Dekripsi

Form dekripsi (Gambar 6), memerlukan tiga input, yaitu cipher image
hasil enkripsi AES, cipher image hasil enkripsi Rabbit, dan kunci. Jika kedua
cipher image berasal dari satu plain image yang sama, maka output dari proses ini
adalah dua plain image yang sama.
Pada aplikasi yang dikembangkan, dilakukan beberapa pengujian
perbandingan. Pengujian pertama adalah pengujian perbandingan kecepatan
proses enkripsi. Hasil dari pengujian ini ditunjukkan pada Tabel 1. Hasil pada
Tabel 1

No

Tabel 1 Perbandingan Kecepatan Enkripsi
Ukuran Piksel
AES (detik)
Gambar

Rabbit (detik)

1

100x100

0.2

0.04

2

200x200

0.4

0.08

7

3

4
5

6
7

8
9

10

0.44

300x300
400x400
500x500
600x600
700x700
800x800
900x900
1000x1000

0.79

0.09
0.09
0.1

0.935

0.119

1.08
1.37

0.132
0.145
0.158

1.515

0.171

0.67

1.225

Berdasarkan hasil pengujian 1, diketahui bahwa algoritma Rabbit,
melakukan proses enkripsi lebih cepat daripada algoritma AES.

Waktu (detik)

Perbandingan Kecepatan Enkripsi
1,6
1,4
1,2
1
0,8
0,6
0,4
0,2
0

1,515
1,37
1,225
1,08
0,935
0,67

0,79

0,44

0,4
0,2
0,04 0,08 0,09 0,09 0,1

AES Enkripsi
0,1190,1320,1450,1580,171

Rabbit Enkripsi

Ukuran Gambar (Piksel)
Gambar 8Diagram Garis Perbandingan Proses Enkripsi

Pengujian kedua adalah pengujian perbandingan kecepatan proses
dekripsi. Hasil dari pengujian ini ditunjukkan pada Tabel 2. Hasil perbandingan
Tabel 2, ditunjukkan sebagai grafik garis pada Gambar 9.

No

Tabel 2 Perbandingan Kecepatan Dekripsi
UkuranPiksel
AES (detik)
Gambar

Rabbit (detik)

1

100x100

0.650

0.040

2

200x200

0.770

0.086

3

300x300

0.830

0.097

4

400x400

0.930

0.131

5

500x500

1.020

0.160

6

600x600

1.110

0.188

7

700x700

1.200

0.217

8

800x800

1.290

0.245

9

900x900

1.380

0.274

8

10

1000x1000

1.470

0.302

Axis Title

Perbandingan Kecepatan Dekripsi
1,6
1,4
1,2
1
0,8
0,6
0,4
0,2
0

0,65

0,77 0,83

0,04 0,086

0,93

1,02

1,11

1,2

1,29

1,38

0,274
0,1880,2170,245
0,0970,1310,16

1,47

0,302

AES Dekripsi
Rabbit Dekripsi

Ukuran Gambar (Piksel)
Gambar 9Diagram Garis Perbandingan Proses Deskripsi

Berdasarkan hasil pengujian 2, pada Tabel 2, diketahui bahwa pada proses
dekripsi, waktu yang diperlukan oleh kedua algoritma, lebih besar daripada ketika
proses enkripsi. Rabbit melakukan proses dekripsi lebih cepat daripada AES.
No

Panjang kunci
(byte)

1

1

Tabel 3Perbandingan Pengaruh Panjang Kunci
Kunci
Enkripsi
Dekrips
AES
i
(detik)
AES
(detik)
F
0.2234
0.6556

2

2

FT

0.2357

3

3

FTI

0.2445

4

4

UKSW

5

5

6

0.1008

Dekrips
i
Rabbit
(detik)
0.1310

0.6733

0.1157

0.1459

0.6745

0.1298

0.1582

0.2626

0.6798

0.1361

0.1694

SATYA

0.2529

0.6857

0.1364

0.1609

6

WACANA

0.2826

0.6995

0.1387

0.1664

7

7

FTIUKSW

0.2907

0.7043

0.1648

0.1870

8

8

UKSWUKSW

0.2892

0.7191

0.1558

0.1854

9

9

SATYAUKSW

0.3101

0.7097

0.1605

0.1993

10

10

SATYASATYA

0.2834

0.7322

0.1966

0.2209

11

11

SATYAWACANA

0.3153

0.7290

0.1889

0.2088

12

12

SALATIGAUKSW

0.3001

0.7655

0.2170

0.2185

13

13

FTIFTIFTIFTIF

0.3248

0.7742

0.1741

0.2254

14

14

FTIUKSWFTIUKSW

0.3336

0.7686

0.2286

0.2353

15

15

SATYASATYASATYA

0.3392

0.7431

0.2265

0.2408

16

UKSWUKSWUKSWUKS
W

0.3212

0.7970

0.1974

0.2739

16

9

Enkripsi
Rabbit
(detik)

Berdasarkan hasil pengujian pengaruh kunci, diketahui bawah panjang
kunci memberikan pengaruh pada kecepatan proses enkripsi maupun dekripsi. Hal
ini terjadi pada kedua algoritma enkrips. Semakin panjang kunci, semakin
meningkat pula waktu yang dibutuhkan untuk proses enkripsi dan dekripsi.
Tabel 4Pengujian Enkripsi dengan Variasi Gambar
AES
No

Gambar

Rabbit
Waktu
Enkripsi
(detik)

Hasil Enkripsi

Hasil Enkripsi

Waktu
Enkripsi
(detik)

1

0.284

0.084

2

0.281

0.084

3

0.288

0.084

4

0.297

0.099

Berdasarkan hasil pengujian pada Tabel 4, ditunjukkan bahwa AES
sebagai blockcipher, memiliki kelemahan ketika digunakan untuk mengenkripsi
gambar berpola.Hal ini ditunjukkan pada poin pengujian nomor 3, berupa gambar
papan catur.Hasil enkripsi masih memiliki pola papan catur yang samar-samar
terlihat.Pada pengujian gambar satu warna, nomor 1 dan nomor 2, AES
memberikan hasil enkripsi gambar bergaris.Rabbit pada keseluruhan pengujian,
memberikan hasil enkripsi gambar yang secara visual berbeda dari gambar asli.

10

Tabel 5Pengujian Enkripsi dengan Variasi Gambar
No

AES
Hasil Enkripsi

Rabbit
Histogram

Hasil Enkripsi

Histogram

1

2

3

4

Hasil pengujian histogram pada Tabel 5, menunjukkan distribusi warna
pada hasil enkripsi, dari tiap-tiap algoritma. Histogram pada hasil enkripsi AES,
tidak terdistribusi dengan rata, dengan pengecualian pada nomor 4.Histogram
pada hasil enkripsi Rabbit, terdistribusi dengan rata, yang berarti piksel yang
dihasilkan benar-benar acak, warna yang dihasilkan tidak terkonsentrasi pada
kelompok warna tertentu saja.

5.

Simpulan

Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka
dapat diambil kesimpulan yaitu: Berdasarkan hasil pengujian di dapat kan kalau
Rabbit lebih cepat dan aman dibandingkan dengan AES saat proses enkripsi dan
dekripsi.Saranyang dapat diberikan untuk penelitian dan pengembangan
selanjutnya adalahperlunya dilakukan analisis penggunaan memory pada tiap
proses, pada kedua algoritma.

6.
[1].

[2].
[3].

[4].

Daftar Pustaka
El Fishawy, N. F. & Zaid, O. M. A. 2007. Quality of Encryption
Measurement of Bitmap Images with RC6, MRC6, and Rijndael
BlockCipher Algorithms. IJ Network Security 5, 241–251.
Information, F. 2001. Announcing the ADVANCED ENCRYPTION
STANDARD ( AES ).
Boesgaard, M., Vesterager, M., Pedersen, T., Christiansen, J. & Scavenius,
O. 2003. Rabbit: A new high-performance streamcipher. In Fast Software
Encryption, pp. 307–329.
Leksono, M. A. & Munir, R. 2012. APLIKASI KLIEN SUREL DENGAN

11

[5].
[6].
[7].
[8].

ALGORITMA RABBIT PADA PONSEL ANDROID. Jurnal Sarjana ITB
bidang Teknik Elektro dan Informatika 1.
Setyaningsih, E. 2009. Penyandian Citra Menggunakan Metode Playfair
Cipher. Jurnal Ilmiah Nasional Jurnal Teknologi 2, 213–217.
Forouzan, B. A. 2007. Cryptography & Network Security. McGraw-Hill,
Inc.
Munir, R. 2006. Kriptografi. Informatika, Bandung
Parvez, M. T. & Gutub, A. A.-A. 2008. RGB Intensity Based Variable-Bits
Image Steganography. 2008 IEEE Asia-Pacific Services Computing
Conference , 1322–1327. (doi:10.1109/APSCC.2008.105)

12