Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Jurnal Computech & Bisnis, Vol. 4, No.

2, Desember 2010, 59-69


ISSN 1978-9629Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)
Implementasi

IMPLEMENTASI ALGORITMA ENKRIPSI RIJNDAEL PADA


PEMBUATAN KUNCI LISENSI PROGRAM PENGUBAH
ATRIBUT FILE

Budiantoro, Nanan Rohman


STMIK Mardira Indonesia, Bandung

Abstract

Promotion is important thing in retail system obtain for introducing a product, and it
same with retail in business software. In promotion there is something can do to
introduce our product, with trial system that gift along with a file that has a function as a
source for recognize program status are they trial or no. To protect content of license file
so it used encryption rijndael technique that have international standardize encryption.
Once of newest encryption algorithm is rijndael algorithm. The rijndael algorithm is the
winner of open prize contest by NIST (National Institute of Standards and Technology) in
2000. Rijndael algorithm become dominant standarize of cryptografi at least 10 year.
Rijndael cryptografi algorithm that desain by Vincent Rijmen dan John Daemen from
Belgia is one of famous that used by simetrik key cryptografi.

In implementation benefit of rijndael algorithm it will used for secure license key where
this key will be used for promotion our product, so it will take to our program that can be
change attribute of file like hidden, archive, system, normal or read only in windows
operation system.

In this study we try to observe about implementation rijndael encryption algorithm in


license key process maker that is program that will be tested and will research about
steps in encryption and decryption process use rijndael algorithm like addroundkey,
subbytes, shiftrows, mixcolumn process and will be research about implementation in
license maker program that wil be produce encrypted licensi file use this algorithm.

Keywords: Promotion, Encryption, Decryption.

Abstrak

Promosi merupakan hal yang penting dalam sistem ritel mendapatkan untuk
memperkenalkan produk, dan sama dengan ritel dalam bisnis perangkat lunak. Dalam
promosi ada sesuatu yang bisa dilakukan untuk memperkenalkan produk, dengan sistem
trial yang menawarkan hadiah bersama dengan file yang memiliki fungsi sebagai sumber
untuk mengenali status program yang di uji coba. Untuk melindungi isi dari file lisensi
sehingga menggunakan teknik enkripsi rijndael yang memiliki enkripsi standar
internasional. Setelah algoritma enkripsi terbaru adalah algoritma Rijndael. Algoritma
rijndael adalah pemenang kontes hadiah terbuka oleh NIST (National Institute of
Standards and Technology) pada tahun 2000. Algoritma Rijndael menjadi standar
dominan cryptografi dalam 10 tahun. Algoritma Rijndael yang cryptografi desain oleh

59
60 Jurnal Computech & Bisnis, Vol. 4, No. 2, Desember 2010, 59-69
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

Vincent Rijmen Dan John Daemen dari Belgia merupakan salah satu yang terkenal yang
digunakan oleh cryptografi kunci simetrik.

Dalam pelaksanaan manfaat algoritma rijndael akan digunakan untuk kunci lisensi yang
aman di mana kunci ini akan digunakan untuk promosi produk, sehingga waktu yang
dibutuhkan untuk program yang dapat merubah atribut file seperti arsip, sistem, normal
atau hanya membaca di sistem operasi windows.

Dalam penelitian ini kami mencoba untuk mengamati tentang algoritma enkripsi
pelaksanaan rijndael di kunci lisensi pembuat proses yang program yang akan diuji dan
akan penelitian tentang langkah-langkah dalam enkripsi dan dekripsi menggunakan
proses rijndael algoritma seperti AddRoundKey, subbytes, ShiftRows, mixcolumn process
dan akan dilakukan penelitian tentang pelaksanaan program pembuat lisensi yang akan
menghasilkan enkripsi menggunakan berkas licensi algoritma ini .

Kata Kunci: Promosi, Encryption, Decryption

PENDAHULUAN menggunakan kunci lisensi yang berisi


