Hal: 142-148
Analisa Metode Message Digest 5 (Md5) Untuk Mendeteksi
Orisinalitas Citra Digital
Siti Hajar1
Program Studi Teknik Informatika, Universitas Budi Darma, Medan, Sumatera Utara, Indonesia Email: 1*[email protected]
Abstrak
Teknologi informasi tidak lepas terhadap pemanfaatan teknologi internet (daring) sebagai media dalam mendisitribusikan objek data. Dengan adanya teknologi initerkadang tindakan-tindakan kejahatan terhadap data yang di distribusikan sering terjadi, seperti pembajakan objek data dan sampai dengan memanipulasian data. Didalam melakukan pengiriman suatu data, hingga data itu diterima, terdapat persoalan yang sangat penting untuk diperhatikan, kerahasiaan, autentikasi, keutuhan dan tak terbantahkan (non-repudiation). Dengan permasalahan yang ada maka dibutuhkan suatu teknik yang dapat digunakan untuk mendeteksi orisinalitas dari citra digital. Salah satu teknik yang dapat digunakan adalah dengan fungsi hash yang ada dalam kriptografi. Fungsi hash merupakan fungsi satu arah yang dapat digunakan untuk mengetahui otentikasi suatu pesan. Jika diterapkan pada citra digital maka dapat diketahui orisinalitas citra tersebut. Algoritma dalam fungsi hash yang digunakan adalah message digest 5 (MD5). MD5 merupakan fungsi hash kriptografi yang digunakan secara luar dengan nilai hash 128 bit. Algoritma telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan dan umum digunakan untuk melakukan pengujian integritas sebuah file. MD5 adalah salah satu metode kriptografi yang cukup kuat membendung serangan-serangan dari para criptanalyst, dan merupakan varian baru setelah MD2 dan MD4. Oleh karena itu MD5 merupakan algoritma yang cukup up to date untuk di bahas saat ini. Dengan menerapkan algoritma MD5 akan memudahkan dan mempercepat untuk mendeteksi orisinalitas citra digital.
Kata Kunci : Kriptografi, Fungsi Hash, MD5, Citra Digital
1. PENDAHULUAN
Citra digital adalah salah satu jenis bentuk data yang pada umumnya digunakan dalam mendistribusikan sebuah informasi. Istilah citra digital sangat populer pada masa sekarang. Perangkat lunak untuk mengolah citra digital juga sangat populer digunakan oleh pengguna untuk mengolah gambar atau untuk berbagi keperluan lain. Teknologi informasi, tidak lepas terhadap pemanfaatan teknologi internet (daring) sebagai media dalam mendisitribusikan objek data. Dengan adanya teknologi ini terkadang tindakan-tindakan kejahatan terhadap data yang di distribusikan sering terjadi, seperti pembajakan objek data dan sampai dengan pemanipulasian data[1].
Keaslian citra digital tentunya perlu dijaga, mengingat informasi yang dikandungnya sangat penting. Maka perlu diterapkan teknik keamanan untuk mejaga orisinalitas dari sebuah citra digital sehingga dapat terhindar dari tindakan pembajakan maupun pemalsuan data. Teknik pengamanan orisinalitas dari sebuah gambar dapat diterapkan dalam teknik kriptografi. Layanan yang saat ini disediakan kriptografi adalah menjaga keaslian dari citra digital, kerahasiaan yang digunakan untuk menjaga isi data dari siapapun yang tidak berhak untuk mengubahnya, integritas data layanan yang menjamin bahwa sebuah data masih asli atau utuh atau belum pernah dimanipulasi selama pengiriman. Bentuk-bentuk manipulasi yang dapat dilakukan antara lain penyisipan, penghapusan dan pensubtitusian data lain kedalam data yang sebenarnya. Kemudahan dalam merubah suatu citra digital dapat merusak kredibilitas keaslian citra digital dalam berbagai aspek, sehingga rawan digunakan dalam tindak kejahatan karena perubahan pada citra digital dapat merubah informasi yang disampaikan menjadi berbeda.
Bagi kebanyakan orang, kriptografi lebih diutamakan dalam menjaga keaslian file citra digital agar tetap utuh. Untuk mendapatkan kode yang dapat dimanfaatkan untuk mendeteksi keaslian dari citra digital maka dapat menggunakan fungsi hash. Fungsi hash dapat digunakan untuk mengecek keutuhan dari sebuah pesan dan juga otentikasi pesan tersebut, dalam hal ini pesan yang dimaksud dalam bentuk citra digital. Fungsi hash merupakan fungsi satu arah yang menghasilkan keluaran berupa nilai hash atau messsagedigest. Salah satu fungsi hash yang dapat digunakan adalah MD5 (message digest 5) yang didesain oleh Professor Ronald Rivest dari MIT. MD5 merupakan fungsi hash kriptografi yang memiliki sensitifitas tinggi terhadap perubahan file orisinilnya. Pada proses deteksi citra digital digunakan secara luas dengan mengolah ukuran file masukan yang tak tentu ukuran panjangnya dan menghasilkan nilai hash 128-bit. MD5 telah dimanfaatkan pada bermacam-macam keamanan umumnya digunakan untuk melakukan pengujian integritas sebuah file. Pemrosesan citra digital yang utama untuk sistem ini yakni menjaga orisinalitas citra digital, pada penelitian ini memfokuskan pada permasalahan untuk perbaikan kualitas citra digital yang di manipulasi.
Dalam penelitian sebelumnya metode MD5 diterapkan oleh Yovi Apridiansyah, Muhammad Husni Rifqo jurnal pseudocode dengan judul “Aplikasi Keamanan Lembar Hasil Studi Menggunakan Algoritma Message Digest 5” Vol. 11 No. 2. MD5 adalah fungsi hash (fungsi matematika yang mengubah variabel dari suatu data yang berukuran besar menjadi lebih sederhana) kriptografi yang digunakan secara hash value 128-bit[2].
Dan penerapan metode MD5 sebelumnya diterapkan oleh Saipul Bahri, Diana, Susan Dian PS, jurnal ilmiah dengan judul “Studi dan Implementasi Pengamanan Basis
Hal: 142-148 Data Menggunakan Enkripsi MD5” Vol. 10 N0. 10. MD5
merupakan fungsi hash kriptografi yang memiliki sensitifitas tinggi terhadap perubahan file orisinilnya. Pada proses deteksi citra digital digunakan secara luas dengan mengolah ukuran file masukan yang tak tentu ukuran panjangnya dan menghasilkan nilai hash 128-bit[3].
Beberapa permasalahan diatas harus menjadi perhatian agar sistem yang di hasilkan sesuai dengan sistem yang diinginkan semua pihak. Pada penelitian ini penulis memfokuskan penyelesaian masalah pada pemrosesan citra digital. Dalam penelitian ini tujuan dari MD5 adalah untuk melindungi citra digital dari tindakan manipulasi. MD5 dapat mempermudah mendeteksi pemalsuan data. Dengan adanya metode MD5 dapat menjaga integritas informasi dari citra digital. Proses pengujian MD5 pada penelitian ini menggunakan aplikasi Matlab.
2. TEORITIS A. Kriptografi
Kriptografi (cryptografhy) berasal dari kata crypto dan graphia yang berarti ‘penulisan rahasia’. Kriptografi adalah ilmu ataupun seni yang mempelajari bagaimana membuat suatu pesan yang dikirim oleh pengirim dapat disampaikan kepada penerima dengan aman. Kriptografi juga merupakan studi terhadap sistematis yang terkait dengan aspek keamanan suatu sistem informasi seperti kerahasiaan, integritas data, autentukasi dan ketiadaan penyangkalan Jika ingin mengirimkan sebuah pesan maka pesan tersebut harus sampai kepada penerima dengan aman dan pesan tersebut tidak dapat dibaca oleh pihak yang tidak berwenang. Oleh sebab itu dibutuhkan sebuah teknik untuk mengamankan pesan tersebut yang disebut teknik kriptografi[6].
B. Metode MD-5 (Message Dgest 5)
MD5 dibuat oleh Ronald Rivest pada tahun 1991. MD5 merupakan fungsi hash satu arah yang merupakan perbaikan dari MD4 setelah MD4 berhasil ditemukan kelemahannya oleh kriptanalis. Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128-bit. Gambar skema pembuatan message digest diperlihatkan pada gambar di bawah di bawah ini[6].
Gambar 1. Pembuatan message digest dengan algoritma
MD5
Message Digest 5 (MD5) adalah salah satu penggunaan fungsi hash satu arah yang paling banyak digunakan. MD-5 merupakan fungsi hash kelima yang dirancang oleh Ron Rivest dan di defenisikan pada RFC 1321. MD-5 merupakan pengembangan dari MD-4 dimana terjadi penambahan satu ronde. MD-5 memproses text masukan kedalam blok-blok bit sebanyak 512 bit, kemudian dibagi kedalam 32-bit sub blok sebanyak 16 kali. Keluaran dari MD-5 berupa 4 buah blok yang masing-masing 32-bit yang mana akan menjadi 128-bit yang biasa disebut nilai hash. Simpul utama MD-5 mempunyai blok pesan dengan panjang 512-bit yang masuk kedalam 4 buah ronde. Adapun langkah-langkah pembuatan message digest secara garis besar[6] adalah:
1. Penambahan bit-bit pengganjal (padding bits).
a. Pesan ditambah dengan sejumlah bit pengganjal sehingga panjang pesan (dalam satuan bits) kongruen dengan 448 modulo 512.
b. Jika panjang pesan 448-bit, maka pesan tersebut di tambah dengan 512-bit menjadi 960-bit. Jadi panjang bit-bit pengganjal adalah antara 1 sampai 512-bit.
c. Bit-bit pengganjal terdiri dari sebuah bit 1 diikuti dengan sisanya bit 0.
2. Penambahan nilai panjang pesan semula.
a. Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64-bit yang menyatakan panjang pesan semula.
b. Jika panjang pesan > 264 maka yang diambil adalah
panjangnya dalam modulo. Dengan kata lain, jika panjang pesan semula adalah K bit, maka 64-bit yang ditambahkan menyatakan K modulo 264.
c. Setelah ditambah dengan 64-bit, panjang pesan sekarang menjadi kelipatan 512-bit.
3. Inisialisasi penyangga (buffer) MD.
a. MD membutuhkan 4 buah penyangga (buffer) yang masing-masing panjangnya 32-bit. Total panjang penyangga adalah 4 x 32 = 128-bit. Keempat penyangga ini menampung hasil antara dan hasil akhir.
b. Keempat penyangga ini diberi nama A, B, C, dan D. Setiap penyangga dinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut:
A= 01234567 B= 89ABCDEF C= FEDCBA98 D= 76543210
4. Pengolahan pesan dalam blok berukuran 512-bit. a. Pesan dibagi menjadi L buah blok
yangmasing-masing panjangnya 512-bit (Y0 sampai YL - 1). b. Setiap blok 512-bit diproses bersama dengan
penyangga MD menjadi keluaran 128-bit, dan ini disebut proses HMD5.
Pada MD-5 terdapat empat buah word 32-bit register yang berguna untuk menginisialisasi massage digest pertama kali. Register-register ini diinisialisasikan dengan bilangan hexadesimal.
Hal: 142-148 Word B : 89 AB CD EF
Word C : FE DC BA 98 Word D : 76 54 32 10
Register-register ini biasa disebut dengan nama chaun variabel atau variabel rantai. Pada MD-5 juga terdapat 4 (empat) buah fungsi nonlinier yang masing-masing digunakan pada tiap operasinya (satu fungsi untuk satu blok), yaitu:
Tabel 1. Fungsi-fungsi dasar MD5
Nama Notasi g (b, c, d) Ff F (b, c, d) (b ˄ c) ˅ (~ b ˄ d) fG G (b, c, d) (b ˄ d) ˅ (c ˄ ~ d) Fh H (b, c, d) b c d Fi dI (b, c, d) c (b ˄ ~ d) Dimana: = untuk XOR ˄ = untuk AND ˅ = untuk OR ~ = untuk NOT C. Citra Digital
Citra merupakan adalah representasi atau gambaran, kemiripan atau tiruan dari suatu objek. Citra terbagi menjadi 2 bagian yaitu citra analog dan citra digital. Citra analog merupakan citra yang memiliki sifat kontinu, seperti gambar pada layar televisi, foto sinar-X, gambar yang tercetak di kertas, lukisan, pemandangan, hasil CT-scan, gambar-gambar yang tercetak pada pita kaset dan lain sebagainya. Ada dua cara yang dapat digunakan untuk mengubah citra analog menjadi citra digital yaitu dengan cara sampling dan kuantisasi. Sampling merupakan transformasi citra kontinu menjadi citra digital menggunakan cara membagi citra analog menjadi M kolom dan N baris dan menjadi citra diskrit sedangkan kuantisasi adalah transformasi intensitas citra analog yang bersifat kontinu ke daerah intensitas diskrit[9].
3. ANALISA
A. Analisa Masalah
Analisa masalah bertujuan untuk meneliti hasil citra gambar dengan menerapkan teknik kriptografi. Keamanan sistem informasi suatu keharusan yang perlu diperhatikan apabila informasi itu bersifat rahasia. Ketika suatu data dikirim melalui jaringan informasi itu bersifat rahasia, data akan melewati sejumlah komputer lainnya, sehingga memberi kesempatan kepada pengguna komputer lain untuk menyadap dan mengubah data tersebut.
Berdasarkan rumusan masalah pada bab sebelumnya, masalah yang terjadi adalah bagaimana menjaga orisinalitas dari citra digital, sehingga dapat terhindar dari tindakan pembajakan maupun pemanipulasian data. Teknik kriptografi adalah teknik yang menyediakan layanan yang akan menjaga keaslian citra digital. Metode yang digunakan dalam pembahasan ini adalah sebuah teknik kriptografi yaitu MD5 (Message Digest 5). MD-5 memproses text masukan kedalam blok-blok bit sebanyak 512 bit, kemudian dibagi
kedalam 32-bit sub blok sebanyak 16 kali. Keluaran dari MD-5 berupa 4 buah blok yang masing-masing 32-bit yang mana akan menjadi 128-bit yang biasa disebut nilai hash. Simpul utama MD-5 mempunyai blok pesan dengan panjang 512-bit yang masuk kedalam 4 buah ronde. Hasil keluaran dari MD-5 adalah berupa 128-bit dari byte terendah A dan tinggi byte D.
Alasan dilakukannya penerapan algoritma MD5 adalah untuk meningkatkan aspek keamanan suatu informasi khususnya file gambar. Agar file gambar yang dikirim aman dari orang yang tidak bertanggung jawab, file tersebut harus disandikan menggunakan algoritma MD5. Pertukaran file baik di jaringan lokal maupun jaringan internet membawa informasi berupa gambar yaitu suatu file atau informasi yang dapat dilihat dan dimengerti maknanya. Agar gambar tidak mudah di mengerti maknanya maka perlu dilakukan teknik pengamanan.
B. Penerapan Metode MD5 (Message Digest 5)
Citra yang digunakan sebagai objek pengujian berupa file jpg berwarna RGB dengan resolusi 136 x 100 piksel. Citra tersebut akan di konversi ke grayscale untuk mempermudah pengerjaan dalam perhitungan fungsi-fungsi MD5. Untuk memudahkan proses analisa maka diambil sampel dari citra gambar yang berukuran 6 x 6 piksel, dan nilai piksel tersebut diambil menggunakan aplikasi Matlab. Citra diubah menjadi citra grayscale dengan menggunakan matlab dengan ukuran 6 x 6 sebagai berikut:
Tabel 2. Nilai citra sampel
88 79 71 62 61 60 88 63 61 55 42 40 68 61 44 33 13 14 66 58 30 69 39 26 90 39 23 60 42 34 140 135 151 167 123 69
Berikut ini adalah langkah-langkah penerapan algoritma MD5 untuk mendeteksi orisinalitas citra. Sebelum menerapkan algoritma MD5 dilakukan terlebih dahulu penyesuaian input berupa bilangan biner. Untuk itu, nilai piksel dari citra input diubah ke dalam bilangan biner.
Tabel 3. Nilai input biner
010110 00 010011 11 010001 11 001111 10 001111 01 001111 00 010110 00 001111 11 001111 01 001101 11 001010 10 001010 00 010001 00 001111 01 001011 00 001000 01 000011 01 000011 10 010000 10 001110 10 000111 10 010001 01 001001 11 000110 10 010110 10 001001 11 000101 11 001111 00 001010 10 001000 10 100011 00 100001 11 100101 11 101001 11 011110 11 010001 01
Hal: 142-148 1. Penambahan Padding Bit
Dari tabel di atas diketahui bahwa panjang M=288 bit. Proses berikutnya adalah dengan menambahkan padding bit 1 dan sisanya 0 sejumlah k, dengan persamaan sebagai berikut : k = m + 1 448 mod 512 k = 288+ 1 448 mod 512 k =289 448 mod 512 k = 448 – 289 k = 159
Maka banyaknya padding bit 0 yang ditambahkan adalah 159 bit.
Tabel 4. Penambahan padding bit
0101 1000 0101 1000 0101 1000 0101 1000 0101 1000 0101 1000 0101 1000 0101 1000 0011 1101 0011 1101 0011 1101 0011 1101 0011 1101 0011 1101 0011 1101 0011 1101 0000 1101 0000 1101 0000 1101 0000 1101 0000 1101 0000 1101 0000 1101 0000 1101 0101 1010 0101 1010 0101 1010 0101 1010 0101 1010 0101 1010 0101 1010 0101 1010 1001 0111 1001 0111 1001 0111 1001 0111 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 2. Penambahan Panjang pesan
Penambahan panjang pesan dilakukan dengan penambahan panjang pesan sebanyak 64 bit di akhir. Panjang pesan adalah 159 modulo 288 bit sehingga ditambahkan panjang pesan 159 bit sebagai berikut :
Tabel 5. penambahan panjang pesan
0101 1000 0101 1000 0101 1000 0101 1000 0101 1000 0101 1000 0101 1000 0101 1000 0011 1101 0011 1101 0011 1101 0011 1101 0011 1101 0011 1101 0011 1101 0011 1101 0000 1101 0000 1101 0000 1101 0000 1101 0000 1101 0000 1101 0000 1101 0000 1101 0101 1010 0101 1010 0101 1010 0101 1010 0101 1010 0101 1010 0101 1010 0101 1010 1001 0111 1001 0111 1001 0111 1001 0111 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0010 0000 Bit 1 pada urutan 289 yang bercetak tebal adalah adalah awal dari bit pengganjal dan diikuti bit 0 dan yang terakhir adalah bit yang menyatakan jumlah 288.
3. Inisialisasi Penyangga Nilai Hash Message Diggest (MD)
Penyangga MD-5 terdiri dari empat yang setiap penyangga memiliki panjang 32 bit, berarti total 128 bit yaitu 4 x 32, dan dalam notasi HEX yaitu :
A = 01 23 45 67 B = 89 AB CD EF C = FE DC BA 98 D = 76 54 32 10
Inisialisasi penyangga dalam biner, yaitu : A = 0 1 2 3 4 5 6 7 = 0000 0001 0010 0011 0100 0101 0110 0111 B = 8 9 A B C D E F = 1000 1001 1010 1011 1100 1101 1110 1111 C = F E D C B A 9 8 = 1111 1110 1101 1100 1011 1010 1001 1000 D = 7 6 5 4 3 2 1 0 = 0111 0110 0101 0100 0011 0010 0001 0000 Fungsi 𝑓𝐹, 𝑓𝐺, 𝑓𝐻, dan 𝑓𝐼 adalah fungsi untuk memanipulasi masukan a, b, c, dan d dengan ukuran 32 bit. Penyelesaian fungsi-fungsi dasar MD5:
1. F (b, c, d) = (b ˄ c) ˅ (~ b ˄ d) = (89ABCDEF ˄ FEDCBA98) ˅ (~89ABCDEF ˄ 76543210) a. (b ˄ c)= (89ABCDEF ˄ FEDCBA98) = 1000 1001 1010 1011 1100 1101 1110 1111 1111 1110 1101 1100 1011 1010 1001 1000 ˄ 1000 1000 1000 1000 1000 1000 1000 1000 b. (~ b ˄ d) = (~89ABCDEF ˄ 76543210) = ~0111 0110 0101 0100 0011 0010 0001 0000 0111 0110 0101 0100 0011 0010 0001 0000 ˄ 0111 0110 0101 0100 0011 0010 0001 0000 c. (b ˄ c) ˅ (~ b ˄ d) = 1000 1000 1000 1000 1000 1000 1000 1000 0111 0110 0101 0100 0011 0010 0001 0000 ˅ 1111 1110 1101 1100 1011 1010 1001 1000 F E D C B A 9 8 2. G (b, c, d) = (b ˄ d) ˅ (c ˄ ~ d) = (89ABCDEF ˄ 76543210) ˅ (FEDCBA98 ˄ ~ 76543210) a. (b ˄ d) = (89ABCDEF ˄ 76543210) = 1000 1001 1010 1011 1100 1101 1110 1111 0111 0110 0101 0100 0011 0010 0001 0000 ˄ 0000 0000 0000 0000 0000 0000 0000 0000 b. (c ˄ ~ d) = (FEDCBA98 ˄ ~ 76543210) = 1111 1110 1101 1100 1011 1010 1001 1000 ~ 1000 1001 1010 1011 1100 1101 1110 1111 ˄ 1000 1000 1000 1000 1000 1000 1000 1000 c. (b ˄ d) ˅ (c ˄ ~ d) = 0000 0000 0000 0000 0000 0000 0000 0000 1000 1000 1000 1000 1000 1000 1000 1000 ˅ 1000 1000 1000 1000 1000 1000 1000 1000
Hal: 142-148 8 8 8 8 8 8 8 8 3. H (b, c, d) = b c d = 89ABCDEF FEDCBA98 76543210 = 1000 1001 1010 1011 1100 1101 1110 1111 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 0000 0001 0010 0011 0100 0101 0110 0111 0 1 2 3 4 5 6 7 4. I (b, c, d) = c (b ˄ ~ d) a. (b ˄ ~ d) = (89ABCDEF ˄ ~ 76543210) = 1000 1001 1010 1011 1100 1101 1110 1111 ~ 1000 1001 1010 1011 1100 1101 1110 1111 ˄ 1000 1001 1010 1011 1100 1101 1110 1111 b. c (b ˄ ~ d) = 1111 1110 1101 1100 1011 1010 1001 1000 1000 1001 1010 1011 1100 1101 1110 1111 0111 0111 0111 0111 0111 0111 0111 0111 7 7 7 7 7 7 7 7 4. Pengolahan pesan dalam blok berukuran 512 bit
Semua bit plainteks yang berjumlah 512 bit dibagi menjadi 16 blok yang mana setiap satu blok berisi 32 bit bagian. Berikut adalah 16 blok bit tersebut :
Table 6. Nilai dalam blok bit
No. Nilai Biner Nilai
Hexadesimal X0 01011000010110000101100001011000 58585858 X1 01011000010110000101100001011000 58585858 X2 00111101001111010011110100111101 3D3D3D3D3 X3 00111101001111010011110100111101 3D3D3D3D3 X4 00001101000011010000110100001101 D0D0D0D0 X5 00001101000011010000110100001101 D0D0D0D0 X6 01011010010110100101101001011010 5A5A5A5A X7 01011010010110100101101001011010 5A5A5A5A X8 10010111100101111001011110010111 97979797 X9 10000000000000000000000000000000 80000000 X10 00000000000000000000000000000000 00000000 X11 00000000000000000000000000000000 00000000 X12 00000000000000000000000000000000 00000000 X13 00000000000000000000000000000000 00000000 X14 00000000000000000000000000000000 00000000 X15 00000000000000000000000000011000 00000018
1. Putaran 1:16 kali operasi dasar dengan g (b,c,d) = F(b,c,d) sebagai berikut:
No. A B C D
X0 01234567 89ABCDEF FEDCBA98 76543210 k = 0 s = 7 i = 1
F(b, c, d) = (b ˄ c) ˅ (~ b ˄ d)
= (89ABCDEF ˄ FEDCBA98 ) ˅ (~ 89ABCDEF ˄ 76543210) = 88888888 ˅ 76543210 = FEDCBA98 a b + (a + g (b, c, d ) + x [0] + T [1])<<< s) a 89ABCDEF + ((01234567 + FEDCBA98 + 58585858 + D76AA478) <<<7) = 89ABCDEF + ((2FC2FCCF)<<<7) = 89ABCDEF + ((101111110000101111110011001111) <<<7 = 89ABCDEF + ((100001011111100110011111011111) = 89ABCDEF + 217E67DF = AB2A35CE No A B C D X0 01234567 89ABCDEF FEDCBA98 76543210 X1 AB2A35CE 01234567 89ABCDEF FEDCBA98
K = 1 s = 12 i = 2 F(b, c, d) = (b ˄ c) ˅ (~ b ˄ d) = (01234567 ˄ 89ABCDEF ) ˅ (~ 01234567 ˄ FEDCBA98 ) = 01234567 ˅ FEDCBA98 = FFFFFFFF a b + ((a + g(b, c, d) + X [1] + T [2])<<< S) a 01234567 + ((AB2A35CE + FFFFFFFF + 58585858 + E8C7B756)<<<12) = 01234567 + ((EC4A457B)<<<12) = 01234567 + ((11101100010010100100010101111011)<<<12) = 01234567 + ((10100100010101111011111011000100) = 01234567 + A457BEC4 = A57B042B No. A B C D
X1 AB2A35CE 01234567 89ABCDEF FEDCBA98 X2 A57B042B AB2A35CE 01234567 89ABCDEF
Lakukan proses hingga putaran ke – 4 dan round terakhir, hingga didapatkan hasil :
Tabel 7. Hasil penyambungan bit di A, B, C, D.
In t
A B C D
t=0 01234567 89ABCDEF FEDCBA98 76543210
t=1 AB2A35CE 01234567 89ABCDEF FEDCBA98
t=2 A57B042B AB2A35CE 01234567 89ABCDEF
t=3 C0BB6EC2 A57E782B AB2A35CE 01234567
t=4 BCB4E923 C0BB6EC2 A57E782B AB2A35CE
t=5 6E52CEF2 BCB4E923 C0BB6EC2 A57E782B
t=6 FFB295C7 6E52CEF2 BCB4E923 C0BB6EC2
t=7 B84054E3 FFB295C7 6E52CEF2 BCB4E923
t=8 082CF68F B84054E3 FFB295C7 6E52CEF2
t=9 843B4DDE 082CF68F B84054E3 FFB295C7
t=1 0
39E23F82 843B4DDE 082CF68F B84054E3
t=1 1
64813271 39E23F82 843B4DDE 082CF68F
t=1 2
A99FC2C4 64813271 39E23F82 843B4DDE
t=1 3
5A2B14CD A99FC2C4 64813271 39E23F82
t=1 4
18FABBCF 5A2B14CD A99FC2C4 64813271
t=1 5
7ED074C6 18FABBCF 5A2B14CD A99FC2C4
t=1 6
4E1B4CE3 18FABBCF 5A2B14CD A99FC2C4
t=1 7
22C7094E 4E1B4CE3 18FABBCF 5A2B14CD
t=1 8
09C8BC13 22C7094E 4E1B4CE3 18FABBCF
t=1 9
Hal: 142-148 In t A B C D t=2 0 27BAEB16 3BDC08CF 09C8BC13 22C7094E t=2 1 1E172F74 27BAEB16 BC7B8303 F7517269 t=2 2
F3820DEA 1E172F74 27BAEB16 BC7B8303
t=2 3
263F9EF3 F3820DEA 1E172F74 27BAEB16
t=2 4
03D14BB7 263F9EF3 F3820DEA 1E172F74
t=2 5
CF84D1E6 03D14BB7 263F9EF3 F3820DEA
t=2 5 03D14BB7 CF84D1E6 03D14BB7 263F9EF3 t=2 7 EC218F9F 03D14BB7 CF84D1E6 03D14BB7 t=2 8
BEBE4A0E EC218F9F 03D14BB7 CF84D1E6
t=2 9
FAA168FB BEBE4A0E EC218F9F 03D14BB7
t=3 0
E69693C3 FAA168FB BEBE4A0E EC218F9F
t=3 1
C986D2C2 E69693C3 FAA168FB BEBE4A0E
t=3 2
9E83EB8A C986D2C2 E69693C3 FAA168FB
t=3 3
1988CC2A 9E83EB8A C986D2C2 E69693C3
t=3 4 CEAA5AD B 1988CC2A 9E83EB8A C986D2C2 t=3 5 CAE8533B CEAA5AD B 1988CC2A 9E83EB8A t=3 6
CFF416FE CAE8533B CEAA5AD B
1988CC2A
t=3 7
D5BE729F CFF416FE CAE8533B CEAA5AD B t=3
8
261CEE22 D5BE729F CFF416FE CAE8533B
t=3 9
176B30EA 261CEE22 D5BE729F CFF416FE
t=4 0
5370AFDD 176B30EA 261CEE22 D5BE729F
t=4 1
1EB6B778 5370AFDD 176B30EA 261CEE22
t=4 2
10B7ADFA 1EB6B778 5370AFDD 176B30EA
t=4 3
62C2B29A 10B7ADFA 1EB6B778 5370AFDD
t=4 4
1D340977 62C2B29A 10B7ADFA 1EB6B778
t=4 5
9F8ACF28 1D340977 62C2B29A 10B7ADFA
t=4 6
2A2AF8C5 9F8ACF28 1D340977 62C2B29A
t=4 7
CB2D784F 2A2AF8C5 9F8ACF28 1D340977
t=4 8
7020A40F CB2D784F 2A2AF8C5 9F8ACF28
t=4 9 359545B6 7020A40F CB2D784F 2A2AF8C5 t=5 0 12104247 359545B6 7020A40F CB2D784F In t A B C D t=5 2 8696236A 12104247 359545B6 359545B6 t=5 2 2DA30458 8696236A 12104247 359545B6 t=5 3
A7C5F591 2DA30458 8696236A 12104247
t=5 4
423D5040 A7C5F591 2DA30458 8696236A
t=5 5
660ECC6A 423D5040 A7C5F591 2DA30458
t=5 6
43D781BA 660ECC6A 423D5040 A7C5F591
t=5 7
6EBD3A34 43D781BA 660ECC6A 423D5040
t=5 8
73CEDEB5 6EBD3A34 43D781BA 660ECC6A
t=5 9
10A96097E 73CEDEB5 6EBD3A34 43D781BA
t=6 0
E7EC6334 0A96097E 73CEDEB5 6EBD3A34
t=6 1
24F89DE7 E7EC6334 0A96097E 73CEDEB5
t=6 2
9FD5FE72 24F89DE7 E7EC6334 0A96097E
t=6 3
F4F92BA9 9FD5FE72 24F89DE7 E7EC6334
Tabel 8. Penjumlahan dengan initial hash value Variabe l Initial hashvalue Variabelkerj a hasil H0 01234567 F4F92BA9 F5DA6EC E H1 89ABCDE F 9FD5FE72 167E339D H2 FEDCBA9 8 24F89DE7 DA24277F H3 76543210 E7EC6334 91B85124
Berdasarkan perhitungan diatas maka didapatkan nilai hash sebagai berikut:
F5DA6ECE167E339D DA24277F91B85124
4. KESIMPULAN
Berdasarkan penelitian yang telah dilakukan penulis, maka kesimpulan yang dapat diambil Berdasarkan cara kerjanya proses mendeteksi orisinalitas citra digital dilakukan menggunakan metode MD5 dan telah berhasil melakukan proses mendeteksi keaslian citra gambar yang berformat JPG dan berjalan sesuai dengan teknik mendeteksi keasliannya. Proses penerapan MD5 telah berhasil membedakan file citra asli dengan yang sudah dimanipulasi yaitu dengan cara membandingkan nilai hash yang di hasilkan dari file citra tersebut. Citra gambar berhasil di uji menggunakan Matlab dengan menerapkan algoritma MD5 sehingga mempermudah dalam melakukan pendeteksian orisinalitas citra digital.
Hal: 142-148
REFERENCES
[1] Darma Putra, Pengolahan Citra Digital, 1st ed. Yogyakarta, 2010. [2] Y. Apridiansyah and M.H. Rifqo “STUDI MENGGUNAKAN
ALGORITMA MESSAGE DIGEST 5 Studi Kasus: Fakultas Teknik Universitas Muhammadiyah Bengkulu,” Pseudocode, vol. II, no. September, pp. 107–114, 2015.
[3] S. Bahri and S. D. Ps, “STUDI DAN IMPLEMENTASI PENGAMANAN BASIS DATA MENGGUNAKAN METODE ENKRIPSI MD5 (Message-Digest Algorihm 5),” J. Ilm., vol. 5, no. 5, pp. 1–15, 2012.
[4] Prof. dr. Sugiyono, Metode Penelitian Panajemen, Alfabeta. Bandung,2014.
[5] Sotari dan Komariyah, Metodologi Penelitian Kualitatif. Bandung, 2014.
[6] E. Setyaningsih, “Kriptografi & Implentasinya Menggunakan Matlab,” in kriptografi, N. WK, Ed. Yogyakarta, 2015, p. 196. [7] Rinaldi Munir, Kriptografi. Bandung, 2006.
[8] R. Sadikin, Kriptografi untuk Keamanan Jaringan dan Implementasinya dalam Bahasa Java, 1st ed. Yogyakarta, 2012. [9] T. Sutoyo, Teori Pengolahan Citra Digital, Andi. Semarang, 2009. [10] E. Sutanta, Pengantar Teknologi Informasi. Yogyakarta, 2005. [11] Wahana Komputer, Ragam Aaplikasi Pengolahan Image dengan
Matlab, 1st ed. Jakarta, 2013.
[12] Ekoprasetyo, Pengolahan Citra Digital dan Aplikasinya Menggunakan Matlab, 1st ed. Yogyakarta, 2011.