BAB III ANALISIS DAN DESAIN SISTEM

dokumen-dokumen yang mirip
BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN


BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM. permasalahan-permasalahan dan kebutuhan-kebutuhan yang diharapkan sehingga dapat

BAB III ANALISA DAN DESAIN SISTEM

BAB III PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

ANALISA PROSES ENKRIPSI DAN DESKRIPSI DENGAN METODE DES

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN UJI COBA

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB III ANALISIS DAN DESAIN SISTEM

BAB 1 PENDAHULUAN Latar belakang

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

ANALISA DAN PENERAPAN ALGORITMA DES UNTUK PENGAMANAN DATA GAMBAR DAN VIDEO

BAB III ANALISIS DAN PERANCANGAN SISTEM

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL


BAB III ANALISIS DAN PERANCANGAN

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

BAB III ANALISA DAN DESAIN SISTEM

BAB I PENDAHULUAN. 1.1 Latar Belakang

PENGAMANAN SQLITE DATABASE MENGGUNAKAN KRIPTOGRAFI ELGAMAL

Jurnal Coding, Sistem Komputer Untan Volume 04, No.2 (2016), hal ISSN : X

BAB III ANALISIS DAN PERANCANGAN

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 1 PENDAHULUAN. Universitas Sumatera Utara


Bab 2 Tinjauan Pustaka

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. pengembangan sistem yang lazim disebut Waterfall Model. Metode ini terdiri dari enam

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM. telah dijelaskan pada bab sebelumnya. Analisis yang dilakukan bertujuan untuk

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

BAB IV HASIL DAN UJI COBA

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

Gambar 3.1 Flowchart proses enkripsi AES

BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

SEMINAR TUGAS AKHIR PERIODE JANUARI 2012

ABSTRAK. kata kunci : McEliece, Elgamal, Rabin, Enkripsi, Dekripsi, Sandi, Kunci- Publik, Efesiensi

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB 3 PERANCANGAN PROGRAM

BAB IV HASIL DAN UJI COBA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

ALGORITMA DATA ENCRYPTION STANDARD (DES)

BAB III Metode Perancangan

ANALISIS KEMAMPUAN ALGORITMA ELGAMAL UNTUK KRIPTOGRAFI CITRA

BAB III ANALISA DAN PERANCANGAN. 3.1 Analisa Berikut tahap-tahap awal dalam pembuatan:

BAB IV PERANCANGAN SISTEM

DATA ENCRYPTION STANDARD (DES) STANDAR ENKRIPSI DATA. Algoritma Kriptografi Modern

Modul Praktikum Keamanan Sistem

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA MASALAH DAN PERANCANGAN

APLIKASI KRIPTOGRAFI ENKRIPSI DEKRIPSI FILE TEKS MENGGUNAKAN METODE MCRYPT BLOWFISH

PENERAPAN ALGORITMA RSA DAN DES PADA PENGAMANAN FILE TEKS


Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

BAB III ANALISIS DAN DESAIN SISTEM

Outline. Sejarah DES Enkripsi DES Implementasi Hardware dan Software DES Keamanan DES

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

Menggunakan Algoritma Kriptografi Blowfish

BAB III ANALISIS DAN DESAIN SISTEM

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISA MASALAH DAN PERANCANGAN

ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

APLIKASI PENGAMANAN DATA MENGGUNAKAN ALGORITMA DATA ENCRYPTION STANDARD (DES) DENGAN NETBEANS IDE BERBASIS DESKTOP

BAB III METODE PENELITIAN

ANALISIS DAN PERANCANGAN SISTEM KRIPTOGRAFI SIMETRIS TRIPLE DES DAN KRIPTOGRAFI ASIMETRIS RSA SKRIPSI BENY

BAB III ANALISIS DAN DESAIN SISTEM

BAB 2 LANDASAN TEORI

IMPLEMENTASI ALGORITMA KRIPTOGRAFI KUNCI PUBLIK ELGAMAL UNTUK PROSES ENKRIPSI DAN DEKRIPSI GUNA PENGAMANAN FILE DATA

