• Tidak ada hasil yang ditemukan

Implementasi Algoritma Rc4a Dan Md5 Untuk Menjamin Confidentiality Dan Integrity Pada File Teks Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Rc4a Dan Md5 Untuk Menjamin Confidentiality Dan Integrity Pada File Teks Chapter III V"

Copied!
38
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem adalah teknik pemecahan masalah yang menguraikan bagian-bagian komponen dengan mempelajari seberapa baik bagian-bagian komponen tersebut bekerja dan berinteraksi dalam mencapai tujuan (Fatta, 2007). Analisis sistem dilakukan untuk mengidentifikasi permasalahan-permasalahan yang ada sehingga sistem dapat berjalan sebagaimana mestinya. Pada penelitian ini terdapat dua analisis sistem yang dilakukan yaitu analisis masalah dan analisis kebutuhan.

3.1.1 Analisis Masalah

Permasalahan yang dibahas dalam penelitian ini adalah bagaimana cara menjaga kerahasiaan suatu pesan atau informasi dari pihak-pihak yang tidak berwenang yang menginginkan informasi tersebut serta dapat menjamin bahwa informasi yang diperoleh masih utuh atau tidak mengalami perubahan.

Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa

(2)

Gambar 3.1 Diagram Ishikawa

3.1.2 Analisis Kebutuhan

Dalam membangun sebuah sistem, perlu dilakukan tahap analisis kebutuhan sistem untuk mengetahui kebutuhan yang diperlukan oleh sistem secara menyeluruh. Analisis kebutuhan sistem dapat dikelompokkan menjadi 2 bagian yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

3.1.2.1 Kebutuhan Fungsional

Kebutuhan fungsional yang harus dipenuhi dari sistem yang dirancang adalah sebagai berikut:

1. Sistem dapat melakukan enkripsi data terhadap file teks dengan menggunakan algoritma RC4A.

2. Sistem menghitung nilai hash dari hasil enkripsi (ciphertext) dengan menggunakan algoritma MD5.

3. Sistem dapat memverifikasi keutuhan file yang diterima dengan mencocokkan nilai hash yang ada.

(3)

Kebutuhan non-fungsional adalah kebutuhan yang berisi properti perilaku yang dimiliki oleh sistem (Fatta, 2007). Kebutuhan non-fungsional dari sistem yang dirancang adalah sebagai berikut:

1. Kinerja

Sistem yang dibangun dapat menampilkan hasil dari fungsi kriptografi yang dilakukan yaitu enkripsi dan dekripsi.

2. Informasi

Sistem yang dibangun mampu menampilkan pesan ketika nilai hash file yang dihitung dari sistem tidak sama dengan nilai hash yang diterima.

3. Mudah dipelajari dan digunakan

Sistem yang dibangun bersifat user friendly sehingga sistem dapat dengan mudah dipelajari dan digunakan oleh pengguna.

4. Hemat biaya

Sistem yang dibangun tidak memerlukan perangkat tambahan maupun sistem pendukung dalam penggunaannya.

3.2 Pemodelan Sistem

Pemodelan sistem dilakukan untuk menunjukkan gambaran dari sistem yang akan dibangun, bagaimana interaksi antar objek yang ada pada sistem, serta hubungan yang terjadi di dalamnya. Pada penelitian ini digunakan pemodelan UML (Unified Modeling Language) untuk mendesain serta merancang sistem. Model UML yang digunakan yaitu use case diagram dan activity diagram.

3.2.1 Use Case Diagram

Use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case mendeskripsikan interaksi antara para pengguna sistem dengan sistem itu sendiri, dengan menunjukkan gambaran bagaimana sistem tersebut digunakan. Dalam use

(4)

menampilkan aktor, use case, dan hubungan antar keduanya (Fowler, 2004). Use case diagram dari sistem ditunjukkan pada Gambar 3.2.

Gambar 3.2 Use Case Diagram Sistem

Narasi use case Enkripsi File dapat dilihat pada Tabel 3.1. Tabel 3.1 Use Case Enkripsi File

Nama Enkripsi File

