• Tidak ada hasil yang ditemukan

Implementasi Kombinasi Algoritma Ntruencrypt Dan Steganografi End Of File Pada Pengamanan Data Teks

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Kombinasi Algoritma Ntruencrypt Dan Steganografi End Of File Pada Pengamanan Data Teks"

Copied!
106
0
0

Teks penuh

(1)

PENGAMANAN DATA TEKS

SKRIPSI

YANSEN BOSTON SIMATUPANG

101401070

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(2)

PENGAMANAN DATA TEKS

SKRIPSI

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

YANSEN BOSTON SIMATUPANG 101401070

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : IMPLEMENTASI KOMBINASI ALGORITMA

NTRUENCRYPT DAN STEGANOGRAFI END OF FILE PADA PENGAMANAN DATA TEKS

Kategori : SKRIPSI

Nama : YANSEN BOSTON SIMATUPANG

Nomor Induk Mahasiswa : 101401070

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, April 2015

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Amer Sharif, S.Si, M.Kom M. Andri B, ST, M.Comp.Sc, MEM.

NIP.197510082008011011

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

IMPLEMENTASI KOMBINASI ALGORITMA NTRUENCRYPT DAN STEGANOGRAFI END OF FILE PADA

PENGAMANAN DATA TEKS

SKRIPSI

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

Medan, Maret 2015

(5)

PENGHARGAAN

Puji syukur dan terima kasih penulis ucapkan kepada Tuhan Yesus Kristus yang telah menjaga, merawat dan melimpahkan kasih dan karunia-Nya kepada penulis, sehingga skripsi ini dapat diselesaikan dalam waktu yang telah ditetapkan.

Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih kepada semua pihak yang telah membantu penyelesaian skripsi ini. Penulis mengucapkan terima kasih kepada:

1. Bapak Prof. Dr. dr. Syahril Pasaribu, D.T.M.&H., M.Sc.(C.T.M.). Sp.A.(K.) selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing sebagai Ketua Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara.

4. Ibu Maya Silvi Lydia, B.Sc., M.Sc. sebagai Sekretaris Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembanding I yang telah memberikan saran dan kritikan dalam penyempurnaan skripsi ini kepada penulis.

5. Bapak Ade Candra, S.T., M.Kom selaku Dosen Pembimbing Akademik yang telah memberikan bimbingan dan dukungan kepada penulis.

6. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. selaku Dosen Pembimbing I yang telah memberikan arahan dan bimbingan kepada penulis. 7. Bapak Amer Sharif, S.Si., M.Kom selaku Dosen Pembimbing II yang telah

memberikan arahan dan bimbingan kepada penulis.

8. Ibu Maya Silvi Lydia, B.Sc., M.Sc. selaku Dosen Pembanding I yang telah memberikan saran dan kritikan dalam penyempurnaan skripsi ini kepada penulis.

9. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembanding II yang telah memberikan saran dan kritikan dalam penyempurnaan skripsi ini kepada penulis.

10.Kedua orangtua penulis Bapak W. Simatupang, S.Pd dan Ibu J. Panjaitan, S.pd, Abang penulis Hamonangan W.D. Simatupang, S.T. serta Adik penulis Tri Astral Simatupang dan Dian H. Simatupang yang telah memberikan dukungan berupa doa, harapan dan dukungan baik moril maupun materi. 11.Seluruh tenaga pengajar dan pegawai pada Fakultas Ilmu Komputer dan

Teknologi Informasi USU, khususnya Program Studi S-1 Ilmu Komputer. 12.Teman-teman mahasiswa S-1 Ilmu Komputer Rivai H. Purba, Hengky P. F.

Gulo, Lorent O. Barus, S.Kom., Kurniawan W.A.P. Hutagaol, Johanes P. Saragih, Gunalan Anggirasa, Timothy, S. Kom., Janwandi R. Sinaga, S.Kom, Yohanes Silitonga dan semua rekan-rekan kuliah Stambuk 2010 yang telah berbagi kebersamaan selama berada di S-1 Ilmu Komputer.

(6)

14.Teman-teman komunitas LOGIC yang telah berbagi kebersamaan selama menyelesaikan skripsi ini.

15.Dan semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat tulisan satu per satu.

Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan. Oleh karena itu penulis menerima kritik dan masukan dari semua pihak yang bersifat membangun dan menyempurnakan skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.

Medan, 10 Maret 2015

(7)

ABSTRAK

Perkembangan teknologi jaringan komputer menyebabkan terhubungnya satu komputer dengan komputer lainnya. Hal ini membuka peluang adanya ancaman terhadap keamanan data. Untuk melindungi data dari ancaman tersebut adalah dengan memanfaatkan teknik kriptografi dan steganografi. Algoritma kriptografi yang digunakan pada penelitian ini adalah algoritma NTRUEncrypt. Algoritma ini merupakan algoritma yang memanfaatkan polynomial. Plaintext diubah dahulu kedalam bentuk polynomial agar dapat melakukan proses enkripsi dan dekripsi. Steganografi yang digunakan adalah metode end of file. Metode ini melakukan proses penyisipan data pada akhir citra. Tahap pertama yang dilakukan adalah menentukan parameter set yang digunakan untuk membangkitkan kunci privat dan kunci publik. Selanjutnya plaintext yang berformat *.txt dienkripsi dengan algoritma NTRUEncrypt menggunakan kunci publik dan menghasilkan ciphertext, kemudian disisipkan ke dalam sebuah citra yang berformat *.bmp dengan metode end of file. Proses penyisipan pesan pada citra asli akan menghasilkan citra stego. Citra stego akan diekstraksi kembali menjadi citra asli dan ciphertext. Ciphertext yang dihasilkan akan didekripsi menggunakan kunci privat untuk mendapatkan plaintext semula. Secara keseluruhan, waktu yang diperlukan untuk semua proses berbanding lurus dengan panjang polynomial (parameter N), waktu proses enkripsi lebih cepat dibandingkan waktu proses dekripsi dan waktu proses penyisipan lebih lama dibandingkan proses ekstraksi ciphertext.

(8)

IMPLEMENTATION OF COMBINATION OF NTRUENCRYPT ALGORITMH AND STEGANOGRAPHY END OF FILE

ON TEXT DATA SECURITY

ABSTRACT

The development of computer network technology causes connection of one computer to another computer. This makes the chances of a threat to the security of the data.To protect this data is to use cryptography and steganography techniques.Cryptographic algorithms used in this study is NTRUEncrypt algorithm. This algorithm is an algorithm that utilizes polynomial. Plaintext is converted first into a polynomial form that can perform encryption and decryption process. Steganography that used is end of file method. This method does data insertion process at the end of the image. The first phase is to determine the set of parameters used to generate the private key and public key. Furthermore plaintext file with *.txt format encrypted with NTRUEncrypt algorithm using the public key and produce the ciphertext, and then inserted into an image file with * .bmp format with the end of file method. The process of inserting a message in the original image will produce a stego image. Stego image will be extracted back into the original image and the ciphertext. The ciphertext that resulted will be decrypted using the private key to obtain the original plaintext. Overall, the execution time for all processes is proportional to the length of the polynomial (parameter N), the encryption process time is faster than the decryption process time and insertion process time longer than the extraction process time.

(9)

DAFTAR ISI

1.1 Latar Belakang Masalah 1

1.2 Rumusan Masalah 2

2.2 Landasan Matematika Kriptografi 9

2.2.1 Bilangan Prima 9

2.2.2 Faktor Persekutuan Terbesar (FPB) 10

2.2.3 Aritmetika Modulo 11

2.5.1 Format File Citra Bitmap 22

2.6 Steganografi 24

2.6.1 End of File 26

BAB III ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem 28

3.1.1 Analisis Masalah 28

3.1.2 Analisis Persyaratan 29

(10)

3.1.2.2 Persyaratan Non-Fungsional 30

3.1.3 Analisis Proses 30

3.2 Perancangan Sistem 31

3.2.1 Perancangan Flowchart Aplikasi 31

3.2.1.1 Flowchart Enkripsi Algoritma NTRUEncrypt dan Penyembunyian Data EOF 32 3.2.1.2 Flowchart Pembangkitan Kunci 33 3.2.1.3 Flowchart Enkripsi NTRUEncrypt 34 3.2.1.4 Flowchart Penyisipan Steganografi EOF 35 3.2.1.5 Flowchart Ektraksi EOF dan Dekripsi

Algoritma NTRUEncrypt 36 3.2.1.6 Flowchart Ekstraksi Steganografi EOF 37 3.2.1.7 Flowchart Dekripsi NTRUEncrypt 38 3.2.2 Perancangan Unified Modeling Languange (UML) 39

3.2.2.1 Use Case Diagram 39

3.2.2.2 Sequence Diagram 45

3.2.2.3 Activity Diagram 46

3.2.3 Rancangan Interface Aplikasi 48

3.2.3.1 Rancangan Interface Form Home 48 3.2.3.2 Rancangan Interface Form Pengirim 49 3.2.3.3 Rancangan Interface Form Penerima 51 3.2.3.4 Rancangan Interface Form Petunjuk 52

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem 53