1.1 Latar Belakang Masalah tanggal berakhirnya suatu perangkat
Maraknya penggunaan perangkat lunak yang diberikan pada saat
lunak ilegal atau program, sangat pembelian perangkat lunak itu terjadi.
mengkhawatirkan para pengembang Dari segi kepraktisan, penggunaan
perangkat lunak, terutama berkaitan kunci lisensi lebih unggul dibandingkan
dengan tidak adanya pemasukan cara aktivasi lewat internet, akan tetapi
keuangan ketika orang lain penggunaan kunci lisensi lebih beresiko
menggunakan perangkat lunak bajakan untuk dimanipulasi atau dengan istilah
tersebut. lain di crack oleh para cracker. Untuk
Lain halnya jika perangkat lunak meminimalkan perusakan oleh para
tersebut dimaksudkan sebagai perangkat cracker maka diperlukan suatu cara
lunak yang bersifat bebas pakai atau untuk melindungi kunci lisensi. Cara
freeware atau pun perangkat lunak yang yang bisa digunakan adalah dengan
bersifat percobaan ( trial ) maka kriptografi.
pembajakan tidak akan menjadi masalah Kriptografi adalah salah satu teknik
bagi pihak pengembang perangkat yang digunakan untuk meningkatkan
lunak, tetapi lain halnya jika perangkat aspek keamanan suatu informasi.
lunak tersebut dibuat untuk tujuan Kriptografi merupakan kajian ilmu dan
komersil maka pembajakan tersebut seni untuk menjaga suatu pesan atau
akan sangat merugikan pihak data informasi agar data tersebut aman.
pengembang perangkat lunak. Kriptografi mendukung kebutuhan dari
Untuk mencegah pemakaian dua aspek keamanan informasi, yaitu
perangkat lunak komersil bajakan, ada secrecy (perlindungan terhadap
beberapa cara yang dapat diterapkan kerahasiaan data informasi) dan
untuk dapat mengatasi hal ini. authenticity (perlindungan terhadap
Diantaranya dengan melakukan aktivasi pemalsuan dan pengubahan informasi
perangkat lunak pada saat penginstalan yang tidak diinginkan).
melalui internet ataupun bisa juga
Budiantoro, Implementasi Algoritma Enkripsi Rijndael 61
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

Banyak algoritma kriptografi yang algoritma yang dibangun didasarkan


sudah pernah dipublikasikan. Salah satu pada landasan teori yang ada pada
algoritma kriptografi yang terbaru literatur dan data yang digunakan.
adalah algoritma Rijndael. Algoritma ini Sedangkan untuk metode
adalah pemenang sayembara terbuka pengembangan progam digunakan
yang diadakan oleh NIST (National metode pengembangan sistem
Institute of Standards and Technology) berorientasi objek. Tahapan didalamnya
pada tahun 2001. Algoritma Rijndael adalah analisis, perancangan dan
menjadi standard kriptografi yang implementasi sistem.
dominan paling sedikit selama 10 tahun
[MUN06]. LANDASAN TEORI
2.1 Pengertian Kriptografi
1.2 Identifikasi Masalah Kriptografi berasal dari dua kata
Dalam pengamanan yang ada Yunani, yaitu Crypto yang berarti
dalam suatu program terkadang kita rahasia dan Grapho yang berarti
dengan mudah melakukan pembajakan menulis. Secara umum kriptografi dapat
terhadap program orang lain yang diartikan sebagai ilmu dan seni
tentunya akan merugikan kita sebagai penyandian yang bertujuan untuk
pembuat program. Untuk meminimalisir menjaga keamanan dan kerahasiaan
pembajakan oleh orang lain maka di suatu pesan. Kriptografi pada dasarnya
perlukan pengamanan terhadap progam sudah dikenal sejak lama. Menurut
yang kita buat. Salah satunya dengan catatan sejarah, kriptografi sudah
penggunaan file kunci lisensi pada digunakan oleh bangsa Mesir sejak 4000
progam yang berfungsi sebagai pengatur tahun yang lalu oleh raja-raja Mesir
status dari program apakah bersifat trial pada saat perang untuk mengirimkan
ataukah full version yang dienkripsi pesan rahasia kepada panglima
dengan algoritma Rijndael, dikarenakan perangnya melalui kurir-kurirnya. Orang
dengan sistem pengaman ini program yang melakukan penyandian ini disebut
akan relative susah untuk dibajak. kriptografer, sedangkan orang yang
mendalami ilmu dan seni dalam
1.3 Batasan Masalah membuka atau memecahkan suatu
Masalah penggunaan file kunci algoritma kriptografi tanpa harus
lisensi pada progam yang berfungsi mengetahui kuncinya disebut
sebagai data batas akhir penggunaan kriptonalis.
program dan juga penggunaan kunci
Algoritma kriptografi yang baik
lisensi ini hanya diterapkan pada
tidak ditentukan oleh kerumitan dalam
program buatan sendiri yaitu pada
mengolah data atau pesan yang akan
program Pengubah Atribut File (PAF).
disampaikan. Yang penting, algoritma
tersebut harus memenuhi 4 persyaratan
1.4 Tujuan Penelitian
berikut :
Tujuan yang diharapkan dapat
1. Kerahasiaan. Pesan (plaintext)
tercapai, yaitu :membuat program
hanya dapat dibaca oleh pihak yang
dengan resiko pembajakan relative sukar
memliki kewenangan.
dan kecil dikarenakan untuk merusak
atau menjebol kunci lisensi lebih sulit 2. Autentikasi. Pengirim pesan harus
1.5 Metodologi Penelitian dapat diidentifikasi dengan pasti,
Dalam penelitian ini, dilakukan penyusup harus dipastikan tidak bisa
proses pengkajian dan pengambilan berpura-pura menjadi orang lain.
data-data serta informasi yang 3. Integritas. Penerima pesan harus
berhubungan dengan pemecahan dapat memastikan bahwa pesan
62 Jurnal Computech & Bisnis, Vol. 4, No. 2, Desember 2010, 59-69
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