APLIKASI ENKRIPSI PENGIRIMAN FILE SUARA MENGGUNAKAN ALGORITMA BLOWFISH

Transkripsi:

BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis III.1.1 Analisis Masalah Secara umum data dikategorikan menjadi dua, yaitu data yang bersifat rahasia dan data yang bersifat tidak rahasia. Data yang bersifat tidak rahasia biasanya tidak akan terlalu diperhatikan. Yang sangat perlu diperhatikan adalah data yang bersifat rahasia, dimana setiap informasi yang ada didalamnya akan sangat berharga bagi pihak yang membutuhkan karena data tersebut dapat dengan mudah digandakan. Untuk mendapatkan informasi di dalamnya, biasanya dilakukan berbagai cara yang tidak sah. Seiring dengan perkembangan teknologi, keamanan dalam berteknologi merupakan hal yang sangat penting. Salah satu cara mengamankan data adalah dengan menggunakan metode kriptografi. Hal ini dikarenakan metode kriptografi sangat mudah diimplementasikan. Meskipun kriptografi adalah salah satu cara untuk mengamankan data, namun masih ada kekurangannya, yaitu metode kriptografi telah diketahui oleh banyak orang. Karena itu dibutuhkan suatu metode untuk mendapatkan keamanan lebih, baik dalam informasi ataupun data khususnya yang bersifat rahasia. 29

30 III.1.2 Strategi Pemecahan Masalah Adapun masalah yang ada yaitu sebagai berikut : 1. Bagaimana menjaga keamanan pesan dan keutuhan pesan teks? 2. Metode apa yang akan digunakan agar keutuhan pesan tetap terjaga? 3. Bagaimana penerapan metode yang tepat pada proses enkripsi dan dekripsi? Adapun strategi pemecahan masalah yang penulis gunakan adalah sebagai berikut : 1. Untuk menjaga keamanan pasan teks agar isi pesan tersebut tetap utuh kepada si penerima. Yaitu dengan menggunakan aplikasi kriptografi. Aplikasi kriptografi tersebut dapat menenkripsi dan mendekripsi pesan teks dengan beberapa metode yang dapat diterapkan. 2. Dari banyaknya metode yang ada, metode yang aman digunakan adalah metode DES (Data Encryption Standard) dan ElGamal. Karena kedua metode tersebut memiliki syarat Key Word dan Generate Key yang dirahasiakan, 3. Dengan metode DES (Data Encryption Standard) dan ElGamal terdapat Key Word dan Generate Key yang dirahasiakan, sehingga proses enkripsi dan dekripsi teks lebih terjaga. Maka dengan adanya aplikasi ini teks yang memuat pesan yang akan disampaikan pada penerima akan di enkripsi terlebih dahulu, dan akan di dekripsi oleh penerima sehingga penerima dapat membaca isi pesan teks yang telah disampaikan.

31 III.2. Penerapan Metode Metode yang digunakan di dalam penelitian ini adalah metode DES (Data Encryption Standard) dan ElGamal. III.2.1 Algoritma DES (Data Encryption Standard) DES menggunakan kunci sebesar 64 bit untuk mengenkripsi blok juga sebesar 64 bit. Akan tetapi karena 8 bit dari kunci digunakan sebagai parity, kunci efektif hanya 56 bit. Dalam DES, penomoran bit adalah dari kiri kekanan dengan bit 1 menjadi most significant bit, jadi untuk 64 bit, bit 1 mempunyai nilai 2 63. Permutasi menggunakan initial permutation dilakukan terhadap input sebesar 64 bit. Hasil permutasi dibagi menjadi dua blok L0 dan R0, masing-masing sebesar 32 bit, dimana L0 merupakan 32 bit pertama dari hasil permutasi dan R0 merupakan 32 bit sisanya (bit 33 hasil permutasi menjadi bit 1 R0). Sebanyak 16 putaran enkripsi dilakukan menggunakan fungsi cipher f dan setiap putaran menggunakan kunci 48 bit yang berbeda dan dibuat berdasarkan kunci DES. Efeknya adalah setiap blok secara bergantian dienkripsi, masing-masing sebanyak 8 kali (Sentot Kromodimoeljo; 2010). Pada setiap putaran, blok sebesar 32 bit dienkripsi menggunakan rumus : (1) dan blok juga sebesar 32 bit tidak dienkripsi: (2) Dimana : 1. Ln -1 adalah blok yang sedang giliran tidak dienkripsi. 2. adalah operasi exclusive or secara bitwise.