4.2.1 Proses Enkripsi Plaintext dan Penyisipan Ciphertext 58 4.2.2 Proses Ekstraksi Ciphertext dan Dekripsi Ciphertext 60

4.3 Hasil Pengujian 62

4.3.1 Pengujian Waktu Proses Pembangkitan Kunci 62 4.3.2 Pengujian Waktu Proses Enkripsi dan Dekripsi 63 4.3.3 Pengujian Waktu Proses Penyisipan dan Ekstraksi 65 4.3.4 Pengujian Hasil Penyisipan pada Setiap Parameter Set 66 4.3.5 Pengujian antara Parameter Set dengan

Warna Blur Pada Citra 67

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan 70

5.2 Saran 71

(11)

DAFTAR TABEL

Tabel 2.1 Standar Parameter pada Algoritma NTRUEncrypt 15

Tabel 2.2 Nilai Invers f Modulo p (fp) 17

Tabel 2.3 Nilai Invers f Modulo q (fq) 18

Tabel 3.1 Dokumentasi Naratif Use Case Bangkitkan Kunci 40

Tabel 3.2 Dokumentasi naratif Use Case Enkripsi 41

Tabel 3.3 Dokumentasi naratif Use Case Penyisipan 42

Tabel 3.4 Dokumentasi naratif Use Case Ekstraksi 43

Tabel 3.5 Dokumentasi naratif Use Case Dekripsi 44

Tabel 4.1 Spesifikasi Kebutuhan Perangkat Keras untuk Implementasi 52

Tabel 4.2 Parameter Set Pengujian Sistem 57

Tabel 4.3 Data Waktu Pembangkitan Kunci 62

Tabel 4.4 Data Waktu Proses Enkripsi dan Dekripsi 64 Tabel 4.5 Data Waktu Proses Penyisipan dan Ekstraksi 65

Tabel 4.6 Ukuran Citra Setelah Penyisipan Pesan 66

(12)

DAFTAR GAMBAR

Gambar 2.1 Skema Kriptogafi Simetri 8

Gambar 2.2 Skema Kriptografi Asimetri 9

Gambar 2.3 Sistem koordinat citra berukuran M x N 22 Gambar 2.4 Contoh Gambar dengan Format Bitmap (.bmp) 24 Gambar 2.5 Perbedaan Steganografi dan Kriptografi 25 Gambar 2.6 Proses penyisipan dan ekstraksi data rahasia 26 Gambar 3.1 Flowchart enkripsi dan penyisipan pesan 32

Gambar 3.2 Flowchart pembangkitan kunci 33

Gambar 3.3 Flowchart enkripsi plaintext 34

Gambar 3.4 Flowchart Penyisipan Ciphertext 35

Gambar 3.5 Flowchart ekstraksi dan dekripsi pesan 36

Gambar 3.6 Flowchart Ekstraksi Ciphertext 37

Gambar 3.7 Flowchart dekripsi Ciphertext 38

Gambar 3.8 Use Case Diagram Sistem 39

Gambar 3.9 Sequence diagram enkripsi dan penyisipan plaintext 45 Gambar 3.10 Sequence diagram ekstraksi dan dekripsi ciphertext 46 Gambar 3.11 Activity diagram enkripsi dan penyisipan plaintext 47 Gambar 3.12 Activity diagram ekstraksi dan dekripsi ciphertext 48

Gambar 3.13 Rancangan Interface Form Home 49

Gambar 3.14 Rancangan Interface Form Pengirim 50

Gambar 3.15 Rancangan Interface Form Penerima 51

Gambar 3.16 Rancangan Interface Form Petunjuk 52

Gambar 4.1 Form Home 54

Gambar 4.2 Form Pengirim 55

Gambar 4.3 Form Penerima 56

Gambar 4.4 Form Petunjuk 56

Gambar 4.5 Pesan yang Akan Disipkan Pesan (DSC0347.bmp) 57

Gambar 4.6 Proses Pembangkitan Kunci Privat 58

Gambar 4.7 Proses Pembangkitan Kunci Publik 59

Gambar 4.8 Proses Enkripsi Data 59

Gambar 4.9 Proses Penyisipan Ciphertext 60

Gambar 4.10 Proses Ekstraksi Pesan 61

Gambar 4.11 Proses Dekripsi Pesan 61

(13)

DAFTAR LAMPIRAN

Halaman

Listing Program A-1

(14)

ABSTRAK

Perkembangan teknologi jaringan komputer menyebabkan terhubungnya satu komputer dengan komputer lainnya. Hal ini membuka peluang adanya ancaman terhadap keamanan data. Untuk melindungi data dari ancaman tersebut adalah dengan memanfaatkan teknik kriptografi dan steganografi. Algoritma kriptografi yang digunakan pada penelitian ini adalah algoritma NTRUEncrypt. Algoritma ini merupakan algoritma yang memanfaatkan polynomial. Plaintext diubah dahulu kedalam bentuk polynomial agar dapat melakukan proses enkripsi dan dekripsi. Steganografi yang digunakan adalah metode end of file. Metode ini melakukan proses penyisipan data pada akhir citra. Tahap pertama yang dilakukan adalah menentukan parameter set yang digunakan untuk membangkitkan kunci privat dan kunci publik. Selanjutnya plaintext yang berformat *.txt dienkripsi dengan algoritma NTRUEncrypt menggunakan kunci publik dan menghasilkan ciphertext, kemudian disisipkan ke dalam sebuah citra yang berformat *.bmp dengan metode end of file. Proses penyisipan pesan pada citra asli akan menghasilkan citra stego. Citra stego akan diekstraksi kembali menjadi citra asli dan ciphertext. Ciphertext yang dihasilkan akan didekripsi menggunakan kunci privat untuk mendapatkan plaintext semula. Secara keseluruhan, waktu yang diperlukan untuk semua proses berbanding lurus dengan panjang polynomial (parameter N), waktu proses enkripsi lebih cepat dibandingkan waktu proses dekripsi dan waktu proses penyisipan lebih lama dibandingkan proses ekstraksi ciphertext.

(15)

IMPLEMENTATION OF COMBINATION OF NTRUENCRYPT ALGORITMH AND STEGANOGRAPHY END OF FILE

ON TEXT DATA SECURITY

ABSTRACT

The development of computer network technology causes connection of one computer to another computer. This makes the chances of a threat to the security of the data.To protect this data is to use cryptography and steganography techniques.Cryptographic algorithms used in this study is NTRUEncrypt algorithm. This algorithm is an algorithm that utilizes polynomial. Plaintext is converted first into a polynomial form that can perform encryption and decryption process. Steganography that used is end of file method. This method does data insertion process at the end of the image. The first phase is to determine the set of parameters used to generate the private key and public key. Furthermore plaintext file with *.txt format encrypted with NTRUEncrypt algorithm using the public key and produce the ciphertext, and then inserted into an image file with * .bmp format with the end of file method. The process of inserting a message in the original image will produce a stego image. Stego image will be extracted back into the original image and the ciphertext. The ciphertext that resulted will be decrypted using the private key to obtain the original plaintext. Overall, the execution time for all processes is proportional to the length of the polynomial (parameter N), the encryption process time is faster than the decryption process time and insertion process time longer than the extraction process time.

(16)

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Perkembangan teknologi jaringan komputer menyebabkan terhubungnya satu komputer dengan komputer lainnya. Hal ini membuka banyak peluang dalam pengembangan aplikasi komputer tetapi juga membuat peluang adanya ancaman terhadap pengubahan dan pencurian data. Sebuah aplikasi yang melintasi jaringan publik seperti internet diasumsikan dapat diakses oleh siapapun termasuk orang-orang atau pihak-pihak yang memang berniat untuk mencuri atau mengubah data. Untuk melindungi data tersebut adalah dengan memanfaatkan teknik kriptografi dan steganografi.

Kriptografi adalah ilmu yang mempelajari bagaimana supaya pesan atau dokumen aman, tidak bisa dibaca oleh pihak yang tidak berhak. Kriptografi memiliki proses utama dalam menjaga dan menyandikan sebuah pesan. Proses enkripsi merupakan pengoperasian fungsi enkripsi menggunakan kunci enkripsi pada plaintext

sehingga dihasilkan ciphertext. Sedangkan untuk proses dekripsi merupakan pengoperasian fungsi dekripsi menggunakan kunci dekripsi pada ciphertext sehingga dihasilkan plaintext. Proses enkripsi dan dekripsi dalam kriptografi merupakan proses yang utama.

(17)

NTRUEncrypt adalah algoritma yang tergolong ke dalam algoritma yang menggunakan sistem kunci publik. Algoritma ini dibuat oleh tiga orang yaitu Jeffrey Hoffstein, Jill Pipher dan Joseph Silverman. Prosesnya NTRUEncrypt menggunakan operasi terhadap polynomial. Sehingga dalam prakteknya pesan perlu diubah dahulu kedalam bentuk polynomial untuk dapat dilakukan proses enkripsi dan dekripsi. Proses penting pada implementasi algoritma NTRUEncrypt adalah penentuan parameter yang digunakan dan pembangkitan kunci privat dan kunci publik, proses enkripsi, dan proses dekripsi.

