Hal: 104-112
Analisa Metode Ripemd-128 Untuk Mendeteksi Otentikasi Hasil Scan Citra Ijazah
Muhammad Imam Anugerah1
Program Studi Teknik Informatika, Universitas Budi Darma, Medan, Sumatera Utara, Indonesia Email: 1*m.imam.anugerah@gmail.com
Abstrak
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. 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. RIPEMD-128 adalah nilai hash yang dihasilkan hanya memiliki panjang 128 bit. Hanya terdapat sedikit perbedaan antara RIPEMD-160 dengan RIPEMD-128, RIPEMD-128 juga hanya menggunakan 4 variabel penyambung. Karakteristik ini membuat RIPEMD-128 memiliki performa yang lebih cepat dari pada RIPEMD-160.
Kata Kunci : Kriptografi, Fungsi Hash, Ripemd-128, Citra Digital
1. PENDAHULUAN
Perkembangan teknologi komputer pada saat ini telah membawa kemajuan yang sangat berarti dalam berbagai aspek terutama bagi negara yang sedang berkembang. Perkembangan yang demikian didukung tersedianya perangkat keras dan perangkat lunak yang semangkin hebat kemampuannya. Salah satu teknologi yang mengalami perkembangan yang begitu pesat adalah pengolahan citra. Banyak nya peralatan elekronik, minsalnya scanner, kamera digital, mikroskop digital, dan fingerprint reader (pembaca sidik jari) yang menghasilkan citra digital. Software atau perangkat lunak untuk pengolahan citra digital juga sangat banyak dalam perkembangannya, digunakan oleh pengguna untuk mengedit atau mengolah foto utuk berbagai keperluan. Contoh, adobe photoshop yang menyajikan banyak fitur dalam memanipulasi citra digital. Oleh sebab itu akan sangat dibutuhkan alat atau metode yang dapat membantu manusia dalam mendeteksi originalitas citra digital.
Oleh karna itu, untuk menjaga keaslian file citra digital tetap terjaga, sistem harus memiliki kemampuan untuk mendeteksi data-data tersebut dari pihak yang tidak berkepentingan, karena citra digital dapat saja dirusak ataupun dirubah dengan berbagai cara, hal itu digunakan untuk mencemarkan nama baik seseorang.
Mendeteksi orisinalitas citra digital adalah menemukan atau menentukan keberadaan atau kenyataan sesuatu. Diperlukan suatu sistem pendeteksi pada file dokumen yang dilakukan secara kumputerisasi
Kriftografi adalah ilmu untuk menjaga suatu keamanan data. Kriftografi ini merupakan suatu metode pengamanan data yang dapat digunakan untuk menjaga keaslian data, serta kerahasiaan data tersebut. Teknik kriftografi terdiri dari simetris, asimetris dan fungsi hash[1]. Ijazah merupakan bukti seseorang telah menyelesaikan masa pendidikkannya. Ijazah diberikan oleh lembaga pendidikan kepada peserta didiknya yang telah dinnyatakan “lulus”. Saat ini ijazah merupakan dokumen yang penting yang digunakan sebagai syarat seseorang untuk
melamar pekerjaan. Seiring dengan persaingan yang sangat kompetitif di Indonesia, sekarang ini banyak masyarakat yang telah melakukan pemalsukan ijazah.
Metode RIPEMD128 adalah versi RIPEMD160 yang diperkuat dengan hasil hash 160-bit, dan diharapkan akan aman untuk sepuluh tahun kedepan atau lebih.
Metode RIPEMD128 adalah penganti plug-in untuk RIPEMD (atau MD4 dan MD5, dalam hal ini) dengan hasil 128-bit. Mengingat hasil Paul van Oorschot dan Mike Wiener yang disebut sebelumnya, hasil hash 128-bit tidak menawarkan perlindungan yang memadai untuk sepuluh tahun kedepan, dan aplikasi yang menggunakan fungsi hash 128-bit harus mempertimbangkan peningkatan ke fungsi hash 160-bit[2].
Berdasarkan latar belakang permasalahan diatas, maka penulis mengambil solusi yaitu mendeteksi originalitas citra digital menggunakan metode RIPEMD128, dimana dengan menggunakan metode ini dapat mempermudah user mendeteksi pemalsuan ijazah, sehingga yang melakukan pemalsuan ijazah dapat diketahui.
2. TEORITIS A. Kriptografi
Kriptografi (cryptografhy) berasal dari bahasa Yunani, yaitu 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 merupakan bagian dari suatu cabang ilmu matematika yang disebut kriptologi (cryptology)[1].
B. RIPEMD-128
RIPEMD-128 diusulkan pada tahun 1996 oleh Hans Dobbertin, Antoon Bosselaers dan Bart Praneel. Hal itu distandarisasi oleh ISO dan digunakan dalam HMAC dalam RFC. Filosofi desain RIPEMD-128 mengadopsi pengalaman yang diperoleh dengan mengevaluasi MD4, MD5, dan RIPEMD dll. RIPEMD-128 adalah double-cabang fungsi
Hal: 104-112 hash, di mana fungsi kompresi terdiri dari dua paralel
operasi dilambangkan dengan baris 1 operasi dan baris 2 operasi, masing-masing. Kombinasi H saya -1, baris 1 ( H saya -1, M saya - 1) dan baris 2 ( H saya -1, M saya -1) menghasilkan output H saya, dimana H saya -1 adalah nilai awal standar atau output dari blok pesan M saya -2[2]. Fungsi hash RIPEMD-128 kompres pesan panjang sewenang-wenang dalam pesan dengan panjang 128 bit. Pertama algoritma kehendak pad setiap pesan yang diberikan dalam pesan dengan panjang 512 bit ganda. Kami tidak menggambarkan proses bantalan karena memiliki sedikit hubungan dengan serangan kami. Untuk setiap blok pesan 512-bit, RIPEMD-128 kompres menjadi nilai hash 128-bit dengan fungsi kompresi, yang memiliki dua operasi paralel Line1 dan Line2. Setiap Line memiliki empat putaran. Fungsi nonlinear di setiap putaran adalah sebagai berikut.
160 adalah peningkatan dari RIPEMD-128. Dalam RIPEMD-128, nilai hash yang dihasilkan hanya memiliki panjang 128 bit. Hanya terdapat sedikit perbedaan antara RIPEMD-160 dengan RIPEMD-128, di antaranya adalah[2].
1. Satu langkah operasi
A = (A + f(B,C,D) + X + K) << s 2. Fungsi bolean Tabel 1. Bolean Lajur R1 R2 R3 R4 Kiri f1 f2 f3 f4 Kanan f5 f4 f3 f2 3. Konstanta Tabel 2. Konstanta
Terlihat di sini, jumlah ronde yang dilakukan lebih sedikit daripada RIPEMD-160. Selain itu, RIPEMD-128 juga hanya menggunakan 4 variabel penyambung. Karakteristik ini membuat RIPEMD-128 memiliki performa yang lebih cepat daripada RIPEMD-160, tetapi dengan sedikit pengurangan keamanan jika dibandingkan dengan RIPEMD-128.
C. Autentikasi
Autentikasi adalah layanan yang terkait dengan identifikasi terhadap pihak-pihak yang ingin mengakses sistem informasi (authentication)ataupun keaslian data dari sistem informasi itu sendiri (data origin authentication).contoh serangannya adalah password palsu,terminal palsu, atau situs web palsu. proteksi dilakukan dengan certificates)[1] .
3. ANALISA
A. Analisa Masalah
Ijazah merupakan surat tanda tamat belajar yang diberikan kepada seseorang yang telah selesai menempuh jenjang pendidikan formal tertentu. Jenjang pendidikan formal tersebut diantaranya adalah sekolah dasar (SD), sekolah menengah pertama (SMP), sekolah menengah atas (SMA), dan perguruan tinggi atau politeknik. Pentingnya ijazah dalam masyarakat menjadikan pendidikan formal atau sekolah sebagai proses yang harus ditempuh. Semakin tinggi jenjang sekolah seseorang, semakin besar peluang seseorang menempati kedudukan tinggi pada bidang pekerjaan tertentu. Berdasarkan rumusan masalah pada bab sebelumnya, masalah yang terjadi adalah manipulasi citra digital ijazah dengan software atau perangkat lunak untuk pengolahan citra digital juga sangat banyak dalam perkembangannya, digunakan oleh pengguna untuk mengedit atau mengolah foto untuk berbagai keperluan,
contoh adobe photoshop yang menyajikan banyak fitur dalam memanipulasi citra digital. Oleh sebab itu akan sangat dibutuhkan alat atau metode yang dapat membantu manusia dalam mendeteksi orisinalitas citra digital ijazah, saat ini ijazah merupakan dokumen yang penting yang digunakan sebagai sarat seseorang untuk melamar pekerjaan, seiring dengan persaingan yang sangat kompetitif di indonesia, sekarang ini banyak masyarakat yang telah melakukan pemalsuan ijazah berbagai kasus pemalsuan ijazah sering kali terdengar di berbagai media masa.
Fungsi hash umumnya digunakan untuk keperluan autentikasi dan integritas data, fungsi hash merupakan fungsi yang bersifat satu arah dimana jika dimasukkan data, maka fungsi hash akan menghasilkan sebuah “ checksum” atau “fingerprint” dari data tersebut tidak dapat diubah kembali menjadi pesan semula. Dilihat dari sisi matematik, fungsi hash memetakan satu set data kedalam sebuah set yang lebih kecil dan tetap ukurannya
B. Penerapan Metode RIPEMD-128
Proses yang dilakukan adalah pengamanan citra digital untuk mengubah citra asli (plain gambar) berformat jpg menjadi cipher atau gambar tersandi. Algoritma kriptografi yang digunakan untuk mengoptimalisasi algoritma-algoritma sebelumnya salah satunya adalah RIPEMD-128. Yang menjadi objek pada penelitian ini adalah image citra digital. Dokumen hasil pemindaian ini berformat jpg dengan resolusi 1097 x 745. Untuk memudahkan proses analisa maka diambil sampel dari image tersebut berukuran 6 x 6 piksel dan nilai piksel tersebut diambil menggunakan aplikasi Matlab.
Tabel 1. Hasil nilai piksel citra sampel
234 237 243 245 244 244 165 185 195 185 187 192 181 184 173 191 185 147 175 184 182 153 132 175 193 155 152 178 220 230 147 172 213 235 228 203
Lajur Kiri Kanan
Ronde 1 0 230 × √2 Ronde 2 230 × √2 230 × √3 Ronde 3 230 ×√3 230 × √3 Ronde 4 230 × √3 0
Hal: 104-112 Berikut ini adalah langkah-langkah penerapan
algoritma RIPEMD-128 untuk mendeteksi orisinalitas citra. Sebelum menerapkan algoritma RIPEMD-128 dilakukan terlebih dahulu penyesuaian input berupa bilangan biner. Untuk itu, nilai piksel dari citra input diubah ke dalam bilangan biner.
Tabel 2. Nilai piksel gray dalam biner
11101010 11101101 11110011 11110101 11110100 11110100 10100101 10111001 11000011 10111001 10111011 11000000 10110101 10111000 10101101 10111111 10111001 10010011 10101111 10111000 10110110 10011001 10000100 10101111 11000001 10011011 10011000 10110010 11011100 11100110 10010011 10101100 11010101 11101011 11100100 11001011
a. Penambahan padding bit
Dari tabel nilai piksel gray dalam biner diketahui bahwa panjang X=288 bit. Proses berikutnya adalah dengan menambahkan padding bit 1 dan sisanya 0 sejumlah k, dengan persamaan sebagai berikut :
k = l + 1 448 mod 512 k = 288 + 1 448 mod 512 k = 289 448 mod 512 k = 448 – 289
k = 159
Tabel 3. Penambahan padding bit
11101 010 11101 101 11110 011 11110 101 11110 100 11110 100 10100 101 10111 001 11000 011 10111 001 10111 011 11000 000 10110 101 10111 000 10101 101 10111 111 10111 001 10010 011 10101 111 10111 000 10110 110 10011 001 10000 100 10101 111 11000 001 10011 011 10011 000 10110 010 11011 100 11100 110 10010 011 10101 100 11010 101 11101 011 11100 100 11001 011 10000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000
b. Penambahan panjang append
Penambahan panjang appenddilakukan dengan penambahan panjang pesan sebanyak 64 bit di akhir. Panjang pesan adalah 288 bit sehingga ditambahkan panjang append sebagai berikut :
Tabel 4. Penambahan panjang append
11101 010 11101 101 11110 011 11110 101 11110 100 11110 100 10100 101 10111 001 11000 011 10111 001 10111 011 11000 000 10110 101 10111 000 10101 101 10111 111 10111 001 10010 011 10101 111 10111 000 10110 110 10011 001 10000 100 10101 111 11000 001 10011 011 10011 000 10110 010 11011 100 11100 110 10010 011 10101 100 11010 101 11101 011 11100 100 11001 011 10000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 000 00000 001 00100 000
c. Parsing pesan (pengelompokan pesan)
Pada tahap parsing pesan, bagi X ke dalam 16 subblok 32 bit yaitu X(0)...X(15).
Tabel 5. Parsing Pesan
K Bilangan Biner Bilangan Hexadecimal
X0 11101010111011011111001111110101 EAEDF3F5 X1 11110100111101001010010110111001 F4F4A5B9 X2 11000011101110011011101111000000 C3B9BBC0 X3 10110101101110001010110110111111 B5B8ADBF X4 10111001100100111010111110111000 B993AFB8 X5 10110110100110011000010010101111 B69984AF X6 10110110100110011000010010101111 B69984AF X7 11011100111001101001001110101100 DCE693AC X8 11010101111010111110010011001011 D5EBE4CB X9 10000000000000000000000000000000 80000000 X10 00000000000000000000000000000000 00000000 X11 00000000000000000000000000000000 00000000 X12 00000000000000000000000000000000 00000000 X13 00000000000000000000000000000000 00000000 X14 00000000000000000000000000000000 00000000 X15 00000000000000000000000100100000 00000120
d. Inisialisasi nilai hash
Setelah proses parsing pesan maka langkah selanjutnya adalah inisialisasi nilai hash di mana nilai ini merupakan sebuah ketentuan yaitu :
H0 : 67452301
H1 : EFCDAB89
H2 : 98BADCFE
H3 : 10325476
1. Notasi X (subblok)
Pemilihan subblok ditentukan dengan tabel fungsi permutasi r
Tabel 6. Fungsi permutasi r
r(j) = j(0 ≤ j ≤ 15) r(16..31) = 7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8 r(32..47) = 3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12 r(48..63) = 1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2 r'(0..15) = 5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12 r'(16..31) = 6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2 r'(32..47) = 15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13 r'(48..63) = 8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14
Tabel 7. Pergeseran jumlah rotasi
s(0..15) = 11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8 s(16..31) = 7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12 s(32..47) = 11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5 s(48..63) = 11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12 s'(0..15) = 8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6 s'(16..31) = 9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11 s'(32..47) = 9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5 s'(48..63) = 15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8 2. Notasi Fungsi
Fungsi f menyatakan fungsi bolean yang menerima tiga input word 32 bit. Defenisi fungsi f adalah:
f(j,x,y,z) = x ⊕ y ⊕ z f(j,x,y,z) = (x ∧ y) ∨ (~x ∧ z) f(j,x,y,z) = (x ∨ ~y) ⊕ z f(j,x,y,z) = (x ∧ z) ∨ (y ∧ ¬z)
Dimana urutan penggunaan fungsi-fungsi tersebut adalah sebagai berikut:
Tabel 8. Urutan penggunaan fungsi
Proses Ronde
1 2 3 4
Hal: 104-112
Proses Ronde
1 2 3 4
Kanan F4 F3 F2 F1
3. Konstanta K
Nilai Konstanta ditulis dalam bentuk heksadesimal. K(j) = 00000000x (0 ≤ j ≤ 15) K(j) = 5A827999x (16≤ j ≤ 31) K(j) = 6ED9EBA1x (32 ≤ j ≤ 47) K(j) = 8F1BBCDCx (48 ≤ j ≤ 63) K’(j) = 50A28BE6x (0 ≤ j ≤ 15) K’(j) = 5C4DD124x (16≤ j ≤ 31) K’(j) = 6D703EF3x (32 ≤ j ≤ 47) K’(j) = 7A6D76E9x (48 ≤ j ≤ 63) Round 1 {0 ≤ j ≤ 15} Kiri j(0),r(0),s(0) A : 67452301 B : EFCDAB89 C : 98BADCFE D : 10325476 Putaran 1 F(B,C,D) F= EFCDAB8998BADCFE 10325476 = 67452301 A add mod F(B,C,D) = 67452301+67452301 mod (100000000) = CE8A4602 X0 : EAEDF3F5 K : 00000000
A add mod F(B,C,D add mod X0 add mod K(j)
CE8A4602+ EAEDF3F5mod (100000000) = B97839F7
=B97839F7+00000000 mod (100000000) =B97839F7
A add mod F(B,C,D add mod X0 add mod K(j) rol(0)
= 10111001011110000011100111110111<<11 =11000001110011111011110111001011 =C1CFBDCB
J A B C D
Init 67452301 EFCDAB89 98BADCFE 10325476
0 10325476 C1CFBDCB EFCDAB89 EB73FA62 Putaran 2 F(B,C,D) F= C1CFBDCB EFCDAB89 EB73FA62 = C571EC20 A add mod F(B,C,D) C571EC20 = +67452301 mod (100000000) = 2CB70F21 X0 : EAEDF3F5 K : 00000000
A add mod F(B,C,D add mod X0 add mod K(j)
2CB70F21 + EAEDF3F5 mod (100000000) = 17A50316
= 17A50316 + 00000000 mod (100000000) = 17A50316
A add mod F(B,C,D add mod X0 add mod K(j) rol(1)
= 00010111101001010000001100010110>>>14 = 01000000110001011000010111101001 = 40C585E9
J A B C D
0 10325476 C1CFBDCB EFCDAB89 EB73FA62
1 EB73FA62 40C585E9 C1CFBDCB 36AE27BF
Demikian seterusnya dilakukan dari putaran 0 sampai putaran ke 15, dan hasil nilai akhir yang didapat adalah sebagai berikut: 15 3E2F5C6E 7839F7B9 59E0F5B6 6C1966B9 } Kiri 31 ≤ j ≤ 16 { 2 Round j(16),r(16),s(16) A : 3E2F5C6E B : 7839F7B9 C : 59E0F5B6 D : 6C1966B9 F(x ∧ y) ∨ (~ x ∧ z) Putaran 16 F( B ∧ C) ∨ (~ B ∧ D) F=( 7839F7B9 ∧ 59E0F5B6) ∨(~ 7839F7B9 ∧ 6C1966B9) F=5820F5B0 ∨ 6C1966B9 F=7C39F7B9 A add mod F( B ∧ C) ∨ (~ B ∧ D) = 3E2F5C6E + 7C39F7B9 mod (100000000) = BA695427 X7 : DCE693AC K : 5A827999 A add mod F( B ∧ C) ∨ (~ B ∧ D) add mod X7 add mod K(j)
BA695427 + DCE693AC mod (100000000) = 974FE7D3
= 974FE7D3 + 5A827999 mod (100000000) = F1D2616C
A add mod F(B,C,D add mod X7 add mod K(j) rol(7)
= 11110001110100100110000101101100<<<7 = 11101001001100001011011001111000 = E930B678 J A B C D 15 3E2F5C6E 7839F7B9 59E0F5B6 6C1966B9 16 6C1966B9 E930B678 7839F7B9 3D6DACF Putaran 17 F( B ∧ C) ∨ (~ B ∧ D)
F=( E930B678 ∧ 7839F7B9) ∨(~ E930B678 ∧ 3D6DACF) F=F939F7F9 ∨3D6DACF F= FBFFFFFF A add mod F( B ∧ C) ∨ (~ B ∧ D) = 6C1966B9 + FBFFFFFF mod (100000000) = 681966B8 X4 : B993AFB8 K : 5A827999 A add mod F( B ∧ C) ∨ (~ B ∧ D)
Hal: 104-112 add mod X4 add mod K(j)
681966B8 + B993AFB8 mod (100000000) = 21AD1670
= 21AD1670 + 5A827999 mod (100000000) = 7C2F9009
A add mod F(B,C,D add mod X4 add mod K(j) rol(6)
= 1111100001011111001000000001001<<<6 = 0001011111001000000001001111110 = BE4027E
J A B C D
16 6C1966B9 E930B678 7839F7B9 3D6DACF 17 3D6DACF BE4027E E930B678 E7DEE5E0 Demikian seterusnya dilakukan dari putaran 16 sampai putaran ke 31, dan hasil nilai akhir yang didapat adalah sebagai berikut:
31 F31A08 D4190A55 3356DAEC 174D322D Round 3 {32 ≤ j ≤47 } Kiri j(32),r(32),s(32) A : F31A08 B : D4190A55 C : 3356DAEC D : 174D322D Putaran 32 F=(x ∨ ~y) z F(B ∨ ~C) D F=( D4190A55 ∨ ~3356DAEC) 174D322D F=D4190A55 174D322D F= C3543878 A add mod F(B,C,D) = F31A08 + C3543878 mod (100000000) = C4475280 X3 : B5B8ADBF K : 6ED9EBA1 A add mod F(B,C,D) add mod X3 add mod K(j)
=C4475280 + B5B8ADBF mod (100000000) = 7A00003F
= 7A00003F + 6ED9EBA1mod (100000000) = E8D9EBE0
A add mod F(B,C,D add mod X3 add mod K(j) rol(11)
= 11101000110110011110101111100000<<<11 = 11001111010111110000011101000110 = CF5F0746
J A B C D
31 F31A08 D4190A55 3356DAEC 174D322D 32 174D322D CF5F0746 D4190A55 1B6BB335 Putaran 33 F=(x ∨ ~y) z F(B ∨ ~C) D F=( CF5F0746 ∨ ~ D4190A55) 1B6BB335 F=CF5F0746 1B6BB335 F= D434B473 A add mod F(B,C,D) = 174D322D + D434B473 mod (100000000) = EB81E6A0 X10 : 00000000 K : 6ED9EBA1 A add mod F(B,C,D) add mod X10 add mod K(j)
= EB81E6A0 + 00000000 mod (100000000) = EB81E6A0
= EB81E6A0 + 6ED9EBA1mod (100000000) = 5A5BD241
A add mod F(B,C,D add mod X10 add mod K(j) rol(13)
= 1011010010110111101001001000001 <<<13 = 111101001001000001 1011010010110 = 7A483696 J A B C D 32 174D322D CF5F0746 D4190A55 1B6BB335 33 1B6BB335 7A483696 CF5F0746 64295750
Demikian seterusnya dilakukan dari putaran 32 sampai putaran ke 47, dan hasil nilai akhir yang didapat adalah sebagai berikut:
47 FA18D60B E0A83F8 637E53FD 216D6E3A Round 4 {48 ≤ j ≤63} Kiri j(48),r(48),s(48) A : FA18D60B B : E0A83F8 C : 637E53FD D : 216D6E3A Putaran 48 F=(x ∧ z) ∨ (y ∧ ~z ) F=(C ∧ D) ∨(C ∧ ~D)
F=( 637E53FD ∧ 216D6E3A) ∨ (637E53FD ∧ ~216D6E3A) F=216C4238 ∨637E53FD F= 637E53FD A add mod F(B,C,D) 637E53FD = FA18D60B + mod (100000000) = 5D972A08 X1 : F4F4A5B9 K : 8F1BBCDC A add mod F(B,C,D) add mod X1 add mod K(j)
=5D972A08 + F4F4A5B9 mod (100000000) = 528BCFC1
= 528BCFC1 + 8F1BBCDCmod (100000000) = E1A78C9D
A add mod F(B,C,D add mod X1 add mod K(j) rol(11)
= 11100001101001111000110010011101<<<11 = 00111100011001001110111100001101 = 3C64EF0D
J A B C D
47 FA18D60B E0A83F8 637E53FD 216D6E3A 48 216D6E3A 3C64EF0D E0A83F8 794FF71B
Hal: 104-112 Putaran 49 F=(x ∧ z) ∨ (y ∧ ~z ) F=(C ∧ D) ∨(C ∧ ~D) F=( E0A83F8 ∧ 794FF71B) ∨ (E0A83F8 ∧ ~794FF71B) F=80A8318 ∨E0A83F8 F= E0A83F8 A add mod F(B,C,D) E0A83F8 = 216D6E3A + mod (100000000) = 2F77F232 X9 : 80000000 K : 8F1BBCDC A add mod F(B,C,D) add mod X9 add mod K(j)
= 2F77F232 + 80000000 mod (100000000) = AF77F232
= AF77F232+ 8F1BBCDCmod (100000000) = 3E93AF0E
A add mod F(B,C,D add mod X9 add mod K(j) rol(12)
= 111110100100111010111100001110 <<<12 = 111010111100001110111110100100 = 3AF0EFA4
J A B C D
48 216D6E3A 3C64EF0D E0A83F8 794FF71B 49 794FF71B 3AF0EFA4 3C64EF0D A0FE382
Demikian seterusnya dilakukan dari putaran 48 sampai putaran ke 63, dan hasil nilai akhir yang didapat adalah sebagai berikut:
63 B7CFE3D4 12DA8F7A 599F1F70 E09A86B3 Langkah selanjutnya adalah melakukan putaran fungsi permutasi dari kanan ke kiri
Round 1 {0 ≤ j ≤ 15} Kanan j(0),r(0),s(0) A : 67452301 B : EFCDAB89 C : 98BADCFE D : 10325476 Putaran 1 F(B,C,D) F= EFCDAB8998BADCFE 10325476 = 67452301 A add mod F(B,C,D) = 67452301+67452301 mod (100000000) = CE8A4602 X14 : 00000000 K : 7A6D76E9
A add mod F(B,C,D add mod X14 add mod K(j)
= CE8A4602 + 00000000 mod (100000000) = CE8A4602
=CE8A4602 + 7A6D76E9 mod (100000000) =48F7BCEB
A add mod F(B,C,D add mod X14 add mod K(j) rol(8)
= 1001000111101111011110011101011 <<8 =1110111101111001110101110010001
=77BCEB91
J A B C D
Init 67452301 EFCDAB89 98BADCFE 10325476
0 10325476 77BCEB91 EFCDAB89 EB73FA62
Putaran 2 F(B,C,D)
F= 77BCEB91 EFCDAB89 EB73FA62 = 7302BA7A A add mod F(B,C,D) 10325476+7302BA7A = mod (100000000) = 83350EF0 X10 : 00000000 K : 7A6D76E9
A add mod F(B,C,D add mod X10 add mod K(j)
= 83350EF0 + 00000000 mod (100000000) = 83350EF0
= 83350EF0 + 7A6D76E9 mod (100000000) = FDA285D9
A add mod F(B,C,D add mod X10 add mod K(j) rol(15)
= 11111101101000101000010111011001>>>15 = 01000010111011001111111011010001 = 42ECFED1
J A B C D
0 10325476 C1CFBDCB EFCDAB89 EB73FA62
1 EB73FA62 42ECFED1 C1CFBDCB 36AE27BF
Demikian seterusnya dilakukan dari putaran 0 sampai putaran ke 15, dan hasil nilai akhir yang didapat adalah sebagai berikut:
15 316EE62 1A2AF7C8 9ED8291A BD90F47 Round 2 {16 ≤ j ≤31} KANAN j(16),r(16),s(16) A : BDF2345 B : BBA6D91C C : 49020A9D D : 1A631A1F F(x ∧ y) ∨ (~ x ∧ z) Putaran 17 F( B ∧ C) ∨ (~ B ∧ D)
F=( BBA6D91C ∧ 49020A9D) ∨ (~BBA6D91C ∧ 1A631A1F) F=902081C ∨1A631A1F F=1A631A1F A add mod F( B ∧ C) ∨ (~ B ∧ D) = BDF2345 + 1A631A1F mod (100000000) = 27423D64 X13 : 00000000 K : 6D703EF3 A add mod F( B ∧ C) ∨ (~ B ∧ D) add mod X13 add mod K(j)
= 27423D64 + 00000000 mod (100000000) =27423D64
Hal: 104-112 = 27423D64 + 6D703EF3mod (100000000)
= 94B27C57
A add mod F(B,C,D add mod X13 add mod K(j) rol(5)
= 10010100101100100111110001010111<<<5 = 10010110010011111000101011110010 = 964F8AF2
J A B C D
15 BDF2345 BBA6D91C 49020A9D 1A631A1F
16 1A631A1F 964F8AF2 BBA6D91C 82A7648
Putaran 18
F( B ∧ C) ∨ (~ B ∧ D)
F=( 964F8AF2 ∧ BBA6D91C) ∨ (~964F8AF2 ∧ 82A7648) F=92068810∨82A7648
F=9A2EFE58
A add mod F( B ∧ C) ∨ (~ B ∧ D)
= 1A631A1F + 9A2EFE58 mod (100000000) = B4921877
X4 : B993AFB8
K : 6D703EF3
A add mod F( B ∧ C) ∨ (~ B ∧ D) add mod X4 add mod K(j)
= B4921877 + B993AFB8 mod (100000000) = 6E25C82F
= 6E25C82F + 6D703EF3mod (100000000) = DB960722
A add mod F(B,C,D add mod X4 add mod K(j) rol(7)
= 11011011100101100000011100100010<<<7 = 11001011000000111001000101101101 = CB03916D
J A B C D
16 1A631A1F 964F8AF2 BBA6D91C 82A7648
17 82A7648 CB03916D 964F8AF2 9B6472EE
Demikian seterusnya dilakukan dari putaran 16 sampai putaran ke 31, dan hasil nilai akhir yang didapat adalah sebagai berikut:
31 885C3EDA 9EC8C497 E098395A F608D658
Round 3 {32 ≤ j ≤47} kanan j(32),r(32),s(32) A : 3CD441C0 B : B1C8B59C C : 556CFDC D : 2D92B655 Putaran 33 F=(x ∨ ~y) z F(B ∨ ~C) D F=( B1C8B59C ∨ ~556CFDC) 2D92B655 F= B1C8B59C 2D92B655 F= 9C5A03C9 A add mod F(B,C,D) = 3CD441C0 + 9C5A03C9 mod (100000000) = D92E4589 X2 : C3B9BBC0 K : 5C4DD124 A add mod F(B,C,D) add mod X2 add mod K(j)
=D92E4589 + C3B9BBC0 mod (100000000) = 9CE80149
= 9CE80149 + 5C4DD124mod (100000000) = F935D26D
A add mod F(B,C,D add mod X2 add mod K(j) rol(11)
= 11111001001101011101001001101101<<<11 = 10101110100100110110111111001001 = AE936FC9 J A B C D 31 3CD441C0 B1C8B59C 556CFDC 2D92B655 32 2D92B655 AE936FC9 B1C8B59C 33F72AB Putaran 34 F=(x ∨ ~y) z F(B ∨ ~C) D F=( AE936FC9 ∨ ~ B1C8B59C ) 33F72AB F= AE936FC9 33F72AB F= ADAC1D62 A add mod F(B,C,D) = 2D92B655 + ADAC1D62 mod (100000000) = DB3ED3B7 X1 : F4F4A5B9 K : 5C4DD124 A add mod F(B,C,D) add mod X1 add mod K(j)
= DB3ED3B7 + F4F4A5B9 mod (100000000) = D0337970
= D0337970 + 5C4DD124 mod (100000000) = 2C814A94
A add mod F(B,C,D add mod X1 add mod K(j) rol(13)
= 00101100100000010100101010010100<<<13 = 00101001010100101000010110010000 = 29528590 J A B C D 32 2D92B655 AE936FC9 B1C8B59C 33F72AB 33 33F72AB 29528590 AE936FC9 22D672C7
Demikian seterusnya dilakukan dari putaran 32 sampai putaran ke 47, dan hasil nilai akhir yang didapat adalah sebagai berikut:
47 2CCF14AD 4CE7B16A 12A293F 466B967B Kanan ≤63} j ≤ Round 4 {48 j(48),r(48),s(48) A : DDDF093 B : ABB6C3B6 C : A93E028E D : F9A964B2 Putaran 48 F=(x ∧ z) ∨ (y ∧ ~z ) F=(C ∧ D) ∨(C ∧ ~D)
Hal: 104-112 F=( A93E028E∧F9A964B2) ∨ (637E53FD ∧ ~ F9A964B2)
F=A9280082 ∨A93E028E F= A93E028E A add mod F(B,C,D) A93E028E = DDDF093 + mod (100000000) = B71BF321 X12 : 00000000 K : 50A28BE6 A add mod F(B,C,D) add mod X12 add mod K(j)
= B71BF321 + 00000000 mod (100000000) = B71BF321
= B71BF321+ 50A28BE6 mod (100000000) = 07BE7F07
A add mod F(B,C,D add mod X12 add mod K(j) rol(6)
= 111101111100111111100000111<<<6 = 111100111111100000111111101 = 79FC1FD
J A B C D
47 DDDF093 ABB6C3B6 A93E028E F9A964B2
48 F9A964B2 79FC1FD ABB6C3B6 F80A3AA4
Putaran 49
F=(x ∧ z) ∨ (y ∧ ~z ) F=(C ∧ D) ∨(C ∧ ~D)
F=( ABB6C3B6∧F80A3AA4) ∨ (ABB6C3B6 ∧ ~F80A3AA4)
F=A80202A4 ∨ABB6C3B6 F= ABB6C3B6
A add mod F(B,C,D)
= F9A964B2 + ABB6C3B6 mod (100000000) = A5602868
X3 : B5B8ADBF
K : 50A28BE6
A add mod F(B,C,D) add mod X3 add mod K(j)
= A5602868 + B5B8ADBF mod (100000000) = 5B18D627
= 5B18D627 + 50A28BE6 mod (100000000) = ABBB620D
A add mod F(B,C,D add mod X3 add mod K(j) rol(12 )
= 10101011101110110110001000001101<<<12 = 10110110001000001101101010111011 = B620DABB
J A B C D
48 F9A964B2 79FC1FD ABB6C3B6 F80A3AA4
49 F80A3AA4 B620DABB 79FC1FD DB0EDAAE
Demikian seterusnya dilakukan dari putaran 48 sampai putaran ke 63, dan hasil nilai akhir yang didapat adalah sebagai berikut:
J A B C D
63 C352B7A4 889AEB19 1A3F9105 8575234
J A B C D
Init 67452301 EFCDAB89 98BADCFE 10325476
0 10325476 C1CFBDCB EFCDAB89 EB73FA62
1 EB73FA62 40C585E9 C1CFBDCB 36AE27BF
2 36AE27BF 6FA4703 40C585E9 3EF72F07
3 3EF72F07 4B9992A6 6FA4703 1617A503
4 1617A503 2C59D69B 4B9992A6 91C0DBE
5 91C0DBE 598F810 2C59D69B 664A992E
6 664A992E CADCAC21 598F810 675A6CB1
7 675A6CB1 AD8B47F2 CADCAC21 3E04166
8 3E04166 5ADDB8 AD8B47F2 72B0872B
9 72B0872B C6AB7DD9 5ADDB8 2D1FCAB6
10 2D1FCAB6 397DE4C6 C6AB7DD9 76E16B
11 76E16B 1B8F8BD7 397DE4C6 ADF7671A
12 ADF7671A 1A775AFD 1B8F8BD7 F79318E5
13 ADF7671A AE5B0659 1B8F8BD7 F79318E5
14 F79318E5 59E0F5B6 AE5B0659 3E2F5C6E
15 3E2F5C6E 7839F7B9 59E0F5B6 6C1966B9
16 6C1966B9 E930B678 7839F7B9 3D6DACF
17 3D6DACF BE4027E E930B678 E7DEE5E0
18 E7DEE5E0 583C609C BE4027E C2D9E3A4
19 C2D9E3A4 D1DC4A7 583C609C 9FAF9
20 9FAF9 12C1D4AF D1DC4A7 718272C1
21 718272C1 54205105 12C1D4AF 7129F47
22 7129F47 8BE660F1 54205105 752BE58
23 752BE58 27C7B03 8BE660F1 14416A1
24 14416A1 1CD74965 27C7B03 9983C62F
25 9983C62F C535EE08 1CD74965 1EC0E7C
26 1EC0E7C 47227A03 C535EE08 1D25979A
27 1D25979A 5C18BDC0 47227A03 D7B82314
28 D7B82314 10403CC6 5C18BDC0 9E80E39
29 9E80E39 116DD34C 10403CC6 62F702E0
30 62F702E0 3356DAEC 116DD34C F31A08
31 F31A08 D4190A55 3356DAEC 174D322D
32 174D322D CF5F0746 D4190A55 1B6BB335
33 1B6BB335 7A483696 CF5F0746 64295750
34 64295750 29C0272A 7A483696 7C1D1B3D
35 7C1D1B3D 3A176071 29C0272A 20DA59E9
36 20DA59E9 101DBAE2 3A176071 9CAA9C
37 9CAA9C 6AAE5140 101DBAE2 1D81C7A1
39 16EB8A03 EB864CAB EECF412 39450355
40 39450355 58B885 EB864CAB 3D04BBB
41 3D04BBB 233E72BE 58B885 1932AFAE
42 1932AFAE A10C32F4 233E72BE 6216C5
43 6216C5 5110BF8 A10C32F4 39CAFA33
44 39CAFA33 82FE8635 5110BF8 30CBD284
45 30CBD284 23A85B5B 82FE8635 42FE288
46 42FE288 637E53FD 23A85B5B FA18D60B
47 FA18D60B E0A83F8 637E53FD 216D6E3A
48 216D6E3A 3C64EF0D E0A83F8 794FF71B
49 794FF71B 3AF0EFA4 3C64EF0D A0FE382
50 A0FE382 28C12268 3AF0EFA4 13BC37C6
51 13BC37C6 48016A0E 28C12268 3BE93AF
52 3BE93AF 31837F0F 48016A0E 489A28C
53 489A28C 27246F4D 31837F0F 5A83A40
54 5A83A40 51BCEF8A 27246F4D DFC3F18
55 DFC3F18 780AE9E9 51BCEF8A 11BD3672
57 73BE2A8D 22BDB3A7 A9D6FDDD 2BA7A7C0
58 2BA7A7C0 DE1FA70 22BDB3A7 5BF776A7
59 5BF776A7 A3000E4 DE1FA70 36CE9E2B
60 36CE9E2B F52DF3F8 A3000E4 7E9C378
61 7E9C378 ACF826A1 F52DF3F8 3928C
62 3928C 599F1F70 ACF826A1 B7CFE3D4
63 B7CFE3D4 12DA8F7A 599F1F70 E09A86B3
64 10325476 77BCEB91 EFCDAB89 EB73FA62
Hal: 104-112
J A B C D
67 36AE27BF AAD339F 42ECFED1 3EF72F07
68 3EF72F07 50A082D6 AAD339F 33FB4617
69 33FB4617 B73A9C46 50A082D6 4CE7EAB
70 4CE7EAB 6D8FB557 B73A9C46 20B5A85
71 20B5A85 74D2515F 6D8FB557 EA711ADC
72 EA711ADC 8FD53C64 74D2515F 3ED55F6C
73 3ED55F6C E046B3D 8FD53C64 49457FA6
74 49457FA6 4C4C5BB E046B3D 54F1923F
75 54F1923F 1A3AF643 4C4C5BB 1ACF781
76 1ACF781 9ED8291A 1A3AF643 316EE62
77 316EE62 1A2AF7C8 9ED8291A BD90F47
78 BD90F47 43E698C6 1A2AF7C8 60A46A7B
79 60A46A7B 49020A9D 43E698C6 BDF2345
80 BDF2345 BBA6D91C 49020A9D 1A631A1F
81 1A631A1F 964F8AF2 BBA6D91C 82A7648
82 82A7648 CB03916D 964F8AF2 9B6472EE
83 9B6472EE C4BADE78 CB03916D 3E2BCA59
84 3E2BCA59 18B5C02 C4BADE78 E45B72C
85 E45B72C ED9CFD38 18B5C02 EB79E312
86 EB79E312 F5FEA62C ED9CFD38 D700862
87 D700862 A0C9C59A F5FEA62C 73F4E3B6
88 73F4E3B6 D2F136ED A0C9C59A FA98B3D7
89 FA98B3D7 B6A2170F D2F136ED 27166A83
90 27166A83 963D8235 B6A2170F C4DBB74B
91 C4DBB74B E098395A 963D8235 885C3EDA
92 885C3EDA 9EC8C497 E098395A F608D658
93 F608D658 700F3510 9EC8C497 60E56B82
94 60E56B82 954B64AD 700F3510 23125E7B
95 23125E7B 556CFDC 954B64AD 3CD441C0
96 3CD441C0 B1C8B59C 556CFDC 2D92B655
97 2D92B655 AE936FC9 B1C8B59C 33F72AB
98 33F72AB 29528590 AE936FC9 22D672C7
99 22D672C7 1D937589 29528590 4DBF26BA
100 4DBF26BA 3911B5A2 1D937589 4A1640A5
101 4A1640A5 8A76728E 3911B5A2 4DD620ED
102 4DD620ED 48F743F 8A76728E 46D688E4
103 46D688E4 3EF80676 48F743F D9CA3A29
104 D9CA3A29 2B4B33C5 3EF80676 DD0FD23
105 DD0FD23 9ED19AE5 2B4B33C5 E019D8FB
106 E019D8FB 12A293F 9ED19AE5 2CCF14AD
107 2CCF14AD 4CE7B16A 12A293F 466B967B
108 466B967B 700D77E9 4CE7B16A 8A4FC4A
109 8A4FC4A 24C3777C 700D77E9 9EC5A933
110 9EC5A933 2CBE6A59 24C3777C 35DFA5C0
111 35DFA5C0 A93E028E 2CBE6A59 DDDF093
112 DDDF093 ABB6C3B6 A93E028E F9A964B2
113 F9A964B2 79FC1FD ABB6C3B6 F80A3AA4
114 F80A3AA4 B620DABB 79FC1FD DB0EDAAE
115 DB0EDAAE 2221E826 B620DABB 707F7CF
116 707F7CF B9C235B1 2221E826 836AEED8
117 836AEED8 428534FB B9C235B1 7A09A22
118 7A09A22 CFB18F8D 428534FB 8D6C6E7
119 8D6C6E7 30EFD951 CFB18F8D 14D3EE14
120 14D3EE14 15712D52 30EFD951 C63E373E
121 C63E373E 7F406073 15712D52 3F65470E
J A B C D
122 3F65470E D01772F2 7F406073 4B54AAE
123 4B54AAE F18FE46D D01772F2 181CFFA
124 181CFFA E930D4AD F18FE46D 5DCBCB40
125 5DCBCB40 11A215D4 E930D4AD 3F91B7C6
126 3F91B7C6 1A3F9105 11A215D4 C352B7A4
127 C352B7A4 889AEB19 1A3F9105 8575234
H0 67452301 H1 EFCDAB89 H2 98BADCFE H3 10325476 e. Output
Output dari RIPEMD-128 merupakan penggabungan dari H0 sampai H3sebagai berikut :
h0:=T;
T:=h1 add mod B add mod C’
= 1001 0010 1010 1000 0010 0111 1010 0111 h1:=h2 add mod C add mod D’
= 1011 1011 0101 0001 1100 0000 0011 0111 h2:=h3 add mod D add mod A’
= 1101 1011 1101 1100 0101 1110 0100 1110 h3:=h0 add mod A add mod B’
= 1011 0011 0011 0010 1100 0101 1011 1110 h0 = 92A827A7
h1 = BB51C037 h2 = DBDC5E4E h3 = B332C5BE
Sehingga diperoleh nilai hash:
92A827A7 BB51C037 DBDC5E4EB332C5BE
4. KESIMPULAN
Berdasarkan penelitian yang telah dilakukan penulis, maka kesimpulan yang dapat diambil adalah Algoritma RIPEMD128 dapat digunakan untuk mendeteksi orisinalitas citra digital ijazah. Aplikasi Matlabini dapat menguji orisinalitas citra digital ijazah Citra gambar berhasil di uji menggunakan Matlab dengan menerapkan algoritma RIPEMD128 sehingga mempermudah dalam melakukan pendeteksian orisinalitas citra ijazah.
REFERENCES
[1] M. kom. Emy setyaningsih, s.si., kriptografi dan implementasinya
menggunakan matlab, 1st ed. yogyakarta, 2015.
[2] R. L. Bu, “ALGORITMA RIPEMD,” no. X.
[3] Ekoprasetyo, pengolahan citra digital dan aplikasinya menggunakan
matlab, 1st ed. yogyakarta, 2011.
[4] H. Hidayat, “ADLN-Perpustakaan Universitas Airlangga,” Univ.
Stuttgart, vol. 9, no. 2006, pp. 16–39, 2011.
[5] E. sutanta, PENGANTAR TEKNOLOGI INFORMASI. yogyakarta:
GRAHA ILMU, 2005.
[6] E. Setyaningsih, “Kriptografi & Implentasinya Menggunakan