Perancangan Implementasi Secure Hash Algorithm (SHA) Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data

Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 File text File File yang akan di enkripsi

3.4 Perancangan

Perancangan memiliki tujuan untuk menentukan kondisi akhir yang diharapkan dari perangkat lunak yang akan dibangun dan merumuskan cara yang harus dilakukan untuk memperoleh hasil tersebut. Pada perangkat lunak pengamanan data dengan menggunakan Substitusi Mono Alphabet dan Secure Hash Algorithm, tahap perancangan yang dilakukan mencakup perancangan arsitektur, perancangan antar muka pemakai, perancangan data dan perancangan prosedural

3.4.1 Perancangan Struktur Program

Perancangan arsitektur merupakan perancangan awal untuk mengidentifikasi subsistem dan menetapkan kerangka kerja untuk kontrol dan komunikasinya. Perancangan arsitektur bertujuan untuk membangun struktur program yang modular dan merepresentasikan keterkaitan antar modul serta memadukan struktur program, struktur data, dan mendefenisikan antarmuka yang memungkinkan data dapat mengalir pada seluruh program. Arsitektur perangkat lunak kriptogarafi dengan Substitusi Mono Alphabet dan Secure Hash Algorithm digambarkan oleh diagram pohon pada gambar 3.5.:

3.4.2. Perancangan Antar Muka Pemakai

Antar muka pemakai user interface adalah aspek sistem komputer atau program yang dapat dilihat, didengar, atau dipersepsikan oleh pengguna manusia, dan perintah- perintah atau mekanisme yang digunakan pemakai untuk mengendalikan operasi dan memasukkan data. Berikut ini merupakan perancangan antar muka pemakai perangkat lunak sistem pengamanan data dengan menggunakan algoritma Substitusi Mono Alphabet dan Secure Hash Algorithm. Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009

3.4.2.1 Tampilan Program Utama

Tampilan program utama adalah tampilan yang paling awal muncul ketika program dijalankan. Untuk user interface akan dirancang ke dalam 2 halaman tampilan, yaitu : a. File Tab b. Help Tab Berikut akan ditampilkan rancangan dari masing-masing bagian interface.

1. File Tab

Tampilan File Tab berisikan empat buah button yaitu : 1.1 Open File Button Mencari File yang akan di encrypt atau di decrypt. 1.2 Open Key Button Mencari Key yang akan digunakan untuk men-decrypt file. 1.3 EnCrypt Button Memulai proses pengenkripsian file. 1.4 DeCrypt Button Memulai proses pendekripsian file. Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 Gambar 3.6 Rancangan tampilan File Tab Program

2. Help Tab

Help Tab akan digunakan untuk membantu user dalam mengoperasikan program EnDeCrypt. Rancangan Help Tab dapat dilihat pada Gambar 3.7. Gambar 3.7 Rancangan tampilan Help Tab Open File Open Key EnCrypt DeCrypt How Does it work? 1- Open a file; Choose Encrypt if you want to Encrypt; Choose Decrypt if you want to Decrypt; Dont forget insert the key. 2- The password for Encrypt and Decrypt 3- Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009

3.4.3. Perancangan Struktur Data

Perancangan struktur data merupakan salah satu bagian proses dari perancangan perangkat lunak. Struktur data merupakan representasi data yang sebenarnya dalam bentuk model program symbol. Struktur data juga merupakan kumpulan elemen – elemen atau symbol yang membantu dalam pengidentifikasian setiap field di dalam sistem. Berikut ini struktur data pada dari perangkat lunak yang akan dibangun. Struktur Data : Plaintext, Ciphertext, nilai_hash, Key : Char Pesan_enkripsi_lsb, Pesan_dekripsi_lsb : Char A, B, C, D, E : longword; W : array[0..255] of Integer;

3.4.4 Perancangan Prosedural