Metode EOF merupakan salah satu teknik yang digunakan dalam steganografi. Metode ini menggunakan cara dengan menyisipkan data pada akhir file. Sehingga, tidak akan mengganggu kualitas data awal yang akan disisipkan pesan. Namun, ukuran file setelah disisipkan pesan rahasia akan bertambah.

Beberapa penelitian terdahulu yang berhubungan dengan penelitian ini antara lain tentang algoritma NTRUEncrypt yaitu Implementasi Algoritma Kunci Publik

NTRUEncrypt pada Add-InMicrosoft Outlock (Sitorus, 2012), sedangkan steganografi dengan metode End of File yaitu Implementasi Pengenkripsian dan Penyembunyian Data Menggunakan Tiny Encryption Algorithm dan End of File (Alfian, 2013).

Berdasarkan uraian di atas, maka penulis bermaksud untuk mengimplementasikan algoritma kriptografi NTRUEncrypt dan Steganografi dengan metode End of File (EOF). Oleh sebab itu, penulis mengambil tugas akhir dengan

judul “Implementasi Kombinasi Algoritma NTRUEncrypt Dan Steganografi End Of File Pada Pengamanan Data Teks”.

1.2. Rumusan Masalah

(18)

1.3. Batasan Masalah

Adapun batasan masalah dalam tugas akhir ini adalah sebagai berikut:

a. Jenis file citra asli yang digunakan adalah citra dengan format bitmap (.bmp) b. Plainteks dapat diinputkan langsung atau berupa file .txt.

c. Pesan dienkripsi menggunakan algoritma NTRUEncrypt dan disisipkan menggunakan metode End of File (EOF).

d. Parameter yang digunakan dalam algoritma NTRUEncrypt, yaitu N sebagai panjang polynomial, p sebagai small modulus, q sebagai large modulus dan df untuk nilai koefisien kunci privat telah ditetapkan terlebih dahulu untuk menghindari kesalahan pada saat enkripsi dan dekripsi.

e. Panjang maksimal pesan yang dienkripsi adalah 247 karakter. f. Bahasa pemrograman menggunakan Visual Studio C# (sharp).

1.4. Tujuan Penelitian

Tujuan penelitian ini adalah untuk merancang dan mengimplementasikan pengenkripsian data teks menggunakan algoritma NTRUEncrypt dan menyisipkannya ke dalam media gambar bitmap dengan metode End of File.

1.5. Manfaat Penelitian

(19)

1.6. Metode Penelitian

Metodologi penelitian yang akan digunakan adalah:

1. Studi Literatur

Studi literatur dilakukan dengan peninjauan terhadap buku, jurnal, dan hasil penelitian untuk mengetahui algoritma NTRUEncrypt dan Steganografi End of File yang kemudian melalui kedua metode tersebut akan menghasilkan suatu kombinasi.

2. Analisis dan Perancangan

Dengan adanya rumusan dan batasan masalah, kebutuhan perancangan dianalisis disertai pembuatan flowchart, Unified Modeling Language(UML), dan design interface.

3. Implementasi

Implementasi berupa aplikasi yang mampu mengenkripsi maupun mendekripsi data teks menggunakan algoritma NTRUEncrypt dan menyembunyikannya dengan menggunakan steganografi End Of File.

4. Pengujian

Metode ini dilaksanakan dengan melakukan pengujian terhadap gambar yang telah disisipi pesan dengan melihat kriteria penyembunyian pesan, yaitu recovery dan

fidelity. Pada pengujian recovery, pesan yang disembunyikan harus dapat diungkap kembali. Sedangkan fidelity, mutu citra penampung tidak jauh berubah setelah penambahan ciphertext.

5. Dokumentasi dan laporan Akhir

(20)

1.7. Sistematika Penelitian

Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama, sebagai berikut:

BAB 1: PENDAHULUAN

Bab ini menguraikan Latar Belakang, Rumusan Masalah, Tujuan, Batasan Masalah dan Sistematika Penulisan Skripsi.

BAB 2: TINJAUAN PUSTAKA

Bab ini berisi rangkuman informasi yang dihimpun dari pustaka yang relevan dengan topik yang menjadi objek kajian, untuk memperluas basis informasi dalam melakukan kajian dan/atau akan digunakan sebagai basis argumentasi di dalam mengemukakan pandangan.

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisis dan perancangan sistem dengan menggunakan flowchart

atau diagram alir serta perancangan interface atau antarmuka sistem untuk menghasilkan suatu rancang bangun yang pada tahap selanjutnya diimplementasikan dengan bahasa pemrograman.

BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM

Menguraikan analisis dan hasil yang diperoleh di akhir pelaksanaan Skripsi dan pokok-pokok kesimpulan yang dapat dikemukakan sehubungan dengan pencapaian hasil kajian algoritma NTRUEncrypt dan steganografi End of File.

BAB 5: KESIMPULAN DAN SARAN

(21)

TINJAUAN PUSTAKA

2.1. Kriptografi

Kriptografi adalah ilmu yang mempelajari bagaimana supaya pesan atau dokumen kita

aman, tidak bisa dibaca oleh pihak yang tidak berhak. Kriptografi mempunyai sejarah

yang sangat panjang. Sejak jaman Romawi, Yulius Caesar telah menggunakan teknik

kriptografi yang sekarang dianggap kuno dan sangat mudah dibobol untuk keperluan

militernya. Pada perang dunia kedua, Jerman dan Jepang menggunakan kriptografi

untuk keperluan komunikasi militernya (Kurniawan, 2004).

Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata

kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti rahasia dan

graphia berarti tulisan. Kriptografi adalah ilmu untuk menjaga keamaan pesan ketika

pesan dikirim dari suatu tempat ke tempat yang lain (Ariyus, 2006).

Sistem kriptografi terdiri dari lima bagian (Sadikin, 2012), yaitu:

1. Plaintext: pesan atau data dalam bentuk aslinya yang dapat terbaca. Plaintext

adalah masukan bagi algoritma enkripsi.

2. Secret Key: yang juga merupakan masukan bagi algoritma enkripsi merupakan

nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma

enkripsi.

3. Ciphertext: merupakan keluaran algoritma enkripsi. Ciphertext dapat dianggap

sebagai pesan dalam bentuk tersembunyi. Algoritma enkripsi yang baik akan

(22)

4. Algoritma enkripsi: memiliki dua masukan, yaitu teks asli dan kunci rahasia.

Algoritma enkripsi melakukan trasformasi terhadap teks asli sehingga

menghasilkan teks sandi.

5. Algoritma dekripsi: memiliki dua masukan, yaitu teks sandi dan kunci rahasia.

Algoritma dekripsi memulihkan kembali teks sandi menjadi teks asli.

Berdasarkan kunci yang dipakai pada proses enkripsi dan dekripsi, kriptografi

dibagi ke dalam dua bagian, yaitu kriptografi simetri, kriptografi asimetri.

2.1.1. Kriptografi Simetri

Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci yang

sama untuk kegiatan enkripsi dan dekripsi. Algoritma ini sudah ada sejak lebih dari

4000 tahun yang lalu. Bila mengirim pesan dengan menggunakan algoritma ini,

sipenerima pesan harus diberitahu kunci pesan tersebut agar bisa mendekripsikan

pesan yang dikirim. Keamanan dari pesan yang menggunakan algoritma ini

tergantung pada kunci. Jika kunci tersebut diketahui oleh orang lain maka orang

tersebut akan dapat melakukan enkripsi dan dekripsi. Algoritma yang memakai kunci

simetri di antaranya, Data Encryption Standard (DES), International Data Encryption

Algorithm (IDEA), Advanced Encryption Standard (AES) dan One Time Pad (OTP)

(Ariyus, 2008).

Enkripsi dan dekripsi dengan algoritma simetri dapat dituliskan menjadi:

EK(M) = C……….(1)

DK(C) = M………(2)

Berdasarkan rumus (1), M adalah plaintext, C adalah Ciphertext, Ek adalah algoritma

enkripsi dan pada rumus (2) Dk adalah algoritma dekripsi. Proses algoritma simetri

(23)

Gambar 2.1 Skema Kriptografi Simetri

Algoritma simetrik dibagi menjadi 2 kategori, yaitu block algorithms dan

stream algorithms. Block algorithms, data dienkripsi dalam blok-blok data. Block

cipher akan mengenkripsi blok data satu-persatu sampai blok plaintext terakhir.

Sedangkan stream algorithms, data dienkripsi dalam bit-bit data (Scheiner, 1996).

2.1.2. Kriptografi Asimetri

Algoritma asimetri sering juga dengan algoritma kunci publik, dengan arti kata kunci

yang digunakan untuk melakukan enkripsi dan dekripsi berbeda. Pada algoritma

asimetri kunci terbagi menjadi dua bagian, yaitu:

1. Kunci umum (public key): kunci yang boleh semua orang tahu (dipublikasikan).

2. Kunci rahasia (private key): kunci yang dirahasiakan.

Kunci-kunci tersebut berhubungan satu sama lain. Dengan kunci publik orang

dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya. Hanya orang yang

memiliki kunci rahasia yang dapat mendekripsi pesan tersebut. Algoritma asimetri

