• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi - Implementasi Pengamanan File Text Dengan Algoritma Kriptografi Kanpsak dan Algoritma Steganografi FOF First of File)

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB II LANDASAN TEORI 2.1 Kriptografi 2.1.1 Definisi Kriptografi - Implementasi Pengamanan File Text Dengan Algoritma Kriptografi Kanpsak dan Algoritma Steganografi FOF First of File)"

Copied!
20
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi (cryptography) berasal dari Bahasa Yunani cprytos artinya “secret atau hidden” (rahasia), dan graphein artinya “writing” (tulisan). Jadi, kata kriptografi dapat diartikan sebagai “secret writing” (tulisan rahasia). Selain pengertian tersebut, kriptografi juga dapat diartikan sebagai ilmu dan seni untuk menjaga keamanan pesan yang

dilakukan oleh cryptographer, sedangkan cryptanalysis adalah suatu ilmu dan seni membuka pesan yang diacak. Kata “seni” didalam definisi tersebut berasal dari fakta

sejarah bahwa pada masa-masa awal sejarah kriptografi, setiap orang mempunyai

cara-cara yang unik untuk merahasiakan pesan. Cara-cara-cara unik tersebut berbeda-beda pada

setiap pelaku kriptografi. Setiap cara menulis pesan rahasia, pesan tersebut mempunyai

nilai estetika tersendiri sehingga kriptografi berkembang menjadi sebuah seni

merahasiakan pesan [7].

2.1.2 Terminologi

Dalam Kriptografi terdapat beberapa terminologi atau istilah yang penting untuk

diketahui. Istilah tersebut adalah sbb:

(2)

Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Pesan

asli biasanya disebut plaintext. Agar pesan tidak bisa dimengerti maknanya oleh pihak yang tidak berwewenang, maka pesan perlu disandikan ke bentuk lain yang tidak

dapat dipahami. Bentuk pesan yang tersandi disebut ciphertext.

2) Pengirim dan penerima

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Entitas disini dapat berupa orang, mesin

(komputer), kartu kredit, dsb.

3) Enkripsi dan dekripsi

Kriptografi mempunyai dua bagian yang penting, yaitu enkripsi dan dekripsi. Enkripsi

adalah proses penyandian dari pesan asli (plaintext) menjadi pesan yang tidak dapat diartikan seperti pesan aslinya (ciphertext) dengan menggunakan aturan tertentu, sedangkan dekripsi merupakan kebalikannya yaitu mengubah pesan yang sudah

disandikan menjadi pesan aslinya. Secara sederhana istilah-istilah diatas dapat

digambarkan sebagai berikut:

Kunci Kunci

Plaintext Ciphertext Plaintext

Gambar 2.1 Skema Enkripsi dan Dekripsi

4) Cipher dan kunci

Algoritma kriptografi disebut juga cipher yaitu aturan untuk enchipering dan

dechipering atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Keamanan algoritma kriptografi sering diukur dari banyaknya kerja (work) yang dibutuhkan untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci

(3)

yang digunakan. Kunci merupakan parameter yang digunakan untuk transformasi

enciphering dan deciphering. Kunci biasanya berupa string atau deretan bilangan.

5) Sistem kriptografi

Kriptografi membentuk sebuah sistem yang dinamakan sistem kriptografi. Sistem

kriptografi (cryptosystem) terdiri dari algoritma kriptografi, semua plaintext, ciphertext, dan kunci.

6) Penyadap (eavesdropper)

Penyadap adalah orang yang mencoba menangkap pesan selama ditransmisikan.

Tujuan penyadap adalah untuk memperoleh informasi sebanyak-banyaknya mengenai

sistem kriptografi yang digunakan untuk berkomunikasi dengan tujuan untuk

memecahkan ciphertext menjadi plaintext.

7) Kriptanalisis dan kriptologi

Kriptanalisis (cryptanalysis) adalah ilmu dan seni untuk memecahkan ciphertext

menjadi plaintext tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis. Jika seorang kriptografer (cryptographer) mentransformasikan plaintext menjadi ciphertext dengan suatu algoritma dan kunci, maka sebaliknya seorang kriptanalis akan berusaha untuk memecahkan ciphertext tersebut untuk menemukan plaintext atau kunci. Studi mengenai kriptografi dan kriptanalisis disebut dengan Kriptologi (cryptology) [7].

