Metode Penelitian Kriptografi Perancangan Aplikasi Kombinasi Algoritma Steganografi Least Significant Bit dan Alagoritma Kriptografi Kanpsack Merkle-Hellman pada Citra Bitmap

sehingga kerahasiaan pesan semakin terjaga serta pihak penerima pesan dapat mengekstrak dan mendekripsinya.

1.6 Metode Penelitian

Metode penelitian yang digunakan dalam skripsi ini adalah: 1. Studi literatur Metode ini dilakukan studi kepustakaan melalui hasil penelitian lain yang relevan serta buku maupun artikel yang diperoleh melalui internet. 2. Analisis dan Perancangan Metode ini dilaksanakan dengan menganalisis permasalahan yang ada, batasan masalah yang dimiliki serta berbagai kebutuhan yang diperlukan. 3. Implementasi dan Pengujian Metode ini dilaksanakan dengan melakukan implementasi perangkat lunak yang bertujuan untuk meningkatkan keamanan data menggunakan kripto Knapsack Merkle-Hellman dan metode Least Significant Bit serta pengujian terhadap perangkat lunak yang telah dibangun. 4. Dokumentasi Metode ini dilaksanakan dengan penyusunan laporan serta hal-hal yang berhubungan dengan tugas akhir ini.

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri atas beberapa bagian, yaitu:

BAB 1 : PENDAHULUAN

Bab ini berisi pembahasan dasar penyusunan tugas akhir yang meliputi latar belakang pemilihan judul skripsi “Perancangan Aplikasi Kombinasi Algoritma Steganografi Least Significant Bit dan Algoritma Kriptografi Knapsack Merkle- Universitas Sumatera Utara Hellman pada citra Bitmap”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, dan sistematika penulisan.

BAB 2 : LANDASAN TEORI

Bab ini berisi tentang dasar teori yang digunakan sebagai sumber atau acuan dalam memahami permasalahan penelitian yang berkaitan dengan kriptografi, steganografi, algoritma Knapsack Merkle-Hellman, metode Least Significant Bitdan citra Bitmap.

BAB 3 : ANALISIS DAN PERANCANGAN

Bab ini berisi proses analisis kebutuhan perangkat lunak serta langkah-langkah dalam perancangan aplikasi secara fungsional. Bagian analisis memuat uraian tentang metode yang digunakan untuk merancang aplikasi, sedangkan pada proses peracangan dihasilkan perancangan flowchart dan antar muka.

BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi proses implementasi dan pengujian aplikasi terhadap pesan dan citra Bitmap sebagai inputannya.

BAB 5 : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang berupa rangkuman dari keseluruhan hasil analisis bagian sebelumnya dan saran yang perlu diperhatikan agar dapat bermanfaat pada proses pengembangan selanjutnya. Universitas Sumatera Utara BAB 2 LANDASAN TEORI

2.1 Kriptografi

Dewasa ini, kriptografi menjadi suatu syarat yang paling penting dalam keamanan informasi. Berbagai aspek keamanan seperti kerahasiaan data, keabsahan data, integritas data, dan autentifikasi merupakan hal yang dicakup sebagai tujuan kriptografi. Ketika suatu pesan akan dikirimkan, isi pesan tersebut mungkin disadap oleh pihak yang tidak berhak. Agar pesan tidak dapat dibaca oleh penyadap, maka kriptografi berperan sebagai suatu teknik yang dapat mengubah pesan menjadi serangkaian kode yang tidak dimengerti oleh pihak lain.

2.1.1 Sejarah dan Konsep Kriptografi

