IMPLEMENTASI ENKRIPSI PENGIRIMAN GAMBAR SIDIK JARI DENGAN ALGORITMA AES UNTUK AUTHENTIFIKASI USER.

1

Implementasi Enkripsi Pengiriman Gambar
Sidik Jari Dengan Algoritma AES Untuk
Autentifikasi User
Lingga Sartono, Bowo Nurhadiyono
Program Studi Teknik Informatika - S-1, Fakultas Ilmu Komputer
Universitas Dian Nuswantoro
Semarang, Indonesia

Abstract The web application is an application that is coded using the language supported web browser (such as HTML,
JavaScript, AJAX, Java, etc.) that uses text base, it has a gap in terms of security. Where text or content can be copied and stolen
easily. Therefore it is very important to design and build a program that maintained integrity, security, and also the
confidentiality of such data, especially the data transmission which uses fingerprints for user authentication. So that the
fingerprint image is unique and personal as user verification stay safe while. Therefore, the encryption of cryptographic
techniques, which changed the original text message (plain text) into a text message that has been encrypted (cipher text), the
data is secure. AES algorithm, is one of the cryptographic algorithms used to strengthen the security that has block size of 128
bits with technical substitution, permutation, and the number of turns per block. In this study, will be made an implementation of
encryption data delivery with AES algorithm for user authentication. Fingerprint image used as an object for user authentication
will be encrypted. From the results of the implementation of encryption sending pictures for user authentication produces the
fingerprint image encryption.

Keywords : Crypthograpic, AES.
yang

sangat

tidak

bertanggung

jawab

dalam

pengoperasian aplikasi web tersebut.

I. PENDAHULUAN1
Aplikasi web adalah suatu aplikasi yang

Oleh sebab itu sangat penting untuk membuat


diakses menggunakan penjelajah web melalui suatu

solusi dalam bentuk nyata untuk pengamanan data

jaringan seperti Internet atau intranet. Ia juga

tersebut terutama pada bagian pengiriman suatu data

merupakan suatu aplikasi perangkat lunak komputer

berupa gambar sidik jari tersebut yang digunakan

yang dikodekan dalam bahasa

sebagai suatu objek untuk authentifikasi tersebut

yang didukung

penjelajah web (seperti HTML, JavaScript, AJAX,


Sehingga

Java, dll) [1].

dibuatnya suatu metode kriptografi, yaitu enkripsi

Aplikasi web ternyata memiliki beberapa segi

saat

pengiriman

data

tersebut

perlu

untuk menjaga keamanan data tersebut.


celah keamanan dan juga kekurangan dalam hal

Secara terminology kriptografi adalah ilmu

keamanannya. Yang mana text tersebut bisa disalin

dan seni untuk menjaga keamanan pesan ketika pesan

dan dicuri dengan mudah. Merupakan hal yang sangat

dikirim dari suatu tempat ke tempat lain[2]. Yang

penting bagi para perancang dan juga pembangun

menghasilkan suatu pesan teks asli (plain text) yang

pemrogram untuk membuat aplikasi tersebut terjaga

nantinya diubah menjadi suatu pesan teks yang sudah


keintegritasannya, keamanannya, dan juga kerahasiaan

disandikan (chipper text) disebut enkripsi.

datanya agar tidak dapat dicuri, disalin oleh pihak

AES

merupakan

salah

satu

algoritma

kriptografi simetris atau block chipper simetris untuk
proses enkripsi yang memiliki ukuran panjang blok

dan kunci yang dapat dipilih secara independen 128,

192, dan 256 bit [3]. Algoritma AES (Rijndael) ini
menggunakan beberapa teknik yang ada seperti
substitusi, permutasi dan sejumlah putaran yang
dikenakan pada tiap blok yang nantinya dilakukan

a. SubBytes
adalah
subtitusi
byte
dengan
menggunakan tabel substitusi (S-Box).
b. ShifRows adalah pergeseran baris – baris array
secara wrapping.
c. MixCoulumns adalah mengacak data di masing –
masing kolom array state.
d. AddRoundKey

untuk enkripsi dan dekripsi.
Oleh sebab itu, berdasarkan uraian yang
ditulis, penulis bermaksud untuk mengambil tugas

akhir (skripsi) dengan judul “Implementasi Enkripsi

3. Final round, proses untuk putaran terakhir :
a. SubBytes
b. ShiftRows
c. AddRoundKey