2.1.3 Tujuan Kriptografi

Kriptografi bertujuan untuk memberi layanan keamanan (aspek-aspek keamanan) sebagai

berikut:

1. Kerahasiaan (confidentiality) adalah layanan yang digunakan untuk menjaga isi informasi dari semua pihak kecuali pihak yang memiliki otoritas terhadap

(4)

pengamanan secara fisik hingga penggunaan algoritma matematika yang membuat

informasi tidak dapat dipahami.

2. Integritas data (data integrity) adalah layanan yang menjamin bahwa pesan masih utuh atau belum pernah dimanipulasi selama pengiriman. Untuk menjaga

integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi

pesan oleh pihak-pihak yang tidak berhak, seperti penyisipan, penghapusan, dan

pensubsitusian data lain kedalam pesan yang sebenarnya.

3. Otentikasi (authentication) adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasikan kebenaran pihak-pihak yang berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication). Dua pihak yang saling berkomunikasi

harus dapat mengotentikasi satu sama lain, sehingga ia dapat memastikan sumber

pesan. Pesan yang dikirim melalui saluran komunikasi juga harus diotentikasi

asalnya. Otentikasi sumber pesan secara implisit juga memberikan kepastian

integritas data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah

tidak benar. Oleh karena itu, layanan integritas data selalu dikombinasikan dengan

layanan otentikasi sumber pesan.

4. Nirpenyangkalan (non-repudiation) adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal

melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

[7].

2.2 Kriptografi Simetri dan Asimetri

Berdasarkan jenis kuncinya algoritma kriptografi terdiri dari dua jenis yaitu:

2.2.1 Algoritma Simetris (Konvensional)

(5)

single key algorithm. Algoritma ini disebut juga konvensional karena algoritma jenis ini biasa digunakan sejak berabad-abad yang lalu. Sebelum melakukan komunikasi,

pengirim dan penerima pesan harus menyetujui suatu kunci tertentu yang sama untuk

dipakai secara bersama. Keamanan sistem kriptografi simetri tergantung pada

kerahasiaan kunci karena membocorkan kunci berarti orang lain bisa mengenkripsi dan

mendekripsi pesan. Agar komunikasi tetap aman, maka keberadaan kunci harus tetap

dirahasiakan dari pihak yang tidak berkepentingan dengan cara pengirim harus

memastikan bahwa jalur yang digunakan dalam pendistribusian kunci adalah jalur yang

aman atau memastikan bahwa pihak yang ditunjuk membawa kunci untuk pertukaran

data adalah pihak yang dapat dipercaya.

Algoritma-algoritma yang termasuk dalam kriptografi simetris adalah semua

algoritma kriptografi klasik seperti hill cipher, vigenere cipher, playfair cipher, dll. Beberapa algoritma kriptografi modern juga termasuk kriptografi simetris, diantaranya

adalah IDEA, DES (Data Encryption Standard), Blowfish, Twofish, Tripel DES, Serpent,

AES (Advanced Encryption Standard), RC2, RC4, RC5, RC6, dll. [7].

Proses enkripsi-dekripsi algoritma kunci simetris dapat dilihat pada gambar dibawah ini:

Kunci Privat,K Kunci Privat,K

Plaintext(P) Ciphertext(C) Plaintext(P)

Gambar 2.2 Skema Kriptografi Simetris

2.2.2 Algoritma Asimetris (Kunci Publik)

Kriptografi asimetris (asymmetric cryptography) adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsi. Kunci enkripsi dapat disebarkan

kepada umum yang dinamakan sebagai kunci publik (public key), sedangkan kunci Enkripsi 

Ek(P)=C 

(6)

dekripsi disimpan untuk digunakan sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh karena itulah, kriptografi ini dikenal pula dengan nama kriptografi kunci publik (public key cryptography).

Pada kriptografi jenis ini, setiap orang yang berkomunikasi mempunyai sepasang

kunci, yaitu kunci privat dan kunci publik. Prosesnya, pengirim (sender) mengenkripsi pesan dengan menggunakan kunci publik sipenerima pesan (receiver) dan hanya sipenerima pesanlah yang dapat mendekripsi pesan karena hanya ia yang mengetahui

