Implementasi Komputasi Paralel Untuk Enkripsi Citra Berbasis
AES Menggunakan JPPF
Mohammad Zarkasi,
Waskitho Wibisono, dan FX. Arunanto
Jurusan Teknik
Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember
(ITS)
Jl. Arief Rahman Hakim,
Surabaya 60111 Indonesia
E-mail: waswib@if.its.ac.id
Abstrak
Semakin pesat perkembangan teknologi
informasi, proses tukar-menukar citra menjadi semakin tinggi dan mudah.
Kebutuhan terhadap kerahasiaan dan hak cipta citra menjadi aspek yang harus
dipenuhi. Salah satu cara untuk menjaga kerahasiaan citra adalah dengan
menerapkan enkripsi. Advanced Encryption Standard (AES) merupakan algoritma
enkripsi simetris dengan key yang panjang yang paling banyak digunakan saat
ini. Untuk mempercepat waktu enkripsi diterapkan komputasi paralel. Karena AES
bersifat sekuensial maka data yang berupa citra yang diparalelkan. Untuk
implementasi komputasi paralel digunakan Java Parallel Programming Framework
(JPPF) yang berarsitektur master/slave. JPPF menyediakan beberapa strategi
distribusi untuk mengoptimalkan performa dengan menyesuaikan pembagian task.
Tiap task berisi potongan citra untuk diproses oleh slave. Uji coba dilakukan
pada beberapa citra dengan resolusi yang berbeda dan pada 8 komputer yang memiliki
spesifikasi berbeda. Berdasarkan hasil uji coba, pada komputer dengan
spesifikasi frekuensi prosesor 2,53 GHz core tunggal diperoleh speedup dengan
rata-rata 1,65.
Kata
Kunci—AES, JPPF, paralel, potongan, speedup.
I.
PENDAHULUAN
ENKRIPSI
merupakan teknik yang umum digunakan untuk meningkatkan keamanan suatu data
[1]. Tidak terkecuali untuk citra. Sebagai tambahan dalam level keamanan,
kecepatan eksekusi suatu algoritma enkripsi menjadi bagian yang paling penting.
Salah satu algoritma enkripsi yang cukup luas diterapkan adalah Advanced
Encryption Standards (AES). AES menggunakan key yang lebih panjang daripada
algoritma Data Encryption Standard (DES). Pada level keamanan yang sama,
perbedaan kecepatan algoritma dapat menyebabkan algoritma yang lebih cepat cenderung
dipilih daripada algoritma yang lebih lambat [2]. Sebagai contoh, algoritma DES
yang merupakan standar NIST, kini banyak ditinggalkan karena kecepatan eksekusi
yang relatif lambat dan mahal untuk diimplementasikan pada hardware maupun
software. Dengan key yang panjang, yaitu 128 bit, 192 bit, dan 256 bit, AES
memberikan hasil enkripsi yang lebih susah dipecahkan dengan DES. Komputasi
paralel diterapkan untuk mempercepat proses enkripsi dengan membagi citra
menjadi potongan-potongan untuk diproses secara independen. Komputasi paralel
dilakukan dengan menggunakan komputer- komputer yang saling terhubung dalam
satu jaringan. Java Parallel Programming Framework (JPPF) merupakan framework
untuk pemrosesan paralel yang menggunakan bahasa pemrograman Java. Pada JPPF
tersedia beberapa strategi pendistribusian job untuk mengoptimalkan performa
dengan menyesuaikan jumlah task yang dikirim ke setiap slave. JPPF juga
memiliki mekanisme untuk menanggulangi masalah apabila terjadi kegagalan
komunikasi dengan master [3]. Artikel ini membahas tentang implementasi
komputasi paralel untuk mengenkripsi berkas citra menggunakan AES dengan
menggunakan JPPF.
II. URAIAN PENELITIAN
A.
Advanced
Encryption
Standard Advanced Encryption Standard (AES) merupakan algoritma enkripsi
yang berdasarkan pada kombinasi dan permutasi dari operasi shift dan
exclusive-OR (XOR) [4]. AES menggantikan Data Encryption Standard (DES) yang
sebelumnya merupakan algoritma yang utama dalam mengenkripsi data elektronik.
AES merupakan varian algoritma Rijndael yang dikembangkan oleh dua orang
kriptografer asal Belgia, John Daemen dan Vincent Rijmen.
AES menggunakan ukuran blok yang tetap, yaitu 128 bit [4]. Ukuran key
yang digunakan adalah 128, 192, atau 256 bit. AES beroperasi pada matriks
berukuran 4×4 yang disebut dengan state. Ukuran key yang berbeda digunakan
untuk menentukan jumlah ronde transformasi untuk mengubah plaintext menjadi
ciphertext. Jumlah ronde transformasi untuk key dengan panjang 128 bit, 192
bit, dan 256 bit adalah masing-masing sebanyakn 10, 12, dan 14 ronde.
Transformasi yang digunakan dalam algoritma AES diilustrasikan pada Gambar 1.
Ada beberapa modus operasi AES yang tersedia untuk digunakan memproses
data yang besar. Namun, hanya ada dua modus yang dapat diparalelkan karena tidak
ada dependensi terhadap blok sebelumnya, yaitu Counter (CTR) dan Electronic
Code Book (ECB) [5]. ECB merupakan modus yang paling sederhana, yaitu dengan
menerapkan algoritma AES pada tiap blok data. Sedangkan pada CTR, digunakan
sebuah counter yang unik pada setiap blok data, sehingga apabila ada dua blok
data (plaintext) yang sama, akan dihasilkan ciphertext yang berbeda.
B.
Komputasi
Paralel
Komputasi
paralel adalah suatu teknik untuk mengerjakan suatu perhitungan yang besar dan
memerlukan waktu yang lama dengan memecah menjadi beberapa bagian dan
Implementasi Komputasi Paralel Untuk Enkripsi Citra Berbasis AES Menggunakan
JPPF Mohammad Zarkasi, Waskitho Wibisono, dan FX.