bisa mengirimkan pesan dengan lebih aman daripada algoritma simetri. Contoh, Bob

mengirim pesan ke Alice menggunakan algoritma asimetri. Hal yang harus dilakukan

adalah:

1. Bob memberitahukan kunci publiknya ke Alice.

2. Alice mengenkripsi pesan dengan menggunakan kunci publik Bob

3. Bob mendekripsi pesan dari Alice dengan kunci rahasianya.

4. Begitu juga sebaliknya jika Bob ingin mengirim pesan ke Alice

Plaintext Enkripsi Dekripsi Plaintext

Kunci

(24)

Algoritma yang memakai kunci publik di antaranya, Diffie-Hellman (DH),

RSA dan NTRUEncrypt. Enkripsi menggunakan algoritma asimetri dapat dituliskan

menjadi:

EK(M) = C

Meskipun kunci publik dan kunci rahasia berbeda, dekripsi dengan menggunakan

kunci rahasia (Scheiner, 1996), yaitu

DK(C) = M

Gambar 2.2 merupakan gambaran mengenai proses enkripsi dan dekripsi

menggunakan algoritma asimetri.

Gambar 2.2 Skema Kriptografi Asimetri

2.2. Landasan Matematika Kriptografi

Matematika merupakan bagian penting dalam konsep kriptografi, sehingga

memerlukan pemahaman beberapa ilmu matematika yang sering digunakan dalam

kriptografi. Kriptografi dengan kunci publik berbasis pada persoalan dari teori

bilangan yang merupakan bagian dari matematika.

2.2.1. Bilangan Prima

Sebuah bilangan integer a>1 disebut bilangan prima jika dan hanya jika bilangan

tersebut habis dibagi satu dan bilangan itu sendiri. Jumlah bilangan prima telah

dibuktikan Euclid (300SM) adalah tak terhingga, namun semakin besar bilangan

integer semakin jarang bilangan prima. Sebagai contoh, 7 adalah bilangan prima

karena hanya habis dibagi oleh 1 dan 7 (Sadikin, 2012).

Plaintext Enkripsi Dekripsi Plaintext

Kunci Publik

Ciphertext

(25)

2.2.2 Faktor Persekutuan Terbesar (FPB)

Dua buah bilangan bulat dapat memiliki faktor pembagi yang sama. Faktor pembagi

bersama yang terpenting adalah faktor persekutuan terbesar (greatest common

divisor-gcd) atau FPB (Munir, 2007). Dua buah bilangan a dan b merupakan bilangan bulat

tidak nol. FPB dari a dan b adalah bilangan bulat terbesar adalah c sehingga c|a dan

c|b, maka FPB a dan b dapat dinyatakan FPB(a,b)=c. Misalkan 36 mempunyai

pembagi {1, 2, 3, 4, 6, 9, 12, 18} dan 24 mempunyai pembagi {1, 2, 3, 4, 6, 8, 12}.

Faktor pembagi 36 dan 24 {1, 2, 3, 4, 6, 12} yang terbesar adalah 12, sehingga

FPB(36, 24) = 12.

Untuk menemukan FPB dari dua buah bilangan maka digunakan satu

algoritma, yaitu algoritma Euclidean. Algoritma Euclidean ditemukan oleh Euclid,

seorang matematikawan Yunani yang menuliskan algoritmanya tersebut dalam

bukunya yang terkenal, Element. Euclid membuat algoritma yang dapat menemukan

gcd dua buah bilangan integer a dan b dengan secara rekursif. Terdapat dua kasus,

pertama kasus dasar, yaitu ketika b = 0

gcd(a,0) = a

dan kasus umum ketika b ≠ 0

gcd(a,b) = gcd(b,a mod b)

Kasus dasar menyatakan bila b = 0 maka didefenisikan nilai gcd adalah a.

sedangkan kasus umum menyatakan untuk mencari (a,b) dapat direduksi menjadi

gcd(b, a mod b). jadi kasus umum dapat dikenakan berkali-kali sampai akhirnya akan

bertemu dengan kasus dasar untuk menemukan gcd(a,b) (Sadikin, 2012).

Contoh :

Carilah FPB dari 88 dan 36 menggunakan algoritma Euclidean

Jawab:

Aplikasi kasus umum

gcd(96,42) = gcd(42,96 mod 42) = gcd(42,12)

gcd(42,12) = gcd(12,42 mod 12) = gcd(12,6)

gcd(12,6) = gcd(6,12 mod 6) = gcd(6,0)

(26)

gcd(6,0) = 6

Penjelasan gcd (6,0) = 6

6 mempunyai pembagi {0,1,2,3,6}, sedangkan 0 mempunyai pembagi untuk semua

bilangan integer, faktor pembagi 6 dan 0 terbesar adalah 6.

Sehingga dapat dibuktikan bahwa gcd(6,0) = 6

karena itu, gcd(96,42) = 6.

2.2.3 Aritmetika Modulo

Aritmetika modulo merupakan aspek penting dalam komputasi integer, khususnya

pada aplikasi kriptografi. Operator yang digunakan pada aritmetika modulo adalah

mod. Operator mod memberikan sisa pembagian. Misalkan a adalah bilangan bulat

dan m adalah adalah bilangan bulat lebih besar dari nol. Operasi a mod m (dibaca “a

modulo m”) memberikan sisa jika a dibagi dengan m.

Notasi: a mod m = r sedemikian sehingga a = mq + r, dengan 0 ≤ r < m.

Bilangan m disebut modulos atau modulo, dan hasil aritmetika modulo m terletak dalam himpunan {0,1,2,…,m-1}(Sadikin, 2012).

Contoh :

Beberapa hasil operasi dengan operator modulo:

i. 43 mod 10 = 3, karena 43 = 10.3 + 3

ii. 21 mod 8 = 5, karena 21 = 8.2 + 5

iii. 6 mod 8 = 6, karena 6 = 8.0 + 6

iv. 0 mod 14 = 0, karena 0 = 0.14 + 0

v. – 43 mod 6 = 1 karena – 41 = 6. – 7 +1

2.3. Polynomial Ring

Bilangan riil adalah bilangan-bilangan yang merupakan gabungan bilangan rasional

dan irasional. Bilangan riil disimbolkan dengan R. Sebuah ring A adalah suatu

himpunan R yang mempunyai dua operasi yaitu penjumlahan dan perkalian, yang

(27)

1. R dengan operator penjumlahan (+)

- 0 + R = R + 0 = R ( identitas penjumlahan)

- ∀a,b ∈ R : a + b = b + a (komutatif)

- ∀a,b,c ∈ R : (a + b) + c = a + (b + c) (asosiatif)

- ∀a ∈ R : a-1∈ R : a + a-1 = a-1 + a = 0 (invers)

2. Operator perkalian (x)

- ∀a,b ∈ R : a × b = b × a (komutatif)

- ∀a,b,c ∈ R : a × (b × c) = (a × b) × c (asosiatif)

- 1 x R = R x 1 = R ( identitas perkalian)

3. Gabungan perkalian dan penjumlahan

- ∀a,b,c ∈ R : a x (b + c) = (a x b) + (a x c) (distributif)

Struktur aljabar field merupakan pengkhususan terhadap struktur aljabar ring.

Kondisi operator untuk field adalah kondisi operator untuk ring dengan tambahan

operator perkalian x memiliki invers untuk semua simbol yang bukan identitas

penjumlahan. Setiap ring di mana setiap elemen non-zero mempunyai invers perkalian

disebut field (Sadikin, 2012).

Polynomial berderajat n mempunyai bentuk umum:

f(x) = anxn + an-1xn-1+ …+a2x2 + a1x1 +a0

dimana a merupakan bilangan real. Meskipun rumus umum terlihat rumit, untuk lebih

sederhana dapat dilihat pada contoh:

f(x) = 6x4 + 7x3 + x2 + 5

Jika R adalah suatu ring, maka R[x] adalah polynomial ring dengan variable x.

Setiap elemen dari R[x] adalah polynomial dengan variabel x dan koefisien dari ring R. Sebaliknya, setiap polynomial dengan variabel x dan koefisien dari ring R

merupakan elemen dari R[x] (Kromodimoejo, 2010).

Sebagai contoh, dengan ring untuk koefisien berupa field K = Z/3Z,

x5 + 2x3 + x2 + 2

merupakan polynomial elemen K[x] dengan degree (pangkat terbesar) 5. Suatu

polynomial p dapat ditulis:

(28)

dimana n adalah degree dari p dan ai adalah koefisien untuk suku dengan pangkat i

jadi setiap ai adalah elemen dari ring R, dan an ≠ 0. Sebetulnya ai berlaku untuk

setiap i ∊ Z tetapi ai = 0 untuk i > n dan i < 0. Untuk contoh x5 + 2x3 + x2 + 2, a0 = 2,

a1 = 0, a2 = 1, a3 = 2, a4 = 2 dan a5 = 1.

Aritmatika dalam Polynomial ring R[x] adalah sebagai berikut:

1. Penjumlahan dilakukan dengan menjumlahkan semua suku dari kedua polynomial

(suku dengan pangkat yang sama dijadikan satu dengan menjumlahkan koefisien).

