Implementasi Algoritma Cipher Transposisi Dan Secure Hash Algorithm (SHA) Dalam Sistem Pengamanan Data
IMPLEMENTASI ALGORITMA CIPHER TRANSPOSISI DAN
SECURE HASH ALGORITHM (SHA) DALAM SISTEM
PENGAMANAN DATA
SKRIPSI
FERRY ANTONIUS SIMAMORA
061401087
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2010
(2)
IMPLEMENTASI ALGORITMA CIPHER TRANSPOSISI DAN
SECURE HASH ALGORITHM (SHA) DALAM SISTEM
PENGAMANAN DATA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
FERRY ANTONIUS SIMAMORA
061401087
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2010
(3)
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA CIPHER
TRANSPOSISI DAN SECURE HASH ALGORITHM (SHA) DALAM SISTEM PENGAMANAN DATA
Kategori : SKRIPSI
Nama : FERRY ANTONIUS SIMAMORA
Nomor Induk Mahasiswa : 061401087
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 21 Desember 2010
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Syahriol Sitorus, S.Si, MIT Drs. Partano Siagian M.Sc
NIP. 197 103101997031004 NIP. 130 877 994
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Prof. Dr. Muhammad Zarlis NIP 195707011986011003
(4)
PERNYATAAN
IMPLEMENTASI ALGORITMA CIPHER TRANSPOSISI DAN SECURE HASH ALGORITHM (SHA)
DALAM SISTEM PENGAMANAN DATA
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Desember 2010
FERRY ANTONIUS S. 061401087
(5)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus, dengan limpahan karunia-Nya, sehingga saya dapat menyelesaikan penyusunan tugas akhir ini.
Ucapan terima kasih saya sampaikan kepada Bapak Drs. Partano Siagian M.Sc sebagai Dosen Pembimbing I dan Bapak Syahriol Sitorus, S.Si, MIT sebagai Dosen Pembimbing II pada penyelesain tugas akhir ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian ini. Panduan ringkas, padat dan profesional telah diberikan kepada saya agar dapat menyelesaikan tugas ini. Selanjutnya kepada para Dosen Penguji Bapak Ir. T Ahri Bahriun, M.Sc dan Bapak Ir. Arman Sani, MT atas saran dan kritikan yang sangat berguna bagi saya. Ucapan terima kasih juga ditujukan kepada Ketua Program Studi S1 Ilmu Komputer Bapak Prof. Dr. Muhammad Zarlis, Dekan dan pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Unversitas Sumatera Utara, semua dosen Program Studi S1 Ilmu Komputer FMIPA USU, dan pegawai di FMIPA USU, angkatan 2004 dan 2005 yaitu Bang Raja Salomo dan Bang Andre Pratama yang menjadi teman diskusi penulis selama menyusun tugas akhir ini, rekan-rekan kuliah angkatan 2006 yaitu Friendly, Kadar, Pangeran, Evin, Rain, dan Handy. Teristimewa Kepada Ayah Daripen Simamora dan Ibu Rukiah Situmorang, abang saya Dantes Simamora yang telah memberikan doa, dorongan dan perhatian kepada saya.
Akhirnya penulis berharap tugas akhir ini bermanfaat kepada penulis maupun para pembaca serta semua pihak yang berhubungan dengan tugas akhir ini. Penulis menyadari bahwa tugas akhir ini jauh dari sempurna. Oleh karena itu saya menerima saran dan kritik demi kesempurnaan tugas akhir ini. Akhir kata penulis mengucapkan Terima Kasih.
(6)
ABSTRAK
Keamanan data merupakan salah satu aspek dalam teknologi informasi. Dengan keamanan data, diharapkan informasi dapat terjaga keasliannya. Pada tugas akhir ini, dibentuk suatu sistem pengamanan data dengan menggabungkan dua algoritma kriptografi yaitu algoritma Cipher Transposisi dan Secure Hash Algortihm (SHA). Algoritma Cipher Transposisi merupakan algoritma kriptografi klasik yang sederhana, sehingga Algoritma Cipher Transposisi tidak pernah digunakan lagi. Karena kesederhanaan dari Algoritma Cipher Transposisi, timbul ide untuk menggabungkannya dengan SHA yang merupakan algoritma kriptografi modern yang kompleks. Sistem pengamanan data ini dibangun menggunakan bahasa pemograman Borland Delphi 7.0. Penggabungan kedua algoritma ini diharapkan dapat menjamin keamanan data, sehingga tidak dapat dilihat atau diubah orang yang tidak berhak. Implementasi dari penggabungan kedua algoritma ini dapat mengenkripsi file biner dan mendekripsi kembali file tersebut.
(7)
IMPLEMENTATION OF TRANSPOSITION CIPHER ALGORITHM AND SECURE HASH ALGORITHM (SHA)
IN SYSTEM SECURITY OF DATA
ABSTRACT
Data security is one of the important aspect in the information technology. With data security, is expected information can be protected authenticity. In this writing, the
system security of datais formed by Transposition Cipher algorithm and Secure Hash
Algorithm (SHA). The Transposition Cipher algorithm is the classical cryptography that simple, so that Transposition Cipher algorithm has never been used anymore. Because the simplicity of Transposition Cipher algorithm, the idea to combine it with SHA that representing of complex modern cryptography. This system security of data is built by using Borland Delphi 7.0. The combination of that algorithms are expected to make sure of data security, so that the data cannot be viewed or altered by unauthorized user. The implementation form combination of that algorithms can encrypt of biner file and decrypt it back.
(8)
DAFTAR ISI
Halaman
PERSETUJUAN ii
PERNYATAAN iii
PENGHARGAAN iv
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL ix
DAFTAR GAMBAR x
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang Masalah 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 2 1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3 1.6 Metode Penelitian 3 1.7 Sistematika Penulisan 4 BAB 2 LANDASAN TEORI 6
2.1 Pengertian Kriptografi 6 2.2 Proses Kriptografi 7
2.3 Algoritma Cipher Transposisi 7 2.3.1 Columnar Transposition 8
2.4 Secure Hash Algorithm (SHA) 9 2.5 Metode Serangan Terhadap Kriptografi 15
2.6 Keamanan Algoritma Kriptografi 16
2.7 Serangan Terhadap Sistem Pengamanan Data 16
BAB 3 ANALISIS DAN PERANCANGAN 19
3.1 Analisis Masalah 19
3.2 Penyelesaian Masalah 20
3.2.1 Proses Enkripsi Columnar Transposition 20 3.2.2 Proses Dekripsi Columnar Transposition 21 3.2.3 Proses Pembentukan Nilai Hash dengan SHA dan otentikasi 22
(9)
3.3 Analisis Kebutuhan Perangkat Lunak 26
3.3.1 Diagram Use Case 27
3.3.1.1 Enkripsi 27
3.3.1.2 Dekripsi 29
3.4 Perancangan 30
3.4.1 Perancangan Struktur Program 31
3.4.2 Perancangan Antar Muka Pemakai 31
3.4.2.1 Rancangan Form Utama 32
3.4.2.2 Rancangan Form Enkripsi 33
3.4.2.3 Rancangan Form Dekripsi 33
3.4.2.4 Rancangan Form Help 34
3.4.3 Perancangan Prosedural 35
3.4.3.1 Algoritma dan Flowchart Proses Enkripsi 35
3.4.3.2 Algoritma dan Flowchart Proses Dekripsi 36
3.4.3.3 Algoritma dan Flowchart Prosesdur SHA-1 38
BAB 4 IMPLEMENTASI DAN PENGUJIAN 42
4.1 Implementasi 42
4.2 Tampilan Menu Utama 42
4.2.1 Tampilan Submenu Enkripsi 43
4.2.2 Tampilan Submenu Dekripsi 45
4.2.3 Tampilan Submenu Help 49
4.3 Pengujian Perangkat Lunak 49
4.3.1 Pengujian Integrasi Perangkat Lunak 50
4.3.1.1 Menu Utama 51
4.3.1.2 Submenu Enkripsi 52
4.3.1.3 Submenu Dekripsi 52
4.3.1.4 Submenu Help 53
BAB 5 KESIMPULAN DAN SARAN 54
5.1 Kesimpulan 54
5.2 Saran 54
(10)
DAFTAR TABEL
Halaman
Tabel 2.1 Enkripsi Columnar Transposition 8
Tabel 2.2 Fungsi logika ft pada setiap putaran 14
Tabel 3.1 Proses Enkripsi Columnar Tranposition 21
Tabel 3.2 Proses Dekripsi Columnar Transposition 22
Tabel 4.1 Evaluasi Menu Utama 51
Tabel 4.2 Evaluasi Submenu Enkripsi 52
Tabel 4.3 Evaluasi Submenu Dekripsi 52
(11)
DAFTAR GAMBAR
Halaman
Gambar 2.1 Proses Kriptografi 7
Gambar 2.2 Pembuatan message digest dengan SHA 10
Gambar 2.3 Pengolahan blok 512 bit 12
Gambar 2.4 Operasi dasar SHA dalam satu putaran (fungsi f) 13
Gambar 3.1 Arsitektur Enkripsi Sistem Keamanan Data 25
Gambar 3.2 Arsitektur Dekripsi Sistem Keamanan Data 26
Gambar 3.3 Use Case Global 27
Gambar 3.4 Use Case Enkripsi Plainteks dan Pembentukan Nilai hash 1 28
Gambar 3.5 Diagram Alir Enkripsi 28
Gambar 3.6 Use Case Pembuktian Keaslian Cipherteks dan Dekripsi Cipherteks 29
Gambar 3.7 Diagram Alir Dekripsi 30
Gambar 3.8 Struktur Program Kriptografi Columnar Transposition dan SHA 31
Gambar 3.9 Rancangan Form Utama 32
Gambar 3.10 Rancangan Form Enkripsi 33
Gambar 3.11 Rancangan Form Dekripsi 34
Gambar 3.12 Rancangan Form Help 34
Gambar 3.13 Flowchart Prosedur Enkripsi 36
Gambar 3.14 Flowchart Prosedur Dekripsi 37
Gambar 3.15 Flowchart Prosedur SHA-1 40
Gambar 3.16 Flowchart Proses fungsi f dan k 41
Gambar 4.1 Tampilan Menu Utama 42
Gambar 4.2 Tampilan Submenu Enkripsi 43
Gambar 4.3 Membuka Gambar1.JPEG 44
Gambar 4.4 Tampilan Submenu Enkripsi setelah membuka file 44
Gambar 4.5 Pemberitahuan nama file kunci 44
Gambar 4.6 Pemberitahuan proses Enkripsi selesai 45
Gambar 4.7 Tampilan Submenu Dekripsi 45
Gambar 4.8 Membuka Gambar1.JPEG 46
Gambar 4.9 Tampilan Submenu Dekripsi setelah membuka file terenkripsi 46
Gambar 4.10 Membuka file kunci 47
Gambar 4.11 Pemberitahuan bahwa ekstensi kunci valid 47
Gambar 4.12 Tampilan Submenu Dekripsi setelah membuka kedua file 48
Gambar 4.13 Pemberitahuan proses dekripsi berhasil 48
Gambar 4.14 Pemberitahuan kunci tidak cocok 48
(12)
ABSTRAK
Keamanan data merupakan salah satu aspek dalam teknologi informasi. Dengan keamanan data, diharapkan informasi dapat terjaga keasliannya. Pada tugas akhir ini, dibentuk suatu sistem pengamanan data dengan menggabungkan dua algoritma kriptografi yaitu algoritma Cipher Transposisi dan Secure Hash Algortihm (SHA). Algoritma Cipher Transposisi merupakan algoritma kriptografi klasik yang sederhana, sehingga Algoritma Cipher Transposisi tidak pernah digunakan lagi. Karena kesederhanaan dari Algoritma Cipher Transposisi, timbul ide untuk menggabungkannya dengan SHA yang merupakan algoritma kriptografi modern yang kompleks. Sistem pengamanan data ini dibangun menggunakan bahasa pemograman Borland Delphi 7.0. Penggabungan kedua algoritma ini diharapkan dapat menjamin keamanan data, sehingga tidak dapat dilihat atau diubah orang yang tidak berhak. Implementasi dari penggabungan kedua algoritma ini dapat mengenkripsi file biner dan mendekripsi kembali file tersebut.
(13)
IMPLEMENTATION OF TRANSPOSITION CIPHER ALGORITHM AND SECURE HASH ALGORITHM (SHA)
IN SYSTEM SECURITY OF DATA
ABSTRACT
Data security is one of the important aspect in the information technology. With data security, is expected information can be protected authenticity. In this writing, the
system security of datais formed by Transposition Cipher algorithm and Secure Hash
Algorithm (SHA). The Transposition Cipher algorithm is the classical cryptography that simple, so that Transposition Cipher algorithm has never been used anymore. Because the simplicity of Transposition Cipher algorithm, the idea to combine it with SHA that representing of complex modern cryptography. This system security of data is built by using Borland Delphi 7.0. The combination of that algorithms are expected to make sure of data security, so that the data cannot be viewed or altered by unauthorized user. The implementation form combination of that algorithms can encrypt of biner file and decrypt it back.
(14)
BAB 1 PENDAHULUAN
1.1 Latar Belakang Masalah
Pada era teknologi informasi saat ini, pengiriman data dan informasi menjadi hal yang sangat penting. Dengan adanya arus informasi yang begitu pesat, keamanan (security) menjadi hal yang sangat penting dalam melakukan pengiriman data.
Dalam pengiriman dan penerimaan data, sering kali pengguna baik pengirim atau penerima membutuhkan sesuatu yang dapat meyakinkan mereka bahwa data yang diperoleh adalah data yang aman dan benar. Salah satu cara yang digunakan untuk tujuan tersebut adalah kriptografi dengan mengenskripi data yang akan dikirim. Tujuan dari kriptografi adalah kerahasiaan (Privacy/confidentially), integritas (Integrity), Otentikasi (Autehntication) dan pembuktian yang tak tersangkal
(non-repudiation).
Pada proses kriptografi yang pada umumnya, pesan asli (plainteks) diubah menjadi pesan yang tidak memiliki makna (cipherteks), yang disebut dengan proses enkripsi. Setelah itu, cipherteks dikirim kepada penerima yang seharusnya untuk diubah kembali menjadi plainteks. Pada proses pengiriman sering terjadi penyadapan atau pencurian cipherteks asli oleh pihak yang tidak berhak. Cipherteks yang disadap tersebut, oleh penyadap memiliki berbagai kemungkinan, diantaranya isi cipherteks yang asli diubah, sehingga cipherteks yang diterima oleh penerima bukan merupakan cipherteks yang asli. Untuk meyakinkan bahwa si penerima memang menerima cipherteks yang asli, dibutuhkan sesuatu seperti tanda tangan pada surat.
Pada perkembangannya, kriptografi memiliki banyak teknik dalam mengenkripsi data, diantaranya adalah Algoritma Cipher Transposisi dan Secure Hash
(15)
digunakan oleh tentara Sparta di Yunani pada permulaan tahun 400 SM. Mereka menggunakan alat yang namanya scytale. Algoritma Cipher Transposisi akan digunakan untuk mengubah plainteks menjadi cipherteks. Sedangkan untuk membuktikan bahwa cipherteks yang diterima merupakan cipherteks asli, maka cipherteks yang asli akan diubah menjadi suatu nilai hash yang akan diubah dengan salah satu fungsi hash yakni SHA. Cipherteks hasil enkripsi akan digabung dengan nilai hash yang dihasilkan untuk dikirim kepada si penerima. Ketika penerima telah menerima cipherteks dan nilai hash, cipherteks yang diterima akan diubah menjadi nilai hash kembali untuk mencocokkan dengan nilai hash yang diterima. Apabila keduanya sama, maka cipherteks yang diterima merupakan cipherteks yang asli, dan sebaliknya. Oleh karena itu, timbul pemikiran untuk menggabungkan algoritma cipher transposisi dan SHA dalam suatu sistem pengamanan data.
1.2 Rumusan Masalah
Rumusan masalah yang dibahas berdasarkan latar belakang pada subbab 1.1 sebeumnya adalah bagaimana cara mengamankan suatu data dengan menggabungkan dua algoritma kriptografi yaitu cipher transposisi dan SHA.
1.3 Batasan Masalah
Agar pembahasan penelitian ini tidak menyimpang dari apa yang telah dirumuskan, maka diperlukan batasan-batasan masalah. Batasan-batasan dalam penelitian ini adalah sebagai berikut:
1. Penelitian ini hanya membahas dua algoritma yaitu algoritma cipher
transposisi dan SHA tanpa membandingkan diantara keduanya atau dengan algoritma lainnya.
2. Algoritma cipher transposisi yang digunakan adalah columnar transposition,
sedangkan SHA yang digunakan adalah SHA1.
3. Penelitian ini tidak mengukur secara rinci kekuatan dari sistem.
4. Sistem yang dibangun ditujukan untuk file yang bertipe biner berukuran
minimum 7 byte karaker ASCII dalam proses enkripsi dan dekripsi.
5. Sistem yang akan digunakan pada file di dalam satu komputer (stand alone).
(16)
1.4 Tujuan Penelitian
Tujuan dari perancangan aplikasi ini adalah sebagai berikut:
a. Untuk membantu pengguna dalam mengamankan data.
b. Memahami teknik pengamanan data dengan gabungan dua algoritma
kriptografi yaitu cipher transposisi dan SHA.
1.5 Manfaat Penelitian
Manfaat penelitian ini adalah sebagai berikut:
a. Penerapan algoritma cipher transposisi dan secure hash algorithm (SHA)
dalam suatu aplikasi untuk menjamin keamanan suatu data sehingga mencegah orang-orang yang tidak berwenang untuk menggunakan atau mengubah data tersebut.
b. Aplikasi ini dapat digunakan untuk kepentingan pribadi maupun umum.
1.6 Metode Penelitian
Dalam menyusun skripsi ini penulis melakukan beberapa metode untuk memperoleh data atau informasi dalam menyelesaikan permasalahan. Metode yang dilakukan adalah sebagai berikut :
1. Studi Literatur
Pada tahap ini penulis memperoleh informasi dengan mengumpulkan, mempelajari dan membaca berbagai referensi baik itu dari buku-buku, jurnal, makalah, internet dan berbagai sumber lainnya yang menunjang dalam penulisan skripsi ini.
2. Analisis
Pada tahap ini akan dilakukan analisis permasalahan dan kebutuhan sistem.
3. Perancangan
Pada tahap ini akan dilakukan perancangan aplikasi enkripsi dan dekripsi.
(17)
4. Pengkodean
Pada tahap ini sistem yang telah dirancang diimplementasikan menggunakan Borland Delphi 7.0.
5. Pengujian dan Perbaikan
Pada tahap ini dilakukan penguji kinerja aplikasi yang telah dibuat dengan mencari kelemahan yang masih ada pada aplikasi tersebut, kemudian memperbaikinya.
6. Penyusunan Laporan
Pada tahap ini dilakukan penyusunan laporan hasil analisis dan perancangan ke dalam format penulisan skripsi.
1.7 Sistematika Penulisan
Sistematika penulisan tugas akhir ini dibagi menjadi lima bab, yaitu;
Bab 1 Pendahuluan
Berisikan konsep dasar penyusunan laporan tugas akhir.
Bab 2 Tinjauan Teoritis
Bab ini membahas teori yang mendukung pambahasan bab selanjutnya.
Bab 3 Analisis dan Perancangan
Berisi analisa permasalahan dan kebutuhan serta pemodelan secara fungsional.
Bab 4 Implementasi dan Pengujian
Berisi rangkuman implementasi sistem dan menguji kelebihan dan kekurangan yang ada pada sistem.
(18)
Bab 5 Kesimpulan dan Saran
(19)
BAB 2
LANDASAN TEORI
2.1 Pengertian Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani yang terdiri atas kata “cryptos” yang artinya rahasia, dan “graphein” yang artinya tulisan. Berdasarkan terminologi, kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara mengubahnya dari satu bentuk ke bentuk lainnya yang tidak dapat dimengerti lagi artinya. Kriptografi disebut ilmu, karena didalamnya menggunakan berbagai metode (rumusan), dan sebagai seni, karena didalamnya membutuhkan teknik khusus daalam mendesainnya. (Rinaldi Munir, 2006).
Kriptografi merupakan cabang ilmu dari kriptologi. Pelaku kriptografi ialah kriptografer (cryptographer), yang bertugas untuk mengubah plainteks menjadi cipherteks dengan algoritma dan kunci tertentu. Sedangkan lawan dari kriptografi adalah kriptanalisis (cryptanalysis), merupakan ilmu yang memecahkan cipherteks menjadi plainteks kembali tanpa mengatahui kunci, dan pelakunya ialah kriptanalis (criptanalys).
Tujuan mendasar dari kripotgrafi itu sendiri adalah sebagai berikut:
a. Kerahasiaan (confindentiality)
Memastikan bahwa tidak ada yang membaca pesan selain orang yang dituju b. Integritas data (data integrity)
Suatu layanan yang menjamin bahwa pesan yang asli tidak mengalami perubahan.
c. Otentikasi (authentication)
Mengidentifikasi pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran pesan.
(20)
d. Nirpenyangkalan (non-repudiation)
Layanan yang mencegah terjadinya penyangkalan oleh pengirim pesan atau penyangkalan oleh penerima pesan sudah menerima pesan.
2.2 Proses Kriptografi
Urutan proses kriptografi secara umum ditunjukkan oleh Gambar 2.1:
Plainteks cipherteks Plainteks
Gambar 2.1 Proses Kriptografi
Sebuah plainteks (p) akan diproses dengan proses enkripsi untuk menghasilkan cipherteks (c). Setelah itu untuk memperoleh kembali plainteks (p), cipherteks (c) diproses dengan proses dekripsi. Secara matematis dinyatakan sebagai berikut:
E(p) = c (2.1)
D(c) = p (2.2)
D(E(p)) = p (2.3)
Keamanan dari cipherteks tergantung dari algoritma yang digunakan. Jika algoritma yang digunakan semakin kompleks, maka cipherteks akan semakin aman atau sulit dipecahkan . sebaliknya, jika algoritma yang digunakan sederhana, maka cipherteks akan semakin mudah dipecahkan.
2.3 Algoritma Cipher Transposisi
Algoritma cipher transposisi adalah algoritma yang mempermutasikan karakter- karakter yang ada pada plainteks, yakni dengan menyusun ulang karakter. Pada algoritma ini. Contoh penggunaan algoritma ini sebagai berikut:
(21)
Plainteks : KRIPTOGRAFI Cipherteks : IFARGOTPRIK
Cipher transposisi ini memiliki berbagai macam bentuk dan algoritma, diantara adalah cipher transposisi itu adalah Rail Fence Cipher, Route Cipher dan Columnar
Cipher. Untuk membatasi masalah, penelitian ini hanya membahas Columnar transpostion.
2.3.1 Columnar Transposition
Columnar transposition merupakan salah satu bagian dari cipher transposisi dengan
metode kriptografi dimana pesan dituliskan berderet dari suatu panjang yang ditetapkan, lalu dibaca kembali kolom per kolom dengan urutan pembacaan berdasarkan suatu kata kunci. Panjang deret ditentukan oleh panjang kata kunci. Urutan pembacaan kolom berdasarkan urutan kolom. Hal ini dijelaskan pada Tabel 2.1.
Contoh:
Plainteks : PROGRAM STUDI S1 ILMU KOMPUTER USU
Tabel 2.1 Enkripsi Columnar Transposition
P R O G R A
M S T U D I
S 1 I L M U
K O M P U T
E R P Q R S
Cipherteks : PMSKE RS1OR OTIMP GULPQ RDMUR AIUTS
Untuk memperoleh plainteks kembali, penerima pesan harus mencari jumlah kolom dengan membagi panjang pesan dengan panjang kunci. Kemudian dia akan dapat menulis kembali pesan dalam kolom-kolom. Selanjutnya mengurutkan kembali kolom tersebut dengan melihat kata kunci.
(22)
Secure Hash Algorithm adalah fungsi satu arah yang dirancang oleh NIST (The National Institute of Standard and Technology) bersama NSA (National Security Agen). SHA dibuat berdasarkan rancangan yang sama dengan MD4 yang dibuat oleh
Profesor Ronald L. Rivest dari MIT. SHA dikatakan aman karena dirancang supaya secara matematis tidak memungkinkan untuk memperoleh pesan asli dari tanda tangan yang diberikan.
Fungsi satu arah sering dinamakan fungsi hash atau message digest. Disebut sebagai message digest, karena seolah-olah merupakan inti sari pesan. Selain itu, fungsi ini juga menghasilkan nilai yang lebih kecil dari pesan aslinya, sehingga sering disebut juga fungsi kompresi. Namun, hasil kompresi dari fungsi ini tidak dapat digunakan untuk memperoleh pesan aslinya kembali sehingga disebut fungsi satu arah.
Fungsi hash (H) beroperasi pada pesan (M) yang nilainya sembarang dan selalu menghasilkan nilai hash (h) yang selalu sama panjangnya, maka H(M) = h. Pada SHA, masukan pesan yang masuk sembarang panjangnya, tapi keluarannya selalu 160 bit. Sifat-sifat yang harus dimiliki fungsi hash adalah:
1. Diberikan M, mudah menghitung H(M) = h.
2. Diberikan h, tidak mudah untuk mendapatkan M sehingga H(M) = h.
3. Diberikan M, Sulit untuk bisa mendapatkan M’ sehingga H(M) = H(M’). Jika
diperoleh pesan M’, maka hal ini disebut collision (tabrakan).
4. Sulit untuk mendapatkan dua pesan M dan M’, sehingga H(M) = H(M’).
SHA dapat menerima pesan masukan dengan ukuran maksimum 264 bit
(2.147.483.648 gigabyte) dan selalu menghasilkan message digest dengan ukuran tetap 160 bit. Proses pembuatan message digest dengan SHA digambarkan pada Gambar 2.2.
(23)
Pesan 1000...000 Panjang Pesan
K bit < 264 Padding bits K
L x 512 bit = N x 32 bit
Y0 Y1
...
Yq...
YL - 1512 512
512 512
HSHA HSHA
ABCD 512 512 160 160 160 HSHA 512 160 160 HSHA 512 160 160 Message Digest (1 - 512 bit)
Gambar 2.2 Pembuatan message digest dengan SHA
Penjelasan langkah-langkah dari Gambar 2.2 adalah:
1. Penambahan Bit-bit Pengganjal
Pesan ditambah dengan bit pengganjal sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Dengan demikian, panjang pesan setelah ditambahkan bit-bit pengganjal adalah 64 bit kurang dari kelipatan 512. SHA memperoses pesan dalam blok-blok yang berukuran 512.
Pesan dengan panjang 448 bit pun tetap ditambah dengan bit-bit pengganjal. Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit. Jadi, panjang bit-bit pengganjal adalah antara 1 sampai 512. Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.
2. Penambahan Nilai Panjang Pesan Semula
Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi 512 bit.
(24)
SHA membutuhkan 5 buah penyangga (buffer) yang masing-masing panjangnya 32
bit (MD5 hanya mempunyai 4 buah penyangga). Total panjang penyangga adalah 5 ×
32 = 160 bit. Kelima penyangga menampung hasil antara nilai awal dan hasil akhir. Kelima penyangga ini diberi nama A, B, C, D, dan E. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX):
A = 67452301 B = EFCDAB89 C = 98BADCFE D = 10325476 E = C3D2E1F0.
4. Pengolahan Pesan dalam Blok Berukuran 512 bit.
Pesan dibagi menjadi L buah blok yang masing-masing panjangnya 512 bit (Y0 sampai
YL – 1). Setiap blok 512-bit diproses bersama dengan penyangga MD menjadi keluaran
128-bit, dan ini disebut proses HSHA. Gambaran proses HSHA diperlihatkan pada
(25)
) , ,
(ABCDEY K0
f
ABCDE← q
A B C D
...
A B C D
+ + + +
MDq
MDq + 1
160
Yq
512
E
A B C D E
) , ,
(ABCDEY K1
f
ABCDE← q
) , ,
(ABCDE Y K79
f
ABCDE← q
E
Gambar 2.3 Pengolahan blok 512 bit
Proses HSHA yang diperlihatkan pada Gambar 2.3 memiliki 80 buah putaran, dimana
masing-masing putaran menggunakan bilangan penambah Kt, yaitu:
Kt = 5A827999, untuk t = 0 sampai 19
Kt = 6ED9EBA1, untuk t = 20 sampai 39
Kt = 8F1BBCDC, untuk t = 40 sampai 59
(26)
Sedangkan Yq pada Gambar 2.3 menyatakan blok 512-bit ke-q dari pesan yang
telah ditambah bit-bit pengganjal dan tambahan 64 bit nilai panjang pesan semula.
MDq merupakan nilai message digest 160-bit dari proses HSHA ke-q. Pada awal proses,
MDq berisi nilai inisialisasi penyangga MD.
Setiap putaran menggunakan operasi dasar yang sama (dinyatakan sebagai fungsi f). Operasi dasar SHA diperlihatkan pada Gambar 2.4.
ai-1 bi-1 ci-1 di-1 ei-1
ft +
+
+
+
ai bi ci di ei
Wt
Kt CLS5
CLS30
Gambar 2.4 Operasi dasar SHA dalam satu putaran (fungsi f)
Operasi dasar SHA yang diperlihatkan pada Gambar 2.4 dapat ditulis dengan persamaan 2.4.
a, b, c, d, e ← (CLS5(a) + ft(b, c, d) + e + Wt + Kt),a,CLS30(b), c, d (2.4)
dimana:
(27)
t = putaran, 0 ≤ t ≤ 79 ft = fungsi logika
CLSs = circular left shift sebanyak s bit
Wt = word 32-bit yang diturunkan dari blok 512 bit yang diproses
Kt = konstanta penambah
+ = operasi penjumlahan modulo 232
Fungsi f pada Gambar 2.4 merupakan fungsi logika yang melakukan operasi logika bitwise yang berbeda setelah 20 putaran. Operasi logika yang dilakukan setiap putaran dapat dilihat pada Tabel 2.2.
Tabel 2.2 Fungsi logika ft pada setiap putaran
Catatan: operator logika AND, OR, NOT, XOR masing-masing dilambangkan dengan ∧, ∨, ~, ⊕
Nilai W1 sampai W16 berasal dari 16 word pada blok yang sedang diproses, sedangkan
nilai Wt berikutnya didapatkan persamaan:
Wt = Wt – 16 ⊕ Wt – 14 ⊕ Wt – 8 ⊕ Wt – 3 (2.5)
Setelah putaran ke-79, a, b, c, d, dan e ditambahkan ke A, B, C, D, dan E dan
selanjutnya algoritma memproses untuk blok data berikutnya (Yq+1). Keluaran akhir
dari algoritma SHA adalah hasil penyambungan bit-bit di A, B, C, D, dan E.
Putaran ft(b, c, d)
0 .. 19 (b ∧ c) ∨ (~b ∧ d)
20 .. 39 b ⊕ c ⊕ d
40 .. 59 (b ∧ c) ∨ (b ∧ d) ∨ (c ∧ d)
(28)
2.5 Metode Serangan Terhadap Kriptografi
Serangan (attack) adalah setiap usaha (attempt) atau percobaan yang dilakukan untuk menemukan kunci atau menemukan plainteks dari cipherteksnya. Orang yang melakukan serangan ini disebut kriptanalis.
Berdasarkan ketersediaan data yang ada, serangan terhadap kriptografi dapat diklasifikasikan menjadi 8 bagian (Rinaldi Munir, 2006), yaitu:
1. Chipertext-only attack
Kriptanalis memiliki beberapa cipherteks dari beberapa pesan, semuanya dienkripsi dengan algoritma yang sama. Pada serangan ini, kriptanalisis berusaha menemukan
plainteks sebanyak mungkin atau menemukan kunci yang digunakan untuk
mengenkripsi pesan.
2. Known-plaintext attack
Beberapa pesan yang formatnya terstruktur membuka peluang kepada kriptanalis untuk menemukan plainteks dari cipherteks yang bersesuaian.
3. Chosen-plaintext attack
Serangan jenis ini lebih hebat daripada known-plaintext attack, karena kriptanalis dapat memilih plainteks tertentu untuk dienkripsikan, yaitu plainteks-plainteks yang lebih mengarahkan penemuan kunci.
4. Adaptive-chosen-plaintext attack
Kasus khusus dari jenis serangan nomor Chosen-plaintext attack . Misalnya, kriptanalis memilih blok plainteks yang besar, lalu dienkripsi, kemudian memilih blok lainnya yang lebih kecil berdasarkan hasil serangan sebelumnya.
5. Chosen-ciphertext attack
Kriptanalis memiliki akses terhadap cipherteks yang didekripsi (misalnya terhadap mesin elektronik yang melakukan dekripsi secara otomatis).
(29)
6. Chosen-text attact
Jenis serangan gabungan dari Chosen-plaintext attack dan Chosen-ciphertext attack.
7. Chosen-key attack
Kriptanalis memiliki pengetahuan mengenai hubungan antara kunci-kunci yang berbeda, dan memilih kunci yang tepat untuk mendekripsi plainteks.
8. Rubber-hose cryptanalysis
Kriptanalis mengancam, mengirim surat gelap, atau melakukan penyiksaan sampai orang yang memegang kunci memberinya kunci untuk mendekripsi plainteks.
2.6 Keamanan Algoritma Kriptografi
Sebuah algoritma kriptografi dikatakan aman (computationally secure) bila ia memenuhi tiga kriteria berikut (Rinaldi Munir, 2006) :
1. Persamaan matematis yang menggambarkan operasi algoritma kriptografi
sangat kompleks sehingga algoritma tidak mungkin dipecahkan secara analitik.
2. Biaya untuk memecahkan cipherteks melampaui nilai informasi yang
terkandung di dalam cipherteks tersebut.
3. Waktu yang diperlukan untuk memecahkan cipherteks melampaui lamanya
waktu informasi tersebut harus dijaga kerahasiaannya
2.7 Serangan terhadap Sistem Pengamanan Data
Serangan terhadap sistem pengamanan gabungan kedua algoritma yang akan dibangun ini memilki 2 bagian, yaitu serangan mencari collision nilai hash dengan cipherteks yang berbeda, dan yang kedua, serangan dengan mengubah cipherteks yang asli menjadi plainteks.
(30)
1. Serangan mencari collision dengan cipherteks yang berbeda
Collision adalah suatu kondisi dimana 2 pesan yang berbeda memilki nilai hash yang
sama dengan menggunakan fungsi hash yang sama juga. Pada umumnya, serangan dengan pencarian collision dapat menggunakan serangan secara acak (brute force). Akan tetapi, dengan teknologi yang ada saat ini serangan ini membutuhkan komputasi waktu yang bertahun-tahun.
Pada bulan Februari 2005, tiga orang peneliti dari Cina, Xiaoyun Wang, Yiqun Lisa Yin, dan Hongbo Yu, mempublikasikan bahwa mereka telah berhasil menemukan cara untuk melakukan pencarian collision fungsi SHA-1 dengan
kompleksitas 269. Ketiga orang tersebut adalah sebuah tim riset yang sudah sangat
bereputasi karena sebelumnya dapat mencari collision pada SHA-0 dengan
kompleksitas 239. Walaupun demikian kompleksitas operasi yang dibutuhkan masih
sangat besar juga (dengan menggunakan komputer yang sama dengan contoh sebelumnya, masih akan dibutuhkan waktu sekitar 170.000 tahun, waktu yang tidak mungkin bagi manusia).
Jika collision ditemukan, maka kemungkinan pesan yang diterima oleh si penerima bukan pesan yang asli, karena 2 pesan yang berbeda memiliki nilai hash yang sama.
2. Serangan dengan mengubah cipherteks asli menjadi plainteks
Serangan ini merupakan serangan dengan mengembalikan cipherteks yang asli menjadi plainteks yang berisi informasi, dengan syarat cipherteks yang asli diubah kembali dengan SHA menghasilkan nilai hash 2 yang sama dengan nilai hash 1.
Jika syarat tersebut terpenuhi, maka cipherteks asli dapat dipecahkan dengan melakukan analisis frekuensi, dimana penyerang dengan mudah menyadari bahwa cipher transposisilah yang digunakan, karena frekuensi karakter pada cipherteks menunjukkan pola yang sama dengan frekuensi karakter pada plainteks. Dengan
(31)
melakukan penyusunan ulang tertentu atau yang sering disebut anagram, maka penyerang dapat mengetahu plainteks.
Penyerangan kedua ini lebih sulit, dimana penyerang harus menemukan metode yang sama untuk menghasilkan nilai hash yang sama untuk meyakinkan cipherteks merupakan cipherteks asli. Kemudian menemukan metode kedua untuk mengubah cipherteks menjadi plainteks.
(32)
BAB 3
ANALISIS DAN PERANCANGAN
Bab ini menjelaskan tentang analisis terhadap masalah yang ada berdasarkan teori yang ada pada bab sebelumnya. Analisis ini bertujuan untuk menemukan solusi dari permasalahan dalam melakukan implementasi algoritma cipher transposisi dan Secure
Hash Algorithm (SHA). Hasil dari analisis pada bab ini akan digunakan untuk
menyelesaikan bab empat.
3.1 Analisis Masalah
Pada saat ini, pemanfaatan teknologi informasi sudah banyak digunakan oleh semua orang, baik untuk pribadi maupun kepentingan umum atau organisasi. Oleh sebab itu, keamanan teknologi informasi adalah suatu syarat, agar pemanfaatan teknologi informasi itu berjalan sesuai yang dibutuhkan. Diantara berbagai keamanan teknologi informasi itu ialah penggunaan kriptografi.
Kriptografi ini bertujuan untuk menyembunyikan data. Pada saat ini, kriptografi memilki berbagai jenis, dari kriptografi klasik sampai kriptografi modern. Penggunaan satu algoritama kriptografi untuk pengamanan teknologi informasi masih dianggap kurang aman, karena semakin kompleks algoritma yang digunakan untuk pengamanan data, maka semakin sulit untuk memecahkan kemananan yang dibentuk oleh gabungan dua algoritma atau lebih. Columnar transpositon adalah bagian dari algoritma cipher transposisi yang penggunaannya saat ini tidak digunakan lagi dalam pengamanan pada teknologi informasi, karena algoritma ini sederhana sehingga mudah untuk dipecahkan.
(33)
3.2 Penyelesaian Masalah
Berdasarkan latar belakang masalah, timbul untuk menggabungkan columnar
transpositon dengan Secure Hash Algorithm (SHA). Penggunaan SHA ini merupakan
aspek keamanan dari teknologi informasi yaitu authentication (otentikasi) pengguna. Otentikasi ini bertujuan untuk meyakinkan penerima pesan yang diterima bahwa pesan yang diterima adalah pesan yang asli. Dengan demikian, algoritma utama yang digunakan adalah algortima columnar transpositon yang menghasilkan cipherteks, kemudian SHA mengubah kembali cipherteks tersebut untuk menghasilkan suatu nilai
hash yang akan digunakan untuk tujuan otentikasi.
Dengan demikian, dapat disimpulkan terdapat beberapa proses yang dilakukan pada setiap bagian, dimana pada bagian pengirim yaitu proses enkripsi file dan menghasilkan nilai hash 1. Sedangkan pada bagian penerima yaitu proses dekripsi file terenkripsi dan menghasilkan nilai hash 2 untuk dicocokkan dengan nilai hash 1, sebagai tujuan dari otentikasi. Proses enkripsi dan dekripsi file menggunakan columnar
transpositon, sedangkan untuk mengahasilkan nilai hash dan otentikasi menggunakan
SHA.
3.2.1 Proses Enkripsi Columnar Transpositon
Untuk mengenkripsi file dengan algoritma Columnar Transpositon, sistem mengambil seluruh karakter secara berurutan dari file yang akan dienkripsi. Kemudian karakter-karakter tersebut disusun ke dalam matriks dua dimensi dengan jumlah kolom yang tetap yakni 6 sesuai dengan teori pada bab 2 dan jumlah baris yang dinamis sesuai dengan kebutuhan dari file atau panjang file dibagi 6. Penyusunan karakter ini dimulai dengan baris pertama sampai kolom ke enam, kemudian ke baris berikutnya. Akan tetapi, karakter spasi dimasukkan pada proses ini. Sedangkan penambahan karakter di akhir plainteks hanya satu jenis karakter yaitu ‘@’ dengan maksimum 5 byte, karena panjang karakter modulo 6 adalah maksimum 5.
Apabila karakter-karakter tersebut telah tersusun, maka penyusunan ulang karakter-karakter tersebut yang dimulai dari baris pertama sampai baris selanjutnya.
(34)
Hasil penyusunan ulang karakter-karakter berdasarkan urutan baris akan menghasilkan cipherteks.
Untuk menjelaskan langkah-langkah tersebut, penulis akan memberikan contoh proses enkripsi yang ditunjukkan pada Tabel 3.1 .
Contoh :
Plainteks : AWAS KECURANGAN UJIAN AKHIR SEMESTER
Tabel 3.1 Proses Enkripsi Columnar Transposition
A W A S K
E C U R A N
G A N U J
I A N A K
H I R S E
M E S T E R
Cipherteks : AEGIHMWCAAIEAUNNRSSR T AUASEKNJKER
3.2.2 Proses Dekripsi Columnar Transposition
Proses ini akan bekerja, apabila telah dilakukan proses otentikasi sebelumnya. Proses dekripsi ini juga dengan menggunakan Columnar Transposition, dimana sistem menerima file yang terenkripsi. Proses ini hampir sama dengan proses enkripsi, dimana setiap karakter dari file yang telah diambil akan dimasukkan pada matriks dua dimensi.
Perbedaan dengan proses enkripsi, jumlah baris tetap yakni 6 dan jumlah kolom dinamis sesuai dengan panjang karakter cipherteks yaitu panjang karakter dibagi 6. Karakter-karakter tersebut disusun kembali berdasarkan baris. Hasil penyusunan ini akan mendapatkan file asli kembali. Proses dekripsi ditunjukkan pada Tabel 3.2.
Contoh :
(35)
Tabel 3.2 Proses Dekripsi Columnar Transposition
A E G I H M
W C A A I E
A U N N R S
S R T
A U A S E
K N J K E R
Plainteks : AWAS KECURANGAN UJIAN AKHIR SEMESTER
3.2.3 Proses Pembentukan Nilai Hash dengan SHA dan Otentikasi
Proses pembentukan nilai hash terdapat pada dua bagian yang berbeda yaitu pada pihak pengirim dan pihak penerima, tetapi mempunyai metode yang sama yaitu SHA. Nama lain dari nilai hash ini adalah message digest, karena nilai hash ini seolah-seolah seperti intisari dari pesan asli. File untuk menghasilkan nilai hash ini adalah file yang telah terenkripsi sebelumnya. Nilai hash dari pihak pengirim akan digabung dengan file yang terenkripsi.
Setelah kedua nilai hash diperoleh oleh pihak penerima, maka penerima
mencocokkan nilai hash dari pengirim dengan nilai hash yang dihasilkannya. Apabila sama, maka file yang terenkripsi yang diterima merupakan file yang memang berasal dari pengirim. Jika tidak, maka tidak dapat dilanjutkan ke proses dekripsi. Hal ini bertujuan untuk membuktikan bahwa file memang otentik. Proses ini dinamakan otentikasi.
Proses pembentukan nilai hash dari cipherteks yang dihasilkan dari proses enkripsi sebelumnya:
Contoh :
(36)
Biner cipherteks :
01000001 01000101 01000111 01001001 01001000 01001101 01010111 01000011 01000001 01000001 01001001 01000101 01000001 01010101 01001110 01001110 01010010 01010011 01010011 01010010 00100000 00100000 00100000 01010100 00100000 01000001 01010101 01000001 01010011 01000101 01001011 01001110 01001010 01001011 01000101 01010010
Heksadesimal cipherteks :
41 45 47 49 48 4D 57 43 41 41 49 45 41 55 4E 4E 52 53 53 52 20 20 20 54 20 41 55 41 41 45 4B 4E 4A 4B 45 52
Panjan pesan = 36 x 8 = 228 (11100100)
1. Penambahan bit pengganjal
Pesan ditambah bit pengganjal sampai 448 bit
01000001 01000101 01000111 01001001 01001000 01001101 01010111 01000011 01000001 01000001 01001001 01000101 01000001 01010101 01001110 01001110 01010010 01010011 01010011 01010010 00100000 00100000 00100000 01010100 00100000 01000001 01010101 01000001 01010011 01000101 01001011 01001110 01001010 01001011 01000101 01010010 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
2. Penambahan nilai panjang semula
Tambahan 64 bit representasi panjang pesan semula diakhir bit sehingga jumlah bit menjadi 512 bit.
01000001 01000101 01000111 01001001 01001000 01001101 01010111 01000011 01000001 01000001 01001001 01000101 01000001 01010101 01001110 01001110 01010010 01010011 01010011 01010010 00100000 00100000 00100000 01010100 00100000 01000001 01010101 01000001 01010011 01000101 01001011 01001110 01001010 01001011 01000101 01010010 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 11100100
(37)
3. Inisialisasi penyangga MD A = 67452301
B = EFCDAB89 C = 98BADCFE D = 10325476 E = C3D2E1F0
4. Pengolahan blok 512 bit
Setelah pengolahan blok 512 bit menghasilkan nilai akhir dalam hexadecimal dan biner:
A = CBF3FC33 (11001011 11110011 11111100 00110011) B = B4F3E42B (10110100 11110011 11100100 00101011) C = A2506F96 (10100010 01010000 01101111 10010110) D = F1D15710 (11110001 11010001 01010111 00010000) E = EA0D0CAA (11101010 00001101 00001100 10101010)
Penggabungan nilai akhir A, B, C, D, E menghasilkan nilai hash dalam bentuk biner:
11001011 11110011 11111100 00110011 10110100 11110011 11100100 00101011 10100010 01010000 01101111 10010110 11110001 11010001 01010111 00010000 11101010 00001101 00001100 10101010
Dalam Heksadesimal :
(38)
3.2.4 Arsitektur Sistem Keamanan Data Columnar Transposition dan SHA
Arsitektur dari sistem yang dibangun terdiri dari 2 bagian yaitu arsitektur enkripsi sistem keamanan data yang ditunjukkan Gambar 3.1 dan arsitektur dekripsi Sistem keamanan data ditunjukkan Gambar 3.2.
Mulai
Enkripsi Columnar Transposition
SHA
Cipherteks + Nilai hash
Selesai Plainteks
(39)
Mulai
SHA
Plainteks
Selesai Cipherteks +
nilai hash1
Dekripsi Columnar Transposition nilai hash 2
nilai hash 1 = nilai hash 2
ya
tidak
Cipherteks tidak otentik
Gambar 3.2 Arsitektur Dekripsi Sistem Keamanan Data
3.3 Analisis Kebutuhan Perangkat Lunak
Analisis kebutuhan perangkat lunak merupakan langkah untuk mengenal komponen atau bagian dari sistem yang akan dibangun. Pada tugas akhir ini menggunakan diagram
(40)
3.3.1 Diagaram Use Case
Hal-hal yang dapat dilakukan oleh pengguna terhadap sistem yang akan dibangun dapat dilihat pada diagram use case global yang diperlihatkan pada Gambar 3.3.
Sistem Pengamanan Data
Enkripsi
Dekripsi Pengguna
«uses»
«uses»
Gambar 3.3 Use Case Global
Pada Gambar 3.3 , pengguna dapat melakukan dua hal pada sistem yaitu proses enkripsi terhadap plainteks, dan proses dekripsi terhadap cipherteks yang diterima.
3.3.1.1Enkripsi
Pada Use Case ini pengguna memasukkan plainteks untuk dienkripsi dengan Columnar
Transposition. Kemudian hasil dari proses tersebut akan menghasilkan cipherteks untuk
diproses kembali untuk menghasilkan nilai hash 1 dengan SHA. Apabila kedua proses tersebut telah selesai, maka sistem akan menyimpan cipherteks dan nilai hash 1 pada tempat yang sama atau pengguna juga dapat mengirimkan keduanya kepada orang lain. Diagram Use Case secara detil dari Use Case Enkripsi diperlihatkan pada Gambar 3.4.
(41)
Sistem Pengamanan Data
Pengguna
Enkripsi Plainteks dengan Columnar Transposition
Membentuk Nilai Hash 1 dengan SHA
Menyimpan atau Mengirim Cipherteks dan Nilai
Hash 1 «extends»
«extends» «extends»
«uses»
Gambar 3.4 Use Case Enkripsi Plainteks dan Pembentukan Nilai hash 1 Diagram alir untuk menggambarkan apa yang diharuskan dilakukan pengguna agar sistem dapat berjalan sesuai yang diinginkan, kemudian langkah-langkah yang dilakukan oleh sistem untuk memprosesnya. Hal ini digambarkan pada Gambar 3.5
Pengguna Pengguna Start Start Input Plainteks Input Plainteks Sistem Sistem Enkripsi Columnar Transposition Pembentukan Nilai Hash 1 Dengan SHA Mengirim atau Menyimpan Cipherteks
dengan Nilai Hash 1
Selesai Selesai
(42)
3.3.1.2Dekripsi
Pada Use Case Dekripsi, Sistem harus menerima cipherteks dan nilai hash 1. Kemudian sistem kembali akan membentuk nilai hash 2 dari cipherteks yang ada dengan menggunakan SHA juga. Nilai hash 2 ini akan dicocokkan dengan nilai hash 1 untuk membuktikan keaslian cipherteks. Jika keduanya sama maka sistem akan melanjutkan ke proses berikutnya, jika tidak sama, maka proses akan berhenti. Proses berikutnya adalah dekripsi cipherteks dengan Columnar Transposition untuk menghasilkan plainteks. Kemudian plainteks akan disimpan dan ditampilkan oleh sistem kepada pengguna. Hal ini digambarkan pada Gambar 3.6.
Pengguna
Sistem Pengamanan Data
Menerima Cipherteks dan Nilai Hash 1
Membentuk Nilai Hash 2 dari cipherteks «extends»
Pencocokan Nilai Hash 1 dan Nilai Hash 2
Dekripsi Cipherteks dengan Columnar
Transposition
Menampilkan dan Menyimpan Plainteks
«extends»
«extends»
«extends»
«uses»
Gambar 3.6 Use Case Pembuktian Keaslian Cipherteks dan Dekripsi Cipherteks
Diagram alir untuk menggambarkan proses dekripsi digambarkan pada Gambar 3.7. Pada diagram alir ini, pengguna harus memasukkan dua input sekaligus yaitu cipherteks dan nilai hash 1.
(43)
Pengguna
Pengguna
Start
Start
Input Cipherteks dan Nilai Hash 1
Input Cipherteks dan Nilai Hash 1
Sistem
Sistem
Pencocokan Nilai Hash 1 dan Nilai
Hash 2
Membentuk Nilai Hash 2 dari
cipherteks
Selesai
Selesai Menampilkan dan Menyimpan Plainteks
Dekripsi Cipherteks dengan
Columnar Transposition
Gambar 3.7 Diagram Alir Dekripsi
3.4 Perancangan
Perancangan bertujuan untuk menentukan kondisi akhir dari perangkat lunak yang akan dibangun sesuai yang diharapkan, dan merumuskan cara untuk mendapatkan hasil dari kondisi akhir perangkat lunak tersebut.
Perancangan perangkat lunak sistem keamanan data menggunakan Columnar
Transposition dan SHA memiliki beberapa tahap perancangan yaitu perancangan
(44)
3.4.1 Perancangan Strukur Program
Perancangan struktur program adalah perancangan awal untuk mengidentifikasi subsistem dan menentukan hubungan dan kerangka kerja antar subsistem. Tujuan dari perancangan ini adalah membangun struktur program yang modular dan merepresentasikan keterkaitan antar modul, serta mendefenisikan antarmuka yang memungkinkan data mengalir pada program yang akan diiplementasikan. Strukur program dari perangkat lunak sistem keamanan data menggunakan Columnar
Transposition dan SHA dapat dilihat pada Gambar 3.8.
Menu Utama
Enkripsi Dekripsi
Buka Plainteks Buka Cipherteks dan
Nilai Hash 1
SHA pada Cipherteks Enkripsi Columnar
Transpositiomn
Pencocokan Nilai Hash 1 dan Nilai
Hash 2 SHA
Cipherteks dan Nilai
Hash 1
Dekripsi Columnar
Transpostion
Plainteks
Gambar 3.8 Struktur Program Kriptografi Columnar Transposition dan SHA
3.4.2 Perancangan Antar Muka Pemakai
Antar muka pemakai adalah suatu aspek pada sistem komputer untuk membantu pengguna melihat dan mendengar perintah-perintah yang digunakan untuk
(45)
muka pemakai perangkat lunak sistem keamanan data menggunakan Columnar
Transposition dan SHA.
3.4.2.1 Rancangan Form Utama
Rancangan ini merupakan tampilan utama perangkat lunak sistem keamanan data menggunakan Columnar Transposition dan SHA. Pada rancangan utama terdapat nama perangkat lunak, tombol keluar dan menu utama yaitu enkripsi, dekripsi, dan help.
Apabila tombol enkripsi dipilih pada menu utama, maka akan menampilkan form enkripsi. Jika tombol dekripsi dipilih, maka akan menampilkan form dekripsi. Sedangkan jika tombol help dipilih, maka akan menampilkan form yang berisi penjelasan tentang perangkat lunak. Rancangan form utama ditunjukkan pada Gambar 3.9.
Gambar 3.9 Rancangan Form Utama
KRIPTOGRAFI
SISTEM KEAMANAN DATA MENGGUNAKAN
COLUMNAR TRANSPOSITION DAN SHA
MENU UTAMA
ENKRIPSI
HELP DEKRIPSI
(46)
3.4.2.2 Rancangan Form Enkripsi
Pada form enkripsi, terdapat tombol buka file yang akan membuka file. Apabila file telah didapatkan, maka pada form akan ditampilkan info dimana file berada. Selain itu juga terdapat tombol enkripsi, yang berfungsi untuk melakukan proses enkripsi dan tombol kembali yang berfungsi untuk mengembalikan program ke form utama. Rancangan form enkripsi ditunjukkan pada Gambar 3.10.
Gambar 3.10 Rancangan Form Enkripsi
3.4.2.3 Rancangan Form Dekripsi
Rancangan form dekripsi yang ditunjukkan pada Gambar 3.11 memilki beberapa tombol yaitu tombol buka file, buka kunci, dekripsi, dan kembali. Tombol buka file untuk membuka file dan tombol buka kunci berfungsi untuk membuka kunci atau nilai
hash 1. Tombol dekripsi berfungsi memerintahkan sistem agar melakukan proses
terhadap file yang telah dibuka. Sedangkan tombol kembali memilki fungsi yang sama pada form enkripsi, yaitu untuk kembali ke form utama.
ENKRIPSI
BUKA FILE
(47)
Gambar 3.11 Rancangan Form Dekripsi
3.4.2.4 Rancangan Form Help
Form ini hanya berisi informasi tentang perangkat lunak yang akan dibangun dan tombol kembali untuk kembali ke form utama. Tampilan rancangan form ini ditunjukkan Gambar 3.12.
Gambar 3.12 Rancangan Form Help
DEKRIPSI
HELP
BUKA FILE
DEKRIPSI KEMBALI
BUKA KUNCI
(48)
3.4.3 Perancangan Prosedural
Setelah percancangan struktur program dan antar muka, maka tahapan selanjutnya adalah perancangan prosedural. Perancangan prosedural ini terdiri algoritma dan
flowchart. Tujuan dari perancangan ini adalah mempermudah dalam melakukan
pengkodean dimana perancangan ini menghasilkan detail algoritma yang akan dibangun.
Pada perangkat lunak sistem keamanan data dengan Columnar Transposition dan SHA ini terdapat tiga prosedur utama, yaitu prosedur enkripsi, prosedur dekripsi, dan prosedur SHA-1. Berikut algoritma dan flowchart untuk masing-masing prosedur.
3.4.3.1 Algoritma dan Flowchart Proses Enkripsi
Prosedur ini digunakan untuk melakukan prosedur enkripsi. Rincian prosesnya ditunjukkan oleh algoritma berikut:
1. Mulai.
2. Plainteks, urutan, pad, kolom = 6.
3. Mengambil isi plainteks per karakter.
4. Menghitung Jumlah atau panjang semua karakter .
5. Pad = Jumlah karakter mod 6.
6. Apakah Pad <> 0.
7. Jika tidak, masukkan karakter ke dalam kolom.
8. Jika ya, Tambahkan karakter ‘@’.
9. Baca karakter berdasarkan urutan kolom.
10.Cipherteks. 11.Selesai.
Gambar aliran proses dari prosedur enkripsi ditunjukkan oleh flowchart pada Gambar 3.13.
(49)
Mulai
Mengambil isi plainteks per karakter
Menghitung panjang atau Jumlah semua karakter
Tambahkan karakter ‘@’
Masukkan karakter ke dalam kolom
Selesai ya
tidak
Cipherteks Plainteks, urutan,
kolom = 6
Pad <> 0
Pad = Jumlah karakter mod 6
Baca karakter sesuai dengan urutan kolom
Gambar 3.13 Flowchart Prosedur Enkripsi
3.4.3.2 Algoritma dan Flowchart Proses Dekripsi
Rincian dari prosedur dekripsi ditunjukkan oleh algoritma berikut:
1. Mulai.
2. Cipherteks, urutan, kolom.
3. Mengambil isi cipherteks per karakter.
(50)
5. kolom = jumlah karakter : 6.
6. Memasukkan karakter ke dalam kolom.
7. Baca karakter berdasarkan urutan kolom.
8. Hapus karakter ‘@’ di akhir urutan.
9. Plainteks.
10.Selesai.
Gambaran aliran proses kerja dari prosedur dekripsi ditunjukkan pada Gambar 3.14.
Mulai
Mengambil isi plainteks per karakter
Menghitung panjang atau Jumlah semua karakter
Memasukkan karakter ke dalam kolom
Baca berdasarkan urutan kolom
Selesai Plainteks Cipherteks, urutan,
kolom
Kolom = Jumlah karakter / 6
Hapus karakter ‘@’ di akhir urutan
(51)
3.4.3.3 Algoritma dan Flowchart Prosedur SHA-1
Prosedur SHA-1 ini digunakan untuk membentuk nilai hash. Rincian Proses yang ditunjukkan oleh Gambar 3.15 adalah:
1. Mulai.
2. Cipherteks.
3. Inisialisasi penyangga A,B,C,D,E.
A = $67452301; B = $EFCDAB89; C = $98BADCFE; D = $10325476; E = $C3D2E1F0.
4. Membaca isi Cipherteks hingga akhir.
5. Pesan ditambah dengan sejumlah bit pengganjal hingga panjang pesan
kongruen dengan 448 modulo 512.
6. Pesan dibagi menjadi blok-blok yang masing-masing panjangnya 512-bit
( Y0 sampai YL-1 ).
7. Mengolah pesan 512-bit yang ditunjukkan Gambar 3.16 dengan proses
fungsi f dan k berikut: Begin
a A
b B
c C
d D
e E
for i := 0 to 79 do begin
if (0 ≤ i ≤ 19) then
begin
f = (b and c) or ((not b) and d);
k = 0x5A827999;
(52)
if (20 ≤ i ≤ 39) then
begin
f = b xor c xor d;
k = 0x6ED9EBA1;
end;
if (40 ≤ i ≤ 59) then
begin
f = (b and c) or ( b and d) or (c and d);
k = 0x8F1BBCDC;
end;
if (60 ≤ i ≤ 79) then
begin
f = b xor c xor d;
k = 0xCA62C1D6;
end;
temp = ( a <<< 5) + f + e + W[i] ;
e = d;
d = c;
c = b <<< 30;
b = a;
a = temp;
end;
A = A + a;
B = B + b;
C = C + c;
D = D + d;
E = E + e;
End;
8. Penggabungan nilai A + B + C + D + E
9. Nilai Hash. 10.Selesai.
(53)
Prosedur dari SHA-1 diatas ditunjukkan oleh flowchart pada Gambar 3.15:
Mulai
Membaca pesan hingga akhir Cipherteks
Penambahan pesan dengan bit pengganjal
Pembagian pesan ke dalam blok-blok
Penggabungan nilai A+B+C+D+E
Nilai hash
Selesai Proses fungsi f dan k
Cipherteks
(54)
Begin
a, b, c, d, e, i = 0
f = (b and c) or ((not b) and d); k = 0x5A827999;
20 ≤ i ≤ 39
0 ≤ i ≤ 19 40 ≤ i ≤ 59 60 ≤ i ≤ 79
f = b xor c xor d; k = 0x6ED9EBA1;
f = (b and c) or ( b and d) or (c and d); k = 0x8F1BBCDC;
f = b xor c xor d; k = 0xCA62C1D6;
temp= ( a <<< 5) + f +k + e + W[i] ; e = d;
d = c; c = b <<< 30; b = a; a = temp ;
ya
tidak tidak tidak
ya ya ya
A = A + a; B = B + b; C = C + c; D = D + d; E = E + e;
end
ya i <= 79
tidak a = A; b = B; c = C; d = D; e = E;
i = i + 1
(55)
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Setelah proses perancangan, maka tahap selanjutnya adalah tahap implementasi yang dibuat ke dalam bentuk suatu perangkat lunak. Input yang dibutuhkan pada aplikasi ini adalah file biner. Bab ini akan menjelaskan implementasi dari rancangan pada bab sebelumnya.
4.2 Tampilan Menu Utama
Tampilan dari menu utama terdiri dari beberapa tombol yaitu tombol ENKRIPSI, DEKRIPSI, Help, dan KELUAR. Tombol ENKRIPSI, DEKRIPSI dan Help akan menampilkan form baru sesuai dengan fungsinya masing-masing. Sedangkan tombol KELUAR akan menyebabkan keluar dari sistem tersebut. Tampilan menu utama ditunjukkan oleh Gambar 4.1.
(56)
4.2.1 Tampilan Submenu Enkripsi
Pada submenu Enkripsi, terdapat tombol Buka File untuk membuka file yang akan dienkripsi. Setelah file ditemuka n, maka proses selanjutnya adalah proses enkripsi dengan cara pengguna menekan tombol enkripsi. Apabila proses selesai, maka proses ini akan menghasilkan 2 file. File yang pertama, yaitu file hasil enkripsi yang mempunyai ekstensi yang sama dengan file asli, akan tetapi file tersebut tidak dapat dibuka dengan program untuk membuka file yang berekstensi yang sama pada umumnya. Sedangkan file yang kedua, yaitu file kunci yang berekstensi *.tmp . Submenu Enkripsi ditunjukkan oleh Gambar 4.2.
Gambar 4.2 Tampilan Submenu Enkripsi
Untuk menjelaskan bagaimana langkah dari proses ini, penulis akan memberikan contoh untuk enkripsi Gambar1.JPEG yang berada pada direktori D. Gambar 4.3 dan Gambar 4.4. menampilkan membuka Gambar1.JPEG.
(57)
Gambar 4.3 Membuka Gambar1.JPEG
Gambar 4.4 Tampilan Submenu Enkripsi setelah membuka file
Setelah file ditemukan, maka tombol Enkripsi ditekan akan memberikan pemberitahuan nama kunci dari file tersebut seperti pada Gambar 4.5.
(58)
Kemudian pemberitahuan selanjutnya akan muncul, yang menandakan bahwa proses enkripsi telah selesai, seperti yang ditunjukkan pada Gambar 4.6 .
Gambar 4.6 Pemberitahuan proses Enkripsi selesai
4.2.2 Tampilan Submenu Dekripsi
Apabila tombol Dekripsi pada menu utama ditekan, akan menampilkan form yang memilki tombol Buka File untuk membuka file terenkripsi, dan tombol Kunci untuk membuka file kunci. Setelah kedua file telah dibuka, maka tombol Dekripsi pada form tersebut akan menghasilkan file asli dengan ekstensi yang sama dengan file terenkripsi, dan menghapus secara otomatis file kunci. Tampilan menu Dekripsi ditunjukkan pada Gambar 4.7.
Gambar 4.7 Tampilan Submenu Dekripsi
Sebagai contoh, penulis akan mengenkripsi file Gambar1.JPEG yang telah dihasilkan sebelumnya. Untuk membuka file Gambar1.JPEG yang telah dienkripsi ditunjukkan oleh Gambar 4.8 dan Gambar 4.9 .
(59)
Gambar 4.8 Membuka Gambar1.JPEG
Gambar 4.9 Tampilan Submenu Dekripsi setelah membuka file terenkripsi
Sedangkan, untuk membuka file kunci ditunjukkan Gambar 4.10. Apabila Input valid akan muncul pemberitahun bahwa benar kunci memilki ekstensi .tmp yang ditunjukkan Gambar 4.11.
(60)
Gambar 4.10 Membuka file kunci
Gambar 4.11 Pemberitahuan bahwa ekstensi kunci valid
Gambar 4.12 merupakan tampilan submenu Dekripsi setelah kedua file dibuka yang akan menampilkan informasi dimana file berada.
(61)
Gambar 4.12 Tampilan Submenu Dekripsi setelah membuka kedua file
Kemudian tombol dekripsi ditekan, maka akan muncul pemberitahuan bahawa proses dekripsi berhasil pada Gambar 4.13. Jika tidak, akan muncul pemberitahuan bahwa file kunci tidak cocok dengan file enkripsi, yang juga menyatakan proses dekripsi gagal seperti yang ditunjukkan pada Gambar 4.14.
Gambar 4.13 Pemberitahuan proses dekripsi berhasil
(62)
4.2.3 Tampilan Submenu Help
Jika tombol Help pada menu utama ditekan, akan menampilkan form yang berisi informasi mengenai menu utama tentan penggunaan perangkat lunak sistem keamanan data menggunakan Columnar Transposition dan SHA, yang ditunjukkan Gambar 4.15.
Gambar 4.15 Tampilan Submenu Help
4.3 Pengujian Perangkat Lunak
Pengujian merupakan teknik yang menentukan apakah solusi menyelesaikan persoalan. Tahap pengujian ini merupakan tahap terpenting dari keseluruhan proses pengembangan perangkat lunak, sebab pada tahap inilah akan dievaluasi apakah perangkat lunak yang dibangun sesuai dengan rencana dan keinginan atau tidak.
Pengujian lebih ditujukan untuk menghasilkan perangkat lunak yang bebas kesalahan setidaknya secara teknik, sebab bebas kesalahan secara total tidaklah mungkin, seperti dikatakan Edsgar Djikstra dalam Hariyanto yaitu pengujian hanya dapat menunjukkan keberadaan bug, namun tidak dapat menunjukkan ketidakberadaannya.
Pengujian adalah proses pemeriksaan atau evaluasi sistem atau komponen sistem secara manual atau otomatis untuk memverifikasi apakah sistem memenuhi
(63)
kebutuhan-kebutuhan yang dispesifikasikan atau mengidentifikasi perbedaan-perbedaan antara hasil yang diharapkan dengan hasil yang terjadi. (Hariyanto, 2004).
Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah:
1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan
kesalahan
2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk
menemukan kesalahan yang belum pernah ditemukan sebelumnya
3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan
yang belum pernah ditemukan sebelumnya
Pengujian yang akan dilakukan pada aplikasi ini adalah pengujian integrasi, pengujian antarmuka dan pengujian kehandalan dengan menggunakan metode black box
testing.
4.3.1 Pengujian Integrasi Perangkat Lunak
Pengujian integrasi merupakan pengujian terhadap sistem atau subsistem lengkap dengan komponen-komponen penyusunnya yang terintegrasi. Metode yang digunakan pada pengujian ini adalah black box. Dengan black box, pengujian hanya dilakukan pada representasi sistem yang terlihat tanpa perlu mengetahui bagaimana cara kerja sistem tersebut.
Black box hanya melakukan pengujian dengan membandingkan masukan dan
keluaran yang dihasilkan apakah sesuai dengan harapan atau tidak. Bila sesuai maka aplikasi dianggap layak dan berhasil, sebaliknya apabila tidak sesuai maka perlu dilakukan lagi perbaikan terhadap aplikasi tersebut.
(64)
4.3.1.1 Menu Utama
Hasil evaluasi menu utama dijelaskan oleh Tabel 4.1.
Tabel 4.1 Evaluasi Menu Utama
No. Sasaran Pengujian Output Status
1. Uji tampilan perangkat
lunak
Perangkat lunak ditampilkan dengan 3 menu utama.
Baik.
2. Uji inputan mouse Pergerakan mouse dapat
dideteksi.
Baik.
3. Uji inputan keyboard Menu dapat diakses melalui
keyboard.
Baik.
4. Uji tombol minimize,
maximize dan close.
Tombol dapat diklik dan berjalan sesuai fungsinya masing-masing.
Baik.
5. Uji tombol ENKRIPSI Tombol dapat diakses dengan
keyboard atau mouse. Submenu
Enkripsi dapat ditampilkan
Baik
6. Uji tombol DEKRIPSI Tombol dapat diakses dengan
keyboard atau mouse. Submenu
Dekripsi dapat ditampilkan
Baik
7. Uji Tombol HELP Tombol dapat diakses dengan
keyboard atau mouse. Submenu
Help dapat ditampilkan
Baik
8. Uji tombol Keluar. Tombol Keluar dapat diakses
dengan keyboard ataupun mouse. Perangkat lunak berhenti, dan pengguna keluar dari aplikasi.
(65)
4.3.1.2 Submenu Enkripsi
Hasil evaluasi dari submenu Enkripsi dijelaskan pada Tabel 4.2. Tabel 4.2 Evaluasi Submenu Enkripsi
No. Sasaran Pengujian Output Status
1. Uji membuka file dengan
tombol Buka File
Tombol Buka dapat membuka
file sesuai dengan fungsinya.
Baik.
2. Uji tombol enkripsi Tombol enkripsi dapat
memproses file yang akan
dienkripsi.
Baik.
3. Uji tombol kembali Tombol kembali dapat berjalan
sesuai dengan fungsinya dan kembali ke menu utama.
Baik.
4.3.1.3 Submenu Dekripsi
Hasil evaluasi dari submenu dekripsi dijelaskan oleh Tabel 4.3. Tabel 4.3 Evaluasi Submenu Dekripsi
No. Sasaran Pengujian Output Status
1. Uji membuka file dengan
tombol Buka File
Tombol Buka File dapat membuka file sesuai dengan fungsinya.
Baik.
2. Uji membuka file kunci
dengan tombol Kunci
Tombol Kunci dapat membuka
file kunci sesuai dengan
fungsinya.
Baik.
3. Uji tombol Dekripsi Tombol Dekripsi dapat
memproses file yang akan
didekripsi sesuai dengan kuncinya
Baik.
4. Uji tombol kembali Tombol kembali dapat berjalan
sesuai dengan fungsinya dan kembali ke menu utama.
Baik.
4.3.1.4 Submenu Help
Tabel 4.4 menjelaskan hasil evaluasi dari submenu Help. Tabel 4.4 Evaluasi Submenu Help
No. Sasaran Pengujian Output Status
1. Uji tombol kembali Tombol kembali dapat berjalan
sesuai dengan fungsinya dan kembali ke menu utama.
(66)
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan pembahasan dan evaluasi dari bab-bab yang terdahulu, maka diperoleh kesimpulan sebagai berikut:
1. Sistem pengamanan data dapat dibuat dengan mengabungkan dua algoritma
kriptografi, seperti pada penelitian ini yang menggabungkan algoritma Cipher Transposisi dan Secure Hash Algorithm (SHA).
2. Teknik penerapan pada algoritma Cipher Transposisi dan Secure Hash
Algorithm (SHA) dapat diterapkan pada file biner.
3. Sistem yang dibangun menggunakan Borland Delphi 7.0 yang memiliki
keterbatasan dalam proses enkripsi dan dekripsi, karena menggunakan pengalokasian memori array statis, sehingga sistem hanya mampu mengenkripsi dan dekripsi file biner 600 KB.
4. Algoritma kriptografi klasik seperti algoritma Cipher Transposisi, masih dapat
digunakan pada zaman modern sekarang ini dengan menggabungkannya dengan algoritma kriptografi modern.
5.2 Saran
Berdasarkan penelitian dan implementasi sistem yang telah dilakukan, maka diberikan saran sebagai berikut:
1. Pengguna diminta untuk memperhatikan besar kapasitas file biner yang akan
dienkripsi karena akan mempengaruhi waktu proses enkripsi yang cukup panjang.
(67)
2. Untuk kebutuhan meluas, diperlukan penelitian untuk proses enkripsi dan dekripsi dengan ukuran file biner yang lebih besar dari 600 KB.
(68)
DAFTAR PUSTAKA
Adrisatria, Yogie. 2006. Studi Pencarian Kolisi Pada Sha-1 oleh xiaoyun Wang dkk.*.
Apriliawan, Egie. 2009. Fungsi Hash Pada Kriptografi.
Ariesanda, Boyke. 2008. Rancangan dan Analisis Cipher Berbasis Algoritma
Transposisi Dengan Periodisasi Kunci.
Ariyus, Dony. 2008. Pengantar Ilmu Kripotgrafi Teori, Analisis, dan Implementasi. Yogyakarta : Penerbit Andi.
Ekwardo, Odit. 2008. Modifikasi Columnar transposition Menggunakan Sebuah Fungsi
Transposisi.
2010.
Hallim, Abd, Isbat Uzzin Nadhori, Setiawardhana. 2010. Pembuatan Perangkat Lunak
Media Pembelajaran Kriptografi Klasik.
15 April 2010.
(69)
Kurniawan, Yusuf. 2004. Keamanan Internet dan Jaringan Komunikasi. Bandung : Penerbit Informatika.
Munir, Rinaldi. 2006. Kriptografi. Bandung : Penerbit Informatika.
Munir, Rinaldi. 2005. Secure Hash Algorithm. kur2003.if.itb.ac.id/file/SHA.doc . Diakses tanggal : 10 April 2010.
Okike, Benjamin. 2006. The Effect of Message Splitting in Irregular Transposition
Cipher Technique: Determination of Pattern in Splitting Sequence and its Complexity Level. University of Abuja.
Pohan, Reyhan Yuanza. 2008. Studi dan Perbandingan Berbagai Macam Algoritma
Cipher Transposisi.
2010.
Scheiner, Bruce. 1996. Applied Crypthography: Second edition . Wiley Computer Publishing, John Wiley & Sons, Inc.
Smart, Nigel. 2004. Cryptography : An Introduction ( 3rd Edition). University of Bristol.
Stallings, William. 2005. Cryptography and Network Security Principles and Practices,
(1)
4.3.1.1 Menu Utama
Hasil evaluasi menu utama dijelaskan oleh Tabel 4.1.
Tabel 4.1 Evaluasi Menu Utama
No. Sasaran Pengujian Output Status
1. Uji tampilan perangkat lunak
Perangkat lunak ditampilkan dengan 3 menu utama.
Baik.
2. Uji inputan mouse Pergerakan mouse dapat dideteksi.
Baik.
3. Uji inputan keyboard Menu dapat diakses melalui keyboard.
Baik.
4. Uji tombol minimize, maximize dan close.
Tombol dapat diklik dan berjalan sesuai fungsinya masing-masing.
Baik.
5. Uji tombol ENKRIPSI Tombol dapat diakses dengan keyboard atau mouse. Submenu Enkripsi dapat ditampilkan
Baik
6. Uji tombol DEKRIPSI Tombol dapat diakses dengan keyboard atau mouse. Submenu Dekripsi dapat ditampilkan
Baik
7. Uji Tombol HELP Tombol dapat diakses dengan keyboard atau mouse. Submenu Help dapat ditampilkan
Baik
8. Uji tombol Keluar. Tombol Keluar dapat diakses dengan keyboard ataupun mouse. Perangkat lunak berhenti, dan pengguna keluar dari aplikasi.
(2)
4.3.1.2 Submenu Enkripsi
Hasil evaluasi dari submenu Enkripsi dijelaskan pada Tabel 4.2. Tabel 4.2 Evaluasi Submenu Enkripsi
No. Sasaran Pengujian Output Status
1. Uji membuka file dengan tombol Buka File
Tombol Buka dapat membuka file sesuai dengan fungsinya.
Baik.
2. Uji tombol enkripsi Tombol enkripsi dapat memproses file yang akan dienkripsi.
Baik.
3. Uji tombol kembali Tombol kembali dapat berjalan sesuai dengan fungsinya dan kembali ke menu utama.
Baik.
4.3.1.3 Submenu Dekripsi
Hasil evaluasi dari submenu dekripsi dijelaskan oleh Tabel 4.3. Tabel 4.3 Evaluasi Submenu Dekripsi
No. Sasaran Pengujian Output Status
1. Uji membuka file dengan tombol Buka File
Tombol Buka File dapat membuka file sesuai dengan fungsinya.
Baik.
2. Uji membuka file kunci dengan tombol Kunci
Tombol Kunci dapat membuka file kunci sesuai dengan
fungsinya.
Baik.
3. Uji tombol Dekripsi Tombol Dekripsi dapat memproses file yang akan didekripsi sesuai dengan kuncinya
Baik.
4. Uji tombol kembali Tombol kembali dapat berjalan sesuai dengan fungsinya dan kembali ke menu utama.
Baik.
4.3.1.4 Submenu Help
Tabel 4.4 menjelaskan hasil evaluasi dari submenu Help. Tabel 4.4 Evaluasi Submenu Help
No. Sasaran Pengujian Output Status
1. Uji tombol kembali Tombol kembali dapat berjalan sesuai dengan fungsinya dan kembali ke menu utama.
(3)
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan pembahasan dan evaluasi dari bab-bab yang terdahulu, maka diperoleh kesimpulan sebagai berikut:
1. Sistem pengamanan data dapat dibuat dengan mengabungkan dua algoritma kriptografi, seperti pada penelitian ini yang menggabungkan algoritma Cipher Transposisi dan Secure Hash Algorithm (SHA).
2. Teknik penerapan pada algoritma Cipher Transposisi dan Secure Hash Algorithm (SHA) dapat diterapkan pada file biner.
3. Sistem yang dibangun menggunakan Borland Delphi 7.0 yang memiliki keterbatasan dalam proses enkripsi dan dekripsi, karena menggunakan pengalokasian memori array statis, sehingga sistem hanya mampu mengenkripsi dan dekripsi file biner 600 KB.
4. Algoritma kriptografi klasik seperti algoritma Cipher Transposisi, masih dapat digunakan pada zaman modern sekarang ini dengan menggabungkannya dengan algoritma kriptografi modern.
5.2 Saran
Berdasarkan penelitian dan implementasi sistem yang telah dilakukan, maka diberikan saran sebagai berikut:
1. Pengguna diminta untuk memperhatikan besar kapasitas file biner yang akan dienkripsi karena akan mempengaruhi waktu proses enkripsi yang cukup panjang.
(4)
2. Untuk kebutuhan meluas, diperlukan penelitian untuk proses enkripsi dan dekripsi dengan ukuran file biner yang lebih besar dari 600 KB.
(5)
DAFTAR PUSTAKA
Adrisatria, Yogie. 2006. Studi Pencarian Kolisi Pada Sha-1 oleh xiaoyun Wang dkk.*.
Apriliawan, Egie. 2009. Fungsi Hash Pada Kriptografi.
Ariesanda, Boyke. 2008. Rancangan dan Analisis Cipher Berbasis Algoritma Transposisi Dengan Periodisasi Kunci.
Ariyus, Dony. 2008. Pengantar Ilmu Kripotgrafi Teori, Analisis, dan Implementasi. Yogyakarta : Penerbit Andi.
Ekwardo, Odit. 2008. Modifikasi Columnar transposition Menggunakan Sebuah Fungsi Transposisi.
2010.
Hallim, Abd, Isbat Uzzin Nadhori, Setiawardhana. 2010. Pembuatan Perangkat Lunak Media Pembelajaran Kriptografi Klasik.
15 April 2010.
(6)
Kurniawan, Yusuf. 2004. Keamanan Internet dan Jaringan Komunikasi. Bandung : Penerbit Informatika.
Munir, Rinaldi. 2006. Kriptografi. Bandung : Penerbit Informatika.
Munir, Rinaldi. 2005. Secure Hash Algorithm. kur2003.if.itb.ac.id/file/SHA.doc . Diakses tanggal : 10 April 2010.
Okike, Benjamin. 2006. The Effect of Message Splitting in Irregular Transposition Cipher Technique: Determination of Pattern in Splitting Sequence and its Complexity Level. University of Abuja.
Pohan, Reyhan Yuanza. 2008. Studi dan Perbandingan Berbagai Macam Algoritma Cipher Transposisi.
2010.
Scheiner, Bruce. 1996. Applied Crypthography: Second edition . Wiley Computer Publishing, John Wiley & Sons, Inc.
Smart, Nigel. 2004. Cryptography : An Introduction ( 3rd Edition). University of Bristol.
Stallings, William. 2005. Cryptography and Network Security Principles and Practices, Fourth Edition. Prentice Hall.