Gambar.1
Proses Enkripsi Aes


Gambar.2
Citra Plaint text yang dienkripsi dan histogram
mengerjakannya secara independen di prosesor
yang berbeda [2]. Terdapat beberapa style pemrograman paralel, antara lain: •
SPMD (Single Program, Multiple Data), yaitu data dan program didistribusikan ke
tiap prosesor, eksekusi dilakukan sesuai jadwal yang telah ditentukan. Tiap
prosesor mengeksekusi program yang sama tetapi data yang diproses berbeda.
• Master/slave,
yaitu satu prosesor bertindak sebagai master, dan ada beberapa prosesor yang
menjadi slave kepada master tersebut.
• MPMD
(Multiple Program, Multiple Data), yaitu program dan data didistribusikan ke
tiap-tiap prosesor, tiap prosesor mengeksekusi program yang berbeda dan data
yang berbeda. Tujuan utama dari komputasi paralel adalah untuk mendapatkan
speedup [2].
Speedup
diperoleh dengan menghitung perbandingan antara waktu yang diperlukan untuk
komputasi secara sekuensial dengan waktu yang diperlukan untuk komputasi secara
paralel. Speedup dihitung menggunakan (1). = (1)
C.
JPPF
JPPF adalah adalah suatu framework
yang dibangun dengan bahasa Java. JPPF memungkinkan aplikasi dengan kebutuhan
komputasi yang tinggi agar dapat berjalan pada sejumlah komputer, dalam rangka
untuk mengurangi waktu pemrosesan. Hal ini dilakukan dengan membagi aplikasi
menjadi bagian-bagian yang lebih kecil yang dapat dieksekusi secara
bersama-sama di mesin yang berbeda. Keunggulan JPPF terhadap framework lain
adalah JPPF menyediakan beberapa strategi pendistribusian job untuk
mengoptimalkan performa dengan menyesuaikan jumlah task yang dikirim ke setiap
slave. Tiap strategi distribusi job memiliki keunggulan terhadap suatu jenis
permasalahan yang akan diselesaikan secara paralel. Selain itu, JPPF memiliki
fitur mekanisme untuk menangani kegagalan komunikasi. Secara otomatis JPPF
client dan slave akan mencari master yang aktif apabila pada suatu saat terjadi
gangguan dalam komunikasi. 



