• Tidak ada hasil yang ditemukan

HYBRID CRYPTOSYSTEM DENGAN ALGORITMA KUNCI PUBLIK LUC DAN SPRITZ UNTUK PENGAMANAN TEKS SKRIPSI FITRIA NATASHA

N/A
N/A
Protected

Academic year: 2022

Membagikan "HYBRID CRYPTOSYSTEM DENGAN ALGORITMA KUNCI PUBLIK LUC DAN SPRITZ UNTUK PENGAMANAN TEKS SKRIPSI FITRIA NATASHA"

Copied!
106
0
0

Teks penuh

(1)

PENGAMANAN TEKS

SKRIPSI

FITRIA NATASHA 141401098

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(2)

PENGAMANAN TEKS

SKRIPSI

FITRIA NATASHA 141401098

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(3)
(4)

PERNYATAAN

HYBRID CRYPTOSYSTEM DENGAN ALGORITMA KUNCI PUBLIK LUC DAN SPRITZ UNTUK

PENGAMANAN TEKS

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Agustus 2018

Fitria Natasha 141401098

(5)

PENGHARGAAN

Alhamdulillah, segala puji dan syukur kepada Allah Subhanahu wa Ta’ala yang dengan rahmat dan ridho-Nya penulisan skripsi ini dapat terselesaikan, yang merupakan syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S-1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Dalam menyelesaikan skripsi ini, penulis menerima banyak bantuan dari berbagai pihak yang tidak terukur nilainya. Untuk itu, pada kesempatan ini penulis mengucapkan terima kasih kepada:

1. Bapak Prof. Dr. Runtung Sitepu, SH., M.Hum. selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Opim Salim Sitompul, M.Sc. selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara.

4. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. selaku Dosen Pembimbing I yang telah banyak memberikan kritikan, saran, dan senantiasa memotivasi penulis dalam menyelesaikan skripsi ini.

5. Bapak Herriyance, S.T., M.Kom. selaku Sekretaris Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dan Dosen Pembimbing II sekaligus Dosen Pembimbing Akademik yang telah banyak memberikan kritik, saran, arahan dan motivasi baik dalam menjalani perkuliahan selama ini maupun dalam menyelesaikan skripsi.

6. Seluruh tenaga pengajar dan staf pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

7. Teristimewa untuk Ayahanda Ruslan dan Ibunda tercinta Elly Jaliany, SH yang selalu menjadi panutan dan motivasi terbesar penulis untuk melakukan yang terbaik.

(6)

terungkapkan dengan kata-kata. Semoga Allah Subhanahu wa Ta’ala senantiasa menyayangi dan melindungi kalian. Aamiin.

8. Keluarga besar dan kedua kakak tersayang Hesty Cinthia Dewi, S.Pd dan Wenny Anggraini, Amd yang telah mendukung dan memberikan motivasi kepada penulis.

9. Sahabat-sahabat Sunny-ku, Winny Mardhatika, Lysa Aprilla Br Kaban, Dea Denada Putri, Nizmi Putri Hamdi, Ika Syahrani Maherna, dan Novianti Artika Sari yang senantiasa saling mendoakan, memberikan semangat dan memberikan banyak bantuan bagi penulis.

10. Teman-teman Stambuk ‟14, terkhusus kepada Kombe ‟14, yang memberikan keceriaan, motivasi, dan kebersamaan selama masa perkuliahan.

11. Pengajar terbaik Kakanda Dessy Yusvika Y., S.Kom dan Abangda Muhammad Miftahul Huda, S.Kom yang memberikan ilmu, tenaga, dan waktunya dalam penyelesaian skripsi.

12. Sahabat-sahabat yang Allah pertemukan pada majelis ilmu yang selalu memotivasi penulis untuk menyelesaikan skripsi dan senantiasa mengingatkan serta mengajak kepada ketaatan juga memberikan perhatian yang besar pada penulis.

13. Semua pihak yang terlibat secara langsung maupun tidak langsung dalam penyelesaian skripsi ini yang tidak dapat penulis sebutkan satu persatu.

Semoga Allah Subhanahu Wa Ta’ala melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.

Medan, Agustus 2018

Penulis

(7)

ABSTRAK

Saat ini, informasi telah menjadi sesuatu yang sangat berharga yang diiringi dengan kemajuan teknologi. Setiap bidang, baik dalam hal bisnis, militer ataupun lainnya, memiliki informasi penting dan bersifat pribadi yang tidak selayaknya diketahui oleh pihak luar. Informasi tersebut dapat berarti sangat besar untuk suatu pihak, yang mungkin dapat disalahgunakan oleh orang lain. Oleh karena itu, keamanan informasi menjadi hal yang penting untuk terus dikembangkan. Salah satu caranya adalah dengan kriptografi.

Secara umum, kriptografi menjadikan suatu informasi tampak berbeda dari yang asli sehingga pihak-pihak yang tidak diinginkan tidak dapat mengetahui ataupun mencuri isi informasi tersebut. Terdapat beberapa algoritma dalam kriptografi. Dalam penelitian ini, penulis menerapkan kriptosistem hibrida. Kriptosistem hibrida tidak hanya mengamankan informasi tapi juga mengamankan kuncinya sekaligus. Kriptosistem hibrida menggunakan sebuah algoritma simetris dan sebuah algoritma asimetris. Algoritma simetris menggunakan kunci yang sama untuk proses enkripsi dan dekripsi, serta memiliki proses yang cepat. Sedangkan, algoritma asimetris menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi, sehingga menambah tingkat keamanannya.

Pada penelitian ini, algoritma Spritz, sebagai algoritma simetris, digunakan untuk mengamankan informasi dan algoritma Luc, sebagai algoritma asimetris, digunakan untuk mengamankan kunci.

Kata kunci: Kriptografi, Kriptosistem Hibrida, Algoritma Simetris, Algoritma Asimetris, Spritz, Luc.

(8)

HYBRID CRYPTOSYSTEM USING LUC PUBLIC-KEY ALGORITHM AND SPRITZ FOR

TEXT SECURITY

ABSTRACT

Nowadays, information has become something very valuable accompanied by technological advancements. Every sector, whether in business, military or others, has important and personal information that is not properly known by outsiders. Such information can be very meaningful to a party, which may be misused by others.

Therefore, information security is an important thing to develop continuously. One such method is cryptography. In general, cryptography makes information looks cryptic from the original one, so that unwanted parties cannot know or steal the contents of the information. There are several algorithms in cryptography. In this study, the author applies hybrid cryptosystem. Hybrid cryptosystem does not only secure the information but also secure the key at once. Hybrid cryptosystem uses a symmetric algorithm and an asymmetric algorithm. Symmetric algorithms use the same key for encryption and decryption process and have a fast processing time. Meanwhile, asymmetric algorithms use different keys for the encryption and decryption process, thus increasing the security level. In this study, the Spritz algorithm, as symmetric algorithm, is used to secure information and the Luc algorithm, as asymmetric algorithm, is used to secure the key.

Keywords: Cryptography, Hybrid Cryptosystem, Symmetric Algorithm, Asymmetric Algorithm, Spritz, Luc.

(9)

DAFTAR ISI

Hal.

PERSETUJUAN ii

PERNYATAAN iii

PENGHARGAAN iv

ABSTRAK vi

ABSTRACT vii

DAFTAR ISI viii

DAFTAR TABEL x

DAFTAR GAMBAR xi

DAFTAR LAMPIRAN xiii

BAB 1 PENDAHULUAN 1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 2.1 Kriptografi 6

2.1.1 Definisi Kriptografi 6

2.1.2 Tujuan Kriptogrfi 7

2.1.3 Jenis-Jenis Algoritma Kriptografi 8

2.2 Hybrid Cryptosystem 10

2.3 Algoritma LUC 11

2.3.1 Pembangkitan Kunci 11

2.3.2 Proses Enkripsi 12

2.3.3 Proses Dekripsi 12

2.4 Algoritma Spritz 15

2.4.1 Key Scheduling Algorithm (KSA) 15

2.4.2 Pseudo-Random Generation Algorithm (PRGA) 16

2.5 Penelitian yang Relevan 20

BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem 22

3.1.1 Analisis Masalah 22

3.1.2 Analisis Kebutuhan 23

3.1.2.1 Kebutuhan Fungsional 23

3.1.2.2 Kebutuhan Non-fungsional 24

3.1.3 Analisis Proses 24

(10)

3.1.3.2 Pemodelan Sistem 25

3.2 Flowchart 30

3.2.1 Flowchart Sistem 30

3.2.2 Flowchart Algoritma LUC 31

3.2.3 Flowchart Algoritma Spritz 32

3.3 Perancangan Antarmuka 34

BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi 40

4.1.1 Halaman Beranda 40

4.1.2 Halaman Bangkit Kunci 41

4.1.3 Halaman Enkripsi 41

4.1.4 Halaman Dekripsi 42

4.1.5 Halaman Tentang 43

4.2 Pengujian 44

4.2.1 Pengujian Pembangkitan Kunci 44

4.2.2 Pengujian Enkripsi Plaintext dan Kunci Spritz 46

4.2.3 Pengujian Dekripsi Cipherkey dan Ciphertext 49

4.2.4 Pengujian Pembangkitan Kunci dengan Perhitungan Manual 52

4.2.5 Pengujian Enkripsi dengan Perhitungan Manual 53

4.2.5.1 Proses Key Scheduling Algorithm (KSA) 53

4.2.5.2 Proses Pseudo-Random Generation Algorithm (PRGA) 58