Sebagai contoh, dengan R = Z/3Z, jika p1 = x5+2x3+x2+2 dan p2 = x4+2x3+x2,

maka p1+p2 = x5+x4+x3+2x2+2. Penjumlahan koefisien dilakukan dengan

aritmetika R, dalam contoh menggunakan aritmatika modulo 3.

2. Perkalian dilakukan dengan mengalikan setiap suku dari polynomial pertama

dengan setiap suku dari polynomial kedua dan menjumlahkan semua hasil

perkalian. Sebagai contoh, dengan R = Z/3Z, jika p1 = x2+2x dan p2 = 2x+1 maka

p1.p2 = (x2+2x)( 2x+1)= 2x3+2x2+2. Perkalian koefisien dilakukan dengan

aritmetika R, dalam contoh menggunakan aritmatika modulo 3.

Menggunakan notasi penjumlahan

p1 = ∑=0 � dan p2 = ∑=0

maka aritmetika penjumlahan pada polynomial ring ditulis menjadi:

p1 + p2 = ( ∑=0 � ) + (∑=0 � )

= ∑=0ax , + �

Sedangkan, untuk aritmetika perkalian ditulis menjadi:

p1.p2 = ( ∑=0 � ) . (∑ =0 � )

= ∑=0 � . (∑ =0 � ))

= ( ∑=0=0 � + )

(29)

2.4. Algoritma NTRUEncrypt

NTRUEncrypt ditemukan oleh Jeffrey Hoffstein, Jill Pipher dan Joseph Silverman.

Algoritma ini pertama kali diperkenalkan oleh Hoffstein pada CRYPTO’96 dan

dipublikasikan pada tahun 1998. Algoritma ini telah dimodifikasi sejak pertama kali

diperkenalkan, NTRU telah berganti nama menjadi NTRUEncrypt (Rosenberg, 2004).

Polynomial ring (ℤ/pZ)[x]/(xN-1), merupakan bagian penting dalam algoritma

NTRUEncrypt, di mana modulo p akan mereduksi koefisien pada polinomial.

Aritmetika pada polynomial ring yaitu penjumlahan, perkalian dan invers merupakan

bagian penting dalam algoritma NTRUEncrypt. Ring ini memiliki irreducible

polynomial XN-1. Karakter irreducible polynomial mirip dengan bilangan prima, yaitu

tidak bisa difaktorkan ke dalam bentuk polinomial lain, tidak bisa habis dibagi kecuali

dengan dirinya dan satu.

Contoh

Irreducible polynomial pada perkalian polynomial dengan N=3 pada ℤ/3ℤ[X]/(XN-1).

a × b = (1 + 2x + 2x2) × ( 2x + x2)

= 2x + 5x2 + 6x3 + 2x4

Polynomial hasil perkalian terdapat 6x3 dan 2x4 (melebihi nilai N-1=3-1=2), maka

diperlukan reduksi terhadap hasil perkalian. Irreducible polynomial adalah xN-1, maka

xN-1 = 0, sehingga x3 = 1. 6x3 dan 2x4 akan direduksi menjadi:

6x3 = 6 × x3 = 6 × 1 = 6, dan

2x4 = 2x × x3 = 2x × 1 = 2x,

Sehingga hasil a × b, menjadi:

a × b = (1 + 2x + 2x2) × ( 2x + x2)

= 2x + 5x2 + 6x3 + 2x4

= 2x + 5x2 + 6 + 2x

= (6 + 4x + 5x2 ) mod 3

(30)

Ada empat parameter yang digunakan untuk membangkitkan kunci yaitu

bilangan integer N, p, q dan df, dimana N dan p merupakan bilangan prima, gcd(p,q) =

gcd(N,q) = 1.

N : dimensi dari polynomial yang digunakan (polinom akan memiliki derajat N–1), N

merupakan bilangan prima.

p : small modulus, koefisien dari polynomial akan direduksi dengan modulo p, p

adalah bilangan prima.

q : large modulus, koefisien dari polynomial akan direduksi dengan modulo q, q

merupakan bilangan kelipatan 2.

df: nilai yang akan digunakan untuk membangkitkan polynomial f pada proses

pembangkitan kunci privat.

Menyangkut masalah keamanan, NTRU Cryptosystems, Inc

merekomendasikan penggunaan parameter standar EES (Escrowed Encryption

Standard) pada implementasi algoritma NTRUEncrypt sesuai dengan data pada tabel

2.1 berikut.

Tabel 2.1 Standar Parameter pada Algoritma NTRUEncrypt

Parameter set Security level N q p df

ees401ep1 112 401 211 3 113

ees541ep1 112 541 211 3 49

ees659ep1 112 659 211 3 38

ees449ep1 128 449 211 3 134

ees613ep1 128 613 211 3 55

ees761ep1 128 761 211 3 42

ees677ep1 192 677 211 3 157

ees887ep1 192 887 211 3 81

ees1087ep1 192 1087 211 3 63

ees1087ep2 256 1087 211 3 120

ees1171ep1 256 1171 211 3 106

(31)

Parameter set merupakan nama parameternya. Escrowed Encryption Standard

merupakan singkatan dari EES. Angka setelah ees pada ees401ep1, ees541ep1 dan

yang lainnya menunjukkan derajat polynomial-nya atau nilai N. Ep2 digunakan jika

terdapat dua parameter dengan N yang sama tetapi dengan tingkat keamanan yang

lebih tinggi. Kolom security level merupakan tingkat keamanan kunci dalam satuan

bit.

2.4.1. Pembangkitan Kunci

Algoritma NTRUEncrypt merupakan algorima kriptografi kunci publik atu

algoritma asimetri, maka dibutuhkan dua kunci, yaitu kunci publik dan kunci privat.

Pembangkitan kunci NTRUEncrypt antara lain:

1. Tentukan parameter N, p, q dan df. Tabel 1 dapat digunakan untuk menentukan

parameter yang digunakan berdasarkan level keamanan yang bersesuaian.

2. Bangkitkan dua polinom kecil secara acak, yaitu f dan g dari ring (ℤ/pℤ)[x]/(xN-1).

Isi dari polinom f dan g bersifat rahasia karena jika salah satunya diketahui oleh

pihak lain, maka orang dapat mendekripsikan pesan. Metode yang dapat

digunakan untuk membangkitkan polynomial acak f adalah dengan

mendistribusikan secara acak nilai 1 sebanyak df, nilai -1 sebanyak df-1,

selebihnya nilai 0 ke dalam koefisien polynomial. Polinomial g dapat

dibangkitkan dengan cara yang sama menggunakan parameter dg yang dihasilkan

dari nilai N/3. Polynomial g akan memiliki koefisien bernilai -1 dan 1 sebanyak

dg, dan sisanya adalah 0.

3. Hitung invers dari f modulus p (fp) dan invers diri f modulus q (fq), f*fp = 1

(modulus p) dan f*fq = 1(modulus q). Tidak semua polynomial mempunyai

invers. Jika ternyata nilai invers tidak ditemukan, maka harus dicari lagi nilai f

yang lain.

4. hitung kunci publik (polinom H) dengan rumus H = (p × fq× g) mod q dan kunci

(32)

Contoh:

Langkah-langkah menentukan kunci privat dan kunci publik pada NTRUEncrypt

1. Menentukan nilai N, p, q, df yaitu N=7, p=3, q=32, df =2.

4. Invers polynomial f modulo p (fp) dan f modulo q (fq) adalah:

Tabel 2.2 Nilai Invers f Modulo p (fp)

k A B Q R t1 t2 t

Tabel 2.2 merupakan tabel untuk mencari nilai invers f modulo p (fp), dimana

Q = (A : B) dan R = A mod B, sedangkan nilai t = t1 - (Q x t2). Nilai fp merupakan

nilai t1 pada proses terakhir. Sedangkan, untuk mencari nilai invers f modulo q (fq),

(33)

Tabel 2.3 Nilai Invers f Modulo q (fq)

Setelah melakukan pembangkitan kunci, langkah selanjutnya adalah mengenkripsi

pesan. proses enkripsi antara lain:

1. m merupakan plaintext yang diubah dalam bentuk polynomial pada ring

(34)

2. Bangkitkan polinom kecil r secara acak pada ring (ℤ/pℤ)[X]/(XN-1). Polinom ini

adalah blinding value yang berfungsi untuk menyamarkan pesan.

3. Enkripsi polynomial m dengan rumus berikut:

e = (r × H + m) mod q

Polinom e adalah pesan terenkripsi yang akan dikirimkan.

Contoh:

Langkah-langkah mengenkripsi pesan string “d” dengan menggunakan kunci publik H

= 6x + 3x2 + 29x4 + 29x5 + 29x6 adalah sebagai berikut:

1. Pesan string “d” diubah ke dalam bentuk polynomial m menjadi:

m = - x + x2 - x3 - x5 - x6

Langkah-langkah mengubah string “d” menjadi polynomial: Nilai ASCII string “d” adalah 100

100 : 3 = 33 sisa bagi 1

33 : 3 = 11 sisa bagi 0

11 : 3 = 3 sisa bagi 2

3 : 3 = 1 sisa bagi 0

