BAB 3 ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Sistem
Dalam tahap analisa ini menentukan informasi, fungsi, proses atau prosedur yang diperlukan beserta antar muka. Maka sistem ini nantinya dapat mengamankan data
input yang berupa plainteks yang kemudian di enkripsi menggunakan algoritma 3DES Triple DES
dan algoritma AES Advanced Encryption Standard dengan proses yang relatif cepat sehingga pada saat pengujian dapat dilakukan perbandingan.
3.1.1 Analisa Algoritma 3DES Algoritma 3DES sebagai salah satu algoritma enkripsi data yang sering digunakan di
dunia. Algoritma ini sendiri berasal dari pengembangan algoritma DES Data Encryption Standard
yang diulang sebanyak 3 kali. Algoritma ini sangat cocok dan memang kerap digunakan pada teknologi VPN Virtual Private Network yang
menjamin keamanan interkoneksi. VPN
adalah teknologi yang menjamin keamanan jaringan meskipun memakai jaringan
publik seperti
internet atau
yang lainnya
dengan menggunakan tunnel diantara ujung-ujung koneksinya. Ketika data akan masuk ke
dalam tunnel, maka data teersebut akan terlebih dahulu dienkripsi. Setelah proses enkripsi tersebut selesai barulah data yang teelah terenkripsi masuk kedalam tunnel.
Ketika data teersebut keluar dari ujung tunnel yang satunya lagi, barulah data tersebut kembali di konversi ke bentuk semula dengan proses dekripsi. Selain yang penulis
sbutkan, masih ada beberapa langkah proses dalam VPN yang menjadikan VPN sebagai solusi keamanan interkoneksi yang melewati jaringan publik. Ada banyak
implementasi perangkat lunak dan perangakat keras DES. Melihat pengertian 3DES diatas, pengulangan sebanyak 3 kali sangatlah penting guna mencegah meet-in-the-
middle-attack. Ada beberapa versi 3DES yang bisa dibentuk dalam bentuk sederhana
yaitu: Enkripsi: C=Ek3Ek2Ek1P
Dekripsi: D=Dk1Dk2Dk3C
Universitas Sumatera Utara
Versi pertama 3DES menggunakan 2 buah kunci mode EDE: Enkripsi: C=Ek1Ek2Ek1P
Dekripsi: D=Dk1Dk2Dk1C Versi kedua 3DES menggunakan 3 buah kunci mode EDE:
Enkripsi: C=Ek3Dk2Ek1P Dekripsi: D=Dk1Ek2Dk3P
3DES memungkinkan pengguna memakai tiga sub kunci dengan masing-masing
panjang 64 bit. Data dienkrip dengan kunci pertama kemudian didekrip dengan kunci kedua dan terakhir dienkrip lagi dengan kunci ke tiga seperti gambar 3.7 proses
enkripsi dan dekripsi 3DES berikut.
Gambar 3.1 Proses Enkripsi dan Dekripsi Algoritma 3DES
Ada banyak implementasi perangkat lunak dan perangakat keras DES. Melihat pengertian 3DES diatas, pengulangan sebanyak 3 kali sangatlah penting guna
mencegah meet-in-the-middle-attack yang dapat digambarkan seperti skema enkripsi dan dekripsi berikut
.
Universitas Sumatera Utara
Gambar 3.2 Enkripsi dan Dekripsi Algoritma 3DES
3.1.2 Algoritma AES Algoritma AES atau Rijndael menyandikan data dalam empat langkah dasar yaitu,
langkah SubBytes, langkah ShiftRows, langkah MixColumns dan AddRoundkey. Langkah-langkah
tersebut dapat
di deskripsikan
lebih mudah
dengan memvisualisasikan data yang akan dikonversi dalam array byte segi empat.
SubBytes diperoleh dengan memakai atau mensibtusikan kedalam tabel nonliniear
yang dikenal dengan tabel S-Box. ShiftRows dilakukan melalui permutasi byte-byte data dari kolom array yang berbeda.
Langkah MixColumns menyandikan data menjadi kombinasi linear dari byte- byte
dari data dalam satu kolom array tersebut. AddRoundKey dilakukan dengan operasi XOR antara data dengan kunci. Keempat langkah tersebut akan memiliki nama
khusus dalam algoritma yang diterangkan AES pada gambar 3.3 dibawah ini. Plaintext
: tampilkerenlebihbaik Kunci
:
47034 9 53 04
State : tampilkerenlebihbaik AES
mempresentasikan data dengan cara urutan byte dan bit 0 atau 1 pada b
n
, dimana data diturunkan dari urutan input 128 bit per blok. Bit-bit tersebut diberi
indeks mulai dari 0 sampai dengan 127 0 ≤ I 128. Setiap urutan 8 bit 1 byte diberlakukan sebagai entitas tunggal yang merupakan elemen finite field, sesuai
persamaan 3.1. bx = b
7
x
7
+ b
6
x
6
+ b
5
x
5
+ b
4
x
4
+ b
3
x
3
+ b
2
x
2
+ b
1
x + b ………3.1
Universitas Sumatera Utara
Tabel 3.1 Pengindeksan Aliran Input
Urutan Bit
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 …
Input Input
Input
1
Posisi BitByte
7 6 5 4 3 2 1 0 7 6 5
4 3
2 1
0 …
State State
State
1
Cipher AES dilakukan pada array byte dua dimensi yang disebut state. Block data
disusun dalam state yang terdiri atas empat baris Nb byte Nb= panjang block4 adalah 4 untuk AES-128. Setiap byte diberi dua indeks yang menyatakan posisinya,
dinyatakan sebagai s
r,c
atau s[r,c], dengan indeks baris rrow dalam interval 0 ≤ r 4, sedangkan indeks kolom c coloum dalam 0 ≤ c Nb. Data dalam state
menginformasikan hasil setiap tahap transformasi intermediate result. Input dikopi ke state array pada permulaan cipher dan inverse cipher, kemudian state diperbaharui
pada akhir setiap transformasi sesuai pada gambar 3.1. Nilai state pada transformasi yang terakhir kemudian dikopi ke output kembali sesuai tabel 3.1.
Input State
Output In
In
4
In
8
In
12
S
0,0
S
0,1
S
0,2
S
0,3
Out Out
4
Out
8
Out
12
In
1
In
5
In
9
In
13
S
1,0
S
1,1
S
1,2
S
1,3
Out
1
Out
5
Out
9
Out
13
In
2
In
6
In
10
In
14
S
2,0
S
2,1
S
2,2
S
2,3
Out
2
Out
6
Out
10
Out
14
In
3
In
7
In
11
In
15
S
3,0
S
3,0
S
3,2
S
3,3
Out
3
Out
7
Out
11
Out
15
Gambar 3.3 State Array Pada Input dan Output
State juga dapat dipandang sebagai word 4 byte dalam setiap word. Dengan kata
lain, state ekivalen dengan array dari empat word yang berindeks c atau indek kolom dari S
r,c
seperti gambar 3.4.
W = S
0,0
. S
1,0
. S
2,0
. S
3,0
W
2
= S
0,2
. S
1,2
. S
2,2
. S
3,2
W
1
= S
0,1
. S
1,1
. S
2,1
. S
3,1
W
3
= S
0,3
. S
1,3
. S
2,3
. S
3,3
Universitas Sumatera Utara
S
0,0
S
0,1
S
0,2
S
0,3
=
W W
1
W
2
W
3
S
1,0
S
1,1
S
1,2
S
1,3
S
2,0
S
2,1
S
2,2
S
2,3
S
3,0
S
3,1
S
3,2
S
3,3
Gambar 3.4 State Array Ekivalen Pada Word Array
AES termasuk dalam jenis algoritma kriptografi yang sifatnya simetri dan cipher
block . Dengan demikian algoritma ini mempergunakan kunci yang sama saat enkripsi
dan dekripsi serta masukan dan keluarannya berupa blok dengan jumlah bit tertentu. Contoh Penerapan, misalkan Jodi mengirim data kepada Mira. Data plainteks yang
akan dikirimkan oleh Mira adalah : Plaintex
: 0 1 2 3 4 5 6 7 8 9 A B C D E F In HEX
: 30 31 32 33 34 35 36 37 38 3 41 42 43 44 45 46 Key
: A B C D E F G H I J K L M N O P In HEX
: 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50
3.1.3 Proses Enkripsi Menggunakan AES 1.
SubBytes Operasi ini merupakan suatu operasi subtitusi nonlinier yang beroperasi secara
mandiri pada setiap byte dengan menggunakan tabel S-Box pada tabel 3.2, transformasi yang telah ditabelkan tersebut mengambil invers multiplikatif
GF2
8
tiap byte, kemudian diikuti dengan transformasi yang terdiri dari perkalian oleh matriks yang diikuti dengan penjumlahan vector seperti yang
ditunjukan pada persamaan 3.2. Y
Y
1
Y
2
Y
3
Y
4
Y
5
Y
6
Y
7
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
X X
1
X
2
X
3
X
4
X
5
X
6
X
7
= +
……… 3.2
Universitas Sumatera Utara
2. Add Round Key
Add Round Key pada dasarnya adalah mengkombinasikan chiper teks yang
sudah ada dengan chiper key yang chiper key dengan hubungan XOR.
Gambar 3.5 AddRoundKey
XOR dilakukan per kolom yaitu kolom-1 chiper teks di XOR dengan kolom-1
round key dan seterusnya.
3.1.4 Proses Dekripsi Menggunakan AES InvShiftRows :
InvShiftRows adalah transformasi byte yang berkebalikan dengan transformasi
ShiftRows . Pada transformasi InvShiftRows, dilakukan pergeseran bit ke kanan
sedangkan pada ShiftRows dilakukan pergeseran bit ke kiri.
Gambar 3.6 Proses Dekripsi
3.1.5 Analisa Perbandingan Algoritma 3DES dengan Algoritma AES 3DES
Triple Data Encryption Standard merupakan salah satu algoritma simetris pada kriptografi yang digunakan untuk mengamankan data dengan cara menyandikan
data. Proses yang dilakukan dalam penyandian datanya, yaitu proses enkripsi dan
Universitas Sumatera Utara
proses dekripsi. Algoritma 3DES adalah suatu algoritma pengembangan dari algoritma DES
Data Encryption Standard. Perbedaan DES dengan 3DES terletak pada panjangnya kunci yang digunakan. Pada DES menggunakan satu kunci yang
panjangnya 56-bit, sedangkan pada 3DES menggunakan 3 kunci yang panjangnya 168- bit atau masing-masing panjangnya 56-bit. Pada 3DES, 3 kunci yang digunakan
bisa bersifat saling bebas K1 ≠ K2 ≠ K3 atau hanya dua buah kunci yang saling bebas dan satu kunci lainnya sama dengan kunci pertama K1 ≠ K2 dan K3 = K1.
Karena tingkat kerahasiaan algoritma 3DES terletak pada panjangnya kunci yang digunakan, maka penggunaan algoritma 3DES dianggap lebih aman dibandingkan
dengan algoritma DES. Tahap pertama, plainteks yang diinputkan dioperasikan dengan kunci eksternal
pertama K1 dan melakukan proses enkripsi dengan menggunakan algoritma DES. Sehingga menghasilkan pra-cipherteks pertama. Tahap kedua, pra-cipherteks pertama
yang dihasilkan pada tahap pertama, kemudian dioperasikan dengan kunci eksternal kedua K2 dan melakukan proses enkripsi atau proses dekripsi atau tergantung cara
pengenkripsian yang digunakan dengan menggunakan algoritma DES. Sehingga menghasilkan prs-cipherteks kedua.
Tahap terakhir, pra-cipherteks kedua yang dihasilkan pada tahap kedua, dioperasikan dengan kunci eksternal ketiga K3 dan melakukan proses enkripsi
dengan menggunakan algoritma DES, sehingga menghasilkan cipherteks C. Dalam kriptografi, Triple DES adalah nama umum untuk algoritma data Encryption Triple
TDEA atau Triple DEA blok cipher, yang menerapkan Standar Enkripsi Data DES algoritma cipher tiga kali untuk setiap blok data. Ukuran kunci DES asli cipher dari 56
bit pada umumnya cukup ketika algoritma yang dirancang, tetapi ketersediaan daya komputasi semakin membuat serangan semakin layak. Triple DES menyediakan
metode yang relatif sederhana meningkatkan ukuran kunci DES untuk melindungi terhadap serangan tersebut, tanpa perlu merancang sebuah algoritma blok cipher
baru.
Universitas Sumatera Utara
Gambar 3.7 Blok Chiper
Seperti semua blok cipher pada gambar 3.7 diatas, enkripsi dan dekripsi dari beberapa blok data dapat dilakukan dengan menggunakan berbagai modus operasi,
yang secara umum dapat didefinisikan secara independen dari algoritma blok cipher. Namun, ANS X9.52 menentukan secara langsung dan NIST SP 800-67 menentukan
melalui SP 800-38A bahwa beberapa mode hanya dapat digunakan dengan batasan tertentu pada mereka yang belum tentu berlaku untuk spesifikasi umum dari mode.
Sebagai contoh, ANS X9.52 menetapkan bahwa untuk chaining blok cipher, vektor inisialisasi akan berbeda setiap kali, sedangkan ISO IEC 10116 tidak. PUB FIPS 46-
3 dan ISO IEC 18033-3 mendefinisikan hanya algoritma blok tunggal, dan tidak
menempatkan batasan pada mode operasi untuk beberapa blok. Perbedaan antara Triple Data Encryption Standard
dengan AES adalah : 3DES = Triple DES
Key: 112 ato pake 168 bit Resource and Speed: Medium and Low
AES = Advanced Encryption Standard Key: 128, 192, atau 256bit
Resource and Speed: Low and High 3.2 Analisa Kebutuhan Sistem
Pada perbandingan algoritma 3DES dengan Rinjdael AES dalam perancangan
aplikasi keamanan data PDF terdapat dua kebutuhan dalam lingkungan pengembangan sistem, yaitu perangkat lunak dan perangkat keras.
Universitas Sumatera Utara
1. Kebutuhan Perangkat Keras Hardware
Adapun perangkat keras yang digunakan dalam membuat aplikasi ini, yaitu: a.
Laptop Toshiba Satellite L510 b.
Core2Duo 2.20 Ghz c.
RAM 2 GB DDR3 d.
Hardisk 320 GB 2. Analisis Perangkat Lunak
Adapun spesifikasi perangkat lunak yang dibutuhkan untuk sistem yang akan dibangun adalah sebagai berikut :
a. Sistem operasi menggunakan minimal Microsoft Windows XP.
b. Database system menggunakan MySQL.
c. Bahasa pemrograman menggunakan PHP
d. Server localhost menggunakan XAMPP
e. Browser
yang digunakan diantaranya seperti mozilla firefox ,opera, google chrome
3. Analisis Kebutuhan Pengguna Adapun untuk mendukung dalam mengolah informasi, dibutuhkan spesifikasi
pengguna yang dibutuhkan untuk sistem yang akan dibangun. Kebutuhan pengguna terdiri dari beberapa kategori adalah sebagai berikut:
a. Admin Seorang admin harus memiliki kemampuan diantaranya, harus mempunyai
kemampuan dasar di bidang komputer khususnya di bidang pemrograman PHP dapat mengolah database. Mampu mengoperasikan sistem operasi minimal
Microsoft Windows XP. Selanjutnya mampu menggunakan fasilitas internet. b. Pengunjung
Adapun karakteristik minimal pengunjung yang dibutuhkan dalam menjalankan sistem yang kaan dibangun yaitu, mempunyai kemampuan menggunakan
komputer. Mampu mengoperasikan sistem operasi minimal Microsoft Windows XP
. Mengerti dalam menggunakan internet.
Universitas Sumatera Utara
3.3 Model Perancangan Sistem Model perancangan sistem perangkat lunak yang dibuat meliputi perancangan model
perangkat lunak meliputi pembuatan antarmuka aplikasi sistem keamanan data yang terintegrasi dengan 3DES dan AES.
3.3.1 Activity Diagram Diagram aktivitas menggambarkan suatu urutan proses yang terjadi pada sistem dari
dimulainya aktivitas hingga aktivitas berhenti. Diagram aktivitas hampir mirip dengan flowchart sistem
. Diagram aktivitas merupakan salah satu cara untuk memodelkan event-event
yang terjadi dalam suatu use-case.
Gambar 3.8. Activity Diagram
3.3.2 Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah
sistem. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan
Universitas Sumatera Utara
sistem. Gambar 3.6 menunjukkan use case enkripsi dan menunjukkan use case dekripsi.
Gambar 3.9. Use Case Diagram
3.3.3 Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar
sistem atau termasuk pengguna, display dan sebagainya berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal atau
waktu dan dimensi horizontal atau objek-objek yang terkait.
Gambar 3.10 Sequence Diagram
Universitas Sumatera Utara
3.3.4 Class Diagram
Class diagram menggambarkan struktur dan deskripsi kelas, paket dan objek beserta
hubungan satu sama lain seperti containment, pewarisan dan asosiasi. Gambar 10 menunjukkan diagram kelas dari aplikasi enkripsi dan dekripsi email.
Gambar 3.11. Class Diagram
Universitas Sumatera Utara
2. Flowchart
Enkripsi dan Dekripsi Algoritma AES Pada gambar 3.12 flowcahrt enkripsi dan dekripsi algoritma AES memiliki dasar
pengoprasian pada blok 128 bit dengan pembangkitan kunci 128 bit adalah yang pertama dilakukan adalah SubByte melakuakan substitusi byte dengan
menggunakan tabel Substitusi S-box. ShiftRows melakukan pergesaran baris- baris array secara wrapping. MixColumns mengacak data masing-masing kolom
array state dan ADdRoundKey melakukan XOR antara state sekarang Roun key.
Pada final round proses yang dilakukan adalah SubBytes, ShiftRows dan
AddRoundKey.
Gambar 3.12 a Flowchart Sistem EnkripsiDekripsi Algoritma AES
Universitas Sumatera Utara
Gambar 3.12b Flowchart Sistem Proses Enkripsi Dan Dekripsi Algoritma AES
3.4 Perancangan Interface Sistem 3.4.1 Perancangan Menu Home