4.2.5.3 Proses Enkripsi Kunci Spritz menggunakan LUC 59

4.2.6 Pengujian Dekripsi dengan Perhitungan Manual 61

4.2.7 Hasil Pengujian 64

4.2.7.1 Hasil Pengujian ke-1 64

4.2.7.2 Hasil Pengujian ke-2 65

4.2.7.3 Hasil Pengujian ke-3 67

4.2.7.4 Hasil Pengujian ke-4 69

BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan 74

5.2 Saran 74

DAFTAR PUSTAKA 76

(11)

DAFTAR TABEL

Hal.

Tabel 2.1 Pseudocode Acak Bilangan Prima 12

Tabel 2.2 Pembangkitan Kunci Privat 14

Tabel 2.3 Pseudocode Key Scheduling Algorithm (KSA) 16

Tabel 2.4 Pseudocode Pseudo-Random Generation Algorithm (PRGA) 17

Tabel 2.5 Pembentukan Nilai Awal Tahap KSA Larik 256 Byte 17

Tabel 2.6 Hasil Perhitungan KSA ke-1 18

Tabel 2.7 Hasil Perhitungan KSA ke-2 18

Tabel 2.8 Hasil Perhitungan KSA pada Larik 256 byte 18

Tabel 4.1 Pengujian Manual Pembangkitan Kunci Privat 53

Tabel 4.2 Pembentukan Nilai Awal Larik S 54

Tabel 4.3 Hasil Akhir Larik S 56

Tabel 4.4 Hasil Pengujian Sistem 71

(12)

DAFTAR GAMBAR

Hal.

Gambar 2.1 Skema Proses Enkripsi dan Dekripsi 6

Gambar 2.2 Skema Algoritma Simetris 9

Gambar 2.3 Skema Algoritma Asimetris 10

Gambar 3.1 Fishbone Diagram pada Sistem 23

Gambar 3.2 Diagram Umum Sistem 25

Gambar 3.3 Use Case Diagram Sistem 26

Gambar 3.4 Activity Diagram Proses Pembangkitan Kunci 26

Gambar 3.5 Activity Diagram Proses Enkripsi 27

Gambar 3.6 Activity Diagram Proses Dekripsi 27

Gambar 3.7 Sequence Diagram Proses Pembangkitan Kunci 28

Gambar 3.8 Sequence Diagram Proses Enkripsi 29

Gambar 3.9 Sequence Diagram Proses Dekripsi 29

Gambar 3.10 Flowchart Sistem 30

Gambar 3.11 Flowchart Algoritma LUC (a) Pembangkitan Kunci, (b) Enkripsi, (c) Dekripsi 31

Gambar 3.12 Flowchart Algoritma Spritz (a) KSA, (b) PRGA, (c) Enkripsi, (d) Dekripsi 33

Gambar 3.13 Rancangan Antarmuka Beranda 34

Gambar 3.14 Rancangan Antarmuka Bangkit Kunci 35

Gambar 3.15 Rancangan Antarmuka Enkripsi 36

Gambar 3.16 Rancangan Antarmuka Dekripsi 37

Gambar 3.17 Rancangan Antarmuka Form Tentang 39

Gambar 4.1 Halaman Beranda 40

Gambar 4.2 Halaman Bangkit Kunci 41

Gambar 4.3 Halaman Enkripsi 42

Gambar 4.4 Halaman Dekripsi 43

Gambar 4.5 Halaman Tentang 43

Gambar 4.6 Pengujian Acak Bilangan Prima 45

Gambar 4.7 Pengujian Membangkitkan Kunci N, Kunci Publik dan Kunci Privat 45

Gambar 4.8 Pengujian Input Plaintext 46

Gambar 4.9 Pengujian Acak Kunci Spritz 47

Gambar 4.10 Pengujian Enkripsi Plaintext 47

Gambar 4.11 Pengujian Input Kunci Publik 48

Gambar 4.12 Pengujian Enkripsi Kunci Spritz 49

Gambar 4.13 Pengujian Input Cipherkey 49

Gambar 4.14 Pengujian Input Kunci Privat 50

Gambar 4.15 Pengujian Dekripsi Cipherkey 51

(13)

Gambar 4.16 Pengujian Input Ciphertext 51 Gambar 4.17 Pengujian Dekripsi Plaintext 52 Gambar 4.18 Hasil Pengujian ke-1 (a) Pembangkitan Kunci, (b) Enkripsi, (c) Dekripsi 64 Gambar 4.19 Hasil Pengujian ke-2 (a) Pembangkitan Kunci, (b) Enkripsi, (c) Dekripsi 66 Gambar 4.20 Hasil Pengujian ke-3 (a) Pembangkitan Kunci, (b) Enkripsi, (c) Dekripsi 68 Gambar 4.21 Hasil Pengujian ke-4 (a) Pembangkitan Kunci, (b) Enkripsi, (c) Dekripsi 70 Gambar 4.22 Grafik Perbandingan Jumlah Karakter dengan Run Time 72 Gambar 4.23 Grafik Perbandingan Kunci Publik dengan Run Time Enkripsi LUC 72 Gambar 4.24 Grafik Perbandingan Kunci Privat dengan Run Time Dekripsi LUC 73

(14)

DAFTAR LAMPIRAN

Hal.

Lampiran 1 Listing Program A-1

Lampiran 2 Curriculum Vitae B-1

(15)

1.1 Latar Belakang

Kriptografi sudah menjadi kebutuhan sejak dulu hingga sekarang yang digunakan di berbagai bidang. Dengan perkembangan pertukaran informasi yang semakin pesat menyebabkan diperlukannya pengamanan yang handal untuk menghindari kebocoran informasi penting. Salah satu cara untuk mengamankan data dan informasi adalah dengan menyandikan informasi tersebut.

Kriptografi merupakan seni dalam pengamanan informasi dengan teknik penyandian. Kegiatan menyandikan informasi asli atau plaintext hingga menjadi informasi yang telah disandikan atau ciphertext disebut dengan proses enkripsi, sedangkan mengembalikan ciphertext menjadi informasi yang sebenarnya disebut dengan proses dekripsi. Penyandian dengan menggunakan satu kunci yang sama beresiko terhadap mudahnya informasi dicuri oleh pihak yang tidak bersangkutan melalui teknik kriptanalisis. Sehingga, timbullah ide dari penulis untuk menggunakan kunci yang berlainan dalam penyandian dengan tujuan menambah tingkat keamanan informasi. Kunci yang digunakan dalam proses enkripsi disebut dengan kunci publik atau public key, sedangkan dalam proses dekripsi digunakan kunci rahasia atau private key (Saputra, et al., 2006).

Dalam kriptografi dikenal suatu teknik penyandian yang disebut dengan hybrid cryptosystem. Hybrid cryptosystem merupakan penggabungan algoritma kunci publik dengan algoritma kunci simetris. Teknik ini sesuai dengan tujuan penulis yaitu menyandikan informasi menggunakan kunci yang berbeda, sebab dalam hybrid cryptosystem dibutuhkan dua algoritma berbeda.

(16)

Salah satu algoritma asimetris yang cukup kuat yaitu algoritma LUC.

Algoritma ini dikembangkan oleh Peter J. Smith pada tahun 1993 bersama dengan Michael Lennon di Selandia Baru. Algoritma LUC bekerja berdasarkan pada Lucas Function. Algoritma ini dikembangkan dari algoritma RSA setelah Smith meneliti kelemahan algoritma tersebut (Anggraini, 2017). Namun kemudian dalam penerapannya ditemukan bahwa teks yang dienkripsi menggunakan algoritma LUC menghasilkan ciphertext yang lebih besar dibanding plaintext-nya. Besarnya ciphertext yang harus dikirimkan kepada penerima membutuhkan biaya yang tinggi sehingga mengakibatkan berkurangnya efisiensi penggunaan algoritma ini.

Dari sisi algoritma kunci simetris, Spritz dikenal dengan kekuatan dan kecepatannya. Spritz sendiri merupakan hasil pengembangan dari RC4. Spritz memiliki tingkat kompleksitas yang tinggi sehingga sulit untuk dikriptanalisis.

Pengembangan tersebut memberi hasil bahwa Spritz memiliki tingkat keamanan yang lebih tinggi daripada RC4 (Rivest dan Schuldt, 2014).

Dilihat dari kuantitas penggunaannya, jenis file berekstensi *.docx dan *.pdf sangat sering digunakan pada berbagai instansi. Oleh karena itu, Hybrid Cryptosystem dalam penelitian ini akan penulis implementasikan pada teks dalam file berekstensi *.docx dan *.pdf.

1.2 Rumusan Masalah

Algoritma LUC menghasilkan ciphertext dengan ukuran data yang lebih besar dibanding dengan sebelum dienkripsi. Oleh karena itu, LUC harus dipasangkan dengan algoritma lain yang dapat menutupi kelemahan tersebut, yaitu Spritz, yang diterapkan dalam Hybrid Cryptosystem.

1.3 Batasan Masalah

Berikut merupakan batasan-batasan masalah dalam penelian ini:

1. File yang digunakan yaitu file dengan ekstensi (*.docx) dan (*.pdf).

2. Enkripsi dilakukan terhadap string (tidak termasuk gambar dan tabel).

3. Penyandian pesan dibuat berdasarkan kode ASCII (American Standard Code for Information Interchange) 256 karakter.

(17)

4. Algoritma Spritz digunakan untuk mengenkripsi dan mendekripsi pesan.

Sedangkan algoritma LUC digunakan untuk mengenkripsi dan mendekripsi kunci.