Maka dihasilkan array dengan m = [1 0 2 0 1], karena N = 7 maka nilai m = [1 0

2 0 1 0 0] koefisien polynomial m harus diantara -1,0,1 maka nilai m dikurangi 1,

maka nilai m = [0 -1 1 -1 0 -1 -1]

Maka polynomial m = - x + x2 - x3 - x5 - x6

2. Bangkitkan polinom r sebagai blinding value:

r = 1 + x - x2

3. e merupakan polinom hasil enkripsi:

e = (r × H + m) mod q

e = ((1 + x - x2) × (6x + 3x2 + 29x4 + 29x5 + 29x6) + (- x + x2– x3 - x5 - x6))

mod 32

= 8x + 10x2 + 28x3 + 26x4 + 25x5 + 28x6

Maka dihasilkan polynomial baru hasil enkripsi adalah 8x + 10x2 + 28x3 + 26x4

(35)

2.4.3. Dekripsi Pesan

Langkah-langkah pada proses dekripsi adalah sebagai berikut:

1. Hitung nilai polinom a dengan rumus berikut: a = (f × e) mod q, dimana

koefisien polinom a berada pada interval –q/2 dan q/2.

2. Hitung nilai polinom b dengan rumus berikut: b = a mod p, koefisien polinom b

berada pada interval -1 dan 1.

3. Hitung nilai polinom c dengan rumus berikut: c = (fp × b) mod p, koefisien

polinom b berada pada interval -1 dan 1.

Polinom c merupakan polinom hasil dekripsi pesan.

Contoh:

Langkah-langkah mendekripsi pesan e = 8x + 10x2 + 28x3 + 26x4 + 25x5 + 28x6

dengan nilai

f = x - x2 + x3

fp = 2x + 2x2 + x4 + x5 + x6

fq = 31x + 31x2 + x4 + x5 + x6

Proses dekripsi polinom e adalah sebagai berikut:

1. Polinom a = (f × e) mod q

a = (f × e) mod q

a = ((x - x2 + x3) × ( 8x + 10x2 + 28x3 + 26x4 + 25x5 + 28x6)) mod 32

= (-3 - 3x + 4x2 + 2x3 - 6x4 + 8x5 - 5x6 ) mod 32

2. Polinom b = a mod p

b = a mod p

b = (-3 - 3x + 4x2 - 2x3 - 6x4 + 8x5 - 5x6) mod 3

= (x2 - x3 - x5 + x6 ) mod 3

3. Polinom c = (fp × b) mod p

c = (fp × b) mod p

c = ((2x + 2x2 + x4 + x5 + x6) × (-x2 - x3 - x5 + x6)) mod 3

c = - x + x2– x3 - x5 - x6

(36)

Polinom m= - x + x2 - x3 + x5 - x6, maka array m = [0 -1 1 -1 0 -1 -1], untuk

mengubah kembali dalam bilangan ASCII maka m ditambahkan dengan 1, maka nilai

m = [1 0 2 0 1 0 0], m diubah kembali ke nilai ASCII

1  (1 x 3) + 0 = 3

0  (3 x 3) + 2 = 11

2  (11 x 3) + 0 = 33

0  (33 x 3) + 1 = 100

1  100

Maka dihasilkan nilai m = 100, 100 merupakan nilai ASCII dari string “d”.

2.5. Citra Digital

Citra adalah gambar pada bidang dwimatra (dua dimensi). Citra merupakan fungsi

menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya

menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut.

Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia,

kamera, pemindai dan sebagainya, sehingga bayangan objek yang disebut citra

terekam.

Citra ada dua macam, yaitu citra kontinu dan citra diskrit. Citra kontinu

dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata manusia dan

kamera analog. Citra diskrit dihasilkan melalui proses digitalisasi terhadap citra

kontinu. Beberapa sistem optik dilengkapi dengan fungsi digitalisasi sehingga mampu

menghasilkan citra diskrit, misalnya kamera digital dan scanner (Munir, 2007).

Citra digital dibentuk oleh kumpulan titik yang dinamakan piksel (pixel atau

picture element). Setiap piksel digambarkan sebagai satu kotak kecil. Setiap piksel

mempunyai koordinat posisi. Sistem koordinat yang dipakai untuk menyatakan citra

(37)

0 N-1

M-1 0

x

y

Posisi sebuah piksel

Gambar 2.3Sistem Koordinat Citra Berukuran M x N

(M Baris dan N Kolom)

Dengan sistem koordinat yang mengikuti gambar 2.3, sebuah piksel mempunyai

koordinat berupa

(x, y)

Dalam hal ini,

 x menyatakan posisi kolom;  y menyatakan posisi baris;

 piksel pojok kiri-atas mempunyai koordinat (0, 0) dan piksel pada pojok kanan-bawah mempunyai koordinat (N-1, M-1).

2.5.1. Format File Citra Bitmap

Citra bitmap sering disebut juga dengan citra raster. Citra bitmap menyimpan data

kode citra secara digital dan lengkap. Citra bitmap dipresentasikan dalam bentuk

matriks atau dipetakan dengan bilangan biner atau sistem bilangan lain. Citra ini

memiliki kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih

sulit. Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna

dari sebuah gambar. Oleh karena itu, bitmap merupakan media elektronik yang paling

(38)

dan lukisan digital. Bila citra ini diperbesar maka tampilan di monitor akan tampak

pecah-pecah (Sutoyo, dkk. 2009).

Citra dalam format BMP lebih bagus daripada citra dalam format yang

lainnya, karena citra dalam format BMP umumnya tidak dimampatkan sehingga tidak

ada informasi yang hilang. Terjemahan bebas bitmap adalah pemetaan bit. Artinya,

nilai intensitas pixel di dalam citra dipetakan ke sejumlah bit tertentu. Peta bit yang

umum adalah 8, artinya setiap pixel panjangnya 8 bit. Delapan bit ini

merepresentasikan nilai intensitas pixel. Dengan demikian ada sebanyak 28 = 256

derajat keabuan, mulai dari 0 sampai 255 (Munir, 2007).

Citra dalam format BMP ada tiga macam: citra biner, citra berwarna, dan citra

hitam-putih (greyscale). Citra biner hanya mempunyai dua nilai keabuan, 0 dan 1.

Oleh karena itu, 1 bit sudah cukup untuk merepresentasikan nilai pixel. Citra berwarna

adalah citra yang lebih umum. Warna yang terlihat pada citra bitmap merupakan

kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru. Setiap pixel disusun

oleh tiga komponen warna: R (red), G (green), dan B (blue). Kombinasi dari ketiga

warna RGB tersebut menghasilkan warna yang khas untuk pixel yang bersangkutan.

Setiap komponen panjangnya 8 bit, jadi ada 256 nilai keabuan untuk warna merah,

256 nilai keabuan untuk warna hijau, dan 256 nilai keabuan untuk warna biru. Nilai

setiap pixel tidak menyatakan derajat keabuannya secara langsung, tetapi nilai pixel

menyatakan indeks tabel RGB yang memuat nilai keabuan merah (R), nilai keabuan

hijau (G), dan nilai keabuan biru (B) untuk pixel yang bersangkutan. Pada citra

hitam-putih, nilai R = G = B untuk menyatakan bahwa citra hitam-putih hanya mempunyai

satu kanal warna. Citra hitam-putih umumnya adalah citra 8-bit (Munir, 2007).

Citra yang lebih kaya warna adalah citra 24-bit. Setiap pixel panjangnya 24 bit,

karena setiap pixel langsung menyatakan komponen warna merah, komponen warna

hijau, dan komponen warna biru. Masing-masing komponen panjangnya 8 bit. Citra

24-bit disebut juga citra 16 juta warna, karena ia mampu menghasilkan 224 =

(39)

Gambar 2.4Contoh Gambar dengan Format Bitmap (.bmp)

2.6. Steganografi

Steganografi adalah ilmu menyembunyikan teks pada media lain yang telah ada

sedemikian sehingga teks yang tersembunyi menyatu dengan media itu. Media tempat

penyembunyian pesan dapat berupa media teks, gambar, audio atau video.

Steganografi yang kuat memiliki sifat yang tertanam teks tersembunyi sulit dibedakan

dengan media asli namun teks tersembunyi tetap dapat diekstraksi (Sadikin, 2012).

Penggunaan steganografi antara lain bertujuan untuk menyamarkan eksistensi

(keberadaan) data rahasia sehingga sulit dideteksi, dan melindungi hak cipta suatu

produk. Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika pada

kriptografi, data yang telah disandikan (ciphertext) tetap tersedia, maka dengan

steganografi cipherteks dapat disembunyikan sehingga pihak ketiga tidak mengetahui

keberadaannya. Data rahasia yang disembunyikan dapat diekstraksi kembali persis

sama seperti keadaan aslinya (Munir, 2007).

Steganografi berbeda dengan kriptografi, letak perbedaannya adalah pada hasil

keluarannya. Hasil dari kriptografi biasanya berupa data yang berbeda dari bentuk

aslinya dan biasanya data seolah-olah berantakan sehingga tidak dapat diketahui

