bab iii analisa dan perancangan sistemeprints.umm.ac.id/45137/4/bab iii.pdfpendukung pembangunan...

23
24 BAB III ANALISA DAN PERANCANGAN SISTEM Bab ini membahas mengenai analisa dan perancangan sistem. Pembahasan analisa terbagi menjadi 2 yakni analisa masalah dan analisa sistem. Analisa masalah di sini akan membahas berkenaan permasalahan yang mendasari penelitian ini. Analisa sistem membahas tentang sistem yang akan dibangun serta aplikasi pendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem yang terdiri dari perancangan program enkripsi dan dekripsi AES standar dan AES modifikasi untuk mendapatkan data waktu enkripsi dan dekripsi serta bit ciphertext untuk diproses menjadi Avalanche Effect. 3.1. Analisa Masalah Berdasarkan latar belakang, dapat diketahui beberapa permasalahan utama yang akan dibahas dalam penelitian ini. Permasalahan tersebut adalah tingkat Kea- manan AES 128 yang diketahui terletak pada kerahasiaan kunci. Penelitian ini kemudian mengambil beberapa Algoritma yang sebelumnya digunakan untuk mem- perkuat kunci, algoritma tersebut adalah algoritma Blum Blum Shub dan algoritma Chaotic Function. Permasalahan lainnya adalah AES termasuk dalam kategori block cipher menjadikan AES memerlukan waktu pemrosesan yang cukup tinggi yang kemudian penelitian ini mengambil suatu algoritma untuk memperkecil waktu pem- rosesan AES yaitu Modifikasi ShiftRows. Modifikasi ShiftRows telah terbukti dalam mengurangi waktu proses AES dalam penelitian [7] sebesar 20.70%. Penelitian ini kemudian menggabungkan tiga algoritma tersebut untuk mendapatkan hasil AES yang lebih aman dan lebih cepat. 3.2. Analisa Sistem Sistem yang akan dibangun adalah suatu program enkripsi dan dekripsi untuk AES standar dan AES modifikasi. Program tersebut dibangun menggunakan bahasa

Upload: tranxuyen

Post on 30-Jun-2019

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

24

BAB III

ANALISA DAN PERANCANGAN SISTEM

Bab ini membahas mengenai analisa dan perancangan sistem. Pembahasan

analisa terbagi menjadi 2 yakni analisa masalah dan analisa sistem. Analisa masalah

di sini akan membahas berkenaan permasalahan yang mendasari penelitian ini.

Analisa sistem membahas tentang sistem yang akan dibangun serta aplikasi

pendukung pembangunan sistem. Perancangan sistem akan membahas tentang

langkah langkah perancangan sistem yang terdiri dari perancangan program enkripsi

dan dekripsi AES standar dan AES modifikasi untuk mendapatkan data waktu

enkripsi dan dekripsi serta bit ciphertext untuk diproses menjadi Avalanche Effect.

3.1. Analisa Masalah

Berdasarkan latar belakang, dapat diketahui beberapa permasalahan utama

yang akan dibahas dalam penelitian ini. Permasalahan tersebut adalah tingkat Kea-

manan AES 128 yang diketahui terletak pada kerahasiaan kunci. Penelitian ini

kemudian mengambil beberapa Algoritma yang sebelumnya digunakan untuk mem-

perkuat kunci, algoritma tersebut adalah algoritma Blum Blum Shub dan algoritma

Chaotic Function. Permasalahan lainnya adalah AES termasuk dalam kategori block

cipher menjadikan AES memerlukan waktu pemrosesan yang cukup tinggi yang

kemudian penelitian ini mengambil suatu algoritma untuk memperkecil waktu pem-

rosesan AES yaitu Modifikasi ShiftRows. Modifikasi ShiftRows telah terbukti dalam

mengurangi waktu proses AES dalam penelitian [7] sebesar 20.70%. Penelitian ini

kemudian menggabungkan tiga algoritma tersebut untuk mendapatkan hasil AES

yang lebih aman dan lebih cepat.

3.2. Analisa Sistem

Sistem yang akan dibangun adalah suatu program enkripsi dan dekripsi untuk