Aktor User

Deskripsi Use case ini mendeskripsikan proses enkripsi file dengan algoritma RC4A

Alur Utama - User memilih file yang akan dienkripsi

(5)

Pasca Kondisi User mendapatkan hasil enkripsi plaintext

Narasi use case Membangkitkan Kode MD5 dapat dilihat pada Tabel 3.2. Tabel 3.2 Use Case Membangkitkan Kode MD5

Nama Membangkitkan Kode MD5

Aktor User

Deskripsi Use case ini mendeskripsikan proses untuk mendapatkan kode

hash MD5

Alur Utama User menekan tombol Proses MD5

Alur Alternatif User dapat memasukkan secara langsung kata yang ingin dihitung kode hash MD5 nya

Prakondisi User sudah mendapatkan hasil enkripsi file berupa ciphertext

Pasca Kondisi User mendapatkan hasil perhitungan kode MD5

Narasi use case Verifikasi File dapat dilihat pada Tabel 3.3. Tabel 3.3 Use Case Verifikasi File

Nama Verifikasi File

Aktor User

Deskripsi Use case ini mendeskripsikan proses untuk memverifikasi file

dengan cara membandingkan kode MD5 yang diterima dari si pengirim dengan kode MD5 yang dihasilkan sistem

(6)

Alur Alternatif - Prakondisi -

Pasca Kondisi User mendapatkan hasil proses verifikasi

Narasi use case Dekripsi File dapat dilihat pada Tabel 3.4. Tabel 3.4 Use Case Dekripsi File

Nama Dekripsi File

Aktor User

Deskripsi Use case ini mendeskripsikan proses dekripsi file dengan algoritma RC4A

Alur Utama - User memilih file yang akan didekripsi

- User memasukkan kunci yang telah disepakati Alur Alternatif -

Prakondisi User sudah mendapatkan hasil verifikasi file

Pasca Kondisi User mendapatkan hasil proses dekripsi (plaintext)

3.2.2 Activity Diagram

Activity diagram adalah teknik yang digunakan untuk menggambarkan logika prosedural,

proses bisnis, dan jalur kerja (Fowler, 2004). Activity diagram pada sistem ini ditunjukkan

(7)

Gambar 3.3 Activity Diagram

3.3 Flowchart

Flowchart merupakan gambaran atau bagan yang memperlihatkan urutan dan hubungan antar proses. Berikut adalah flowchart dari sistem yang akan dibangun:

3.3.1 Flowchart Sistem

Flowchart dari sistem dapat dilihat pada Gambar 3.4.

(8)

Gambar 3.4 Flowchart Sistem

3.3.2 Flowchart Algoritma RC4A

(9)
(10)
(11)

Gambar 3.7 Flowchart Dekripsi Algoritma RC4A

3.4 Perancangan Antarmuka Sistem

Perancangan antarmuka merupakan desain awal dari tampilan sistem yang akan dibangun. Perancangan antarmuka digunakan untuk memberikan kemudahan kepada pengguna sistem.

3.4.1 Menu Utama

(12)

3.4.1.1 Menu Enkripsi

Gambar 3.8 Menu Enkripsi Keterangan :

1. Tab Enkripsi untuk menampilkan menu enkripsi. 2. Tab Dekripsi untuk menampilkan menu dekripsi. 3. Tab Bantuan untuk menampilkan menu bantuan. 4. Tab Tentang untuk menampilkan menu tentang. 5. TextBox untuk menampilkan nama fileplaintext. 6. TextBox untuk memasukkan kunci.

7. RichTextBox untuk menampilkan ciphertext. 8. TextBox untuk menampilkan hash MD5.

9. Button untuk memilih file yang akan dienkripsi. 10. Button untuk melakukan proses enkripsi.

Enkripsi Dekripsi Bantuan Tentang

(13)

12. Button untuk melakukan proses perhitungan nilai MD5. 13. Button untuk menyimpan kode MD5.

14. RichTextBox untuk menampilkan plaintext.

15. Button untuk menghapus data yang digunakan sebelumnya.