informasi apa yang terkandung didalamnya (namun sesungguhnya dapat dikembalikan

ke bentuk semula lewat proses dekripsi), sedangkan hasil keluaran dari Steganografi

(40)

kesamaan persepsi tersebut adalah oleh indera manusia (khususnya visual), namun

bila digunakan komputer atau perangkat pengolah digital lainnya dapat dengan jelas

dibedakan antara sebelum proses dan setelah proses (Alfian, 2013).

Gambar 2.5 Perbedaan Steganografi dan Kriptografi

Penyembunyian data rahasia ke dalam citra digital akan mengubah kualitas

citra tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah

(Munir, 2007):

1. Fidelity. Mutu citra penampung tidak jauh berubah. Setelah penambahan data

rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat tidak

mengetahui kalau di dalam citra tersebut terdapat data rahasia.

2. Robustness. Data yang disembunyikan harus tahan (robust) terhadap berbagai

operasi manipulasi yang dilakukan pada citra penampung, seperti pengubahan

kontras, penajaman, pemampatan, rotasi, perbesaran gambar, pemotongan

(cropping), enkripsi, dan sebagainya. Bila pada citra penampung dilakukan

operasi-operasi pengolahan citra tersebut, maka data yang disembunyikan

seharusnya tidak rusak (tetap valid jika diekstraksi kembali)

3. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali (reveal).

Karena tujuan steganografi adalah data hiding, maka sewaktu-waktu data rahasia

di dalam citra penampung harus dapat diambil kembali untuk digunakan lebih

(41)

Steganografi membutuhkan dua properti, yaitu wadah penampung dan data

rahasia yang akan disembunyikan. Steganografi digital menggunakan media sebagai

wadah penampang, misalnya citra, audio, teks dan video (Sutoyo,dkk. 2009). Gambar

2.6 adalah ilustrasi untuk menggambarkan proses penyimpanan (penyisipan) pesan ke

dalam media digital dengan teknik steganografi. Secret message adalah pesan yang

akan disisipkan ke dalam cover image. Cover image adalah media digital atau gambar.

Embedding Algorithm merupakan algoritma yang digunakan untuk menyisipkan

pesan. Sedangkan stego image adalah gambar yang telah disisipi oleh secret message.

Sedangkan Extraction Algorithm digunakan untuk mengekstraksi pesan rahasia.

Cover

Gambar 2.6 Proses Penyisipan dan Ekstraksi Data Rahasia

2.6.1. End of File

Metode EOF merupakan salah satu teknik yang digunakan dalam Steganografi.

Metode ini menggunakan cara dengan menyisipkan data pada akhir file. Sehingga,

tidak akan mengganggu kualitas data awal yang akan disisipkan pesan. Namun,

ukuran file setelah disisipkan pesan rahasia akan bertambah. Sebab, ukuran file yang

telah disisipkan pesan rahasia sama dengan ukuran file sebelum disisipkan pesan

rahasia yang disisipkan. Untuk mengenal data yang disisipkan pada akhir file,

diperlukan suatu tanda pengenal atau simbol pada awal dan akhir data yang akan

disisipkan (Alfian, 2013). Misalnya matriks pada sebuah citra dengan skala keabuan

(42)

Citra tersebut akan disisipkan sebuah pesan, yaitu “YANSEN”. Kode ASCII dari

pesan tersebut adalah:

89 65 78 83 69 78

Pesan tersebut akan disisipkan dengan menggunakan metode EOF, sehingga citra

menjadi:

98 167 10 101 56 200 89

105 29 199 8 100 150 65

88 102 25 55 127 55 78

30 188 99 37 230 12 83

78 94 91 234 45 108 69

34 67 90 111 121 11 78

Langkah-langkah menyisipkan pesan dengan metode EOF antara lain:

1. Menginputkan ciphertext yang akan disisipkan.

2. Menginputkan citra yang akan menjadi media penyisipan ciphertext.

3. Membaca nilai setiap pixel citra.

4. Menyisipkan ciphertext ke dalam citra, yaitu pada akhir pixel citra .

Sedangkan langkah-langkah mengekstraksi pesan yang sudah disisipkan dengan

metode EOF antara lain:

1. Menginputkan citra yang telah disisipkan ciphertext (stego image).

2. Membaca nilai pixel stego image yang terdapat pada citra.

(43)

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem adalah proses menentukan kebutuhan sistem, apa yang harus dilakukan sistem untuk memenuhi kebutuhan pengguna (user). Pada saat tahap perancangan diperlukan analisis sistem yang akan dibangun. Tahapan analisis kebutuhan merupakan tahap awal untuk membangun sebuah sistem atau aplikasi. Dengan adanya analisis diharapkan agar hasil yang baik dan sesuai dengan kebutuhan.

3.1.1. Analisis Masalah

Perkembangan teknologi jaringan komputer menyebabkan terhubungnya satu komputer dengan komputer lainnya. Sehingga, keamanan data merupakan prioritas utama dalam pendistribusian data. Dalam pendistribusian data, tentu pengirim tidak akan mau data yang dikirimkan diketahui isinya oleh lain, meskipun data tersebut sudah berhasil diambil. Untuk melindungi data tersebut adalah dengan memanfaatkan teknik kriptografi dan steganografi. Dengan kriptografi data akan benar-benar berbeda dengan data yang sebenarnya dan disisipkan ke dalam media gambar mengunakan teknik steganografi sehingga menutup kemungkinan data disalahgunakan oleh orang lain.

(44)

untuk dapat melakukan proses enkripsi untuk menghasilkan ciphertext. Penentuan parameter yang digunakan dalam pembangkitan kunci merupakan proses penting pada algoritma NTRUEncrypt.

Ciphertext yang dihasilkan dari proses enkripsi akan disisipkan ke dalam citra dengan format bitmap (.bmp). Metode yang digunakan untuk menyisipkan pesan adalah steganografi End of File. Metode ini menyisipkan pesan pada akhir file. Sehingga tidak akan mengganggu kualitas data awal yang akan disisipkan pesan.

3.1.2. Analisis Persyaratan

Analisis persyaratan sistem dikelompokkan ke dalam dua kategori yaitu, analisis persyaratan fungsional dan analisis persyaratan non-fungsional. Persyaratan fungsional berisi persyaratan pokok dari suatu sistem dimana persyaratan tersebut wajib ada atau disediakan dalam sistem tersebut. Sedangkan persyaratan non-fungsional berupa persyaratan tambahan yang dapat menunjang kinerja dari persyaratan fungsional.

3.1.2.1. Persyaratan Fungsional

Persyaratan fungsional dari sistem yang akan dirancang adalah sebagai berikut. 1. Plaintext yang akan dienkripsi adalah file dengan format text (.txt).

2. Citra digital yang digunakan untuk penyisipan pesan adalah file dengan format bitmap (.bmp).

3. Parameter yang digunakan saat enkripsi dan dekripsi adalah sama. 4. Hasil dekripsi pesan disimpan kedalam format text (.txt).

(45)

3.1.2.2. Persyaratan Non-Fungsional

Adapun persyaratan non-fungsional pada sistem ini adalah sebagai berikut :

1. Performa

Sistem yang dibangun harus dapat menunjukkan hasil dari proses enkripsi dan penyisipan pesan menggunakan algoritma NTRUEncrypt dan steganografi End of File.Dan pesan tersebut dapat diekstraksi kembali dari citra penampung. 2. Mudah dipelajari dan digunakan

Sistem dibangun sederhana agar mudah digunakan dan dipelajari oleh pengguna (User).

3. Hemat biaya

Perangkat lunak yang dibangun tidak memerlukan peralatan tambahan ataupun perangkat pendukung dalam proses eksekusinya.

4. Dokumentasi

Perangkat lunak yang akan dibangun mampu menyimpan citra digital disisipkan pesan dan dapat menyimpan pesan yang diekstraksi kembali.

5. Manajemen kualitas

Perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu proses enkripsi dan penyisipan pesan relatif cepat. Begitu juga saat proses ekstraksi pesan dan dekripsi

6. Kontrol

Perangkat lunak harus mampu memanajemen proses error yang terjadi pada saat penggunaan.

3.1.3. Analisis Proses

(46)

mempunyai invers. Kunci publik yang dibangkitkan akan digunakan untuk mengenkripsi file text yang diinputkan. Setelah melakukan enkripsi, ciphertext akan disisipkan pada citra asli, yaitu citra dengan format .bmp. Citra hasil penyisipan (citra stego) disimpan dalam media penyimpanan dan akan dikirim kepada penerima pesan. Untuk mengetahui pesan yang diterima maka citra stego harus diekstraksi, citra yang diektraksi menghasilkan citra asli dan ciphertext. Kemudian ciphertext didekripsi untuk mengetahui isi pesan tersebut.

3.2. Perancangan Sistem

Perancangan sistem merupakan tahapan yang dilakukan setelah tahap analisis sistem. Adapun perancangan sistem yang dilakukan adalah perancangan flowchart, kemudian dilanjutkan dengan pembuatan diagram Unified Modeling Language (UML) dari sistem.

3.2.1. Perancangan Flowchart Aplikasi

Pada bagian ini akan dijelaskan langkah-langkah pembuatan aplikasi dalam flowchart