Pengiriman Gambar Sidik Jari dengan Algoritma AES
untuk

Authentifikasi

User”.

Aplikasi

web

ini


nantinnya dapat mengenkripsi source code pada
gambar sidik jari yang dikirim ke server saat user
login/authentifikasi user dengan algoritma tersebut.

II. METODE YANG DIUSULKAN
A. Enkripsi
Encryption adalah proses untuk mengubah plaintext ke
chipertext.
Proses enkripsi dan deskripsi secara sederhana
diterangkan sebagai berikut :
Gambar 2 Diagram Proses Enkripsi

Gambar 1 Skema Enkripsi
EK (P) = C (Proses Enkripsi)
DK (C) = P (Proses Dekripsi)
Keterangan :
E : Enkripsi.
D : Deskripsi.
P : Plain text (Pesan sebelum dienkripsi).
C : Cipher text (Pesan setelah dienkrisi).

K : Key (Kunci).
Algoritma AES (Rijndael) ini menggunakan beberapa
teknik yang ada seperti substitusi, permutasi dan sejumlah
putaran yang dikenakan pada tiap blok yang nantinya
dilakukan untuk enkripsi meliputi :
1. AddRoundKey, melakukan XOR antara state awal
(plainteks) dengan chiper key.

2. Putaran sebanyak Nr-1 kali. Proses dilakukan
pada putaran adalah:

B. Langkah Kerja
1. Transformasi SubBytes
Langkah pada transformasi SubBytes adalah
memetakan setiap byte dari array state menggunakan suatu
tabel substitusi, S-Box.
(2-1)
(2-2)

Tabel 1 Tabel S-Box Dikutip dari: Studi Algoritma Rijndael

dalam Sistem Keamanan Data, 2009
Untuk pensubstitusiannya, jika setiap byte pada
array state S[r,c]=xy, xy adalah digit heksadesimal dari nilai

3
S[r,c], maka nilai substitusi dinyatakan dengan S’[r,c],
merupakan elemen di dalam S-Box sebagai perpotongan
baris x dan kolom y.

Gambar 3 Transformasi dari SubBytes Dikutip dari: Studi
Algoritma Rijndael dalam Sistem Keamanan Data, 2009

Gambar 6 Transformasi ShiftRows Dikutip dari: Studi
Algoritma Rijndael dalam Sistem Keamanan Data, 2009
3. MixColumns
Mixolumns mengalikan setiap elemen yang berada
dalam satu kolom dari array state dengan polinom
a(x)mod(x4+1). Setiap kolomnya diperlakukan sebagai
polinom 4 suku pada GF(28) :
Polinom a(x) :


Transformasi dinyatakan dalam perkalian matrix :

Gambar 4 Proses dari SubBytes Dikutip dari: Studi
Algoritma Rijndael dalam Sistem Keamanan Data, 2009

s0' ,c  ({02}  so ,c )  ({03}  s1,c )  s2,c  s3,c
s1' ,c  s0,c  ({02}  s1,c )  ({03}  s2,c )  s3,c
s2' ,c  s0,c  s1,c  ({02}  s2,c )  ({03}  s3,c )
s3' ,c  ({03}  s0,c )  s1,c  s2,c  ({02}  s3,c )
Gambar 5 Hasil dari SubBytes Dikutip dari: Studi
Algoritma Rijndael dalam Sistem Keamanan Data, 2009
2. ShiftRows
Transformasi ShiftRows adalah proses pergeseran
secara wrapping pada 3 baris terakhir dan bit pada bit
paling kiri akan dipindah menjadi bit paling kanan sesuai
jumlah pergeseran. Pergeseran ini hanya diterapkan pada
baris r=1, r=2, dan r=4. Baris r=1 akan mengalami
pergeseran bit sebanyak satu kali, sedangkan baris r=3 dan
r=4 masing-masing mengalami pergeseran bit sebanyak dua
kali dan tiga kali.

Gambar 7 Hasil ShifRows Dikutip dari: Studi Algoritma
Rijndael dalam Sistem Keamanan Data, 2009

Gambar 9 Operasi MixColumns Dikutip dari: Studi
Algoritma Rijndael dalam Sistem Keamanan Data, 2009

