Sistem Keamanan Pesan Teks Pada Email Menggunakan Algoritma Triple Transposition Vigenre Cipher (TTVC) Dan RSA
SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC) DAN RSA
SKRIPSI
DARMA WARISTA
091402099
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
(2)
SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC) DAN RSA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
DARMA WARISTA 091402099
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2014
(3)
PERSETUJUAN
Judul : SISTEM KEAMANAN PESAN TEKS PADA
EMAIL MENGGUNAKAN ALGORITMA
TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC) DAN RSA
Kategori : SKRIPSI
Nama : DARMA WARISTA
Nomor Induk Mahasiswa : 091402099
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI Diluluskan di
Medan, September 2014
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dani Gunawan, ST.,MT NIP. 19800110 200801 1 010
M. Andri Budiman, ST.,M.Com.,M.E.M NIP. 19751008 200801 1 010
Diketahui/Disetujui oleh
Program Studi Teknologi Informasi Ketua,
M. Anggia Muchtar, ST.,MM.IT NIP. 19800110 200801 1 010
(4)
PERNYATAAN
SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENRE CIPHER (TTVC) DAN RSA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, September 2014
DARMA WARISTA 091402099
(5)
UCAPAN TERIMA KASIH
Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha Penyayang, dengan segala rahmat dan karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan terima kasih sedalam-dalamnya dan penghargaan kepada :
1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda Johannes Daud dan Ibunda Sabarita Sinulingga yang selalu sabar dalam mendidik dan membesarkan penulis. Untuk adik penulis Riki Ardian yang selalu memberikan semangat kepada penulis.
2. Bapak M. Andri Budiman, ST.,M.Com.,M.E.M dan Bapak Dani Gunawan,
ST.,MT selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.
3. Ibu Dedi Arisandi, ST.M.Kom dan Bapak M. Anggia Muchtar, ST.,MM.IT yang
telah bersedia menjadi dosen pembanding yang telah memberikan kritik dan saran kepada penulis.
4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST.,MM.IT dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT.
5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara, semua dosen serta pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi.
6. Seluruh sahabat terbaik penulis yang selalu memberikan dukungan, Ahmad Najam, Wildan Afifi, Satrya Prayudi, Mahathir Febrian, Fachriza Fahmi, Andre H Lubis, M Taufiqul Hadi, Anthea Ria M, Reyza Mirwanda, Dudung, Boho, Yogi, Dedek, Razky, Ranap, Donny, Erfahd, Adha, Mulki, Yudhi, Muslim, Syarah, Mitha, Ari Rifki, Onang, Hardiyanti Safitri, Bang Aulia, Bang Ridho, Bang Doyok, Bang Bayu serta seluruh angkatan 09, teman SRC, teman-teman Sepak Bola FASILKOM-TI, teman-teman-teman-teman SMA, teman-teman-teman-teman Jalbar, serta teman-teman seluruh angkatan mahasiswa USU lainnya yang tidak dapat penulis sebutkan satu persatu.
Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga tugas akhir ini dapat bermanfaat bagi semua pihak yang memerlukan
(6)
ABSTRAK
Kemajuan sistem informasi semakin tak terbatas, saat ini banyak dokumen penting yang dikirim menggunakan media internet. Namun, Perkembangan teknologi informasi yang seprti itu pula yang meneyebabkan informasi atau pesan yang dipertukarkan tersebut tidak aman. Pelaku kejahatan memanfaatkan celah ketidakamanan tersebut untuk dimasuki dan melakukan manipulasi pesan atau informasi jika pesan atau informasi tersebut diubah. Sebagai contoh dapat terjadinya salah paham dan kerugian materil lewat kebocoran dan kerusakan data yang terjadi. Maka perlu teknik pengamanan lebih untuk menjaga kerahasiaan dan keamanan dari informasi atau pesan tersebut. Untuk menyelesaikan permasalahan ini dapat diselesaikan dengan menggunakan kombinasi algoritma. Dengan menerapkan sistem kriptografi asimetris RSA dan kriptografi simetris Triple Transposition Vigenere Cipher. Berdasarkan pengujian yang telah dilakukan, kombinasi kombinasi algoritma RSA dan Triple Transposition Vigenere Cipher dapat mengamankan pesan teks yang telah dikirim karena melakukan proses perulangan sebanyak tiga kali dengan menggunakan tiga kunci transposisi dan tiga substitusi yang berbeda dan dikombinasikan dengan algoritma RSA.
Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi Simetris, Kriptografi Asimetris.
(7)
SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC)DAN RSA
ABSTRACT
Progress development of information systems increasingly so quick. Theres so many important document has been send by internet However, development of information technology as it also causes exchanged of information or messages not safe anymore. hackers exploit the insecurity gap to enter and manipulate messages or information has been changed. For example, can lead to leakage and data corrupt. So need more security techniques for maintaining the confidentiality and security of information or messages. To resolve this problem can be solved by using a combination of cryptografi algorithms. By applying the
RSA asymmetric cryptography system and symmetric cryptography Triple Transposition Cipher Vigenere. Based on the testing that has been done, the combination of the combination of the RSA algorithm and the Triple Transposition Cipher Vigenere can secure text messages that have been sent because use the iteration process three times using three key transposition and substitution of three different and combined with the RSA algorithm.
Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi Simetris, Kriptografi Asimetris.
(8)
DAFTAR ISI
Hal.
PERSETUJUAN ... ii
PERNYATAAN ... iii
UCAPAN TERIMA KASIH ... iv
ABSTRAK ... v
ABSTRACT ... vi
DAFTAR ISI ... vii
DAFTAR TABEL ... x
DAFTAR GAMBAR ... ix
BAB 1 PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 2
1.3. Batasan Masalahs ... 2
1.4. Tujuan Penelitian ... 3
1.5. Manfaat Penelitian ... 3
1.6. Metodologi Penelitian ... 3
1.7. Sistematika Penulisan ... 4
BAB 2 LANDASAN TEORI ... 6
2.1. Keamanan Informasi ... 6
2.2. Kriptografi ... 7
2.3. Mekanisme Kriptografi ... 7
2.4. Algoritma Kriptografi ... 8
2.4.1. Algoritma Simetrik ( Symmetric Algorithm ) ... 9
2.4.2. Algoritma Asimetrik ( Asymmetric Algorithm ) ... 9
2.4.3. Algoritma RSA ... 11
2.4.4. Algoritma Triple Transposition Vigenere Cipher (TTVC) ... 14
2.5. PHP ... 18
2.6. MySQL ... 19
2.7. Pemodelan dan Unified Modeling Language (UML) ... 19
(9)
ix
BAB 3 ANALISIS DAN PERANCANGAN ... 21
3.1. Analisis Sistem ... 21
3.1.1 Analisis Masalah ... 21
3.1.2 Analisis Kebutuhan ... 21
3.1.2.1 Kebutuhan Fungsional ... 22
3.1.2.2 Kebutuhan Nonfungsional ... 22
3.2. Penerapan Algoritma RSA dan TTVC... 22
3.2.1. Enkripsi ... 23
3.2.2. Dekripsi ... 24
3.3. Use Case Diagram ... 24
3.4. Perancangan Flowchart Sistem ... 26
3.4.1. Flowchart Sistem ... 26
3.4.2. Flowchart Enkripsi ... 27
3.4.2. Flowchart Dekripsi ... 28
3.5. Perancangan Sistem dan Antar Muka Pemakai ... 29
3.5.1 Perancangan Database ... 29
3.5.2 Perancangan Relasi Antar Tabel ... 30
3.5.3 Rancangan Halaman Login ... 31
3.5.4 Rancangan Halaman Daftar ... 32
3.5.5 Rancangan Halaman Home ... 33
3.5.6 Rancangan Halaman Compose ... 34
3.5.7 Rancangan Halaman Inbox ... 35
3.5.8 Rancangan Halaman Send Email ... 36
3.5.9 Rancangan Halaman Logout ... 37
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 38
4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak ... 38
4.2. Antarmuka Pengguna (User Interface) ... 39
4.2.1 Tampilan Halaman Login ... 39
4.2.2 Tampilan Halaman Daftar ... 40
4.2.3 Tampilan Halaman Home ... 41
4.2.4 Tampilan Halaman Compose ... 42
(10)
4.2.6 Tampilan Halaman Dekripsi ... 47
4.2.7 Tampilan Halaman Send Email ... 50
4.3. Pengujian Sistem Secara Menyeluruh ... 51
4.4. Analisis Performa Sistem ... 54
BAB 5 KESIMPULAN DAN SARAN ... 56
5.1. Kesimpulan ... 56
5.2. Saran ... 57
DAFTAR PUSTAKA ... 59
(11)
DAFTAR TABEL
Hal Tabel 2.1 Tabel Proses Transposisi dan Substitusi Menjadi Hasil TTVC
Table 2.2 Tabel penelitian terdahulu
16 20
Tabel 3.1 Tabel Pesan 29
Tabel 3.2 Tabel table user 30
Tabel 4.1 Tabel Rencana Pengujian 39
Tabel 4.2 Tabel Hasil Evaluasi Pada Tanpilan Halaman Login 40
Tabel 4.3 Tabel Hasil Evaluasi Pada Tanpilan Halaman Daftar Email 41
Tabel 4.4 Tabel Hasil Evaluasi Pada Tanpilan Halaman Home 42
Tabel 4.5 Tabel Hasil Evaluasi Pada Tampilan Halaman Compose 43
Tabel 4.6 Tabel Hasil Evaluasi Pada Tampilan Halaman Pada Proses Enkripsi 46
Tabel 4.7 Tabel Hasil Evaluasi Pada Tampilan Halaman Inbox 47
Tabel 4.8 Tabel Hasil Evaluasi Pada Tampilan Halaman Proses Enkripsi 48
Tabel 4.9 Tabel Hasil Evaluasi Pada Tampilan Halaman Proses Dekripsi 50
Tabel 4.10 Tabel Hasil Evaluasi Pada Tampilan Halaman Proses Sent Email 51
Tabel 4.11 Tabel hasil pengujian lama proses enkripsi
Tabel 4.12 Tabel hasil pengujian lama proses dekripsi 54 55
(12)
DAFTAR GAMBAR
Hal
Gambar 2.1 Mekanisme Kriptografi 8
Gambar 2.2 Proses Algoritma Simetrik 9
Gambar 2.3 Proses Algoritma Asimetrik 11
Gambar 2.4 Proses Triple Transposition Vigènere Cipher 14
Gambar 2.5 Bujur Vigenere 15
Gambar 3.1 Use Case Diagrram 25
Gambar 3.2 Flowchart Sistem 26
Gambar 3.3 Flowchart Enkripsi 27
Gambar 3.4 Flowchart Dekripsi 28
Gambar 3.5 Relasi Database 31
Gambar 3.6 Rancangan Halaman Login 31
Gambar 3.7 Rancangan Halaman Daftar 32
Gambar 3.8 Rancangan Halaman Home 33
Gambar 3.9 Rancangan Halaman Compose 34
Gambar 3.10 Rancangan Halaman Inbox 35
Gambar 3.11 Rancangan Halaman Sent Email 36
Gambar 3.12 Rancangan Halaman Log Out 37
Gambar 4.1 Tampilan Halaman Login 40
(13)
xii
Gambar 4.3 Tampilan Halaman Home 42
Gambar 4.4 Tampilan Halaman Compose 43
Gambar 4.5 Tampilan Halaman Proses Enkripsi 45
Gambar 4.6 Tampilan Halaman Inbox 46
Gambar 4.7 Tampilan Halaman Dekripsi
Gambar 4.8 Tampilan halaman hasil Teks Dekripsi Gambar 4.9 Tampilan halaman Send Email
Gambar 4.10 Sampel data Pesan Gambar 4.11 Sampel data Table User Gambar 4.12 Sampel 1 Compose File Teks
Gambar 4.13 Sampel 1 Compose File Teks Output Gambar 4.14 Hasil yang telah dikirim ke gmail
47 49 50 51 52 52 53 54
(14)
ABSTRAK
Kemajuan sistem informasi semakin tak terbatas, saat ini banyak dokumen penting yang dikirim menggunakan media internet. Namun, Perkembangan teknologi informasi yang seprti itu pula yang meneyebabkan informasi atau pesan yang dipertukarkan tersebut tidak aman. Pelaku kejahatan memanfaatkan celah ketidakamanan tersebut untuk dimasuki dan melakukan manipulasi pesan atau informasi jika pesan atau informasi tersebut diubah. Sebagai contoh dapat terjadinya salah paham dan kerugian materil lewat kebocoran dan kerusakan data yang terjadi. Maka perlu teknik pengamanan lebih untuk menjaga kerahasiaan dan keamanan dari informasi atau pesan tersebut. Untuk menyelesaikan permasalahan ini dapat diselesaikan dengan menggunakan kombinasi algoritma. Dengan menerapkan sistem kriptografi asimetris RSA dan kriptografi simetris Triple Transposition Vigenere Cipher. Berdasarkan pengujian yang telah dilakukan, kombinasi kombinasi algoritma RSA dan Triple Transposition Vigenere Cipher dapat mengamankan pesan teks yang telah dikirim karena melakukan proses perulangan sebanyak tiga kali dengan menggunakan tiga kunci transposisi dan tiga substitusi yang berbeda dan dikombinasikan dengan algoritma RSA.
Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi Simetris, Kriptografi Asimetris.
(15)
SISTEM KEAMANAN PESAN TEKS PADA EMAIL MENGGUNAKAN
ALGORITMA TRIPLE TRANSPOSITION VIGENERE CIPHER
(TTVC)DAN RSA
ABSTRACT
Progress development of information systems increasingly so quick. Theres so many important document has been send by internet However, development of information technology as it also causes exchanged of information or messages not safe anymore. hackers exploit the insecurity gap to enter and manipulate messages or information has been changed. For example, can lead to leakage and data corrupt. So need more security techniques for maintaining the confidentiality and security of information or messages. To resolve this problem can be solved by using a combination of cryptografi algorithms. By applying the
RSA asymmetric cryptography system and symmetric cryptography Triple Transposition Cipher Vigenere. Based on the testing that has been done, the combination of the combination of the RSA algorithm and the Triple Transposition Cipher Vigenere can secure text messages that have been sent because use the iteration process three times using three key transposition and substitution of three different and combined with the RSA algorithm.
Kata kunci: RSA Algorithm, Triple Transposition Vigenere Cipher , Kriptografi Simetris, Kriptografi Asimetris.
(16)
BAB I
PENDAHULUAN
1.1 Latar Belakang
Kemajuan sistem informasi semakin tak terbatas, saat ini banyak dokumen penting yang dikirim menggunakan media internet. Namun, Perkembangan teknologi informasi yang seperti itu pula yang menyebabkan informasi atau pesan yang dipertukarkan tersebut tidak aman. Pelaku kejahatan memanfaatkan celah ketidakamanan tersebut untuk dimasuki dan melakukan manipulasi pesan atau informasi jika pesan atau informasi tersebut diubah. Sebagai contoh dapat terjadinya salah paham dan kerugian materil lewat kebocoran dan kerusakan data yang terjadi (Caroline, 2010). Maka perlu teknik pengamanan lebih untuk menjaga kerahasiaan dan keamanan dari informasi atau pesan tersebut.
Teknik pengamanan pesan teks atau data dikenal dengan nama ilmu kriptografi. Kriptografi adalah sebuah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. sebuah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya.
Dalam kriptografi terdapat beberapa metode yang cukup penting dalam pengamanan data,untuk menjaga kerahasiaan data salah satunya adalah enkripsi (encryption). Enkripsi adalah suatu proses yang dilakukan untuk mengubah pesan asli menjadi ciphertext. Sedangkan suatu proses yang dilakukan untuk mengubah
(17)
2
pesan tersembunyi menjadi pesan biasa (yang mudah dibaca) disebut dekripsi. pesan biasa atau pesan asli disebut plaintext sedangkan pesan yang telah diubah atau disandikan supaya tidak mudah dibaca disebut dengan ciphertext(Munir, 2006).
Pada penelitian ini nantinya penulis akan membuat sistem yang bersifat
local web-based. Dengan menerapkan algoritma Triple Transposition Vigènere Cipher dan RSA dalam proses pengiriman email untuk mengamankan pesan teks. Triple Transposition Vigènere Cipher adalah algoritma metode enkripsi dengan cara mengulang teknik Vigènere Cipher yang setiap plaintextsnya
dilakukan transposisi terlebih dahulu sebanyak tiga kali dengan menggunakan kunci yang tiap kuncinya harus berbeda satu dengan yang lainnya (Caroline, 2010). Untuk meningkatkan kerumitan kunci agar lebih aman maka digunakan RSA sebagai kunci kombinasi. Beberapa penerapan sistem kriptografi RSA sebagai sistem pengaman data antara lain, meningkatkan keamanan informasi dalam sistem e-voting berbasis pada kriptografi kunci publik. Al-Anie et al
menerapkan sistem enkripsi RSA pada proses vote yang dilakukan untuk mencegah terjadinya penyadapan dan kecurangan (Al-Anie et al., 2011), dan meningkatkan algoritma keamanan untuk komunikasi pesan dengan
mengkombinasikan RSA dengan beberapa sistem kriptografi lainnya. Rasool et
al, menyadari bahwasanya dengan mengkombinasikan beberapa sistem enkripsi
dalam proses komunikasi pesan akan meningkatkan keamanan pada komunikasi pesan, hal ini dikarenakan pada sebuah algoritma kriptografi masih terdapat kekurangan (Rasool et al., 2011). Dengan begitu kita dapat mengamankan keamanan pesan teks terjaga dengan baik dan mengurangi resiko terjadinya perubahan pesan yang akan disampaikan ke tujuan.
1.2 Rumusan Masalah
Berdasarkan pemaparan pada latar belakang tersebut, maka rumusan masalahnya adalah, bagaimana mengamankan pesan yang benar-benar aman dan efektif untuk mencegah terjadinya penyadapan pesan dengan mengkombinasi Triple Transposotion Vigenere Cipher dengan RSA.
(18)
1.3 Batasan Masalah
Batasan masalah pada tugas akhir ini adalah sebagai berikut : 1. Nilai p dan q pada RSA telah ditentukan secara default. 2. Sistem ini berjalan pada sistem local Web-Base.
1.4 Tujuan Penelitian
Adapaun tujuan dari penelitian ini adalah sebagai berikut:
1. Untuk mengamankan pesan antar pengguna sistem local Web-base.
2. Untuk mengetahui bagaimana performa TTVC dan RSA yang telah
dikombinasikan untuk mengamankan pesan teks.
1.5 Manfaat Penelitian
Penelitian ini diharapkan dapat memberikan manfaat bagi penulis, pembaca dan para peneliti pemula, sebagai berikut:
1. Merahasiakan pesan agar pesan yang disampaikan terjaga keamanannya.
2. Menambah pengetahuan baru tentang kombinasi RSA dan TTVC untuk
pengamanan pesan.
3. Dapat menjadi bahan rujukan untuk penelitian selanjutnya.
1.6 Metodologi Penelitian
Penyusun akan merancang dengan tahapan-tahapan metodologi penelitian sebagai berikut:
a. Studi Literatur
Metode studi literatur ini dilakukan dengan mengumpulkan bahan-bahan yang berkaitan dengan penelitian, dari buku-buku dan jurnal ilmiah yang memuat pemecahan masalah dari penelitian maupun informasi yang diperoleh melalui internet.
(19)
4
b. Metode Pengumpulan Data
Metode pengumpulan data dilakukan dengan observasi, yaitu dengan melakukan pengamatan secara langsung terhadap masalah-masalah pada implementasi algoritma Triple Transposition Vigènere Cipher dan RSA pada pesan teks.
c. Metode Analisis
Menganalisa bagaimana algoritma Triple Transposition Vigènere Cipher dan RSA diiplementasikan dalam sistem keamanan email.
d. Pembuatan Sistem
Pembuatan sistem dilakukan dengan Komputer menggunakan bahasa pemrograman PHP dan database MySQL.
e. Pengujian
Pada tahap ini dilakukan proses pengujian dan percobaan terhadap perangkat lunak sesuai dengan spesifikasi yang ditentukan sebelumnya serta memastikan program yang dibuat dapat berjalan seperti yang diharapkan.
1.7 Sistematika Penulisan
Tugas akhir ini disusun dalam lima bab dengan sistematika penulisan sebagai berikut:
Bab I : Pendahuluan
Pada bab pendahuluan berisi tentang hal-hal yang mendasari dilakukannya penelitian serta pengidentifikasian masalah penelitian. Bagian-bagian yang terdapat dalam bab pendahuluan ini terdiri atas latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, dan manfaat penelitian.
Bab II : Tinjauan Pustaka
Pada bab tinjauan pustaka berisi landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan penelitian ini.
(20)
Bab III : Analisis dan Perancangan Sistem
Pada bab analisis dan perancangan sistem berisi metodologi penelitian yang dilakukan dalam pengimplementasian algoritma Triple Transposition Vigenere Cipher Dan RSA untuk permasalahan dalam penerjemahan idiom Bahasa Inggris.
Bab IV : Implementasi dan Pengujian Sistem
Pada bab hasil dan pembahasan berisi penjelasan hasil dari pengujian algoritma
Triple Transposition Vigenere Cipher Dan RSA dalam menyelesaikan
permasalahan mengamankan pesan teks dari serangan para hacker.
Bab V : Kesimpulan dan Saran
(21)
BAB 2
TINJAUAN PUSTAKA
Pada bab ini akan dibahas landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang mendasari penyelesaian permasalahan dalan pengamanan pesan teks dengan menggunakan algoritma Triple Transposotion Vigenere Chiper dan RSA.
2.1 Keamanan Informasi
Informasi saat ini sudah menjadi sebuah komoditi yang sangat penting bagi sebuah organisasi, perguruan tinggi, lembaga pemerintahan maupun individual, kemampuan dalam mengakses dan menyediakan informasi secara cepat (Rahardjo, B 2005). Karena pentingnya sebuah informasi, seringkali informasi yang diinginkan hanya dapat diakses oleh orang tertentu misalnya pihak penerima yang diinginkan, dan jika informasi ini sampai diterima oleh pihak yang tidak diinginkan akan berdampak kerugian pada pihak pengirim.
Keamanan informasi adalah bagaimana kita dapat mencegah penipuan, atau paling tidak mendeteksi adanya penipuan di sebuah sistem yang berbasis informasi, dimana informasinya sendiri tidak bersifat fisik (Rahardjo, B 2005). Untuk itu diperlukanlah sebuah pendekatan dalam melakukan pengamanan pada informasi, seperti melakukan enkripsi, steganografi, cipher dan hashing terhadap informasi tersebut.
(22)
2.2 Kriptografi
Kriptografi adalah ilmu yang berdasarka pada teknik matematika yang berurusan dengan keamanan informasi seperti kerahasian dan otentikasi entitas (Sadikin,2012). Adapun tujuan dari kriptografi yang didefenisikan dalam (Rinaldi, 2006) adalah:
1. Kerahasiaan (confidentiality), adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berkepentingan.
2. Integritas Data (data integrity), adalah layanan yang menjamin bahwa pesan masih asli atau belum pernah dimanipulasi selama pengiriman. 3. Otentikasi (authentication), adalah layanan yang berhubungan dengan
identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication). Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastiak sumber pesan.
4. Nirpenyangkalan (non-repudiation), adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengiriman pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.
2.3 Mekanisme Kriptografi
Enkripsi (Encryption), adalah proses yang dilakukan untuk mengubah pesan yang tidak disandikan (plaintext) ke dalam bentuk yang tidak dapat dibaca (ciphertext), dekripsi (Decryption) adalah proses yang dilakukan untuk mengubah pesan yang tidak dapat dibaca kedalam bentuk yang dapat dibaca dan dimengerti. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi (Rinaldi, 2006)
Dalam suatu sistem dimana terdapat algoritma kriptografi, ditambah seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya disebut kriptosistem (cryptosystem atau cryptographic system). Cryptosystem adalah
(23)
8
suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Urutan proses kerja secara umum dapat digambarkan pada Gambar 1 sebagai berikut:
Gambar 2.1 Mekanisme Kriptografi Sumber : (Lia Silviana, 2013)
Enkripsi (encryption), adalah proses yang dilakukan untuk mengubah pesan yang tidak disandikan (plaintext) ke dalam bentuk yang tidak dapat dibaca (ciphertext), dekripsi (decryption) adalah proses yang dilakukan untuk mengubah pesan yang tidak dapat dibaca kedalam bentuk yang dapat dibaca dan dimengerti. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Dalam suatu sistem dimana terdapat algoritma kriptografi, ditambah seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya disebut kriptosistem (cryptosystem atau cryptographic system). Cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya.
Dalam sistem ini, seperangkat parameter yang menentukan transformasi pencipheran tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Secara umum, kunci– kunci yang digunakan untuk proses pengenkripsian dan pendekripsian tidak perlu identik, tergantung pada sistem yang digunakan. Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi kriptografi kunci simetri (Symmetric-key Cryptography) dan kriptografi kunci asimetri (Asymmetric-key Cryptography).
2.4 Algoritma Kriptografi
Algoritma kriptograafi terdapat beberapa macam berdasakan kunci yang dipakai yaitu :
(24)
2.4.1 Algoritma Simetrik (symmetric algorithms)
Algoritma simetrik adalah algoritma kriptografi berdasarkan kuncinya dibedakan menjadi dua yaitu algoritma aliran (Stream Cipher) dan algoritma blok (Block Cipher). Pada algoritma Stream Cipher, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedangkan pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data. Contoh algoritma simetris yang terkenal adalah DES (Data Encryption Standard). Proses algoritma simetrik dapat dilihat pada Gambar 2.2.
Gambar 2.2 Proses Algoritma Simetrik
Sumber : (Lia Silviana, 2013)
Algoritma ini menggunakan kunci yang sama untuk proses enkripsi dan dekripsi. Dalam system kriptografi kunci simetrik, kunci yang digunakan untuk proses enkripsi dan dekripsi pada prinsipnya identik, tetapi satu buah kunci dapat diturunkan dari kunci yang lainnya. Kunci – kunci ini harus dirahasiakan. Oleh sebab itu sistem ini sering disebut sebagai secret key crypto system.
2.4.2 Algoritma Asimetrik (Asymmetric Algorithms)
Algortima kriptografi asimetrik adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi. Algoritma ini sering juga disebut algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dibuat umum (public key) atau dapat di ketahui oleh setiap orang, tapi kunci dekripsi hanya di ketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key). Contoh algoritma terkenal menggunakan kunci asimetrik adalah ECC dan RSA. Proses algoritma asimetrik dapat dilihat pada gambar 2.3. Syarat-syarat yang harus di penuhi oleh algoritma public-cey yaitu :
(25)
10
1. Mudah secara komputasi bagi suatu pihak B untuk mengkrontuksi sepasang kunci asimetrik (kunci publik KU, kunci pribadi KR).
2. Mudah secara komputasi bagi pengirim A, dengan memiliki kunci publik B dan data yang ingin dienkripsi, M, untuk menghasilkan ciphertext (C).
3. Mudah secara komputasi bagi penerima B untuk mendekripsi
ciphertext yang dihasilkan menggunakan kunci pribadinya untuk mengembalikan data asli.
4. Tidak bisa secara komputasi bagi pihak ketiga untuk memperoleh kunci
pribadi KRb hanya dengan mengetahui kunci publik KUb.
5. Tidak bisa secara komputasi bagi pihak ketiga untuk mengembalikan data asli M hanya dengan mengetahui kunci publik KUb dan ciphertext C.
6. Fungsi enkripsi dan dekripsi bisa diterapkan dengan urutan yang dibalik.
Kegunaan persyaratan yang keenam adalah untuk penerapan tanda tangan digital (digital signature) yang digunakan memecahkan isu otentikasi dalam masalah keamanan data.
Proses enkripsi publik key sederhana melibatkan empat tahap berikut :
1. Setiap user didalam jaringan membuat sepasang kunci untuk digunakan sebagai kunci enkripsi dan dekripsi dari pesan yang akan diterima.
2. User kemudian mempublikasikan kunci enkripsinya dengan
menempatkan kunci publiknya ke tempat umum. Pasangan kunci yang lain tetap dijaga kerahasiaannya.
3. Jika user A ingin mengirimkan data ke user B, ia akan
mengenkripsikan data dengan menggunakan kunci publik user B.
4. Pada saat user B mendekripsikan data dari user A, ia akan menggunakan kunci pribadinya sendiri. Tidak ada pihak lain yang bisa mendekripsikan data itu karena hanya B sendiri yang mengetahui kunci pribadi B.
(26)
Gambar 2.3 Proses Algoritma Asimetrik
Sumber : (Lia Silviana, 2013)
2.4.3 Algoritma RSA
Karena semakin berkembangnya pertukaran data, khususnya dalam wireless
dan local area network (LAN), hal ini memberi kesempatan yang besar untuk mencegat data dan memalsukan pesan. Satu-satunya cara yang mudah untuk menjaga keamanan dan keintegritasan informasi antara pengirim dan penerima adalah dengan menggunakan kriptografi kunci publik (Satrya, 2013).
RSA adalah sistem kriptografi dengan kunci publik yang pertama kali dapat berjalan dan dipraktekkan, ditemukan pada tahun 1977 dan dipublikasikan pada tahun 1978 oleh Rivest, Shamir dan Adleman (RSA) di Institut Teknologi Massachusetts. RSA adalah sistem kriptografi yang masih paling banyak digunakan seperti transaksi online, email, kartu pintar dan
umumnya pada aplikasi mobile commerce (Yan, 2008).
Rumus dasar dari metode enkripsi dan dekripsi RSA dinotasikan kedalam persamaan (2.1) dan (2.2) berikut :
C MC (mod N) (2.1)
Dan
C Md (mod N) (2.2)
Penjelasan:
n = p * q
p dan q = Bilangan prima
m = Plaintext
(27)
12
e = Encryption exponent
d = Decryption exponent
ɸ (n) = (p-1) (q-1)
Tahapan Algoritma RSA :
1. Pilih dua bilangan prima secara acak dan tidak sama. 2. Hitung perkalian p dan q, simpan dalam variabel n. 3. Hitung ɸ(n) ≡ (p-1).(q-1)
4. Pilih e secara acak dengan syarat, FPB(e, ɸ (n)) = 1 5. Hitung d ≡ e-1(modɸ(n))
6. Rahasiakan p, q, ɸ (n) dan d
7. Kirimkan e dan n
Contoh 1. kasus sederhana algoritma Kriptografi RSA: p = 47 (bilangan prima) dan q = 71 (bilangan prima) n = p.q = 3337
ɸ (n) = (p-1)*(q-1) = 3220 e = 79 (pilih angka acak) d = 79 -1 mod 3220 dicoba K = 1,2,..,dst
d = 1019 (dipilih karena hasilnya bilangan bulat)
Misalkan plaintextM = “ABC”, ubah kedalam ASCII menjadi “65 66 67”
Enkripsi dengan kunci publik E = 79 dan N = 3337: M1 = 65 -> C1 = 6579 mod 3337 = 541 M2 = 66 -> C2 = 6679 mod 3337 = 795 M3 = 67 -> C3 = 6779 mod 3337 = 1479 Dekripsi dengan kunci D = 1019:
C1 = 541 -> M1 = 5411019 mod 3337 = 65 -> A C2 = 795 -> M2 = 7951019 mod 3337 = 66 -> B C3 = 1479 -> M3 = 14791019 mod 3337 = 67 -> C
(28)
Untuk mendapatkan nlai dari operasi pemangkatan besar bilangan bulat
modulo digunakan metode Fast Exponentiation (Munir, 2006). Berikut
Penjelasan metode Fast Exponentiation. Dinotasikan dalam persamaan (2.3) dan (2.4):
ab mod m = [(a mod m)(b mod m)] mod m (2.3)
(abc....) mod m = [(a mod m)(b mod m)(c mod m)....] mod m (2.4)
Untuk lebih jelasnya mengenai langkah-langkah metode fast exponentiation dapat dilihat pada contoh berikut.
Contoh 2. Hitung nilai dari 4540 mod 256.
Sebagai ilustrasi, untuk menghitung 4540 mod 256 dapat dilakukan sebagai berikut.
4540 = 4532 . 458
452 mod 256 = 2025 mod 256 = 233
454 mod 256 = 452 . 452 mod 256 = [(452 mod 256) . (452 mod 256)] mod 256
= 2332 mod 256 = 17
458 mod 256 = 454 . 454 mod 256 = [(454 mod 256) . (454 mod 256)] mod 256
= 172 mod 256 = 33
4516 mod 256= 458 . 458 mod 256 = [(458 mod 256) . (458 mod 256)] mod 256
= 332 mod 256 = 65
4532 mod 256= 4516 . 4516 mod 256 = [(4516 mod 256) . (4516 mod 256)] mod 256
= 652 mod 256 = 129
(29)
14
4540 mod 256 = [(4532 mod 256) . (458 mod 256)] mod 256 = 4257 mod 256 = 161
Jadi, nilai dari 4540 mod 256 = 233.
2.4.4 Algoritma Triple Transposition Vigènere Cipher (TTVC)
Dalam proses pengiriman pesan kerahasian itu menjadi kunci utama dalam
proses pengiriman. Banyak cara user mengamankan pesan email menggunakan
beberapa metode pengamanan contohnya algoritma Blowfish, algoritma El gamal, tetapi masih punya beberapa kelemahan yang dapat membuat pesan email dapat disusupi oleh orang yang tidak bertanggung jawab sehingga muncul algoritma terbaru yaitu Triple Tranposition Vigenere Cipher.
Triple Transposition Vigènere Cipher adalah metode enkripsi dengan cara mengulang teknik Vigènere Cipher yang setiap plaintextnya dilakukan transposisi terlebih dahulu sebanyak tiga kali dengan menggunakan kunci yang tiap kuncinya harus berbeda satu dengan yang lainnya. Metode Triple Transposition Vigènere Cipher dapat digambarkan seperti Gambar 2.4:
Gambar 2.4 Proses Algoritma Triple Transposition Vigènere Cipher
Sumber : (Caroline, 2010)
Proses yang terjadi pada Triple Transposition Vigènere Cipher terbagi
menjadi dua bagian. Metode transposisi dapat disimbolkan dengan T dan
Plainteks
Transposisi
Subsitusi
Enkripsi
(30)
metode substitusi menggunakan vigenere yang disimbolkan dengan E serta kunci untuk melakukan vigenere K. Secara matematis metode Triple Transposition Vigènere Cipher ini dapat dituliskan sebagai:
Proses enkripsi: P = T1’(S1’(T2’(S2’(T3’(S3’(C))))))
Bila dijabarkan, ciphertext diperoleh dengan mentransposisikan
plaintext, kemudian hasilnya disubstitusi menggunakan kunci pertama, lalu ditransposisikan kembali, lalu disubstitusi dengan menggunakan kunci yang berbeda dari kunci pertama, disebut saja kunci kedua, setelah itu dilakukan transposisi lagi yang kemudian diakhiri dengan proses substitusi menggunakan kunci ketiga. Substitusi disini menggunakan Vigènere Cipher.
Ketiga algoritma transposisi sudah didefinisikan terlebih dahulu
dengan suatu kunci atau suatu aturan tertentu setiap kali proses enkripsi metode transposisinya akan selalu tetap. Untuk metode enkripsi ini, spasi tidak diperhitungkan sehingga lebih baik dihilangkan saja. Rumus untuk transposisi adalah membagi panjang ciphertext dengan suatu kunci tertentu yang ditentukan oleh pengguna yang kemudian teks dibaca secara vertikal dari kolom pertama. Berikut adalah tabel bujursangkar vigenere, dapat dilihat pada Gambar 2.5.
Gambar 2.5 Bujurangkar Vigenere Sumber : (Caroline, 2010)
(31)
16
Cara menggunakan bujursangkar Vigènere adalah sebagai berikut:
baris paling atas menyatakan huruf-huruf plaintext dan kolom paling kiri menyatakan huruf-huruf pada kunci. Pertama tarik garis vertikal dari huruf
plaintext kebawah. Setelah itu tarik garis horizontal dari huruf kunci ke kanan. Cari titik perpotongannya. Perpotongan kedua garis tersebut menyatakan huruf
ciphertext dari huruf plaintext yang bersangkutan. Sebenarnya karakter
ciphertext didapat dengan rumus c(p) = (p+k) mod 26.
Rumus enkripsi Vigenere Cipher :
Ci = ( Pi + Ci ) -26kalau hasil penjumlahan Pi dan Ki lebih dari 26
Rumus dekripsi Vigenere Cipher :
Pi = (Ci– Ki) +26 kalau hasil pengurangan Ci dengan Ki minus
Dimana :
Ci = nilai desimal karakter ciphertext ke – i
Pi = nilai desimal karakter plaintext ke – i
Ki = nilai desimal karakter ke – i
Berikut ini adalah contoh proses transposisi dan substitusi dari algoritma TTVC, dapat dilihat pada Tabel 2.1.
Table 2.1. Tabel proses transposisi dan substitusi menjadi hasil TTVC
Plaintext ( P ) :
INI ADALAH PLAINTEKS KRIPTOGRAFI
(32)
I N I
A D A
L A H
P I A
I N T
E K S
K R I
P T O
G R A
F I
Hasil T1 = IALPIEKPGFNDAINKRTRIIAHTSIOA
Subsititusi pertama ( S1) dengan kunci = SEMBILAN AEQQPKCYJZEIWNXJXDJQLHNLWUPI
(33)
18
Substitusi ketiga ( S3 ) dengan kunci = SEBELAS :
YYXTRIAUBYTAXVFGIWPYDLUFJBCJV
Hasil enkripsi adalah YYXTRIAUBYTAXVFGIWPYDLUFJBCJV
A E X Q Q
P K C Y J
Z E I W N
X J X D J
Q L H N L
W U P I
Hasil T2 = APZXQWEKEJLUXCIXHPQYWDNIOJNJL
Transposisi ketiga ( T3 ) dengan kunci = 11 :
G P I X X C T E Q R
U G C P D H Q F C D
W I X P N S
(34)
Kemudian Proses dekripsi dapat dilakukan dengan arah sebaliknya. Bila dirumuskan maka akan terlihat sebagai berikut:
Proses dekripsi: C = S3(T3(S2(T2(S1(T1(P))))))
Maksud T’ disini adalah transposisi kebalikkannya 2.5 PHP
Menurut Prasetyo (2008), PHP (Hypertext Preprocessor) merupakan skrip yang bersifat server-side yang ditambahkan ke dalam skrip HTML. PHP merupakan singkatan dari Personal Home Page Tools. Skrip ini yang akan membuat suatu aplikasi website dapat diintegrasikan ke dalam HTML sehingga website tersebut tidak lagi bersifat statis, namun menjadi bersifat dinamis. Maksud dari bersifat
server-side itu sendiri adalah pengerjaan skrip di lakukan di server, baru kemudian hasilnya dikirim ke browser. Cara penulisan script PHP terbagi atas empat style, yaitu:
1. Standard Style, dengan format: <?php … ?> 2. Short Style, dengan format: <? … ?>
3. Javascript Style, dengan format: <script language=’PHP’> …
</script>
4. ASP Style, dengan format: <% … %>
2.6 MySQL
MySQL merupakan server database yang mendukung perintah SQL (Structured Query Language). Perintah dalam MySQL disebut dengan pernyataan (statement) dengan ciri khas pengakhirannya yang di tutup dengan tanda titik koma (;). Prinsip kerja dari MySQL yaitu dengan mengetikkan sejumlah pernyataan dan di akhiri dengan titik koma, maka program klien MySQL akan segera mengirim perintah tersebut ke server database MySQL dan kemudian memberikan respon yang sesuai dengan pernyataan yang diberikan.
(35)
20
2.7 UML(Unified Modelling Languange)
Untuk membantu dalam pengembangan perangkat lunak dikenal istilah pemodelan. Salah satu pemodelan yang saat ini paling banyak digunakan oleh pengembang perangkat lunak adalah UML (Unified Modelling Language). UML adalah standar bahasa yang sering digunakan dalam bidang industri untuk mendefinisikan requirement (kebutuhan), membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek (Satrya, 2013).
Ada beberapa hal yang dimaksud dalam kompleksitas pada perangkat lunak (Rosa, et al. 2011):
1. Kompleksitas domain atau permasalahan perangkat lunak 2. Kesulitas mengelola proses pengembangan perangkat lunak 3. Kemungkinan fleksibilitas perubahan perangkat lunak
4. Permasalahan karakteristik bagian-bagian perangkat lunak secara diskrit
UML terbagi atas 3 (tiga) kategori, yaitu diagram struktur (structure diagram), diagram kelakuan sistem (behaviour diagram), dan diagram interaksi (interaction
diagram). Dalam pembangunan sistem, penulis menggunakan diagram use
case dari kategori diagram kelakuan sistem, untuk menggambarkan interaksi antara satu atau lebih aktor dengan perangkat lunak (Rosa, et al. 2011).
2.8 Penelitian Terdahulu
Dalam melakukan peneletian, penulis membutuhkan beberapa bahan peneletian yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah sistem keamanan file teks pada email menggunakan kombinasi algoritna kriptografi
TTVC dan RSA.
Satria Prayudi (2013) telah mencoba menggunkanan pendekatan kombinasi
Algoritma RSA 512-Bit dan One Time Pad dalam penelitian pengamanan pesan pada nic messenger.
Lia Silviana (2013) telah mencobamenggunakan pendekatan Algortima kunci
public RSA dalam penelitian sistem tanda tangan digital pada pesan teks.Untuk penelitian yang dilakukan oleh peneliti sebelumnya dapat dilihat pada table 2.2
(36)
Table 2.2 Tabel penelitian terdahulu
No Peneliti Judul Penelitian
1 Satrya
Prayudi (2013)
Kombinasi Algoritma RSA 512-Bit dan One Time Pad
Untuk Pengamanan Pesan Pada NIC MESSENGGER
2 Lia silviana
(2013)
Sistem Tanda Tangan Digital Pada Pesan Teks
(37)
BAB 3
ANALISIS DAN PERANCANGAN
Dalam bab ini berisi beberapa hal diantaranya seperti data yang digunakan, penerapan algoritma dan analisis perancangan sistem dalam mengimplementasikan algoritma
RSA dan TTVC untuk permasalahan keamanan pesan teks.
3.1Analisis Sistem
Pada sistem ini akan dilakukan analisis terhadap sistem untuk melakukan proses enkripsi dan dekripsi pada pesan teks dengan menggunakan algoritma RSA dan TTVC.
3.1.1 Analisis Masalah
Dari beberapa kasus yang ditemui pada keamanan pesan teks, dimana masih banyak terjadinya kegagalan pada keamana pesan dikarenakan kurang rumitnya penerapan metode keamana pada sistem keamanan pesan. Jika sistem keamana pesan di terapkan kombinasi dari beberapa metode keamanan pesan, maka akan meminimalisir dan mencegah terjadinya pembobolan pesan.
3.1.2 Analisis Kebutuhan
Kebutuhan merupakan suatu keinginan yang akan dicapai dalam melakukan perancangan. Kebutuhan menggambarkan fungsi dan batasan untuk aplikasi. Adapun analisis kebutuhan dibagi menjadi dua, antara lain adalah kebutuhan fungsional dan kebutuhan nonfungsional.
(38)
3.1.2.1 Kebutuhan Fungsional
Kebutuhan fungsional merupakan kebutuhan yang fungsi-fungsinya harus dipenuhi pada rancangan aplikasi.
Kebutuhan fungsional yang harus dipenuhi pada aplikasi yang akan dirancang adalah : 1. Aplikasi harus mampu merubah pesan teks menjadi pesan sandi yang didak
dapat diterjemahkan atau bersifat rahasia (enkripsi)
2. Aplikasi harus mampu menerjemahkan ulang pesan yang dikirim ke tujuan
(dekripsi).
3.12.2 Kebutuhan Nonfungsional
Kebutuhan nonfungsional terdiri dari beberapa macam karakteristik, antara lain :
1. Performa
Aplikasi yang akan dibangun dapat menampilkan hasil dari fungsi sistem untuk mengamankan pesan.
2. Efisiensi
Aplikasi yang akan dibangun diharuskan sederhana, agar memudahkan pengguna untuk memakainya.
3. Ekonomi
Aplikasi yang akan dibangun tanpa mengeluarkan biaya tambahan dalam penggunaannya.
3.13 Penerapan Algoritma RSA dan TTVC
Algoritma RSA merupakan salah satu algoritma kunci publik. Prinsip kerja algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar yang menjadi faktor-faktor prima. Pemaktoran dilakukan untuk mendapatkan pasangan kunci yaitu kunci privat dan kunci publik. Selama bilangan tersebut tidak dapat difaktorkan selama itu pula keamanan algoritma RSA terjamin (Satrya, 2013). Pada Penelitian ini kunci public p dan q ditentukan dengan nilai p = 9990454949 , q =9990450271.
Dalam algoritma RSA, ada tiga proses yang harus dilakukan yaitu: proses pembangkitan kunci, proses enkripsi dan proses dekripsi. Pada penelitian ini proses pembangkitan kunci telah ditentukan nilainya secara default kedalam sistem.
(39)
24
Algoritma RSA pada sistem ini terletak pada pengamanan pada setiap kunci subsitusi algoritma TTVC. Berikut ini penjelasan enkripsi dan dekripsi pesan teks dengan menggunakan perpaduan algoritma RSA dan TTVC.
3.13.2 Enkripsi
Proses enkripsi merupakan proses menyembunyikan pesan agar tidak diketahui orang lain (bersifat rahasia). Berikut adalah prosesnya :
1. User pertama menginputkan pesan teks (ciphertext) maka teks itu akan di ubah ke menjadi bilangan ASCII misalnya abcd plaintext maka akan di ubah ke bilangan ASCII misalnya teks abcd contoh ASCII 1x 2x 3x 4x dan seterusnya.
2. Pesan teks diolah dengan algoritma TTVC, dengan melewati proses
Transposisi 1 dengan suatu kunci tertentu misalkan : 3. Berarti teks akan disusun secara vertical sebanyak 3 kolom.
3. Masukkan kunci Subsitusi 1 misalkan : Sembilan.
4. Enkripsi kunci Subsitusi 1 : Sembilan dengan metode enkripsi RSA
5. Enkripsi RSA dimana p dan q adalah bilangan prima dan nilai p dan q tidak sama yang telah ditentukan secara default.
6. Hitung n = p.q
7. Hitung ɸ (n) = (p-1)(q-1)
8. Pilih integer dimana FPB ɸ (n), e) = 1; 1 < e < (n)
9. Hitung d, dimana dimana nilai d itu bilangan prima. 10.Kunci private = {e, n}
Kunci publik = {d, n}
11.kunci Subsitusi 1 : Sembilan diubah ke dalam bentuk ASCII. 12.Enkripsi : Ci = Pi e mod n.
13.Kunci subsitusi yang telah dienkripsi RSA disubsitusikan dengan hasil transposisi pertama lewat bujursangkar vigenere.
14.Hasil pada butir 11, akan melewati proses sebanyak dua kali dimulai seperti proses butir 2. Sehingga pada proses ketiga merupakan hasil akhir enkripsi.
(40)
3.13.3 Dekripsi
Proses dekripsi merupakan proses untuk mengubah i menjadi plaintext. Proses dekripsi merupakan kebalikan dari proses enkripsi. Adapun proses dekripsi adalah sebagai berikut:
1. Ciphertext disubsitusi dengan kunci subsitusi ke-3 yang telah melewati proses enkripsi RSA lewat bujursangkar vigenere.
2. Transposisi hasil subsitusi.
3. Transposisi dilakukan dengan mengurutkan secara horizontal, berdasarkan jumlah kolom vertikal dari proses transposisi ke-3 pada proses enkripsi ke-3. 4. Proses pada butir 1, 2 dan 3 diulangi sebanyak dua kali lagi.
5. Ciphertext terakhir diubah kedalam ASCII.
6. Proses pengubahan pada butir 5 merupakan plaintext atau pesan yang dikirimkan.
3.3 Use Case Diagram
Diagram Use case (use case diagram) merupakan salah satu diagram untuk
memodelkan aspek perilaku sistem atau digunakan untuk mendeskripsikan apa yang seharusnya dilakukan oleh sistem (Hariyanto, 2004). Berikut ini adalah use case diagram sistem pegamanan pesan teks dapat dilihat pada Gambar 3.1.
(41)
26
User
Daftar Account
Login
Kelola Pesan System
*
*
*
* *
*
Lihat Pesan Hapus Pesan
reciver
*
* *
*
*
*
Include
LogOut
Include
Gambar 3.1 Use Case Diagram
Dari gambar 3.1 dapat dijelaskan bahwa ada dua aktor yang dapat menggunakan sistem ini, yaitu sender dan receiver . sender atau receiver bisa sama fungsinya sebagai pengguna. Beberapa proses yang ada pada sistem yaitu :
1. Register : Mendaftarkan akun baru untuk dapat menggunakan sistem 2. Login : Melakukan pengujian sebagai pengguna.
3. Kelola pesan : Melakukan pengelolaan pada pesan teks.
4. Lihat pesan : Untuk melihat pesan yang ada didalam inbox.
5. Hapus pesan : Untuk menghapus pesan yang ada didalam sistem.
(42)
3.4 Perancngan Flowchart Sistem
Flowchart merupakan suatu representasi grafis dan langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang disusun dari beberapa simbol yang masing-masing simbol memiliki kegiatan tertentu (Indra Yatini B, 2010). Diagram alir program untuk proses enkripsi dan dekripsi sistem keseluruhan adalah sebagai berikut:
3.4.1. Flowchart Sistem
Berikut ini adalah flowchart dari proses sistem, dapat dilihat pada gambar 3.2 :
Start
Input username [ ] Password [ ]
If username = true And password = true
Yes
Home
Log out
End
No
(43)
28
3.4.2. Flowchart Enkripsi
Berikut ini adalah flowchart dari proses enkripsi, dapat dilihat pada gambar 3.3 :
mulai
Input plaintext (pesan), Kunci T1, T2, T3, Kunci S1,
S2, S3
Ubah plantext ke ASCII
Transposisi 1 plaintext dengan
kunci T1
Enkripsi kunci S1 dengan RSA (p = 9990454949,
q = 9990450271)
Enkripsi Vigenere Hasil Transposisi 1
dengan Enkripsi kunci S1
Hasil Enkripsi Vigenere di Transposisi 2 dengan kunci T2
Enkripsi kunci S2 dengan RSA (p = 9990454949,
q = 9990450271)
Enkripsi Vigenere Hasil Transposisi 2
dengan Enkripsi kunci S2
Hasil Enkripsi Vigenere di Transposisi 3 dengan kunci T3
Enkripsi kunci S3 dengan RSA (p = 9990454949,
q = 9990450271)
Enkripsi Vigenere Hasil Transposisi 3
dengan Enkripsi kunci S3
Output : ciphertext
selesai
Gambar 3.3 Flowchart Enkripsi
Berdasarkan flowchart pada gambar 3.1, proses enkripsi melalui dua beberapa tahapan, dimana plaintext pertama-tama diubah kedalam bentuk bilangan ASCII.
(44)
Kemudian sistem akan melakukan proses transposisi dengan kunci pertama (T1), kemudian sistem akan melakukan proses enkripsi pada kunci substitusi pertama (S1) dengan RSA. Hasil dari Transposisi pertama (T1) akan dienkripsi Vigenere dengan kunci Substitusi pertama (S1) yang telah dienkripsi dengan RSA. Hasil Enkripsi Vigenere tersebut kemudian di transposisikan lagi dengan kunci transposisi kedua (T2), kemudian sistem akan melakukan proses enkripsi pada kunci substitusi kedua (S2) dengan RSA. Hasil dari Transposisi kedua (T2) akan dienkripsi Vigenere dengan kunci Substitusi kedua (S2) yang telah dienkripsi dengan RSA. Hasil Enkripsi Vigenere tersebut kemudian di transposisikan lagi dengan kunci transposisi ketiga (T3), kemudian sistem akan melakukan proses enkripsi pada kunci substitusi ketiga (S3) dengan RSA. Hasil dari Transposisi kedua (T3) akan dienkripsi Vigenere dengan kunci Substitusi kedua (S3) yang telah dienkripsi dengan RSA. Sehingga hasil terakhir akan menjadi ciphertext yang akan dikirimkan ke user tujuan
3.4.3. Flowchart Dekripsi
(45)
30 mulai Input ciphertext Kunci T3,T2,T1 Kunci S3,S2,S1 yang
telah di RSA
Dekripsi vigenere ciphertext dengan kunci S3 yang
telah di RSA
Transposisi hasil dekripsi vigenere dengan kunci T3
Dekripsi vigenere hasil transposisi dengan kunci S2
yang telah di RSA Output :
plaintext
selesai Ubah ciphertext/ ASCII ke kedalam
bentuk karakter
Transposisi hasil dekripsi vigenere dengan kunci T2
Dekripsi vigenere hasil transposisi dengan kunci S1 yang telah di RSA
Transposisi hasil dekripsi vigenere dengan kunci T1
Gambar 3.4 Flowchart Dekripsi
Berdasarkan flowchart pada gambar 3.2 proses dekripsi melalui beberapa tahapan yaitu ciphertext yang didapat pada inbox pertama-tama akan melalui proses dekripsi Vigenere dengan kunci substitusi ketiga (S3) yang telah melalui proses enkripsi RSA. Kemudian hasil substitusi ketiga (S3) akan di transposisi dengan kunci transposisi ketiga (T3). Hasil transposisi kembali akan dilakukan dekripsi Vigenere dengan kunci subtitusi selanjutnya, yaitu kunci subtitusi kedua (S2). Kemudian hasil substitusi kedua (S2) akan di transposisi dengan kunci transposisi kedua (T2). Hasil transposisi kembali akan dilakukan dekripsi Vigenere dengan kunci subtitusi selanjutnya, yaitu kunci subtitusi pertama (S1). Kemudian hasil substitusi pertama (S1) akan di transposisi dengan kunci transposisi pertama (T1). Hasil transposisi terakhir kemudian akan diubah kedalam bentuk karakter melalui table ASCII. Sehingga ciphertext yang dikirimkan tadi berubah menjadi pesan atau plaintext yang asli.
(46)
3.5. Perancangan Sistem dan Antarmuka Pemakai
Perancangan perangkat lunak keamanan pesan teks pada email terdiri dari
penggambaran atau perencanaan dari beberapa elemen dalam pengembangan aplikasi. Aplikasi ini digunakan untuk mengamankan (enkripsi) pesan teks lewat email.
Aplikasi ini menerapkan algoritma RSA dan TTVC untuk mengamankan pesan teks.
3.5.1. Perancangan Database
Database pada aplikasi ini berfungsi untuk tempat penyimpanan data-data antara lain tabel pesan dan table tabeluser.
a. Tabel pesan
Tabel ini berfungsi sebagai penyimpanan pesan antar user. Struktur tabel ini dapat dilihat pada Tabel 3.1
Table 3.1 Tabel pesan
No Nama Field Tipe Ukuran Keterangan
1. Idpeasan Int 20 Nomor Id Pesan (primary
key)
2. Userid Varchar 20 Nomor Id User
3. Kepada Varchar 50 Email Tujuan
4. Subject Varchar 50 Subject pesan
5. Encrypted Text - Pesan yang dienkripsi
6. Ekey1 Int 3 Kunci transposisi 1
7. Ekey2 Int 3 Kunci transposisi 2
8. Ekey3 Int 3 Kunci transposisi 3
(47)
32
10. Esubs2 Text - Kunci subsitusi 2
11. Esubs3 Text - Kunci subsitusi 3
b. Tabel table user
Tabel ini berfungsi sebagai tempat penyimpanan daftar user pada sistem. Struktur tabel ini dapat dilihat pada Tabel 3.2
Table 3.2 Tabel table user
No Nama Field Tipe Ukuran Keterangan
1. User_id Varchar 20 Nomor Id User
2. Name Varchar 50 Nama User
3. Password Varchar 50 Password User
4. Email Varchar 50 Nama email user
5. Level Varchar 15 Membedakan User
3.5.2. Perancangan Relasi Antar Tabel
Rancangan relasi antar tabel berfungsi untuk menampilakn informasi relasi
(dependence) antara tabel pada database. Rancangan relasi antar tabel dapat dilihat seperti Gambar 3.3
(48)
pesan
PK idpesan
userid kepada subject encrypted ekey1 ekey2 ekey3 esubs1 esubs2 esubs3
tabeluser
PK userid
name password email level
FK1 idpesan
Gambar 3.4 Relasi Database
3.5.3. Rancangan Halaman Login
Rancangan halaman login berfungsi sebagai halaman utama untuk masuk ke sistem. Bentuk rancangan halaman login dapat dilihat seperti pada Gambar 3.4 berikut.
Gambar 3.5Rancangan Halaman Login 1. password
2. username
3. enter
(49)
34
Rancangan halaman login pada Gambar 3.4 terdapat empat komponen penting
pada antarmuka, yaitu input form (1 dan 2) yang berfungsi untuk menampung
username dan password dari pengguna, tombol masuk (3) yang menunjukkan ke halaman home jika proses validasi username dan password benar, dan link daftar (4) yang berfungsi menunjukkan halaman daftar untuk user yang belum terdaftar.
3.5.4. Rancangan Halaman Daftar
Rancangan halaman daftar berfungsi untuk menampilkan input form untuk mendaftar
pada sistem. Bentuk rancangan Home terlihat seperti pada Gambar 3.5.
Gambar 3.6 Rancangan Halaman Daftar
Rancangan halaman daftar pada Gambar 3.5 terdapat tujuh komponen penting
pada antarmuka, yaitu input form(1 sampai 5) yang menggambarkan sistem
menampung informasi seperti nama, user id, password, konfirmasi password, dan
email sebagai parameter yang akan disimpan kedalam sistem, tombol “daftar”(6)
1. Name
6. daftar 7. cancel
2. User Id 3. Password
4. Konfirmasi Password 5. Email
(50)
untuk melakukan proses daftar, tombol”cancel” (7) untuk membatalkan proses pendaftaran.
3.5.5. Rancangan Halaman Home
Rancangan halaman home berfungsi sebagai halaman utama untuk masuk ke sistem. Bentuk rancangan halaman login dapat dilihat seperti pada Gambar 3.6 berikut.
Gambar 3.7 Rancangan Halaman Home
Rancangan halaman home pada Gambar 3.6 pada halaman home terdapat 7 komponen penting pada antarmuka, yaitu (1) header berfungsi sebagai nama dari sistem, (2) tombol home untuk melakukan proses kembali ke halaman utama, (3) tombol compose untuk melakukan proses pengisian email, (4) tombol inbox untuk
melakukan proses pesan yang masuk, (5) tombol sent email untuk melakukan proses
1.Header
2.Home 3.Compose
4.Inbox 5.Sent Email
6.Log out
(51)
36
laporan surat yang terkirim. (6) tombol log out untuk melakukan proses keluar dari sistem.(7) view kotak untuk menampilkan proses keseluruhan proses tombol sistem.
3.5.6. Rancangan Halaman Compose
Rancangan halaman compose berfungsi sebagai halaman untuk membuat pesan teks
yang akan diproses menjadi teks yang telah terenkripsi. Bentuk rancangan halaman compose dapat dilihat seperti pada Gambar 3.7 berikut.
Gambar 3.8 Rancangan Halaman Compose
12.send 11.proses
2.to 3.subject 4.isi email
5.kunci transposisi 1 6.subsititusi vigenere 1
7.kunci transposisi 2 8.subsititusi vigenere 2
9.kunci transposisi 3 1.compose
(52)
Rancangan halaman home pada Gambar 3.7 pada halaman compose terdapat
12 komponen penting pada antarmuka, yaitu (1 )tombol compose untuk melakukan
proses pengisian email, (2) field tujuan berfungsi untuk mengisi alamat yang dituju, (3) field subject berfungsi untuk menulis subject surat, (4) field teks email berfungi untuk menampung pesan teks, (5) field kunci transposisi pertama berfungsi untuk memasukkan kunci pertama . (6) field substitusi vigenere pertama berfungsi untuk menampilkan hasil dari transposisi pertama . (7) field kunci transposisi kedua
berfungsi untuk memasukkan kunci kedua.(8) field substitusi vigenere kedua
berfungsi untuk menampilkan hasil dari transposisi kedua .(9) field kunci transposisi
ketiga berfungsi untuk memasukkan kunci ketiga.(10) field substitusi vigenere ketiga berfungsi untuk menampilkan hasil dari transposisi tiga. (11) tombol proses berfungsi untuk melakukan proses teks asli asli menjadi teks yag terenkripsi. (12) tombol send
berfungsi untuk mengirim pesan.
3.5.7. Rancangan Halaman inbox
Rancangan halaman inbox berfungsi sebagai halaman untuk melihat pesan yamg ada
di dalam sistem. Bentuk rancangan halaman compose dapat dilihat seperti pada Gambar 3.8 berikut.
Gambar 3.9 Rancangan Halaman Inbox
1.Inbox
(53)
38
Rancangan halaman home pada Gambar 3.8 pada halaman inbox terdapat 5
komponen penting pada antarmuka, yaitu (1) tombol inbox untuk melakukan proses
pesan yang ada didalam sistem, (2) field No berfungsi untuk melihat urutan pesan yang ada didalam inbox, (3) field Dari berfungsi untuk memberikan informasi asal pesan, (4) field subject berfungsi untuk menulis subject surat. (5) field isi email
berfungsi untuk melihat pesan teks yang ada didalam email.
3.5.8. Rancangan Halaman Sent Email
Rancangan halaman inbox berfungsi sebagai halaman untuk melihat sent email yamg ada di dalam sistem. Bentuk rancangan halaman compose dapat dilihat seperti pada Gambar 3.9 berikut.
Gambar 3.10 Rancangan Halaman Sent Email
Rancangan halaman home pada Gambar 3.9 pada halaman sent email terdapat
4 komponen penting pada antarmuka, yaitu (1) tombol sent email untuk melakukan proses laporan surat yang terkirim, (2) field No berfungsi untuk melihat urutan pesan yang ada didalam inbox, (3) field To berfungsi untuk memberikan informasi tujuan pesan z, (4) field subject berfungsi untuk menulis subject surat. (5) field isi email
berfungsi untuk melihat pesan teks yang ada didalam email
1.Sent Email
(54)
3.5.9. Rancangan Halaman Log Out
Gambar 3.11 Rancangan Halaman Log Out
Rancangan halaman home pada Gambar 3.10 pada halaman Log Out terdapat 1 komponen penting pada antarmuka, yaitu tombol log out untuk melakukan proses keluar dari sistem.
(55)
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada bab ini akan dijelaskan tahapan selanjutnya dalam pengembangan aplikasi yaitu tahap implementasi dan pengujian sistem. Di sini akan dijelaskan tentang proses pengimplementasian algoritma ke dalam sistem dan melakukan pengujian dari sistem yang dikembangkan.
4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak
Spesifikasi perangkat lunak yang digunakan selama pembangunan perangkat lunak adalah sebagai berikut:
1. Operating System Windows 7 32-bit, 2. Web Server Apache 2.2.14,
3. PHP 5.3.1,
4. MySQL 5.1.41.
Agar perangkat lunak dapat berjalan dengan baik untuk para pengguna, maka spesifikasi yang dibutuhkan oleh sistem baik dari sisi perangkat keras (hardware) maupun perangkat lunak (software) dapat dijelaskan sebagai berikut.
Untuk perangkat keras, yang direkomendasikan adalah sebagai berikut: 1. Processor dengan kecepatan minimal 1 GHZ,
2. Hardisk minimal 80 GB,
3. RAM minimal 1 MB,
4. Monitor 14,1” dengan resolusi layar minimum 800 x 600 pixel,
(56)
Untuk perangkat lunak, yang dapat mendukung agar aplikasi dapat berjalan adalah sebagai berikut:
1. Operating system Microsoft Windows 7, Windows 8,
2. Browser, seperti Mozilla Firefox, Google Chrome, dan lain-lain,
3. PHP 5.3.1,
4. MySQL 5.1.41,
5. Web Server Apache 2.2.14.
4.2 Antarmuka Pengguna (User Interface)
Setelah melewati tahap analisis perancangan antarmuka pengguna, rancangan digunakan sebagai acuan untuk peng-coding-an halaman-halaman pada perangkat lunak. Rencana pengujian sistem yang akan diuji dapat dilihat pada Tabel 4.1 berikut.
Tabel 4.1 Tabel Rencana Pengujian
4.2.1 Tampilan Halaman Login
Halaman utama yang telah dilakukan peng-coding-an ditunjukkan pada Gambar 4.1 berikut.
No. Komponen Sistem yang Diuji Butir Uji
1. Halaman login Mencoba menu yang ada pada halaman
login yaitu : form input“username”,form input“password”,tombol “enter”,dan
tombol “daftar”.
2. Halaman daftar Mencoba menu yang ada pada halaman
daftar yaitu : form input “daftar”,tombol
“daftar”,dan tombol”cancel”.
3. Halaman home Mencoba menu yang ada pada halaman
home yaitu : tombol “ home”,tombol
”compose”,tombol “inbox”,tombol”sent
(57)
42
Gambar 4.1 Tampilan halaman Login
Halaman login seperti yang ditunjukkan pada Gambar 4.1, telah diberikan satu buah <tombol> yang dapat digunakan oleh pengguna untuk masuk ke halaman home.
Tabel 4.2 Tabel Hasil Evaluasi pada Tampilan Halaman login
No. Sasaran Pengujian Hasil yang
Diharapkan
Hasil Pengujian
Status
1. Uji tampilan sistem
ketika dieksekusi
Menampilkan halaman login
Menampilkan halaman login
Berhasil
2. Uji pemilihan
tombol Enter
Memposes dan menampilkan
halaman home
Memposes dan menampilkan
halaman home
Berhasil
4.2.2 Tampilan Halaman Daftar
Halaman daftar email yang telah dilakukan peng-codiing-an ditunjukkan Gambar 4.2 berikut.
(58)
Gambar 4.2 Tampilan halaman Daftar Email
Halaman daftar email yang ditunjukkan pada gambar 4.2. telah diberikan dua buah <tomboldaftar> dan <tombolcancel> yang dapat digunakan oleh pengguna untuk memdaftar akun email baru. Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman login. Hasil proses evaluasi dapat
Tabel 4.3 Tabel Hasil Evaluasi pada Tampilan Halaman Daftar Email
No. Sasaran Pengujian Hasil yang
Diharapkan
Hasil Pengujian
Status
1. Uji tampilan sistem ketika dieksekusi Menampilkan halaman Menampilkan halaman daftar Berhasil
2. Uji pemilihan
tombol Enter dan
tombol cancel
Memposes dan menampilkan halaman silahkan login Memposes dan menampilkan halaman silahkan login Berhasil
4.2.3 Tampilan Halaman Home
Halaman home berisi tampilan sistem berupa header, menu, footer.Pada bagian
(59)
44
compose , tombol inbox, tombol send email dan tombol logout. Pada bagian footer
terdapat bagian pembuat sistem. Halaman home yang telah dilakukan peng-coding -an ditunjukk-an pada Gambar 4.3.
Gambar 4.3 Tampilan halaman Home
Tabel 4.4 Tabel Hasil Evaluasi pada Tampilan Halaman Home No
.
Sasaran Pengujian
Hasil yang Diharapkan Hasil
Pengujian
Status
1 Uji tampilan
halaman
home
Menampilkan
“Header”,”Menu”,
”Footer”
” Menampilkan
“Header”,”Menu”,”Footer”
Berhasil
2 Uji pemilihan Tombol
Proses tombol“home”,
“Compose”,”Inbox”, “Send box”,dan “Logout”
Proses tombol“home”,
“Compose”,”Inbox”,“Send box”,dan “Logout””
Berhasil
4.2.4 Tampilan Halaman Compose
Pada halaman ini disediakan tombol compose untuk membuat pesan. Dan kolom input
untuk memasukan tujuan, subject, isi email, kunci transposisi pertama, subsititusi
(60)
tiga,dan subsititusi ketiga. Kemudian terdapat tombol proses untuk mengenkripsi file teks yang akan dikirim. Dan terdapat tombol send untuk mengirim pesan.
Gambar 4.4 Tampilan halaman Compose
Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman home. Hasil proses evaluasi dapat dilihat pada Tabel 4.5 berikut.
Tabel 4.5 Tabel Hasil Evaluasi pada Tampilan Halaman Compose
No. Sasaran Pengujian Hasil yang
Diharapkan
Hasil Pengujian
Status
1 Uji tampilan
halaman compose
Menampilkan kolom
input untuk
“memasukan tujuan”,
“subject”,” isi
email”,” kunci
Menampilkan kolom
input untuk
“memasukan tujuan”,
“subject”,” isi
email”,” kunci
(61)
46
transposisi pertama”,
“subsititusi vigenere
pertama”,” kunci
transposisi kedua”,
“subsititusi kedua”,
“kunci transposisi ke
tiga,”dan “subsititusi
ketiga”
transposisi pertama”,
“subsititusi vigenere
pertama”,” kunci
transposisi kedua”,
“subsititusi kedua”,
“kunci transposisi ke
tiga,”dan “subsititusi
ketiga”
2 Uji pemilihan
Tombol
Proses tombol
“Proses”,dan
“Send”
Proses tombol
“Proses”,dan
“Send”
(62)
Gambar 4.5 Tampilan halaman Proses Enkripsi
Tampilan halaman diatas menunujukkan output dari proses enkripsi pesan teks yang akan dikirim.
Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman proses enkripsi. Hasil proses evaluasi dapat dilihat pada Tabel 4.6 berikut.
(63)
48
Tabel 4.6 Tabel Hasil Evaluasi pada Tampilan halaman proses enkripsi
No. Sasaran Pengujian Hasil yang
Diharapkan
Hasil Pengujian
Status
1 Uji tampilan
halaman compose
Menampilkan kolom
output
Menampilkan kolom
output
Berhasil
2 Uji pemilihan
Tombol
Proses tombol
“Send”
Proses tombol
“Send”
Berhasil
4.2.5. Tampilan Halaman Inbox
Halaman ini menampilkan pesan email yang masuk. Dapat dilihat pada Gambar 4.6
Gambar 4.6 Tampilan halaman Inbox
Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman inbox. Hasil proses evaluasi dapat dilihat pada Tabel 4.7 berikut.
(64)
Tabel 4.7 Tabel Hasil Evaluasi pada Tampilan halaman inbox
No. Sasaran Pengujian Hasil yang
Diharapkan
Hasil Pengujian
Status
1 Uji tampilan
halaman inbox
Menampilkan
Icon “Delete “dan Icon Surat
Menampilkan
Icon” Delete” dan Icon Surat
Berhasil
2 Uji pemilihan
Icon
Proses Icon
“Delete”dan Icon
Surat
Proses Icon
“Delete”dan Icon
Surat
Berhasil
4.2.6 Tampilan Halaman Dekripsi
Halaman ini menampilkan pesan email yang akan di deskripsikan. Dapat dilihat pada Gambar 4.7
Gambar 4.7 Tampilan halaman Dekripsi
Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman dekripsi. Hasil proses evaluasi dapat dilihat pada Tabel 4.8 berikut.
(65)
50
Tabel 4.8 Tabel Hasil Evaluasi pada Tampilan halaman proses enkripsi
No. Sasaran Pengujian Hasil yang
Diharapkan
Hasil Pengujian
Status
1 Uji tampilan
halaman dekripsi
Menampilkan kolom Dari, Subject
Menampilkan kolom Dari, Subject
Berhasil
2 Uji pemilihan
Tombol
Proses tombol
“Dekripsi”
Proses tombol
“Dekripsi”
Berhasil
Jika icon email diklik maka akan muncul tombol dekripsi, pengguna harus menekan tombol dekripsi agar pesan teks yang telah dienkripsi kembali ke chiperteks yang asli.
(66)
Gambar 4.8 Tampilan halaman hasil Teks Dekripsi
Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman dekripsi. Hasil proses evaluasi dapat dilihat pada Tabel 4.9 berikut
(67)
52
Tabel 4.9 Tabel Hasil Evaluasi pada Tampilan halaman proses dekripsi
No. Sasaran Pengujian Hasil yang
Diharapkan
Hasil Pengujian
Status
1 Uji tampilan
halaman dekripsi
Menampilkan kolom
output
Menampilkan kolom
output
Berhasil
2 Uji pemilihan
Tombol
Proses tombol
“Dekripsi”
Proses tombol
“Dekripsi”
Berhasil
4.2.7 Tampilan Halaman Send Email
Halaman ini menampilkan laporan email yang sudah terkirim. Dapat dilihat pada Gambar 4.9
Gambar 4.9 Tampilan halaman Send Email
Setelah pen-coding-an telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman sent email. Hasil proses evaluasi dapat dilihat pada Tabel 4.10 berikut :
(68)
Tabel 4.10 Tabel Hasil Evaluasi pada Tampilan halaman sent email
No. Sasaran Pengujian Hasil yang
Diharapkan
Hasil Pengujian
Status
1 Uji tampilan
halaman Sent Email
Menampilkan
No,To,Subject,Isi Email
Menampilkan
No,To,Subject,Isi Email
Berhasil
2 Uji pemilihan
Icon
Proses Icon
“Surat”dan”Delete”
Proses Icon
“Surat”dan”Delete”
Berhasil
4.3 Pengujian Sistem Secara Menyeluruh
Untuk pengujian sistem secara menyeluruh pengguna harus mengisi kolom yang telah tersedia untuk melakukan enkripsi file teks email. Didalam sistem juga terdapat masing-masing data yang telah dihubungankan. Data tersebut meliputi data pesan dan data table user . Contoh data pesan yang telah diinput teks kedalam kolom dapat dilihat pada gambar 4.10. berikut.
Gambar 4.10 Sampel data Pesan
Contoh data table user yang telah di input kedalam table dapat dilihat pada Gambar 4.11.
(69)
54
Gambar 4.11 Sampel data Table User
Pengujian sistem pengamanan file teks email dapat dilihat pada Gambar 4.12. berikut.
(70)
Berdasarkan sampel compose file teks, output yang dihasilkan sesuai dengan analisis dan perancangan yang dilakukan sebelumnya dapat dilihat pada Gambar 4.13 berikut.
(71)
56
Berdasarkan proses enkripsi yang telah didapatkan, hasil tersebut dapat dikirimkan kepada penerima yang memiliki account email gmail. Hasil dari proses tersebut dapat dilihat pada Gambar 4.14 berikut.
Gambar 4.14 Hasil yang telah dikirim ke gmail
4.4 Analasis Performa Sistem
Berdasakan hasil pengujian sistem dalam mengcompose pesan yang akan dienkripsi
dan dikirim ke user dalam satu waktu dan akan membutuhkan waktu dalam
memproses pesan tersebut, Maka pada sub ini akan dianalisa waktu proses sistem yang diuji.Berikut ini adalah table hasil pengujian sistem pada mengenkripsi pesan
Tabel 4.11 Tabel hasil pengujian lama proses enkripsi
No Karakter Pesan Lama Proses
Perdetik
1. 269 0,644
(1)
60
Sadikin, R. 2012.
Kriptografi untuk Keamanan Jaringan
. Yogyakarta: Penerbit Andi.
Silviana, L. 2013.
Sistem Tanda TanganDigital Pada Pesan Teks Menggunakan
Algoritma Kriptografi Kunci Publik RSA.
Universitas Sumatera Utara. Medan
Yan, S. Y. 2008. Cryptanalytic Attacks on RSA. Bedfordshire, Cambridge: Springer.
(2)
LISTING PROGRAM
//Proses daftar user
<?phpinclude('koneksi.php');
if (isset($_POST['submitted'])) {
if($_POST['password']==$_POST['cpassword']) {
$password=md5($_POST['password']);
foreach($_POST AS $key => $value) { $_POST[$key] = mysql_real_escape_string($value); }
$sql = "INSERT INTO tabeluser ( `name` , `userid` , `password` , `email` , `level` ) VALUES( '{$_POST['name']}' , '{$_POST['userid']}' , '{$password}' , '{$_POST['email']}' , 'admin' ) ";
mysql_query($sql) or die(mysql_error()); echo "User baru berhasil ditambahkan.<br />"; echo "<a href='login.php'>Silahkan Login</a>"; }
else{
echo '<script>alert("Terdapat kesalahan. Isi kembali dengan benar !")
location.href="daftar.php"</script>'; }
} ?>
(3)
62
//Proses login
<?phpsession_start();
include"koneksi.php";
$userid = $_POST['userid']; $psw = $_POST['psw'];
$op = $_GET['op']; $password = md5($psw); if($op=="in"){
$cek = mysql_query("SELECT * FROM tabeluser WHERE userid='$userid' AND password='$password'");
if(mysql_num_rows($cek)==1){//jika berhasil akan bernilai 1
$c = mysql_fetch_array($cek);
$_SESSION['userid'] = $c['userid']; $_SESSION['level'] = $c['level']; if($c['level']=="admin"){
header("location:index.php?page=home"); }else if($c['level']=="user"){
header("location:halaman_user.php"); }
}else{
echo '<script>alert("Userid atau password salah") location.href="login.php"</script>';
} }
else if($op=="out"){
unset($_SESSION['userid']); unset($_SESSION['level']);
session_destroy(); echo '<script>
(4)
</script>'; }
?>
//Proses enkripsi
<?phpinclude "lib/triple_transpose_rsa_vigenere.php"; if(isset($_POST["proses"]) && !empty($_POST["s1"]) && !empty($_POST["s2"]) && !empty($_POST["s3"]))
{
echo "<fieldset>";
$plain = $_POST["message"]; echo "<h4>Teks Awal</h4><
divid='scroll'>".nl2br($plain)."</div>"; $plain = string_to_dec($plain);
$key_transpose_encrypt = array($_POST["k1"], $_POST["k2"], $_POST["k3"]);
$substitution = array($_POST["s1"], $_POST["s2"], $_POST["s3"]);
$table = '0123456789x ';
list($plain_text, $key_transpose_decrypt, $transposed_text, $enc_subs, $encrypted) = encrypt($plain,
$key_transpose_encrypt, $substitution, $table); for($i=0; $i<count($plain_text); $i++){
echo "<h4>Encryption ".($i+1)."</h4> <div id='scroll'>
<b>Plaintext = </b>".$plain_text[$i].", width = ".strlen($plain_text[$i])."
<br><br><b> Enkripsi Transpose (key = ".$key_transpose_encrypt[$i].")</b>, =>
(5)
64
".$transposed_text[$i].", width = ".strlen($transposed_text[$i])."
<br><br><b> Enkripsi RSA, ".$substitution[$i]."</b> => ".$enc_subs[$i]."
<br><br><b> Enkripsi Vigenere ( subs =
".$enc_subs[$i].")</b> => ".$encrypted[$i].", width = ".strlen($encrypted[$i])."
</div> "; }
$enc = $encrypted[2];
echo "<br><h4>Teks setelah dienkripsi</h4><div id='scroll'>".$enc."</div>"; } ?>
//Proses dekripsi
<?php if(isset($_POST["decrypt"])) {/*decrypt isi pesan*/
$encrypted = $row['encrypted'];
$key_transpose_decrypt = array($row['ekey1'], $row['ekey2'], $row['ekey3']);
$enc_subs = array($row['esubs1'], $row['esubs2'], $row['esubs3']);
$table = '0123456789x ';
list($encrypted, $substitution, $key_transpose_encrypt, $vigenered_text, $plain_text) = decrypt($encrypted, $key_transpose_decrypt, $enc_subs, $table);
for($i=0; $i<count($plain_text); $i++) {
echo "<h4>Decryption ".($i+1)."</h4> <div id='scroll'>
<b> Encrypted =
(6)
<br><br><b> Dekripsi Vigenere( substitusi = ".$enc_subs[$i].") = </b>".$vigenered_text[$i]."(".strlen($vigenered_text[$i]).")
<br><br><b> Dekripsi Transpose( key = ".$key_transpose_decrypt[$i].") = </b>".$plain_text[$i]."(".strlen($plain_text[$i]).")
</div>"; }
$isi_pesan = dec_to_string($plain_text[2]);