yang dia terima tidak dimodifikasi menjadi pesan rahasia (ciphertext).


ketika sedang dalam proses Ciphertext inilah yang nantinya akan
transmisi data. dikirimkan melalui saluran komunikasi
terbuka. Pada saat ciphertext diterima
4. Non-Repudiation. Pengirim pesan
oleh penerima pesan, maka pesan
harus tidak bisa menyangkal pesan
rahasia tersebut diubah lagi menjadi
yang dia kirimkan.
pesan terbuka melalui proses dekripsi
Kriptografi pada dasarnya terdiri sehingga pesan tadi dapat dibaca
dari dua proses, yaitu proses enkripsi kembali oleh penerima pesan. Secara
dan proses dekripsi. Proses enkripsi umum, proses enkripsi dan dekripsi
adalah proses penyandian pesan terbuka dapat digambarkan sebagai berikut :
Keamanan dari sebuah teknik
penyandian tergantung dari dua hal :
algoritma penyandian dan panjang kunci
(key). Algoritma sangat menentukan
kekuatan dari sebuah teknik penyandian,
tetapi panjang kunci juga tidak kalah
Key

Key

penting dalam menentukan kekuatan


sebuah teknik penyandian.
Enkripsi Dekripsi
Plaintext Ciphertext Plaintext
Sebagai contoh, apabila seorang
kriptonalis mengetahui algoritma yang
dipakai untuk melakukan teknik
penyandian terhadap suatu pesan, maka
Gambar 2.1 Proses Enkripsi dan kriptonalis tersebut harus mendapatkan
Dekripsi kunci yang dipakai terlebih dahulu
sebelum dapat melakukan dekripsi
terhadap semua ciphertext yang dia
punya. Satu-satunya cara untuk
Dalam sistem komputer, pesan mendapatkan kunci yang dipakai adalah
terbuka (plaintext) diberi lambang M, dengan cara mencoba semua variasi
yang merupakan singkatan dari kunci yang ada. Teknik serangan ini
Message. Plaintext ini dapat berupa sering dikenal dengan nama brute force.
tulisan, foto, atau video yang berbentuk Adalah mudah untuk menghitung
data biner. Plaintext inilah yang banyaknya variasi kunci yang ada.
nantinya akan dienkripsi menjadi pesan Apabila panjang kunci adalah 8 bit,
rahasia atau ciphertext yang maka ada 28 atau 256 kemungkinan
dilambangkan dengan C (Ciphertext). kunci yang dapat dicoba. Dari 256
Secara matematis, fungsi enkripsi ini percobaan ini, peluang untuk
dinotasikan dengan : mendapatkan kunci yang benar adalah
E(M) = C 50 persen setelah melalui setengah usaha
Sedangkan fungsi dekripsi adalah percobaan. Bila panjang kunci 56 bit,
proses pembalikan dari ciphertext maka ada 256 kemungkinan variasi
menjadi plaintext kembali. Secara kunci. Dengan menganggap sebuah
matematis dinotasikan sebagai berikut : superkomputer dapat mencoba satu juta
kunci per detik, maka diperkirakan
D(C) = M sekitar 2285 tahun untuk menemukan
D(E(M)) = M kunci yang benar. Bila menggunakan
panjang kunci 64 bit, maka dengan
2.2 Panjang Kunci superkomputer yang sama akan
Budiantoro, Implementasi Algoritma Enkripsi Rijndael 63
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

membutuhkan 585 ribu tahun. Dengan Plain Text

