BAB III PEMBAHASAN A. Kode Reed Solomon 1. Pengantar Kode Reed Solomon Teori Pengkodean (Coding Theory) adalah ilmu tentang sifat-sifat kode dan aplikasinya. Kode digunakan untuk kompresi data, kriptografi, kode pengoreksi error (error-correction codes) dan untuk network coding. Tujuan utama dari teori pengkodean adalah untuk memberikan kode dengan tingkat informasi yang tinggi, tingkat koreksi kesalahan yang tinggi dan dengan tingkat kompleksitas encoding dan decoding yang rendah (Betten, dkk , 2006 : 6). Setiap kelas kode mempunyai karakteristik dan kemampuan masingmasing. Pada penelitian ini kode pengoreksi error menggunakan kode Reed Solomon karena memiliki kemampuan mengoreksi yang tinggi. Konstruksi dan decoding kode Reed Solomon menggunakan lapangan hingga yang sering disebut dengan lapangan Galois dengan elemen ditulis
. Order elemen
sedemikian sehingga
pada
atau
adalah bilangan bulat terkecil
.
Berikut diberikan contoh polinomial primitif. Contoh 3.1 Diberikan lapangan primitif biner. Jika
dengan adalah akar dari
atau sama halnya
.
40
adalah polinomial maka dapat dituliskan
Representasi Eksponensial 0 1
Representasi Polinomial 0 1
1 Untuk menghitung penjumlahan representasi eksponensial dengan substitusi representasi polinomial terlebih dahulu. Misalnya untuk menghitung penjumlahan
dan
adalah sebagai berikut. .
Untuk menkonstruksi kode Reed Solomon, terdapat {
}, atas lapangan berhingga
simbol informasi, . Simbol ini dapat
digunakan untuk mengkonstruksi polinomial . Codeword Reed Solomon mengevaluasi
untuk setiap
elemen atas
terbentuk dengan (Wicker & Bhargava,
1994 :3). (
)
[
Kode Reed Solomon memiliki
] codeword dengan
(3.1)
adalah dimensi
kode. Sistem
persamaan linear sebanyak
variabel dapat ditunjukkan sebagai
berikut.
(3.2)
41
Sistem persamaan pada (3.2) dapat ditulis dalam bentuk matriks sebagai berikut.
(3.3) [
]
[
] [
]
2. Kode Reed Solomon, Sifat-sifat dan Karakteristik Kode Reed Solomon adalah kode forward-error correction untuk mengoreksi kesalahan data transmisi pada saluran yang terganggu. Kode Reed Solomon juga merupakan kode blok dengan penambahan data redundansi sebelum ditransmisi sehingga kesalahan (error) dapat dideteksi dan dikoreksi (Shah dkk., 2001). Ilustrasi kode Reed Solomon ditampilkan pada Gambar 3.1.
noise Data dikirim
RS Encoder
Saluran transmisi
RS Decoder
Data diterima
Gambar 3.1. Diagram Proses Kode Reed Solomon Kode Reed Solomon merupakan subkelas dari kode BCH (Bose Chaudhuri Hocquenghem) yang pertama kali ditemukan oleh Irving S. Reed dan Gustave Solomon yang kemudian disajikan dalam makalah “Polynomial Codes Over Certain Finite Fields” dalam Journal of the Society for Industrial and Applied
42
Mathematics pada tahun 1960. Sejak saat itu kode Reed Solomon telah menjadi kontributor dalam revolusi telekomunikasi yang berlangsung dari pertengahan abad ke-20 (Betten, dkk, 2006). Berikut diberikan definisi dan teorema yang menjelaskan sifat-sifat dan karakteristik kode Reed Solomon. Definisi 3.1 (Betten, dkk, 2006 : 244). Kode Reed Solomon pengoreksi
kesalahan adalah sebuah kode BCH (Bose
Chaudhuri Hocquenghem) primitif dengan panjang
atas lapangan
. Misalkan F adalah lapangan berhingga dan dimana
merupakan order dari
maka Polinomial generator dari kode ini mempunyai bentuk ∏
. Karena
generator ideal di
membagi
,
, sehingga membangun sebuah kode siklik di
Karena
untuk setiap maka polinomial minimal pada
. Hal ini mengikuti definisi kode BCH bahwa BCH dengan jarak
membangun kode
atas
dengan
. Perbedaannya secara umum pada kode BCH
merupakan elemen dari perluasan lapangan Solomon
adalah
. Pada kondisi seperti ini kode dibangun oleh
dinamakan Kode Reed Solomon yaitu kode, yaitu
adalah polinomial
merupakan elemen dari
, sedangkan pada kode Reed
itu sendiri.
Contoh 3.1 (Vanstone & Oorschot, 1989). Misalkan
dibangun oleh akar
pada
. Elemen
merupakan akar primitif. Jika
43
Kemudian
membangun kode C RS-(5,2) atas
dengan jarak
. Matriks generator G untuk kode C adalah [
]
dan matriks parity-cek H adalah [
]
Kode C mempunyai 256 codeword (diperoleh dari jarak C adalah
) dengan
.
Kode Reed Solomon merupakan kode siklik non-biner subkelas dari kode BCH (Moreira & Farrell, 2006). Kode Reed Solomon dinotasikan dengan RSdengan
bit simbol, dimana
menjadi panjang
adalah panjang pesan lalu di-encode
bit. Pada proses encoding data simbol, ditambahkan
simbol parity (redundansi) dengan panjang –bit. Jadi, pada proses lalu di
menjadi
untuk setiap panjang
panjang data kode blok semula
bit
bit.
Teorema 3.1 (Vanstone & Oorschot, 1989: 239). Sebuah kode C RS-
mempunyai jarak
.
Bukti: Diberikan order
sebagai polinomial generator C. Ada elemen
dengan
sebagaimana ∏
44
dengan
. Dalam hal ini, C mempunyai jarak minimum
Karena
memiliki paling banyak
adalah codeword dan karenanya
tak nol pada perluasannya dan . Sehingga
.
Decoder Reed Solomon mampu mengoreksi kesalahan hingga pada
, dimana
.
error
(Hanzlik, 2011:18).
Teorema 3.2 (Vanstone & Oorschot, 1989: 239). Kode C RS-
atas
dapat mendeteksi sebanyak
memperbaiki sebanyak ⌊
error atau dapat
⌋ error.
Bukti: Diketahhui kode C RSdirepresentasikan sebagai
atas GF(
, dapat diganti oleh suatu
GF(2) dengan mengganti setiap GF(
komponen
adalah kode-
terdiri dari
vektor.
Kemampuan
untuk mengoreksi error
suatu codeword di diberikan
⌋
, maka
-
dengan panjang bit . Diberikan
, dan
di
. Selanjutnya,
merupakan
dapat mengoreksi error
sebanyak ⌊
dapat mengoreksi
atas
atas GF(2). Sehingga
. Berdasarkan Teorema 3.2,
mengubah simbol di ⌊
di
-tupel
dengan suatu biner
berkoresponden dengan codeword
adalah simbol ke-
korespondensi
dapat
-tupel atas GF(2). Karenanya setiap codeword
, suatu -tupel atas GF(
tupel. Himpunan vektor
. Setiap elemen di GF(
-tupel jika
⌋. Karenanya jika error.
Berikut diberikan contoh koreksi kode Reed Solomon.
45
Contoh 3.2 Diberikan kode Reed Solomon C RS, dimensi
yang berarti panjang kode
dan redundansi
kemampuan koreksi sebanyak
. Kode RS ini mempunyai
.
Contoh 3.3. Berdasarkan kode yang diberikan pada Contoh 3.1 Misalkan decoder menerima vektor
di mana”_” menunjukkan posisi terjadi kesalahan, dan memunculkan 0 untuk menunjukkan posisi kesalahan
Maka
untuk beberapa codeword c. Karena
maka
[
]
[ [
[
]
[
]
]
]
Matriks di atas dapat diseleseikan dengan sistem persamaan sebagai berikut :
.
46
Sistem 3 persamaan memiliki solusi unik karena itu
,
,
=
. Oleh
).
Berikut diberikan Gambar 3.2 yang merupakan ilustrasi codeword pada Reed Solomon seperti yang telah diuraikan sebelumnya.
Data Simbol
Simbol Parity
k
2t
Gambar 3.2. Codeword Reed Solomon
Teorema 3.3. (Lindell, 2010:22) Kode Reed Solomon-(n,k,d) merupakan kode linear. Bukti: Untuk
setiap
dua
codeword
dan
dan setiap skalar
dapat dinyatakan dengan
dan codeword. Polinomial kode linear
adalah dan
berderajat
.
Contoh 3.3. Misalkan lapangan berhingga adalah 255. Diketahui dan Solomon-
mempunyai panjang vektor kode maka dimensi dari kode adalah . Kode yang terbentuk adalah kode Reed
RS-
Kode linear dengan parameter
. yang memenuhi
dinamakan kode Maximum Distance Separable (MDS) (Neubauer, dkk, 2007 :
47
81). Kode MDS merupakan suatu kode dengan kapasitas koreksi error tinggi yang memenuhi batas pertidaksamaan singleton. Batas pertidaksamaan singleton untuk setiap kode-
adalah
(Sebastia Xambo,
2003 : 21). Teorema 3.4 (Lindell, 2010 :22). Kode Reed Solomon merupakan kode-(n, k, d) dan sekaligus MDS. Bukti: Diketahui kode dengan panjang Diberikan
berdimensi
dan (
)
.
dan
merupakan dua polinomial yang berbeda dengan
derajat paling tinggi
. Karena untuk setiap dua polinomial yang berbeda
[ ] dengan derajat lebih kecil dari nilai
untuk
terdapat paling tidak
, maka setidaknya ada
. Hal ini berarti bahwa setidaknya ada yang menyatakan bahwa setiap
yang berbeda maka
sebab itu kode berjarak sedikitnya batas singleton
nilai
untuk
pada nilai
. Dengana demikian, untuk (
)
dan oleh
. Hal ini memenuhi kesetaraan
.
3. Encoding dan Decoding Kode Reed Solomon Dalam komunikasi nirkabel, data yang dikirimkan oleh transmitter terkadang mengalami gangguan dari suatu saluran (channel) yang dapat mengakibatkan kerusakan data. Data yang mengalami kerusakan akan dapat dideteksi untuk selanjutnya dapat dikoreksi. Proses kode pengoreksi Reed
48
Solomon mempunyai langkah-langkah kerja yang penting yaitu proses encoding dan proses decoding. Berikut ini diberikan uraian prosedur kerja kode Reed Solomon. a.
Proses Encoding Kode Reed Solomon Encoding Reed Solomon menggunakan encoding sistematis yang berarti
blok data parity tidak mengubah pesan data. Dalam encoding sistematis, dikenal empat bentuk polinomial yaitu
adalah polinomial data pesan,
adalah polinomial data yang dikirim, dan
adalah polinomial hasil bagi,
adalah polinomial residu atau sisa. Polinomial
Polinomial
dapat direpresentasikan dari
simbol pesan orde
dinyatakan dari polinomial
dari polinomial
dan polinomial generator
residu atau sisa
dihasilkan dari pembagian
dihasilkan polinomial
dan
.
atau perkalian
. Sedangkan, polinomial oleh
. Jika tidak
maka data yang dikirim tidak mengalami error,
begitu juga sebaliknya jika dihasilkan polinomial Saat proses transmisi, polinomial
maka terjadi error.
tidak dipakai.
Berikut adalah langkah-langkah proses encoding. i.
Membentuk pesan {
ii.
Mengalikan polinomial
} dalam bentuk polinomial
dengan
.
untuk membuat ruang bagi
. iii.
Membagi menghasilkan
dengan polinomial generator
untuk
.
49
iv.
Karena polinomial polinomial
v.
tidak digunakan saat proses transmisi maka
dibuang.
Membentuk polinomial polinomial
dengan menambahkan polinomial
ke
.
Contoh 3.4. Berikut diberikan contoh perhitungan encoding Misalkan
.
akan dikirimkan pesan 2,2,3,3,4,4,5,5,6,6,7 atas
dan dibangun oleh akar primitif Polinomial primitif atas
.
dengan akar primitif
atau sama halnya dengan
dapat dituliskan . Konstruksinya
diberikan pada Tabel 3.1. Tabel 3.1. Konstruksi Polinomial Primitif atas
Bentuk Pangkat 0
Bentuk Polinomial 0 1
dengan Akar Primitif
Nilai 0 1 2 4 8 3 6 12 11 5 10 7
50
1 Pesan tersebut akan di-encode dengan
14 15 13 9 1
, maka: 1. Membentuk polinomial
dengan
simbol.
. 2. Mengalikan
dengan
untuk membuat ruang bagi
dengan
untuk menghasilkan
.
. 3. Membagi
.
.
Dihasilkan
. Berikut langkah pembagiannya.
51
4.
tidak digunakan sehingga
dibuang.
Polinomial tidak dipakai. 5. Menambahkan panjang
dengan
untuk membentuk
dengan
simbol.
. Polinomial
dapat direpresentasikan kedalam GF(15,11) biner yaitu
. Atau dalam indeks GF(15,11) yaitu . Jadi kode yang telah di-encode dan siap dikirim adalah
. Kode akan dikirimakan melalui saluran transmisi kemudian kode itu akan di-decode sebelum kode diterima. Polinomial kode yang diterima terhadap kode yang ditransmisikan dideskripsikan oleh persamaan: . Polinomial
adalah m-bit nilai
error yang direpresentasikan oleh elemen dari GF(
). Derajat dari x pada
mengindikasikan posisi error pada codeword. Banyaknya error yaitu t dengan kemampuan mengoreksi yaitu
. Jika ada error lebih dari t
52
yang muncul, maka kode tersebut tidak dapat dikoreksi. Sebagai contoh . b. Proses Decoding Kode Reed Solomon Pada decoding Reed Solomon, sedangkan
adalah polinomial data yang diterima,
adalah polinomial error yang menyebabkan data yang
diterima berbeda dari data yang dikirim. Proses decoding bekerja saat terjadi kode error. Ada empat tahap proses decoding Reed Solomon, yaitu: (i)
Menghitung syndrome Syndrome adalah bagian utama proses decoding yang merupakan
evaluasi dari polinomial
.
( ) (3.4)
Dengan menguraikan persamaan (3.4) didapatkan persamaan syndrome aljabar
sebagai berikut.
(3.5)
Jika nilai syndrome semuanya bernilai nol, maka
adalah codeword
yang benar atau tanpa error. Sedangkan, jika ada salah satu syndrome yang bernilai tak nol, maka codeword terindikasi error.
53
(ii) Menenetukan polinomial error locator Metode untuk menghitung polinomial error locator ada tiga (MorelosZaragoza, 2006: 55), yaitu:
Algoritma Berlekamp-Massey
Algoritma Euclidean
Direct-Solution
Algoritma Euclidean berstruktur reguler dan bekerja dengan polinomial sehingga penelitian ini menggunakan algoritma Euclidean. Algoritma Euclidean diformulasi untuk mencari FPB (Faktor Persekutuan Terbesar) dua bilangan bulat, dua polinomial, maupun dua polinomial sembarang. Definisi 3.2 (Morelos-Zaragoza, 2006: 60). Untuk bilangan, jika
, maka ada bilangan bulat
dan
sedemikian hingga:
Untuk polinomial, jika dan
, maka ada polinomial
sedemikian hingga:
Untuk sebarang bilangan bulat
berlaku:
Untuk polinomial sembarang (
)
berlaku: (
).
Diberikan polinomial syndrome yang didefinisikan sebagai berikut (Morelos-Zaragoza, 2006: 61):
54
(3.6) Hal ini terbentuk dari perluasan algoritma Euclidean untuk polinomial dan
, sedemikian sehingga pada iterasi-
dihasilkan: (3.7) dengan derajat
Berikut
, maka
diberikan
(
dan
langkah-langkah
.
algoritma
Euclidean
untuk
) (Morelos-Zaragoza, 2006: 62).
Input: [
]
[
]
kondisi inisial:
(3.8)
pada iterasi
, lakukan pembagian untuk menentukan polinomial
dan [
]
[
]
(3.9)
dan dihitung (3.10) (3.11) perhitungan akan berhenti pada iterasi
, ketika
55
(
Maka
[
]
[
)
, dimana
terbesar sedemikian sehingga
]
(3.12)
adalah bilangan bulat tak nol
dan
.
(iii) Mencari akar polinomial evaluasi error Polinomial
evaluasi
error
(Morelos-Zaragoza,
2006
:
75)
didefinisikan .
(3.13)
(iv) Menghitung nilai error Dengan menggunakan algoritma Forney (Forney, 1965), nilai error dapat dihitung sebagai berikut. (
dengan dan
)
(
adalah akar polinomial evaluasi error adalah turunan dar
(3.14)
)
atau posisi errornya
atas .
Contoh 3.5. Di bawah ini adalah contoh proses decoding. Misalkan pada encoding RS(15,11) dengan
Diasumsikan terjadi dua error, yaitu
. Sehingga
. Pada contoh ini ada dua hal
56
yang tidak diketahui yaitu posisi error dan nilai error. Karena kode Reed Solomon bekerja pada simbol (m-bit word), maka nilai error perlu diketahui. Berikut langkah-langkah decoding kode Reed Solomon. 1) Langkah pertama adalah menghitung nilai syndrome.
. Elemen primitif dari GF(
adalah
, maka didapat
, .
2) Langkah kedua menghitung polinomial pencari posisi error dan polinomial evaluasi error menggunakan metode algoritma Euclidean.
Kondisi Inisial
untuk
Berdasarkan persamaan (3.9)
Berdasarkan persamaan (3.11)
57
Untuk
Berdasarkan persamaan (3.9)
Berdasarkan persamaan (3.11)
Algoritma berhenti karena derajat [
]
. , .
Dari akar-akar dan
dapat diketahui bahwa posisi error terjadi pada .
3) Kemudian menghitung nilai polinomial evaluasi error. Berdasarkan persamaan (3.13) maka didapatkan
. 4) Hitung nilai error menggunakan algoritma Forney persamaan (3.14) dengan
dan
maka dihasilkan
. Berdasarkan hasil perhitungan nilai error di atas dihasilkan polinomial evaluasi error yaitu
.
58
5) Selanjutnya mengoreksi kode error.
Jadi
kode
yang
adalah
dikirim atau
dalam
bilangan non biner adalah (2,2,3,3,4,4,5,5,6,6,6,5,0,3,1).
B. Aplikasi Kode Reed Solomon pada Steganography Kode Reed Solomon pertama kali ditemukan oleh Reed dan Solomon pada tahun 1960. Aplikasi kode Reed Solomon digunakan sebagai pengoreksi kesalahan pada Compact Disk (CD), Digital Versatile Disk (DVD), hard drives, saluran AWGN, pengiriman foto-foto dalam eksplorasi planet oleh NASA (National Aeronautics and Space Administration) dan ESA (European Space Agency). Penerapan kode pengoreksi Reed Solomon pada bidang komunikasi yang lain adalah steganography. Steganography merupakan suatu cara menyembunyikan informasi untuk mencegah pendeteksian pesan yang dikirimkan agar tidak diketahui orang lain. Menurut Ishengoma (2014) dalam jurnalnya yang berjudul “The Art of Data Hiding with Reed Solomon Error Correcting Codes”, dua tujuan penting dari steganography di media digital adalah untuk menjamin kebenaran data dan
59
memberikan bukti hak cipta. Oleh karena itu, data harus tetap tersembunyi dalam sinyal host, bahkan ketika sinyal mengalami gangguan seperti filtering, resampling, cropping, atau lossy data compression (Bender, dkk, 1996 :1). Berikut ini adalah komponen-komponen penting untuk proses steganography. 1) Carrier Document
atau sering disebut cover media. Maksudnya adalah
data yang akan digunakan untuk membangun sebuah stegogramme yang berisi pesan rahasia. Data yang digunakan adalah data tersembunyi bisa berupa teks, gambar, file audio, video, IP datagram, dokumen. 2) Secret Message
atau pesan rahasia. Pesan rahasia yang akan dikirim
berupa data tersembunyi dalam bentuk teks yang telah dikodekan. 3) Password atau kunci untuk menyembunyikan dan membuka kembali pesan. Ilustrasi dari proses steganography ditampilkan pada Gambar 3.3.
Proses Embedding Pesan Rahasia
Stego-system Encoder
Stegogramme
Cover Media
Saluran Komunikasi
Password
Proses Ekstraksi Stegogramme
Stego-system Decoder
Pesan Rahasia Cover Media
Gambar 3.3. Proses Kode Pengoreksi Reed Solomon pada Steganography
60
Berdasarkan Gambar 3.3 dapat dijelaskan bahwa dua input yang harus ada adalah cover media berupa pesan teks, pesan audio, pesan video, pesan gambar, maupun pesan-pesan protokol. Input yang kedua adalah pesan rahasia atau pesan tersembunyi yang dikirim dan telah diubah dalam bentuk kode. Selanjutnya menyampaikan kedua input melalui stego-system encoder. Langkah kerja stego-system encoder membutuhkan password yang nantinya password itu juga akan digunakan untuk proses ekstraksi. Karena apabila tanpa password yang sama maka stego-system decoder tidak dapat mengekstraksi pesan yang diterima (Bateman, 2008 : 5). Output dari stego-system encoder disebut dengan stegogramme. Stegogramme ini selanjutnya dikirim menggunakan saluran komunikasi yang telah dikunci dengan password seperti pada saat proses embedding. Stegogramme dan password ini diterima stego-system decoder yang kemudian pesan diekstraksi. Sebagai contoh aplikasi kode Reed Solomon pada audio steganography dimana pesan rahasia tertanam dalam bentuk sinyal audio digital. Audio digital disimpan dalam bentuk biner 0 dan 1. Dengan menggunakan encoding Least Significant Bit (LSB), sampel biner bit terakhir pada audio digital disubstitusi dengan biner bit pada pesan rahasia
. Metode LSB merupakan salah satu
metode untuk menyisipkan pesan rahasia pada pesan data (cover media) dengan cara mengganti bit terakhir atau bit terendah pada codeword pesan data kemudian disubstitusi dengan pesan rahasia. Misalkan akan disisipkan kata ‘A’ dalam bentuk biner yaitu (01100101) ke file mp3 lalu dengan menggunakan metode LSB
61
untuk setiap bit ke-16 (terakhir) pada 8 sampel berturut-turut disubstitusi dengan koresponden biner ‘A’. Tabel 3.2. Penyisipan Huruf ‘A’ pada File mp3 Sampel Audio MP3
‘A’
1001 1000 0011 1100 1101 1011 0011 1000 1011 1100 0011 1101 1011 1111 0011 1100 1011 1010 0111 1111 1111 1000 0011 1100 1101 1100 0111 1000 1000 1000 0001 1111
0 1 1 0 0 1 0 1
Sampel Audio MP3 dengan Data Encode 1001 1000 0011 1100 1101 1011 0011 1001 1011 1100 0011 1101 1011 1111 0011 1100 1011 1010 0111 1110 1111 1000 0011 1101 1101 1100 0111 1000 1000 1000 0001 1111
Contoh 3.6. Mengikuti Contoh 3.4,
suatu pesan 2,2,3,3,4,4,5,5,6,6,7 atas
dibangun oleh akar primitif
dan
. Setelah dilakukan encoding
codeword seperti langkah pada Contoh 3.4 dihasilkan . Pada steganography, codeword
merupakan polinomial kode dari cover
media yang dalam hal ini digunakan untuk menyimpan suatu pesan rahasia. Selanjutnya posisi
yang akan disubstitusi dengan suatu pesan rahasia pada . Misalkan pesan rahasia
rahasia
=
. Sehingga codeword
adalah 7,6,5,3. Selanjutnya pesan
mensubstitusi polinomial redundansi pada yang telah disisipkan dengan suatu pesan rahasia
adalah .
62
1.
Algoritma Kode Reed Solomon pada Steganography Model aplikasi steganography pada kode Reed Solomon dengan mengganti
bit redundansi kode pengoreksi error dengan suatu pesan rahasia pada saluran komunikasi. Diasumsikan bahwa penggantian bit pada kode Reed Solomon pada model tersebut tidak mempengaruhi kinerja dari pengoreksian kode Reed Solomon tersebut. Encoder Reed Solomon membuat codeword dengan menggunakan input dari data stegogramme. Posisi di codeword
yang akan digunakan untuk data
tersembunyi adalah data redundansi. Kemudian data yang telah ditentukan posisinya diganti dengan pesan rahasia ( stegogramme codeword
) menjadi codeword termodifikasi atau
. Codeword termodifikasi tersebut dikirimkan
melalui saluran komunikasi yang memungkinkan terjadinya error. Dilakukan decoding codeword untuk mengekstrak pengkoreksian bit error dan decoding stegogramme untuk mengekstrak pesan rahasia. Berdasarkan uraian sebelumnya maka didapatkan Algoritma Steganography dengan kode Reed Solomon sebagai berikut: a. Membangun codeword
.
b. Menentukan posisi untuk substitusi pesan rahasia pada c. Masukkan pesan rahasia d. Pesan stegogramme e. Decoding
pada posisi yang telah ditentukan. terbentuk lalu transmisikan
dengan kode Reed Solomon untuk mengoreksi error
pada stegogramme.
63
f. Decoding
dengan stegogramme decoder untuk mengekstraksi
pesan rahasia. Uraian dari algoritma tersebut dapat dilihat pada bagan berikut ini. Membangun Codeword 𝐶 𝑥 Menentukan posisi untuk substitusi pesan rahasia pada 𝐶 𝑥
Masukkan pesan rahasia 𝑆𝑚 pada posisi yang telah ditentukan Pesan Stegogramme 𝐶 𝑥 𝑆𝑚 terbentuk
Transmisikan pesan 𝐶 𝑥 𝑆𝑚 Decoding 𝐶 𝑥 𝑆𝑚 dengan kode RS untuk koreksi error
Decoding 𝐶 𝑥 𝑆𝑚 dengan stegogramme decoder untuk ekstraksi 𝑆𝑚
Pesan 𝑆𝑚 diterima
Gambar 3.4. Algoritma Steganography dengan Kode Reed Solomon 2.
Software Xiao Steganography 2.6.1 Software Xiao steganography 2.6.1 merupakan salah satu software yang
digunakan untuk menyembunyikan suatu pesan rahasia dengan cover media berupa gambar dalam format BMP atau audio dalam format WAV.
64
Berikut ini adalah langkah-langkah proses steganography menggunakan software Xiao Steganography 2.6.1. a. Tampilan utama software Xiao Steganography 2.6.1 ditunjukkan pada Gambar 3.5.
Gambar 3.5. Tampilan Utama software Xiao Steganography 2.6.1 b. Klik kotak “Add Files” untuk menambahkan suatu cover media untuk menyembunyikan pesan rahasia. Lalu muncul jendela “Add File to Image” seperti pada Gambar 3.6. Pada tampilan ini klik kotak “Load Target File” untuk input pesan rahasia yang akan disembunyikan.
Gambar 3.6. Tampilan “Add File to Image” untuk Input Data Cover Media c. Selanjutnya muncul tampilan “Open” untuk input file data sebagai cover media seperti pada Gambar 3.7. File yang digunakan hanya berupa gambar dalam format BMP atau audio dalam format WAV.
65
Gambar 3.7. Tampilan Input File sebagai Cover Media Pada langkah ini terbentuk suatu codeword
dari bit-bit kode yang
didalamnya terdapat informasi kode warna pada masing-masing pixel yang terdapat pada gambar. Lalu, klik tombol “Next” untuk langkah berikutnya. d. Pada tampilan Gambar 3.8, klik “Add Files” untuk menambahkan pesan rahasia yang akan disembunyikan. Pesan rahasia bisa berupa gambar, video, audio, maupun file data lainnya. Pada simulasi berikut ini digunakan file PDF sebagai pesan rahasia. Pesan rahasia yang dikirim tidak boleh melebihi kapasitas maksimum ukuran data (satuan KB) yang ditentukan. Pesan rahasia ini merupakan pesan
yang akan disisipkan pada codeword
.
66
Gambar 3.8. Tampilan “Add File to Image” untuk Input Data Pesan Rahasia
Gambar 3.9. Tampilan Input File sebagai Pesan Rahasia Setelah terpilih file pesan rahasia yang akan disembunyikan, klik tombol “Next” untuk langkah berikutnya. e. Langkah selanjutnya adalah memilih algoritma enkripsi dan dekripsi serta menambahkan suatu password. Langkah ini ditunjukkan pada Gambar 3.10. Password pengirim dan penerima haruslah sama agar pesan rahasia yang diterima dapat dibuka.
67
Gambar 3.10. Tampilan Pilihan Algoritma Enkripsi dan Pengisian Password Klik tombol “Next” untuk langkah selanjutnya. f. Berikutnya adalah menyimpan pesan stegogramme (pesan rahasia yang telah disembunyikan oleh cover media) ditunjukkan pada Gambar 3.11 dan Gambar 3.12. Tunggu hingga proses penyimpanan file berhasil sehingga muncul tampilan seperti pada Gambar 3.13.
Cover Media
Gambar 3.11. Tampilan Penyimpanan File
Gambar 3.12. Proses Penyimpanan Pesan Rahasia pada File Cover Media
68
Gambar 3.13. Tampilan Proses Enkripsi Berhasil Proses embedding atau proses penyisipan pesan rahasia media
pada cover
) telah selesai. Pesan tersebut dinamakan pesan stegogramme . Untuk dapat membuka pesan stegogramme tersebut haruslah
melalui proses ekstraksi. g. Proses ekstraksi stegogramme dilakukan dengan cara klik tombol “Extract Files” pada tampilan utama software Xiao Steganography 2.6.1 dengan tampilan seperti pada Gambar 3.5. Lalu klik tombol “Load Source File” dan pilih pesan stegogramme yang telah disimpan.
Pesan Stegogramme Gambar 3.14. Tampilan Pemilihan Pesan Stegogramme untuk Ekstraksi File
69
h. Proses ekstraksi untuk mengambil pesan rahasia berjalan dan tunggu hingga muncul kotak jendela berikutnya. Setelah itu, isikan password yang sesuai pada saat enkripsi di kotak pengisian password. Kemudian klik “Extract File”. Tampilan ini diberikan pada Gambar 3.15.
Gambar 3.15. Tampilan Proses Ekstraksi File i.
Gambar 3.16. merupakan tampilan untuk menyimpan pesan rahasia yang berhasil di ekstrak.
Gambar 3.16. Tampilan Penyimpanan Pesan Rahasia Hasil Ekstraksi
70
j.
Jika password yang diisikan sama dengan password saat proses enkripsi maka proses ekstraksi berhasil. Lalu buka file pesan rahasia untuk dapat mengetahui isi file tersebut. Tampilan ini ditunjukkan pada Gambar 3.17.
File Pesan Rahasia Hasil Ekstraksi Gambar 3.17. Tampilan Hasil Proses Ekstraksi Aplikasi steganography menggunakan software Xiao Steganography 2.6.1 menggambarkan proses enkripsi dan dekripsi. Proses enkripsi berupa proses penyembunyian pesan rahasia yang ditutupi dengan suatu cover media dan dikunci menggunakan suatu password. Pada contoh aplikasi ini cover media berupa gambar “spongebob” dengan format file BMP dan pesan rahasia yang dipilih berupa file PDF yang ukurannya tidak melebihi kapasitas ukuran KB yang ditentukan yaitu 325,486 KB. Pesan rahasia yang telah tertanam pada suatu file cover media disebut dengan pesan stegogramme. Pesan stegogramme dan file yang digunakan sebagai cover media sekilas terlihat sama persis. Inilah tujuan dari steganography yaitu menyembunyikan pesan rahasia agar tidak terlihat oleh
71
orang lain dan terjamin kerahasiannya. Proses dekripsi berupa ekstraksi file untuk mengambil pesan rahasia tersebut dengan memasukkan password yang sama seperti saat proses enkripsi. Output proses dekripsi ini berupa file pesan rahasia yaitu file PDF dengan judul “reed solomon.pdf”.
72