32 3. f adalah fungsi cipher yang akan dijelaskan. 4. R n-1 adalah blok yang sedang giliran dienkripsi, dan 5. K n adalah kunci untuk putaran n. Setelah putaran terahir, kedua blok digabung lagi tetapi bertukaran tempat, jadi R 16 menjadi blok pertama dan L 16 menjadi blok kedua. Ini dilakukan untuk menyederhanakan proses dekripsi. Setelah itu permutasi menggunakan inverse permutation dilakukan terhadap blok yang sudah digabung menjadi 64 bit memberikan hasil ahir enkripsi DES. Berikut adalah contoh soal dari algoritma DES. Misalkan suatu plaintext M = 0123456789ABCDEF, M dalam format heksadesimal (basis 16). Apabila ditulis dalam format biner M merupakan blok Dalam format biner pesan M dan kunci K dinyatakan sebagai berikut : M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 K = 0001 0011 0011 0100 0101 0111 0111 1001 1001 1011 1011 1100 1101 1111 1111 0001 Tahap Pertama. Membuat 16 sub-kunci masing-masing panjangnya 48-bit. Kunci 64-bit dipermutasikan menurut hasil permutasinya dapat dilihat sebagai berikut : K = 00010011 00110100 01010111 01111001 10011011 10111100 11011111 11110001 K+ = 1111000 0110011 0010101 0101111 0101010 1011001 1001111 0001111

33 Selanjutnya hasil permutasi ini dipecah menjadi dua bagian, yakni bagian kiri C 0 dan bagian kanan D 0 yang masing-masing panjang 28 bit, yaitu : C 0 = 1111000 0110011 0010101 0101111 D 0 = 0101010 1011001 1001111 0001111 Berdasarkan C 0 dan D 0 tersebut dibuat 16 blok C n dan D n, 1 n 16. Setiap pasangan blok Cn dan Dn dibentuk dari pasangan blok sebelumnya C n-1 dan D n-1, n = 1, 2,..., 16, dengan menggunakan schedule left shift. Sebagai contoh dari pasangan C 0 dan D 0 diperoleh : C 0 = 1111000011001100101010101111 D 0 = 0101010101100110011110001111 C 1 = 1110000110011001010101011111 D 1 = 1010101011001100111100011110... C 16 = 1111000011001100101010101111 D 16 = 0101010101100110011110001111 Untuk membentuk kunci Kn, 1 n 16, dioperasikan tabel permutasi dari tiap pasangan C n D n. Setiap pasangan yang mempunyai 56 bit hanya dipilih 48 bit. Contoh hasil permutasi untuk 16 kunci pertama tiap pasangan adalah sebagai berikut : C 1 D 1 = 1110000 1100110 0101010 1011111 1010101 0110011 0011110 0011110 K 1 = 000110 110000 001011 101111 111111 000111 000001 110010 C 2 D 2 = 1100001 1001100 1010101 0111111 0101010 1100110 0111100 0111101