jangka waktu yang lama ini, maka dapat


AddRoundKey
dipastikan bahwa pesan yang disandikan
tersebut tidak mempunyai arti lagi
apabila telah berhasil dilakukan dekripsi. SubBytes
ShiftRows
2.3 Algoritma Rijndael MixColumns
AddRoundKey
Pada algoritma rijndael, jumlah blok
input, blok output, dan state adalah 128
bit dan 256 bit. Dengan besar data 128 SubBytes
ShiftRows
bit, berarti Nb = 4 yang menunjukkan AddRoundKey
panjang data tiap baris adalah 4 byte.
Cipher Text
Dengan blok input atau blok data
sebesar 128 bit, key yang digunakan Gambar 2.2 Diagram Alir Proses
pada algoritma rijndael tidak harus Enkripsi
mempunyai besar yang sama dengan
blok input. 2.3.2 SubBytes
SubBytes merupakan transformasi
byte dimana setiap elemen pada state
2.3.1 Enkripsi akan dipetakan dengan menggunakan
Proses enkripsi pada algoritma sebuah tabel substitusi (S-Box). Hasil
Rijndael terdiri dari 4 jenis transformasi yang didapat dari pemetaan dengan
bytes, yaitu SubBytes, ShiftRows, menggunakan tabel S-Box ini
Mixcolumns, dan AddRoundKey. Pada sebenarnya adalah hasil dari dua proses
awal proses enkripsi, input yang telah transformasi bytes, yaitu :
dikopikan ke dalam state akan 1. Invers perkalian dalam GF(28)
mengalami transformasi byte adalah fungsi yang memetakan 8 bit
AddRoundKey. Setelah itu, state akan ke 8 bit yang merupakan invers dari
mengalami transformasi SubBytes, elemen finite field tersebut. Suatu
ShiftRows, MixColumns, dan byte a merupakan invers perkalian
AddRoundKey secara berulang-ulang dari byte b bila a•b = 1, kecuali {00}
sebanyak Nr. Proses ini dalam algoritma dipetakan ke dirinya sendiri. Setiap
Rijndael disebut sebagai round function. elemen pada state akan dipetakan
Round yang terakhir agak berbeda pada tabel invers. Sebagai contoh,
dengan round-round sebelumnya elemen “01010011” atau {53} akan
dimana pada round terakhir, state tidak dipetakan ke {CA} atau
mengalami transformasi MixColumns. “11001010”.
2. Transformasi affine pada state yang
telah dipetakan. Transformasi affine
ini apabila dipetakan dalam bentuk
matriks adalah sebagai berikut :
b0' 1 0 0 0 1 1 1 1 b0 1 b7 b6 b5 b4 b3 b2 b1 b0 adalah
b1' 1 1 0 0 0 1 1 1 b1 1
urutan bit dalam elemen state
b2' 1 1 1 0 0 0 1 1 b2 0
b3' 1 1 1 1 0 0 0 1 b3 0
atau array byte dimana b7
b4' 1 1 1 1 1 0 0 0 b4 0 adalah most significant bit
b5' 0 1 1 1 1 1 0 0 b5 1 atau bit dengan posisi paling
b6' 0 0 1 1 1 1 1 0 b6 1 kiri.
b7' 0 0 0 1 1 1 1 1 b7 0
64 Jurnal Computech & Bisnis, Vol. 4, No. 2, Desember 2010, 59-69
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

2.3.3 ShiftRows
Transformasi Shiftrows pada S S’

dasarnya adalah proses pergeseran bit S0,0 S0,1 S0,2 S0,3 S0,0 S0,1 S0,2 S0,3
dimana bit paling kiri akan dipindahkan S1,0 S1,1 S1,2 S1,3 S1,1 S1,2 S1,3 S1,0

menjadi bit paling kanan (rotasi bit). S2,0 S2,1 S2,2 S2,3 S2,2 S2,3 S2,0 S2,1
S3,0 S3,1 S3,2 S3,3 S3,3 S3,0 S3,1 S3,2
Transformasi ini diterapkan pada baris
2, baris 3, dan baris 4. Baris 2 akan
mengalami pergeseran bit sebanyak satu
kali, sedangkan baris 3 dan baris 4
masing-masing mengalami pergeseran Gambar 2.4 Transformasi ShiftRows
bit sebanyak dua kali dan tiga kali.
2.3.4 MixColumns a(x) = {03}x3 + {01}x2 + {01}x + {02}.
Secara lebih jelas, transformasi
Mixcolumns mengoperasikan setiap
mixcolumns dapat dilihat pada perkalian
elemen yang berada dalam satu kolom
matriks berikut ini :
pada state. Elemen pada kolom
dikalikan dengan suatu polinomial tetap
s 0' ,c 02 03 01 01 s 0, c
s1' ,c 01 02 03 01 s1,c
s 2' ,c 01 01 02 03 s 2, c
s 3' ,c 03 01 01 02 s 3,c