sistem kemudian akan dijabarkan dalam bagian-bagian flowchart algoritma.

Flowchart di dalam sistem diantaranya: flowchart enkripsi Algoritma NTRUEncrypt

(47)

3.2.1.1.Flowchart Enkripsi Algoritma NTRUEncrypt dan Penyembunyian Data

EOF

Pada proses ini, algoritma yang digunakan adalah algoritma NTRUEncrypt dan steganografi end of file. Jika pengguna adalah pengirim maka hal pertama yang akan dilakukan adalah menentukan parameter yang akan digunakan untuk membangkitkan kunci yaitu kunci privat dan kunci publik. Kemudian dilanjutkan dengan mengenkripsi plaintext, hasil enkripsi yaitu sebuah ciphertext kemudian disisipkan pada citra asli yang berformat bitmap (.bmp) menggunakan metode end of file yang terlebih dahulu diinputkan. Melalui proses tersebut maka akan dihasilkan Stego Image

yang telah disisipkan ciphertext. Flowchart enkripsi dan penyisipan pesan dapat dilihat pada gambar 3.1.

Mulai

Input nilai parameter N, p, q dan df

Input Plaintext

Selesai Stego image Cipher Text

Import citra .bmp

Pembangkitan kunci privat dan

kunci publik

Enkripsi pesan

Penyisipian pesan dengan

metode EOF

(48)

Ada tiga predefined proses yang terdapat pada gambar 3.1. Predefined proses

adalah proses yang memiliki penjelasan lebih rinci dan dikembangkan agar lebih jelas dipahami. Adapun predefined process dari flowchart diatas antara lain proses pembangkitan kunci, enkripsi dan penyisipan pesan.

3.2.1.2.Flowchart Pembangkitan Kunci NTRUEncrypt

Pada proses ini, untuk membangkitkan kunci pengguna harus terlebih dahulu menentukan parameter yang digunakan algoritma NTRUEncrypt yaitu N, p, q dan df

yang terdapat pada tabel 2.1. Nilai N, p, q dan df digunakan untuk membangkitkan

polynomialf dan g. Kemudian sistem akan mencari nilai invers dari f modulus p (fp) dan invers dari f modulus q (fq). Tidak semua polynomial mempunyai invers, jika nilai invers tidak ditemukan, maka sistem akan membangkitkan kembali polynomial f yang lain. Setelah mendapat nilai f, maka sistem akan menghitung nilai polynomialH = (p x

fp x g) mod q. Polynomial H merupakan kunci publik dan polinomial f merupakan kunci privat. Proses pembangkitan kunci dapat dilihat pada gambar 3.2.

Mulai

(49)

3.2.1.3.Flowchart Enkripsi NTRUEncrypt

Setelah melakukan proses pembangkitan kunci, langkah selanjutnya adalah melakukan proses enkripsi. Pada proses enkripsi, plaintext diinputkan terlebih dahulu, kemudian plaintext tersebut diubah kedalam bentuk polynomial, yaitu polynomial m. Sistem akan membangkitkan nilai polynomial r yang berfungsi untuk menyamarkan pesan pada saat proses enkripsi. Pesan tersebut akan dienkripsi menggunakan kunci publik yaitu polynomial H dan polynomial r dengan rumus E = (r x H + m) mod q.

Polynomial E merupakan polynomial hasil dekripsi yaitu ciphertext. Proses enkripsi

plaintext dapa dilihat pada gambar 3.3

Mulai

Input plaintext

Plaintext diubah ke bentuk polynomial m

Bangkitkan polynomial r

Enkripsi Pesan e = (r x H + m)

modulo q

Polynomial E

Selesai Polynomial

H

(50)

3.2.1.4.Flowchart Penyisipan Steganografi EOF

Setelah melakukan pores enkripsi, langkah selanjutnya adalah proses penyisipan. Pada proses ini dimulai dengan menginputkan ciphertext dan citra yang akan menjadi media penyisipan ciphertext, yaitu citra dengan format bitmap (.bmp). Setelah itu sistem akan membaca nilai piksel citra, kemudian menyisipkan ciphertext pada akhir piksel. Untuk mengenal data yang disisipkan pada akhir citra, maka diperlukan suatu tanda pengenal atau simbol pada awal dan akhir ciphertext yang akan disisipkan. Proses penyisipan ciphertext pada citra asli akan menghasilkan citra stego. Proses penyisipan ciphertext dapat dilihat pada gambar 3.4.

Mulai

Input ciphertext, citra .bmp

Selesai Baca nilai pixel citra

Sisipkan ciphertext pada pixel citra dengan metode EOF

Citra stego

(51)

3.2.1.5.Flowchart Ekstraksi EOF dan Dekripsi Algoritma NTRUEncrypt

Pada proses ini, pengguna terlebih dahulu menginputkan citra stego. Untuk mendapatkan pesan, citra stego yang telah disisipkan ciphertext akan diekstraksi oleh penerima pesan. Hasil ekstraksi adalah citra asli dan ciphertext. Setelah proses ekstraksi, pengguna melakukan proses dekripsi ciphertext menggunakan kunci privat yang telah dibangkitkan dan parameter set yang digunakan saat membangkitkan kunci. Hasil dekripsi pesan adalah plaintext. Flowchart ekstraksi dan dekripsi pesan dapat dilihat pada gambar 3.5.

Mulai

Ciphertext

Selesai

Plaintext

Import citra stego

Input nilai parameter N, p,

q dan df

Import kunci privat

Ekstraksi Pesan

Dekripsi Ciphertext

Gambar 3.5 Flowchart Ekstraksi dan Dekripsi Pesan

(52)

3.2.1.6.Flowchart Ekstraksi Steganografi EOF

Pada proses ini dimulai dengan menginputkan citra stego. Citra stego merupakan citra yang telah disisipkan ciphertext. Setelah citra stego diinputkan, sistem akan membaca nilai setiap piksel citra stego. Sistem akan memeriksa tanda yang digunakan saat proses penyisipan. Jika penanda pesan ada, maka sistem akan melakukan proses ekstraksi pada citra tersebut. Sedangkan jika penanda pesan tidak ada, maka citra tersebut bukan citra yang disisipkan ciphertext. Proses ekstraksi pesan akan menghasilkan citra stego dan ciphertext. Proses ekstraksi ciphertext dapat dilihat pada gambar 3.6.

Mulai

Input stego image

Selesai Baca nilai pixel stego

image

Ekstraksi pesan dari

stego image EOF

Plaintext

Penanda pesan ada?

Y

T

(53)

3.2.1.7. Flowchart Dekripsi NTRUEncrypt

Pada proses dekripsi, pengguna kembali memasukkan nilai parameter yang digunakan pada saat pembangkitan kunci, kemudian menginputkan kunci privat yaitu polynomial f. Setelah itu sistem akan mencari nilai invers f modulo p (fp). Pesan tersebut akan dienkripsi dengan mencari nilai polynomial a = (f x e) mod q, dimana interval koefisien berada pada interval –q/2 dan q/2. Setelah mendapat polynomial a, sistem mencari polynomial b = a mod p, nilai koefisien polynomialb pada interval -1 dan 1, kemudian mencari nilai polynomial c = (fp x b) mod q, nilai koefisien polynomial c

pada interval -1 dan 1. Polynomial c merupakan hasil dekripsi pesan, kemudian diubah kembali ke string yaitu plaintext. Proses dekripsi dapat dilihat pada gambar 3.7

Mulai

Gambar

Tabel 2.1 Standar Parameter pada Algoritma NTRUEncrypt
Tabel 2.2 Nilai Invers f Modulo p (fp)
Tabel 2.3 Nilai Invers f Modulo q (fq)
Gambar 2.3 Sistem Koordinat Citra Berukuran M x N  (M Baris dan N Kolom)
+7

Referensi

Dokumen terkait

Gambar 4.11 Pengujian ELGamal dengan mendapatkan key dari algoritma FEAL 63 Gambar 4.12 Hasil pengujian ke-1 mendapatkan ciphertext FEAL untuk key ElGamal Dengan

Penerapan Algoritma AES Rijndael Untuk Keamanan

Pada penelitian ini, algoritma RSA dan ElGamal dikombinasikan untuk dapat mengamankan data pada file dokumen yang bertujuan agar dapat memberikan perlindungan

Berdasarkan penjelasan di atas, maka penulis melakukan penelitian dengan judul “Implementasi Kombinasi Algoritma RSA dan ElGamal dalam Pengamanan Data pada File Dokumen”.

(Permana, Aditya dkk.) dalam jurnalnya yang berjudul “Kriptografi Pada File Dokumen Microsoft Office Menggunakan Metode RSA” menjelaskan bahwa algoritma RSA dapat diterapkan

Algoritma one time pad dapat digunakan untuk komunikasi yang rahasia dengan nilai yang tidak terlalu besar, namun pada skala yang besar, algoritma one time pad menjadi tidak

 Memiliki Kemampuan untuk Mempelajari Hal-Hal yang Baru dan Mudah

Algoritma one time pad dapat digunakan untuk komunikasi yang rahasia dengan nilai yang tidak terlalu besar, namun pada skala yang besar, algoritma one time pad menjadi tidak