Untuk mengembalikan cipherteks sehingga dapat dipahami, maka file yang telah dienkripsi harus didekripsi. Untuk melakukan proses dekripsi digunakan
kunci yang sama, sehingga algoritma ini tergolong pada algoritma kriptografi simetris. Untuk lebih jelasnya, proses dekripsi dapat dilihat pada gambar 3.7.
User
P.4.1 Input file
P.4.8 Proses gabung
keseluruhan blok bit
P.4.11 Proses
gabung plainteks
P.4.6 Proses
dekripsi I round 1-8
P.4.7 Proses dekripsi
II transformasi P.4.10
Konversi dari ASCII
P.4.9 Konversi biner
ke ASCII
Kode ASCII Cipherteks
ASCII_plain
Kode_ASCII biner_plain
Krktr_plain Plainteks
Order_dek
Sub_knci_dek
P.4.2 Proses
potong cipherteks
blok_cipher cipher2
cipher1 P.4.3
Konversi ke ASCII
P.4.4 Konversi
ASCII ke biner 16-bit per
karakter P.4.5
Proses partisi 64-bit jadi 4
subblok 16-bit biner_cipher
ASCII_cipher Krktr_cipher
Kode_ASCII File kunci
Sub_knci_dek
Gambar 3.7 DFD Level 2 Proses 4
Spesifikasi proses dekripsi ditujukkan pada tabel 3.7.
3.5. Kamus Data
Kamus data merupakan suatu data yang disusun untuk memudahkan selama proses analisis dan desain. Selain suatu dokumen, kamus data mengumpulkan dan
mengkoordinasi istilah-istilah data yang terdapat pada diagram alir. Penganalisis sistem harus hati-hati dalam mengkatalogkan istilah-istilah yang berbeda-beda yang
menunjuk pada item yang sama. Kehati-hatian ini membantu dalam menghindari duplikasi, memungkinkan adanya komunikasi yang baik antara bagian-bagian yang
saling berbagi basis data, dan membuat upaya pemeliharaan lebih bermanfaat. Kamus data juga bertindak sebagai standar tetap untuk elemen-elemen data.
Masukan-masukan kamus data bisa dibuat setelah diagram aliran data dilengkapi atau bisa juga disusun saat diagram aliran data sedang dikembangkan.
Penganalisis sistem bisa saja membuat suatu diagram aliran data level 0 dan sekaligus membuat masukan-masukan data awal. Selanjutnya, sewaktu penganalisis sistem
Universitas Sumatera Utara
mengembangkan diagram level data menjadi diagram anak, penganalisis juga bisa memodifikasi masukan-masukan kamus data yang baru sesuai dengan aliran data pada
diagram alir anak.
Tabel 3.7
Spesifikasi Proses Diagram Level 2 untuk Proses 4
Nama Input
Keterangan Proses Output
Proses 4.1 Order_enk
Menginput file yang akan didekripsi
Cipherteks Proses 4.2
Cipherteks Memotong pesan yang akan
didekripsi menjadi blok-blok cipher 64-bit, lalu mempartisi
ke dalam 4 subblok 16-bit untuk didekripsi pada tahap I
Krktr_cipher
Proses 4.3 Krktr_cipher,
kode_ASCII Mengkonversikan karakter
palinteks ke dalam kode ASCII ASCII_ cipher
Proses 4.4 ASCII_
cipher Mengkonversikan kode ASCII
palinteks ke dalam biner dalam hexadesimal
Biner_ cipher
Proses 4.5 Biner_ cipher
Mempartisi keseluruhan bit plainteks menjadi blok-blok
64-bit Blok_ cipher
Proses 4.6 Blok_c ipher,
sub_knci_dek Melakukan proses dekripsi
tahap I Cipher1
Proses 4.7 Cipher1,
sub_knci_dek Melakukan proses dekripsi
tahap I I Cipher2
Proses 4.8 Cipher2
Menggabungkan setiap 16-bit subblok plainteks menjadi blok
64 bit Biner_plain
Proses 4.9 Biner_plain,
kode_ASCII Mengkonversi setiap bit hexa
plainteks menjadi kode ASCII- nya
ASCII_plain
Proses 4.10 ASCII_plain
Mengkonversi setiap kode ASCII menjadi karakter-karkter
nya Krktr_plain
Proses 4.11 Krktr_plain
Menggabungkan seluruh karakter- karakter plainteks
Plainteks
3.5.1. Proses Pembentukan Kunci Enkripsi dan Dekripsi
Tabel 3.8 merupakan kamus data yang berisikan data yang digunakan pada diagram alir data pada proses pembentukan kunci, baik kunci enkripsi maupun
dekripsi.
Universitas Sumatera Utara
Tabel 3.8 Kamus Data Proses Pembentukan Kunci Enkripsi dan Dekripsi
Nama Tipe Data
Deskripsi
Order_knci_enk Integer
Perintah untuk menampilkan semua subkunci enkripsi.
Order_knci_dek Integer
Perintah untuk menampilkan semua subkunci dekripsi.
Kunci String
Kunci enkripsi yang diinput user, sebanyak 16 karakter
Sub_knci_enk Array of Integer
Seluruh subkunci enkripsi yang telah dibangkitkan
Sub_knci_dek Array of Integer
Seluruh subkunci dekripsi yang telah dibangkitkan
Krk_knci_enk Char
Karakter-karakter kunci enkripsi yang telah dipotong
Kode_ASCII Integer
Bentuk desimal kode ASCII Krk_ASCII
Integer Kode ASCII dari setiap karakter kunci
Biner_knci_enk Array of Integer
Bentuk biner hexadesimal dari setiap kode ASCII kunci enkripsi
Bnr_knci Array of Integer
Biner dari 8 subkunci pertama yang merupakan kunci enkripsi yang diinput
user
52 sub_knci_enk Array of Integer
52 subkunci enkripsi yang telah dibentuk
Invers_kali Integer
Kunci enkripsi yang dioperasikan dengan perkalian mod
+1 untuk dicari inversnya
Invers_jlh Integer
Kunci enkripsi yang dioperasikan dengan penjumlahan mod
untuk dicari inversnya
Kunci_d Integer
-1
Invers dari perkalian mod +1
- Kunci_d Integer
invers dari penjumlahan mod
3.5.2. Proses Enkripsi
Tabel 3.9 merupakan kamus data yang berisikan data yang digunakan pada diagram alir data pada proses enkripsi.
3.5.3. Proses Dekripsi
Universitas Sumatera Utara
Tabel 3.10 merupakan kamus data yang berisikan data yang digunakan pada diagram alir data pada proses dekripsi.
Tabel 3.9 Kamus Data Proses Enkripsi
Nama Tipe data
Deskripsi
Order_enk Integer
Perintah untuk melakukan enkripsi. Plainteks
String File yang akan dienkripsi
Krktr_plain Char
Karakter plainteks yang telah dipotong ASCII_plain
Integer Karakter plainteks yang telah diubah ke
dalam kode ASCII Kode_ASCII
Integer Bentuk desimal kode ASCII
Biner_plain Array of Integer
Bentuk biner plainteks dalam hexadesimal dari setiap kode ASCII
karakter pesan
Blok_p lain Array of Integer
Blok-blok 64-bit plainteks hasil partisi setiap biner plainteks
Cipher1 Array of Integer
Hasil proses enkripsi tahap I Cipher2
Array of Integer Hasil proses enkripsi tahap II
Block_cipher Array of Integer
Hasil penggabungan seluruh Cipher2 yang diperoleh
Kunci String
Kunci enkripsi yang diinput user, paling banyak 16 karakter
Sub_knci_enk Array of Integer
Seluruh subkunci enkripsi siap pakai yang disimpan
Tabel 3.10
Kamus Data Proses Dekripsi
Nama Tipe data
Deskripsi
Order_dek Integer
Perintah untuk melakukan dekripsi Cipherteks
Array of Integer File yang akan didekripsi
Krktr_cipher Char
Karakter cipherteks yang telah dikonversi dari kode ASCII
ASCII_ cipher Integer
kode ASCII hasil konversi dari biner cipherteks
Biner_ cipher Array of Integer
Gabungan biner cipherteks dalam hexadesimal
Blok_c ipher Array of Integer
Karakter cipher yang telah dipotong Cipher1
Array of Integer Hasil proses dekripsi tahap I
Cipher2 Array of Integer
Hasil proses dekripsi tahap II Biner_plain
Array of Integer Gabungan biner plainteks dalam
hexadesimal ASCII_plain
Integer kode ASCII hasil konversi dari biner
plainteks Kode_ASCII
Integer Bentuk desimal kode ASCII
Universitas Sumatera Utara
Krktr_plain Char
Karakter plainteks yang telah dikonversi dari kode ASCII
Plainteks String
File hasil dekripsi gabungan seluruh karakter plainteks
Sub_knci_dek Array of Integer
Seluruh subkunci dekripsi siap pakai yang disimpan
Bab 4
PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK
4.1. Perancangan