• Tidak ada hasil yang ditemukan

IMPLEMENTASI ALGORITMA SPRITZ DAN ALGORITMA KUNCI PUBLIK RABIN-P DENGAN SKEMA HYBRID CRYPTOSYSTEM PADA PENGAMANAN TEKS SKRIPSI

N/A
N/A
Protected

Academic year: 2022

Membagikan "IMPLEMENTASI ALGORITMA SPRITZ DAN ALGORITMA KUNCI PUBLIK RABIN-P DENGAN SKEMA HYBRID CRYPTOSYSTEM PADA PENGAMANAN TEKS SKRIPSI"

Copied!
96
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA SPRITZ DAN ALGORITMA KUNCI PUBLIK RABIN-P DENGAN SKEMA HYBRID

CRYPTOSYSTEM PADA PENGAMANAN TEKS

SKRIPSI

T. AMADHEA IRVIDA 161401069

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2020

(2)

IMPLEMENTASI ALGORITMA SPRITZ DAN ALGORITMA KUNCI PUBLIK RABIN-P DENGAN SKEMA HYBRID

CRYPTOSYSTEM PADA PENGAMANAN TEKS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

T. AMADHEA IRVIDA 161401069

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2020

(3)

PERSETUJUAN

(4)

PERNYATAAN

IMPLEMENTASI ALGORITMA SPRITZ DAN ALGORITMA KUNCI PUBLIK RABIN-P DENGAN SKEMA HYBRID

CRYPTOSYSTEM PADA 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, September 2020

T. Amadhea Irvida 161401069

(5)

PENGHARGAAN

Segala puji bagi Allah SWT atas berkah dan rahmat-Nya sehingga penulis dapat menyelesaikan penyusunan skripsi yang berjudul “Implementasi Algoritma Spritz dan Algoritma Kunci Publik Rabin-p dengan Skema Hybrid Cryptosystem pada Pengamanan Teks” sebagai syarat untuk memperoleh gelar Sarjana Komputer di Program Studi S-1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

Dengan kerendahan hati dan rasa bersyukur, penulis ingin menyampaikan rasa hormat dan ungkapan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu penulis dalam proses pembuatan dan penyelesaian skripsi ini, baik dalam bentuk doa, bimbingan, kerjasama, dukungan dan kalimat-kalimat menenangkan. Penulis mengucapkan terima kasih kepada:

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

2. Bapak Prof. Dr. 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 sebagai Dosen Pembimbing I yang telah memberikan bimbingan, kritik, saran, motivasi dan dukungan kepada penulis dalam pengerjaan skripsi ini.

5. Ibu Dian Rachmawati S.Si, M.Kom sebagai Dosen Pembimbing II yang telah memberikan bimbingan, saran, motivasi dan dukungan kepada penulis dalam pengerjaan skripsi ini.

6. Bapak Alm. Sajadin Sembiring, M.Comp.Sc., selaku dosen pembimbing akademik selama penulis menempuh pendidikan di S-1 Ilmu Komputer.

7. Seluruh dosen dan staf pegawai Program Studi S-1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

8. Orangtua penulis Ayahanda Alm. Ir. T. Danial Bustamam, Ibunda Evi Triana serta adik-adik tercinta T. Marshandita Ifada, T. Kesya Ardelia Affanim, dan

(6)

T.M. Farrel Davin Aqilah yang telah memberikan doa, dukungan dan semangat yang selalu menjadi motivasi penulis.

9. Terima kasih kepada Annissa Kamila Mardhiyyah Nasution, Dwi Fimoza, Indah Permata Syahnan, Ika Nurul Faradillah, Mutiah Khairani Tanjung, dan Nazli Alvira Siregar yang telah berjuang dan menuai prestasi bersama-sama dengan penulis.

10. Teman-teman seperjuangan yang telah memberikan semangat dan dukungan, Azis Fahri Tanjung, Azizah Nur Lubis, Dinda Annisa Nur Nasution, Hilda Suci Ardianti, Ikram Azhari, Ilham Syahbandi, Mega Ayuamartha Putri, Rizki Nofianty Tanjung, Sulaiman, Yuri Utari Ollinka dan Yusniah.

11. Rekan-rekan asisten laboratorium IKLC yang telah memberikan motivasi dan dukungan terkhusus angkatan 2016, Adam Yosafat Noverico Damanik, Ainiyah Putri, Arif Iskandar, Elsa Krismonti, Julia Pratiwi, Mirta Amalia, Selina Amelia Savittri, dan Syarifah Kemala Putri..

12. Sahabat-sahabat seperjuangan IMILKOM Periode 2018/2019 khususnya Departemen Hubungan Masyarakat, M. Firenza Kurniawan, M. Randi Mi’raj Rangkuti, Rini Natalia Sinaga, Silvia Dewi Siregar, dan anggota lainnya yang tidak dapat disebutkan satu per satu.

13. Teman-teman terkasih yang selalu memberikan semangat dan doa untuk penulis, Ananda Gisela Febrina Sinurat, Audry Welvira, Chairunna Amalia, Cut Mutia Fahira, Dessy Atika, Dewi Syafira, Fahita Nabila, Indah Wardhani Rangkuti, Rifa Alya, Salsa Safira Ramadhani, dan Widya Anastasyia Manao.

14. Seluruh wadah yang banyak memberikan penulis pengalaman, membentuk karakter penulis, serta memberikan banyak ilmu dan pengetahuan baru, UKMI AL-KHUWARIZMI USU, IMILKOM USU, PEMA FASILKOM-TI USU, IKLC USU, dan XL FUTURE LEADERS.

15. Teman-teman kuliah angkatan 2016 S-1 Ilmu Komputer khususnya teman- teman Kom C 2016 yang telah berjuang bersama-sama dengan penulis.

16. Dan semua pihak yang terlibat baik secara langsung maupun tidak langsung yang telah banyak membantu yang tidak dapat disebutkan namanya satu- persatu.

(7)

Semoga seluruh kebaikan yang telah diberikan dengan tulus akan kembali kepada pihak yang memberi dengan tulus juga dari Allah SWT. Semoga skripsi ini dapat memberikan manfaat yang baik kedepannya.

Medan, September 2020

Penulis

(8)

ABSTRAK

Keamanan dalam proses pengiriman pesan dan informasi sangat penting untuk menghindari pencurian pesan oleh pihak lain. Jika pesan tersebut dicuri, maka isi dari pesan dapat diubah ataupun tidak sampai kepada penerima. Maka dari itu, diperlukan teknik kriptografi untuk melindungi pesan. Kriptografi memiliki dua kunci, yaitu kunci simetris dan kunci asimetris. Kunci simetris diterapkan pada algoritma Spritz yang melakukan proses enkripsi dan dekripsi dalam file teks.

Sedangkan kunci asimetris diterapkan pada algoritma Rabin-p yang melakukan proses enkripsi dan dekripsi pada kunci. Skema Hybrid Cryptosystem diterapkan pada sistem dengan mengkombinasikan kedua algoritma tersebut. Sistem diimplementasikan dengan bahasa pemrograman C# dalam perangkat lunak SharpDevelop dan menggunakan kode karakter dalam tabel ASCII. Dilakukan proses pengujian pada sistem dan memperoleh hasil yaitu jika teks yang dimasukkan semakin panjang, maka waktu proses akan semakin lama dan jika kunci yang dimasukkan semakin pendek, maka waktu proses akan semakin cepat.

Kata Kunci: Algoritma Rabin-p, Algoritma Spritz, Hybrid Cryptosystem, Kriptografi.

(9)

IMPLEMENTATION OF SPRITZ ALGORITHM AND RABIN-P PUBLIC KEY ALGORITHM WITH HYBRID CRYPTOSYSTEM SCHEME IN

TEXT SECURITY

ABSTRACT

Security in the process of sending messages and information is very important to avoid being theft of messages by other parties. If the message is stolen, the contents of the message may be changed or not reach by the recipient. Therefore, cryptography techniques are needed to protect messages. Cryptography has two keys, namely the symmetric key and the asymmetric key. Symmetric keys are applied to the Spritz algorithm which performs the encryption and decryption of files.

Meanwhile, the asymmetric key is applied to the Rabin-p algorithm which performs the encryption and decryption of the key. The Hybrid Cryptosystem scheme is applied to the system by combining the two algorithms. The system is implemented with C# programming language in SharpDevelop software and using character codes in ASCII tables. The testing process is carried out on the system and the results are if the text entered is longer, the processing time will be longer and if the key entered is shorter, the processing time will be faster.

Keywords: Rabin-p Algorithm, Spritz Algorithm, Hybrid Cryptosystem, Cryptography.

(10)

DAFTAR ISI

Halaman

PERSETUJUAN ii

PERNYATAAN iii

PENGHARGAAN iv

ABSTRAK vii

ABSTRACT viii

DAFTAR ISI ix

DAFTAR TABEL xii

DAFTAR GAMBAR xiii

DAFTAR LAMPIRAN xv

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 Penelitian 4

BAB 2 LANDASAN TEORI 2.1 Kriptografi 6

2.1.1 Proses Kriptografi 6

2.1.2 Jenis Algoritma 6

2.2 Metode Hybrid Cryptosystem 8

2.3 Teori Bilangan 9

2.3.1 Bilangan Prima 9

2.3.2 Euclidean Greatest Common Divisor (GCD) 9

2.3.3 Algoritma Extended Euclidean 10

