Implementasi Algoritma Cipher Transposisi Dan Secure Hash Algorithm (SHA) Dalam Sistem Pengamanan Data

(1)

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 - 1

512 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

ABCDEq

A B C D

...

A B C D

+ + + +

MDq

MDq + 1

160

Yq

512

E

A B C D E

) , ,

(ABCDEY K1

f

ABCDEq

) , ,

(ABCDE Y K79

f

ABCDEq

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.