34 K 2 = 011110 011010 111011 011001 110110 111100 100111 100101... K 15 = 101111 111001 000110 001101 001111 010011 111100 001010 K 16 = 110010 110011 110110 001011 000011 100001 011111 110101 Tahap Kedua. Encode setiap 64-bit blok data. IP (Initial Permutation) dari 64 bit pesan M. Initial Permutation susunan M menjadi sebagai berikut : M = 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 IP = 1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010 Hasil permutasi dibagi dua, yaitu bagian kiri L 0 32 bit, dan bagian kanan R 0 32 bit, yaitu : L 0 = 1100 1100 0000 0000 1100 1100 1111 1111 R 0 = 1111 0000 1010 1010 1111 0000 1010 1010 Selanjutnya melalui proses iterasi 16 kali, untuk 1 n 16, fungsi f yang mengoperasikan dua blok data 32 bit dan kunci Kn dari 48 bit untuk menghasilkan data blok 32 bit. Untuk n berjalan dari 1 sampai dengan 16 dihitung : L n = R n-1 R n = L n-1 f(r n-1, K n ) Hasil dari perhitungan ini adalah blok final untuk n = 16, yaitu L 16 R 16. Sebagai contoh untuk n = 1, diperoleh : K 1 = 000110 110000 001011 101111 111111 000111 000001 110010 L 1 = R 0 = 1111 0000 1010 1010 1111 0000 1010 1010

35 R 1 = L 0 f(r 0, K 1 ) Untuk menghitung fungsi f, terlebih dahulu ekspansikan tiap blok R n-1 dari 32 bit menjadi 48 bit. Sebagai contoh hasil perhitungan E(R 0 ) dari R 0 adalah sebagai berikut : R 0 = 1111 0000 1010 1010 1111 0000 1010 1010 E(R 0 ) = 011110 100001 010101 010101 011110 100001 010101 010101 Dan hasil dari perhitungan fungsi f adalah sebagai berikut : K 1 = 000110 110000 001011 101111 111111 000111 000001 110010 E(R 0 ) = 011110 100001 010101 010101 011110 100001 010101 010101 K 1 E(R 0 ) = 011000 010001 011110 111010 100001 100110 010100 100111 Hasil dari 48 bit atau 8 group dengan 6 bit per group disubtitusikan dengan S-Box. Misalkan hasil dari 48 bit ditulis dalam bentuk : K n E(R n-1 ) = B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 dimana setiap Bi adalah group 6 bit. Selanjutnya hitung : S 1 (B 1 ) S 2 (B 2 ) S 3 (B 3 ) S 4 (B 4 ) S 5 (B 5 ) S 6 (B 6 ) S 7 (B 7 ) S 8 (B 8 ) dimana Si(Bi) adalah output dari S-Box ke i. Sebagai contoh untuk putaran pertama output S- Box diperoleh sebagai berikut : K E(R 0 ) = 011000 010001 011110 111010 100001 100110 010100 100111 S 1 (B 1 ) S 2 (B 2 ) S 3 (B 3 ) S 4 (B 4 ) S 5 (B 5 ) S 6 (B 6 ) S 7 (B 7 ) S 8 (B 8 ) = 0101 1100 1000 0010 1011 0101 1001 0111

36 Langkah terakhir dari perhitungan fungsi f adalah permutasi P dari output S-Box untuk mendapatkan nilai akhir f : f = P(S 1 (B 1 )S 2 (B 2 )... S 8 (B 8 )) Sebagai contoh hasil dari permutasi P didapat output 32 bit sebagai berikut : S 1 (B 1 ) S 2 (B 2 ) S 3 (B 3 ) S 4 (B 4 ) S 5 (B 5 ) S 6 (B 6 ) S 7 (B 7 ) S 8 (B 8 ) = 0101 1100 1000 0010 1011 0101 1001 0111 f = 0010 0011 0100 1010 1010 1001 1011 1011 f(r 0, K 1 ) R 1 = L 0 f(r 0, K 1 ) = 1100 1100 0000 0000 1100 1100 1111 1111 0010 0011 0100 1010 1010 1001 1011 1011 = 1110 1111 0100 1010 0110 0101 0100 0100 Untuk putaran berikutnya di dapat L 2 = R 1, dan harus dihitung R 2 = L 1 f(r 1,K 2 ), diperoleh blok L 16 dan R 16 urutannya ditukar dan dipermutasikan dengan final permutation IP-1 (inverse dari IP). Sebagai contoh misalkan pada putaran ke -16 diperoleh : L 16 = 0100 0011 0100 0010 0011 0010 0011 0100 R 16 = 00001010 0100 1100 1101 1001 1001 0101 Dibalik urutannya menjadi sebagai berikut : R 16 L 16 = 00001010 01001100 11011001 10010101 01000011 01000010 00110010 00110100 Kemudian dipermutasikan dengan IP-1 diperoleh sebagai berikut : 85E813540F0AB405. Dengan demikian hasil enkripsi M = 0123456789ABCDEF