3.4.1.2 Menu Dekripsi

Gambar 3.9 Menu Dekripsi Keterangan :

1. Tab Enkripsi untuk menampilkan menu enkripsi. 2. Tab Dekripsi untuk menampilkan menu dekripsi. 3. Tab Bantuan untuk menampilkan menu bantuan. 4. Tab Tentang untuk menampilkan menu tentang. 5. TextBox untuk menampilkan nama fileciphertext.

Enkripsi Dekripsi Bantuan Tentang

(14)

6. TextBox untuk memasukkan kode MD5. 7. TextBox untuk memasukkan kunci.

8. RichTextBox untuk menampilkan plaintext. 9. Button untuk memilih file yang akan didekripsi. 10. Button untuk memilih file yang berisi kode MD5. 11. Button untuk melakukan proses verifikasi.

12. Label untuk menampilkan hasil proses verifikasi. 13. Button untuk melakukan proses dekripsi.

14. Button untuk menyimpan plaintext.

15. RichTextBox untuk menampilkan ciphertext.

16. Button untuk menghapus data yang digunakan sebelumnya.

3.4.1.3 Menu Bantuan

Menu bantuan berisi informasi mengenai cara penggunaan sistem.

Gambar 3.10 Menu Bantuan Keterangan :

1. Tab Enkripsi untuk menampilkan menu enkripsi. Enkripsi Dekripsi Bantuan Tentang

1 2 3 4

5

(15)

3. Tab Bantuan untuk menampilkan menu bantuan. 4. Tab Tentang untuk menampilkan menu tentang.

5. Label untuk menampilkan informasi mengenai cara untuk mengenkripsi file. 6. Label untuk menampilkan informasi mengenai cara untuk mendekripsi file.

3.4.1.4 Menu Tentang

Gambar 3.11 Menu Tentang Keterangan :

1. Tab Enkripsi untuk menampilkan menu enkripsi. 2. Tab Dekripsi untuk menampilkan menu dekripsi. 3. Tab Bantuan untuk menampilkan menu bantuan. 4. Tab Tentang untuk menampilkan menu tentang.

5. Label untuk menampilkan informasi mengenai aplikasi. 6. PictureBox untuk menampilkan gambar.

7. Label untuk menampilkan informasi mengenai aplikasi. Enkripsi Dekripsi Bantuan Tentang

1 2 3 4

5

6

(16)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Setelah melakukan tahap analisis dan perancangan sistem maka tahapan yang dilakukan selanjutnya adalah implementasi sistem. Sistem ini dibangun dengan menggunakan bahasa pemrograman C#. Perangkat lunak yang digunakan sebagai

Integrated Development Environment (IDE) adalah SharpDevelop versi 4, 3.

Pada sistem ini terdapat satu form utama dengan beberapa menu tab yaitu menu enkripsi, dekripsi, bantuan, dan tentang.

4.1.1 Menu Enkripsi

Menu enkripsi merupakan menu yang pertama kali muncul pada saat aplikasi dijalankan. Pada menu ini tersedia dua RichTextBox yang masing-masing berfungsi untuk menampilkan isi dari file teks asli dan hasil ciphertext yang diperoleh.

Menu enkripsi berisi tentang proses enkripsi dengan menggunakan algoritma RC4A dan juga proses untuk menghasilkan nilai hash MD5. Sehingga terdapat dua

(17)

Gambar 4.1 Menu Enkripsi

4.1.2 Menu Dekripsi

Menu dekripsi merupakan menu yang digunakan untuk melakukan proses dekripsi. Menu ini digunakan oleh si penerima pesan untuk mendapatkan kembali pesan asli yang dikirimkan kepadanya.

(18)

MD5 yang diterima dari si pengirim dengan kode MD5 yang akan dihasilkan dari sistem. Jika hasil verifikasi “Sesuai” maka file yang diterima masih asli dan selanjutnya dapat dilakukan dekripsi pesan. Tampilan untuk menu dekripsi dapat dilihat pada Gambar 4.2.

Gambar 4.2 Menu Dekripsi

4.1.3 Menu Bantuan