AES standar dan AES modifikasi. Program tersebut dibangun menggunakan bahasa

Page 2: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

25

pemrograman PHP yang di susun pada software Sublime text 3. PHP adalah bahasa

pemrograman yang bersifat open source yang diperuntukkan untuk pengembangan

web. PHP merupakan bahasa scripting server - side yang ditanamkan pada HTML,

sehingga server yang akan menerjemahkan skrip program kemudian hasil akan

dikirimkan ke client yang melakukan permintaan. Penelitian ini menggunakan PHP

karena Bahasa PHP sendiri mudah untuk dipelajari sehingga memudahkan penelitian

lain untuk menggembangkan penelitian ini. Sifatnya yang open source juga menjadi

pertimbangan dipakainya PHP dalam penelitian ini. Sublime text 3 adalah salah satu

text editor yang digunakan untuk menyusun dan mengedit code. Banyak bahasa pem-

rograman yang didukung oleh Sublime text 3, salah satunya adalah PHP yang

digunakan untuk membangun sistem dan program yang digunakan pada penelitian ini.

3.3. Analisa Kebutuhan Sistem

Ada beberapa perangkat lunak dan perangkat keras dengan spesifikasi yang

cocok dan dibutuhkan untuk dapat membangun simulasi yang sesuai dengan fungsi

dan kebutuhan yang telah dirancang, yakni :

a. Software

Perangkat lunak yang digunakan dalam simulasi ini adalah sebagai berikut :

- PHP, bahasa pemrograman yang bersifat server-side dan open-source untuk

membangun aplikasi berbasis web.

- XAMPP, adalah wadah pemrograman PHP dan sebagai server yang berdiri

sendiri (localhost).

- Sublime Text 3, perangkat lunak yang digunakan dalam menyusun script PHP

dan MySQL untuk membangun sistem Enkripsi dan Dekripsi AES standar

dan AES modifikasi.

b. Hardware

Adapun perangkat keras yang digunakan dalam simulasi ini, yakni Personal

Computer dengan spesifikasi :

Page 3: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

26

- Sistem Operasi Linux Lite 4.0.

- Intel(R) Core(TM) i3-3217U @ 1,80 GHz, 1 Physical Processor, 2 Cores, 4

Threads.

- 4096MB RAM.

- Graphic card Nvidia GT720M 2GB.

3.4. Perancangan Sistem

Bagian ini menjabarkan rancangan sistem yang akan dibangun. Sistem yang

akan dibangun terdiri dari beberapa sub-sistem yang memiliki keterkaitan terhadap

sub-sistem lainnya, sehingga sistem dapat berjalan dengan baik. Sub-sistem tersebut

yaitu Rancangan AES dan Rancangan AES modifikasi yang masing masing meliputi

pembangkitan kunci, enkripsi dan dekripsi. Penjelasan rinci untuk masing masing

sub-sistem adalah sebagai berikut.

3.4.1. Rancangan AES

Penelitian ini membandingkan antara AES standar dan AES modifikasi.

Perbandingan tersebut dilihat dari waktu enkripsi dan dekripsi serta Avalanche Effect.

AES standar sendiri adalah AES yang belum mendapatkan modifikasi. Rancangan

AES ini dibagi menjadi tiga bagian. Pertama adalah proses Pembangkitan kunci,

kedua adalah proses enkripsi AES dan yang ketiga adalah proses dekripsi AES.

Gambar 7 menunjukka alur proses enkripsi AES standar dalam bentuk flowchart.

a. Key Schedule AES

Proses Key Schedule atau pembangkitan kunci dalam AES merupakan

proses untuk menghasilkan kunci kunci ronde yang digunakan pada tiap tiap

ronde AES. Pada kasus AES 128 kunci ronde yang dihasilkan berjumlah 10,

masing masing untuk ronde 1 sampai 10. Ronde 0 menggunakan kunci awal.

Berikut adalah prosesnya :

a. Tentukan kunci awal (16 Bytes), kunci awal disebut kunci ronde 0.

b. Buatlah array 4x4 berisi 16 Bytes kunci awal, dengan urutan seperti gambar

3.1. bagai berikut.

Page 4: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

27