5. Implementasi pada enkripsi dan dekripsi pesan dan kunci serta tidak melakukan kriptanalisis.

6. Menghitung Real Running Time dalam satuan millisecond.

7. Menggunakan bahasa pemrograman C# dengan IDE SharpDevelop 4.3.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk menerapkan konsep keamanan data menggunakan metode kriptosistem hibrida dengan algoritma LUC dan Spritz terhadap file berekstensi *.docx dan *.pdf.

1.5 Manfaat Penelitian

Menghasilkan suatu sistem yang mampu mengamankan teks dari file berekstensi (*.docx) dan (*.pdf) dengan tingkat keamanan yang baik.

1.6 Metodologi Penelitian

Metode penelitian yang dilakukan dalam penelitian ini adalah:

1. Studi Literatur

Tahap ini merupakan tahap mengumpulkan referensi yang berkaitan dengan penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang terkait dengan metode LUC dan metode Spritz. Referensi yang digunakan berupa buku, jurnal, tesis, skripsi, artikel yang berkaitan dengan penelitian ini.

2. Analisis dan Perancangan

Tahap ini digunakan untuk mengolah data dari hasil studi literatur yang kemudian dilakukan analisis dan perancangan menggunakan algoritma LUC dan algoritma Spritz. Proses ini meliputi pembuatan algoritma program, flowchart sistem, flowchart algoritma, use case, rancangan aplikasi, dan pembuatan User Interface aplikasi.

(18)

3. Implementasi

Pada tahap ini perancangan algoritma LUC dan algoritma Spritz diimplementasikan dalam pembuatan aplikasi pengamanan file *.docx dan

*.pdf dengan menggunakan bahasa pemrograman C#.

4. Pengujian

Pada tahap ini prototipe yang telah dirancang dilakukan pengujian dengan menggunakan file teks berekstensi *.docx dan *.pdf serta melakukan perbaikan kesalahan jika masih terdapat error pada aplikasi.

5. Dokumentasi

Pada tahap ini dilakukan pendokumentasian penelitian yang telah dilakukan mulai dari tahap analisa sampai kepada pengujian dalam bentuk skripsi.

1.7 Sistematika Penulisan

Skripsi ini disusun ke dalam lima bagian utama yang akan dijelaskan secara singkat sebagai berikut.

BAB 1 PENDAHULUAN

Bagian ini mencakup latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, serta sistematika penulisan dari skripsi dengan judul

“Hybrid Cryptosystem dengan Algoritma Kunci Publik LUC dan Spritz untuk Pengamanan Teks”.

BAB 2 LANDASAN TEORI

Bagian ini membahas teori terkait kriptografi, algoritma LUC, algoritma Spritz dan Hybrid Cryptosystem.

BAB 3 ANALISIS DAN PERANCANGAN

Bagian ini berisi analisis proses pada Hybrid Cryptosystem menggunakan algoritma LUC dan Spritz serta perancangan aplikasi.

(19)

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bagian ini memuat pembuatan aplikasi berdasarkan hasil analisis dan rancangan yang telah dibuat pada bagian sebelumnya. Setelah itu, pengujian dilakukan terhadap aplikasi yang telah dibangun.

BAB 5 KESIMPULAN DAN SARAN

Bagian ini berisi kesimpulan dari seluruh paparan bab-bab sebelumnya serta saran yang diperoleh dari hasil penelitian yang diharapkan dapat memberikan manfaat untuk penelitian kedepannya.

(20)

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi berasal dari bahasa Yunani, yaitu cryptos dan graphia. Cryptos berarti rahasia dan graphein berarti tulisan (Mollin, 2007). Secara istilah kriptografi adalah ilmu dan seni dalam menjaga keamanan pesan ketika pesan dikirim dari pengirim kepada penerima.

Cara kerja kriptografi yaitu dengan menyandikan pesan, kunci ataupun keduanya menggunakan teknik tertentu sehingga keamanannya terjaga dari pihak yang tidak berkaitan. Pengirim pesan selanjutnya melakukan proses enkripsi, yaitu menyandikan pesan menjadi kode-kode yang hanya dapat dipahami oleh penerima sah dari pesan tersebut. Pengirim pesan mengirimkan pesan dan kunci yang telah disandikan. Kemudian penerima melakukan proses dekripsi, yaitu memecahkan kode- kode tersebut menggunakan kunci dari pengirim sehingga pesan asli dapat terbaca (Schneier, 1996).

Gambar 2.1 Skema Proses Enkripsi dan Dekripsi

Enkripsi Dekripsi

Plaintext Plaintext

Kunci Kunci

Ciphertext

(21)

Gambar 2.1 memperlihatkan alur kerja enkripsi dan dekripsi. Proses diawali dari enkripsi, yaitu plaintext dienkripsi dengan kunci enkripsi. Proses ini mengubah plaintext menjadi ciphertext. Selanjutnya, ciphertext menuju ke proses dekripsi, yaitu ciphertext didekripsi dengan kunci dekripsi. Proses ini mengembalikan ciphertext menjadi plaintext seperti semula.

Dalam kriptografi, pesan yang berisi data asli disebut sebagai plaintext dan disimbolkan dengan P. Pesan yang telah melalui proses enkripsi dan berubah menjadi kode-kode yang tidak memiliki makna disebut sebagai ciphertext dan disimbolkan dengan C. Kemudian, pengirim pesan mengirimkan kunci untuk membuka atau mendekripsi pesan kepada penerima. Kunci ini disebut sebagai key dan disimbolkan dengan K.

2.1.2 Tujuan Kriptografi

Dalam penerapannya, kriptografi memiliki tujuan untuk memberi layanan keamanan, antara lain:

1. Kerahasiaan

Merupakan layanan perlindungan informasi agar tidak dapat terbaca oleh pihak- pihak yang tidak berhak. Pihak tersebut harus tidak dapat mengakses pesan rahasia.

2. Integritas Data

Merupakan layanan yang menjamin bahwa pesan masih asli/utuh/belum pernah dimanipulasi selama proses pengiriman.

3. Otentikasi

Merupakan pelayanan yang berkaitan dengan pengidentifikasian, baik dalam hal kebenaran pihak-pihak yang melakukan komunikasi (user authentication) maupun keaslian pesan (data origin authentication). Kedua belah pihak yang melakukan komunikasi harus dapat mengotentikasi satu sama lain sehingga dapat memastikan sumber pesan.

4. Nir Penyangkalan

Merupakan sebuah pembuktian penerima bahwa pengirim tersebut memang pengirim yang sebenarnya dan pembuktian pengirim bahwa pesan diterima oleh

(22)

2.1.3 Jenis-Jenis Algoritma Kriptografi

Algoritma kriptografi dapat diklasifikasikan menjadi dua jenis berdasarkan kuncinya, yaitu algoritma simetris dan algoritma asimetris (Prayudi, 2005).

a. Algoritma Simetris

Disebut algoritma simetris karena kunci atau key yang digunakan pada proses enkripsi dan dekripsi adalah sama sehingga disebut juga algoritma satu kunci atau algoritma kunci tunggal. Kunci (key) pada algoritma ini bersifat rahasia atau private key sehingga algoritma ini biasa disebut dengan algoritma kunci rahasia (Prayudi, 2005).

Kelebihan menggunakan kunci simetris yaitu kecepatan operasi enkripsi dan dekripsi lebih tinggi bila dibandingkan dengan algoritma asimetris walaupun hal ini berbanding lurus dengan penambahan ukuran file, kecepatan proses enkripsi ataupun dekripsi bergantung pada besarnya ukuran file. Semakin besar ukuran file maka semakin banyak waktu yang dibutuhkan untuk enkripsi atau dekripsi. Selain itu, karena kecepatannya yang cukup tinggi maka dapat digunakan pada sistem real-time dan ukuran kunci simetris relatif lebih pendek.

Kelemahan dari algoritma ini adalah baik penerima maupun pengirim pesan harus memiliki kunci yang sama sehingga pengirim ataupun penerima pesan harus mencari cara yang aman untuk memberitahukan kunci kepada penerima pesan (Basri, 2016). Dan kunci harus sering diubah setiap kali melaksanakan komunikasi demi keamanan pesan. Contoh algoritma yang menggunakan kriptografi simetris adalah Stream Cipher, Block Cipher, RC4, RC4A, RC5, VMPC, MDTM Cipher, Double Transposition, Double Playfair, Spritz, Beaufort, Blowfish, Twofish, DES (Data Encryption Standard) dan algoritma lainnya.

(23)

Gambar 2.2 Skema Algoritma Simetris (Sumber: Sadikin, 2012) b. Algoritma Asimetris

Algoritma ini disebut asimetris karena kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi. Kunci yang digunakan untuk enkripsi adalah kunci publik atau public key sehingga algoritma ini disebut dengan algoritma kunci publik. Sedangkan kunci untuk dekripsi menggunakan kunci rahasia atau private key (Prayudi, 2005).

Kunci publik bersifat umum, artinya kunci ini tidak dirahasiakan sehingga dapat dilihat oleh siapa saja. Algoritma ini memiliki kelebihan di antaranya memberikian jaminan keamanan kepada siapa saja yang melakukan pertukaran informasi meskipun tidak adanya kesepakatan mengenai keamanan pesan tersebut dan dapat memanajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit. Kekurangan dari algoritma ini yaitu pada teknik enkripsi, kecepatan prosesnya jauh lebih lambat daripada enkripsi dengan kunci simetris karena enkripsi dan dekripsi menggunakan bilangan yang besar dan melibatkan operasi perpangkatan yang besar. Contoh algoritma asimetris yaitu LUC, RSA (Riverst Shamir Adleman), ECC (Elliptic Curve Cryptography), ElGamal dan algoritma lainnya.