kunci privatnya sendiri. Contoh algoritma yang termasuk algoritma kriptografi kunci

publik diantaranya adalah RSA, Elgamal, DSA, Knapsack, dll [7]. Proses enkripsi dan dekripsi algoritma kunci asimetris dapat dilihat pada gambar dibawah ini:

Kunci Publik,K1 Kunci Privat,K2

Plaintext(P) Ciphertext(C) Plaintext(P)

Gambar 2.3 Skema Kriptografi Asimetris

2.3 Landasan Matematika Kriptografi

2.3.1 Aritmetika Modulo

Misalkan a adalah bilangan bulat dan m adalah bilangan bulat > 0. Operasi a mod m (dibaca “a modulo m”) memberikan sisa r jika a dibagi dengan m atau ditulis dengan a mod m = r sedemikian sehingga :

a = mq + r, dengan 0 ≤ r < m…………..(2.1) Contoh:

23 mod 5 = 3 (23 = 5 ⋅ 4 + 3)

27 mod 3 = 0 (27 = 3 ⋅ 9 + 0) Enkripsi  Ek1(P)=C 

(7)

6 mod 8 = 6 (6 = 8 ⋅ 0 + 6)

0 mod 12 = 0 (0 = 12 ⋅ 0 + 0)

– 41 mod 9 = 4 (–41= 9 (–5) + 4), karena a negatif, bagi |a| dengan m mendapatkan sisa r’. Maka a mod m = m – r’ bila r’ ≠ 0. Jadi |– 41| mod 9 = 5, sehingga –41 mod 9 =

9 – 5 = 4.

2.3.2 Teorema Euclidean

Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n>0. Jika m dibagi dengan n maka terdapat dua buah bilangan bulat unik q yang merupakan hasil bagi

(quotient) dan r adalah sisa (remainder), sedemikian sehingga:

m = nq + r, dengan0≤ r ≤ n ……….…(2.2) Contoh :

15 dibagi dengan 12, hasilnya adalah 1 dengan sisa 3 atau dapat ditulis dengan:

15 = 12. 1 + 3.

2.3.3 Relatif Prima

Dua buah bilangan bulat a dan b dikatakan relatif prima jika GCD(a,b) = 1. Jika a dan b relatif prima, maka terdapat bilangan bulat m dan n sedemikian sehingga:

ma + nb = 1………...….………....(2.3) Contoh:

20 dan 3 relatif prima sebab GCD(20,3) = 1 atau dapat ditulis dengan 2.20 + (-13).3 = 1,

dengan m = 2 dan n = -13. Tetapi 20 dan 5 tidak relatif prima karena GCD(20,5) ≠ 1 sehingga 20 dan 5 tidak dapat dinyatakan dengan m.20 + n.5 = 1.

2.3.4 Permutasi (Transposisi)

(8)

Contoh:

Permutasi dari huruf ABC adalah ABC, ACB, BAC, BCA, CAB, CBA. Sehingga terdapat 6 permutasi dari huruf ABC.

2.4 Algoritma Kriptografi Knapsack

Algoritma knapsack adalah algoritma kunci publik yang keamanannya terletak pada sulitnya memecahkan persoalan knapsack (knapsack problem). Permasalahan dalam

algoritma knapsack adalah bagaimana menempatkan benda-benda agar dapat dimasukkan ke dalam suatu tempat dengan kapasitas tertentu secara maksimal. Permasalahan ini

dijuluki knapsack (ransel) karena hal ini dapat dianalogikan dengan masalah memilih sekumpulan benda-benda yang bisa dimuatkan dengan pas kedalam ransel [5].

2.4.1 Knapsack Problem

Knapsack Problem merupakan algoritma untuk menghitung nilai s, jika diberikan integer positif a1, …,an, dan s merupakan subset dari jumlah integer positif (a1,…,an). Kemudian ditentukan nilai xj, sedemikian sehingga:

,

0,1 ,

,

1 …

………....…….(2.4)

Dalam hal ini, xj bernilai 0 atau 1. Jika xj = 1, berarti objek j dimasukkan ke dalam

knapsack, sebaliknya jika xj= 0, objek j tidak dimasukkan. Knapsack problem termasuk

