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.