Anda di halaman 1dari 5

Pelita Informatika Budi Darma, Volume : VI, Nomor: 3, April 2014 ISSN : 2301-9425

PENERAPAN KRIPTOGRAFI RIJNDAEL DALAM MENGAMANKAN


FILE MENGUNAKAN INTERFACE USB FLASHDISK
(MEMORY EXTERNAL)
Arief Subrata Chan (0911037)

Mahasiswa Program Studi Teknik Informatika, STMIK Budidarma Medan


Jl. Sisingamangaraja No.338 Simpang Limun Medan
www.stmik-budidarma.ac.id //Ariefsubratachan@ymail.com

ABSTRAK

Kriptografi adalah ilmu yang mempelajari bagaimana suatu pesan atau dokumen kita aman, tidak bisa
dibaca oleh pihak yang tidak berhakdan untuk mengamankan file dokumen perlu sebuah metode yang aman dan
untuk itu penulis memilih metode rijndael dan sebuah USB Flash sebagai kunci yang aman dan berbeda, USB
Flash Disk merupakan sebuah hardware yang biasa digunakan untuk menyimpan file-file yang ada di computer
dan setiap flash disk memiliki key yang berbeda sehingga akan lebih aman dalam mengamankan dokumen
USB Flash Disk merupakan sebuah hardware yang biasa digunakan untuk menyimpan file-file yang ada
di komputer, sehingga file tersebut bisa dibawa kemana saja dan kapan saja bisa di modifikasi. Penggunaan
flash sebagai kunci sangat tepat dirasa karena hal ini seperti hardware dongle (USB Dongle) yang biasa
digunakan sebagai password untuk masuk ke system seperti pada software magic dan zahir accounting yang
menggunakan USB Dongle sebagai kunci akses.

Kata Kunci : Kriptografi, Rijndael, USB Flash Disk.

1. Pendahuluan flashdisk sebagai kunci enkripsinya. Flashdisk


1.1 Latar Belakang Masalah digunakan sebagai kunci terhadap file yang akan di
Dalam era globalisasi sekarang ini, enkripsi, penggunaan flashdisk akan lebih aman
komputer merupakan alat yang sangat dibutuhkan dikarenakan setiap flashdisk tidak ada memiliki
oleh banyak instansi dan perusahaan-perusahaan serial yang sama, tanpa flashdisk mustahil file
milik negara maupun swasta. Pemakaian komputer tersebut dapat di enkripsi ataupun di dekripsi.
dewasa ini semakin berkembang pesat di segala
bidang sesuai dengan kemajuan jaman. Hal ini 1.2 Rumusan Masalah
ditandai dengan semakin bertambahnya jenis-jenis Adapun perumusan masalah dalam penelitian
sistem operasi komputer yang digunakan mulai dari ini adalah sebagai berikut :
Microsoft Windows, Mac OS hingga Linux. 1. Bagaimana cara memproteksi sebuah file
Jaja Sudrajat, Manahan P Siallagan, Budhi dengan cara memanfaatkan USB flashdisk?
Irawan (2011) “IMPLEMENTASI KRIPTOGRAFI 2. Bagaimana menerapkan algoritma rijndael
UNTUK MENGAMANKAN DATA DENGAN untuk mengamankan file dengan USB
MENGUNAKAN METODE RIJNDAEL”. Agar flashdisk?
dapat menghasilkan pengamanan komputer 3. Bagaimana merancang aplikasi pengamanan
berbasis kata kunci yang memiliki tingkat file dengan memamfaatkan USB flashdisk
kerahasiaan yang tinggi, haruslah dilakukan sebagai kunci mengunakan algoritma rijndael?
penyandian terhadap kata sandi tersebut baik untuk
proses penguncian maupun proses pembukaan 2. Landasan Teori
kunci pengamanan. Salah satu metode penyandian 2.1 Rijndael
yang cukup baik untuk digunakan adalah Metode Algoritma Rijndael menggunakan substitusi,
Rijndael. Dengan menggunakan metode Rijndael, permutasi dan sejumlah putaran yang dikenakan
kata kunci akan dienkripsi terlebih dahulu pada saat pada tiap blok yang akan dienkripsi dekripsi. Untuk
disimpan untuk kemudian didekripsi pada saat setiap putarannya, Rijndael menggunakan kunci
proses verifikasi. Kata kunci yang dipergunakan yang berbeda. Kunci setiap putaran disebut round
merupakan key dari flash disk sehingga proses key. Rijndael beroperasi dalam orientasi byte
keamanan datanya akan menjadi lebih baik, untuk sehingga memungkinkan untuk implementasi
proses enkripsi dekripsi file flashdisk harus dikenali algoritma yang efisien ke dalam software dan
terlebih dahulu jika tidak ada flashdisk maka proses hardware. Ukuran blok untuk algoritma Rijndael
enkripsi dan dekripsi tidak dapat dilakukan. adalah 128 bit (16 byte).
Pemilihan flashdisk sebagai kunci enkripsi Rijndaelmendukung panjang kunci 128 bit
juga sangat penting dan ini merupakan alasan sampai 256 bit dengan step 32 bit. Panjang kunci
utama kenapa penulis memilih menggunakan dan ukuran blok dapat dipilih secara independen.
Penerapan Kriptografi Rijndael Dalam Mengamankan File Mengunakan Interface USB Flashdisk 11
(Memory External). Oleh : Arief Subrata Chan
Pelita Informatika Budi Darma, Volume : VI, Nomor: 3, April 2014 ISSN : 2301-9425