2.3.4 Blum Integer 10

2.3.5 Miller-Rabin 10

2.4 Algoritma Spritz 11

2.4.1 Key Scheduling Algorithm (KSA) 11

2.4.2 Pseudo-Random Generation Algorithm (PRGA) 13

2.5 Algoritma Rabin-p 18

2.5.1 Pembangkit Kunci Algoritma Rabin-p 19

2.5.2 Metode Enkripsi 19

2.5.3 Metode Dekripsi 20

2.6 Penelitian yang Relevan 21

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 Diagram Umum Sistem 24

(11)

3.2 Pemodelan Sistem 25

3.2.1 Use Case Diagram 25

3.2.2 Activity Diagram 26

3.2.2.1 Diagram Aktivitas Pembangkit Kunci 27

3.2.2.2 Diagram Aktivitas Enkripsi 27

3.2.2.3 Diagram Aktivitas Dekripsi 28

3.2.3 Sequence Diagram 29

3.2.4 Flowchart 30

3.2.4.1 Flowchart Sistem 30

3.2.4.2 Flowchart Pembangkit Kunci 31

3.2.4.3 Flowchart Algoritma Rabin-p 31

3.2.4.4 Flowchart Algoritma Spritz 32

3.3 Perancangan Interface 33

3.3.1 Halaman Splash Screen 33

3.3.2 Halaman Menu 34

3.3.3 Halaman Informasi 35

3.3.4 Halaman Pembangkit Kunci 36

3.3.5 Halaman Enkripsi 36

3.3.6 Halaman Dekripsi 38

3.3.7 Halaman Penutup 39

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Sistem 40

4.1.1 Halaman Splash Screen 40

4.1.2 Halaman Menu 41

4.1.3 Halaman Informasi 41

4.1.4 Halaman Pembangkit Kunci 42

4.1.5 Halaman Enkripsi 42

4.1.6 Halaman Dekripsi 43

4.1.7 Halaman Penutup 44

4.2 Pengujian Sistem 44

4.2.1 Pengujian Pembangkit Kunci 44

4.2.1.1 Perhitungan Pembangkit Kunci Algoritma 45

Rabin-p 4.2.2 Pengujian Enkripsi 45

4.2.2.1 Perhitungan Enkripsi Teks 46

4.2.2.2 Key Scheduling Algorithm 46

4.2.2.3 Pseudo-Random Generation Algorithm 48

4.2.2.4 Perhitungan Enkripsi Kunci 52

4.2.3 Pengujian Dekripsi 52

4.2.3.1 Perhitungan Dekripsi Kunci 53

4.2.3.2 Perhitungan Dekripsi Teks 54

4.2.4 Waktu Proses Pengujian Sistem(Real Running Time) 58 4.2.4.1 Waktu Proses Enkripsi File Algoritma Spritz 58 4.2.4.2 Waktu Proses Enkripsi Kunci Algoritma 60

Rabin-p 4.2.4.3 Waktu Proses Dekripsi Kunci Algoritma 61

Rabin-p

(12)

4.2.4.4 Waktu Proses Dekripsi File Algoritma Spritz 62 BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan 65

5.2 Saran 65

DAFTAR PUSTAKA 66

(13)

DAFTAR TABEL

Halaman

Tabel 2.1 Contoh perhitungan m-1 10

Tabel 2.2 Larik 256 Byte Hasil Perhitungan Tahap Key Scheduling 12 Tabel 4.1 Larik 256 Byte Hasil Perhitungan Tahap Key Scheduling 47

Algorithm

Tabel 4.2 Hasil Enkripsi Kunci Publik Rabin-p dan Kunci Spritz 52 Tabel 4.3 Hasil Dekripsi Kunci Privat Rabin-p dan Cipherkey 54 Tabel 4.4 Hasil Percobaan Waktu Proses Enkripsi File pada Algoritma 58

Spritz

Tabel 4.5 Hasil Percobaan Waktu Proses Enkripsi File pada Algoritma 59 Spritz dengan 100000 Karakter

Tabel 4.6 Hasil Percobaan Waktu Proses Enkripsi Kunci pada 60 Algoritma Rabin-p

Tabel 4.7 Hasil Percobaan Waktu Proses Dekripsi Kunci pada 61 Algoritma Rabin-p

Tabel 4.8 Hasil Percobaan Waktu Proses Dekripsi File pada Algoritma 63 Spritz

Tabel 4.9 Hasil Percobaan Waktu Proses Dekripsi File pada Algoritma 64 Spritz dengan 100000 Karakter

(14)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Proses Enkripsi dan Dekripsi 6

Gambar 2.2 Proses Enkripsi dan Dekripsi pada Algoritma Simetris 7

Gambar 2.3 Proses Enkripsi dan Dekripsi pada Algoritma Asimetris 8

Gambar 2.4 Proses Enkripsi Hybrid Cryptosystem dengan menggunakan 8

Algoritma Spritz dan Algoritma Rabin-p Gambar 2.5 Proses Dekripsi Hybrid Cryptosystem dengan menggunakan 9

Algoritma Spritz dan Algoritma Rabin-p Gambar 3.1 Diagram Ishikawa 24

Gambar 3.2 Diagram Umum Sistem 25

Gambar 3.3 Diagram Use Case Sistem 26

Gambar 3.4 Diagram Aktivitas Proses Pembangkitan Kunci 27

Gambar 3.5 Diagram Aktivitas Proses Enkripsi 27

Gambar 3.6 Diagram Aktivitas Proses Dekripsi 28

Gambar 3.7 Diagram Sequence Sistem 29

Gambar 3.8 Flowchart Sistem 30

Gambar 3.9 Flowchart Proses Pembangkitan Kunci 31

Gambar 3.10 Flowchart Enkripsi Algoritma Kunci Publik Rabin-p 31

Gambar 3.11 Flowchart Dekripsi Algoritma Kunci Publik Rabin-p 32

Gambar 3.12 Flowchart Enkripsi Algoritma Spritz 32

Gambar 3.13 Flowchart Dekripsi Algoritma Spritz 33

Gambar 3.14 Halaman Splashscreen 34

Gambar 3.15 Halaman Menu 34

Gambar 3.16 Halaman Informasi 35

Gambar 3.17 Halaman Pembangkit Kunci 36

Gambar 3.18 Halaman Enkripsi 37

Gambar 3.19 Halaman Dekripsi 38

Gambar 3.20 Halaman Penutup 39

Gambar 4.1 Tampilan Halaman Splashscreen 40

Gambar 4.2 Tampilan Halaman Menu 41

Gambar 4.3 Tampilan Halaman Informasi 41

Gambar 4.4 Tampilan Halaman Pembangkit Kunci 42

Gambar 4.5 Tampilan Halaman Enkripsi 43

Gambar 4.6 Tampilan Halaman Dekripsi 43

Gambar 4.7 Tampilan Halaman Penutup 44

Gambar 4.8 Tampilan Halaman Pengujian Pembangkit Kunci 45

Gambar 4.9 Tampilan Halaman Pengujian Enkripsi Teks dan Enkripsi Kunci 46 Gambar 4.10 Tampilan Halaman Pengujian Dekripsi Kunci dan Dekripsi Teks53 Gambar 4.11 Grafik Rata-Rata Proses Enkripsi File Algoritma Spritz dengan 59 Panjang Kunci 23 Digit Gambar 4.12 Grafik Rata-Rata Proses Enkripsi File Algoritma Spritz dengan 60 Panjang 100000 Karakter Gambar 4.13 Grafik Rata-Rata Proses Enkripsi Kunci dengan Algoritma 61

Rabin-p Gambar 4.14 Grafik Rata-Rata Proses Dekripsi Kunci dengan Algoritma 62

Rabin-p

Gambar 4.15 Grafik Rata-Rata Proses Dekripsi File Algoritma Spritz dengan 63

(15)

Panjang Kunci 23 Digit

Gambar 4.16 Grafik Rata-Rata Proses Dekripsi File Algoritma Spritz dengan 64 Panjang 100000 Karakter

(16)

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A-1

Lampiran 2 Curriculum Vitae B-1

(17)

BAB I PENDAHULUAN

1.1 Latar Belakang

Berbagai kalangan masyarakat menggunakan media elektronik sebagai alat untuk berkomunikasi. Komunikasi merupakan proses pertukaran atau penyampaian informasi antara dua individu atau lebih. Dengan adanya perkembangan teknologi, membuat komunikasi saat ini menjadi semakin mudah dan luas. Media elektronik memiliki fungsi sebagai tempat untuk mendokumentasikan dan menyimpan pesan atau informasi. Faktor keamanan menjadi salah satu aspek yang harus diperhatikan, terutama jika pesan atau dokumen yang dikirim bersifat rahasia. Jika diabaikan, maka pesan atau dokumen rahasia tersebut dapat dengan mudah diubah ataupun dimanfaatkan oleh pihak-pihak yang tidak bertanggung jawab dan pesan atau dokumen tersebut tidak sampai pada yang dituju. Oleh karena itu, diperlukan teknik penyamaran serta penyembunyian pesan atau dokumen dikenal dengan istilah kriptografi.