Gambar 3.1. Array 4x4 kunci ronde 0

c. untuk mendapatkan kunci ronde 1 kolom 0 maka, kunci K30 dilakukan shift

dari atas ke bawah seperti gambar 3.2. dibawah ini.

Gambar 3.2. Shift K30 ke posisi K33

d. Kemudian lakukan SubBytes dengan tabel S-Box untuk tiap Bytes menjadi

seperti gambar 3.3. dibawah ini.

Gambar 3.3. Kolom 3 yang telah di SubBytes dengan S-Box

e. Kemudian XOR kan dengan kolom 0 dan Rcon sesuai urutannya. Gambar

3.4. menunjukkan tabel Rcon dan gambar 3.5. menunjukkan operasi xor

antara kolom 0, kolom 3 yang telah di SubBytes, dan kolom Rcon. Kolom

Rcon yang dipakai untuk setiap ronde berbeda, dari kolom 0 sampai kolom 9

masing masing untuk ronde 1 sampai 10.

Page 5: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

28

Gambar 3.4. Tabel Rcon

Gambar 3.5. Proses generate kunci ronde 1 kolom 0

f. Untuk kunci ronde 1 kolom 1 dihasilkan dari operasi XOR antara kunci ronde

0 kolom 1 dan kunci ronde 1 kolom 0 seperti yang terlihat pada gambar 3.6.

dibawah ini.

Gambar 3.6. Proses generate kunci ronde 1 kolom 1

g. Untuk kunci ronde 1 kolom 2 dihasilkan dari operasi XOR antara kunci ronde

0 kolom 2 dan kunci ronde 1 kolom 1 seperti yang terlihat pada gambar 3.7.

dibawah ini.

Gambar 3.7. Proses generate kunci ronde 1 kolom 2

Page 6: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

29

h. Untuk kunci ronde 1 kolom 3 dihasilkan dari operasi XOR antara kunci ronde

0 kolom 3 dan kunci ronde 1 kolom 2 seperti yang terlihat pada gambar 3.8.

dibawah ini.

Gambar 3.8. Proses generate kunci ronde 1 kolom 3

i. Setelah dihasilkan 4 kolom kunci untuk ronde 1 maka dapat disusun untuk

menjadi kunci ronde 1, sebagaimana terlihat pada gambar 3.9. dibawah ini.

Gambar 3.9. Array 4x4 Kunci Ronde 1

j. Generate kunci ronde 2 dan seterusnya adalah dengan mengulang b sampai i.

Untuk AES 128 pengulangan dilakukan sebanyak 10 kali (10 ronde).

b. Enkripsi AES

Enkripsi AES adalah proses pengubahan plaintext menjadi ciphertext

dalam algoritma AES. Rancangan ini adalah rancangan enkripsi AES standar

tanpa adanya modifikasi didalamnya. Rancangan proses yang menjelaskan

gambar 3.10. adalah sebagai berikut.

a. Tentukan kunci awal.

b. Tentukan kunci ronde 0, kunci ronde 0 adalah kunci awal.

c. Generate kunci kunci ronde melalui proses key schedule menggunakan kunci

ronde 0, dan hasilkan 10 kunci ronde. kesepuluh kunci ronde akan digunakan

pada fase AddRoundKey ronde 1 sampai 10.

d. Siapkan plaintext.

Page 7: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

30

e. Lakukan proses AddRoundKey antara kunci ronde 0 dan plaintext per blok,

hasilkan state ronde 0.

f. State ronde 0 lalu diproses melalui SubByte, ShiftRows, MixColumns dan

AddRoundKey secara berurutan dan hasilkan state ronde 1.

g. Proses e diulang sampai 9 kali (ronde 1 sampai ronde 9), dengan inputan state

ronde sebelumnya. Hasilkan state ronde 2 sampai ronde 9.

h. State ronde 9 kemudian akan diproses pada ronde 10 yaitu melalui proses

SubBytes, ShiftRows dan AddRoundkey secara berurutan tanpa MixColumns.

Hasilkan state ronde 10.

i. State ronde 10 adalah ciphertext final hasil enkripsi AES.

Gambar 3.10. Rancangan Enkripsi AES