III.HASIL DAN
DISKUSI
A.
Pengaburan
isi citra
Uji coba
fungsionalitas ini menjelaskan pengaburan isi citra yang dihasilkan dari
enkripsi. Citra plaintext yang digunakan sebagai masukan uji coba adalah citra
Lenna dengan penggunaan RGB dominan pada area tententu. Pada citra ciphertext
hasil enkripsi, penggunaan RGB cukup merata, dan juga tidak terlihat adanya
dominasi warna seperti pada citra plaintext. Citra ciphertext dihasilkan oleh
enkripsi dengan algoritma AES menggunakan modus ECB dan CTR. Citra plaintext
ditunjukkan pada Gambar 2, citra ciphertext dengan modus CTR ditunjukkan pada
Gambar 3 dan citra ciphertext dengan modus ECB ditunjukkan pada Gambar 4.
B.
Speedup
Uji coba
enkripsi citra menggunakan komputasi paralel dilakukan menggunakan 8 komputer
yang berperan sebagai slave. Salah satu dari 8 komputer tersebut juga berperan
sebagai master sekaligus client, yaitu PC1. Spesifikasi komputer yang digunakan
ditunjukkan pada Tabel 1. Pada uji coba ini digunakan beberapa citra dengan
ukuran resolusi yang berbeda dan strategi distribusi manual dengan ukuran task
per slave adalah satu. Daftar citra yang digunakan untuk uji coba ditunjukkan
pada Tabel 2. Dari hasil uji coba, speedup yang diperoleh ditampilkan pada
Tabel 3, Tabel 4 dan Gambar 5. Pada uji coba dengan membandingkan waktu
komputasi paralel dengan waktu eksekusi single pada PC1, diperoleh rata-rata
speedup sebesar 1,65. Sedangkan pada uji coba dengan membandingkan waktu
komputasi paralel dengan waktu eksekusi single pada PC2, diperoleh rata-rata
speedup sebesar 0,82.
IV. KESIMPULAN/RINGKASAN
Dari penelitian ini, dapat diperoleh beberapa
kesimpulan sebagai berikut.
1. Penggunaan
warna pada citra hasil enkripsi menunjukkan pengaburan dengan persebaran RGB
yang merata. Hal ini menyebabkan pola-pola pada citra menjadi sulit untuk
dikenali secara langsung.
2. Implementasi
komputasi paralel berhasil memberikan waktu komputasi yang lebih cepat. Speedup
yang diperoleh dengan membandingkan waktu komputasi paralel terhadap waktu
komputasi pada komputer dengan spesifikasi frekuensi prosesor 2,53 GHz satu
core adalah rata-rata sebesar 1,65. Sedangkan speedup yang diperoleh dengan
membandingkan waktu komputasi paralel terhadap waktu komputasi pada komputer
dengan spesifikasi yang lebih tinggi adalah rata-rata kurang dari 1.
DAFTAR PUSTAKA
[1] M Zeghid, M Machout, A Baganne, and R
Tourki, "A Modified AES Based Algorithm for Image Encryption,"
International Journal of Computer Science and Engineering, pp. 70-75, 2007.
[2] Vishal Pachori, Gunjan
Ansari, and Neha Chaudhary, "Improved Performance of Advance Encryption
Standard using Parallel Computing," International Journal of Engineering
Research and Applications (IJERA), vol. 2, no. 1, pp. 967-971, Feb. 2012.
[3] Laurent Cohen. (2013, Mei)
JPPF. [Online]. http://www.jppf.org
[4] William Stallings,
Cryptography and Network Security, 5th ed. New York: Prentice Hall, 2011.
[5] Morris Dworkin,
Recommendation for Block Cipher Modes of Operation, 1st ed. Washington: NIST,
2001.
Tidak ada komentar:
Posting Komentar