Pada kriptografi terdapat dua jenis berdasarkan kuncinya yaitu kriptografi kunci simetris dan kriptografi kunci asimetris. Kriptografi kunci simetris merupakan algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan proses deskripsi. Sedangkan kriptografi kunci asimetris merupakan algoritma yang memiliki dua kunci, yaitu kunci publik dan kunci privat dimana kunci publik disebarluaskan sedangkan kunci privat hanya diketahui oleh penerima pesan untuk proses dekripsi. Kelebihan algoritma asimetris adalah masalah keamanan pada distribusi kunci dapat lebih baik namun kecepatan algoritma asimetris lebih rendah dibandingkan algoritma simetris. Sehingga kunci asimetris dirasa lebih aman dibandingkan kunci simetris.

Algoritma Spritz adalah algoritma simetris yang merupakan varian dari algoritma RC4 yang dilakukan oleh Ron Rivest dan Jacob Schultz pada tahun 2014.

Algoritma Spritz meningkatkan kompleksitas dari RC4, maka waktu yang

(18)

digunakan untuk melakukan enkripsi sebuah data juga meningkat dan tingkat keamanan dari algoritma Spritz lebih baik dari RC4 (Rivest dan Schultz, 2014).

Prosedur utama pada algoritma Spritz lebih baik dari tiga proses yaitu proses Key Scheduling Algorithm (KSA), Pseudo-Random Generation Algorithm (PGRA) dan proses enkripsi atau dekripsi.

Algoritma Rabin-p merupakan algoritma yang menerapkan kunci asimetris.

Kelebihan algoritma Rabin-p yaitu memiliki tingkat keamanan yang sangat baik namun memiliki kelemahan yaitu menghasilkan ciphertext yang beberapa kali lebih panjang dari plaintext. Algoritma Rabin-p memiliki kunci privat yang terdiri dari dua bilangan prima p dan 𝑞 dimana 𝑝 ≡ 𝑞 ≡ 3(𝑚𝑜𝑑 4). Bilangan integer 𝑁 = 𝑝2𝑞 dilambangkan sebagai kunci publik dan p sebagai kunci privat.

Dengan melihat kelebihan dan kekurangan dari algoritma Spritz dan algoritma Rabin-p, penulis menggabungkan keduanya untuk mengamankan pesan atau dokumen sehingga tingkat keamanan dan kerahasiaan menjadi lebih baik.

Berdasarkan latar belakang yang telah diuraikan, maka pada kesempatan kali ini, penulis ingin melakukan penelitian dengan judul “Implementasi Algoritma Spritz dan Algoritma Kunci Publik Rabin-p dengan Skema Hybrid Cryptosystem pada Pengamanan Teks”.

1.2 Rumusan Masalah

Pengiriman pesan atau dokumen yang bersifat rahasia bisa diretas oleh siapa saja.

Peretasan yang dilakukan dapat berupa hilangnya beberapa teks didalam file maupun berubahnya isi dari file yang dikirimkan. Maka dari itu, pada proses pengiriman pesan atau dokumen membutuhkan peningkatan keamanan file tersebut.

1.3 Batasan Masalah

Batasan-batasan masalah yang terdapat dalam penelitian ini adalah :

1. Jenis file yang digunakan adalah file teks yang berekstensi (*.docx) dan hanya melakukan enkripsi pada string (tidak melakukan enkripsi pada gambar dan tabel).

(19)

2. Menggunakan algoritma Spritz untuk melakukan proses enkripsi dan dekripsi file algoritma Rabin-p untuk melakukan proses enkripsi dan dekripsi kunci.

3. Plaintext dan ciphertext berdasarkan kode ASCII (American Standard Code for Information Interchange) 256 karakter (8 bit).

4. Menghitung Real Running Time dalam satuan waktu second (s).

5. Prime Generator menggunakan Miller-Rabin

6. Menggunakan bahasa pemrograman C# dan menggunakan IDE SharpDevelop

1.4 Tujuan Penelitian

Tujuan dalam melakukan penelitian ini adalah :

1. Mengimplementasikan Hybrid Cryptosystem menggunakan algoritma Spritz dan algoritma Rabin-p dalam pengamanan file teks yang berekstensi .docx.

2. Menghitung waktu nyata (Real Time) dalam satuan waktu second pada saat enkripsi dan dekripsi suatu file teks yang berekstensi .docx.

1.5 Manfaat Penelitian

Manfaat dalam melakukan penelitian ini adalah :

1. Penelitian ini diharapkan dapat melakukan pengamanan file dengan menggunakan algoritma Spritz dan algoritma kunci publik Rabin-p secara Hybrid Cryptosystem.

2. Penelitian ini diharapkan dapat mengetahui proses enkripsi dan dekripsi dalam satuan waktu second (s).

1.6 Metodologi Penelitian

Metodologi dalam penelitian ini memiliki beberapa tahapan, yaitu : 1. Studi Pustaka

Tahap ini sebagai awal dimulainya penelitian yang akan dilakukan dengan mengumpulkan berbagai referensi yang berhubungan dengan judul penelitian ini. Pengumpulan referensi didapat dari sumber-sumber terpercaya seperti buku, artikel, penelitian sebelumnya, maupun jurnal yang berhubungan dengan algoritma Spritz, algoritma Rabin-p dan skema Hybrid Cryptosystem.

(20)

2. Analisis dan Perancangan

Tahap ini sebagai analisis dari data-data maupun referensi yang didapatkan untuk dimasukkan kedalam Diagram Ishikawa, Diagram Umum Sistem, Use Case Diagram, Activity Diagram, Sequence Diagram, Flowchart serta rancangan sistem dari penelitian ini.

3. Implementasi

Tahap ini sebagai implementasi dari sistem yang dibuat dengan menggunakan bahasa pemrograman C# yang sesuai dengan algoritma Spritz dan algoritma Rabin-p.

4. Pengujian

Tahap ini sebagai proses uji coba dari sistem yang telah dibuat dalam menerapkan Skema Hybrid Cryptosystem terhadap Algoritma Spritz dan Algoritma Rabin-p menggunakan file yang berekstensi .docx.

5. Dokumentasi

Tahap ini sebagai pengumpulan seluruh tahapan yang dimulai dari tahapan analisa dan perancangan hingga tahapan pengujian yang disusun dalam bentuk skripsi.

1.7 Sistematika Penulisan Penelitian

Sistematika penulisan dalam penelitian ini memiliki lima bab, yaitu :

BAB I PENDAHULUAN

Bab ini terdiri dari tujuh bagian yang terkait dengan penelitian, yaitu latar belakang penelitian mengenai pemilihan judul skripsi “Implementasi Algoritma Spritz dan Algoritma Kunci Publik Rabin-p dengan Skema Hybrid Cryptosystem pada Pengamanan Teks”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian serta sistematika penulisan penelitian.

(21)

BAB II LANDASAN TEORI

Bab ini terdiri dari beberapa teori mengenai kriptografi, penjelasan dan perhitungan dasar dari algoritma Spritz maupun algoritma Rabin-p, dan skema Hybrid Cryptosystem.

BAB III ANALISIS DAN PERANCANGAN

Bab ini terdiri dari analisis mengenai algoritma Spritz dan algoritma Rabin-p dengan skema Hybrid Cryptosystem dan proses perancangan sistem yang akan dibuat dengan menggunakan Diagram Ishikawa, Diagram Umum Sistem, Use Case Diagram, Activity Diagram, Sequence Diagram, serta Flowchart.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini terdiri dari implementasi dari sistem yang telah dibuat dengan menerapkan algoritma Spritz dan algoritma Rabin-p serta dilakukan pengujian terhadap sistem hingga memperoleh hasil analisisnya.

BAB V KESIMPULAN DAN SARAN

Bab ini terdiri dari kesimpulan dan saran yang diperoleh berdasarkan penelitian yang telah dilakukan dan hasil pengujian diharapkan dapat memudahkan untuk proses pengembangan penelitian selanjutnya

(22)

BAB II

LANDASAN TEORI

2.1 Kriptografi

Kriptografi (Cryptography) berasal dari bahasa yunani yang terdiri dari dua kata yaitu kryptos dan graphein. Kryptos artinya tersembunyi dan graphein artinya tulisan (Prayudi, 2005). Kriptografi terdiri dari 4 bagian utama yaitu plaintext, key, ciphertext dan algoritma. Plaintext merupakan pesan yang dikirim oleh si pengirim pesan. Key merupakan kunci yang digunakan dalam proses enkripsi dan dekripsi pesan. Sedangkan Ciphertext merupakan pesan yang telah di enkripsi menggunakan kunci dan algoritma merupakan langkah-langkah yang digunakan untuk teknik kriptografi secara sistematis.

2.1.1 Proses Kriptografi

Dalam prosesnya, kriptografi memiliki dua proses utama yaitu enkripsi dan dekripsi. Enkripsi merupakan proses pengubahan plaintext menjadi ciphertext sedangkan dekripsi merupakan proses pengubahan ciphertext menjadi plaintext kembali, sehingga dapat menghasilkan pesan awal atau pesan asli. Enkripsi dan dekripsi pesan dilakukan dengan sebuah kunci ataupun beberapa kunci. Proses Enkripsi dan Dekripsi dapat dilihat pada gambar 2.1 dibawah ini :

Gambar 2.1 Proses Enkripsi dan Dekripsi

2.1.2 Jenis Algoritma

Berdasarkan kunci yang digunakan, algoritma kriptografi dibedakan menjadi dua jenis yaitu algoritma simetris dan algoritma asimetris.

a. Algoritma Simetris

(23)