(19)

Gambar 4.3 Menu Bantuan

4.1.4 Menu Tentang

(20)

Gambar 4.4 Menu Tentang

4.2 Pengujian Sistem

(21)

4.2.1.1 Pengujian Hasil Enkripsi Sistem

Untuk melakukan proses enkripsi, maka tahap awal yang dilakukan adalah memilih menu enkripsi. Setelah itu lakukan langkah-langkah berikut ini untuk melakukan proses enkripsi.

1. Tekan tombol Pilih File untuk memilih file teks (*.txt dan *.doc) yang akan dienkripsi.

2. Masukkan kunci RC4A pada kolom yang telah disediakan. 3. Tekan tombol Enkripsi untuk melakukan proses enkripsi.

4. Tekan tombol Simpan untuk menyimpan hasil enkripsi / ciphertext. 5. Tekan tombol Proses MD5 untuk mendapatkan kode MD5 dari ciphertext. 6. Kemudian simpan kode MD5 yang diperoleh dengan menekan tombol Simpan.

Contoh hasil proses enkripsi dapat dilihat pada Gambar 4.5 dengan masukan file

(22)

Gambar 4.5 Hasil Proses Enkripsi

(23)

Gambar 4.6 File Hasil Enkripsi

4.2.1.2 Pengujian Hasil Enkripsi Manual

Berikut adalah contoh hasil enkripsi manual algoritma RC4A dengan mode 4 byte

(untuk lebih menyederhanakan). Plaintext yang digunakan adalah “HI”. Proses KSA dengan masukan K dan S1 adalah sebagai berikut :

1. Inisialisasi array S1, S1 = {0, 1, 2, 3}

2. Kunci yang digunakan adalah 1 dan 7, l = 2 byte. Ulangi kunci hingga memenuhi

(24)

3. j = 0

(25)

j = (0 + 1) mod 4 = 1

Proses KSA dengan masukan WK dan S2. Proses ini sama halnya dengan proses sebelumnya, hanya saja jika sebelumnya menggunakan K dan S1 maka kali ini yang digunakan adalah WK dan S2. Pada akhir dari proses ini diperoleh S2 = {3, 1, 2, 0}. Setelah S1 dan S2 diperoleh dari proses KSA, selanjutnya masuk ke tahap PRGA. Proses PRGA dengan masukan S1 dan S2 adalah sebagai berikut :

1. Iterasi 1 (i = j1 = j2 = 0, S1 = {3, 1, 2, 0}, S2 = {3, 1, 2, 0}) i = (i + 1) mod 4

(26)

j1 = (j1 + S1[i]) mod 4

Selanjutnya plaintext H di XOR dengan 2 kemudian di XOR lagi dengan 2, maka : H XOR 2 = 01001000 XOR 00000010 = 01001010 XOR 00000010 = 01001000 2. Iterasi 2 ( i = 1, j1 = 1, j2 = 1, S1 = {3, 1, 2, 0}, S2 = {3, 1, 2, 0} )

(27)

j1 = (1 + 2) mod 4 = 3 swap S1[i] dengan S1[j1]

swap S1[2] dengan S1[3], S1 = {3, 1, 0, 2} output = S2[(S1[i] + S1[j1]) mod 4]

output = S2[(0 + 2) mod 4] output = S2[2] = 2

j2 = (j2 + S2[i]) mod 4 j2 = (1 + S2[2]) mod 4 j2 = (1 + 2) mod 4 = 3 swap S2[i] dengan S2[j2]

swap S2[2] dengan S2[3], S2 = {3, 1, 0, 2} output = S1[(S2[i] + S2[j2]) mod 4]

output = S1[(0 + 2) mod 4] output = S1[2] = 0

(28)

Tabel 4.1 Proses XOR Keystream dengan Plaintext pada Enkripsi

H I

Plaintext 01001000 01001001

Keystream 1 00000010 00000010

01001010 01001011

Keystream 2 00000010 00000000

Ciphertext 01001000 01001011

H K

Sebagaimana terlihat pada Tabel 4.1, plaintext “HI” di xor dengan keystream 1 dan