37 adalah cipher teks C = 85E813540F0AB405. Proses dekripsi akan mengembalikan C = 85E813540F0AB405 menjadi M = 0123456789ABCDEF. III.2.2 Algoritma ElGamal Algoritma Elgamal merupakan salah satu algoritma kriptografi kuncipublik yang dibuat oleh Taher Elgamal pada tahun 1984. Algoritma ini pada umumnya digunakan untuk digital signature, namun kemudian dimodifikasi sehingga juga bisa digunakan untuk enkripsi dan deskripsi. ElGamal digunakan dalam perangkat lunak sekuriti yang dikembangkan oleh GNU, program PGP, dan pada sistem sekuriti lainnya. Kekuatan algoritma ini terletak pada sulitnya menghitung logaritma diskrit. Besaran-besaran yang digunakan di dalam algoritma Elgamal : 1. Bilangan prima, p (tidak rahasia) 2. Bilangan acak, g ( g < p) (tidak rahasia) 3. Bilangan acak, x (x < p) (rahasia) 4. M (plainteks) (rahasia) 5. a dan b (cipherteks) (tidak rahasia) Prosedur membuat pasangan kunci pada algoritma ElGamal : 1. Pilih sembarang bilangan prima p. 2. Pilih dua buah bilangan acak, g dan x, dengan syarat g < p dan 1 x p 2. 3. Hitung y = gx mod p. 4. Kunci publik adalah y, kunci rahasia adalah x.

38 Nilai g dan p tidak dirahasiakan dan dapat diumumkan kepada anggota kelompok. Contoh perhitungan manual proses pembentukan kunci, proses enkripsi, dan dekripsi algoritama ElGamal : 1. Perhitungan Pembentukan Kunci. Misalkan A membangkitkan pasangan kunci dengan memilih bilangan : p = 257 g = 11 x = 13 Kemudian p, g, x digunakan untuk menghitung y : y = gx mod p y = 1113 mod 257 y = 22 2. Perhitungan Enkripsi Misalkan B ingin mengirim plainteks ENKRIPSI kepada A, kemudian setiap karakter plainteks tersebut diubah kedalam bentuk ASCII sehingga menghasilkan plainteks ASCII, dapat dilihat pada table III.1 : Tabel III.1 Konversi ASCII Karakter ASCII E 69 N 78 K 75 R 82 I 73 P 80 S 83 I 73

39 Kemudian nilai ASCII tersebut dimasukkan kedalam blok-blok nilai m secara berurutan, dapat dilihat pada table III.2 : Tabel III.2 Blok nilai ASCII Plainteks mi ASCII m1 69 m2 78 m3 75 m4 82 m5 73 m6 80 m7 83 m8 73 Kemudian B memilih bilangan acak k untuk masing-masing nilai m dimana nilai ki ini bernilai 0 < k < p -1. Sehingga diambil nilai acak k untuk masingmasing nilai m, dapat dilihat pada table III.3: Tabel III.3 Urutan ASCII dengan nilai acak k Plainteks mi ASCII Nilai k m1 69 58 m2 78 178 m3 75 251 m4 82 62 m5 73 137 m6 80 27 m7 83 256 m8 73 173