Algoritma simetris yaitu teknik yang digunakan pada kriptografi klasik (Kromodimoeljo, 2010). Kriptografi simetris adalah jenis kriptografi yang paling umum digunakan . Kunci yang digunakan untuk mengubah plaintext menjadi ciphertext sama dengan kunci yang digunakan untuk mengubah ciphertext menjadi plaintext. Keamanan algoritma simetri tergantung pada kunci, membocorkan kunci berarti bahwa orang lain dapat mengenkripsi dan mendekripsi pesan. Agar komunikasi tetap aman, kunci harus tetap dirahasiakan. Contoh dari algoritma kunci simetri adalah Beaufort, Spritz, Blowfish, Twofish, DES(Data Encryption Standard) (Schneier, 1996).

Kelebihan dari kriptografi simetris adalah kecepatan operasi lebih tinggi dibandingkan dengan kriptografi asimetris sesuai dengan ukuran file yang di enkripsi/dekripsi. Kelemahan dari kriptografi simetris adalah dalam hal penggunaan kunci yang sama untuk melakukan enkripsi dan dekripsi data. Bila kunci tersebar maka dekripsi data dapat dilakukan oleh siapapun dan untuk setiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam memanajemen kunci tersebut. Proses Enkripsi dan Dekripsi pada Algoritma Simetris dapat dilihat pada gambar 2.2 dibawah ini :

Gambar 2.2 Proses Enkripsi dan Dekripsi pada Algoritma Simetris 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. Algoritma disebut kunci publik karena kunci enkripsi dapat dibuat publik yang berarti semua orang boleh

(24)

mengetahuinya. Siapapun dapat menggunakan kunci enkripsi tersebut untuk mengenkripsi pesan, namun hanya orang tertentu (calon penerima pesan dan sekaligus pemilik kunci dekripsi yang merupakan pasangan kunci publik) yang dapat melakukan dekripsi terhadap pesan tersebut. Contoh algoritma asimetris yaitu Rabin-p, Elgamal, RSA (Rivest Shamir Adleman), ECC(Elliptic Curve Cryptography) (Schneier, 1996). Proses Enkripsi dan Dekripsi pada Algoritma Asimetris dapat dilihat pada gambar 2.3 dibawah ini:

Gambar 2.3 Proses Enkripsi dan Dekripsi pada Algoritma Asimetris

2.2 Metode Hybrid Cryptosystem

Hybrid Cryptosystem merupakan metode yang mengkombinasikan antara algoritma simetris dan algoritma asimetris. Kelebihan dari metode ini adalah algoritma simetris dengan proses data yang cepat ditambah algoritma asimetris dengan transfer kunci yang mudah menyebabkan peningkatan kecepatan dan keamanan yang baik (Annelis, 2010). Metode ini menerapkan kriptosistem yang sangat aman dengan proses enkripsi maupun dekripsi pesan menggunakan algoritma simetris dan proses pertukaran kunci menggunakan algoritma asimetris (Gutub & Khan, 2012). Pada penelitian ini, digunakan hybrid cryptosystem dengan memanfaatkan algoritma simetris Spritz dan algoritma asimetris Rabin-p yang dijelaskan pada gambar 2.4 dan gambar 2.5 :

(25)

Gambar 2.4 Proses Enkripsi Hybrid Cryptosystem dengan menggunakan Algoritma Spritz dan Algoritma Rabin-p

Gambar 2.5 Proses Dekripsi Hybrid Cryptosystem dengan menggunakan Algoritma Spritz dan Algoritma Rabin-p

2.3 Teori Bilangan 2.3.1 Bilangan Prima

Bilangan prima merupakan bilangan yang hanya memiliki dua faktor pembagi yaitu 1 dan bilangan itu sendiri (Untoro, 2010). Contoh bilangan prima yaitu 2, 3, 5, 7, dan 11.

2.3.2 Euclidean Greatest Common Divisor (GCD)

Greatest Common Divisor (GCD) merupakan bilangan bulat terbesar yang membagi kedua angka dengan sisa 0 (Upadhay, 2013). Seorang matematikawan Yunani menemukan cara untuk mencari bilangan bulat terbesar dengan algoritma Euclidean yang tertulis pada bukunya yaitu “Elements”. Pada algoritma ini menggunakan sisa pembagian (modulo) (Munir, 2003).

Langkah-langkah Algoritma Euclidean :

1. Jika 𝑛 = 0, maka 𝑚 adalah GCD(𝑚, 𝑛) dan stop. Jika 𝑛 ≠ 0, maka lanjut ke langkah 2

2. Bagilah 𝑚 dengan 𝑛 dan misalkan 𝑟 adalah sisanya

3. Ganti nilai 𝑚 dengan 𝑛 dan nilai 𝑛 dengan nilai 𝑟, lalu ulang kembali ke langkah 1, hingga 𝑛 = 0.

Contoh : Berapa GCD(27,6)?

Jawab : GCD(27,6) adalah :

(26)

27 𝑚𝑜𝑑 6 = 3 6 𝑚𝑜𝑑 3 = 0

Karena telah menghasilkan sisa pembagiannya 0, maka proses berakhir dan hasilnya adalah GCD(27,6) = 3.

2.3.3 Algoritma Extended Euclidean

Algoritma ini digunakan untuk memecahkan Persamaan Diophantine Linear yang memenuhi identitas Bezout. Contoh : Berapa nilai 𝑥 dan 𝑦 yang memenuhi 100𝑥 + 29𝑦 ?

Jawab : a = 100 dan b = 29. Maka, GCD(100,29) = 1 = c (yang memenuhi syarat) Tabel 2.1 Contoh perhitungan m-1

𝑥 𝑦 𝑑 𝑘

1 0 100

0 1 29 3

1 −3 13 2

−2 7 3 4

9 −31 1

Maka, diperoleh nilai dari 𝑥 adalah 9 dan nilai dari 𝑦 adalah (-31).

2.3.4 Blum Integer

Blum Integer adalah bilangan bulat positif yang merupakan hasil dari perkalian dua buah bilangan prima dimana 𝑝 ≡ 𝑞 ≡ 3(𝑚𝑜𝑑 4). Contoh : beberapa angka yang termasuk 𝑝 ≡ 𝑞 ≡ 3(𝑚𝑜𝑑 4) adalah 15, 47, 59, 131, dan 251.

2.3.5 Miller-Rabin

Miller-Rabin digunakan untuk menentukan suatu bilangan prima dengan menggunakan eksponensial modular dan jika akar kuadrat dari 1 𝑚𝑜𝑑 𝑛 adalah ±1.

Selain itu, maka bilangan tersebut adalah merupakan bilangan komposit. Contoh : Menentukan bilangan prima.

Jawab : Diambil nilai 𝑛 = 23

a. Nyatakan (n-1) = 2𝑘. 𝑞, tentukan nilai 𝑘, 𝑞 dengan 𝑘 > 0 dan 𝑞 bilangan ganjil.

(27)

𝑛 − 1 = 22 = 21. 11, 𝑘 = 1, 𝑞 = 11

b. Pilih nilai 𝑎 secara random, dimana (1 < 𝑎 < 𝑛 − 1) 𝑎 = 2

c. 𝑖𝑓 𝑎𝑞 𝑚𝑜𝑑 𝑛 = 1, 𝑟𝑒𝑡𝑢𝑟𝑛 𝑝𝑟𝑖𝑚𝑒 211 𝑚𝑜𝑑 23 = 2048 𝑚𝑜𝑑 23 = 1 𝑛 = 23→ Bilangan Prima

2.4 Algoritma Spritz

Algoritma Spritz merupakan algoritma simetris yang memiliki dua bagian yaitu Key Scheduling Algorithm (KSA) dan Pseudo-Random Generation Algorithm (PRGA).

Algoritma Spritz merupakan sebuah varian dari RC4 yang memiliki kompleksitas tinggi karena sponge-based construction meningkatkan keamanan dari algoritma RC4 yang menyebabkan waktu yang digunakan untuk mengenkripsi sebuah data juga meningkat meskipun tingkat keamanan dari algoritma Spritz lebih tinggi dari RC4 (Rivest dan Schuldt, 2014).

2.4.1 Key Scheduling Algorithm (KSA)

Key-Scheduling Algorithm (KSA) pada algoritma Spritz dimulai dengan mendeklarasikan titik awal berupa larik yang terdiri dari 256 kemungkinan bytes yang ada pada array S. Dimana S adalah permutasi 256-byte yang di deklarasi oleh KSA, variabel i dan j merupakan variabel integer yang mempunyai nilai awal 0.

Adapun key adalah kunci rahasia yang akan dimasukkan.

Contoh :

Plaintext = “DEA”

(28)

Kunci = “AMD”

Maka panjang kuncinya adalah 3 karakter dengan key[0] = “A”, key[1] = “M”, key[2] = “D”. Nilai ASCII dari tiga kunci tersebut yaitu key=[65,77,68]. Selanjutnya perhitungan nilai j yang pertama dengan nilai awal 𝑖 = 0 dan 𝑗 = 0 sebagai berikut:

𝑗 = (𝑗 + 𝑆[𝑖] + 𝑘𝑒𝑦[𝑖 𝑚𝑜𝑑 𝑘𝑒𝑦 𝑙𝑒𝑛𝑔𝑡ℎ]) 𝑚𝑜𝑑 256