ke dalam kelompok NP-Complete, yang artinya tidak dapat dipecahkan dalam orde waktu polinomial (sukar untuk dikomputasi) [9].

2.4.2 Algoritma Knapsack Sederhana

Ide dasar dari algoritma kriptografi knapsack adalah mengkodekan pesan sebagai

(9)

Contoh 1:

Misalkan n = 4 dan a1= 1, a2= 5, a3= 7, a4= 10

Plaintext : 11100101 01100000

Plaintext dibagi menjadi blok yang panjangnya n, kemudian setiap bit di dalam blok dikalikan dengan xj yang berkorepsonden sesuai dengan persamaan (1).

Blok plaintext ke-1: 1110 Knapsack : 1, 5, 7, 10

Kriptogram : (1 * 1) + (1 * 5) + (1 * 7) = 13

Blok plaintext ke-2: 0101 Knapsack : 1, 5, 7, 10

Kriptogram : (1 * 5) + (1 * 10) = 15

Blok plaintext ke-3: 0110 Knapsack : 1, 5, 7, 10

Kriptogram : (1 * 5) + (1 * 7) = 12

Blok plaintext ke-4: 0000 Knapsack : 1, 5, 7, 10

Kriptogram : 0

Jadi, ciphertext yang dihasilkan: 13 15 12 0

Tetapi algoritma ini tidak dapat digunakan untuk mendekripsi ciphertext yang dihasilkan. Misalnya, jika diberikan kriptogram = 28, maka tentukan x1,x2,…,x6

sedemikian, sehingga 28= x1+5x2+6x3+11x4+14x5+20x6. Solusi persamaan tersebut tidak dapat dipecahkan dalam orde waktu polinomial dengan semakin besarnya n (dengan catatan barisan nilai tidak dalam urutan menaik). Namun, hal inilah yang dijadikan

sebagai kekuatan algoritma knapsack [7].

2.4.3 Superincreasing Knapsack Problem

(10)

4, 9, 15, 25} bukan barisan superincreasing. Algoritma superincreasing knapsack adalah algoritma yang lemah karena ciphertext dapat didekripsi menjadi plaintext-nya secara mudah dalam orde polinomial O(n) [8]. Langkah-langkah untuk memecahkan masalah dari superincreasing knapsack adalah sebagai berikut:

1. Bandingkan nilai total dengan nilai terbesar di dalam barisan. Jika nilai terbesar lebih

kecil atau sama dengan nilai total, maka ia dimasukkan ke dalam knapsack, jika tidak, maka ia tidak dimasukkan.

2. Kurangi nilai total dengan nilai yang telah dimasukkan, kemudian bandingkan nilai

total sekarang dengan nilai terbesar selanjutnya. Demikian seterusnya sampai seluruh

nilai di dalam barisan selesai dibandingkan.

3. Jika nilai total menjadi nol, maka terdapat solusi persoalan superincreasing knapsack,

tetapi jika tidak nol, maka tidak ada solusinya.

Contoh 2:

Misalkan bobot-bobot yang membentuk barisan superincreasing adalah a = [2, 3, 6, 13, 27, 52], dan diketahui bobot knapsack (S) = 70. Yang akan dicari adalah x1, x2, …, x6 sedemikian, sehingga 70 = 2x1 + 3x2 + 6x3 + 13x4 + 27x5 + 52x6.

Caranya adalah seperti pada tabel berikut:

Tabel 2.1 Contoh Solusi Superincreasing Knapsack

J aj S S ≥ aj xj S S-aj * xj

6 52 70 True x6=1 18

5 27 18 False x5=0 18

4 13 18 True x4=1 5

3 6 5 False x3=0 5

2 3 5 True x2=1 2

1 2 2 True x1=1 0

Barisan bobot yang dimasukkan ke dalam knapsack adalah {2, 3, – , 13, – , 52}, sehingga 70 = (1 × 2) + (1 × 3) + (0 × 6) + (1 × 13) + (0 × 27) + (1 × 52). Dengan kata lain,

(11)

Superincreasing knapsack tidak memproteksi pesan atau relatif mudah untuk didekripsi. Hal ini dikarenakan pihak lain akan dapat mengetahui pola bit dari beban total untuk superincreasing knapsack jika elemen-elemen dari superincreasing knapsack diketahui. Untuk mengatasi kelemahan tersebut, algoritma superincreasing knapsack