Melakukan proses penambahan pada matriks diatas dapat dianggap seperti


operasi ini berarti melakukan operasi perkalian yang ada di bawah ini :
bitwise XOR. Maka hasil dari perkalian
s 0' ,c ({02} s o,c ) ({03} s1,c ) s 2, c s 3,c
s1' ,c s 0,c ({02} s1,c ) ({03} s 2,c ) s 3,c
s 2' ,c s 0,c s1,c ({02} s 2,c ) ({03} s 3,c )
s 3' ,c ({03} s 0,c ) s1,c s 2, c ({02} s 3,c )

2.3.5 AddRoundKey RoundKey terdiri dari Nb word dimana


tiap word tersebut akan dijumlahkan
Pada proses AddRoundKey, sebuah
dengan word atau kolom yang
roundkey ditambahkan pada state
bersesuaian dari state sehingga :
dengan operasi bitwise XOR. Setiap
s0' ,c , s1' ,c , s 2' ,c , s3' ,c s0,c , s1,c , s 2,c , s3,c wround*Nb c untuk 0 c Nb

[wi] adalah word dari key yang Transformasi cipher dapat


bersesuaian dimana i = round*Nb+c. dibalikkan dan diimplementasikan
Transformasi AddRoundKey dalam arah yang berlawanan untuk
diimplementasikan pertama kali pada menghasilkan inverse cipher yang
round = 0, dimana key yang digunakan mudah dipahami untuk algoritma
adalah initial key (key yang dimasukkan rijndael. Transformasi byte yang
oleh kriptografer dan belum mengalami digunakan pada invers cipher adalah
proses key expansion). InvShiftRows, InvSubBytes,
InvMixColumns, dan AddRoundKey.
Algoritma dekripsi dapat dilihat pada
2.4 Dekripsi skema berikut ini :
Budiantoro, Implementasi Algoritma Enkripsi Rijndael 65
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

Cipher Text transformasi ShiftRows. Pada


AddRoundKey
transformasi InvShiftRows, dilakukan
InvShiftRows pergeseran bit ke kanan sedangkan pada
InvSubBytes
ShiftRows dilakukan pergeseran bit ke
kiri. Pada baris kedua, pergeseran bit
AddRoundKey dilakukan sebanyak 3 kali, sedangkan
InvMixColumns Nr - 1 pada baris ketiga dan baris keempat,
InvShiftRows Round
InvSubBytes dilakukan pergeseran bit sebanyak dua
kali dan satu kali.
AddRoundKey

Plain Text
S S’

S0,0 S0,1 S0,2 S0,3 S0,0 S0,1 S0,2 S0,3


Gambar 2.5 Diagram Alir Proses
S1,0 S1,1 S1,2 S1,3 S1,3 S1,0 S1,1 S1,2
Dekripsi
S2,0 S2,1 S2,2 S2,3 S2,2 S2,3 S2,0 S2,1
S3,0 S3,1 S3,2 S3,3 S3,1 S3,2 S3,3 S3,0

2.4.1 InvShiftRows
InvShiftRows adalah transformasi Gambar 2.6 Transformasi InvShiftRows
byte yang berkebalikan dengan
2.4.2 InvSubBytes Pada InvMixColumns, kolom-kolom
pada tiap state (word) akan dipandang
InvSubBytes juga merupakan
sebagai polinom atas GF(28) dan
transformasi bytes yang berkebalikan
mengalikan modulo x4 + 1 dengan
dengan transformasi SubBytes. Pada
polinom tetap a-1(x) yang diperoleh dari
InvSubBytes, tiap elemen pada state
:
dipetakan dengan menggunakan tabel
inverse S-Box. Tabel ini berbeda dengan a-1(x)= {0B}x3
tabel S-Box dimana hasil yang didapat + {0D}x2 + {09}x +
dari tabel ini adalah hasil dari dua proses {0E}.
yang berbeda urutannya, yaitu
transformasi affine terlebih dahulu, baru Atau dalam matriks :
kemudian perkalian invers dalam '
GF(28). s ( x) a ( x) s( x)
b7' 0 1 0 1 0 0 1 0 b7 0 s0' ,c 0 E 0 B 0 D 09 s 0 ,c
b6' 0 0 1 0 1 0 0 1 b6 0
s1' ,c 09 0 E 0 B 0 D s1,c
b5' 1 0 0 1 0 1 0 0 b5 0
b4' 0 1 0 0 1 0 1 0 b4 0 s 2' ,c 0 D 09 0 E 0 B s 2 ,c
b3' 0 0 1 0 0 1 0 1 b3 0 s3' ,c 0 B 0 D 09 0 E s3,c
b2' 1 0 0 1 0 0 1 0 b2 1
b1' 0 1 0 0 1 0 0 1 b1 0 Hasil dari perkalian diatas adalah :
b0' 1 0 1 0 0 1 0 0 b0 1