Setiap blokdienkripsi dalam sejumlah putaran attack mengandalkan pada keberhasilan


tertentu. menganalisis subsistem internal dari cipher untuk
Algoritma Rijndael mempunyai 3 (tiga) menurunkan persamaan kuadrat secara simultan.
parameter: Kumpulan persamaan ini umumnya sangat besar.
1. Plainteks adalah array yang berukuran 16- Contohnya pada 128 bit AES terdapat 8000
byte, yang berisi data masukan. persamaan dengan jumlah variabel 1600. Metode
2. Cipherteks adalah array yang berukuran 16- untuk memecahkan persamaan ini disebut XSL
byte, yang berisi hasil enkripsi. (eXtended Sparse Linearisation). Jika persamaan
3. Kunci adalaharray yang berukuran 16-byte, tersebut dapat dipecahkan, maka kunci dapat
yang berisi kunci cipher (disebut juga chiper diperoleh. Jika Pemecahan persamaan tersebut
key). menjadi masalah, maka ditemukan persamaan yang
Garis besar algoritma Rijndaelyang beroperasi bersifat MQ(Multivariate quadratic). Persamaan
pada blok 128 bit dengan kunci 128 bit adalah MQ merupakan permasalahan yang bersifat NP-
sebagai berikut: hard(Non Polinomial). XSL attackmembutuhkan
1. AddRoundKey, melakukan XOR antara algoritma yang efisien untuk menyelesaikan MQ.
stateawal (plainteks) dengan chiper key. Tahap Salah satu teknik untuk menyelesaikan sistem MQ
ini disebut juga initial round. adalah dengan linearisasi, yang mengubah
2. Putaran sebanyak Nr–1 kali. Proses yang setiappersamaan kuadrat menjadi variabel yang
dilakukan pada setiap putaran adalah: independen yang akan menghasilkan persamaan
a. SubBytes adalah substitusi byte dengan linear dengan menggunakan algoritma seperti
menggunakan tabel substitusi (S-Box). Gaussian elimination.
b. ShiftRows adalah pergeseran baris-baris Tahun 2000, Courtois mengajukan
array statesecara wrapping. algoritma untuk MQ yang bernama XL(eXtended
c. MixColumns adalah mengacak data di Linearisastion). Algoritma ini meningkatkanjumlah
masing-masing kolom array persamaan dengan mengalikan dengan monomial
state. derajat tertentu. Algoritma ini akan menghasilkan
AddRoundKeyadalah melakukan suatu bentuk struktur yang disebut XSL. Algoritma
XORantara state sekarang round key. XSL dibentuk dari algoritma XL dengan memilih
3. Final round, proses untuk putaran terakhir: monomial secara selektif.
a. SubBytes
b. ShiftRows 3. Analisa
c. AddRoundKey 3.1 Analisa Rijndael
(http://indrajs.blogspot.com/2012/06/algoritma- Rijndael adalah algoritma enkripsi blok
rijndael.html, tanggal akses 24 april 2013) cipher dengan variabel panjang blok dan panjang
kunci. Panjang blok dan panjang kunci yang
2.2 Keamanan Rijndael digunakan adalah 128 bit. Blok ini kemudian
Untuk Rijndael, tipe serangan square disusun menjadi array dari 8 bit byte. Sementara
attackscukup menjadi dikenal sebagai serangan kunci juga disusun menjadi array dari 8 bit byte.
terbaik terhadap Rijndael. Square attacksadalah Karena panjang kunci yang digunakan adalah 128
serangan yang memanfaatkan struktur orientasi bit, maka panjang arraynya adalah 16.
byte. Algoritma ini bekerja dengan baik pada Tabel 1 : Rijndael
square cipheryang bekerja dalam 6 putaran. 01 02 04 08 10 20 40 80 1b 36
Apabila Rijndaeldengan kunci sepanjang 0 0 0 0 0 0 0 0 0 0
128 bit,maka serangan ini lebih cepat dari pada
0 0 0 0 0 0 0 0 0 0
exhaustive searchhingga 6 kali iterasi Rijndael.
Namun, untuk AES jelas bahwa serangan ini tidak 0 0 0 0 0 0 0 0 0 0
mungkin dipraktekkan karena jumlah putaran pada
Rijndael, mengakibatkan batas keamanan untuk 3.2 Proses Enkripsi Rijndael
algoritma ini menjadi lebih besar. Untuk proses enkripsi Rijndael, plaintext
Pada tahun 2002 melalui suatu ditransformasikan secara berulang kali selama
prosespengujian yang sifatnya teoritis ditemukan beberapa putaran(di dalam putaran terjadi putaran
bahwa AES mungkin dapat dijebol atau lagi). Banyaknya transformasi putaran (Nr)
dipecahkan. Metode attack ini dinamakan “XLS tergantung dari nilai Nk dan Nb. Nk yaitu panjang
Attack“. kunci dibagi 32, sedangkan Nb yaitu panjang blok
Serangan ini pertama kali dipublikasikan dibagi 32.
oleh Nicolas Courtois dan Josep Pieprzyk dalam Misalkan plaintext: ariefsubrata
makalah mereka yang berjudul “Cryptanalysis of Kunci : stmikbudidarma (73 74 6D 69 6B 20 62
Block Ciphers with Overdefined Systems of 75 64 69 64 61 72 6D 6120)
Equations”. Teknik ini diklaim dapat memecahkan 1. Mengekspansi Kunci:
AES lebih cepat dari cara exhaustive search. XSL W1 = 73 74 6D 69 W2 = 6B 20 62 75