dapat dimodifikasi menjadi non-superincreasing knapsack dengan menggunakan kunci publik untuk enkripsi dan kunci privat untuk dekripsi. Kunci publik merupakan barisan

non-superincreasing, sedangkan kunci privat tetap merupakan barisan superincreasing. Modifikasi ini ditemukan oleh Martin Hellman dan Ralph Merkle. Algoritma non-superincreasing knapsack atau normal knapsack adalah kelompok algoritma knapsack yang sulit dari segi komputasi karena membutuhkan waktu dalam orde eksponensial

untuk memecahkannya [7].

2.4.4 The Merkle Hellman Knapsack Cryptosystem

Merkle Hellman Knapsack merupakan kriptosistem yang dibuat oleh Ralph Merkle dan

Martin Hellman pada tahun 1978 [2]. Algoritma Merkle-Hellman memanfaatkan kunci publik dan kunci privat untuk memodifikasi superincreasing knapsack menjadi knapsack non-superincreasing. Kunci publik yang berbentuk barisan non-superincreasing dimanfaatkan untuk enkripsi pesan, sedangkan untuk dekripsi pesan, digunakan kunci

privat yang merupakan deret superincreasing. Berikut merupakan algoritma untuk

membangkitkan kunci, enkripsi, dan dekripsi dengan menggunakan Merkle Hellman Knapsack dengan penambahan permutasi:

1. Algoritma membangkitkan Kunci Publik dari Kunci Privat

1) Menentukan himpunan angka atau bilangan bulat positif yang merupakan

barisan superincreasing a = (a1,…,an) dimana :

(12)

Contoh 3:

Barisan superincreasing, a = [7 11 19 39 79 157 313].

2) Menentukan kunci publik dengan mengalikan setiap elemen di dalam barisan

tersebut dengan r modulo q. Dimana modulus q harus lebih besar daripada jumlah semua elemen didalam barisan, dan pengali r tidak mempunyai faktor persekutuan dengan p atau gcd(r,q) = 1 atau dirumuskan dengan:

Kp

j

= a

j

r(mod q) ,

……….……….……….

(2.6)

dimana :

q

dan gcd(r,q) = 1

, 0 < r < q

Contoh 4:

Berdasarkan contoh 3, jumlah barisan superincreasing adalah 7+11+19 +39+

79+157 + 313 = 625. Misalkan nilai q yang dipilih adalah q = 900 karena 625 < 900, dan r = 37 karena gcd (37,900) =1. Jadi, kunci publiknya dapat dihitung sebagai berikut:

7*37 mod 900 = 259

11*37 mod 900 = 407

19*37 mod 900 = 703

39*37 mod 900 = 543

79*37 mod 900 = 223

157*37 mod 900 = 409

313*37 mod 900 = 781

Jadi, kunci publiknya adalah {259,407,703,543,223,409,781}.

3) Memilih permutasi (hasil pengacakan posisi setiap elemen) dari hasil perkalian

(Kpj).

Contoh 5:

Permutasi yang dipilih dari contoh 4 adalah Kp = [543,407,223,703,259,781,409]

(13)

4) Permutasi dari hasil perkalian akan menjadi kunci publik (Kp), sedangkan barisan superincreasinga = (a1,..,an), q , r, dan posisinya menjadi kunci privat.

2. Algoritma Enkripsi/Dekripsi Knapsack

Enkripsi :

1) Enkripsi dilakukan dengan cara yang sama seperti algoritma knapsack sebelumnya. Plaintext dituliskan dalam bentuk :

X = (x1,x2,...,xn), dimana X  {0,1}.

Contoh 6:

Plaintext “g” dikonversikan ke kode ASCII 8 bit, menjadi 01100111. Sehingga X = [0,1,1,0,0,1,1,1].

2) Plaintext dibagi menjadi blok bit-bit m, yang panjangnya sama dengan panjang barisan kunci publik (m adalah bilangan pembatas dalam knapsack).

X0 = (x1,x2,...xm), X1 = (xm+1,…,x2m), dst. Contoh 7:

Berdasarkan contoh 6, bit-bitplaintext dibagi menjadi blok yang panjangnya sama dengan panjang kunci publik. Pada contoh 4 panjang barisan kunci publiknya

adalah 7. Jadi bit-bitplaintext dibagi menjadi blok bit-bit 7. X0 = [0,1,1,0,0,1,1], X1 = [1,0,0,0,0,0,0]

3) Mengalikan setiap bit di dalam blok dengan elemen yang berkoresponden di dalam kunci publik.

C =

………..………..………..……(2.7)

Contoh 8:

Kunci publik dari contoh 5: Kp = [543,407,223,703,259,781,409].

Blok X0 : (1*407) + (1*223) + (1*781) + (1*409) = 1820

(14)

Jadi, ciphertext(C) yang dihasilkan adalah 1820 dan 543.

Dekripsi :

1) Dekripsi dilakukan dengan menggunakan kunci privat.

2) Penerima pesan menghitung r-1, dengan rumus :

(r. r

-1

) mod q

= 1

atau

r-1

= (1+kq)/r , ………..…………...………..………...……..(

2.8)

untuk k sembarang bilangan bulat (k = 0,1,2,3,…,dst), sehingga diperoleh r-1 juga merupakan bilangan bulat.

Contoh 9:

q = 900 dan r = 37. Dengan mencoba k = 0,1,2,…,dst, maka untuk k = 3 diperoleh r-1 bilangan bulat, yaitu: r-1= (1+3*900)/37 = 73.

3) Mengalikan setiap kriptogram dengan r-1 mod q, kemudian hasil kalinya dinyatakan sebagai target penjumlahan elemen-elemen kunci privat untuk

memperoleh plaintext dengan menggunakan algoritma pencarian solusi superincreasing knapsack.

Plaintext :

S =

C. r

-1

mod q

…………..….………. ……….(2.9)

Contoh 10:

Kunci privat a = [7 11 19 39 79 157 313], q=900, dan dari contoh 8 diperoleh ciphertext 1820,543, dan dari contoh 9 diperoleh r-1= 73. Dengan menggunakan rumus (2.9) diperoleh,

1820*73 mod 900 = 560

=> 0*7+1*11+0*19+0*39+1*79+1*157+1*313 = 560

=> 0100111

543*73 mod 900 = 39

=> 0*7+0*11+0*19+1*39+0*79+0*157+0*313 = 39

(15)

4) Mengurutkan kembali posisi setiap bit, sama seperti posisi setelah permutasi dari kunci publik [3].

Contoh 11:

Posisi kunci publik setelah permutasi adalah [4 2 5 3 1 7 6], maka untuk

mendapatkan plaintext kembali, posisi bit plaintext diubah berdasarkan posisi

tersebut, sehingga posisi bitnya menjadi: 0110011 1000000. Apabila dikonversi

ke karakter menggunakan kode ASCII 8 bit, maka akan diperoleh karakter ”g”.

2.5 Steganografi

2.5.1 Defenisi Steganografi

Steganografi (steganography) adalah ilmu dan seni menyembunyikan pesan rahasia (hiding message) sedemikian, sehingga keberadaan pesan tidak terdeteksi oleh indra manusia. Selain orang yang dituju, orang lain tidak akan menyadari keberadaan dari

pesan rahasia tersebut. Kata steganografi berasal dari bahasa Yunani steganos yang

artinya ”tersembunyi atau terselubung” dan graphein ”menulis” sehingga kurang lebih artinya “menulis (tulisan) tersembunyi”. Pada steganografi modern, arti steganografi

berkembang menjadi penyembunyian informasi pada sebuah media file digital, bisa berupa media gambar, suara ataupun video. Aspek terpenting pada steganografi adalah

tingkat keamanan penyembunyian informasinya, yang mengacu pada seberapa besar

ketidakmampuan pihak ketiga dalam mendeteksi keberadaan informasi yang tersembunyi

[10].

Steganografi bisa dikatakan sebagai bentuk perkembangan dari kriptografi dan

dapat dianggap sebagai pelengkap dari kriptografi yang bertujuan untuk

menyembunyikan isi pesan. Perbedaan antara kriptografi dan steganografi ada pada hasil

(16)

2.5.2 Konsep dan Terminologi