40 Kemudian B menghitung, perhitungan A, dapat dilihat pada table III.4 : Tabel III.4 Proses Enkripsi Plainteks ke Cipherteks Metode ElGamal Plainteks mi ASCII Nilai k ai = 11 k mod 257 bi = 22 k. mi mod 257 m1 69 58 30 201 m2 78 178 137 82 m3 75 251 73 147 m4 82 62 17 220 m5 73 137 190 16 m6 80 27 184 203 m7 83 256 1 83 m8 73 173 235 249 Setelah mendapatkan nilai a dan b, hasil perhitungan tersebut disusun dengan pola, a1, b1, a2, b2, a3,b3, a4, b4, a5, b5, a6, b6, a7, b7, a8, b8. Sehingga membentuk chiperteks : 30 201 137 82 73 147 17 220 190 16 184 203 1 83 235 249. 3. Perhitungan Dekripsi Kemudian A mendekripsikan chiperteks dari B dengan melakukan perhitungan dengan rumus, dapat dilihat pada table III.5 : Tabel III.5 Proses Dekripsi Cipherteks ke Plainteks Metode ElGamal Plainteks mi Nilai a Nilai b mi = bi.ai 257-1-13 mod 257 m1 30 201 69 m2 137 82 78 m3 73 147 75 m4 17 220 82 m5 190 16 73 m6 184 203 80 m7 1 83 83 m8 235 249 73

41 Setelah mendapatkan nilai mi, masing-masing nilai m hasil dekripsi menjadi kode ASCII diubah kembali menjadi karakter. Kemudian kode ASCII tersebut diubah menjadi plainteks, dapat dilihat pada table III.6 : Tabel III.6 Konversi ASCII ASCII Plainteks 69 E 78 N 75 K 82 R 73 I 80 P 83 S 73 I Sehingga hasil dekripsi membentuk plainteks ENKRIPSI, sama dengan plainteks sebelum di enkripsi. III.3. Perancangan III.3.1 Use Case Diagram Kegiatan interaksi antara aktor terhadap sistem ditunjukan pada use case diagram, Aktor yang terlibat dalam kegiatan tersebut adalah user. Use case diagram perangkat lunak yang dibangun terlihat pada gambar berikut:

42 System Menu DES Masukkan Plaintext Masukkan Key «extends» «extends» «extends» «extends» Enkripsi Pilih Menu Enkripsi «extends» «extends» «extends» «extends» Menu ElGamal Masukkan Key X Enkripsi Output Ciphertext User Menu ElGamal Masukkan Ciphertext Masukkan Key X «extends» «extends» «extends» «extends» Dekripsi Pilih Menu Dekripsi «extends» «extends» «extends» «extends» Menu DES Masukkan Key Dekripsi Teks Asli Gambar III.1 Use Case Diagram Aplikasi Enkripsi Teks Menggunakan Metode DES (Data Encryption Standard) dan ElGamal

43 Pada use case enkripsi teks menggunakan metode DES (Data Encryption Standard) dan ElGamal diawali dengan memilih menu enkripsi untuk melakukan proses enkripsi. Setelah berada dalam form DES, user diminta untuk memasukkan plainteks yang akan diproses. Kemudian memasukkan kata kunci minimal 8 digit sebagai key pengamanan enkripsi pada proses DES. Setelah hasil enkripsi DES didapat. maka hasil enkripsi akan diproses lagi menggunakan metode ElGamal. Pada plainteks ElGamal secara otomatis terisi dari hasil proses enkripsi DES. Kemudian user harus memasukkan bilangan kunci X pada ElGamal dan menekan tombol enkripsi. Setelah proses selesai maka hasil dari enkripsi dapat disimpan dalam format *txt. Pada use case dekripsi menggunakan metode ElGamal dan DES (Data Encryption Standard) dimulai dengan memilih menu dekripsi untuk melakukan proses dekripsi teks. Setelah berada dalam form ElGamal, user diminta untuk memasukkan kunci rahasia bilangan X yang akan diproses sebagai pencocokan key pengamanan dekripsi pada proses ElGamal. Kemudian user memasukkan ciphertext yang akan didekripsi. Setelah hasil dekripsi ElGamal didapat. maka hasil dekripsi akan diproses lagi menggunakan metode DES. Pada ciphertext DES secara otomatis terisi dari hasil proses dekripsi ElGamal. Kemudian user harus memasukkan bilangan kata kunci yang berupa 8 digit pada DES dan menekan tombol dekripsi. Setelah proses selesai maka hasil dari dekripsi dapat disimpan dalam format *txt

