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)
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)