keystream 2 yang telah dihasilkan pada akhir proses PRGA sehingga didapatkan

ciphertext pesan berupa “HK”.

4.2.2 Pengujian Hasil Perhitungan MD5

4.2.2.1 Pengujian Hasil Perhitungan MD5 Sistem

(29)

Gambar 4.7 Hasil Proses Perhitungan MD5 File

Setelah diperoleh kode MD5 seperti terlihat pada Gambar 4.7 maka selanjutnya kode MD5 tersebut disimpan dan dikirimkan kepada si penerima beserta dengan ciphertext

(30)

Gambar 4.8 Hasil Proses Perhitungan MD5

4.2.2.2 Pengujian Hasil Perhitungan MD5 Manual

Berikut adalah contoh implementasi algoritma MD5 dengan pesan “Hello World!" (Hossam & Moussa, circa 2000).

1. Penambahan bit-bit pengganjal (padding bits)

(31)

Gambar 4.9 Pesan Dalam Bentuk Desimal (Hossam & Moussa, circa 2000)

Pesan akan ditambahkan 448 – 12*8 = 352 bit pengganjal sehingga panjang pesan menjadi 96 + 352 = 448 bit. Bit-bit pengganjal terdiri dari sebuah bit 1 dan diikuti dengan bit 0 yang menjadi sisanya.

2. Penambahan nilai panjang pesan semula Panjang pesan semula adalah 96 bit.

64 bit representasi dari 96 adalah 00000000 00000000 00000000 00000000 00000000 00000000 00000000 01100000 (secara low-order) seperti terlihat pada Gambar 4.10.

(32)

64 bit yang menyatakan panjang pesan semula ditambahkan ke hasil dari langkah sebelumnya. Jika sebelumnya panjang pesan 448 bit, maka hasil dari panjang pesan saat ini setelah ditambah 64 bit menjadi 512 bit seperti terlihat pada Gambar 4.11.

Gambar 4.11 Penambahan 64 bit pada Pesan (Hossam & Moussa, circa 2000)

3. Inisialisasi penyangga (buffer) MD

(33)

Nilai 32 bit register (Hexa)

Setelah diubah ke dalam bentuk low-order (Hexa)

Setelah diubah ke dalam

4. Pengolahan pesan dalam blok berukuran 512 bit

Pesan yang sebelumnya berukuran 512 bit dikelompokkan dalam word-word

berukuran 32 bit sehingga 512 : 32 = 16 word.

Sekarang X menunjukkan 16 word masing-masing 32 bit seperti pada Gambar 4.12.

(34)

Selanjutnya dilakukan perhitungan seperti berikut ini. X << 7 = 0111101011100001001101111110000000

X >> 25 = 0000000000000000000000000100100001

X >> 25 = 0111101011100001001101111110100001 = 8246321057 OR

• a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s) = (4023233417 + 8246321057) MOD (232) = 3679619882

Sekarang nilai a adalah 3679619882, b, c, dan d tidak mengalami perubahan.

• Untuk iterasi 2, diperoleh nilai d adalah 2081685101 dan register yang lain tidak berubah.

• Dari putaran keempat diperoleh nilai terakhir dari keempat register.

a = 538764524 ; d = 2077978953 ; c = 4184057696 ; b = 1186497226 A = A + a = (1732584193 + 538764524 ) MOD 232 = 2271348717 = 10000111 01100010 00000111 11101101 = 0x876207ED

(35)

10010010 00011110 10000100 01011110 = 0x921E845E

D = D + d = (271733878 + 2077978953) MOD 232 = 2349712831 = 10001100 00001101 11000101 10111111 = 0x8C0DC5BF

5. Output

Message digest menghasilkan output sebagai A, B, C, D yang dimulai dari A ke D secara low-order.

MD5 dari pesan “Hello World!” = 0xED076287532E86365E841E92BFC50D8C

4.2.3 Pengujian Hasil Dekripsi

4.2.3.1 Pengujian Hasil Dekripsi Sistem