44 III.3.2 Activity Diagram Gambar III.2 Activity Diagram Enkripsi Teks Menggunakan Metode DES (Data Encryption Standard) dan ElGamal

45 Gambar III.3 Activity Diagram Dekripsi Teks Menggunakan Metode ElGamal dan DES (Data Encryption Standard) III.3.3 Sequence Diagram Suatu sequence diagram adalah suatu penyajian perilaku yang tersusun sebagai rangkaian langkah-langkah percontohan dari waktu ke waktu, yang dijelaskan melalui gambar berikut :

46 Gambar III.4 Sequence Diagram Enkripsi Teks Menggunakan Metode DES (Data Encryption Standard) dan ElGamal Gambar III.5 Sequence Diagram Dekripsi Teks Menggunakan Metode ElGamal dan DES (Data Encryption Standard)

47 III.3.4 FlowChart Program Flowchart program merupakan suatu gambaran atau proses jalannya suatu program secara global yang dijelaskan melalui gambar III.6 berikut : Gambar III.6 Flowchart Perancangan Aplikasi Enkripsi Teks Menggunakan Metode DES (Data Encryption Standard) dan ElGamal

48 III.4. Desain User Interface III.4.1 Antarmuka Form Pembuka Rancangan form ini dibuat sebagai form pembuka dimana di form ini ada terdapat satu picturebox dan Timer dengan ketentuan waktu yang ditentukan maka form utama akan terbuka, dapat dilihat pada gambar III.7 : Powered by Ibnu Hibban Welcome III.4.2 Antarmuka Form Utama Gambar III.7 Tampilan Form Pembuka Rancangan form ini dibuat sebagai form utama dimana di form ini ada terdapat empat button yang akan membuka form lain seperti form algoritma DES (Data Encryption Standard), Form algoritma ElGamal, form About Me, dan form Help, dapat dilihat pada gambar III.8 :

49 Start Ibnu Hibban Cryptography DES About Me Cryptography ElGamal Help Perancangan Aplikasi Enkripsi Teks Dengan Menggunakan Metode DES & ElGamal Gambar III.8 Tampilan Form Utama III.4.3 Antarmuka Form Cryptography DES Rancangan form ini dibuat untuk melakukan proses enkripsi dan dekripsi teks dimana akan dijelaskan satu persatu tentang form tersebut. Berikut penjelasan form algoritma DES (Data Encryption Standard) atau dapat dilihat pada gambar III.9 : 1. Textbox Key Word untuk kata kunci dari proses enkripsi dan dekripsi teks. 2. Checkbox Hidden Key berfungsi untuk menyembunyikan kata kunci yang akan di input. 3. Label x merupakan tombol keluar pada form algoritma DES (Data Encryption Standard). 4. Tombol/button Clear All merupakan tombol untuk menghapus data seluruh yang telah di input maupun hasil plaintext.

50 5. Textbox Plaintext pada groupbox proses enkripsi adalah tempat data yang akan di input untuk di enkripsi. 6. Textbox Ciphertext pada groupbox proses enkripsi adalah tempat hasil enkripsi yang telah di input. 7. Tombol/button Save merupakan tombol untuk menyimpan data yang telah di enkripsi. 8. Tombol/button Enkripsi merupakan tombol untuk memproses pengenkripsian data yang telah di input. 9. Tombol/button Next ElGamal merupakan tombol untuk melanjutkan proses enkripsi ganda menggunakan metode ElGamal. 10. Textbox Ciphertext pada groupbox proses dekripsi adalah tempat data yang akan di input untuk di dekripsi. 11. Textbox Plaintext pada groupbox proses dekripsi adalah tempat hasil enkripsi yang telah di input. 12. Checkbox Non File berfungsi untuk memberikan pilihan apakah data yang akan di input pada proses dekripsi merupakan data input menggunakan manual atau menyisipkan data otomatis melalui browse file. 13. Tombol/button Open merupakan tombol untuk menyisipkan data teks berformat *.txt. 14. Tombol/button dekripsi merupakan tombol untuk memproses pengdekripsian data yang telah di input.