Penerapan Kriptografi Rijndael Dalam Mengamankan File Mengunakan Interface USB Flashdisk 12
(Memory External). Oleh : Arief Subrata Chan
Pelita Informatika Budi Darma, Volume : VI, Nomor: 3, April 2014 ISSN : 2301-9425

W3 = 64 69 64 61 W4 = 72 6D 6120 11 55 99 dd 01 05 09 0d 10 50 90 d0
Rcon yang digunakan adalah: 01 02 04 08 10
20 40 80 1b 36. Proses pencariannya adalah
sebagai berikut: 22 66 aaee 02 06 0a0e 20 60 a0 e0
Cipher Key Kolom IV
Penggeseran Posisi Baris Hasil 33 77 bb ff 03 07 0b 0f 30 70 b0 f0

0f 0d d3 3. Melakukan transformasi putaran sebanyak Nr


0e RotWord 0e SubByte ab kali sebagai berikut:
01 0f 75 4. Nk = 128/32 = 4
02 ff 0c Nb = 128/32 = 4
Maka Nr =10 putaran.
maka: Putaran:
Cipher Key KolomIV I Hasil
Rcon Round Key kolom 1. Sub Byte
00 d7 01 d6 00 40 80 c0 63 09 cd ba
01 ab 00 aa 10 50 90 d0 S-Box ca 53 60 70
02 76 00 74 20 60 a0 e0 b7 d0 e0 e1
03 fe 00 fd 30 70 b0 f0 04 51 e7 8c
Untuk mendapatkan Round Key kolom II
sampai kolom IV tidak perlu di 2. Shift Row
XOR kan dengan Rcon, Rcon hanya digunakan 63 09 cd ba63 09 cd ba
untuk mendapatkan byte ca53 60 70 ShiftRow 53 60 70 ca
kolom I tiap putaran. Maka: b7 d0 e0 e1 e0 e1 b7 d0
04 d6 d2 04 51 e7 8c 8c 04 51 e7
05 aa = af
06 74 72 3. Mix Column
07 fd fa Pada proses ini hasil dari Shift Row di
XOR kan dengan matriks yang telah
Tabel 2 : Round Constanta (Rcon) ditentukan:
CipherKey RoundKey I RoundKey II RoundKey III = (63)(02) (53)(03) (e0)(01)
00 04 08 0c d3 a2 Da d6 b6 64 be 68 B6 d2 6c 04 (8c)(01)
01 05 09 0d Ae af a6 Ab 92 3d 9b 30 Ff c2 59 69 = (01100011)(00000010)
(01010011)(00000011)
02 06 0a 0e 75 52 78 76 Cf Bd c5 b3 74 c9 0c bf
(11100000)(00000001) (10001100)(0000
03 07 0b 0f Fe fa f1 Fa 0b f1 00 Fe 4e bf bf 41 0001)
=
RoundKey IV RoundKey V RoundKey VI RoundKey VII 6 5 6 4 7
(x +x +x+1)(x) (x +x +x+1)(x+1) (x
47 95 f9 fd 3c a9 50 ad 5e f7 a7 0a 14 E3 44 4e 6 5
+x +x )(1)
f7 35 6c 05 Aa 9f f3 f6 39 a6 55 a3 f9 5f 0a a9
7 3 2
f7 3e 32 8d a3 9d Af 22 0f 92 3d 1f 70 e2 df C0 (x +x +x )(1)
bc 03 Bc fd e8 eb 57 aa 7d 96 c1 6b 1a 8c 4d 26 6 4 3 2
=(x +x +x +x +x+1)
=01011111
RoundKey VIII RoundKey IX RoundKey X =5f
Proses ini dilakukan tiap putaran yaitu dari
47 a4 e0 ae 54 f0 10 be 13 e3 f3 4d putaran pertama hingga putaran
43 1c 16 bf 99 85 93 2c 11 94 07 2b kesembilan. Pada putaran kesepuluh,
proses ini diabaikan
87 65 ba 7a 32 57 Ed 97 1d 4a A7 30
35 b9 f4 d2 d1 68 9c 4e 7f 17 8b c5