s0' ,c ({0 E} so,c ) ({0 B} s1,c ) ({0 D} s 2,c ) ({09} s3,c )


Perkalian invers yang dilakukan pada '
transformasi InvSubBytes ini sama s 1,c ({09} so,c ) ({0 E} s1,c ) ({0 B} s 2,c ) ({0 D} s3,c )

dengan perkalian invers yang dilakukan s 2' ,c ({0 D} so,c ) ({09} s1,c ) ({0 E} s 2,c ) ({0 B} s3,c )
'
pada transformasi SubBytes. s 3, c ({0 B} so,c ) ({0 D} s1,c ) ({09} s 2,c ) ({0 E} s3,c )

2.4.3 InvMixColumns
2.4.4 Inverse AddRoundKey
66 Jurnal Computech & Bisnis, Vol. 4, No. 2, Desember 2010, 59-69
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

Transformasi Inverse AddRoundKey menjadi matriks (array) berukuran 4x4


tidak mempunyai perbedaan dengan dan begitu pula kata kuncinya.
transformasi AddRoundKey karena pada Kemudian akan dilakukan 4
transformasi ini hanya dilakukan operasi transformasi sebagai berikut sebanyak 9
penambahan sederhana dengan kali tergantung jenis kunci yang
menggunakan operasi bitwise XOR. ( digunakan :
J.Daemen, V.Rijmen,AES Proposal:
Rijndael, 1. AddRoundKey
http://www.esat.keuleven.ac.be/~rizmen 2. SubBytes
) 3. ShiftRows
4. MixColumns
5. AddRoundKey
2.5 Implementasi Rijndael
2.5.1 Implementasi Rijndael untuk proses 2 sampai 5 diulang
sebanyak 9 kali,Setelah itu, untuk
2.5.1.1 Enkripsi round ke-10 dilakukan 3
62 79 0 0 62 1 5 9 transformasi sebagai berikut :
75 0 0 0 75 2 6 A
1. SubBytes
64 0 0 0 64 3 7 B
2. ShiftRows
69 0 0 0 69 4 8 C 3. AddRoundKey
State Awal ( budiy) Key Awal ( budi kolom 1 (3) + Nilai baris 1 kolom 3
) (6B) * baris 3 kolom 1 (1) + Nilai baris
1 kolom 4 (1) * baris 4 kolom 1 (1),
Misal, teks berita dengan teks Proses tersebut merupakan perkalian
„budiy‟ dan kata kunci „budi‟ sudah matrik standar .
diolah sedemikian rupa sehingga
asil proses roundkey : 2 4 5 9 D C 4 C F D 6 6 5 4 7 6

6 9 E E 9 3 9 F 7 A E 7 8 8
0 F E 5 A 7 C 4 A 9 C 2 8 7 D 6 Ro Ro Ro Ro
un un un un
7 2 A 2 E 4 F E 1 1 2 B 5 2 1 F
d5 d6 d7 d8
9 0 8 A A 2 D 5 7 0 D 9 9 F C F
9 A B 5 E 3 C 3
B 5 5 B 2 9 2 5 C 6 6 9 B F 7
5 A 8 4 7 5 0 C
6 9 9 1 2 C 9 0 6 2 0 6 6 D A A
B B 5 B 5 4 D F
9 3 2 1 8 E A 2 4 D 3 9 7 6 F
1 A 5 C B 2 A 9
8 1 2 3 4 C 6 4 1 F 6 D 7 5 A A
7 B 9 7 A 2 8 2
0 3 8 C 2 7 2 5
Ro Ro Ro Ro 2 F B 5 4 C 2 6
un un un un 8 8 B 7 B A C 5
d1 d2 d3 d4
Ro
5 C 8 B 1 9 1 8 7 3 5 B A A 8 8
Ro un
F 3 2 6 B 7 8 2 C F 9 C 9 2 6 5
un d
4 C C 4 3 3 E 4 5 4 5 F D 4 8 D d9 10
0 9 D 5 4 B 6 E 4 D A 8 8 A 8 3
A 4 7 9 4 B 7 6 A 1 B C E 6 3
8 7 6 D F 0 C 2 D E 8 0 6 A 1 B
3 7 C 7 D B 8 F 1 A B 9 2 4 7 8