Pada steganografi digunakan beberapa istilah penting. Istilah-istilah tersebut adalah sbb:

1. Hiddentext atau embedded message adalah pesan yang disembunyikan.

2. Coverimage atau coverobject adalah pesan atau media yang digunakan untuk menyembunyikan embedded message.

3. Stegoimage atau stegoobject adalah pesan atau media yang sudah berisi embedded message.

Di dalam Steganografi citra digital ini, hiddentext atau embedded message yang dimaksudkan adalah teks yang akan disisipkan ke dalam coverimage atau coverobject

yaitu file citra digital yang digunakan sebagai media penampung pesan yang akan disisipkan. Dari hasil encoding atau embedding pesan kedalam file citra akan dihasilkan stegoimage atau stegoobject yang merupakan file citra yang berisikan pesan embedding. Pada gambar berikut ini merupakan contoh dari hiddentext, coverimage, dan stegoimage.

Coverimage Stegoimage

.

+ Hiddentext =

Gambar 2.4 Proses Embedding

Penyisipan pesan ke dalam media coverimage atau coverobject dinamakan encoding

(embedding), sedangkan ekstraksi pesan dari stegoimage dinamakan decoding (extraction). Kedua proses ini memerlukan kunci rahasia (stegokey) agar hanya pihak yang berhak saja yang dapat melakukan penyisipan dan ekstraksi pesan. Konsepnya

(17)

coverimage coverimage

hiddentext stegoimage hiddentext

key key Gambar 2.5 Konsep Dasar Steganografi

2.5.3 Kriteria Steganografi

Penyembunyian data rahasia ke dalam media digital mengubah kualitas media tersebut.

Kriteria yang harus diperhatikan dalam penyembunyian data diantaranya adalah sbb:

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 dilakukan operasi-operasi pengolahan citra tersebut, maka data yang disembunyikan seharusnya tidak rusak

atau tetap valid jika diekstraksi kembali.

3. Recovery. Data yang disembunyikan harus dapat diiungkapkan kembali (recovery). Karena tujuan stegnografi adalah data hiding, maka sewaktu-waktu

data rahasia di dalam citra penampung harus dapat diambil kembali untuk

digunakan lebih lanjut [10]. Encoding 

(18)

2.5.4 Metode First Of File (FOF)

Teknik steganografi FOF (First Of File) merupakan teknik penyisipan dengan cara menyisipkan file rahasia pada awal file penampung dengan diberi tanda khusus di awal dan akhir dari file rahasia yang ingin disisipkan. Tujuannya untuk memisahkannya

dengan file penampung.

Steganografi FOF hampir sama dengan teknik EOF (End Of File), dimana teknik ini dapat digunakan untuk menyisipkan file yang ukurannya sesuai dengan kebutuhan. Metode ini akan mengubah besar ukuran file sesuai dengan ukuran pesan yang disisipikan kedalam file penampung namun tidak mengubah file yang dipakai sebagai tempat

penyisipan pesan tersebut [11]. Yang menjadi kelebihan FOF jika dibandingkan dengan EOF adalah teknik FOF tidak perlu membaca nilai-nilai setiap piksel pada citra. Yang perlu dibaca hanya awalnya saja karena file yang disisipkan berada diawal file penampung, sedangkan pada teknik EOF, untuk mengetahui akhir dari file, setiap nilai-nilai piksel pada file penampung dibaca satu persatu. Berikut merupakan contoh

penyisipan pesan pada citra RGB :

Gambar 2.6 Citra RGB ukuran 200 x 291

(19)

maka ditambahakan pengenal awal dan akhir pada citra. Pada pesan akan ditambahkan

pengenal awalnya dengan tanda “DISA” (nilai desimal 68 73 83 65) dan pengenal akhir dengan tanda “SRG“ (nilai desimal 83 82 71). Setelah proses penyisipan terjadi, hasilnya menjadi seperti gambar dibawah ini:

Gambar 2.7 Citra RGB ukuran 200 x 292

Pada contoh diatas dapat dilihat bahwa jika diamati secara visual, perbedaannya

hampir tidak terlihat. Tetapi, jika lebih diamati lagi, maka akan terlihat perbedaan

diantara kedua citra. Perbedaannya adalah pada bagian atas citra yang telah disisipi pesan