Saluran Publik Saluran Aman

Alice Pesan

Kunci

Bob

Pesan

Kunci

Algoritma Enkripsi

Algoritma Dekripsi Ciphertext

Sumber Kunci

(24)

Gambar 2.3 Skema Algoritma Asimetris (Sumber: Fauzana, 2013)

2.2 Hybrid Cryptosystem

Hybrid Cryptosystem merupakan suatu metode yang dalam proses kerjanya menggunakan dua buah kunci, yaitu kunci simetris dan kunci asimetris. Kunci simetris digunakan untuk mengenkripsi dan mendekripsi pesan, sedangkan kunci asimetris digunakan untuk mengenkripsi dan mendekripsi kunci simetris. Kunci asimetris terdiri dari dua buah kunci berbeda, yaitu kunci privat dan kunci publik.

Hybrid Cryptosystem ini sangat bermanfaat untuk menutupi kelemahan kriptografi asimetris terutama dalam hal lamanya waktu yang dibutuhkan pada proses enkripsi dan dekripsi (Ariyus, 2009).

Pada Hybrid Cryptosystem, proses enkripsi plaintext menjadi ciphertext dilakukan dengan kunci simetris. Setelah itu, kunci simetris tersebut dienkripsi dengan salah satu kunci dari algoritma asimetris, yaitu kunci publik sehingga menghasilkan cipherkey. Kemudian, cipherkey dan ciphertext dikirimkan kepada penerima. Lalu, penerima menggunakan kunci privat untuk mendekripsi cipherkey sehingga menghasilkan kunci simetris. Langkah final yaitu menggunakan kunci simetris yang sudah didapat untuk mendekripsi ciphertext hingga penerima dapat membaca pesan yang asli (Ariyus, 2009).

Kunci Publik B

Alice Teks Asli

Bob

Teks Asli

Kunci Privat B

Pembangkit Kunci Algoritma

Dekripsi Algoritma

Enkripsi Ciphertext

(25)

2.3 Algoritma LUC

Algoritma LUC dikembangkan oleh Peter J. Smith pada tahun 1993 bersama dengan Michael Lennon di Selandia Baru. Algoritma ini mirip dengan RSA, tetapi dibedakan oleh penggunaan fungsi Lucas di mana pada RSA digunakan fungsi pangkat.

Persamaan umum:

𝑥2− P𝑥 + 𝑄 = 0 P, Q ≠ 0

Di mana a dan b merupakan akar-akar persamaannya. Dari persamaan tersebut, diperoleh nilai 𝑎 =P+ D2 dan nilai 𝑏 = P− D2 di mana nilai 𝐷 = 𝑃2 + 4𝑄.

Rumus Deret Lucas:

𝑈𝑛 = 𝑎𝑎− 𝑏𝑛−𝑏𝑛 dan nilai 𝑉𝑛 = 𝑎𝑛 + 𝑏𝑛 , (n ≥ 0) 𝑈0 = 0 , 𝑈1 = 1

𝑉0 = 2 , 𝑉1 = P

Jika nilai n > 1, maka Rumus Deret Lucas menjadi:

𝑈𝑛 = 𝑃. 𝑈𝑛−1 − 𝑄. 𝑈𝑛−2 𝑉𝑛 = 𝑃. 𝑉𝑛−1− 𝑄. 𝑉𝑛−2

Algoritma LUC memiliki 3 tahap, yaitu pembangkitan kunci, enkripsi serta dekripsi yang akan dijelaskan sebagai berikut.

2.3.1 Pembangkitan kunci

Proses enkripsi dan dekripsi pada algoritma LUC membutuhkan tiga buah kunci, yaitu kunci publik (𝑒), kunci privat (𝑑) dan kunci N. Untuk membangkitkan kunci- kunci tersebut diuraikan secara terurut sebagai berikut.

1. Ambil dua bilangan prima acak p dan q di mana p relatif prima terhadap q.

2. Hitung nilai 𝑁 = 𝑝 x 𝑞. 𝑁 > panjang tabel encoding.

3. Hitung nilai fungsi perluasan euler dengan rumus 𝑡 = 𝑝 − 1 𝑝 + 1 𝑞 − 1 𝑞 + 1

4. Ambil sebuah bilangan bulat acak yang disimbolkan dengan 𝑒 yang memenuhi kondisi 1< 𝑒 < 𝑡.

(26)

5. Buktikan apakah 𝑒 relatif prima terhadap t (GCD (𝑒, 𝑡)). Jika 𝑒 relatif prima terhadap 𝑡, maka 𝑒 merupakan kunci publik.

6. Hitung nilai 𝑅(𝑁) dengan rumus 𝑅(𝑁) = LCM (𝑝 − 1, 𝑝 + 1, 𝑞 − 1, 𝑞 + 1).

7. Hitung nilai 𝑑 dengan perulangan hingga 𝑑. 𝑒 𝑚𝑜𝑑 𝑅 𝑁 = 1. Hasil nilai 𝑑 merupakan kunci privat.

2.3.2 Proses enkripsi

Berikut urutan proses enkripsi dengan memanfaatkan kunci publik hasil perhitungan sebelumnya.

1. Tentukan pesan yang akan dienkripsi, disimbolkan dengan 𝑃.

2. Konversi nilai 𝑃 ke dalam table ASCII.

3. Hitung nilai cipertext dengan rumus 𝑉 0 = 2

𝑉 1 = 𝑃 = 𝑛𝑖𝑙𝑎𝑖 𝑝𝑙𝑎𝑖𝑛𝑡𝑒𝑥𝑡 𝑡𝑒𝑟𝑘𝑜𝑛𝑣𝑒𝑟𝑠𝑖 𝑑𝑒𝑛𝑔𝑎𝑛 𝐴𝑆𝐶𝐼𝐼 𝑉 𝑖 = 𝑃. 𝑉 𝑖 − 1 − 𝑉 𝑖 − 2 𝑚𝑜𝑑 𝑁, di mana 𝑖 > 1.

Perhitungan di atas diulang hingga 𝑖 = 𝑒.

𝑉 𝑒 = 𝑃. 𝑉 𝑒 − 1 − 𝑉 𝑒 − 2 𝑚𝑜𝑑 𝑁.

𝑉 𝑒 merupakan hasil enkripsi dari P, yaitu 𝐶 (ciphertext).

2.3.3 Proses dekripsi

Pada dasarnya, proses dekripsi mirip dengan proses enkripsi, yang membedakan hanyalah nilai kunci yang sebelumnya kunci publik diganti dengan kunci privat.

Berikut urutan proses dekripsinya.

1. Tentukan ciphertext yang akan didekripsi, disimbolkan dengan 𝐶.

2. Hitung nilai plaintext dengan rumus 𝑉 0 = 2

𝑉 1 = 𝐶 = 𝑛𝑖𝑙𝑎𝑖 𝑐𝑖𝑝ℎ𝑒𝑟𝑡𝑒𝑥𝑡

𝑉 𝑖 = 𝐶. 𝑉 𝑖 − 1 − 𝑉 𝑖 − 2 𝑚𝑜𝑑 𝑁, di mana 𝑖 > 1.

Perhitungan di atas diulang hingga 𝑖 = 𝑑.

𝑉 𝑑 = 𝐶. 𝑉 𝑑 − 1 − 𝑉 𝑑 − 2 𝑚𝑜𝑑 𝑁.

𝑉 𝑑 merupakan hasil dekripsi dari C, yaitu 𝑃 (plaintext).

(27)

Untuk memperjelas proses kerja algoritma LUC, berikut contoh sederhana dengan plaintext „Hybrid‟.

1. Membangkitkan Kunci

1) Misal 𝑝 = 59 dan 𝑞 = 37 2) 𝑁 = 𝑝 x 𝑞

= 59 x 37 = 2183

3) 𝑡 = 𝑝 − 1 𝑝 + 1 𝑞 − 1 𝑞 + 1 = 59 − 1 59 + 1 37 − 1 37 + 1 = 58 60 36 38

= 4760640 4) Misal 𝑒 = 1289

5) GCD(𝑒, 𝑡) = GCD(1289, 4760640) = 1

Ditemukan bahwa 𝑒 relatif prima terhadap 𝑡, maka kunci publik yaitu 1289.

6) 𝑅(𝑁) = LCM (𝑝 − 1, 𝑝 + 1, 𝑞 − 1, 𝑞 + 1) = LCM (58, 60, 36, 38)

= 99180

7) Menghitung nilai 𝑑 hingga hasil menunjukkan angka 1.

Tabel 2.1 Pembangkitan Kunci Privat

𝒅 𝒅. 𝒆 𝒎𝒐𝒅 𝑹 𝑵

1 1289

2 2578

3 3867

… … … …

51629 1

Dari tabel di atas, didapatkan bahwa nilai 𝑑 atau kunci privat yaitu 51629.

2. Enkripsi

1) Misal 𝑃 = „Hybrid‟. Enkripsi dimulai dari karakter pertama, yaitu „H‟.

2) 𝑃 = „H‟ = 72

(28)

3) 𝑉 0 = 2 𝑉 1 = 𝑃 = 72

𝑉 𝑖 = 𝑃. 𝑉 𝑖 − 1 − 𝑉 𝑖 − 2 𝑚𝑜𝑑 𝑁, di mana 𝑖 > 1.