2. Melakukan penjumlahan bit antara blok


plaintext dengan kunci.
4. AddRoundKey
Plaintext cipherkey Key
HasilMixColum RoundKey I
Addition
Hasil
00 44 88 cc 00 04 08 0c 00 40 80 c0

Penerapan Kriptografi Rijndael Dalam Mengamankan File Mengunakan Interface USB Flashdisk 13
(Memory External). Oleh : Arief Subrata Chan
Pelita Informatika Budi Darma, Volume : VI, Nomor: 3, April 2014 ISSN : 2301-9425

CipherKey RoundKey I RoundKey II RoundKey III


00 04 08 0c d6 d2 da d6 b6 64 be 68 B6 d2 6c 04
01 05 09 0d Aa af a6 Ab 92 3d 9b 30 Ff c2 59 69
Untuk putaran dari rijndael dilakukan sebanyak 10 02 06 0a 0e 74 72 78 76 cf Bd c5 b3 74 c9 0c bf
putaran Dari beberapa langkah di atas diperoleh
ciphertext sebagai berikut: 03 07 0b 0f Fd fa f1 Fa 0b f1 00 fe 4e bf bf 41
69c4e0d86a7b0430d8cdb78070b4c55a

3.3 Proses Dekripsi Rijndael Proses inverse terus dilakukan sampai dengan 10
Pada proses dekripsi Rijndael hal-hal putaran sehingga hasil dari proses dekripsi,
kunci dan ciphertext harus diketahui. Misalkan plaintextnya adalah sebagai berikut:
ciphertext: 69c4e0d86a7b0430d8cdb78070b4c55a 00112233445566778899aabbccddeeff
kunci :
000102030405060708090a0b0c0d0e0f maka proses 4. Algoritma
pendekripsiannya adalah sebagai berikut: 4.1 Algoritma Rijndael
1. Mengkspansi Kunci Algoritma perancangan perangkat lunak
Kunci yang telah diekspansi: enkripsi dan dekripsi file dibagi menjadi 5 bagian
W1 = 00010203 W2 = 04050607 yaitu,
W3 = 08090a0b W4 = 0c0d0e0f 1. Algoritma Enkripsi
Input : Plainteks, pwd
Proses pencariannya sebagai berikut: Output : Chiperteks
CipherKey Penggeseran Posisi Hasil Proses :
KolomIV Baris myByte -> Byte
d7 salt() -> Byte
0c 0d salt = SetEncKey(pwd)
0d 0 SubByte Ab ‘simpan data
RotWord e Try
i -> Integer
0e 0 76
For i = 0 To salt.Length - 1
f
writeStream.Write(salt(i))
0f Fe
Next
0
writeStream.Flush()
Maka: c
Catch
CipherKey Hasil Rcon RoundKeykolo End Try
KolomIV m Chiperteks menjadi : (Nama File) .usb
00 D7 01 D6
01 Ab 00 Aa 2. Algoritma Dekripsi
Type = Input : chiperteks, pwd
02 76 00 74 Output : plainteks
03 Fe 00 Fd Proses :
fileStream -> FileStream
fileStream = File.OpenRead(fin)
Untuk mendapatkan Round KeykolomII salt(7) -> Byte
sampai kolomIV tidak perlu di XOR kan dengan Try
Rcon, Rcon hanya digunakan untuk mendapatkan i -> Integer
byte kolomI tiap putaran. For i = 0 To 7
Maka: salt(i) = fileStream.ReadByte()
CipherKey RoundKeykolo RoundKeyko Next
KolomII mI lomII SetDecKey(pwd, salt)
Catch
04 d6 d2 fileStream.Close()
05 aa = Af
Return
06 74 72 End Try