Gambar 12 Hasil AddRoundKey Dikutip dari: Studi
Algoritma Rijndael dalam Sistem Keamanan Data, 2009
5. Ekspansi kunci
Algoritma Rijndael melaksanakan cipher key dan
membuat suatu ekspansi kunci untuk menghasilkan suatu
key schedule. Jika ekspansi kunci yang diperlukan Rijndael
Nb(Nr+1) word, sehingga bisa digunakan AES 128 bit,
maka 4(10+1)=40 word=44x32 bit=1408 bit subkey.
Ekspansi dari 128 menjadi 1408 bit subkey, proses ini
disebut dengan key schedule. Subkey ini diperlukan karena
setiap round merupakan suatu inisial dari Nb word untuk
Nr=0 dan Nb untuk Nr=1,3 untuk Nr= 2,....,11 Nb untuk
Nr=10, dari operasi ini akan didapatkan schedule kunci
yang berisi array linier 4 byte word (wi), 0=i(Nr+1).

Gambar 10 Hasil keseluruhanMixColumns Dikutip dari:
Studi Algoritma Rijndael dalam Sistem Keamanan Data,
2009

4. AddRoundKey
Transformasi ini melakukan XOR pada sebuah round
key dengan array state, serta hasilnya disimpan di array
state.

Gambar 13 Proses ekspansi kunci Dikutip dari: Studi
Algoritma Rijndael dalam Sistem Keamanan Data, 2009
Gambar 11 Transformasi AddRoundKey Dikutip dari:
Studi Algoritma Rijndael dalam Sistem Keamanan Data,
2009

III. IMPLEMENTASI
Pada bagian ini menjelaskan langkah proses enkripsi.
1. Input, objek inputan gambar.
2. Konversi gambar ke base64.
3. Konversikan teks tersebut ke dalam bentuk bit ke
hexadesimal.
4. Inisialisasi plainteks.
5. Setelah itu buat matrix dan define rounds.
6. Siapkan kunci array 4x4.
7. Ekpansi kunci , sejumlah 10 round key pada kunci
yang digunakan.
8. Lakukan AddRoundkey, tiap kolom sebagai intial
state.
9. Hasil dari addRoundKey dilakukan SubBytes,
substitusi bytenya dengan tabel S-box.
10. Melakukan ShiftRows dari hasil SubBytes, geser
3 baris array terakhir berurutan geser 1,2,3 bit.
11. Melakukan MixColoumns, dengan tabel Galois
Field .

5

12. Melakukan AddRoundkey.
13. Melakukan putaran sebanyak 9 kali pada langkah
14.
15.
16.

7-8 atau sampai sebelum putaran terakhir.
Lakukan SubBytes tahap terakhir setelah putaran
ke 9.
Lakukan ShiftRows tahap terakhir.
AddRoundkey terakhir

Untuk proses detailnya dapat dilihat pada gambar berikut
:
Mulai
Input gambar
Konversi base64
Konversi hasil base64 ke hexa

Gambar 15 Tampilan Login Sistem
Pada gambar tampilan login sistem ini dilakukan
pemilihan gambar yang digunakan untuk autentifikasi user.

inisialisasi plainteks
Buat matrix dan define rounds
Set key
Ekspansi kunci 10 round key
AddRoundKey for initial state
Melakukan SubBytes
Melakukan ShiftRows
Melakukan MixColumns
AddRoundkey
Melakukan putaran 9 kali
Melakukan SubByte tahap akhir
Melakukan ShiftRows tahap akhir

Gambar 16 Tampilan Verifikasi
Pada tampilan verifikasi inilah proses enkripsi sudah
terjadi, sehingga menghasilkan chipper yang digunakan
untuk verifikasi user yang selanjutnya menuju pada Menu
sistem perpustakaan online.

AddRoundKey tahap akhir
Simpan hasil

Selesai

Gambar 14 Proses Enkripsi
IV. HASIL & PEMBAHASAN
A. Penerapan
Implementasi enkripsi pengiriman gambar dengan
algoritma AES untuk authentifikasi user diterapkan pada
sistem informasi perpustakaan online dan dapat dengan
browser manapun, pada bagian ini Penulis menggunakan
fire fox untuk menampilkan hasil implementasi:
Gambar 18 Hasil enkripsi

B. Pengujian
Tabel 2 Pengujian
Ite En Gamb
ra ter ar
si
Si =bena
ke s
r
-

Sa
me
key

En
kri
p

De
kri
p
ke
Ga
mb
ar

1

O

-

-

-

-

Ma
suk
Ha
la
ma
n
Me
nu
-

2

O

O

O

O

-

-

3

O

O

O

O

O

-

4

O

O

O

O

O

O

5

O

X