E7 35 C0 3C

5B 42 DA F9
Hasil Akhirnya adalah berupa
CipherText A2 27 82 25
Budiantoro, Implementasi Algoritma Enkripsi Rijndael 67
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

4B number ketika proses penginstalan


CA 2C 65
program adalah kemudahan
penggunaannya karena pemakai dalam
Maka keluaran untuk proses enkripsi
hal ini orang yang akan menerima
diatas adalah E7 5B A2 4B 35 42 27
program kita yang bersifat percobaan,
CA C0 DA 82 2C 3C F9 25 65 ( dalam
tidak perlu susah untuk memasukan
hexadesimal)
serial number ketika proses instalasi
program hanya untuk menjalankan
program agar berjalan normal, karena
ANALISIS SISTEM file lisensi dibaca secaraa otomatis oleh
3.1 Deskripsi Global Aplikasi program yang diujicobakan dan akan
3.1.1 Deskripsi Umum menjalankan program jika data tersebut
Aplikasi yang akan dibangun sah. Meskipun file ini dapat dilihat oleh
terdiri dari 2 bagian utama yaitu aplikasi pemakai, file kunci lisensi ini relative
yang akan menghasilkan file lisensi susah untuk dimanipulasi untuk
yang akan digunakan oleh program yang merubah kondisi file dari status uji coba
bersifat uji coba (trial) untuk menjadi tidak bersifat uji coba
mengetahui masa berakhirnya dikarenakan menggunakan teknik
penggunaan program pengubah atribut kriptografi rijndael untuk mengkaburkan
file dan nama pemilik dari file kunci data yang ada di dalam file tersebut, dan
lisensi tersebut, dan bagian dari aplikasi algoritma rijndael ini telah menjadi
program pengubah atribut file yang standar internasional dalam pengamanan
bertugas untuk membaca data dari file data yang ketahanannya terhadap
kunci lisensi data memperbaharui data di serangan untuk mengetahui data yang
file kunci lisensi. Gambaran dari telah dienkripsi relative lebih sukar.
aplikasi ini dapat dilihat dari gambar Diagram Use case yang
dibawah ini : digunakan pada aplikasi ini adalah

Mengupdate
Menghasilkan

a ca File Kunci
Me mb Lisensi

Program Pengubah Program Pembuat


Atribut File File Kunci Lisensi
Gambar 3.1 Deskripsi Umum
Proses Penulisan dan Pembacaan File
Kunci Lisensi

Keunggulan penggunaan file


Gambar Diagram Use Case Pembacaan
kunci lisensi sebagai pengaman program
File Kunci Lisensi
dibandingkan dengan cara yang lain
contohnya seperti penggunaan serial
3.2 Deskripsi Rinci Kebutuhan Aplikasi ini menggunakan bahasa
3.2.1 Kebutuhan Antarmuka vb.net dan c#.net
Ekseternal
a. Antarmuka Pemakai 3.2.2 Deskripsi Proses
Aplikasi ini menggunakan Aplikasi Pembuat File Kunci Lisensi
antarmuka berbasis desktop dengan Diagram use case program
sistem operasi windows. pembuat file kunci lisensi
b. Antarmuka Perangkat Lunak
68 Jurnal Computech & Bisnis, Vol. 4, No. 2, Desember 2010, 59-69
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

berakhirnya file lisensi, setelah data