Gambar 3.10. adalah Flowchart yang menggambarkan tentang rancangan

enkripsi pada AES standar dimulai dari pembangkitan kunci sampai

menghasilkan ciphertext. Pembangkitan kunci dalam rancangan enkripsi AES

Page 8: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

31

standar diatas menggunakan kunci awal sebagai kunci ronde 0. Banyak ronde

atau perputaran fase pada rancangan diatas adalah 10 ronde, dengan 9 ronde

pertama terdiri dari 4 fase utama dan 1 ronde terakhir terdiri dari 3 fase tanpa

fase MixColumns.

c. Dekripsi AES

Dekripsi AES adalah proses pengubahan ciphertext menjadi plaintext

dalam algoritma AES. Rancangan ini adalah rancangan dekripsi AES standar

tanpa adanya modifikasi didalamnya. Rancangan proses yang menjelaskan

gambar 3.11. adalah sebagai berikut.

a. Tentukan kunci ronde 0.

b. Generate kunci kunci ronde melalui proses key schedule menggunakan kunci

ronde 0, dan hasilkan 10 kunci ronde. Kesepuluh kunci ronde akan digunakan

pada fase AddRoundKey ronde 1 sampai 10. Kunci digunakan dalam posisi

iterasi terbalik, jika ronde 0, maka memakai key ronde 10, jika ronde 1, maka

memakai key ronde 9 dst.

c. Siapkan ciphertext.

d. Lakukan proses AddRoundKey antara kunci ronde 10 dan ciphertext per blok,

hasilkan state ronde 0.

e. State ronde 0 lalu diproses melalui InvShiftRows, InvSubByte, InvMixColumns

dan AddRoundKey secara berurutan dan hasilkan state ronde 1.

f. Proses e diulang sampai 9 kali (ronde 1 sampai ronde 9), dengan inputan state

ronde sebelumnya. Hasilkan state ronde 2 sampai ronde 9.

g. State ronde 9 kemudian akan diproses pada ronde 10 yaitu melalui proses

InvShiftRows, InvSubBytes dan AddRoundkey secara berurutan tanpa

MixColumns. AddRoundKey ronde 10 memakai key ronde 0. Hasilkan state

ronde 10.

h. State ronde 10 adalah plaintext final hasil dekripsi AES.

Page 9: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

32

Gambar 3.11. Rancangan Dekripsi AES

Gambar 3.11. adalah Flowchart yang menggambarkan tentang rancangan

dekripsi pada AES standar dimulai dari pembangkitan kunci sampai

menghasilkan plainrtext. Pembangkitan kunci dalam rancangan dekripsi AES

standar diatas menggunakan kunci awal sebagai kunci ronde 0. Banyak ronde

atau perputaran fase pada rancangan diatas adalah 10 ronde, dengan 9 ronde

pertama terdiri dari 4 fase utama dan 1 ronde terakhir terdiri dari 3 fase tanpa

fase InvMixColumns.

3.4.2. Rancangan AES Modifikasi

Rancangan AES Modifikasi terdiri dari beberapa bagian. Bagian tersebut

meliputi generate bilangan BBS, generate bilangan CF, modifikasi ShiftRows, key

Page 10: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

33

schedule AES modifikasi, enkripsi AES modifikasi, dan dekripsi AES modifikasi.

Berikut adalah penjelasan tentang masing bagian rancangan AES modifikasi.

a. Generate Bilangan BBS

Proses Generate bilangan BBS dilakukan sesuai kaidah dan formula al-

goritma BBS. Berikut ini adalah langkah langkah generate bilangan BBS yang

dipakai dalam proses pembangkitan kunci.

a. Tentukan dua bilangan prima p dan q, di mana p dan q keduanya kongruen

terhadap , dan

b. Kalikan p dan q agar menghasilkan bilangan bulat Blum N dengan rumus

c. Pilih bilangan acak s sebagai seed, dengan kriteria: ; s dan n

adalah bilangan relatif prima.

d. Selanjutnya menghitung nilai dari

e. Lalu menghitung sampai dengan rumus .

f. Ambil LSB dengan banyak 4 digit biner dari sampai . Kumpulkan jadi