Untuk melakukan proses dekripsi, maka tahap awal yang dilakukan adalah memilih menu dekripsi. Setelah itu lakukan langkah-langkah berikut ini untuk melakukan proses dekripsi.

1. Tekan tombol Pilih File untuk memilih file teks (*.txt dan *.doc) yang akan didekripsi.

2. Tekan tombol Cari Kode untuk memilih file kode MD5 yang diterima. 3. Tekan tombol Verifikasi untuk melakukan verifikasi file.

4. Lihat Hasil Verifikasi, jika hasilnya “Sesuai” maka file yang diterima masih asli. 5. Masukkan kunci RC4A pada kolom yang telah disediakan.

6. Tekan tombol Dekripsi untuk melakukan proses dekripsi.

7. Tekan tombol Simpan untuk menyimpan hasil dekripsi / plaintext.

Contoh hasil proses dekripsi dapat dilihat pada Gambar 4.13 dengan masukan file

(36)

Gambar 4.13 Hasil Proses Dekripsi

4.2.3.2 Pengujian Hasil Dekripsi Manual

Ciphertext yang akan didekripsi adalah ciphertext yang telah diperoleh pada enkripsi sebelumnya yaitu “HK”. Proses dekripsi sama seperti proses enkripsi sebelumnya. Jika pada proses enkripsi, plaintext di xor dengan keystream untuk menghasilkan

(37)

H K

Ciphertext 01001000 01001011

Keystream 1 00000010 00000010

01001010 01001001

Keystream 2 00000010 00000000

Plaintext 01001000 01001001

H I

(38)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan yang dapat diambil dari penelitian ini adalah:

1. Aplikasi yang dirancang dalam penelitian ini telah mampu melakukan proses pengamanan file teks dengan menggunakan algoritma RC4A.

2. Aplikasi yang dirancang mampu mengembalikan file teks hasil enkripsi menjadi

file teks semula sebelum dienkripsi.

3. Aplikasi yang dirancang dalam penelitian ini telah mampu melakukan proses verifikasi keutuhan file dengan menggunakan algoritma MD5.

4. Algoritma MD5 dapat digunakan untuk memverifikasi keutuhan dari suatu file

dengan cara menghitung nilai MD5 dari file tersebut dan membandingkannya dengan nilai MD5 yang diperoleh dari si pengirim.

5.2 Saran

Adapun saran yang dapat diberikan untuk pengembangan penelitian ini adalah sebagai berikut:

1. Untuk pengembangan sistem selanjutnya dapat menggunakan algoritma hash lain seperti SHA-1, SHA-256, dan lain sebagainya.

Gambar

Gambar 3.1 Diagram Ishikawa
Tabel 3.1 Use Case Enkripsi File
Tabel 3.3 Use Case Verifikasi File
Tabel 3.4 Use Case Dekripsi File
+7

Referensi

Dokumen terkait

Berdasarkan hasil penelitian tentang faktor yang berhubungan dengan kejadian Obesitas Sentral di Poliklinik Pabrik Gula Camming PTP Nusantara X (Persero) Kab.Bone

It also identifies the effect of using the instructional media in teaching and learning process toward the students.. The method used in this research is a descriptive

[r]

Untuk membuat object, kita menggunakan perintah new dengan sebuah nama class yang akan dibuat sebagai instance dari class tersebut...

Pembelajaran sejarah yang tidak sesuai dengan pakem resmi pemerintah dianggap sebagai upaya yang berbahaya dan mengancam keutuhan bangsa.... Bergulirnya reformasi menyebabkan

Penelitian ini bertujuan untuk menjelaskan keterampilan mengajar guru dalam pembelajaran Ilmu Pengetahuan Sosial siswa kelas V SD 2 Mlatinorowito dan peningkatan hasil

mahasiswa fakultas kedokteran gigi (Studi kasus pada rumah sakit gigi dan.. mulut pendidikan

Narasumber yang dipilih penulis adalah dua orang perawat yang telah bekerja lebih dari lima tahun di Panti Lansia Santa Anna dan dua orang lansia yang tinggal di Panti Lansia Santa