Kriptografi berasal dari bahasa Yunani yang terdiri dari kata kryptos, yang artinya rahasia dan graphein, yang artinya tulisan. Para sejarawan percaya bahwa hieroglif Mesir, yang dimulai sekitar tahun 1900, merupakan contoh pengenkripsian yang paling awal. Kunci yang dapat memecahkan rahasia hieroglif adalah Rosetta Stone, ditemukan tahun 1799 di Mesir dan sekarang ditempatkan di British Museum, London. Francois Champollion, menggunakan Rosetta Stone, mendekripsi hieroglif pada tahun 1822 [9]. Kriptografi adalah ilmu yang berfokus pada cara untuk memproteksi data menggunakan teknik enkripsi dan proses lain yang berhubungan. Matematika merupakan hal yang penting dalam dunia kriptografi, karena hanya dengan pengetahuan matematis dapat dikembangkan prosedur yang dibutuhkan untuk mengenkripsi data secara aman. Hal penting lainnya adalah komputer. Komputer Universitas Sumatera Utara menjalankan prosedur enkripsi dan melakukan layanan lainnya dengan mencoba kelemahan metode kriptografi [14]. Ide utama dari sebuah sistem kriptografi adalah untuk menyamarkan informasi rahasia dengan cara yang tidak dapat dipahami oleh pihak yang tidak berhak. Dua kegunaan umum kriptografi adalah untuk menyimpan data secara aman dikomputer dan untuk mengirimkan data melalui saluran yang tidak aman seperti internet. Faktanya adalah bahwa pesan yang terenkripsi tidak mencegah pihak lain untuk mengakses pesan tersebut, tetapi dapat dipastikan bahwa pihak lain tidak dapat mengerti apa yang mereka lihat [12]. Dasar dari kriptografi adalah pemakaian teknik enkripsi. Pesan yang akan dikirimkan – berupa teks, data numerik, dan data jenis lain – disebut dengan plaintext. Setelah melalui proses enkripsi, plaintext tersebut berubah menjadi ciphertext. Proses untuk mengembalikan ciphertext menjadi plaintext disebut dengan proses dekripsi. Untuk melakukan proses dekripsi diperlukan adanya suatu kunci rahasia[5].

2.1.2 Terminologi Kriptografi

Beberapa istilah umum atau terminologi yang berhubungan dengan kriptografi dapat ditemukan pada standar internasional RCF 2828 yaitu [18]: 1. Confidentiality, secrecy: suatu jaminan bahwa informasi tidak dapat diakses oleh pihak yang tidak berhak. 2. Privacy: suatu kemampuan yang dimiliki oleh seseorang untuk mengontrol bagaimana informasi pribadinya menyebar dalam suatu komunitas. Istilah ini merupakan sinonim dari secrecy. 3. Code: sekumpulan simbol yang merepresentasikan informasi. 4. Coding theory: ilmu tentang transformasi kode yang memungkinkan adanya pengiriman informasi melalui saluran komunikasi dengan cara yang dapat Universitas Sumatera Utara diandalkan. Biasanya teori ini berfokus pada saluran yang ramai dan mencoba membuat agar informasi dapat diungkap oleh semua orang istilah ini merupakan kebalikan dari kriptografi, dimana informasi hanya untuk pihak yang berhak. 5. Encode, Decode: proses dasar pada coding theory; suatu proses untuk mentransformasi informasi menjadi kode, dan mengembalikan informasi dari kode tersebut. 6. Cryptography: ilmu tentang kode rahasia memungkinkan adanya kerahasiaan komunikasi melalui saluran yang tidak aman. Kriptografi juga didefinisikan sebagai suatu ilmu tentang pengamanan informasi terhadap pihak yang tidak berhak. Algoritma kriptografi merupakan algoritma matematis yang menghasilkan suatu proteksi. 7. Cipher: kode rahasia, suatu kode publik yang berhubungan dengan informasi rahasia. 8. Cryptography system: kumpulan algoritma kriptografi yang terdiri atas sandi dan pola kriptografi. 9. Cryptosystem: singkatan dari cryptography system yang sering digunakan pada istilah ”public-key cryptosystem” yang merupakan algoritma kriptografi yang memiliki sepasang kunci. 10. Cleartext: informasi yang dapat disandikan menggunakan kode publik. 11. Plaintext: masukan pada algoritma enkripsi biasanya merupakan cleartext. 12. Ciphertext, cryptogram: informasi yang disandikan dengan menggunakan sistem kriptografi. 13. Encryption, encipherment, decryption, decipherment: proses dasar kriptografi yaitu mentransformasi plainteks menjadi ciphertext dan sebaliknya. 14. Cryptanalysis, cryptographic analysis, cryptoanalysis: toeri tentang analisis keamanan sistem kriptografi. 15. Breaking a cryptosystem: suatu pembuktian kelemahan sistem kriptografi dengan memaparkan cara mendekripsi pesan. 16. Cryptology: ilmu tentang kriptografi dan kriptanalisis. Universitas Sumatera Utara