Untuk 𝑖 = 2,

𝑉 2 = 72 . 𝑉 2 − 1 − 𝑉 2 − 2 𝑚𝑜𝑑 2183 = 72 . 𝑉 1 − 𝑉 0 𝑚𝑜𝑑 2183

= 72 . 72 − 2 𝑚𝑜𝑑 2183 = 5182 𝑚𝑜𝑑 2183

= 816 Untuk 𝑖 = 3,

𝑉 3 = 72 . 𝑉 3 − 1 − 𝑉 3 − 2 𝑚𝑜𝑑 2183 = 72 . 𝑉 2 − 𝑉 1 𝑚𝑜𝑑 2183

= 72 . 816 − 72 𝑚𝑜𝑑 2183 = 58680 𝑚𝑜𝑑 2183

= 1922

Perhitungan di atas terus diulang hingga 𝑖 = 𝑒 = 1289.

𝑉 𝑒 = 𝑃. 𝑉 𝑒 − 1 − 𝑉 𝑒 − 2 𝑚𝑜𝑑 𝑁.

𝑉 1289 = 72  nilai ciphertext dari plaintext „H‟.

3. Dekripsi 1) 𝐶 = 72 2) 𝑉 0 = 2 𝑉 1 = 𝐶 = 72

𝑉 𝑖 = 𝐶. 𝑉 𝑖 − 1 − 𝑉 𝑖 − 2 𝑚𝑜𝑑 𝑁, di mana 𝑖 > 1.

Untuk 𝑖 = 2,

𝑉 2 = 72 . 𝑉 2 − 1 − 𝑉 2 − 2 𝑚𝑜𝑑 2183 = 72 . 𝑉 1 − 𝑉 0 𝑚𝑜𝑑 2183

= 72 . 72 − 2 𝑚𝑜𝑑 2183 = 5182 𝑚𝑜𝑑 2183

= 816

(29)

Untuk 𝑖 = 3,

𝑉 3 = 72 . 𝑉 3 − 1 − 𝑉 3 − 2 𝑚𝑜𝑑 2183 = 72 . 𝑉 2 − 𝑉 1 𝑚𝑜𝑑 2183

= 72 . 816 − 72 𝑚𝑜𝑑 2183 = 58680 𝑚𝑜𝑑 2183

= 1922

Perhitungan di atas diulang hingga 𝑖 = 𝑑 = 51629.

𝑉 𝑑 = 𝐶. 𝑉 𝑑 − 1 − 𝑉 𝑑 − 2 𝑚𝑜𝑑 𝑁.

𝑉 51629 = 72  nilai 𝑃 (plaintext) hasil dekripsi, yaitu karakter „H‟.

Dalam hal ini, tidak terdapat perubahan pada karakter „H‟ ketika melalui proses enkripsi.

2.4 Algoritma Spritz

Ron Rivest dan Jacob Schultz di tahun 2014 telah merancang sebuah pembaharuan dari desain algoritma RC4 yang diberi nama Spritz. Tingginya kompleksitas dari algoritma Spritz meningkatkan keamanan dari algoritma ini. (Rivest dan Schuldt, 2014). Kecepatannya dalam memproses data menjadi kelebihan algoritma ini.

Namun, kedua belah pihak yang berkomunikasi masih harus sangat mempertimbangkan perihal pengiriman kunci.

Algoritma Spritz termasuk algoritma kriptografi kunci simetris. Algoritma ini memiliki dua bagian utama yaitu Key Scheduling Algorithm (KSA) dan Pseudo- Random Generation Algorithm (PRGA).

2.4.1 Key Scheduling Algorithm (KSA)

Key-Scheduling Algorithm (KSA) pada algoritma Spritz sama dengan algoritma RC4 yaitu menghasilkan larik 256 bytes yang ada pada larik S. Berikut merupakan pseudocode untuk proses KSA.

(30)

Tabel 2.2 Pseudocode Key Scheduling Algorithm (KSA) 1. N  256

2. S[ ]  0

3. for (i = 0 to N-1) 4. S[i]  i 5. endfor 6. j  0

7. for (i = 0 to N-1)

8. j  j + S[i] + K[i mod K.length] mod 256 9. Swap values(S[i],S[j])

10. Endfor

Pada pseudocode di atas terdapat S yang merupakan larik yang dibentuk oleh proses KSA dengan panjang N. K merupakan nilai ASCII dari kunci yang dimasukkan serta i dan j adalah variabel tipe integer yang ditentukan 0 sebagai nilai awal.

2.4.2 Pseudo-Random Generation Algorithm (PRGA)

Pseudo-Random Generation Algorithm (PRGA) akan mendapatkan byte acak untuk mengisi nilai pada larik S. Nilai acak ini yang kemudian akan digunakan dalam proses enkripsi. Berikut merupakan pseudocode untuk proses PRGA.

Tabel 2.3 Pseudocode Pseudo-Random Generation Algorithm(PRGA) 1. i, j, k, w, z 0

2. w random(2, 256) 3. plain plaintext.length 4. for (a = 0 to plain) 5. i i + w

6. j k + S[j + S[i]] mod 256 7. k i + k + S[j] mod 256 8. Swap values(S[i],S[j])

9. z S[j + S[i + S[z + k]]] mod 256 10. output z

11. Endfor

Ciphertext akan dihitung dengan menginisialisasikan nilai dari variabel i, j, k, z dengan nilai awal 0 dan terdapat variabel w yang mana merupakan variabel yang bernilai relatif prima terhadap panjang array S dan variabel z yang bertipe integer yang merupakan output.

(31)

Panjang kunci yang digunakan sangat menentukan nilai larik pada tahap KSA.

Misalkan kunci yang dimasukkan yaitu “OA”, maka panjang kunci adalah 2 karakter yang tersimpan dalam larik kunci 𝐾 0 = ”O” dan 𝐾 1 = “A”. Lalu terbentuklah larik sepanjang 256 byte dengan nilai masing-masing 0 − 255 seperti terlihat pada tabel berikut.

Tabel 2.4 Pembentukan Nilai Awal Tahap KSA Larik 256 Byte Elemen

ke - i 0 1 2 3 4 5 6 7 8 9 10 … 255

Nilai

elemen 0 1 2 3 4 5 6 7 8 9 10 … 255

Kemudian menghitung KSA ke-1 berdasarkan pada pseudocode di tabel 2.2.

1) Menghitung KSA ke-1

Untuk 𝑖 = 0, 𝑗 = 0 j = j + S[i] + K[i mod K.length] mod 256 j = 0 + S[0] + K[0 mod 2] mod 256 j = 0 + 0 + K[0] mod 256

j = 0 + 0 + 79 mod 256 j = 79

Maka nilai elemen larik ke-0 diganti dengan 79 yang ditunjukkan di tabel berikut.

Tabel 2.5 Hasil Perhitungan KSA ke-1 Elemen

ke - i 0 1 2 3 4 5 6 7 8 9 10 … 255

Nilai

elemen 79 1 2 3 4 5 6 7 8 9 10 … 255

2) Menghitung KSA ke-2

Untuk 𝑖 = 1, 𝑗 = 79 j = j + S[i] + K[i mod K.length] mod 256 j = 79 + S[1] + K[1 mod 2] mod 256 j = 79 + 1 + K[1] mod 256

j = 79 + 1 + 65 mod 256 j = 145

Maka nilai elemen larik ke-1 diganti dengan 145 yang ditunjukkan di tabel berikut.

(32)

Tabel 2.6 Hasil Perhitungan KSA ke-2 Elemen

ke - i 0 1 2 3 4 5 6 7 8 9 10 … 255

Nilai

elemen 79 145 2 3 4 5 6 7 8 9 10 … 255

Selanjutnya, terus ulangi seperti langkah sebelumnya hingga KSA ke-256 di mana 𝑖 bertambah sebanyak satu increment dan nilai 𝑗 berubah sesuai hasil yang terakhir diperoleh pada langkah sebelumnya. Hasil perhitungan tahap KSA dapat dilihat pada tabel 2.7 di bawah ini.

Tabel 2.7 Hasil Perhitungan KSA pada Larik 256 byte

0 1 2 3 4 5 6 7 8 9 10 11 12 13

79 145 226 38 121 191 20 92 179 253 86 162 253 75 14 15 16 17 18 19 20 21 22 23 24 25 26 27 168 248 87 169 10 94 193 23 124 212 59 149 254 90 28 29 30 31 32 33 34 35 36 37 38 39 40 41 197 35 144 240 95 193 50 150 9 111 228 76 195 45 42 43 44 45 46 47 48 49 50 51 52 53 54 55 166 18 141 251 120 232 103 217 90 206 81 199 76 196

56 57 58 59 60 61 62 63 64 65 66 67 68 69 75 197 70 202 85 211 96 224 111 241 130 6 153 31 70 71 72 73 74 75 76 77 78 79 80 81 82 83 180 60 211 93 246 130 29 171 72 216 119 9 170 62 84 85 86 87 88 89 90 91 92 93 94 95 96 97 225 119 28 180 71 245 158 58 229 131 40 200 127 33 98 99 100 101 102 103 104 105 106 107 108 109 110 111 210 110 41 207 132 44 227 141 70 242 173 91 24 200 112 113 114 115 116 117 118 119 120 121 122 123 124 125 135 57 250 174 113 39 236 164 107 37 238 170 117 51 126 127 128 129 130 131 132 133 134 135 136 137 138 139

