Pemodelan Digital Signature Menggunakan RSA untuk …...[11]. Jika digunakan image 24 bitcolor...

25
Pemodelan Digital Signature Menggunakan RSA untuk Menjaga Keutuhan Citra Digital Artikel Ilmiah Peneliti: Eko Prasetyo (672012090) Wiwin Sulistyo, ST., M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga September 2016

Transcript of Pemodelan Digital Signature Menggunakan RSA untuk …...[11]. Jika digunakan image 24 bitcolor...

  • Pemodelan Digital Signature Menggunakan RSA

    untuk Menjaga Keutuhan Citra Digital

    Artikel Ilmiah

    Peneliti: Eko Prasetyo (672012090)

    Wiwin Sulistyo, ST., M.Kom.

    Program Studi Teknik Informatika

    Fakultas Teknologi Informasi

    Universitas Kristen Satya Wacana

    Salatiga

    September 2016

  • 1

    1. Pendahuluan

    Jaringan komputer dan internet mempermudah proses pertukaran informasi.

    Salah satu bentuk informasi yang sering dikirimkan lewat jaringan internet adalah

    file citra digital. File citra digital yang tersimpan di dalam harddisk misalnya, dapat

    dibaca kemudian dimanipulasi, sehingga mengubah informasi yang dimaksudkan

    oleh citra digital tersebut [1]. Sebagai contoh, gambar hasil X-ray, dapat diubah

    sehingga seolah-olah pasien menderita penyakit tertentu. Jika gambar ini digunakan

    sebagai acuan pengobatan, maka dapat menimbulkan kerugian bagi pasien, maupun

    dokter karena terjadi malpraktek [2].

    Citra digital dimanipulasi dengan cara mengganti piksel-piksel yang ada di

    dalamnya. Proses ini dapat dilakukan dengan menggunakan aplikasi image editor,

    seperti Adobe Photoshop. Aplikasi tersebut menyediakan alat untuk mengolah citra

    digital, seperti bluring, cropping, penambahan teks, dan lain sebagainya.

    Suatu citra digital jika dimanipulasi dengan tujuan jahat akan dapat

    menimbulkan kerugian bagi pihak yang menggunakan informasi pada citra digital

    tersebut, sehingga diperlukan suatu cara supaya pihak pengguna citra digital

    tersebut, dapat mengetahui apakah citra digital yang digunakan, sudah mengalami

    kerusakan/perubahan/manipulasi atau tidak. Untuk mengetahui apakah citra digital

    tersebut masih utuh, dengan kondisi yang sama seperti yang dikirimkan oleh

    pengirim, dapat digunakan metode digital signature.

    Digital-signature adalah suatu cara matematis untuk menunjukkan keaslian

    suatu dokumen [3]. Digital signature memiliki fungsi sebagai penanda pada data

    yang memastikan bahwa data tersebut adalah data yang sebenarnya (tidak ada yang

    berubah) [4]. Jika diimplementasikan pada citra digital, maka digital signature

    berfungsi untuk memastikan bahwa piksel-piksel di dalamnya tidak mengalami

    pergantian nilai akibat manipulasi atau kerusakan.

    Pada penelitian ini diimplementasikan metode digital signature dengan

    kombinasi algoritma RSA, MD5, dan algoritma penyisipan LSB dan EOF. Digital

    signature diperoleh dengan cara meringkas data pada citra digital sehingga

    terbentuk hash, dengan algoritma MD5. Hash kemudian dienkripsi dengan

    algoritma RSA, hasilnya disisipkan pada citra digital. Proses penyisipan dilakukan

    dengan algoritma LSB atau EOF. Pada pengujian dibandingkan dan dianalisis

    kelebihan dan kekurangan dari proses penyisipan LSB dan EOF pada tiga jenis

    format gambar yang umum, yaitu PNG, JPG, dan BMP.

    2. Tinjauan Pustaka

    Pada penelitian yang berjudul "Elliptic Curve Digital signature Algorithm

    (ECDSA)" dibahas tentang perlunya suatu mekanisme untuk menjamin keaslian

    (otentikasi) dokumen elektronis dalam pertukaran dokumen (file) [5]. Metode yang

    digunakan untuk mengatasi permasalahan di atas adalah dengan cara menambahkan

    tanda tangan digital pada dokumen tersebut. Digital signature pada penelitian

    tersebut diimplementasikan dengan algoritma ECDSA.

    Penelitian yang selanjutnya berjudul “Studi dan Implementasi Algoritma

    RSA untuk Pengamanan Data Transkrip Akademik Mahasiswa”. Masalah

  • 2

    keamanan dan kerahasiaan data merupakan hal yang penting dalam suatu

    organisasi. Data yang bersifat rahasia tersebut perlu dibuatkan sistem penyimpanan

    dan pengirimannya agar tidak terbaca atau diubah oleh orang-orang yang tidak

    bertanggung jawab, baik saat data tersebut tersimpan sebagai file di dalam

    komputer maupun saat data tersebut dikirim melalui email. Penelitian ini membuat

    model sistem pengamanan dengan proses enkripsi dan dekripsi menggunakan

    algoritma RSA. Hasil penelitian ini menunjukkan bahwa algoritma RSA berhasil

    diimplementasikan untuk pengamanan data transkrip akademik mahasiswa dengan

    diperolehnya hasil komputasi algoritma RSA adalah sebesar 15625 mikrodetik,

    sedangkan kompleksitas memori yang dibutuhkan algoritma RSA sebesar 3908

    bytes [6].

    Pada penelitian berjudul "Aplikasi Metode Steganography Pada Citra

    Digital dengan Menggunakan Metode LSB (Least Significant Bit)", dibahas

    mengenai implementasi LSB embedding untuk menyembunyikan pesan pada citra

    digital [7]. Metode LSB embedding dipilih karena dengan melakukan penggantian

    pada bit belakang pada warna citra, maka perubahan tingkat intensitas warna tidak

    dapat terdeteksi oleh mata manusia.

    Penelitian Patricia dan Aripin (2015) membahas mengenai keamanan data

    menggunakan kriptografi algoritma Vigenere cipher dan steganografi dengan

    metode end of file (EOF) [8]. Pada penelitian tersebut, file pesan yang akan

    disisipkan, dienkripsi terlebih dahulu dengan algoritma Vigenere. Ciphertext yang

    dihasilkan, kemudian disisipkan ke dalam file cover yang berupa file gambar

    dengan format BMP. Hasil dari penelitian tersebut yaitu menghasilkan aplikasi

    yang dapat menyembunyikan file dengan baik dan menutup kecurigaan dari pihak

    lain.

    Berdasarkan penelitian-penelitan tentang digital signature, RSA, metode

    penyisipan LSB, dan metode penyisipan EOF, maka dilakukan penelitian ini yang

    mengimplementasikan digital signature dengan menggunakan algoritma-algoritma

    tersebut. Perbedaan penelitian yang dilakukan ini dengan penelitian-penelitian

    sebelumnya adalah, Pada penelitian ini diimplementasikan metode digital signature

    dengan kombinasi algoritma RSA, MD5, dan algoritma penyisipan LSB dan EOF.

    Digital signature diperoleh dengan cara meringkas data pada citra digital sehingga

    terbentuk hash, dengan algoritma MD5. Hash kemudian dienkripsi dengan

    algoritma RSA, hasilnya disisipkan pada citra digital. Proses penyisipan dilakukan

    dengan algoritma LSB atau EOF.

    Teknik steganografi End of file (EOF) merupakan salah satu teknik yang

    digunakan dalam steganografi. Teknik ini digunakan dengan cara menambahkan

    data atau pesan rahasia pada akhir file. Teknik ini dapat digunakan untuk

    menambahkan data yang ukurannya sesuai dengan kebutuhan. Perhitungan kasar

    ukuran file yang telah disisipkan data sama dengan ukuran file sebelum disisipkan

    data ditambah ukuran data rahasia yang telah diubah menjadi encoding file. EOF

    adalah suatu kode yang ditempatkan oleh komputer pada akhir suatu file, tepatnya

    setelah byte informasi terakhir pada file tersebut [9] . Tanda EOF sangat berguna

    pada transmisi dan penyimpanan data. File disimpan pada blok-blok, dan tanda

    EOF membantu komputer untuk mengetahui apakah kapasitas penyimpan tersedia

    untuk menyimpan file tersebut [10].

  • 3

    LSB embedding merupakan teknik steganografi yang menggunakan

    pendekatan tergolong sederhana dan langsung. Sesuai dengan namanya, teknik LSB

    embedding menyisipkan pesan ke dalam LSB (least significant bit). Hal ini hanya

    akan mempengaruhi nilai warna pada piksel sebesar + 1, maka secara umum

    diasumsikan bahwa degradasi warna yang terjadi dapat tidak dikenali oleh mata

    [11]. Jika digunakan image 24 bitcolor sebagai cover, sebuah bit dari masing-

    masing komponen Red, Green, dan Blue, dapat digunakan, sehingga tiga bit dapat

    disimpan pada setiap piksel. Sebuah image 800 x 600 piksel dapat digunakan untuk

    menyembunyikan 1.440.000 bit (180.000 bytes) data rahasia. Misalkan terdapat

    piksel-piksel dari image 24 bit color, dapat dilihat bahwa bit-bit pesan rahasia

    mengubah bit-bit terakhir citra gambar.

    00111000 01010110 11000111 00110011

    Jika ada pesan rahasia yang memiliki nilai 1101, maka dihasilkan: 00111001 01010111 11000110 00110011

    LSB embedding memiliki kelebihan dibandingkan dengan algoritma EOF

    steganography [12], dalam hal perubahan ukuran dokumen yang disisipi. LSB

    embedding tidak menambahkan ukuran dokumen, karena proses yang terjadi adalah

    mengganti bit akhir tiap warna. EOF bekerja dengan menambahkan informasi pada

    akhir dokumen. Algoritma steganografi yang lain adalah algoritma DCT. Algoritma

    ini menggunakan frequency domain dari citra digital untuk menyisipkan informasi.

    Kelemahan dari algoritma DCT adalah mata manusia dapat mengenali perubahan

    yang terjadi pada frekuensi rendah [13]. Karena kelebihan-kelebihan dari algoritma

    LSB embedding, maka pada penelitian ini dipilih LSB embedding dalam proses

    penyisipan Digital signature dalam dokumen digital.

    Digital signature adalah salah satu teknologi yang digunakan untuk

    meningkatkan keamanan jaringan. Digital signature memiliki fungsi sebagai

    penanda pada data yang memastikan bahwa data tersebut adalah data yang

    sebenarnya (tidak ada yang berubah). Digital signature dapat memenuhi setidaknya

    dua syarat keamanan jaringan, yaitu authenticity dan non-repudiation, dan juga

    integrity (keutuhan data). Authenticity berarti bahwa dokumen tersebut berasal dari

    pemilik yang spesifik. Non-repudiation berarti bahwa berdasarkan digital signature

    di dalam suatu dokumen, pelaku/pengirim tidak dapat mengingkari bahwa yang

    bersangkutan melakukan pengiriman/manipulasi data. Integrity berarti bahwa

    keutuhan suatu dokumen dapat diketahui berdasarkan kondisi digital signature

    didalamnya [14].

    Gambar 1 True Color 24 bit dan 32 bit [15]

    Pada penelitian ini, format file citra digital yang digunakan adalah PNG, BMP

    dan JPG. PNG dan BMP merupakan True Color image. True Color image berarti

    tiap piksel direpresentasikan dengan 3 byte, terbagi ke dalam red, green, dan blue

    masing-masing 1 byte (Gambar 1). Hal ini sering disebut dengan warna RGB, atau

  • 4

    True Color 24 bit. Selain 24 bit warna, file PNG juga mendukung 32 bit warna.

    True Color 32 bit sama dengan 24 bit, dengan perbedaan adalah adanya 1 byte

    tambahan yang disebut komponen alpha [15][16].

    Pada Gambar 2 ditunjukkan contoh potongan dari suatu gambar True Color

    Image. Potongan ini memiliki dimensi 6 x 6 piksel. Pada tiap piksel terdapat tiga

    bagian warna yaitu red, green dan blue. Pada lokasi piksel 1,1 terdapat warna red

    bernilai 96, green bernilai 143, dan blue bernilai 179. Pada lokasi piksel 1,2 terdapat

    warna red 61, green 125, dan green 198.

    Gambar 2 Komponen RGB pada File Gambar 24 Bit Warna.

    JPG adalah standar format gambar de facto dan yang paling populer

    digunakan di web. JPG mendukung 16.7 juta warna dan format yang lebih disukai

    untuk menyimpan file foto [17]. File JPG juga lebih kecil dibandingkan dengan

    format gambar lainnya karena menggunakan kompresi 'lossy' untuk mengurangi

    ukuran file. Kompresi ‘lossy’ adalah kompresi yang menghilangkan sebagian data

    [18]. Hal ini mungkin tidak disadari oleh mata manusia, tapi gambar JPG

    mengorbankan beberapa informasi gambar untuk membuat ukuran file menjadi

    kecil. Setiap kali file JPG disimpan, beberapa data menjadi hilang, dan data gambar

    yang hilang tersebut tidak dapat dipulihkan.

    Format PNG dirancang sebagai alternatif elegan untuk GIF. Seperti GIF,

    format PNG mendukung warna 8-bit, tetapi juga meluas ke 24-bit, sehingga

    memberikan lebih banyak jangkauan warna seperti dalam file JPEG. PNG tidak

    mendukung animasi. PNG menggunakan kompresi ‘lossless’ untuk

    mempertahankan informasi warna ketika dikompresi, sehingga tidak ada informasi

    yang hilang seperti yang terjadi pada JPG. Gambar dengan warna yang kompleks

    akan menyebabkan ukuran file yang lebih besar [17].

    BMP merupakan format file asli dari platform Windows, dan merupakan

    format pendahulu bagi format gambar JPG, dan PNG. Format BMP umumnya tidak

    memungkinkan untuk kompresi gambar kecuali disimpan dalam salah satu format

  • 5

    yang dibahas tersebut. Gambar BMP memiliki kualitas yang tajam, namun karena

    tidak mendukung kompresi, maka gambar BMP memiliki ukuran yang lebih besar

    daripada format JPG maupun PNG [17].

    3. Metode dan Perancangan Sistem

    Penelitian yang dilakukan, diselesaikan melalui tahapan pemodelan yang

    terbagi dalam enam tahapan, yaitu: analisis kelayakan, desain model, implementasi

    komputer, evaluasi/pengujian model, optimasi/perbaikan model, dan produk model

    [19].

    ANALISIS KELAYAKAN

    DESAIN MODEL

    IMPLEMENTASI KOMPUTER

    EVALUASI/PENGUJIAN MODEL

    OPTIMASI/PERBAIKAN MODEL

    PRODUK MODEL

    Gambar 3 Tahapan Penelitian

    Tahapan penelitian pada Gambar 3, dijelaskan sebagai berikut: Tahap

    analisis kelayakan: mengidentifikasi masalah, mengidentifikasi tujuan, dan

    membatasi masalah. Masalah yang ditemukan adalah perlunya pengamanan

    dokumen digital dari perubahan dan pemalsuan, terutama pada dokumen yang

    ditransmisikan lewat jaringan Internet. Tujuan yang ditemukan adalah untuk

    mengamankan dokumen digital terhadap ancaman tersebut. Masalah dibatasi pada

    dokumen dengan bentuk citra digital. Tahap desain model, merancang sistem yaitu

    proses pembangkitan kunci publik dan privat, serta proses pembangkitan digital

    signature dan validasi digital signature. Tahap implementasi komputer: yaitu

    mengimplementasikan hasil perancangan model, membangun model berdasarkan

    rancangan pada tahap sebelumnya. Dokumen yang digunakan adalah citra digital

    dengan format PNG, BMP dan JPG. Tahap evaluasi/pengujian model: adalah

  • 6

    melakukan pengujian model dan kemudian melakukan analisis terhadap hasil

    pengujian tersebut. Tahap optimasi model, adalah melaukan perbaikan dan

    optimasi pada model, sesuai dengan masalah atau kebutuhan baru yang muncul

    pada tahap evaluasi. Tahap produk model, pada tahap ini dihasilkan model akhir

    yang telah sesuai dengan kebutuhan.

    Hitung Hash

    Citra Digital dengan Digital

    Signature

    Hitung Hash

    Dekripsi Digital Signature

    Enkripsi Hash

    Signing

    Verification

    Pivate Key

    Citra Digital

    Public Key

    Sisipkan ke Citra Digital

    Hash Awal

    Ekstrak Digital

    Signature

    Hash Akhir Citra digital valid jika

    Hash Awal sama

    dengan Hash Akhir

    Gambar 4 Arsitektur Sistem

    Sistem yang dikembangkan, memiliki desain yang ditunjukkan pada

    Gambar 4. Sistem terdiri dari dua proses, yaitu proses signing dan proses verifiying.

    Proses signing dilakukan oleh signatory, dengan menanamkan digital signature ke

    dalam dokumen. Proses verifiying dilakukan oleh verifier, dengan mengekstraksi

    digital signature dari dalam dokumen.

    MulaiInput

    Private Key

    Input Dokumen

    Citra Digital

    Enkripsi HASH sehingga menjadi Digital

    SignatureEmbed Digital Signature

    Output dokumen

    Hitung nilai HASH citra digital dengan algoritma

    MD5

    Selesai

    Gambar 5 Alur Proses Pemberian Digital Signature

    Proses pemberian digital signature ditunjukkan pada Gambar 5. Proses ini

    memerlukan input dari pengguna yaitu kunci, dan dokumen citra digital. Kunci

    digunakan untuk menyandikan hash. Hash diperoleh dari proses algoritma MD5.

    Hash terenkripsi disisipkan ke dalam citra digital. Hasil akhir adalah dokumen citra

    digital yang telah diberi digital signature.

  • 7

    MulaiInput

    Public Key

    Input Dokumen

    Citra Digital

    Hitung nilai HASH Ekstrak Digital Signature

    Dekripsi Digital Signature

    HASH sama dengan hasil

    Dekripsi

    Ouput valid

    Output tidak valid

    Selesai

    TIDAK

    YA

    Gambar 6 Alur Proses Verifikasi Digital Signature

    Pada proses verifikasi (Gambar 6), hash yang telah disisipkan, diekstrak

    kemudian didekripsi. Hasil dekripsi dibandingkan dengan hash citra digital

    sekarang. Jika nilai hash ini berbeda, maka dapat dipastikan bahwa citra digital

    tersebut telah mengalami perubahan.

    Proses pembuatan digital signature dijelaskan menggunakan contoh

    berikut. Jika terdapat suatu gambar berukuran 4 x 2 piksel, dan tiap piksel terdiri

    dari 3 warna (RGB). Tabel 1 Contoh Susunan Nilai Warna pada Citra Digital

    R G B R G B R G B R G B

    200 200 100 45 55 10 90 120 90 255 0 0

    80 70 0 255 255 255 90 90 10 178 190 240

    Pada Tabel 1, piksel pertama memiliki komponen warna R =2 00, G = 200,

    B = 100, piksel kedua memiliki komponen warna R = 45, G = 55, B = 10. Tiap

    komponen warna ini kemudian dihitung nilai ringkasan (hash) dengan

    menggunakan algoritma MD5. MD5 menghasilkan output hash dengan panjang 16

    byte, dengan panjang input bebas. Sehingga input dengan panjang 1 byte akan tetap

    menghasilkan 16 byte hash, input dengan panjang 100 byte akan menghasilkan 16

    byte hash juga. Tabel 2 Contoh Hasil Proses Tahap Pertama: Pembuatan Ringkasan/Hash

    Nilai warna Hash

    200

    diproses dengan algoritma

    MD5

    200

    100

    45

    55 120

  • 8

    10 60

    90 70

    120 44

    90 110

    255 45

    0 121

    0 190

    80 180

    70 245

    0 235

    255 89

    255 100

    255 112

    90 78

    90 90

    10

    178

    190

    240

    Tahap pertama menghasilkan nilai ringkasan (hash). Pada penelitian ini

    digunakan algoritma MD5 untuk membuat ringkasan, sehingga berdasarkan

    spesifikasi MD5, hash yang dihasilkan memilik panjang 16 byte. Pada contoh di

    Tabel 2, dihasilkan nilai hash: 120, 60, 70, 44, 110, 45, 121, 190, 180, 245, 235, 89,

    100, 112, 78, 90.

    Tahap kedua yaitu mengenkripsi nilai hash ini dengan algoritma RSA.

    Algoritma RSA bersifat asimetrik, sehingga kunci yang digunakan untuk enkripsi

    berbeda dengan kunci dekripsi. Pada penggunaan di digital signature, kunci untuk

    enkripsi dimiliki dan dirahasikan oleh pemilik citra digital. Karena sifatnya ini,

    maka kunci enkripsi disebut sebagai kunci private. Tabel 3 Contoh Hasil Proses Tahap Pertama: Pembuatan Ringkasan/Hash

    Nilai warna Hash Hash

    Terenkripsi

    200

    diproses dengan algoritma

    MD5

    200

    100

    45

    55 120 244

    10 60 245

    90 70 105

    120 44 198

    90 110 123

    255 45 162

    0 121 234

    0 190 90

  • 9

    80 180 67

    70 245 45

    0 235 68

    255 89 11

    255 100 84

    255 112 25

    90 78 47

    90 90 135

    10

    178

    190

    240

    Pada tahap kedua, dihasilkan hash terenkripsi: 244, 245, 105, 198, 123, 162,

    234, 90, 67, 45, 68, 11, 84, 25, 47, 135. Hash terenkripsi kemudian disisipkan ke

    dalam citra digital dengan algoritma EOF atau LSB.

    Kunci dekripsi hanya dapat digunakan untuk proses dekripsi, sehingga tidak

    dapat digunakan untuk menyandikan nilai ringkasan. Kunci dekripsi dapat

    diberikan oleh pengirim kepada pihak-pihak yang bermaksud untuk menggunakan

    informasi dari citra digital. Kunci dekripsi ini berguna untuk proses validasi

    keutuhan citra digital, dengan cara membandingkan hasil dekripsi dengan nilai

    ringkasan yang baru.

    4. Hasil dan Pembahasan

    Pada bagian ini dijelaskan tentang hasil penelitian yang telah dilakukan.

    Pembahasan terbagi pada pembahasan hasil penelitian dan pembahasan aspek

    keamanan.

    Berdasarkan perancangan yang telah dibuat maka antarmuka sistem yang

    dihasilkan ditunjukkan pada Gambar 6 dan Gambar 7. Gambar 6 ditunjukkan hasil

    dari proses digital signing. Gambar 7 menunjukkan hasil dari proses verifikasi.

    Gambar 7 Tampilan Proses Pemberian Digital Signature

  • 10

    Gambar 7 merupakan form yang digunakan untuk proses pemberian digital

    signature, ditampilkan perubahan nilai hash (signature) sebelum dan sesudah

    proses enkripsi. Signature dengan panjang 16 byte, kemudian disisipkan ke dalam

    citra digital yang hasil akhirnya ditampilkan pada sisi sebelah kanan (signed

    image).

    Gambar 8 Tampilan Proses Verifikasi

    Pada proses verifikasi ditampilkan hasil akhir berupa valid atau tidak valid

    (Gambar 8). Nilai digital signature yang telah disisipkan sebelumnya dibandingkan

    dengan nilai digital signature sekarang. Jika kunci yang digunakan untuk proses

    verifikasi berbeda dengan kunci pada proses pemberian digital signature, maka

    nilai digital signature akan memberikan hasil yang berbeda, sekalipun citra digital

    tidak mengalami perubahan (manipulasi). Sehingga hanya penerima yang sah, yang

    memiliki kunci yang tepat, yang dapat melakukan proses verifikasi.

    Kode Program 1 Perintah untuk Membaca Warna pada Dokumen Gambar

    1 public static byte[] ExtractColors(Bitmap img) 2 { 3 List list = new List(); 4 Bitmap bitmap = img; 5 6 for (int y = 0; y < img.Height; y++) 7 { 8 for (int x = 0; x < img.Width; x++) 9 { 10 Color c = bitmap.GetPixel(x, y); 11 list.Add(c.R); 12 list.Add(c.G); 13 list.Add(c.B); 14 } 15 } 16 return list.ToArray(); 17 }

    .Net Framework menyediakan library untuk mengolah dokumen dengan

    format PNG, yaitu dengan menggunakan class Bitmap. Melalui class ini dapat

    dilakukan proses manipulasi piksel yang ada di dalam suatu dokumen gambar. Bit

  • 11

    digital signature disisipkan pada LSB tiap warna pada piksel. Dalam satu piksel

    terdapat 3 warna yaitu RED, GREEN dan BLUE (perintah pada baris 11-13), dengan

    demikian dalam satu piksel dapat disisipi 3 bit data.

    Kode Program 2 Perintah untuk Memanipulasi LSB

    1 private static byte ReplaceLSB(byte current, char p)

    2 {

    3 string binary = Convert

    4 .ToString(current, 2)

    5 .PadLeft(8, '0');

    6 char[] arrayBit = binary.ToCharArray();

    7 arrayBit[7] = p;

    8 binary = new string(arrayBit);

    9 return Convert.ToByte(binary, 2);

    10 }

    Untuk mengubah LSB suatu byte warna, maka proses yang dilakukan adalah

    mengubah warna tersebut ke dalam format binary. Kemudian bit paling kanan dari

    warna tersebut diganti dengan bit pesan. Untuk mengubah byte menjadi binary

    digunakan library class Convert (perintah pada baris 3).

    Kode Program 3 Perintah untuk Membaca Digital signature

    1 public static byte[] GetLSB(byte[] data) 2 { 3 List bits = new List(); 4 for (int i = 0; i < data.Length; i++) 5 { 6 bits.Add(RetrieveLSB(data[i])); 7 } 8 int x = bits.Count % 8; 9 if (x != 0) 10 { 11 for (int i = 0; i < x; i++) 12 { 13 bits.Add('0'); 14 } 15 } 16 byte[] message = GetBytesArray( 17 new string(bits.ToArray())); 18 return message; 19 }

    Proses untuk membaca digital signature terdari dari proses membaca warna

    pada dokumen gambar. Dilanjutkan dengan proses membaca nilai LSB dari tiap-

    tiap warna, dan dikumpulkan pada suatu variabel penampung (perintah pada baris

    3).

    Pengujian sistem dilakukan terhadap beberapa faktor yaitu otentikasi,

    integritas, dan pengaruh LSB dan EOF pada berbagai tipe file gambar. [14].

    Otentikasi memiliki makna yaitu dokumen tersebut asli dan berasal dari sumber

    yang dipercaya [20]. Pengujian otentikasi dilakukan dengan menguji apakah

    dengan pasangan kunci yang berbeda, proses verifikasi dapat dilakukan. Tabel 4

    menunjukkan hasil pengujian otentikasi, dan sistem dapat bekerja dengan tepat

    untuk mengetahui kunci yang digunakan benar atau tidak.

    Tabel 4 Hasil Pengujian Otentikasi

    Kunci

    Signatory

    Kunci

    Verifier

    Output proses

    verifikasi

    Kesimpulan Pengujian

  • 12

    1 PrivateA.priv PublicB.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    2 PrivateB.priv PublicC.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    3 PrivateC.priv PublicD.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    4 PrivateD.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    5 PrivateE.priv PublicA.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    6 PrivateA.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    7 PrivateB.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    8 PrivateC.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    9 PrivateD.priv PublicE.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    10 PrivateE.priv PublicD.pub Tidak otentik Berhasil mendeteksi pasangan

    kunci yang salah.

    11 PrivateA.priv PublicA.pub Otentik Berhasil melakukan verifikasi

    dengan pasangan kunci yang tepat.

    12 PrivateB.priv PublicB.pub Otentik Berhasil melakukan verifikasi

    dengan pasangan kunci yang tepat.

    13 PrivateC.priv PublicC.pub Otentik Berhasil melakukan verifikasi

    dengan pasangan kunci yang tepat.

    14 PrivateD.priv PublicD.pub Otentik Berhasil melakukan verifikasi

    dengan pasangan kunci yang tepat.

    15 PrivateE.priv PublicE.pub Otentik Berhasil melakukan verifikasi

    dengan pasangan kunci yang tepat.

    Keutuhan (integrity) suatu dokumen diuji dengan cara melakukan

    perubahan (manipulasi) pada dokumen. Pengujian 2 bertujuan untuk mengetahui

    apakah aplikasi dapat mendeteksi perubahan pada dokumen yang telah diberi

    digital signature. Digital signature dapat disimpulkan berhasil menjaga

    keotentikan dokumen jika perubahan yang dilakukan pada dokumen dapat

    terdeteksi (hasil verifikasi "tidak valid").

    Tabel 5 Hasil Pengujian Integritas

    No Jenis

    Perubahan

    Digital

    Signature

    Awal

    Digital

    Signature

    Akhir

    Hasil

    Verifikasi

    Kesimpulan

    Pengujian

    1 Rotasi

    Image

    95689bad

    a7500a4f

    57e57102

    26e8e971

    a331487d

    a5c91016

    7bbacc42

    d798c307

    Tidak

    valid

    Berhasil

    mendeteksi

    manipulasi.

    2 Mirror

    Image

    95689bad

    a7500a4f

    57e57102

    26e8e971

    2d1ddb3d

    bd34bd9e

    633fe6dd

    ce817e1b

    Tidak

    valid

    Berhasil

    mendeteksi

    manipulasi.

  • 13

    3 Crop

    95689bad

    a7500a4f

    57e57102

    26e8e971

    47a7faa6

    ecc55d14

    2ea15593

    edf90afa

    Tidak

    valid

    Berhasil

    mendeteksi

    manipulasi.

    4 Resize

    Image

    95689bad

    a7500a4f

    57e57102

    26e8e971

    8e46cbf6

    4bc55eb9

    1a0120a0

    810bb220

    Tidak

    valid

    Berhasil

    mendeteksi

    manipulasi.

    5 Grayscale

    95689bad

    a7500a4f

    57e57102

    26e8e971

    a3dcabc7

    b0804282

    4c575009

    f4abe029

    Tidak

    valid

    Berhasil

    mendeteksi

    manipulasi.

    6 Manipulasi

    20x20px

    95689bad

    a7500a4f

    57e57102

    26e8e971

    bc24942c

    e6c70546

    f4136e36

    cfdd8ffb

    Tidak

    valid

    Berhasil

    mendeteksi

    manipulasi.

    7 Manipulasi

    10x10px

    95689bad

    a7500a4f

    57e57102

    26e8e971

    c4934c60

    21c09f38

    75329cae

    8a47de04

    Tidak

    valid

    Berhasil

    mendeteksi

    manipulasi.

    8 Manipulasi

    2x2px

    (ubah

    warna 2

    piksel)

    95689bad

    a7500a4f

    57e57102

    26e8e971

    c37ad79a

    3555ae82

    dc2a28bb

    a619d510

    Tidak

    valid

    Berhasil

    mendeteksi

    manipulasi.

    9 Gambar

    utuh

    95689bad

    a7500a4f

    57e57102

    26e8e971

    95689bad

    a7500a4f

    57e57102

    26e8e971

    Valid Verifikasi

    berhasil,

    karena

    tidak ada

    perubahan

    yang

    terjadi pada

    citra digital

    Berdasarkan hasil pengujian integritas, pada Tabel 5, disimpulkan bahwa

    segala bentuk perubahan yang dilakukan pada dokumen gambar yang telah

    diujikan, memberikan hasil verifikasi tidak valid. Hal ini dikarenakan pada proses

    manipulasi, nilai-nilai warna pada piksel yang dimanipulasi menjadi berubah.

    Sehingga ketika proses verifikasi, digital signature yang disisipkan menjadi

    berbeda dengan digital signature yang asli.

    Pengujian ketiga adalah pengujian untuk melihat kelebihan dan kekurangan

    dari penyisipan digital signature dengan metode LSB maupun EOF. Hasil

    pengujian ditunjukkan pada Tabel 6. Tabel 6 Hasil Pengujian Pengaruh Penyisipan Digital Signature dengan LSB

    No Jenis Citra Digital Ukuran File Jumlah Perubahan

    Piksel Sebelum Sesudah

    1 PNG Baboon.png 38 KB 38 KB 6 piksel

  • 14

    2 PNG F16.png 37 KB 37 KB 6 piksel

    3 PNG UKSW.png 15 KB 15 KB 6 piksel

    4 PNG K2i.png 71 KB 71 KB 6 piksel

    5 JPG Baboon.jpg 19 KB 19 KB Penyisipan tidak ada

    error, namun ekstraksi

    tidak dapat dilakukan.

    6 JPG F16.jpg 14 KB 14 KB

    7 JPG UKSW.jpg 23 KB 23 KB

    8 JPG K2i.jpg 64 KB 64 KB

    9 BMP Baboon.bmp 118 KB 118 KB 6 piksel

    10 BMP F16.bmp 118 KB 118 KB 6 piksel

    11 BMP UKSW.bmp 118 KB 118 KB 6 piksel

    12 BMP K2i.bmp 1055 KB 1055 KB 6 piksel

    Pada Tabel 3, file dengan format JPG bersifat kompresi ‘lossy’, sehingga di

    dalam 1 warna, belum tentu terdapat 8 bit, sehingga hal ini tidak dapat diproses oleh

    pustaka grafik pada pemrograman C#. Sehingga, hal ini menyebabkan file format

    JPG tidak dapat diproses dengan algoritma LSB. Pada library C#, proses yang

    terjadi adalah JPG diubah ke bentuk bitmap, kemudian penyisipan dilakukan.

    Setelah penyisipan, dilakukan penyimpanan ke bentuk JPG kembali, namun karena

    sifat JPG yang ‘lossy’, maka terdapat. warna-warna yang hilang, sehingga digital

    signature tidak diekstraksi.

    File dengan format PNG dan BMP dapat disisipi pada pikselnya, karena

    kedua format gambar ini menggunakan True Color Image. Tiap 1 piksel memiliki

    3 warna dan dalam 1 warna terdapat 8 bit informasi, seperti ditunjukkan pada

    Gambar 2.

    Tabel 7 Hasil Pengujian Pengaruh Penyisipan Digital Signature dengan EOF

    No Jenis Citra Digital Ukuran File Jumlah Perubahan

    Piksel

    Sebelum

    (byte)

    Sesudah

    (byte)

    1 PNG Baboon.png 38496 38512 0 piksel

    2 PNG F16.png 37029 37045 0 piksel

    3 PNG UKSW.png 15272 15288 0 piksel

    4 PNG K2i.png 72524 72540 0 piksel

    5 JPG Baboon.jpg 19263 19279 0 piksel

    6 JPG F16.jpg 13421 13437 0 piksel

    7 JPG UKSW.jpg 23403 23419 0 piksel

    8 JPG K2i.jpg 64876 64892 0 piksel

    9 BMP Baboon.bmp 120054 120070 0 piksel

    10 BMP F16.bmp 120054 120070 0 piksel

    11 BMP UKSW.bmp 120054 120070 0 piksel

    12 BMP K2i.bmp 1080054 1080070 0 piksel

    Penyisipan pada EOF, tidak bekerja pada level warna (piksel), namun

    bekerja pada level informasi file. Sehingga hal ini tidak dipengarui oleh jenis format

    file gambar. Besar perubahan yang terjadi pada ukuran file adalah 16 byte, karena

    digital signature yang disisipkan memiliki panjang 16 byte.

  • 15

    Gambar 9 Isi file PNG Sebelum Penyisipan

    Gambar 10 Isi File PNG Setelah Penyisipan Digital Signature, ditunjukkan dengan Huruf Warna

    Merah

    Gambar 11 Perbandingan Ukuran File Sebelum dan Sesudah Penyisipan

    Pada Gambar 9 ditunjukkan isi file (bukan piksel), sebelum proses

    penyisipan. Penyisipan dilakukan dengan menempelkan digital signature di bagian

    akhir file. Gambar 10 menunjukkan isi file setelah proses penyisipan. Untuk melihat

    isi file dalam bentuk heksadesimal, digunakan aplikasi heksa editor, HxD.

    Perbandingan ukuran file ditunjukkan pada Gambar 11.

    Berdasarkan hasil pengujian pada Tabel 3 dan Tabel 4 dapat dilihat bahwa

    metode penyisipan digital signature dengan algoritma LSB hanya dapat dilakukan

    pada file jenis PNG dan BMP. Kedua jenis file ini memiliki sifat true color image,

    yaitu pada 1 warna diwakili dengan 1 byte, dan di dalam 1 piksel terdapat 3 warna.

    Untuk memanipulasi 1 warna ini lebih mudah, karena 1 warna tepat berukuran 1

    byte (1 byte = 8bit). Manipulasi LSB terjadi pada nilai bit paling rendah, oleh karena

    itu disebut LSB. LSB merupakan proses mengganti bit, bukan menambah bit.

    Sehingga efek yang terjadi adalah ukuran file tidak berubah, namun nilai piksel

    warna berubah. Perubahan ini tidak signifikan, mengingat posisi LSB yang juga

  • 16

    “least significant”. Nilai perubahannya adalah sebesar maksimal 1, minimal 0.

    Sebagai contoh jika warna merah (255) diganti dengan bit 0, maka akan menjadi

    254 yang tetap merupakan warna merah.

    Nilai desimal 255 (Gambar 12), dalam biner ditulis 11111111. Jika bit

    paling akhir (LSB) diubah menjadi 0 karena hasil penyisipan, maka warna merah

    tersebut menjadi 11111110, yang jika diubah kembali ke bentuk desimal, bernilai

    254 (Gambar 13).

    Gambar 12 Warna Merah dengan Nilai 255

    Gambar 13 Warna Merah dengan Nilai 254

    Pada file jenis JPG, untuk memanipulasi piksel, perlu diubah ke bentuk

    Bitmap. Pustaka ini tersedia di .Net Framework. Setelah penyisipan dilakukan,

    maka harus tetap tersimpan dalam format Bitmap, dalam hal ini pilihannya adalah

    BMP atau PNG. Jika tetap disimpan dalam format JPG seperti awalnya, maka

    penyisipan yang dilakukan tadi akan menjadi rusak, karena dalam JPG terdapat

    proses kompresi.

    Pada penyisipan EOF, berhasil dilakukan pada ketiga jenis file gambar.

    Proses EOF tidak memanipulasi informasi warna, namun menambahkan byte

    (bukan bit), pada bagian akhir file. Setiap file terdapat penanda, yang menunjukkan

    bahwa “akhir file” telah tercapai. Penyisipan EOF memanfaatkan tanda ini, dengan

    cara meletakkan digital signature setelah tanda “akhir file”. Efek yang terjadi

    adalah piksel tidak mengalami perubahan, namun ukuran file bertambah sebesar

    nilai digital signature.

  • 17

    5. Simpulan

    Berdasarkan penelitian, pengujian dan analisis terhadap aplikasi, maka

    dapat diambil kesimpulan sebagai berikut: Digital signature dapat

    diimplementasikan dengan menggunakan algoritma RSA, MD5 dan LSB/EOF

    embedding, sehingga dapat berfungsi untuk menguji keutuhan dan otentikasi suatu

    dokumen digital. Pengujian membuktikan bahwa dapat dideteksi perubahan

    dokumen dari hasil manipulasi rotasi, mirror, crop, resize, dan manipulasi piksel

    Metode penyisipan digital signature dengan algoritma LSB hanya dapat

    dilakukan pada file jenis PNG dan BMP, yang merupakan true color image.

    Penyisipan dilakukan pada LSB tiap warna. Pada file jenis JPG, untuk

    memanipulasi piksel, perlu diubah ke bentuk Bitmap. Setelah penyisipan, maka

    dikembalikan kembali ke format JPG, sehingga menyebabkan hasil penyisipan

    yang dilakukan sebelumnya, menjadi rusak, karena dalam JPG terdapat proses

    kompresi. Metode LSB memiliki kelebihan yaitu tidak mengubah ukuran file citra

    digital. Kekurangannya adalah hanya dapat dilakukan pada file format dengan

    bentuk true color image seperti PNG dan BMP yang tidak menggunakan kompresi

    ‘lossy’.

    Pada penyisipan EOF, berhasil dilakukan pada ketiga jenis file gambar.

    Proses EOF memiliki kelebihan yaitu tidak memanipulasi informasi warna, namun

    menambahkan byte (bukan bit), pada bagian akhir file. Setiap file terdapat penanda,

    yang menunjukkan bahwa “akhir file” telah tercapai. Penyisipan EOF

    memanfaatkan tanda ini, dengan cara meletakkan digital signature setelah tanda

    “akhir file”. Kelebihan yang lain adalah metode EOF, dapat dilakukan pada PNG,

    BMP dan JPG. Kekurangan dari metode EOF, yaitu efek yang terjadi adalah piksel

    tidak mengalami perubahan, namun ukuran file bertambah sebesar nilai digital

    signature.

    Saran yang dapat diberikan untuk penelitian lebih lanjut adalah penelitian

    dapat diarahkan untuk mendeteksi lokasi perubahan pada dokumen gambar. Jika

    deteksi dapat dilakukan, maka dapat dipisahkan antara piksel asli, dengan piksel

    termanipulasi. Sehingga pada bagian piksel yang asli, masih dapat dimanfaatkan

    informasi di dalamnya.

    6. Daftar Pustaka

    [1]. Kaufman, C., Perlman, R. & Speciner, M. 2002. Network security: private

    communication in a public world. Prentice Hall Press.

    [2]. Ahmaddul, H. & Sediyono, E. 2012. Rancang Bangun Sistem Pengamanan

    Dokumen pada Sistem Informasi Akademik Menggunakan Digital Signature

    dengan Algoritma Kurva Eliptik. Program Pascasarjana Universitas

    Diponegoro Semarang

    [3]. Goldwasser, S., Micali, S. & Rivest, R. L. 1988. A digital signature scheme

    secure against adaptive chosen-message attacks. SIAM Journal on

    Computing 17, 281–308.

    [4]. Ford, W. & Baum, M. S. 2000. Secure electronic commerce: building the

    infrastructure for digital signatures and encryption. Prentice Hall PTR.

  • 18

    [5]. Triwinarko, A. 2010. Elliptic Curve Digital Signature Algorithm (ECDSA).

    Laboratorium Ilmu dan Rekayasa Komputasi Departemen Teknik

    Informatika, Institut Teknologi Bandung

    [6]. Rahajoeningroem, T. & Aria, M. 2009. Studi dan Implementasi Algoritma

    RSA untuk Pengamanan Data Transkrip Akademik Mahasiswa. Jurusan

    Teknik Elektro Universitas Komputer Indonesia

    [7]. Noertjahyana, A., Gunadi, K. & Agustinus Noertjahyana, Samuel Hartono,

    K. G. 2012. Aplikasi Metode Steganography pada Citra Digital dengan

    Menggunakan Metode LSB (Least Significant Bit). Universitas Kristen

    Petra.

    [8]. Patricia, H. & Aripin 2015. Teknik Keamanan Data Menggunakan

    Kriptografi dengan Algoritma Vigenere Cipher dan Steganografi dengan

    Metode End of File (EoF). Program Studi Teknik Informatika Fakultas Ilmu

    Komputer Universitas Dian Nuswantoro

    [9]. Wasino, Rahayu, T. P. & Setiawan 2012. Implementasi Steganografi Teknik

    End of File dengan Enkripsi Rijndael. Seminar Nasional Teknologi

    Informasi dan Komunikasi 2012 (SENTIKA 2012)

    [10]. Computer Hope 2016. EOF.

    http://www.computerhope.com/jargon/e/eof.htm. Diakses 13 Februari 2016.

    [11]. Chandramouli, R. & Memon, N. 2001. Analysis of LSB based image

    steganography techniques. In Image Processing, 2001. Proceedings. 2001

    International Conference on, pp. 1019–1022.

    [12]. Weiss, M. 2009. Principles of Steganography.

    www.math.ucsd.edu/~crypto/Projects/MaxWeiss/steganography.pdf.

    Diakses pada 13 Februari 2016.

    [13]. Rafferty, C. 2005. Steganography & Steganalysis of Images. National

    University of Ireland, Galway

    [14]. Shaw, S. 1999. Overview of Watermarks , Fingerprints , and Digital

    Signatures.

    [15]. Willamette.edu 2004. Image File Formats.

    www.willamette.edu/~gorr/classes/GeneralGraphics/imageFormats/.

    Diakses pada 4 Desember 2015.

    [16]. Boutell, T. 1997. PNG (Portable Network Graphics) Specification Version

    1.0.

    [17]. Basu, S. 2014. GT Explains: What is the Difference Between JPG, GIF,

    PNG, BMP Image Formats? http://www.guidingtech.com/7729/difference-

    between-jpg-png-gif-bmp-image-formats/. Diakses 1 Agustus 2016.

    [18]. Margaret Rouse 2015. Lossless and Lossy Compression.

    http://whatis.techtarget.com/definition/lossless-and-lossy-compression.

    Diakses pada 1 Agustus 2016.

    [19]. Sulistyo, W. & Subanar 2013. Desain Metodologi Penelitan untuk

    Pemodelan dalam Bidang Ilmu Komputer. Seminar Nasional Sains dan

    Aplikasi Komputasi

    [20]. Stallings, W. 2006. Cryptography and Network Security.

    (doi:10.1007/11935070)

  • 19