51 Cryptography DES Key Word : x Process Encryption Clear All Plaintext Ciphertext Enkripsi Save Next ElGamal Process Decryption Ciphertext Plaintext Dekripsi Non File Gambar III.9 Tampilan Form Cryptography DES III.4.4 Antarmuka Form Cryptography ElGamal Rancangan form ini dibuat untuk melakukan proses enkripsi dan dekripsi teks dimana akan dijelaskan satu persatu tentang form tersebut. Berikut penjelasan form algoritma Elgamal atau dapat dilihat pada gambar III.10 : 1. Textbox Value X untuk generate Key dari proses enkripsi dan dekripsi teks. 2. Checkbox Hidden Value berfungsi untuk menyembunyikan kata kunci yang akan di input. 3. Tombol/button x merupakan tombol keluar pada form algoritma ElGamal. 4. Tombol/button Clear All merupakan tombol untuk menghapus data seluruh yang telah di input maupun hasil plaintext.

52 5. Textbox Plaintext pada groupbox proses enkripsi adalah tempat data yang akan di input untuk di enkripsi. 6. Textbox Ciphertext pada groupbox proses enkripsi adalah tempat hasil enkripsi yang telah di input. 7. Tombol/button Save merupakan tombol untuk menyimpan data yang telah di enkripsi. 8. Tombol/button Enkripsi merupakan tombol untuk memproses pengenkripsian data yang telah di input. 9. Textbox Ciphertext pada groupbox proses dekripsi adalah tempat data yang akan di input untuk di dekripsi. 10. Textbox Plaintext pada groupbox proses dekripsi adalah tempat hasil enkripsi yang telah di input. 11. Checkbox My File berfungsi untuk memberikan pilihan apakah data yang akan di input pada proses dekripsi merupakan data input menggunakan manual atau menyisipkan data otomatis melalui browse file. 12. Tombol/button Open merupakan tombol untuk menyisipkan data teks berformat *.txt. 13. Tombol/button dekripsi merupakan tombol untuk memproses pengdekripsian data yang telah di input.

53 Cryptography ElGamal Key Word : x Process Encryption Clear All Plaintext Ciphertext Enkripsi Next DES Process Decryption Ciphertext Plaintext Dekripsi x My File Open Gambar III.10 Tampilan Form Cryptography ElGamal III.4.5 Antarmuka Form About Rancangan form ini dibuat untuk membantu user/pengguna mengetahui teori dari kriptografi yang digunakan atau dapat dilihat pada gambar III.11 : Defenition and History Cryptography DES dan ElGamal x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Gambar III.11 Tampilan Form About

54 III.4.6 Antarmuka Form Help Rancangan form ini dibuat untuk membantu user/pengguna dalam menggunakan program ini atau dapat dilihat pada gambar III.12 : Encrypt DES & ElGamal Instruction Manual Decrypt DES & ElGamal 1. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 1. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 3. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 3. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 4. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 4. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 5. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 5. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 6. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 6. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 7. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 7. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 8. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 8. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 9. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 10. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 10. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Gambar III.12 Tampilan Form Help III.4.7 Antarmuka Form Profil Rancangan form ini dibuat untuk membantu user/pengguna mengetahui identitas pembuat program ini atau dapat dilihat pada gambar III.13 : IBNU HIBBAN Universitas Potensi Utama Available For HIRE AND FREELANCE WORK Nim : 1110000264 Interest : Network and Distributed System Personal Statement Web Phone Email : xxxxxxxxxxxxxxxxxxxxxx : xxxxxxxxxxxxxxxxxxxxxx : xxxxxxxxxxxxxxxxxxxxxx foto Hello my name is Ibnuhibban. Iwas student at the Universitas Potensi Utama. I also worked part time as a web design Gambar III.13 Tampilan Form Profil