2.1.3 Penggunaan Kriptografi

Menurut [14], terdapat beberapa media yang menggunakan teknik kriptografi melalui jalur internet. Diantaranya adalah: 1. E-mail. Hingga saat ini, surat elektronik yang telah disandikan menjadi daya tarik utama dalam dunia internet. 2. World Wide Web. WWW tidak hanya menjadi arena bermain bagi para pengguna internet. WWW telah banyak digunakan sebagai alat untuk mengakses basis data, administrasi sistem komputer, dan pusat perbelanjaan. Pada masing-masing keadaan tersebut, terknik enkripsi sangat dibutuhkan. 3. Koneksi klien server. Perkembangan sistem komputer berdampak pada perkembangan komunikasi dan adanya aliran yang besar tentang informasi rahasia. 4. Jaringan rahasia virtual. Perusahaan dengan beberapa cabang sering mengelompokan jaringan lokal dengan koneksi seperti ISDN. Semua data akan dienkripsi apabila berada diluar jaringan perusahaan dan kemudian akan didekripsi apabila telah berada di wilayah perusahaan. 5. Sistem pembayaran. Kriptografi menjaga keamanan dalam melakukan transaksi berupa transfer uang melalui internet. 6. Remote access. Beberapa layanan seperti Telnet atau Rsh berfungsi untuk mengakses komputer dari jarak jauh menggunakan internet. Kriptografi berperan dalam mengenkripsi data selama proses berlangsung.

2.1.4 Kriptografi Kunci Publik

Suatu sistem kriptografi yang terdiri atas kumpulan transformasi enkripsi dan dekripsi disebut dengan sistem kriptografi kunci publik atau suatu sistem kriptografi asimetrik jika sepasang kunci yaitu kunci untuk proses enkripsi dinamakan kunci publik, disebarkan kepada publik, dan kunci untuk proses dekripsi dinamakan kunci privat, dijaga kerahasiaannya. Universitas Sumatera Utara Beberapa aspek penting pada sistem kriptografi kunci publik dapat dijelaskan sebagai berikut [10]: 1. Keamanan. Dengan adanya sistem kriptografi kunci publik, hanya kunci privat yang harus dijaga kerahasiaannya sedangkan kunci publik disebarkan dengan bebas. 2. Usia pemakaian. Sistem kriptografi kunci publik memiliki pasangan kunci yang dapat digunakan tanpa perlu adanya perubahan dalam waktu yang lama. 3. Manajemen kunci. Pada jaringan multiuser, lebih sedikit kunci privat yang dibuuthkan. 4. Pertukaran kunci. Pada Sistem kriptografi kunci publik, tidak dibutuhkan adanya pertukaran kunci privat antar entitas.

2.1.5 Kriptografi Knapsack Merkle-Hellman

Sistem kripto Knapsack Merkle-Hellman mengambil masalah super-increasing knapsack sebagai kunci privat dan membentuknya menggunakan suatu transformasi. Hasil transformasi ini yang kemudian menjadi kunci publik. Transformasi dapat diselesaikan dengan mengambil nilai integer N dan M nilai greatest commod divisor ataugcd, yaitu gcdN,M = 1 dan mengalikan semua nilai deretan super-increasing dengan N mod M. Contohnya adalah sebagai berikut: Deretan super-increasing knapsack {2,6} N = 31 dan M = 105. Proses transformasi yang terjadi adalah: 231 mod 105 = 62 631 mod 105 = 81 Maka kunci publik yang dihasilkan adalah {62,81}. Hasil ini merupakan kunci publik dengan maksud bahwa hanya pihak yang mengetahui nilai N dan M saja yang dapat mentransformasi kembali ke bentuk super-increasing knapsack[15]. Universitas Sumatera Utara Proses enkripsi algoritma ini dapat dijelaskan dengan contoh berikut. Misalkan plaintext adalah 011110, kunci publik yang digunakan adalah seperti contoh diatas, yaitu {62,81}. Kemudian plaintext dibagi menjadi blok-blok dengan ukuran 6 dan setiap bit di dalam blok dikalikan dengan elemen yang berkoresponden pada kunci publik. Blok 1 : 01  062 + 181 = 81 Blok 2 : 11  162 + 181 = 143 Blok 3 : 10  162 + 081 = 62 maka ciphertext yang dihasilkan adalah 81,143,62. Proses dekripsi dapat dilakukan dengan mengalikan masing-masing deretan ciphertext dengan W B -1 kemudian hasilnya dimodulokan dengan N B ,keduanya adalah parameter rahasia. W B -1 merupakan invers dari bilangan integer N yang telah ada sebelumnya dan N B merupakan bilangan integer yang relatif prima terhadap N. Artinya adalah suatu modular akan memiliki invers apabila kedua bilangan memiliki nilai greatest common divisor sama dengan satu [17]. Konsep balikan modular dapat dirumuskan dengan a. a -1 ≡1 mod n, dengan keterangan a dan n adalah bilangan integer dan a -1 adalah invers dari a [10]. Pada contoh diatas, nilai N = 31, M = 105, maka nilai untuk mencari nilai N - 1 , dengan konsep modular yaitu N. N -1 ≡ 1 mod M. Untuk itu kita lakukan percobaan agar N. N -1 mod M ≡ 1, dimulai dari N -1 = 0. Tabel 2.1 Perhitungan invers N -1

