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 = {61 0, 81 1, 20 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