16 Bytes bilangan BBS.

Page 11: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

34

Gambar 3.12. Rancangan Generate Bilangan BBS

Gambar 3.12. menunjukkan rancangan algoritma BBS yang berbentuk

flowchart. Rancangan tersebut digunakan dalam rancangan AES modifikasi.

Proses rancangan diatas dimulai dari penentuan bilangan prima p , q dan s

dengan syarat p dan q harus didefinisikan dengan 3 mod 4 serta s harus koprima

dengan pq. 3 bilangan tersebut kemudian di proses menggunakan rumus BBS

sehingga menghasilkan bilangan BBS. Setiap bilangan BBS kemudian diambil

LSB nya yang kemudian digabung sehingga menghasilkan 16 bit bilangan BBS.

Page 12: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

35

b. Generate Bilangan CF

Proses Generate bilangan CF dilakukan sesuai kaidah dan formula algo-

ritma CF. Berikut ini adalah langkah langkah generate bilangan CF yang dipakai

dalam proses pembangkitan kunci.

a. Pertama ialah menentukan Nilai Awal atau dengan kriteria .

b. Langkah kedua ialah menentukan Laju Pertumbuhan (r) dengan kriteria :

.

c. Selanjutnya menghitung nilai dari sampai dengan rumus

. Ambil digit terakhir dari bilangan yang dihasilkan.

d. Ambil LSB dengan banyak 4 digit biner digit terkhir yang diperoleh dari

sampai .

e. Kumpulkan LSB tersebut menjadi 16 Bytes bilangan CF.

Gambar 3.13. Rancangan Generate Bilangan CF

Page 13: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

36

Gambar 3.13. menunjukkan rancangan algoritma BBS yang berbentuk

flowchart. Rancangan tersebut digunakan dalam rancangan AES modifikasi.

Proses rancangan diatas dimulai dari penentuan nilai awal xi dan laju

pertumbuhan r. Bilangan tersebut kemudian di proses menggunakan rumus CF

sehingga menghasilkan bilangan CF. Setiap bilangan CF kemudian diambil LSB

nya yang kemudian digabung sehingga menghasilkan 16 bit bilangan CF.

c. Rancangan ShiftRows Modifikasi

Rancangan sub-sistem selanjutnya adalah modifikasi ShiftRows.

Modifikasi ini menggunakan percabangan apakah state [0,0] bernilai nilai ganjil

atau genap, jika bernilai ganjil, maka hanya baris 1 dan 3 yang mengalami proses

ShiftRows, jika bernilai genap, maka hanya baris 1 dan 2 yang mengalami proses

ShiftRows. Sedangkan baris 0 tetap tidak mengalami. Proses dilakukan setiap

round. Gambar 3.14 menunjukkan ilustrasi modifikasi ShiftRows dan gambar

3.15. menjelaskan proses dan alur rancangan modifikasi ShiftRows.

Gambar 3.14. Ilustrasi ShiftRows Modifikasi

Page 14: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

37

Gambar 3.15. Rancangan ShiftRows Modifikasi

Gambar 3.13. menunjukkan rancangan algoritma BBS yang berbentuk flowchart.

Rancangan tersebut digunakan dalam rancangan AES modifikasi. Proses

rancangan tersebut dimulai dari penentuan state[0,0] apakah bernilai genap atau

ganjil. Proses dilanjutkan dengan melakukan percabangan, jika state[0,0] bernilai

ganjil, maka hanya baris 1 dan 3 yang mengalami proses ShiftRows, jika bernilai

genap, maka hanya baris 1 dan 2 yang mengalami proses ShiftRows.. Proses

tersebut akan menghasilkan state baru hasil dari proses ShiftRows Modifikasi.

d. Key Schedule AES Modifikasi

Rancangan sub-sistem selanjutnya adalah key schedule atau

pembangkitan kunci. key schedule pada AES standar dan AES Modifikasi

memiliki langkah langkah yang sama. Perbedaanya hanya terletak pada

pembangkitan kunci ronde 0. Jika pada AES standar kunci ronde 0 adalah kunci

awal, maka pada AES modifikasi, kunci ronde 0 adalah hasil XOR antara kunci