07 fd Fa Plainteks menjadi : Kembali ke file awal


(Nama File) .usb

Tabel 3 : Round Key Dekripsi 5. Kesimpulan Dan Saran


5.1 Kesimpulan
Penerapan Kriptografi Rijndael Dalam Mengamankan File Mengunakan Interface USB Flashdisk 14
(Memory External). Oleh : Arief Subrata Chan
Pelita Informatika Budi Darma, Volume : VI, Nomor: 3, April 2014 ISSN : 2301-9425

Setelah menyelesaikan perancangan


perangkat lunak enkripsi dan dekripsi, penulis
menarik beberapa kesimpulan sebagai berikut :
1. Serial number pada sebuah USB Flash Disk
dijadikan sebuah key untuk memproteksi file,
penggunaan key dapat diakses menggunakan
sebuah teknik pengaksesan device dan
digabungkan dengan algoritma rijndael sebagai
algoritma enkripsi dan dekripsi
2. Untuk proses enkripsi dan dekripsi Rijndael,
plaintext ditransformasikan secara berulang
kali selama beberapa putaran(di dalam putaran
terjadi putaran lagi). Banyaknya transformasi
putaran (Nr) tergantung dari nilai Nk dan Nb.
Nk yaitu panjang kunci dibagi 32, sedangkan
Nb yaitu panjang blok dibagi 32 dan untuk
proses dekripsi
3. Penggunaan bahasa pemrograman visual
basic.net dalam merancang sebuah aplikasi
enkripsi dan dekripsi dengan menerapkan
algoritma rijndael pada aplikasi bisa dibuat
dengan cukup baik.

5.2 Saran
Penulis ingin memberikan beberapa saran
yang mungkin berguna untuk pengembangan lebih
lanjut pada perancangan perangkat lunak permainan
Halma, yaitu :
1. Diharapkan program aplikasi ini bisa
dikembangkan lagi dengan menggunakan
bahasa pemrograman yang lain seperti C++
dan Delphi.
2. Aplikasi dapat juga dikembangkan terhadap
record database kedepannya .
3. Aplikasi yang dirancang ini bisa dikembangkan
dengan algoritma RSA atau AES

Daftar Pustaka

[1]. Dony Ariyus, Pengantar Ilmu Kriptografi,


Andi Publisher, 2012
[2]. Tavri D. Mahyuzir, Pengantar Analisa dan
Perancangan Perangkat Lunak, 2005,
Penerbit Andi
[3]. www.ilmukomputer.com
[4]. www.google.com/apa_itu_flashdisk
[5]. www.eepis-
its.edu/uploadta/downloadmk.php?id=873
[6]. en.wikipedia.org/wiki/Stream_cipher
[7]. en.wikipedia.org/wiki/Block_cipher
[8]. wikipedia.ord/Perbedaan_Metode_Kriptogra
fi
[9]. www.distrodocs.com/category/mode-
operasi-ecb-cbc
[10]. www.distrodocs.com/category/mode-
operasi-cfb
[11]. www.distrodocs.com/category/mode-
operasi-ofb
[12]. http://indrajs.blogspot.com/2012/06/algoritm
a-rijndael.html
Penerapan Kriptografi Rijndael Dalam Mengamankan File Mengunakan Interface USB Flashdisk 15
(Memory External). Oleh : Arief Subrata Chan

Anda mungkin juga menyukai