terdapat sedikit garis dan dari segi ukuran juga terdapat perbedaan, dimana citra pada

gambar 2.7 ukurannya lebih besar dibandingkan dengan gambar 2.6. Hal ini disebabkan

oleh penambahan pesan pada gambar.

2.5.5 Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra

sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat

analog berupa sinyal-sinyal video seperti gambar pada monitor televisi atau bersifat

(20)

Citra terbagi atas dua yaitu ada citra yang bersifat analog dan ada citra yang

bersifat digital. Citra analog adalah citra yang bersifat kontinu seperti gambar pada

monitor televisi, foto sinar X, hasil CT Scan, dll. Citra analog tidak dapatdirepresentasikan dalam komputer, sehingga tidak bisa diproses di komputer secara langsung, sedangkan

pada citra digital adalah citra yang dapat diolah oleh komputer. Supaya citra analog dapat

diproses di komputer, proses konversi analog ke digital harus dilakukan terlebih dahulu

[10].

2.5.6 Format File Citra Bitmap

Citra bitmap atau citra raster merupakan citra yang menyimpan data kode citra secara

digital dan lengkap atau cara penyimpanannya per piksel. Citra bitmap dipetakan dengan menggunakan angka biner atau sistem bilangan lain seperti desimal. Citra bitmap biasanya diperoleh dengan cara scanner, camera digital, video capture, dan lain-lain. Beberapa format file citra bitmap yang umum digunakan dalam pemrograman pengolahan citra adalah BMP, Giff, TIF, IMG, dll. Format umum yang digunakan untuk menyimpan

citra bitmap adalah format BMP yang dikembangkan oleh Microsoft. Kelebihan tipe file BMP adalah dapat dibuka oleh hampir semua program pengolah gambar. Baik file BMP yang terkompresi maupun tidak terkompresi, file BMP memiliki ukuran yang jauh lebih besar daripada tipe-tipe yang lain. Ukuran file BMP dapat turun menjadi sepersepuluhnya setelah dikonversi menjadi JPG. Meskipun terjadi penurunan kualitas gambar, pada

gambar-gambar tertentu penurunan kualitas gambar hampir tidak terlihat secara visual

[10].

Gambar

Gambar 2.1 Skema Enkripsi dan Dekripsi
Gambar 2.2 Skema Kriptografi Simetris
Gambar 2.3 Skema Kriptografi Asimetris
Tabel 2.1 Contoh Solusi Superincreasing Knapsack
+5

Referensi

Dokumen terkait

Bahwa, pemeriksaan tersebut dilakukan dengan cara melihat dan menghitung barang, menyesuaikan barang dengan berita acara penerimaan barang yang berlokasi di SMAN 1 Tanjung Raja

3 Tahun adalah kesatuan masyarakat hukum adat di Provinsi Bali yang mempunyai satu kesatuan tradisi dan tata krama pergaulan hidup masyarakat umat Hindu secara turun-temurun

Penelitian ini telah mengukur tekanan darah pada penderita hipertensi di PSTW unit Abiyoso tahun 2012 yang diadakan pada kelompok eksperimen yang diberikan jus tomat selama 7

Berdasarkan tabel di atas menunjukkan bahwa kebanyakan mahasiswa memiliki gaya belajar visual mendapatkan prestasi belajar dengan kategori sangat memuaskan sebesar 61,4 % atau

Oleh karena itu perusahaan pengelola harus dapat memaksimalkan strategi pemasarannya untuk mencapai hasil yang diinginkan, untuk itu pengelola perlu mengetahui variabel apa yang

Tema yang dipilih dalam Skripsi yang dilaksanakan pada bulan Febuari 2017 sampai Mei 2017 ialah “Pemberian Bahan Pembenah Tanah Pada Lahan Tailing Pasir Pasca Penambangan

Pengaruh Model Pembelajaran SAVI terhadap kemampuan berpikir Analitis siswa kelas VIII SMPN 1 Sumbergempol Sig.= 0,000 Sig. &lt; 0,05 Hipote- sis diterima Ada Pengaruh

Secara berganda kedua variabel independen yaitu : pengembangan kiarier, kepemimpinan, dan motivasi berpengaruh signifikan terhadap kinerja karyawan di Perusahaan Daerah