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].
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
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.
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
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
gcd(N,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:
(2*31) mod 105 = 62 (6*31) mod 105 = 81
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 0*62 + 1*81 = 81 Blok 2 : 11 1*62 + 1*81 = 143 Blok 3 : 10 1*62 + 0*81 = 62 maka ciphertext yang dihasilkan adalah 81,143,62.
Proses dekripsi dapat dilakukan dengan mengalikan masing-masing deretan ciphertext dengan WB-1 kemudian hasilnya dimodulokan dengan NB,keduanya adalah parameter rahasia. WB-1 merupakan invers dari bilangan integer N yang telah ada sebelumnya dan NB 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].
-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-1adalah 61 pada k = 18. Dengan demikian didapat nilaiplaintext:
61*81 (mod 105) = 6 61*143 (mod 105) = 8
61*62 (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
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 S1,
S2, ... 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
Algoritma Euclidean adalah suatu algoritma untuk menentukan faktor persekutuan terbesar dari dua bilangan bulat [3]. Algoritma ini menghasilkan suatu nilai yang dapat membagi nilai a dan b, berupa integer tanpa menghasilkan sisa. Dua buah bilangan disebut relatif prima apabila nilai faktor persekutuan terbesar kedua bilangan itu sama dengan satu.
Berikut ini adalah pseudocode untuk Algoritma Euclidean yang dapat menghitung faktor persekutuan terbesar dari dua buah bilangan bulat.
Algoritma 2.2 : Algoritma Euclidean
function gcd(int m, int n){ r = m mod n;
if r=0 return n; else return gcd(n,r); }
Misalkan m = 11 dan n=7, maka langkah-langkah atau perhitungan yang dilakukan adalah sebagai berikut.
1. Dihitung nilai r, yaitu m mod n, adalah 11 mod 7 = 4. Karena r tidak sama
dengan nol, maka fungsi gcd dipanggil kembali dengan parameter n,r = gcd(7,4).
2. Dihitung nilai r, yaitu 7 mod 4 = 3. Karena r tidak sama dengan nol, maka fungsi
gcd dipanggil kembali dengan parameter n,r = gcd(4,3).
3. Dihitung nilai r, yaitu 4 mod 3 = 1. Karena r tidak sama dengan nol, maka fungsi
gcd dipanggil kembali dengan parameter n,r = gcd(3,1).
4. Dihitung nilai r, yaitu 3 mod 1 = 0. Karena r sama dengan nol, maka akan
menghasilkan nilai n yaitu 1. Karena gcd(11,7) sama dengan satu, maka kedua
bilangan ini adalah relatif prima.
2.3 Steganografi
Teknik yang digunakan pada steganografi meliputi banyak sekali metode komunikasi untuk menyembunyikan suatu pesan yang bersifat rahasia dapat berupa teks, gambar, atau audio. Sama halnya dengan kriptografi, steganografi berfungsi untuk meningkatkan keamanan informasi. Tetapi steganografi memiliki suatu kelebihan dibandingkan dengan kriptografi, yaitu keberadaan pesan tidak diketahui oleh pihak lain karena pesan disembunyikan pada sebuah media.
2.3.1 Sejarah Steganografi
Penemu kata steganografi adalah Trithemius, pengarang terbitan awal kriptografi: Polygraphia dan Steganographia. Istilah teknisnya berasal dari bahasa Yunani yaitu kata steganos yang berarti tersembunyi dan graphia yang artinya tulisan. Steganografi adalah seni komunikasi tersembunyi. Keberadaan pesan adalah rahasia. Selain tinta tidak kelihatan, contoh steganografi yang paling sering adalah cerita kuno Herodotus [192], yang memberitahukan seorang budak telah dikirim oleh pemiliknya, Histiaeus, ke kota Ionian Miletus dengan sebuah pesan rahasia yang ditato dikulit kepalanya. Setelah ditato, budak tersebut menumbuhkan kembali rambutnya untuk menyembunyikan pesan. Kemudian budak tersebut dirimkan ke Miletus dan setelah sampai, rambut kepalanya dicukur untuk menampakkan pesan kepada bupati kota yaitu Aristagoras. Pesannya berisi dorongan agar Aristagoras memulai pemberontakan melawan raja Persia [4].
segera dilaksanakan, memerintahkan untuk membuat kue khusus yang disebut kue bulan. Didalam masing-masing kue tersebut terdapat sebuah pesan yang berisi skema penyerangan. Pada malam festival bulan, kue tersebut disebarkan dan para pemberontak dengan sukses menyerang pemerintahan [13].
Steganografi juga digunakan pada perang dunia pertama. Salah satu metodenya disebut dengan istilah Turning Grille, yang berbentuk seperti terali biasa, selembar kertas karton persegi yang dibagi menjadi sel-sel dengan beberapa sel menjorok keluar. Untuk menggunakan Turning Grille, sipembuat pesan harus menuliskan huruf-huruf pada barisan pertama pesan dan kemudian merotasi terali tersebut 90 derajat dan menuliskan barisan berikutnya sampai barisan terakhir. Bangsa Jerman menyediakan terali yang berbeda untuk pasukannya yang dapat digunakan pada pesan yang memiliki panjang berbeda. Bangsa Perancis dapat menemukan serangan untuk sistem ini dan terali hanya bertahan selama empat bulan. Pemakaian lain juga ditemukan ketika seorang wanita yang dicurigai bekerja untuk bangsa Jerman. Pada tapak sepatu wanita itu ditemukan selembar kertas kosong, dan setelah diketahui terdapat pesan rahasia yang ditulis dengan tinta yang tidak tampak [8].
2.3.2 Kategori Steganografi
Pada semua metode steganografi, suatu cara dilakukan untuk menyembunyikan pesan; secara umum teknik tersebut dapat dibedakan dan dianalisa agar diketahui apa yang terjadi selama proses berlangsung. Menurut [8], terdapat enam kategori pada steganografi yaitu:
1. Teknik sistem substitusi. Teknik ini menggantikan tempat dari bit yang
berlebihan pada cover object dengan bit pesan rahasia.
2. Teknik transformasi domain. Contohnya adalah pengiriman dan penerimaan citra
berformat JPEG melalui internet. JPEG merupakan citra yang terkompresi.
ukurannya semakin kecil, perubahan dan perkiraan itu adalah ruang transformasi
dan dapat digunakan untuk menyembunyikan informasi.
3. Teknik penyebaran spektrum. Teknik ini terbagi atas dua jenis yaitu direct
sequence dan frequency hopping.
4. Teknik metode statistik. Teknik ini menyisipkan satu bit informasi hanya pada
sebuah digital carier hingga menghasilkan suatu perubahan statistik walaupun
perubahan tersebut kecil. Teknik ini didasarkan pada kemampuan penerima yang
dibedakan menjadi cover object yang dapat dimodifikasi dan yang tidak dapat
dimodifikasi.
5. Teknik distorsi. Metode ini menghasilkan perubahan pada cover object untuk
menyembunyikan informasi. Pesan rahasia dapat terungkap ketika algoritma
membandingkan adanya perubahan, antara cover object dengan aslinya.
6. Metode cover generation. Metode ini merupkan metode yang paling unik, karena
menghasilkan suatu cover object sebagai tujuan utama penyembunyian informasi.
Metode steganografi Least Significant Bit termasuk pada kategori teknik sistem substitusi.
2.3.3 Penggunaan Steganografi
Terdapat banyak alasan mengapa dibutuhkan komunikasi secara rahasia. Contohnya adalah ketika dua orang ingin menyembunyikan hubungan mereka. Atau dalam bidang politik dalam kasus ketika suatu organisasi ingin berkomunikasia antar anggotanya atau dengan organisasi yang dilarang diluar negara mereka. Dapat pula ditemukan pada tindak kriminal, seperti organisasi teroris. Steganografi yang berhasil tidak dapat dideteksi, maka kebanyakan aplikasinya tidak disebarluaskan kepada publik. Berikut adalah dua penggunaan steganografi menurut [4].
1. Steganografi untuk pemberontak.
Banyak negara yang tidak menyetujui pemberontakan. Terdapat tiga cara yang
antara lain dengan teknik enkripsi, pesan tanpa nama, dan steganografi. Enkripsi
dapat menjaga keamanan komunikasi para pemberontak dan jika kunci yang
digunakan cukup besar, maka kemungkinan teknik dekripsi dapat ditiadakan.
Namun disayangkan, ketika dua orang sedang bertukar pesan yang telah
disandikan menunjukan bahwa mereka memiliki sesuatu yang disembuyikan.
Musuh mungkin dapat menangkap mereka dan mendapatkan kunci dekripsi
dengan menggunakan siksaan. Cara berikutnya, yaitu pengiriman pesan tanpa
nama, memungkinkan dua orang untuk berkomunikasi tanpa diketahui. Akan
tetapi musuh dapat memantau proses pengiriman. Karena alamat IP pengirim
tanpa nama diketahui, musuh dapat memutus semua komunikasi pada alamat
tersebut. Hal ini mungkin terjadi karena pemerintah memiliki kontrol yang penuh
atas jaringan komunikasi nasional. Steganografi merupakan cara teraman bagi
para pemberontak untuk berkomunikasi karena keberadaannya yang sulit untuk
diketahui.
2. Steganografi pada tindak kriminal
Pada era demokrasi, negara memiliki hak untuk memantau para penduduknya
berdasarkan hukum nasional. Contohnya di Amerika, penyadapan telepon
dijinkan dengan alasan perintah oleh pemerintah pusat. Selama masa itu setiap
orang berada dibawah pengwasan. Badan keamanan seperti FBI, biasanya
menyembunyikan segala bentuk operasi pengawasan. Teknik enkripsi dapat
digunakan untuk menjamin kerahasiaan komunikasi bagi anggota organisasi
kriminal. Namun FBI dapat mengindentifikasi penerima pesan terenkripsi
tersebut dan para konspirator. Pengirim pesan tanpa nama juga dapat membantu
komunikasi antar anggota komunikasi. Penggunaan cara ini tidak termasuk
pelanggaran dan FBI tidak memiliki wewenang untuk meniadakan akses
surat-menyurat. Namun badan peleksana undang-undang menuntut akses terhadap
informasi yang berasal dari pengirim tanpa nama. Oleh karena itu, steganografi
dianggap sebagai alternatif untuk menggantikan cara berkomunikasi secara
rahasia lainnya. Salah satu kelemahan steganografi adalah kedua pihak yang
berkomunikasi harus mempunyai program steganografi di komputer mereka.
Salah satu sistem steganografi substitusi adalah Least Significant Bit (LSB). LSB bekerja sebagai berikut: di dalam coverdigital (file gambar, audio, atau video), terdapat banyak pixel; bit terakhir pada tiap pixel merupakan bit yang digunakan menyembunyikan pesan rahasia, dengan cara menggantikan tempat bit terakhir tersebut dengan pesan rahasia [8].
Contoh steganografi memakai metode LSB adalah sebagai berikut. Pesan rahasia yang akan kita sisipkan adalah 1100. Bit file sampul yang akan menjadi media penyembunyi pesan adalah
11001100 11011011 11110001 11110101 maka hasil steganonya adalah
11001101 11011011 11110000 11110100.
2.4 Citra Bitmap
Bit merupakan elemen primitif dalam dunia digital. Bit menunjuk pada angka biner, sedangkan map merupakan matriks dua dimensi dari bit ini. Bitmap berarti matriks sederhana dari titik-titik kecil yang membentuk sebuah citra dan ditampilkan dilayar komputer atau dicetak [2]. Citra Bitmap memiliki ekstensi .bmp dan mendukung warna RGB dengan kedalaman 1, 4, 8, 16, atau 24 bit. Citra Bitmap tidak mendukung adanya animasi [6].
Struktur sebuah citra Bitmap terdiri atas header Bitmap, header informasi Bitmap, tabel warna dan data citra atau byte array yang mendefinisikan sebuah citra Bitmap [19].
1. HeaderBitmap terdiri atas informasi yang meliputi tipe, ukuran, dan layout
sebuah citra Bitmap.
2. Header informasi Bitmap terdiri atas dimensi, tipe kompresi, dan format warna
untuk citra Bitmap.
3. Tabel warna terdiri atas elemen array yang sama dengan warna yang ditampilkan
4. Data citra merupakan byte array yang terdiri atas informasi warna masing-masing
piksel.
Berikut adalah contoh citra Bitmap dengan berbagai bit depth.
Gambar 2.1 Citra Bitmap 24bit
Gambar 2.2 Citra Bitmap 8bit
Gambar 2.3 Citra Bitmap 1bit