𝑗 = (0 + 𝑆[0] + 𝑘𝑒𝑦[0 𝑚𝑜𝑑 3])𝑚𝑜𝑑 256 = (0 + 0 + 65)𝑚𝑜𝑑 256 = 65 𝑠𝑤𝑎𝑝(𝑆[𝑖], 𝑆[𝑗]) = 𝑠𝑤𝑎𝑝(𝑆[0], 𝑆[65])

𝑆[0] = 65 𝑆[65] = 0

Kemudian dilanjutkan perhitungan nilai 𝑗 yang dimulai dengan 𝑖 = 1 dan 𝑗 = 65 sebagai berikut :

𝑗 = (65 + 𝑆[1] + 𝑘𝑒𝑦[1 𝑚𝑜𝑑 3])𝑚𝑜𝑑 256 = (65 + 1 + 77)𝑚𝑜𝑑 256 = 143 𝑠𝑤𝑎𝑝(𝑆[𝑖], 𝑆[𝑗]) = 𝑠𝑤𝑎𝑝(𝑆[1], 𝑆[143])

𝑆[1] = 143 𝑆[143] = 1

Dilanjutkan sampai 𝑖 = 255

Tabel 2.2 Larik 256 Byte Hasil Perhitungan Tahap Key Scheduling

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

32 143 149 25 193 179 55 183 43 185 194 53 184 8

14 15 16 17 18 19 20 21 22 23 24 25 26 27

217 182 48 12 31 140 144 181 44 170 14 85 219 78

28 29 30 31 32 33 34 35 36 37 38 39 40 41

117 201 16 95 65 98 29 19 157 211 121 13 100 67

42 43 44 45 46 47 48 49 50 51 52 53 54 55

46 166 247 102 251 108 205 136 222 155 202 138 130 250

56 57 58 59 60 61 62 63 64 65 66 67 68 69

109 60 47 113 231 241 69 197 82 150 77 220 225 125

70 71 72 73 74 75 76 77 78 79 80 81 82 83

173 245 91 186 57 177 142 165 252 107 204 24 81 159

84 85 86 87 88 89 90 91 92 93 94 95 96 97

119 191 17 131 227 167 235 147 39 34 122 156 22 58 98 99 100 101 102 103 104 105 106 107 108 109 110 111 15 84 86 93 116 79 248 54 33 105 110 97 137 218

(29)

112 113 114 115 116 117 118 119 120 121 122 123 124 125 134 141 26 242 120 112 223 28 229 160 124 171 63 99 126 127 128 129 130 131 132 133 134 135 136 137 138 139

90 232 2 151 152 199 40 37 126 49 61 175 42 4 140 141 142 143 144 145 146 147 148 149 150 151 152 153 163 188 35 145 21 50 172 74 195 213 70 127 115 196 154 155 156 157 158 159 160 161 162 163 164 165 166 167 139 114 216 146 128 226 240 253 249 75 80 101 94 62 168 169 170 171 172 173 174 175 176 177 178 179 180 181 176 148 164 238 233 9 236 200 73 64 92 207 189 230 182 183 184 185 186 187 188 189 190 191 192 193 194 195 10 27 210 228 104 30 45 56 212 66 246 214 59 83 196 197 198 199 200 201 202 203 204 205 206 207 208 209 168 154 209 161 3 111 1 0 89 18 239 118 20 180 210 211 212 213 214 215 216 217 218 219 220 221 222 223 215 135 221 174 106 234 192 224 254 162 237 76 36 129 224 225 226 227 228 229 230 231 232 233 234 235 236 237 244 133 68 5 71 132 7 87 96 243 88 153 208 203 238 239 240 241 242 243 244 245 246 247 248 249 250 251 178 169 255 41 158 51 72 6 52 103 187 11 206 123 252 253 254 255

23 190 38 198

2.4.2 Pseudo-Random Generation Algorithm (PRGA)

Pseudo-Random Generation Algorithm (PRGA) menginisialisasikan nilai 𝑖 = 0, 𝑗 = 0, 𝑘 = 0, 𝑧 = 0, dan 𝑤 = bilangan acak yang merupakan bilangan GCD atau relatif prima dengan panjang 𝑆 yaitu 256.

for l=0 to plainLength-1 i = i + w

j = k + S[j+S[i]] mod 256 k = i + k + S[j] mod 256 swap S[i] with S[j]

z = S[j + S[i + S[z + k]]] mod 256 output z

end for

(30)

Variabel 𝑖, 𝑗 merupakan variabel integer yang mempunyai nilai awal 0 dan 𝑧 merupakan variabel integer yang merupakan output dan mempunyai nilai awal 0.

Contoh Enkripsi : Karakter “D”

𝑖 = 0; 𝑗 = 0; 𝑘 = 0; 𝑧 = 0; 𝑤 = 15

• 𝑖 = (𝑖 + 𝑤) = (0 + 15)𝑚𝑜𝑑 256 = 15

• 𝑗 = (𝑘 + 𝑆[𝑗 + 𝑆[𝑖]]) = (0 + 𝑆[0 + 𝑆[15]])𝑚𝑜𝑑 256

= (0 + 𝑆[0 + 182])𝑚𝑜𝑑 256

= (0 + 𝑆[182])𝑚𝑜𝑑 256

= 10 𝑚𝑜𝑑 256 = 10

• 𝑘 = (𝑖 + 𝑘 + 𝑆[𝑗]) = (15 + 0 + 𝑆[10])𝑚𝑜𝑑 256

= (15 + 0 + 194)𝑚𝑜𝑑 256

= 209 𝑚𝑜𝑑 256 = 209

• 𝑆[𝑖], 𝑆[𝑗] = 𝑆[𝑖] = 𝑆[15] = 182, 𝑆[𝑗] = 𝑆[10] = 194

• 𝑠𝑤𝑎𝑝 𝑆[𝑖] 𝑤𝑖𝑡ℎ 𝑆[𝑗] = 𝑆[𝑖] = 𝑆[15] = 194, 𝑆[𝑗] = 𝑆[10] = 182

• 𝑧 = 𝑆[𝑗 + 𝑆[𝑖 + 𝑆[𝑧 + 𝑘]]] = 𝑆[10 + 𝑆[15 + 𝑆[0 + 209]]] 𝑚𝑜𝑑 256

= 𝑆[10 + 𝑆[15 + 180]] 𝑚𝑜𝑑 256