0 192 143 81 34 230 185 127 84 28 243 189 150 98 140 141 142 143 144 145 146 147 148 149 150 151 152 153

(33)

61 11 232 184 151 105 74 30 1 215 188 148 123 85 154 155 156 157 158 159 160 161 162 163 164 165 166 167

62 26 5 227 208 176 159 129 114 86 73 47 36 12 168 169 170 171 172 173 174 175 176 177 178 179 180 181

3 237 230 210 205 187 184 168 167 153 154 142 145 135 182 183 184 185 186 187 188 189 190 191 192 193 194 195 140 132 139 133 142 138 149 147 160 160 175 177 194 198 196 197 198 199 200 201 202 203 204 205 206 207 208 209 217 223 244 252 19 29 54 66 93 107 136 152 183 201 210 211 212 213 214 215 216 217 218 219 220 221 222 223 234 254 33 55 92 116 155 181 222 250 37 67 112 144 224 225 226 227 228 229 230 231 232 233 234 235 236 237 191 225 18 54 105 143 196 236 35 77 134 178 237 27 238 239 240 241 242 243 244 245 246 247 248 249 250 251

88 136 199 249 58 110 177 231 44 100 171 229 46 106 252 253 254 255

181 243 64 128

Selanjutnya, plaintext yang akan dienkripsi adalah “Cryptos” dengan kode ASCII masing-masing karakter dalam bilangan decimal adalah 67, 114, 121, 112, 116, 111, 115. Untuk menghasilkan ciphertext, inisialisasikan variable i, j, k dan z dengan nilai 0, sedangkan variabel w bernilai acak yang relatif prima dengan 256 dan setiap baris akan dimodulo dengan 256. Hasil perhitungan PRGA untuk karakter pertama “C” adalah

 i = i + w i = (0 + 5) mod 256 (mis.nilai w = 5) i = 5 mod 256

i = 5

 j = k + S[j + S[i]] j = 0 + S[0 + S[5]] mod 256 j = 0 + S[0 + 191] mod 256 j = S[191] mod 256

j = 160 mod 256

(34)

j = 160

 k = i + k + S[j] k = 5 + 0 + S[160] mod 256 k = (5 + 159) mod 256 k = 164

 S[i] , S[j] S[i] = S[5] = 191, S[j] = S[160] = 159

 Swap S[i] with S[j] S[i] = S[5] = 159, S[j] = S[160] = 191

 z = S[j + S[i + S[z + k]]] z = S[160 + S[5 + S[0 + 164]]] mod 256 z = S[160 + S[5 + S[164]]] mod 256 z = S[160 + S[5 + 73]] mod 256 z = S[160 + S[78]] mod 256 z = S[160 + 72] mod 256 z = S[232] mod 256 z = 35 mod 256 z = 35

Selanjutnya lakukan operasi XOR untuk karakter pertama pada plaintext, yaitu karakter “C” dengan kode ASCII dan output z yang didapat.

67 = 01000011 35 = 00100011

