4.5.1. Perancangan Proses
1. Diagram konteks sistem yang diusulkan
user username, password,
public key, private key public key, private key
user
file filename1, filename2,
sender_id, receiver_id aplikasi
acryptcs file
filename1, filename2, sender_id, receiver_id
Gambar 4.2. Diagram konteks sistem yang diusulkan
Dalam konteks diagram pada gambar 4.2 terdapat dua entity yang menunjang proses aplikasi acrypt cs yaitu user
dan file. 2.
Diagram zero sistem yang diusulkan
user username, password
1.0 login
private key file
password, public key
filename1, sender, receiver
2.0 enkripsi
filename2, sender, receiver
filename2, sender, receiver
file 3.0
dekripsi filename1, sender,
receiver
Gambar 4.3. Diagram zero sistem yang diusulkan
62
3. Diagram level satu sistem yang diusulkan
user username, password
1.1 cek
database username, password
1.2 buat
session
Gambar 4.4. Diagram level satu proses 1.0 login
user password, public key,
jumlah file 2.2
2.1 cek file
password enkripsi
AES file
filename1, sender, receiver
2.3 enkripsi
RSA public key
filename2, sender, receiver
file
Gambar 4.5. Diagram level satu proses 2.0 enkripsi
user private key,
jumlah file 3.1
cek file private key
3.2 dekripsi
RSA file
filename2 3.3
dekripsi AES
password
filename1 file
Gambar 4.6. Diagram level satu proses 3.0 dekripsi
63
4.5.2. Perancangan
Flowchart
Pada tahap ini dilakukan perancangan flowchart algoritma aplikasi enkripsi. Pada tahapan ini akan digambarkan alur proses
enkripsi dan dekripsi pada program yang dikembangkan dengan menggunakan flowchart.
64
1. Flowchart proses enkripsi
start Input jumlah file
Input file Cek file
File salahkosong ? true
false Input kunci AES
Pilih penerima i=0, jml file = file tdk kosong
Panggil modul enkripsi AES 1
2 Panggil modul enkripsi RSA
3 4
Update database i++
true i jml file?
false Tampilkan hasil enkripsi
stop
Gambar 4.7. Flowchart proses enkripsi
65
Berdasarkan gambar 4.7, proses enkripsi dimulai dengan memasukkan jumlah file yang akan dienkripsi. Setelah itu, user
memasukkan file yang akan dienkripsi. Kemudian data file akan ditampilkan sementara. Jika file salah, maka user harus
memasukkan kembali file yang akan dienkripsi. Jika semua file yang dipilih sudah pernah dienkripsi sebelumnya dengan nama
file yang masih sama, maka user harus memasukkan kembali file yang akan dienkripsi.
Selanjutnya user harus memasukkan string yang akan digunakan sebagai kunci untuk enkripsi file. String dapat berupa karakter
apapun dengan panjang maksimal 20 karakter. Kemudian user memilih penerima pesan secara tidak langsung memasukkan
kunci publik penerima. Setelah itu proses enkripsi dimulai. Proses memanggil fungsi
enkripsi Advance Encryption Standard untuk enkripsi file, kemudian memanggil fungsi enkripsi Rivest Shamir Adleman
untuk enkripsi password. Sesudah selesai, proses memasukkan data file ke dalam database. Proses enkripsi dilakukan sebanyak
jumlah file yang terisi tidak kosong. Setelah proses enkripsi selesai, data file terenkripsi ditampilkan.
66
2. Flowchart enkripsi Advance Encryption Standard
1 Baca file
r = 10 AddRoundKey
SubBytes ShiftRows
true r = 1 ?
false MixColumns
Panggil modul ekspansi kunci 5
6
AddRoundKey r - 1
r = 0 ? false
true 2
Gambar 4.8. Flowchart proses enkripsi dengan metode Advance Encryption Standard Sumber : Munir, 2006
67
Proses enkripsi dengan metode Advance Encryption Standard seperti ditunjukkan pada gambar 4.8, dimulai dengan membaca
file. Didefinisikan bahwa jumlah round adalah sepuluh. Proses melakukan fungsi AddRoundKey terhadap data dengan round
key awal. Selanjutnya proses berlanjut dengan round-1 putaran
dengan memanggil
fungsi SubBytes
, ShiftRows
, MixColumns
, KeyExpansion, dan AddRoundKey. Setelah selesai, putaran terakhir dilakukan dengan memanggil fungsi
SubBytes , ShiftRows, KeyExpansion, dan AddRoundKey.
Setelah itu proses enkripsi Advance Encryption Standard Selesai.
68
3. Flowchart enkripsi Rivest Shamir Adleman
3 plainteks M, n, e
Transformasi M m
m n - 1 false
m dibagi menjadi blok-blok true
c = m
e
mod n cipherteks c
c n - 1 false
c disatukan menjadi kesatuan bilangan integer
true cipherteks c
Transformasi c C
cipherteks C 4
Gambar 4.9. Flowchart proses enkripsi dengan metode Rivest Shamir Adleman Sumber : Munir : 2006
Berdasarkan gambar 4.9, enkripsi dengan metode Rivest Shamir Adleman dimulai dengan inisialisasi plainteksM, np x q, dan
kunci publike. Plainteks dalam hal
ini password, ditransformasi ke dalam angka m. Selanjutnya, jika m lebih
69
besar dari n dikurang 1, m dibagi menjadi blok-blok. Selanjutnya dilakukan penghitungan cipherteks c dengan
rumus c = m
e
mod n. Jika c lebih besar dari n dikurang1, c disatukan menjadi kesatuan bilangan integer. Selanjutnya
dilakukan transformasi cipherteks c menjadi C.
70
4. Flowchart
proses dekripsi
start Pilih file
Cek file sementara File benar?
false true
Input kunci private Kunci valid?
false true
i=0, n = jml file, jml file10, n=10 Panggil modul dekripsi RSA
7 8
Panggil modul dekripsi AES 9
10
i++ true
i n ? false
Tampilkan hasil dekripsi stop
Gambar 4.10. Flowchart proses dekripsi
71
Untuk proses dekripsi, sesuai dengan gambar 4.10, dekripsi dimulai dengan memilih file yang akan didekripsi. Lalu
menampilkan sementara file-file yang akan didekripsi. Jika file benar, masukkan kunci privat. Setelah itu periksa apakah kunci
privat valid atau tidak. Jika kunci privat tidak valid, masukkan lagi kunci privat. Jika valid, proses dekripsi berjalan.
Dimulai dengan menginisialisasi i=0, njumlah file, jika jumlah file lebih dari 10, maka n=10. Selanjutnya selama i
kurang dari n, proses memanggil modul dekripsi Rivest Shamir Adleman, setelah itu memanggil modul dekripsi Advance
Encryption Standard. Setelah proses dekripsi selesai, file-file hasil dekripsi ditampilkan.
72
5. Flowchart
dekripsi Advance Encryption Standard
9 Baca file
r = 10 AddRoundKey
r = 10? true
false Inv MixColumns
Inv SubBytes Inv ShiftRows
Panggil modul ekspansi kunci 5
6 AddRoundKey
r -1 false
r = 0 ? true
10
Gambar 4.11. Flowchart proses dekripsi dengan metode Advance Encryption Standard Sumber : Munir, 2006
Proses dekripsi dengan metode Advance Encryption Standard seperti ditunjukkan pada gambar 4.11, dimulai dengan membaca
file. Didefinisikan bahwa jumlah round adalah sepuluh. Proses 73
melakukan fungsi AddRoundKey terhadap data dengan round key
awal. Selanjutnya proses berlanjut selama round-1 putaran dengan memanggil fungsi InvMixColumns, InvSubBytes,
InvShiftRows , KeyExpansion, dan AddRoundKey. Setelah
selesai, putaran terakhir dilakukan dengan memanggil fungsi InvSubBytes
, InvShiftRows
, KeyExpansion
, dan
AddRoundKey . Setelah itu proses dekripsi Advance Encryption
Standard Selesai.
74
c
6. Flowchart
dekripsi Rivest Shamir Adleman
7 cipherteks C, n, d
Transformasi C c
c n - 1 false
c dibagi menjadi blok-blok true
m =
d
mod n plainteks m
m n - 1 false
m disatukan menjadi kesatuan bilangan integer
true plainteks m
Transformasi m M
plainteks M 8
Gambar 4.12. Flowchart proses dekripsi dengan metode Rivest Shamir Adleman Sumber : Munir, 2006
Berdasarkan gambar 4.12, dekripsi dengan metode Rivest Shamir Adleman dimulai dengan inisialisasi cipherteksC, np
x q, dan kunci privat d. Cipherteks ditransformasi ke dalam angka c. Selanjutnya, jika c lebih besar dari n dikurang 1, c
75
dibagi menjadi blok-blok. Selanjutnya dilakukan penghitungan plainteks m dengan rumus m = c
d
mod n. Jika m lebih dari n dikurang1, m disatukan menjadi kesatuan bilangan integer.
Selanjutnya dilakukan transformasi plainteks m menjadi M.
4.5.3. Perancangan Basis Data