IMPLEMENTASI KOMBINASI ALGORITMA BEAUFORT DAN ALGORITMA SPRITZ DALAM SKEMA SUPER ENKRIPSI
UNTUK PENGAMANAN TEKS
SKRIPSI
TIA RAHMADIANTI 131401026
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI KOMBINASI ALGORITMA BEAUFORT DAN
ALGORITMA SPRITZ DALAM SKEMA SUPER ENKRIPSI
UNTUK PENGAMANAN TEKS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
TIA RAHMADIANTI
131401026
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : IMPLEMENTASI KOMBINASI ALGORITMA
BEAUFORT DAN ALGORITMA SPRITZ DALAM
SKEMA SUPER ENKRIPSI UNTUK PENGAMANAN
TEKS
Kategori : SKRIPSI
Nama : TIA RAHMADIANTI
Nomor Induk Mahasiswa : 131401026
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing:
Pembimbing 2 Pembimbing 1
Sri Melvani Hardi, S.Kom.,M.Kom M. Andri Budiman, ST,M.Comp.Sc,MEM
NIP.198805012015042006 NIP. 197510082008011011
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M. Kom
PERNYATAAN
IMPLEMENTASI KOMBINASI ALGORITMA BEAUFORT DAN
ALGORITMA SPRITZ DALAM SKEMA SUPER ENKRIPSI
UNTUK PENGAMANAN TEKS
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Mei 2017
Tia Rahmadianti
PENGHARGAAN
Alhamdulillahirrabbil’alamin. Puji dan syukur penulis ucapkan atas kehadirat Allah
SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat
menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer,
Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara.
Dengan segala kerendahan hati, penulis ingin menyampaikan rasa hormat dan
terima kasih sebesar-besarnya kepada semua pihak yang telah membantu penyelesaian
skripsi ini. Penulis mengucapkan terima kasih kepada:
1. Bapak Prof. Dr. Runtung Sitepu, SH., M.Hum sebagai Rektor Universitas
Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc sebagai Dekan Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara.
4. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M sebagai Dosen
Pembimbing I yang telah memberikan arahan dan motivasi kepada penulis
dalam pengerjaan skripsi ini.
5. Ibu Sri Melvani Hardi S.Kom., M.Kom sebagai Dosen Pembimbing II yang
telah memberikan arahan dan motivasi kepada penulis dalam pengerjaan
skripsi ini.
6. Ibu Dian Rachmawati, S.Si., M.Kom dan Bapak Jos Timanta Tarigan
S.Kom.,M.Sc. selaku Dosen Penguji yang telah memberikan saran dan kritik
kepada penulis dalam penyempurnaan skripsi ini.
7. Ibu Dr. Maya Silvi Lydia, M.Sc selaku Dosen Pembimbing Akademik yang
telah memberikan arahan dan motivasi selama masa perkuliahan.
8. Seluruh Dosen serta staf Pegawai di Program Studi S1 Ilmu Komputer
9. Kedua Orangtua penulis tercinta Ibunda Nurlia dan Ayahanda Suarno
M.Yunus serta Abangda Ridho Adli yang telah memberikan do’a, dukungan,
perhatian, kesabaran serta kasih sayang yang tulus serta pengorbanan yang
tidak ternilai harganya.
10.Para teman yang selama ini telah menjadi tempat berbagi suka dan duka, yang
telah memberikan motivasi, hiburan, dukungan dan nasihat yang tak ternilai
kepada penulis, Noer Inda Chayanie, Miftahul Fajri, Anis Syafira, Jessica,
Sandra Putri, Fadhilah Atika, Mutiara Rizky,Adiba Nazila,Atika Yasinta,
Raviza Sitepu dan Balqis Natasya.
11.Kakak, abang yang telah menjadi tempat belajar dan bertanya dalam
pengerjaan skripsi ini, Dina Meiladya Rizki Sujiono S.Kom dan M.Miftahul
Huda.
12.Teman-teman kuliah Kom B 2013 dan seluruh Stambuk 2013 yang tidak dapat
disebut satu-persatu, yang telah banyak membantu dalam pengerjaan skripsi
ini.
13.Rekan-rekan pengurus IMILKOM (Ikatan Mahasiswa S1 Ilmu Komputer)
USU periode 2016-2017 yang telah memberikan banyak dukungan, tempat
belajar berorganisasi yang benar, dan mendapatkan pengalaman yang tak
ternilai.
14.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat
penulis ucapkan satu-persatu yang telah membantu penyelesaian skripsi ini.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan
kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.
Medan, Mei 2017
Penulis,
ABSTRAK
Berdasarkan waktu, kriptografi dibagi menjadi dua jenis, yaitu kriptografi klasik dan kriptografi modern. Kriptografi modern lebih dipercaya oleh para ilmuwan daripada kriptografi klasik karena memiliki tingkat keamanan yang baik.Kriptografi klasik hanya melakukan pengacakan dari A-Z sedangkan kriptografi modern beroperasi dalam mode bit. Algoritma Beaufort termasuk algoritma klasik sehingga diperlukan kombinasi dengan algoritma modern untuk pengamanan yang lebih baik. Algoritma
modern yang digunakan yaitu algoritma Spritz. Keamanan algoritma Beaufort
bergantung pada penggunaan karakter kunci yang acak. Semakin acak kunci yang digunakan maka keamanan algoritma juga akan semakin baik. Algoritma Spritz merupakan varian dari algoritma RC4,tingkat keamanan dari algoritma Spritz lebih baik dari RC4. Keamanan kedua algoritma tersebut sangat bergantung kepada pertukaran kunci.Super Enkripsi merupakan metode pengkombinasian antara kedua algoritma yang bertujuan untuk mendapatkan cipher yang lebih kuat sehingga sangat sulit untuk dipecahkan. Implementasi dilakukan dengan menggunakan bahasa pemrograman C#. Hasil dari penelitian menunjukkan bahwa hasil dari kompleksitas algoritma adalah θ(n). Hal tersebut berarti jumlah karakter yang digunakan berbanding lurus dengan waktu proses.
IMPLEMENTATION OF COMBINATION BEAUFORT ALGORITHM AND
SPRITZ ALGORITHM IN A SUPER ENCRYPTION
SCHEME FOR TEXT SECURITY
ABSTRACT
Based on time, cryptography is divided into two types, namely classical cryptography and modern cryptography. Modern cryptography is more trusted by scientists than classical cryptography because it has a good level of security. Classical cryptography only does randomization of A-Z while modern cryptography operates in bit mode. The Beaufort algorithm includes classical algorithms such that a combination of modern algorithms for better security is required. The modern algorithm used is Spritz algorithm. The security of the Beaufort algorithm depends on the use of random key characters. The more random the keys are used then the security algorithm will also get better. Spritz algorithm is a variant of the RC4 algorithm, the security of Spritz algorithm is better than RC4. The security of both algorithms is highly dependent on the exchange of keys. Super Encryption is a method of combining between the two algorithms that aims to get more powerful cipher so it is very difficult to solve. The Implementation using C # programming language. The result of the research showed
that algorithm complexity is θ (n). It means the number of characters used is directly
proportional with processing time.
DAFTAR ISI
Bab 1 Pendahuluan
1.1 Latar Belakang Masalah 1
1.2 Rumusan Masalah 3
1.3 Batasan Penelitian 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 4
1.6 Metodologi Penelitian 4
1.7 Sistematika Penulisan 5
Bab 2 Landasan Teori
2.1 Kriptografi 6
2.1.1 DefinisiKriptografi 6
2.1.2 Tujuan Kriptografi 7
2.1.3 Sistem Kriptografi Klasik 8 2.1.4 Sistem Kriptografi Modern 8 2.1.5 Jenis Algoritma Kriptografi 9
2.2 Algoritma Beaufort 9
2.3 Algoritma Spritz 13
2.3.1 Key Scheduling Algorithm(KSA) 13 2.3.2 Pseudo-Random Generation Algorithm(PRGA) 14
2.4 Super Enkripsi 17
2.5Kompleksitas Algoritma 17
2.6 Penelitian yang Relevan 18
Bab 3Analisis dan Perancangan Sistem
3.1 Analisis Sistem 19
3.1.1 Analisis Masalah 19
3.1.2 Analisis Kebutuhan 21
a. Kebutuhan Fungsional 21
b. Kebutuhan Non-Fungsional 22 3.1.3 Arsitektur Umum Sistem 23
3.1.3 Pemodelan Sistem 24
b. Activity Diagram 25
c. Sequence Diagram 27
3.1.4Flowchart 29
a. Flowchart Sistem 29
b. Flowchart Algoritma Beaufort 30 c. Flowchart Algoritma Spritz 31
3.2 Perancangan Antarmuka 31
a. Halaman Awal 32
b. Halaman Tentang 33
c. Halaman Enkripsi 34
d. Halaman Dekripsi 35
e. Halaman Petunjuk 37
Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi Sistem 39
4.1.1 Tampilan Halaman Awal 40
4.1.2 Tampilan Halaman Tentang 39 4.1.3 Tampilan Halaman Enkripsi 41 4.1.4 Tampilan Halaman Dekripsi 42 4.1.5 Tampilan Halaman Petunjuk 43
4.2 Pengujian Sistem 43
4.2.1 Pengujian Hasil Enkripsi 43 4.2.1.1 Pengujian Hasil Enkripsi Pada Sistem 43 4.2.1.2 Pengujian Hasil Enkripsi Dengan Perhitungan Manual 44 1. Enkripsi Algoritma Beaufort 44 2. Enkripsi Algoritma Spritz 45 2.1 Tahap Key Scheduling Algorithm(KSA) 45 2.2 Tahap Pseudo-Random Generation Algorithm
(PRGA) 48
4.2.2 Pengujian Hasil Dekripsi 53 4.2.2.1 Pengujian Hasil Dekripsi Pada Sistem 53 4.2.2.2 Pengujian Hasil Dekripsi dengan Perhitungan Manual 54 1. Dekripsi Algoritma Spritz 54 2. Dekripsi Algoritma Beaufort 57 4.2.3 Kompleksitas Algoritma 58
Listing Program A-1
DAFTAR TABEL
Halaman
Tabel 2.1 Tabel Beaufort 10
Tabel 2.2 Tabel List Karakter 11
Tabel 2.3 Tabel Enkripsi Beaufort 12 Tabel 2.4 Tabel Dekripsi Beaufort 12 Tabel 2.5 Key Scheduling Algorithm(KSA) 14 Tabel 2.6 Pseudocode-Random Generation Algorithm(PRGA) 14 Tabel 2.7 Larik 256 byte Hasil Perhitungan Tahap Key Scheduling 14 Tabel 4.1 Hasil Enkripsi Algoritma Beaufort 44
Tabel 4.2 Larik S Awal 44
Tabel 4.3 Kode ASCII 45
Tabel 4.4 Hasil Key Scheduling Algorithm (KSA) 46
Tabel 4.5 Nilai Larik S Akhir 50
Tabel 4.6 Hasil Dekripsi Algoritma Beaufort 56 Tabel 4.7 Kompleksitas Proses Enkripsi Algoritma Beaufort 57 Tabel 4.8 Kompleksitas Key Scheduling Algorithm(KSA) Algoritma Spritz 58 Tabel 4.9 Kompleksitas Pseudo-Random Generation Algorithm
(PRGA) Algoritma Spritz 59
Tabel 4.10 Waktu Proses Algoritma Beaufort untuk Jumlah 2.000 Karakter 62 Tabel 4.11 Waktu Proses Algoritma Beaufort untuk Jumlah 8.000 Karakter 62 Tabel 4.12 Waktu Proses Algoritma Beaufort untuk Jumlah 14.000 Karakter 63 Tabel 4.13 Waktu Proses Algoritma Spritz untuk Jumlah 2.000 Karakter 63 Tabel 4.14 Waktu Proses Algoritma Spritz untuk Jumlah 8.000 Karakter 64 Tabel 4.15 Waktu Proses Algoritma Spritz untuk Jumlah 14.000 Karakter 64
DAFTAR GAMBAR
Halaman Gambar 2.1 Diagram Proses Enkripsi dan Dekripsi 6 Gambar 3.1 Diagram Ishikawa Masalah Penelitian 20 Gambar 3.2 Arsitektur Umum Sistem 23
Gambar 3.3 Diagram Use Case 24
Gambar 3.4 Activity Diagram Sistem untuk Proses Enkripsi 26 Gambar 3.5 Activity Diagram Sistem untuk Proses Dekripsi 27 Gambar 3.6 Sequence Diagram untuk Proses Enkripsi 28 Gambar 3.7 Sequence Diagram untuk Proses Dekripsi 28
Gambar 3.8 Flowchart Sistem 29
Gambar 3.9 Flowchart Algoritma Beaufort 30 Gambar 3.10 Flowchart Algoritma Spritz 31 Gambar 3.11 Perancangan Antarmuka Halaman Awal 32 Gambar 3.12 Perancangan Antarmuka Halaman Tentang 33 Gambar 3.13 Perancangan Antarmuka Halaman Enkripsi 34 Gambar 3.14 Perancangan Antarmuka Halaman Dekripsi 36 Gambar 3.15 Perancangan Antarmuka Halaman Petunjuk 37 Gambar 4.1 Tampilan Halaman Awal 39 Gambar 4.2 Tampilan Halaman Tentang 39 Gambar 4.3 Tampilan Halaman Enkripsi 40 Gambar 4.4 Tampilan Halaman Dekripsi 41 Gambar 4.5 Tampilan Halaman Petunjuk 42
Gambar 4.6 Hasil Enkripsi 43
Gambar 4.7 Penyimpanan Hasil Enkripsi 51
Gambar 4.8 Hasil Dekripsi 53