-

-

-

-

6

O

O

X

O

X

O

7

8

9

O

O

O

O

O

O

X

O

O

O

O

O

X

X

O

O

O

O

Keterangan

Berhasil ke
halaman
utama
Berhasil
merubah
Gambar
menjadi
Cipherteks
Berhasil
merubah
Cipherteks
menjadi
Plainteks ke
Gambar
Berhasil
masuk
sistem tanpa
ada
kesalahan
Gagal login,
gambar salah
Gagal dekrip
ke gambar
karena kunci
di ubah,
dengan
gambar
sama.
Gagal dekrip
ke gambar
ketika kunci
berbeda lagi
dengan yang
sebelumnya.
Gagal
dekripsi ke
gambar,
dengan
kunci sama
pada tahap
sebelumnya.
Berhasil
ketika
gambar dan
kunci selalu
sama.

Hasil pengujian oleh dapat didokumentasikan dalam
bentuk tabel pengujian yang disertai keterangannya. Tabel
ini digunakan untuk mengukur tingkat keberhasilan aplikasi
pada tiap tahapan yang dilalui serta bahan untuk
perencanaan iterasi berikutnya.
Keterangan kode yang digunakan:
O = Ya
X = Tidak
- = Tidak dilakukan pengujian pada variabel
pengujian
Dari pengujian pengujian tersebut dapat disimpulkan
bahwa aplikasi telah memenuhi tujuan penelitian ini.
Enkripsi Pengiriman Gambar Sidik Jari berjalan dengan
baik dan\ ditampilkan dengan baik sesuai harapan.
V. PENUTUP
Dari analisis, perancangan dan implementasi fungsi
algoritma AES pada pengiriman gambar sidik jari untuk
autentifikasi user, dapat disimpulkan bahwa :
1. Fungsi Algoritma AES dapat diterapkan dengan baik
pada aplikasi web sistem informasi perpustakaan
online untuk authentifikasi user.
2. Enkripsi dan dekripsi gambar juga berjalan dengan
baik, begitupun dengan pengiriman gambar untuk
autentifikasi user.
3. Perubahan key,data tetap aman dan gambar tidak
tampil ketika di dekripsi.
4. Perubahan cipher text, gambar juga tidak dapat
tampil ketika proses dekripsi.
5. Terlihat tingkat perbedaan keamanan saat
pengiriman gambar, sudah terenkripsi.
REFERENCES
[1]

http://id.wikipedia.org/wiki/Aplikasi_web (diakses pada 18 February
2015)

[2]

Ariyus, D. (2008). Pengantar ilmu kriptografi: teori, analisis, dan
implementasi. Yogyakarta: Andi.

[3]

William, S., & Stallings, W.. (2006) Cryptography and Network
Security, 4/E. Pearson Education India.

[4]

Satria, Eko. (2009) "Studi Algoritma Rijndael dalam Sistem
Keamanan Data.".

[5]

Widiasari, Indrastanti R. 2012 "Combining Advanced Encryption
Standard (AES) and One Time Pad (OTP) Encryption for Data
Security." International Journal of Computer Applications 57.20.

[6]

Rosyadi, Ahmad. (2012) "Implementasi Algoritma Kriptografi AES
Untuk Enkripsi Dan Dekripsi Email." TRANSIENT 1.3

[7]

Yuniati, Voni, Gani Indriyanta, and Antonius Rachmat C. (2011)
"Enkripsi dan Dekripsi dengan Algoritma Aes 256 Untuk Semua
Jenis File." Jurnal Informatika 5.1.

[8]

Surian, Didi. (2009) "Algoritma Kriptografi AES Rijndael." TESLA
Jurnal Teknik Elektro UNTAR 8.2: pp-97.

7
[9]

Di, K. K. D. P. T., & Kelas, V. I. I. (2000). Metodologi penelitian.

[10] Fahmi, H., & Faidah, H. (2010). Aplikasi Kritpografi Modern untuk
Pengiriman Data Teramankan. MH Thamrin, 8.
[11] Wang, P. T., & Wu, S. M. (2001). U.S. Patent Application
09/849,279.
[12] Wong, J. Y. (2006). U.S. Patent No. 7,039,223. Washington, DC:
U.S. Patent and Trademark Office.
[13] http://en.wikipedia.org/wiki/Base64 (diakses 25 February 2015)
[14] http://id.wikipedia.org/wiki/Diagram_alir (diakses pada 22 February
2015)