Membuat file Kunci lisensi
lengkap maka pemakai membuat data
lisensi, lalu jika pemakai ingin
<<extend>> mengenkripsi data tersebut maka
Enkrip data pemakai menekan tombol enkrip maka
<<extend>>
Pembuat Kunci
Lisensi
aplikasi akan mengenkripsi data
tersebut, lalu jika pemakai
Simpan File Dekrip Data menginginkan data tersebut disimpan
maka perlu menekan tombol simpan lalu
Gambar Use Case Pembuatan File muncul kotak dialog untuk menentukan
Kunci Lisensi lokasi penyimpanan file, dan program
akan menyimpan data yang telah
Use case diagram dari aplikasi dienkripsi ke lokasi yang telah
pembuat file kunci lisensi akan ditentukan sebelumnya.
dijelaskan melalui diagram swimlane di
bawah ini : PERANCANGAN SISTEM
Diagram Swimlane Pembuatan File Merancang Metode
Kunci Lisensi Metode yang dirancang adalah
PembuatLisensi AplikasiPembuatKunciLisensi FileKunciLisensi
metode yang telah dikenali pada tahap
Masukan data
analisa sistem, yang digambarkan pada
Pemilik
diagram kelas. Untuk perancangan ini
Masukan data Tgl
Berakhir lisensi
Enkripsi Data digunakan diagram aktifitas dalam
menggambarkan algoritma metode
Buat data lisensi
tersebut, sebelum menerangkan tentang
Sim pan
Ya Sim pan File
diagram aktifitas, akan dijelaskan
Tidak Enkripsi ?
Tidak

Dekrip
terlebih dahulu gambaran umum dari
Ya

Tekan Tom bol


Ya kelas yang terdapat di dalam aplikasi
Dekrip Data

Tidak
enkripsi
Tidak
pembuatan file kunci lisensi dan
Sim pan ? sebagian dari bagian aplikasi pengubah
Tentukan Lokasi
Sim pan File lisensi
atribut file.
Cancel Ok
Di dalam program pembuat
kunci lisensi ada 4 kelas utama yaitu :
Gambar Diagram Aktivitas Pembuatan 1. Kelas form utama pembuat
File Kunci Lisensi kunci lisensi
2. Kelas pembuat lisensi
Untuk membuat file kunci 3. Kelas rijndael
lisensi pada aplikasi, pertama – tama 4. Kelas file kunci lisensi
pembuat kunci lisensi memasukan nama Gambaran umum dari kelas tersebut
yang akan memiliki file kunci lisensi, adalah sebagai berikut :
setelah itu menentukan tanggal
Gambar Diagram Kelas untuk Program
Pembuat File Kunci Lisensi
Perancangan User Interface Input dan
Output Program Pembuat Kunci
Lisensi

Pengembangan Aplikasi Tahapan implementasi


merupakan tahap lanjutan dari tahap
5.3.1 Program Pembuat lisensi
analisa dan perancangan sistem. Dari
Budiantoro, Implementasi Algoritma Enkripsi Rijndael 69
Implementasi Algoritma Enkripsi Rijndael………………... (Budiantoro, Nanan Rohman)

sistem yang telah dianalisa dan diamankan dengan teknik enkripsi


dirancang dengan menggunakan metode rijndael relative lebih sukar dipecahkan
berorientasi objek, maka sistem tersebut oleh seorang kriptoanalis.
diterapkan dalam suatu bahasa
pemrograman Vb. Net dan C# .net. Secara keseluruhan aplikasi ini cukup
membantu digunakan untuk
menghasilkan file kunci lisensi yang
lebih aman dalam rangka promosi.

DAFTAR PUSTAKA

Edwin NC Mui, Practical


Implementation of Rijndael S-
Box Using Combinational
Logic,
http://www.comms.scitech.susx.
ac.uk/fft/crypto/rijndael-
sbox.pdf
Greg Perry & Ian Spencer, 1995, Visual
C++, Andi, Yogyakarta
Gambar Tampilan Form Utama Halvorson, Michael,. 2000, Step by step
Aplikasi Pembuat Lisensi File Microsoft Visual Basic 6.0, Elex
Media Komputindo, Jakarta.
KESIMPULAN Joan Daemen & Vincent Rijmen, AES
Dari laporan penelitian yang Proposal : Rijndael,
telah disusun, maka dapat ditarik http://www.esat.kuleuvalen.ac.b
kesimpulan sebagai berikut : e/~rizmen/
1. Program pembuat lisensi ini Petroutsos, Evangelos, 1998, Mastering
digunakan sebagai langkah Visual Basic Basic 6 , Sybex,
pengamanan untuk melakukan California
kegiatan promosi terhadap program Pressman. Roger 2005, Software
milik sendiri yang akan diberikan ke Enginering, McGrawHill ,
pihak konsumen Singapore
2. File lisensi yang dihasilkan oleh Rinaldi Munir, 2006, Kriprografi,
program pembuat lisensi yang Informatika, Bandung.

You might also like