awal, bilangan BBS dan bilangan CF. Berikut langkah langkah rancangan yang

menjelaskan gambar 3.16. yang menjelaskan proses pembangkitan kunci ronde

0.

a. Siapkan kunci awal. Bilangan BBS dan Bilangan CF.

b. Hasilkan kunci ronde 0 yaitu dengan melakukan operasi XOR antara Kunci

Awal, bilangan BBS dan bilangan CF.

Page 15: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

38

Gambar 3.16. Pembangkitan Kunci Ronde 0 AES Modifikasi

Gambar 3.16. menjelaskan proses pembangkitan kunci ronde 0. Kunci ronde 0

kemudian diproses pada key schedule untuk menghasilkan kunci ronde 1 sampai

10 dengan cara yang sama seperti key schedule AES standar.

e. Enkripsi AES Modifikasi

Enkripsi AES modifikasi memiliki langkah langkah yang sama dengan

Enkripsi AES standar. Perbedaannya terletak pada kunci dan fase ShiftRows nya.

Kunci pada AES modifikasi dihasilkan oleh key schedule AES modifikasi yang

menggunakan bilangan BBS dan CF. ShiftRows pada AES modifikasi

menggunakan ShiftRows modifikasi. langkah langkah yang menjelaskan

enkripsi AES modifikasi adalah sebagai berikut.

a. Tentukan kunci awal.

b. Tentukan kunci ronde 0, kunci ronde 0 adalah hasil XOR antara kunci awal,

bilangan BBS dan bilangan CF.

c. Generate kunci kunci ronde melalui proses key schedule menggunakan kunci

ronde 0, dan hasilkan 10 kunci ronde. Kesepuluh kunci ronde akan

digunakan pada fase AddRoundKey ronde 1 sampai 10.

Page 16: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

39

d. Lakukan proses AddRoundKey antara kunci ronde 0 dan plaintext per blok,

hasilkan state ronde 0.

e. State ronde 0 lalu diproses melalui SubByte, ShiftRows Modifikasi,

MixColumns dan AddRoundKey secara berurutan dan hasilkan state ronde 1.

f. Proses e diulang sampai 9 kali (ronde 1 sampai ronde 9), dengan inputan state

ronde sebelumnya. Hasilkan state ronde 2 sampai ronde 9.

g. State ronde 9 kemudian akan diproses pada ronde 10 yaitu melalui proses

SubBytes, ShiftRows Modifikasi, dan AddRoundkey secara berurutan tanpa

MixColumns.

h. Hasilkan state ronde 10.

i. State ronde 10 adalah ciphertext final hasil enkripsi AES Modifikasi.

Gambar 3.17. Rancangan Enkripsi AES Modifikasi

Page 17: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

40

Gambar 3.17. adalah Flowchart yang menggambarkan tentang rancangan

enkripsi pada AES Modifikasi dimulai dari pembangkitan kunci sampai

menghasilkan ciphertext. Pembangkitan kunci dalam rancangan enkripsi AES

modifikasi menggunakan bilangan BBS dan CF yang kemudian beroperasi XOR

dengan kunci awal untuk menghasilkan kunci ronde 0. Rancangan enkripsi AES

modifikasi tersebut menggunakan fase ShiftRows Modifikasi sebagai ganti dari

ShiftRows seperti pada AES standar. Banyak ronde atau perputaran fase pada

rancangan diatas adalah 10 ronde, dengan 9 ronde pertama terdiri dari 4 fase

utama dan 1 ronde terakhir terdiri dari 3 fase tanpa fase MixColumns.

f. Dekripsi AES Modifikasi

Dekripsi AES modifikasi memiliki langkah langkah yang sama dengan

Dekripsi AES standar. Perbedaannya terletak pada kunci dan ShiftRows nya.

Kunci pada AES modifikasi dihasilkan oleh key schedule AES modifikasi yang

menggunakan bilangan BBS dan CF. InvShiftRows. Dekripsi AES modifikasi

menggunakan InvShiftRows modifikasi. Langkah langkah yang menjelaskan

dekripsi AES modifikasi adalah sebagai berikut.