Tahapan selanjutnya dalam perancangan perangkat lunak adalah tahapan design procedural atau algoritma detail. Tahapan ini disajikan dalam bentuk prosedur dan flowchart. Hal ini dilakukan untuk mempermudah dalam pengkodean yang akan dilakukan. Secara keseluruhan flowchart program EnDeCrypt dapat dilihat pada Gambar 3.8 : Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 Gambar 3.8 Flowchart Program EnDeCrypt Berikut ini tahapan prosedur dan flowchart algoritma SHA-1 dan Substitusi Mono Alphabet: Prosedur 1. Proses Hashing SHA-1 : { Input : Plaintext } { Proses : Mengambil nilai hash dari suatu plaintext. } { Output : nilai hash dari plaintext} Kamus Data : mulai Input file Ekstensi file =.mo ? Input key file Prosedur SHA-1 Prosedur enkripsi SMA File terenkripsi File Kunci selesai Hash key file = hash file terkenkripsi? Prosedur dekripsi SMA Hapus key file Proses Dekripsi Proses Enkripsi No yes yes No Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 Key : Char; A, B, C, D, E : longword; W : array[0..255] of Integer; f , k : Integer; I : integer; temp : Integer; Algoritma SHA-1 : 1. Input plaintext 2. Inisiasi nilai penyangga A, B, C, D, E A:=67452301; B:=efcdab89; C:=98badcfe; D:=10325476; E:=c3d2e1f0; 3. Membaca pesan hingga nilai End Of File tercapai 4. Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan dalam satu bit kongruen dengan 448 modulo 512. 5. Pesan kemudian dibagi menjadi blok-blok yang masing-masing panjangnya 512-bit Y sampai Y L-1 6. Begin a A; b B; c C; d D; e E; for i:= 0 to 79 do begin if 0 ≤ i ≤ 19 then begin f = b and c or not b and d; k = 0x5A827999; end; Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 if 20 ≤ i ≤ 39 then begin f = b xor c xor d; k = 0x6ED9EBA1; end; if 40 ≤ i ≤ 59 then begin f = b and c or b and d or c and d; k = 0x8F1BBCDC; end; if 60 ≤ i ≤ 79 then begin f = b xor c xor d; k = 0xCA62C1D6; end; temp = a 5 + f + e + k + W[i]; e = d; d = c; c = b 30; b = a; a = temp; end; A = A + a; B = B + b; C = C + c; D = D + d; E = E + e; 7. Pengubahan nilai A, B, C, D, dan E dijumlahkan dan diubah menjadi hexa dan dimasukkan kedalam pesan dan file kunci. Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 Prosedur diatas dapat dilihat juga pada flowchart dibawah ini. Gambar 3.9 adalah flowchart algoritma dari fungsi hash SHA-1 : Gambar 3.9 Flowchart fungsi Hash SHA-1 start Input plaintext Membaca pesan hingga nilai EOF tercapai Penambahan pesan dengan bit pengganjal Pembagian pesan kedalam blok-blok 0 i 19 20 i 39 40 i 59 f = b and c or not b and d; k = 0x5A827999; f = b and c or b and d or c and d; k = 0x8F1BBCDC f = b xor c xor d; k = 0x6ED9EBA1 f = b xor c xor d; k = 0xCA62C1D6 A+B+C+D+E Nilai Hash Selesai Proses fungsi f dan k yes yes yes No No No 60 i 79 No yes Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 Prosedur selanjutnya adalah prosedur proses enkripsi algoritma Substitusi Mono Alphabet. Pada prosedur ini akan mempermudah langkah dalam pengkodean nantinya. Berikut ini adalah prosedur enkripsi algoritma Substitusi Mono Alphabet : Prosedur 2. Proses Enkripsi Algoritma Substitusi Mono Alphabet { Input : Plaintext} { Proses : Proses enkripsi data menggunakan Algoritma Substitusi Mono Alphabet} { Output : Ciphertext} Kamus Data : Plaintext : string; x, y : string; c : char; Ciphertext : string; Key : string; Algoritma Substitusi Mono Alphabet: 1. Input plaintext. 2. Inisiasi tabel substutusi : Plaintext a b c d e f g h i j k l m n o p q r s t u v w x Ciphertext z A d t j k m n [ ] , ; : . ? Plaintext y z A B C D E F G H I J K L M N O P Q R S T U V Ciphertext Z B - + = a i Y r } u v b c { e f g s C Plaintext W X Y Z 0 1 2 3 4 5 6 7 8 9 { } [ ] : ; , . Ciphertext 9 8 7 6 D F H J K L M N 5 3 1 0 O P Q R h l o p Plaintext ? - + = ~ Ciphertext q w x I y S T U V W X 2 4 E G ~ 3. Plaintext diambil karakter per karakter dan dimasukkan ke dalam variabel c 4. c kemudian dicocokkan dengan setiap karakter pada Y Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 5. nilai c yang cocok dengan karakter ke sekian pada Y kemudian akan ditukar dengan karakter ke sekian pada X. 6. Nilai c kemudian akan dimasukkan ke dalam ciphertext 7. Nomor 5 sampai 8 diulangi hingga karakter di dalam plaintext habis. 8. plaintext kemudian akan dihapus dan digantikan dengan ciphertext. Dari prosedur proses enkripsi algoritma Substitusi Mono Alphabet diatas dapat dilihat juga aliran proses pada Gambar 3.10 dibawah ini : Gambar 3.10 Flowchart fungsi enkripsi Substitusi Mono Alphabet mulai Mengambil plaintext per karakter Sama? Akhir dari plaintext? Masukkan dalam ciphertext yes no selesai Menentukan hasil pertukaran tiap karakter sesuai tabel Untuk enkripsi yes no Memeriksa tiap karakter dalam tabel Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 Hasil proses enkripsi data algoritma Substitusi Mono Alphabet adalah ciphertext. Untuk mengetahui pesan asli, terlebih dahulu ciphertext harus ditansformasikan kembali menjadi ciphertext. Pada teorinya proses dekripsi dilakukan dengan cara membalikkan proses yang terjadi pada proses enkripsi. Prosedur berikut ini adalah prosedur proses dekripsi algoritma Substitusi Mono Alphabet : Prosedur 3. Proses Dekripsi Algoritma Substitusi Mono Alphabet { Input : Plaintext} { Proses : Proses enkripsi data menggunakan Algoritma Substitusi Mono Alphabet} { Output : Ciphertext} Kamus Data : Plaintext : string; x, y : string; c : char; Ciphertext : string; Key : string; Algoritma : 1. Input ciphertext. 2. Inisiasi tabel substutusi : Plaintext a b c d e f g h i j k l m n o p q r s t u v w x Ciphertext z A d t j k m n [ ] , ; : . ? Plaintext y z A B C D E F G H I J K L M N O P Q R S T U V Ciphertext Z B - + = a i Y r } u v b c { e f g s C Plaintext W X Y Z 0 1 2 3 4 5 6 7 8 9 { } [ ] : ; , . Ciphertext 9 8 7 6 D F H J K L M N 5 3 1 0 O P Q R h l o p Plaintext ? - + = ~ Ciphertext q w x I y S T U V W X 2 4 E G ~ 3. ciphertext diambil karakter per karakter dan dimasukkan ke dalam variabel c Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009. USU Repository © 2009 4. c kemudian dicocokkan dengan setiap karakter pada X 5. nilai c yang cocok dengan karakter ke sekian pada kemudian akan ditukar dengan karakter ke sekian pada Y. 6. Nilai c kemudian akan dimasukkan ke dalam plaintext. 7. Nomor 5 sampai 8 diulangi hingga karakter di dalam ciphertext habis. 8. ciphertext kemudian akan dihapus dan digantikan dengan plaintext. Dari prosedur proses dekripsi algoritma Substitusi Mono Alphabet diatas dapat dilihat juga aliran proses pada Gambar 3.11 dibawah ini : Gambar 3.11 Flowchart fungsi dekripsi Substitusi Mono Alphabet mulai Mengambil ciphertext per karakter Sama? Akhir dari ciphertext? Masukkan dalam ciphertext yes no selesai Menentukan hasil pertukaran tiap karakter sesuai tabel Untuk dekripsi yes no Memeriksa tiap karakter dalam tabel Raja Salomo Tarigan : Implementasi Secure Hash Algorithm SHA Dan Substitusi Mono Alfabet Dalam Sistem Pengamanan Data, 2009.