01100000 = 9610 dalam tabel ASCII merupakan karakter “ ` “.

Untuk perhitungan karakter selanjutnya pada plaintext, lakukanlah perulangan juga terhadap perhitungan PRGA. Algoritma yang sama juga diterapkan pada proses dekripsi pesan.

2.5 Penelitian yang Relevan

Berikut beberapa penelitian terdahulu yang relevan dengan penelitian yang akan dilakukan oleh penulis:

Rivest dan Schuldt (2014), “Spritz – A Spongy RC4-Like Stream Cipher and Hash Function” menunjukkan bahwa algoritma Spritz menambah kompleksitas algoritma RC4, menghabiskan waktu lebih banyak untuk enkripsi dan tingkat keamanan Spritz lebih tinggi dibanding RC4.

(35)

Ragil Saputra, et al., (2006), “Kriptografi Teks dengan Menggunakan Algoritma LUC” menunjukkan bahwa pada algoritma LUC kunci dekripsi bergantung pada kunci enkripsi, juga dipengaruhi oleh simbol legendre plaintext dengan bilangan prima p dan q, tiap kunci enkripsi memiliki 4 kemungkinan kunci dekripsi.

Dian Rachmawati, et al., (2018), “Hybrid Cryptosystem Using Tiny Encryption Algorithm and LUC Algorithm” menunjukkan bahwa metode kriptosistem hibrida menggunakan algoritma TEA dan LUC memenuhi persyaratan aspek integritas pada kriptografi, serta ukuran ciphertext meningkat lebih besar daripada plaintext.

Subhadeep Banik, et al., (2017), “Analysis and Improvements of the Full Spritz Stream Cipher” mengembangkan implementasi algoritma Spritz yang menghilangkan bias dalam byte key stream yang hanya menggunakan satu akses memori tambahan sehingga tidak mengurangi kecepatan perangkat lunak.

(36)

3.1 Analisis Sistem

Analisis sistem merupakan tahap awal dan juga tahap yang paling penting dalam membangun sebuah sistem. Sebab, kesalahan yang terjadi pada tahap ini dapat menyebabkan masalah di tahap-tahap selanjutnya. Pada tahap ini diidentifikasi permasalahan maupun hambatan yang mungkin terjadi pada sistem sehingga permasalahan dapat diketahui lebih awal.

Analisis sistem terdiri dari tiga tahap, yaitu analisis masalah, analisis kebutuhan dan pemodelan sistem yang masing-masing akan dijelaskan sebagai berikut.

3.1.1 Analisis Masalah

Tahap ini bertujuan untuk mengidentifikasi sebab masalah dan memahami kelayakan masalah. Salah satu metode untuk melakukan analisis masalah adalah menggunakan Fishbone Diagram atau disebut juga diagram Ishikawa yang dipopulerkan oleh Kaoru Ishikawa pada tahun 1968. Sesuai dengan namanya, Fishbone Diagram berbentuk seperti ikan dan tulang-belulangnya. Fishbone Diagram pada penelitian ini seperti pada gambar 3.1.

(37)

Gambar 3.1 Fishbone Diagram pada Sistem

Dari gambar 3.1, permasalahan utama diletakkan pada persegi paling kanan yang merupakan kepala ikan. Empat buah persegi yang lain adalah kategori-kategori permasalahan berdasarkan permasalahan utama. Setiap kategori dihubungkan ke tulang ikan utama yang terhubung langsung ke kepala ikan. Serta, pada tulang ikan yang kecil-kecil merupakan sebab-sebab dari masalah sesuai dengan kategorinya.

Dari sebab-sebab permasalahan tersebut, digunakanlah teknik Hybrid Cryptosystem untuk mengkombinasikan algoritma simetris dan asimetris. Dengan teknik ini, maka dihasilkan suatu sistem yang aman sebagaimana algoritma asimetris tetapi menghasilkan ciphertext yang sama seperti algoritma simetris. Dalam hal ini digunakan algoritma Spritz (simetris) untuk pengamanan pesan teks dan algoritma LUC (asimetris) untuk pengamanan kunci.

3.1.2 Analisis Kebutuhan

Tahap ini terdiri atas dua macam, yaitu kebutuhan fungsional dan kebutuhan non- fungsional. Pada kebutuhan fungsional dijelaskan apa saja aktifitas yang dapat dikerjakan oleh sistem. Pada kebutuhan non-fungsional dijelaskan karakteristik, fitur serta batasan-batasan lain pada sistem.

3.1.2.1 Kebutuhan Fungsional

Berikut beberapa kebutuhan fungsional pada sistem Hybrid Cryptosystem dengan

(38)

1. Sistem mampu mencari file dari direktori perangkat dengan format *.docx dan

*.pdf serta membaca plaintext.

2. Sistem mampu membangkitkan dua kunci untuk algoritma LUC, yaitu kunci publik dan kunci privat.

3. Sistem mampu melakukan enkripsi teks menggunakan algoritma Spritz serta mengenkripsi kunci Spritz dengan kunci publik LUC.

4. Sistem mampu mendekripsi cipherkey menggunakan kunci privat LUC hingga menghasilkan kunci Spritz untuk mendekripsi ciphertext menjadi pesan asli.

3.1.2.2 Kebutuhan Non-fungsional

Berikut kebutuhan-kebutuhan non-fungsional pada sistem.

1. Kinerja

Sistem yang akan dibangun dapat menunjukkan hasil dari fungsi kriptografi, yaitu enkripsi dan dekripsi.

2. Hemat biaya

Sistem yang akan dibangun memanfaatkan teknologi open source dan bebas.

3. Dokumentasi

Sistem yang akan dibangun akan menyimpan hasil enkripsi pada lokasi penyimpanan perangkat.

4. Mudah digunakan

Sistem yang akan dibangun memiliki antar muka yang sederhana dan dilengkapi dengan petunjuk penggunaan untuk memudahkan pengguna.

3.1.3 Analisis Proses

Tahap ini merupakan tahap merancang sistem yang akan dibangun. Perancangan pada tahap ini akan dibahas dalam dua bagian, yaitu arsitektur umum sistem dan pemodelan sistem.

3.1.3.1 Diagram Umum Sistem

Diagram umum menggambarkan kerja sistem secara keseluruhan serta dapat menjadi pedoman dalam pemodelan sistem. Berikut diagram umum sistem seperti pada gambar 3.2.

(39)

Gambar 3.2 Diagram Umum Sistem

Berdasarkan gambar di atas, Bob bertindak sebagai pengirim pesan, sedangkan Alice bertindak sebagai penerima pesan. Alice menyebar kunci publik melalui jalur yang tidak aman. Begitupun Bob dalam mengirimkan ciphertext dan cipherkey. Oleh sebab itu dilakukan pengenkripsian terhadap kunci Spritz agar pesan tidak mudah dicuri oleh pihak ketiga.

3.1.3.2 Pemodelan Sistem

Pemodelan sistem dilakukan dengan menggunakan diagram UML (Unified Model Language) yang akan digambarkan dalam Use Case Diagram, Activity Diagram dan Sequence Diagram.

a. Use Case Diagram

Use Case Diagram berisi gambaran tentang siapa saja tokoh-tokoh yang berperan dalam sistem dan apa saja tugas-tugasnya. Gambar 3.3 berikut merupakan Use Case Diagram pada sistem ini.

(40)

Gambar 3.3 Use Case Diagram Sistem

Berdasarkan gambar di atas, dapat dilihat bahwa terdapat dua actor yang berperan dalam sistem, yaitu pengirim dan penerima. Pihak pengirim berperan dalam hal enkripsi, sedangkan pihak penerima berperan dalam membangkitkan kunci LUC dan dekripsi.

b. Activity Diagram

Activity Diagram berisi gambaran alur kerja pada suatu sistem dari awal hingga proses selesai. Activity Diagram menunjukkan aksi yang dilakukan oleh aktor dan bagaimana respon dari sistem. Proses awal pada sistem dimulai dengan pembangkitan kunci sebagaimana ditunjukkan gambar berikut.

Gambar 3.4 Activity Diagram Proses Pembangkitan Kunci

(41)

Pada Gambar 3.4 di atas terdapat dua sisi aktifitas, yaitu Penerima pada sebelah kiri dan Sistem pada sebelah kanan. Dari proses ini dihasilkan kunci publik LUC yang selanjutnya akan digunakan untuk proses enkripsi sebagaimana ditunjukkan gambar berikut.

Gambar 3.5 Activity Diagram Proses Enkripsi

Pada gambar 3.5 di atas, sisi sebelah kiri menggambarkan aktifitas Pengirim dan sisi sebelah kanan menggambarkan respon Sistem terhadap aktifitas Pengirim.

Dari proses ini dihasilkan ciphertext dan cipherkey yang kemudian dikirim ke Penerima dan akan didekripsi sebagaimana ditunjukkan gambar berikut.

Gambar 3.6 Activity Diagram Proses Dekripsi

(42)

Pada gambar 3.6 di atas, sisi sebelah kiri menggambarkan aktifitas Penerima dan sisi sebelah kanan menggambarkan respon Sistem terhadap aktifitas Penerima.

Dari proses ini dihasilkan plaintext yang merupakan pesan dari Pengirim.

c. Sequence Diagram

Sequence diagram menggambarkan bagaimana sistem mengeksekusi berbagai tugas dan menunjukkan interaksi antar objek dalam waktu yang berurutan. Gambar berikut adalah sequence diagram proses pembangkitan kunci pada sistem yang akan dibangun.

Gambar 3.7 Sequence Diagram Proses Pembangkitan Kunci

Dari gambar di atas, diketahui bahwa proses pembangkitan kunci akan menghasilkan kunci LUC untuk melakukan proses enkripsi pesan. Kunci ini kemudian diberikan kepada pengirim pesan dan selanjutnya seperti pada gambar berikut.

(43)

Gambar 3.8 Sequence Diagram Proses Enkripsi

Setelah proses pembangkitan kunci, pengirim pesan baru dapat melakukan proses enkripsi. Pengirim mengenkripsi pesan maupun kunci untuk membukanya, yaitu kunci Spritz. Dari proses ini dihasilkan ciphertext dan juga cipherkey yang kemudian dikirimkan kepada penerima pesan.

Gambar 3.9 Sequence Diagram Proses Dekripsi

(44)

Gambar di atas menjelaskan proses dekripsi terhadap cipherkey dan ciphertext yang dilakukan oleh penerima pesan. Setelah proses selesai, maka penerima pesan dapat melihat plaintext dan juga menyimpannya pada perangkat.

3.2 Flowchart

Flowchart merupakan bagan yang menunjukkan urutan-urutan kerja untuk menyelesaikan suatu masalah dengan menggunakan simbol-simbol. Flowchart memberikan gambaran umum alur kerja sistem secara sistematis.

3.2.1 Flowchart Sistem

Gambar 3.10 berikut merupakan flowchart dari sistem yang akan dibangun.

Gambar 3.10 Flowchart Sistem

Dari gambar di atas, dapat dilihat bahwa sistem memiliki 4 halaman utama, yaitu Beranda, Bangkit Kunci, Enkripsi dan Dekripsi. Saat pertama kali dibuka, sistem akan menampilkan halaman Beranda yang berisi judul skripsi dan identitas

(45)

penulis secara umum. Untuk memulai proses mengamankan pesan pengguna terlebih dahulu harus menuju halaman Bangkit Kunci untuk memperoleh kunci publik dan kunci privat. Kemudian, pengguna berpindah ke halaman Enkripsi dan menggunakan kunci publik yang sudah didapat sebelumnya untuk mengenkripsi plaintext. Untuk proteksi terhadap kunci publik, dilakukan enkripsi juga terhadap kunci dengan algoritma Spritz hingga menjadi cipherkey.

Selanjutnya, pengguna berpindah menuju halaman Dekripsi untuk terlebih dahulu membuka proteksi cipherkey. Proses dekripsi cipherkey dilakukan menggunakan kunci privat. Setelah proses dekripsi berhasil, kunci Spritz tersebut digunakan pula untuk mendekripsi ciphertext hingga diperolehlah plaintext kembali.

3.2.2 Flowchart Algoritma LUC

Gambar berikut merupakan flowchart algoritma LUC yang berjalan pada proses pembangkitan kunci dan proteksi kunci Spritz.

(a)

(46)

(b) (c)

Gambar 3.11 Flowchart Algoritma LUC (a) Pembangkitan Kunci, (b) Enkripsi, (c) Dekripsi

Gambar di atas menunjukkan bagaimana cara kerja algoritma LUC. Pada algoritma ini terdapat proses pembangkitan kunci yang dilakukan pertama kali sebelum enkripsi dan dekripsi dilakukan. Pembangkitan kunci menghasilkan kunci privat dan kunci publik. Kedua kunci tersebut masing-masing digunakan pada proses yang berbeda.

3.2.3 Flowchart Algoritma Spritz

Gambar 3.12 berikut merupakan flowchart algoritma Spritz yang berjalan pada proses enkripsi dan dekripsi plaintext.

(47)

(a) (b)

(c) (d)

Gambar 3.12 Flowchart Algoritma Spritz (a) KSA, (b) PRGA, (c) Enkripsi, (d)

(48)

Pada algoritma Spritz terdapat dua proses utama, yaitu Key Scheduling Algorithm (KSA) dan Pseudo-Random Generation Algorithm (PRGA). Kedua proses ini bekerja pada saat enkripsi maupun dekripsi.

3.3 Perancangan Antarmuka

Perancangan antarmuka sistem bermanfaat sebagai kerangka dasar untuk memudahkan membangun sistem pada tahap selanjutnya. Merancang antarmuka sekaligus memahamkan pengguna mengenai penggunaan sistem. Dalam sistem ini, terdapat 5 halaman, yaitu Beranda, Bangkitkan Kunci, Enkripsi, Dekripsi dan Tentang.

a. Beranda

Halaman Beranda merupakan halaman awal yang ditampilkan ketika sistem berjalan.

Halaman ini memuat judul skripsi dan informasi dasar tempat penulis menjalani perkuliahan, sebagaimana ditunjukkan oleh gambar berikut.

Gambar 3.13 Rancangan Antarmuka Beranda Keterangan gambar :

1. TabControl, memuat 5 halaman utama sistem.

2. Label, memuat judul skripsi dari penulis.

(49)

3. Label, memuat nama dan nim penulis.

4. PictureBox, memuat logo universitas.

5. Label, memuat nama program studi, fakultas, universitas, kota dan tahun.

b. Bangkit Kunci

Pada halaman Bangkit Kunci, pengguna akan megacak bilangan prima dan membangkitkan kunci publik sekaligus kunci privat dari algoritma LUC, sebagaimana ditunjukkan oleh gambar berikut.

Gambar 3.14 Rancangan Antarmuka Bangkit Kunci Keterangan gambar :

1. TabControl, memuat 5 halaman utama sistem.

2. Button, digunakan untuk mengacak bilangan prima.

3. Button, digunakan untuk membangkitkan kunci.

4. Label, sebagai penanda nilai p.

5. Label, sebagai penanda nilai N 6. Label, sebagai penanda nilai q.

7. Label, sebagai penanda nilai d.

8. Label, sebagai penanda nilai e.

9. Button, digunakan untuk menyimpan nilai d.

(50)

11. Button, digunakan untuk mengirim nilai e.

c. Enkripsi

Halaman Enkripsi merupakan halaman tempat pengguna menyandikan plaintext dan juga key menggunakan kunci publik yang sebelumnya sudah dibangkitkan, sebagaimana ditunjukkan gambar berikut.

Gambar 3.15 Rancangan Antarmuka Enkripsi Keterangan gambar :

1. TabControl, memuat 5 utama sistem.

2. Label, memuat keterangan bagian enkripsi plaintext.

3. Label, memuat keterangan bagian enkripsi kunci.

4. Button, digunakan untuk mencari file plaintext pada direktori perangkat.

5. TextBox, sebagai tempat untuk menampung direktori file plaintext.

6. Button, digunakan untuk mencari file kunci publik pada direktori perangkat.

7. TextBox, sebagai tempat untuk menampung direktori file kunci publik.

8. Label, sebagai penanda isi plaintext.

9. RichTextBox, memuat data plaintext.

10. Button, digunakan untuk mengenkripsi kunci publik.

11. Label, sebagai penanda Kunci Spritz.

(51)

12. TextBox, sebagai tempat untuk menampung kunci Spritz.

13. Label, sebagai penanda cipherkey.

14. RichTextBox, sebagai tempat untuk menampung cipherkey.

15. Button, digunakan untuk mengenkripsi plaintext.

16. Button, digunakan untuk menyimpan cipherkey.

17. Button, digunakan untuk mengirim cipherkey.

18. Label, sebagai penanda ciphertext.

19. RichTextBox, sebagai tempat untuk menampung ciphertext.

20. Button, digunakan untuk menyimpan ciphertext.

d. Dekripsi

Pada halaman Dekripsi pengguna akan membuka cipherkey dan ciphertext menggunakan kunci privat dari algoritma LUC yang sudah dibangkitkan sebelumnya, sebagaimana tampak pada gambar berikut.

Gambar 3.16 Rancangan Antarmuka Dekripsi Keterangan gambar :

1. TabControl, memuat 5 halaman utama sistem.

2. Label, sebagai penanda bagian untuk mendekripsi kunci.

3. Label, sebagai penanda bagian untuk mendekripsi ciphertext.

(52)

5. TextBox, sebagai tempat untuk menampung direktori file cipherkey.

6. Button, digunakan untuk mencari file ciphertext pada direktori perangkat.

7. TextBox, sebagai tempat untuk menampung direktori file ciphertext.

8. Label, sebagai penanda kolom cipherkey.

9. TextBox, sebagai tempat untuk menampung cipherkey.

10. Label, sebagai penanda kolom ciphertext.

11. RichTextBox, sebagai tempat untuk menampung ciphertext.

12. Button, digunakan untuk mencari file kunci privat pada direktori perangkat.

13. TextBox, sebagai tempat untuk menampung direktori file kunci privat.

14. Label, sebagai penanda kolom kunci privat.

15. TextBox, sebagai tempat untuk menampung kunci privat.

16. Button, digunakan untuk mendekripsi cipherkey.

17. Button, digunakan untuk mendekripsi ciphertext.

18. Label, sebagai penanda kolom kunci Spritz.

19. TextBox, sebagai tempat untuk menampung kunci Spritz.

20. Label, sebagai penanda kolom plaintext.

21. RichTextBox, sebagai tempat untuk menampung plaintext.

22. Button, digunakan untuk menyimpan plaintext.

e. Tentang

Halaman Tentang memberikan penjelasan singkat mengenai kata-kata kunci dalam skripsi yang sedang disusun. Rancangan halaman Tentang dapat dilihat pada gambar berikut.

(53)

Gambar 3.17 Rancangan Antarmuka Tentang Keterangan gambar :

1. TabControl, memuat 5 halaman utama sistem.

2. Label, sebagai penanda kolom yang berisi penjelasan kriptografi.

3. Label, sebagai penanda kolom yang berisi penjelasan algoritma Spritz.

4. RichTextBox, memuat penjelasan singkat mengenai kriptografi.

5. RichTextBox, memuat penjelasan singkat mengenai algoritma Spritz.

6. Label, sebagai penanda kolom yang berisi penjelasan algoritma LUC.

7. Label, sebagai penanda kolom yang berisi penjelasan Hybrid Cryptosystem.

8. RichTextBox, memuat penjelasan singkat mengenai algoritma LUC.

9. RichTextBox, memuat penjelasan singkat mengenai Hybrid Cryptosystem.

(54)

4.1 Implementasi

Dalam membangun sistem, penulis menggunakan bahasa pemrograman C# dengan IDE SharpDevelop 4.3 yang berbasis desktop. Terdapat 5 halaman dalam sistem yang dibangun, yaitu Beranda, Bangkit Kunci, Enkripsi, Dekripsi dan Tentang. Selanjutnya akan dijelaskan mengenai masing-masing halaman.

4.1.1 Halaman Beranda

Halaman ini adalah halaman yang pertama kali ditampilkan saat sistem mulai dijalankan. Halaman ini akan menampilkan judul skripsi yang juga merupakan judul sistem, nama dan nim penulis, logo universitas tempat penulis menuntut ilmu, nama program studi, nama fakultas, nama universitas dan tahun penyusunan tugas akhir.

Gambar 4.1 berikut merupakan halaman Beranda.

Gambar 4.1 Halaman Beranda

(55)

4.1.2 Halaman Bangkit Kunci

Halaman ini akan menampilkan button Acak Prima untuk membangkitkan dua buah bilangan prima acak, yaitu p dan q yang masing-masing akan ditampilkan dalam dua textBox berbeda. Kemudian, terdapat button Bangkitkan Kunci untuk membangkitkan kunci N, kunci privat dan kunci publik. Proses pembangkitan kunci tidak dapat dilepaskan dari bilangan prima acak yang telah didapat terlebih dahulu. Selanjutnya, kunci privat dan kunci publik dapat disimpan pada direktori perangkat dengan menekan button Simpan Kunci Privat (d) dan Simpan Kunci Publik (e) yang telah disediakan. Gambar 4.2 berikut merupakan halaman Bangkit Kunci.

Gambar 4.2 Halaman Bangkit Kunci 4.1.3 Halaman Enkripsi

Pada halaman Enkripsi, terdapat button yang berfungsi untuk memilih file yang berisi plaintext, untuk mengacak kunci Spritz dan dua button enkripsi yang masing-masing berfungsi untuk mengenkripsi plaintext dan kunci Spritz. Juga terdapat dua buah button Simpan yang berfungsi untuk menyimpan ciphertext dan cipherkey. Selain itu, terdapat beberapa richTextBox sebagai tempat untuk menampilkan plaintext, kunci Spritz, ciphertext, kunci publik dan cipherkey. Di bagian terbawah halaman, terdapat dua buah textBox sebagai tempat untuk menampilkan run time proses enkripsi

(56)

plaintext dan kunci Spritz. Halaman Enkripsi pada sistem dapat dilihat pada gambar berikut.

Gambar 4.3 Halaman Enkripsi 4.1.4 Halaman Dekripsi

Halaman Dekripsi memberikan menu yang tidak jauh berbeda dengan halaman Enkripsi. Hanya saja pengguna terlebih dahulu harus memilih file yang berisi cipherkey dan kunci privat. Setelah itu, pengguna dapat menekan button Dekripsi.

Proses ini akan mengembalikan cipherkey kepada kunci Spritz. Hasil proses tersebut kemudian digunakan untuk mendekripsi ciphertext hingga kembali seperti semula.

Sama seperti halaman Enkripsi, pada halaman Dekripsi juga terdapat textBox untuk menampilkan run time proses dekripsi cipherkey dan ciphertext. Halaman Dekripsi pada sistem seperti gambar di bawah ini.

(57)

Gambar 4.4 Halaman Dekripsi 4.1.5 Halaman Tentang

Halaman ini menyajikan penjelasan singkat mengenai teori-teori yang berkaitan dengan sistem, seperti penjelasan singkat tentang Kriptografi, algoritma Spritz, algoritma LUC, serta Hybrid Cryptosystem. Penjelasan setiap subtopik masing- masing dimuat dalam sebuah richTextBox. Halaman Tentang dapat dilihat pada gambar berikut.

Gambar

Gambar 2.2 Skema Algoritma Simetris (Sumber: Sadikin, 2012)  b.  Algoritma Asimetris
Gambar 2.3 Skema Algoritma Asimetris (Sumber: Fauzana, 2013)
Gambar 3.1 Fishbone Diagram pada Sistem
Gambar 3.2 Diagram Umum Sistem
+7

Referensi

Dokumen terkait

Landasan pendidikan NU ini berikutnya diturunkan menjadi Anggaran Dasar NU sebagaimana terdapat pada Pasal IX Anggaran Dasar NU sebagai berikut “Di bidang pendidikan, pengajaran

Namun demikian Pemerintah Kota Depok terus berupaya mengatasi keterbatasan-keterbatasan keuangan daerah dengan menyempurnakan manajemen keuangan, melakukan efisiensi dan

Kelompok Kerja Pengadaan Jasa Konsultansi Pekerjaan Jalan dan Jembatan Provinsi Jawa Tengah pada Dinas Bina Marga Provinsi Jawa Tengah Dana APBD Tahun Anggaran 2014 yang

Meskipun dokumen ini telah dipersiapkan dengan seksama, PT Manulife Aset Manajemen Indonesia tidak bertanggung jawab atas segala konsekuensi hukum dan keuangan

Dengan analisa SWOT dan IE-Matrix, disarankan beberapa hal, yaitu: strategi market intensive dilakukan melalui penetrasi pasar dan pengembangan pasar; mengembangkan

ini, menjelaskan keunikan atau kelebihan yang dimiliki oleh PT. Mina Wisata Islami Surabaya.. 18 tersebut yaitu, memiliki reputasi yang baik dalam persaingan.

karona cuaoh untuk nondapatkan aurat porlntah darl hakin dongas oogoro, codon^can koadaaa aangat mcndcoak untuk cogara ncnboolah curat-aurat yang borada dl Kaator Poa* naka Jalan

Hal ini dapat disimpulkan bahwa pemberian usaha kesehatan jiwa sekolah yang meliputi 4 jenis kegiatan dapat berpengaruh dalam meningkatkan motivasi belajar siswa SMP