a. Siapkan kunci awal.

b. Tentukan kunci ronde 0, kunci ronde 0 dihasilkan dari proses XOR kunci awal,

bilangan BBS dan bilangan CF.

c. Generate kunci kunci ronde melalui proses key schedule menggunakan kunci

ronde 0, dan hasilkan 10 kunci ronde. Kesepuluh kunci ronde akan

digunakan pada fase AddRoundKey ronde 1 sampai 10. Kunci digunakan

dalam posisi iterasi terbalik, jika ronde 0, maka memakai key ronde 10, jika

ronde 1, maka memakai key ronde 9 dst.

d. Siapkan ciphertext.

e. Lakukan proses AddRoundKey antara kunci ronde 10 dan ciphertext per blok,

hasilkan state ronde 0.

f. State ronde 0 lalu diproses melalui InvShiftRows Modifikasi, InvSubByte,

InvMixColumns dan AddRoundKey secara berurutan kemudian hasilkan state

ronde 1.

Page 18: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

41

g. Proses e diulang sampai 9 kali (ronde 1 sampai ronde 9), dengan inputan state

ronde sebelumnya. Hasilkan state ronde 2 sampai ronde 9.

h. State ronde 9 kemudian akan diproses pada ronde 10 yaitu melalui proses

InvShiftRows Modifikasi, InvSubBytes dan AddRoundkey secara berurutan

tanpa InvMixColumns. AddRoundKey ronde 10 memakai key ronde 0.

Hasilkan state ronde 10.

i. State ronde 10 adalah plaintext final hasil dekripsi AES Modifikasi.

Gambar 3.18. Rancangan Dekripsi AES Modifikasi

Gambar 3.18. adalah Flowchart yang menggambarkan tentang lankah langkah

Dekripsi pada AES Modifikasi dimulai dari pembangkitan kunci sampai

menghasilkan plaintext. Pembangkitan kunci dalam rancangan dekripsi AES

modifikasi menggunakan bilangan BBS dan CF yang kemudian beroperasi XOR

Page 19: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

42

dengan kunci awal untuk menghasilkan kunci ronde 0. Rancangan dekripsi AES

modifikasi tersebut menggunakan fase InvShiftRows Modifikasi sebagai ganti

dari InvShiftRows pada AES standar. Banyak ronde atau perputaran fase pada

rancangan diatas adalah 10 ronde, dengan 9 ronde pertama terdiri dari 4 fase

utama dan 1 ronde terakhir terdiri dari 3 fase tanpa fase InvMixColumns.

3.5. Rancangan Pengujian

Rancangan pengujian yang akan dilakukan meliputi dua rancangan.

Rancangan pengujian pertama yaitu waktu proses enkripsi dan dekripsi untuk AES

standar dan AES modifikasi. Rancangan pengujian yang kedua adalah penghitungan

Avalanche Effect yang dihasilkan dari perbedaan bit atara plaintext dan ciphertext

yang dihasilkan pada enkripsi AES standar dan AES modifikasi. Kedua rancangan

pengujian akan diterapkan pada 10 file teks yang memiliki ukuran yang berbeda.

Berikut adalah penjelasan masing masing rancagan pengujian.

3.5.1. Rancangan Pengujian Waktu Proses

Waktu komputasi adalah salah satu isu utama yang menjadi perhatian dalam

semua algoritma enkripsi. Waktu enkripsi dan dekripsi terpisah dengan pembangkitan

kunci [12]. Untuk mendapatkan waktu proses, dilakukan penyusunan code PHP pada

masing masing proses enkripsi dan dekripsi. Pengujian ini dilakukan dengan mem-

bandingkan waktu enkripsi dan waktu dekripsi antara AES standar dan AES yang te-

lah dimodifikasi menggunakan teknik BBS – Chaotic Function dan Modifikasi

ShiftRows. Rancangan pengujian ini. Berikut ini adalah tabel rancangan pengujian

yang dibuat untuk menampung data hasil pengujian beserta penjelasannya.

Tabel 3.1. Rancangan Tabel Perbandingan Enkripsi

AES Standar dan AES Modifikasi.

No Nama File

Ukuran

File