= 𝑆[10 + 𝑆[195] 𝑚𝑜𝑑 256

= 𝑆[10 + 83] 𝑚𝑜𝑑 256

= 𝑆[93] 𝑚𝑜𝑑 256

= 34 𝑚𝑜𝑑 256 = 34

Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter “D” adalah 68 dan nilai z yang diperoleh adalah 34.

68 = 01000100 34 = 00100010

= 01100110 = 10210 dalam tabel ASCII merupakan “ f “

Karakter “E”

𝑖 = 15; 𝑗 = 10; 𝑘 = 209; 𝑧 = 34; 𝑤 = 15

• 𝑖 = (𝑖 + 𝑤) = (15 + 15)𝑚𝑜𝑑 256 = 30

• 𝑗 = (𝑘 + 𝑆[𝑗 + 𝑆[𝑖]]) = (209 + 𝑆[10 + 𝑆[30]])𝑚𝑜𝑑 256

(31)

= (209 + 𝑆[10 + 16])𝑚𝑜𝑑 256

= (209 + 𝑆[26])𝑚𝑜𝑑 256

= (209 + 219)𝑚𝑜𝑑 256

= [172]𝑚𝑜𝑑 256 = 233 𝑚𝑜𝑑 256 = 233

• 𝑘 = (𝑖 + 𝑘 + 𝑆[𝑗]) = (30 + 209 + 𝑆[233])𝑚𝑜𝑑 256

= (30 + 209 + 243)𝑚𝑜𝑑 256

= [226] 𝑚𝑜𝑑 256 = 68

• 𝑆[𝑖], 𝑆[𝑗] = 𝑆[𝑖] = 𝑆[30] = 16, 𝑆[𝑗] = 𝑆[233] = 243

• 𝑠𝑤𝑎𝑝 𝑆[𝑖] 𝑤𝑖𝑡ℎ 𝑆[𝑗] = 𝑆[𝑖] = 𝑆[30] = 243, 𝑆[𝑗] = 𝑆[233] = 16

• 𝑧 = 𝑆[𝑗 + 𝑆[𝑖 + 𝑆[𝑧 + 𝑘]]] = 𝑆[233 + 𝑆[30 + 𝑆[34 + 68]]] 𝑚𝑜𝑑 256

= 𝑆[233 + 𝑆[30 + 116]] 𝑚𝑜𝑑 256

= 𝑆[233 + 𝑆[146] 𝑚𝑜𝑑 256

= 𝑆[233 + 172] 𝑚𝑜𝑑 256

= 𝑆[149] 𝑚𝑜𝑑 256

= 213 𝑚𝑜𝑑 256 = 213

Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter “E” adalah 69 dan nilai z yang diperoleh adalah 213.

69 = 01000101 213 = 11010101

= 10010000 = 14410 dalam tabel ASCII merupakan “ Ğ “

Karakter “A”

𝑖 = 30; 𝑗 = 233; 𝑘 = 68; 𝑧 = 213; 𝑤 = 15

• 𝑖 = (𝑖 + 𝑤) = (30 + 15)𝑚𝑜𝑑 256 = 45

• 𝑗 = (𝑘 + 𝑆[𝑗 + 𝑆[𝑖]]) = (68 + 𝑆[233 + 𝑆[45]])𝑚𝑜𝑑 256

= (68 + 𝑆[233 + 102])𝑚𝑜𝑑 256

= (68 + 𝑆[79])𝑚𝑜𝑑 256

= 175 𝑚𝑜𝑑 256 = 175

• 𝑘 = (𝑖 + 𝑘 + 𝑆[𝑗]) = (45 + 68 + 𝑆[175])𝑚𝑜𝑑 256

= (45 + 68 + 200)𝑚𝑜𝑑 256

= [57]𝑚𝑜𝑑 256 = 60 𝑚𝑜𝑑 256 = 60

(32)

• 𝑆[𝑖], 𝑆[𝑗] =𝑆[𝑖] = 𝑆[45] = 102, 𝑆[𝑗] = 𝑆[175] = 200

• 𝑠𝑤𝑎𝑝 𝑆[𝑖] 𝑤𝑖𝑡ℎ 𝑆[𝑗] =𝑆[𝑖] = 𝑆[45] = 200, 𝑆[𝑗] = 𝑆[175] = 102

• 𝑧 = 𝑆[𝑗 + 𝑆[𝑖 + 𝑆[𝑧 + 𝑘]]] = 𝑆[175 + 𝑆[45 + 𝑆[213 + 60]]] 𝑚𝑜𝑑 256

= 𝑆[175 + 𝑆[45 + 12]] 𝑚𝑜𝑑 256

= 𝑆[175 + 𝑆[57] 𝑚𝑜𝑑 256

= 𝑆[175 + 60] 𝑚𝑜𝑑 256

= 𝑆[235] 𝑚𝑜𝑑 256

= 153 𝑚𝑜𝑑 256 = 153

Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter “A” adalah 65 dan nilai z yang diperoleh adalah 153.

65 = 01000001 153 = 10011001

= 11011000 = 21610 dalam tabel ASCII merupakan “ Ø “

Contoh Dekripsi : Karakter “ f ”

𝑖 = 0; 𝑗 = 0; 𝑘 = 0; 𝑧 = 0; 𝑤 = 15

• 𝑖 = (𝑖 + 𝑤) = (0 + 15)𝑚𝑜𝑑 256 = 15

• 𝑗 = (𝑘 + 𝑆[𝑗 + 𝑆[𝑖]]) = (0 + 𝑆[0 + 𝑆[15]])𝑚𝑜𝑑 256

= (0 + 𝑆[0 + 182])𝑚𝑜𝑑 256

= (0 + 𝑆[182])𝑚𝑜𝑑 256

= 10 𝑚𝑜𝑑 256 = 10

• 𝑘 = (𝑖 + 𝑘 + 𝑆[𝑗]) = (15 + 0 + 𝑆[10])𝑚𝑜𝑑 256

= (15 + 0 + 194)𝑚𝑜𝑑 256

= 209 𝑚𝑜𝑑 256 = 209

• 𝑆[𝑖], 𝑆[𝑗] = 𝑆[𝑖] = 𝑆[15] = 182, 𝑆[𝑗] = 𝑆[10] = 194

• 𝑠𝑤𝑎𝑝 𝑆[𝑖] 𝑤𝑖𝑡ℎ 𝑆[𝑗] = 𝑆[𝑖] = 𝑆[15] = 194, 𝑆[𝑗] = 𝑆[10] = 182

• 𝑧 = 𝑆[𝑗 + 𝑆[𝑖 + 𝑆[𝑧 + 𝑘]]] = 𝑆[10 + 𝑆[15 + 𝑆[0 + 209]]] 𝑚𝑜𝑑 256

= 𝑆[10 + 𝑆[15 + 180]] 𝑚𝑜𝑑 256

= 𝑆[10 + 𝑆[195] 𝑚𝑜𝑑 256

= 𝑆[10 + 83] 𝑚𝑜𝑑 256

(33)

= 𝑆[93] 𝑚𝑜𝑑 256

= 34 𝑚𝑜𝑑 256 = 34

Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter “f” adalah 102 dan nilai z yang diperoleh adalah 34.

102 = 01100110 34 = 00100010

= 01000100 = 6810 dalam tabel ASCII merupakan “ D “

Karakter “ Ğ ”

𝑖 = 15; 𝑗 = 10; 𝑘 = 209; 𝑧 = 34; 𝑤 = 15

• 𝑖 = (𝑖 + 𝑤) = (15 + 15)𝑚𝑜𝑑 256 = 30

• 𝑗 = (𝑘 + 𝑆[𝑗 + 𝑆[𝑖]]) = (209 + 𝑆[10 + 𝑆[30]])𝑚𝑜𝑑 256

= (209 + 𝑆[10 + 16])𝑚𝑜𝑑 256

= (209 + 𝑆[26])𝑚𝑜𝑑 256

= (209 + 219)𝑚𝑜𝑑 256

= [172]𝑚𝑜𝑑 256 = 233 𝑚𝑜𝑑 256 = 233

• 𝑘 = (𝑖 + 𝑘 + 𝑆[𝑗]) = (30 + 209 + 𝑆[233])𝑚𝑜𝑑 256

= (30 + 209 + 243)𝑚𝑜𝑑 256

= [226] 𝑚𝑜𝑑 256 = 68

• 𝑆[𝑖], 𝑆[𝑗] = 𝑆[𝑖] = 𝑆[30] = 16, 𝑆[𝑗] = 𝑆[233] = 243

• 𝑠𝑤𝑎𝑝 𝑆[𝑖] 𝑤𝑖𝑡ℎ 𝑆[𝑗] = 𝑆[𝑖] = 𝑆[30] = 243, 𝑆[𝑗] = 𝑆[233] = 16

• 𝑧 = 𝑆[𝑗 + 𝑆[𝑖 + 𝑆[𝑧 + 𝑘]]] = 𝑆[233 + 𝑆[30 + 𝑆[34 + 68]]] 𝑚𝑜𝑑 256

= 𝑆[233 + 𝑆[30 + 116]] 𝑚𝑜𝑑 256

= 𝑆[233 + 𝑆[146] 𝑚𝑜𝑑 256

= 𝑆[233 + 172] 𝑚𝑜𝑑 256

= 𝑆[149] 𝑚𝑜𝑑 256

= 213 𝑚𝑜𝑑 256 = 213

Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter “Ğ” adalah 144 dan nilai z yang diperoleh adalah 213.

144 = 10010000 213 = 11010101

= 01000101 = 6910 dalam tabel ASCII merupakan “ E “

(34)

Karakter “ Ø ”

𝑖 = 30; 𝑗 = 233; 𝑘 = 68; 𝑧 = 213; 𝑤 = 15

• 𝑖 = (𝑖 + 𝑤) = (30 + 15)𝑚𝑜𝑑 256 = 45

• 𝑗 = (𝑘 + 𝑆[𝑗 + 𝑆[𝑖]]) = (68 + 𝑆[233 + 𝑆[45]])𝑚𝑜𝑑 256

= (68 + 𝑆[233 + 102])𝑚𝑜𝑑 256

= (68 + 𝑆[79])𝑚𝑜𝑑 256

= 175 𝑚𝑜𝑑 256 = 175

• 𝑘 = (𝑖 + 𝑘 + 𝑆[𝑗]) = (45 + 68 + 𝑆[175])𝑚𝑜𝑑 256

= (45 + 68 + 200)𝑚𝑜𝑑 256

= [57]𝑚𝑜𝑑 256 = 60 𝑚𝑜𝑑 256 = 60

• 𝑆[𝑖], 𝑆[𝑗] =𝑆[𝑖] = 𝑆[45] = 102, 𝑆[𝑗] = 𝑆[175] = 200

• 𝑠𝑤𝑎𝑝 𝑆[𝑖] 𝑤𝑖𝑡ℎ 𝑆[𝑗] =𝑆[𝑖] = 𝑆[45] = 200, 𝑆[𝑗] = 𝑆[175] = 102

• 𝑧 = 𝑆[𝑗 + 𝑆[𝑖 + 𝑆[𝑧 + 𝑘]]] = 𝑆[175 + 𝑆[45 + 𝑆[213 + 60]]] 𝑚𝑜𝑑 256

= 𝑆[175 + 𝑆[45 + 12]] 𝑚𝑜𝑑 256

= 𝑆[175 + 𝑆[57] 𝑚𝑜𝑑 256

= 𝑆[175 + 60] 𝑚𝑜𝑑 256

= 𝑆[235] 𝑚𝑜𝑑 256

= 153 𝑚𝑜𝑑 256 = 153

Operasi XOR dilakukan untuk mendapatkan hasil enkripsinya dengan nilai dari karakter “Ø” adalah 216 dan nilai z yang diperoleh adalah 153.

216 = 11011000 153 = 10011001

= 01000001 = 6510 dalam tabel ASCII merupakan “ A “

2.5 Algoritma Rabin-p

Algoritma Rabin-p adalah algoritma yang memiliki dua jenis kunci yaitu kunci publik dan kunci privat. Kunci publik digunakan untuk enkripsi pesan sedangkan kunci privat digunakan untuk dekripsi pesan (Asbullah et.al, 2016).

2.5.1 Pembangkit Kunci Algoritma Rabin-p

Pada proses ini, kunci publik dan kunci privat dibangkitkan dengan cara : 1. Tentukan 𝑘 sebagai parameter keamanan.

(35)

2. Pilih dua bilangan prima acak untuk nilai 𝑝 dan 𝑞 dimana 2𝑘 < 𝑝, 𝑞 < 2𝑘+1 memenuhi 𝑝 ≡ 𝑞 ≡ 3 (𝑚𝑜𝑑 4).

3. Hitung 𝑁 = 𝑝2𝑞.

4. Nilai dari 𝑁 dianggap sebagai kunci publik dan nilai dari 𝑝, 𝑞 dianggap sebagai kunci privat.

Contoh : Diketahui 𝑝 = 59; 𝑞 = 47; 𝑘 = 5 Hitung : 𝑁 = 𝑝2. 𝑞 = 592. 47 = 163.607

Maka, 𝑁 = 163.607 sebagai kunci publik dan 𝑝 = 59 sebagai kunci privat.

2.5.2 Metode Enkripsi

Pada proses ini, pesan akan di enkripsi dengan cara :

1. Pilih plaintext 0 < 𝑚 < 22𝑘−1 dimana GCD (𝑚, 𝑁) = 1 2. Hitung 𝑐 ≡ 𝑚2(𝑚𝑜𝑑 𝑁).

Contoh :

1. Pilih plaintext (𝑚) yang memiliki panjang antara lebih besar dari 0 dan lebih kecil dari 22𝑘−1 . Misalkan plaintext adalah karakter “t”. Karakter “t” dalam tabel ASCII adalah “116” dan dalam biner yaitu “01110100”.

𝑚 = 116, maka 0 < 𝑚 < 22𝑘−2 = 0 < 116 < 512.

116 𝑚𝑜𝑑 163607 = 116 163607 𝑚𝑜𝑑 116 = 47 116 𝑚𝑜𝑑 47 = 22 47 𝑚𝑜𝑑 22 = 3 22 𝑚𝑜𝑑 3 = 1

Maka syarat terpenuhi yaitu GCD (116, 163607) = 1.

2. Hitung 𝑐 ≡ 𝑚2(𝑚𝑜𝑑 𝑁)

Karakter “t” memiliki kode ASCII = 116

𝑐 ≡ 𝑚2 𝑚𝑜𝑑 𝑁 ≡ 1162 𝑚𝑜𝑑 163607 ≡ 13456

2.5.3 Metode Dekripsi

Pada proses ini, pesan akan di dekripsi dengan cara : 1. Hitung 𝑤 ≡ 𝑐(𝑚𝑜𝑑 𝑝).

(36)

2. Hitung 𝑚𝑝 ≡ 𝑤𝑝+1

4 (𝑚𝑜𝑑 𝑝).

3. Hitung 𝑖 ≡𝑐−𝑚𝑝2

𝑝 . 4. Hitung 𝑗 ≡ 𝑖

2𝑚𝑝(𝑚𝑜𝑑 𝑝).

5. Hitung 𝑚1 = 𝑚𝑝+ 𝑗. 𝑝.

6. Jika 𝑚1 < 22𝑘−1 maka 𝑚 = 𝑚1. 7. Selain itu, 𝑚 = 𝑝2− 𝑚1.

Contoh :

1. Hitung 𝑤 ≡ 𝑐(𝑚𝑜𝑑 𝑝).

𝑤 ≡ 𝑐(𝑚𝑜𝑑 𝑝) ≡ 13456(𝑚𝑜𝑑 59) ≡ 4 2. Hitung 𝑚𝑝 ≡ 𝑤𝑝+1

4 (𝑚𝑜𝑑 𝑝).

𝑚𝑝 ≡ 𝑤𝑝 + 1

4 (𝑚𝑜𝑑 𝑝) ≡ 459 + 1

4 (𝑚𝑜𝑑 59) ≡ 415(𝑚𝑜𝑑 59) ≡ 57 3. Hitung 𝑖 ≡𝑐−𝑚𝑝2

𝑝 𝑖 ≡𝑐 − 𝑚𝑝2

𝑝 ≡13456 − 572

59 ≡13456 − 3249

59 ≡ 10207

59 ≡ 173 4. Hitung 𝑗 ≡ 𝑖

2𝑚𝑝(𝑚𝑜𝑑 𝑝).

𝑗 ≡ 173

2.57(𝑚𝑜𝑑 59) ≡173

114(𝑚𝑜𝑑 59) ≡ 173. 114−1(𝑚𝑜𝑑 59)

≡ 173.44(𝑚𝑜𝑑 59) ≡ 7612(𝑚𝑜𝑑 59) ≡ 1 5. Hitung 𝑚1 = 𝑚𝑝+ 𝑗. 𝑝

𝑚1 = 𝑚𝑝+ 𝑗. 𝑝 = 57 + 1.59 = 57 + 59 = 116 6. Jika 𝑚1 < 22𝑘−1 maka 𝑚 = 𝑚1

𝑚1 < 22𝑘−1 = 116 < 22(5)−1 = 116 < 29= 116 < 512 Maka 𝑚 = 𝑚1 = 116 = “t” dalam ASCII

2.6 Penelitian Yang Relevan

Beberapa penelitian terdahulu yang relevan dengan penelitian yang akan dilakukan oleh penulis antara lain :

1. Penelitian yang berjudul “The cryptanalysis of the Rabin public key algorithm using Fermat factorization method”menyatakan bahwa pemfaktoran kunci

(37)

publik Rabin menggunakan metode Fermat tidak selalu berkorelasi dengan waktu proses. Kecepatan pemfaktoran kunci terletak pada perbedaan kunci (p - q), semakin besar perbedaan kunci (p - q) maka waktu proses yang dibutuhkan akan semakin lama (Budiman, et al., 2019).

2. Penelitian yang berjudul “Analysis of Rabin and Rabin-p Cryptosystem for specifying correct plain text” menyimpulkan bahwa proses dekripsi Rabin-p membutuhkan waktu yang lebih sedikit dibandingkan dengan proses dekripsi Rabin dikarenakan kinerja Rabin-p yang lebih baik (Nayak, Rakesh., 2015).

3. Berdasarkan jurnal yang berjudul “Spritz – A Spongy RC4-Like Stream Cipher and Hash Function.” menyimpulkan bahwa algoritma Spritz meningkatkan kompleksitas dari RC4, maka waktu yang digunakan dalam mengenkripsi sebuah pesan lebih meningkat dan tingkat keamanan algoritma Spritz lebih baik dari RC4 (Rivest dan Schuldt, 2014).

4. Penelitian yang berjudul “Rabin-p Cryptosystem: Practical and Efficient Method for Rabin based Encryption Scheme” menyimpulkan bahwa kriptosistem algoritma Rabin-p merupakan cara yang paling efektif dalam pengamanan dan lebih cepat dibandingkan dengan metode yang ada (Asbullah dan Ariffin, 2014).

(38)

BAB III

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Analisis sistem merupakan tahapan awal dalam membuat suatu sistem. Hal ini dilakukan agar menemukan solusi dari masalah yang terjadi pada sistem, sehingga dapat melakukan perbaikan terhadap sistem dan menganalisa kebutuhan yang akan diterapkan. Adapun beberapa tahapan pada analisis sistem yaitu analisis masalah, analisis kebutuhan sistem dan analisis proses.

3.1.1 Analisis Masalah

Pada tahapan ini, akan identifikasi penyebab masalah yang sedang terjadi. Pada penelitian ini, masalah terdapat pada cara penerapan algoritma Spritz dan algoritma kunci publik Rabin-p dengan skema Hybrid Cryptosystem pada pengamanan teks.

Dalam prosesnya, analisis masalah akan menggunakan Diagram Ishikawa atau yang biasa disebut dengan Fishbone Diagram.Diagram Ishikawa memiliki bentuk seperti ikan yang terdiri atas kepala ikan (fish’s head) sebagai tujuan dari masalah yang diidentifikasi dan tulang-tulang ikan (fish’s bones) sebagai petunjuk dalam memperoleh penyebab terjadinya masalah. Masalah dalam penelitian dibuat ke dalam bentuk diagram Ishikawa yang dapat dilihat sebagai berikut :

Gambar 3.1 Diagram Ishikawa

Gambar 3.1 menyimpulkan bahwa masalah yang muncul diakibatkan oleh kecurigaan terhadap pihak ketiga yang ingin mengetahui isi pesan yang dikirim.

Penyelesaian masalah tersebut dapat dilakukan dengan mengkombinasi algoritma Spritz dan algoritma Rabin-p dengan skema Hybrid Cryptosystem, sehingga sulit untuk diketahui oleh pihak ketiga. Algoritma Spritz akan melakukan enkripsi pada

(39)

pesan. Sedangkan Algoritma Rabin-p akan melakukan enkripsi pada kunci dari algoritma Spritz.

3.1.2 Analisis Kebutuhan

Pada tahapan ini, akan dilakukan analisis terhadap kebutuhan. Analisis kebutuhan memiliki dua bagian yaitu kebutuhan fungsional dan kebutuhan nonfungsional.

Kebutuhan fungsional menjelaskan proses-proses yang dapat dilakukan oleh sistem. Sedangkan kebutuhan nonfungsional menjelaskan tentang hal yang digunakan untuk melengkapi sistem dengan menerapkan hal-hal seperti fitur, karakteristik dan batasan lainnya.

3.1.2.1 Kebutuhan Fungsional

Kebutuhan Fungsional merupakan proses yang dapat dilakukan oleh sistem agar berjalan dengan lancar. Kebutuhan fungsional yang harus dipenuhi dari kombinasi algoritma Spritz dan algoritma Rabin-p dalam skema Hybrid Cryptosystem untuk pengamanan teks adalah sebagai berikut :

1. Pembangkit kunci

Membangkitkan kunci publik dan kunci privat secara acak dengan algoritma Rabin-p.

2. Memasukkan file

User menggunakan file yang berekstensi docx. dan diproses oleh sistem.

3. Enkripsi teks

Teks dienkripsi menggunakan algoritma Spritz dan menghasilkan ciphertext.

4. Enkripsi kunci simetris

Kunci algoritma Spritz dienkripsi dengan kunci publik algoritma Rabin-p dan cipherkey.

5. Menyimpan hasil enkripsi

Ciphertext dan cipherkey akan disimpan oleh sistem untuk digunakan pada proses dekripsi.

6. Dekripsi kunci simetris

Cipherkey didekripsi dengan kunci privat algoritma Rabin-p dan menghasilkan kunci algoritma Spritz.

(40)

7. Dekripsi teks

Ciphertext didekripsi menggunakan kunci algortima Spritz dan menghasilkan teks seperti yang dimasukkan.

8. Menyimpan hasil dekripsi

Menyimpan teks yang sudah didekripsi.

3.1.2.2 Kebutuhan Nonfungsional

Kebutuhan nonfungsional merupakan kebutuhan yang digunakan dalam proses kerja sistem. Berikut merupakan kebutuhan non-fungsional pada penerapan algoritma Spritz dan algoritma Rabin-p dalam skema Hybrid Cryptosystem :

1. Kinerja Sistem

Sistem dapat menampilkan kunci publik dan kunci privat yang akan digunakan untuk melakukan proses enkripsi dan dekripsi kunci. Kemudian sistem juga dapat menampilkan kunci Spritz yang akan digunakan untuk proses enkripsi dan dekripsi pesan.

2. Dokumentasi

Sistem dapat menampilkan petunjuk penggunaan sistem, penyimpanan data dan penjelasan tentang algoritma Spritz dan algoritma Rabin-p serta metode Hybrid Cryptosystem.

3. Pengendalian

Sistem dapat menampilkan pesan error jika ditemukan inputan yang tidak sesuai.

4. Kualitas

Sistem akan menghasilkan output yang bersifat benar dan akurat pada saat melakukan proses enkripsi dan dekripsi pesan.

3.1.3 Diagram Umum Sistem

Diagram umum sistem dapat dilihat pada gambar 3.2 yang terdapat di halaman 25.

(41)

Gambar 3.2 Diagram Umum Sistem

Diagram umum sistem dimulai dengan membangkitkan public key dan private key dari Algoritma Rabin-p yang dilakukan oleh recipient. Kemudian public key diberikan kepada sender. Sender akan mengenkripsi dokumen menggunakan Algoritma Spritz yang menghasilkan ciphertext. Kemudian kunci Spritz dienkripsi dengan public key Algoritma Rabin-p. Recipient memperoleh ciphertext dan cipherkey yang digunakan untuk mendekripsi file. Cipherkey didekripsi menggunakan private key dari algoritma Rabin-p. Lalu ciphertext didekripsi menggunakan kunci dari algoritma Spritz. Setelah file berhasil didekripsi, maka didapatlah dokumen yang dikirimkan oleh sender.

3.2 Pemodelan Sistem

Pemodelan sistem betujuan untuk menggambarkan semua kondisi dari bagian yang berperan pada sistem yang dirancang. Pemodelan sistem ditampilkan dengan menggunakan use case diagram, sequence diagram dan activity diagram dan flowchart.

3.2.1 Use Case Diagram

Use case diagram merupakan gambaran dari beberapa atau semua actor, dan interaksi diantaranya yang diperkenalkan dalam suatu sistem. Use case pada sistem dapat ditunjukkan pada Gambar 3.3.

(42)

Gambar 3.3 Diagram Use Case Sistem

Gambar 3.3 menunjukkan penggunaan sistem oleh dua aktor yaitu pengirim pesan dan penerima pesan. Dalam sistem ini penerima pesan memiliki hak akses melihat halaman awal, informasi, dan melakukan pembangkitan kunci privat dan kunci publik dari algoritma Rabin-p. Kunci publik Rabin-p yang telah dibangkitkan akan digunakan oleh pengirim pesan untuk melakukan enkripsi kunci Spritz sedangkan, kunci privat digunakan untuk melakukan dekripsi kunci Spritz.

Pengirim pesan memiliki hak akses melihat halaman awal, enkripsi pesan dan bantuan. Dalam melakukan enkripsi pesan pengirim pesan akan menginput file yang akan dienkripsi, melakukan enkripsi teks dengan algoritma Spritz dan melakukan enkripsi kunci Spritz dengan menggunakan kunci publik Rabin-p. Hasil enkripsi teks (ciphertext) dan hasil enkripsi kunci (cipherkey) akan diberikan kepada penerima pesan.

3.2.2 Activity Diagram

Activity Diagram menggambarkan alur kerja atau interaksi aktivitas antara pengirim dan sistem dari sebuah sistem atau perangkat lunak yang dikembangkan, dari aktivitas mulai, decision yang mungkin terjadi sampai aktivitas berhenti.

(43)

3.2.2.1 Diagram Aktivitas Pembangkit Kunci

Gambar 3.4 Diagram Aktivitas Proses Pembangkitan Kunci

Gambar 3.4 menunjukkan diagram aktivitas proses pembangkitas kunci. Tahap awal, user harus menekan tombol bangkit kunci untuk mendapatkan nilai bilangan prima p, q, dan N. N akan diperoleh dari perkalian p dan q. Sedangkan p diperloeh dari nilai p acak yang sudah ditetapkan rumusnya.

3.2.2.2 Diagram Aktivitas Enkripsi

Gambar 3.5 Diagram Aktivitas Proses Enkripsi

(44)

Gambar 3.5 menunjukkan proses enkripsi dari sistem. Untuk tahap awal file yang berisi pesan akan enkripsi dan dimasukkan kedalam sistem. Kemudian sistem akan menampilkan open file dialog dan selanjutnya user memilih file yang akan dienkripsi. Setelah dipilih, user memasukkan kunci Spritz yang nantinya akan digunakan untuk mengenkripsi file. Kemudian user menekan tombol simpan kunci Spritz dan sistem akan menyimpan kunci. Selanjutnya, enkripsi teks dengan algoritma Spritz. Kemudian user menekan tombol simpan ciphertext dan sistem akan menampilkan jendela simpan file. Selanjutnya user menginputkan nama file dan menyimpan file tersebut. Kemudian, user menekan tombol kunci publik dan sistem akan mencari filenya. Lalu user menginputkan kunci Spritz dan dienkripsi hingga menampilkan cipherkey dan tekan tombol simpan cipherkey untuk menyimpan cipherkey.

3.2.2.3 Diagram Aktivitas Dekripsi

Gambar 3.6 Diagram Aktivitas Proses Dekripsi

Gambar 3.6 menunjukkan proses dekripsi dari sistem. Pada tahap awal yaitu file yang berisi cipherkey yang akan didekripsi dimasukkan pada sistem. Sistem akan menampilkan open file dialog dan user memilih file cipherkey yang akan didekripsi.

Gambar

Gambar 2.4 Proses Enkripsi Hybrid Cryptosystem dengan menggunakan  Algoritma Spritz dan Algoritma Rabin-p
Gambar 3.2 Diagram Umum Sistem
Gambar 3.3 Diagram Use Case Sistem
Gambar  3.4  menunjukkan  diagram  aktivitas  proses  pembangkitas  kunci.  Tahap  awal, user harus menekan tombol bangkit kunci untuk mendapatkan nilai bilangan  prima p, q, dan N
+7

Referensi

Dokumen terkait

elemen yang berkoresponden dengan kunci publik. Hasil enkripsi kunci menggunakan sistem dapat dilihat pada Gambar 4.10.. Proses Enkripsi Kunci. Gambar 4.10 menunjukkan hasil

Proses enkripsi untuk algoritma Rijndael yang beroperasi pada panjang blok 128-bit. dengan kunci 128-bit, total putaran (Nr) yang dilakukan hingga

Dalam proses pengamanan file PDF (Portable Document Format) ini menggunakan bantuan algoritma Rabin Cryptosystem dan Extended Polybius Square.. Pada penelitian

Implementasi Algoritma DES dan RSA Pada Enkripsi Hybrid Key Untuk Meningkatkan Keamanan Sistem Informasi.. Universitas Pendidikan

Algoritma Enigma digunakan untuk mengamankan teks pesan dan Algoritma Rabin-Williams untuk mengamankan kunci dari pesan yang telah dienkripsi.. Dalam hal ini Algoritma

Algoritma Affine Cipher digunakan untuk mengamankan file citra dan Algoritma RSA-CRT digunakan untuk mengamankan kunci dari citra yang telah dienkripsi..

MessageBox.Show(&#34;Pasangan kunci tidak boleh ada yang kosong.&#34;, &#34;Kesalahan Kunci&#34;,

Algoritma One Time Pad digunakan untuk mengamankan pesan data teks dan Algoritma Rabin untuk mengamankan kunci dari pesan yang telah dienkripsi. Jumlah nilai