N. N

-1 mod M 1 31 2 61 3 93 4 19 5 50 : : Universitas Sumatera Utara 61 1 Pada table diatas, terlihat bahwa N. N -1 mod M akan sama dengan satu pada nilai N -1 ke 61. Dengan menggunakan konsep modulo bahwa apabila: a mod b = 1 a = 1 + k b, dengan a dan b adalah bilangan integer dan k adalah faktor pengali, sehingga konsep modular diatas dapat menjadi:

N. N

-1 mod M ≡ 1

N. N

-1 ≡ 1 + k M N -1 ≡ 1 + k M div N Untuk memperoleh nilai N -1 , maka perhitungan dimulai dengan nilai k sama dengan nol. Proses dekripsi dilakukan dengan mengalikan masing-masing nilai plaintext dengan N -1 dan kemudian dimodulokan dengan M. Ciphertext = {81,143,62}. Nilai N adalah 31 dan M adalah 105. Maka nilai N -1 adalah 61 pada k = 18. Dengan demikian didapat nilaiplaintext: 6181 mod 105 = 6 61143 mod 105 = 8 6162 mod 105 = 2 Maka nilai plaintext= {6, 8, 2}. Masing-masing ciphertext dikonversi kedalam bentuk biner dengan menggunakan konsep persoalan knapsack dengan algoritma berikut [15]: Algoritma 2.1 : Penyelesaian persoalan super-increasing knapsack Step 1: for i = n downto 1 do Step 1a: if S = w i then Step 1b: b i = 1 ; Step 1c: S = S - w i ; end Step 1d: else b i = 0 ; Step 2: end Step 3: if S = 0 then return b 1 ,b 2 ,…,b n ; else return “No Solution” ; Universitas Sumatera Utara dengan n adalah banyaknya bilangan kunci privat, i adalah indeks, S adalah target bilangan ciphertext setelah ditransformasi dengan rumusan dekripsi, w adalah bilangan pada deretan kunci privat, b adalah plaintext dalam bentuk biner. Pada contoh diatas, nilai untuk n adalah 2, S = {6,8,2}, dan w = {2,6}. Selanjutnya, untuk masing-masing S, dilakukan proses dengan algoritma 8.1, menghasilkan S = {61 0, 81 1, 20 1}. Sehingga diperoleh nilai b yang merupakan biner plaintext yaitu 1 0 1 1 0 1. Selanjutnya nilai b disusun dimulai dari indeks pertama sampai ke n. Maka nilai biner plaintext menjadi 0 1 1 1 1 0. Deretan super-increasing adalah sebuah urutan bilangan real positif S 1 , S 2 , ... jika setiap elemen dari urutan lebih besar dari jumlah dari semua elemen sebelumnya dalam urutan [17]. Dapat diformulasikan, untuk 1 ≤k ≤ n dan 1 ≤i ≤ n, � � � �−1 �=1 � � dengan keterangan: k dan i : indeks pada deretan super-increasing a : bilangan dalam deretan super-increasing

2.2 Algoritma Euclidean