dalam

Bytes

(B)

Waktu Enkripsi dalam second (s)

Keterangan AES Standar

AES

Modifikasi

1 File1.txt

Page 20: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

43

2 File2.txt

3 File3.txt

4 File4.txt

5 File5.txt

6 File6.txt

7 File7.txt

8 File8.txt

9 File9.txt

10 File10.txt

11 File11.txt

12 File12.txt

13 File13.txt

14 File14.txt

15 File15.txt

16 File16.txt

17 File17.txt

18 File18.txt

19 File19.txt

20 File20.txt

21 File21.txt

22 File22.txt

23 File23.txt

24 File24.txt

25 File25.txt

26 File26.txt

27 File27.txt

28 File28.txt

29 File29.txt

30 File30.txt

Rata rata untuk 1 blok (16

bit)

Tabel 3.2. Rancangan Tabel Perbandingan Dekripsi

AES Standar dan AES Modifikasi.

No Nama File

Ukuran

File

dalam

Bytes

(B)

Waktu Dekripsi dalam second (s)

Keterangan AES Standar

AES

Modifikasi

1 File1.txt

2 File2.txt

3 File3.txt

Page 21: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

44

4 File4.txt

5 File5.txt

6 File6.txt

7 File7.txt

8 File8.txt

9 File9.txt

10 File10.txt

11 File11.txt

12 File12.txt

13 File13.txt

14 File14.txt

15 File15.txt

16 File16.txt

17 File17.txt

18 File18.txt

19 File19.txt

20 File20.txt

21 File21.txt

22 File22.txt

23 File23.txt

24 File24.txt

25 File25.txt

26 File26.txt

27 File27.txt

28 File28.txt

29 File29.txt

30 File30.txt

Rata rata untuk 1 blok (16

bit)

Tabel 3.1. adalah rancangan tabel perbandingan hasil waktu enkripsi AES

standar dan AES modifikasi. Tabel 3.2. adalah rancangan tabel perbandingan hasil

waktu dekripsi AES standar dan AES modifikasi. Masing masing tabel menunjukkan

waktu rata rata enkripsi atau dekripsi per file teks untuk 30 file teks yang memiliki

ukuran yang berbeda. Kolom rata rata akan diisi dengan waktu rata rata per 16 bit

teks.

3.5.2. Rancangan Pengujian Avalanche Effect

Pengujian dilakukan dengan menghitung besaran Avalanche Effect dari AES

standar dan AES modifikasi. Dengan menghitung Avalanche Effect, maka dapat

Page 22: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

45

diketahui tingkat perubahan bit dari ciphertext hasil enkripsi AES standar dan AES

modifikasi. Berikut adalah rancangan pengujiannya.

Tabel 3.3. Rancangan Tabel Perbandingan Avalanche Effect

AES Standar dan AES Modifikasi.

No Nama File

Ukuran

File

dalam

Bytes (b)

Avalanche Effect dalam persen

(%) Keterangan

AES Standar AES

Modifikasi

1 File1.txt

2 File2.txt

3 File3.txt

4 File4.txt

5 File5.txt

6 File6.txt

7 File7.txt

8 File8.txt

9 File9.txt

10 File10.txt

11 File11.txt

12 File12.txt

13 File13.txt

14 File14.txt

15 File15.txt

16 File16.txt

17 File17.txt

18 File18.txt

19 File19.txt

20 File20.txt

21 File21.txt

22 File22.txt

23 File23.txt

24 File24.txt

25 File25.txt

26 File26.txt

27 File27.txt

28 File28.txt

29 File29.txt

30 File30.txt

Rata rata

Page 23: BAB III ANALISA DAN PERANCANGAN SISTEMeprints.umm.ac.id/45137/4/BAB III.pdfpendukung pembangunan sistem. Perancangan sistem akan membahas tentang langkah langkah perancangan sistem

46

Tabel 3.3. adalah rancangan tabel perbandingan hasil avalanche effect AES

standar dan AES modifikasi. Tabel tersebut menunjukkan persentase perubahan bit

dari plaintext ke ciphertext. Masing masing untuk 30 file teks yang memiliki ukuran

yang meningkat.