You are on page 1of 10

IMPLEMENTASI CANNY EDGE DETECTION DAN FUNGSI HASH SHA-1 DALAM PHOTO RECOGNITION SEBAGAI OTENTIKASI DIRI

ANDREAS DONY M.S (M0508084) Program Studi Informatika Universitas Sebelas Maret Jalan Ir. Sutami no. 36A Surakarta Email : andomaze@gmail.com ABSTRAK Keaslian identitas diri seseorang dari kartuidentitasnya belum dapat dijamin.Hal ini terbukti denganadanya kasus-kasus penyalahgunaan kartu identitas untukpemalsuan identitas di ri untuk tujuan tertentu. Dari masalah itu padapaper ini akan dibahas lebih lanjut mengenai pembandingan gambar foto dengan menggunakan metode Hash SHA -1. Untuk mengurangi banyaknya perbedaan yang terjadi antara kedua foto yang dibandingkan tersebut, digunakanmetode canny edge detection. Hasil dari edge detection tersebut akan didapatkan message digestnya. Pencocokan dilakukandengan melakukan perbandingan terhadap message digestgambar foto yang diuji coba dengan message digest foto yang dipercaya kebenarannya. Metode ini diharapkan dapat memudahkan dalam autentikasi identitas seseorang.

I. PENDAHULUAN

Identitas merupakan hal penting yang melekat padaseseorang dan menunjukkan diri sebenarnya orangtersebut. Denganmenggunakan berbagai peralatan canggih, kita dapatdengan mudah mencari informasi mengenai seseorang.Namun sayangnya, tidak semua informasi tersebut validatau dapat dipercaya. Semakin majunya teknologi jugaberimplikasi kepada semakin canggihnya kelicikan orang.Kini orang dengan mudah membuat penanda identitas palsu.Kecurangan atau kejahatan yang terjadi denganmemanfaatkan pemalsuan identitas kini menjadi makinpopuler. Oleh karena itu, diperlukan teknologi untukmengautentikasi identitas yang mudah dan murah

untukditerapkan. Salah satu caranya adalah denganmenggunakan metode Photo Recognition pada foto suatu penanda identitas. Dengan cara tersebut,dapat ditentukan identitas aslinya dengan membandingkan foto pada penanda identitas yang ada dengan foto dengan foto lain yang telah dipercaya. Penangkapan gambar pada fotodengan menggunakan kamera biasa tentu dapat menghasilkan perbedaan yang cukup besar dalam hal pembandingan. Makadigunakan canny edge detection pada foto tersebut agar lebihkecil rentang perbedaannya. Untuk mengefisiensikan dan memudahkan penyimpanan data foto, dapatmenggunakan fungsi hash sebagai pembandingnya. Datafoto yang disimpan merupakan sebuah fungsi hash dari gambar edge detection foto yang telah diatur resolusinya ke ukuran tertentu.

II. DASAR TEORI A. Canny Edge Detection Operatordeteksi tepi CannydikembangkanolehJohnF.Cannypada untukmendeteksiberbagaitepidalamgambar. Yang tahun paling

1986danmenggunakanalgoritmamulti-stage

penting, Cannyjugamenghasilkanteorikomputasideteksitepimenjelaskanmengapateknikinibekerja.  Tahapan Algoritma Canny 1. Pengubahan menjadi Grayscale Awal sebelum pengoperasian dilakukan konversi gambar terlebih dahulu menjadi bentuk Grayscale. 2. Pengurangan derau (Noise) DetektortepiCannymenggunakanfilterberdasarkanturunanpertamadariGaussian, karenarentanterhadapderauyang munculpadagambar awalyang belum diproses, sehinggasebelumnya dilakukan konvolusi dahlu gambar awal denganfilterGaussian. Hasilnyaadalahgambar yang terlihat agak kabur dariversiasliyangtidakdipengaruhiolehpixelnoisetunggaluntuksetiaptingkatyang digunakan untukmembuatgambarke kanan,

signifikan.Berikutadalahcontoh5x5Gaussianfilter, dengan =1,4 :

3. Menemukan Gradien Intensitas Gambar Tepi dalam sebuah gambar dapat diinterpretasikan dalam berbagai arah,

sehinggaalgoritmaCannymenggunakanempatfilteruntukmendeteksitepihorisontal, diagonaldalamgambarkabur. Deteksitepioperator(misalnya Roberts, Prewitt,

vertikaldan &Sobel)

mengembalikannilaiuntukturunanpertamadalamarahhorisontal(Gy) danarahvertikal(Gx).Darigradientepidanarahdapatditentukan :

Sudutarahtepiadalahdibulatkan horisontaldankeduadiagonal( misalnyaderajat 0, 45, 90dan135). 4. Menemukan Gradien Intensitas Gambar Mengingatperkiraangradiengambar,

kesatudariempatsudutmewakilivertikal,

pencariankemudiandilakukanuntukmenentukan

apakahbesarnyagradienmengasumsikanmaksimum lokaldiarahgradien. Jadi, misalnya,  Bila  Bila pembulatan sudutgradienadalahnolderajat(yaitu tepiberada dalamarahutara selatan)

titikakandianggapsebagai tepijikaintensitasnyalebih besardariintensitasdi arah baratdantimur, pembulatansudutgradienadalah90derajat(yaitu tepiberada dalamarahtimur barat)

titikakandianggapsebagai tepijikaintensitasnyalebih besardariintensitasdi arah utaradanselatan ,

 Bila pembulatansudutgradien135derajat(yaitu tepiberada dalamarahtimur laut barat daya) titikakandianggapsebagai lautdantenggara,  Bila pembulatansudutgradienadalah45derajat(yaitu tepiberada dalamarahbaratlaut - tenggara) titikakandianggap tepijikaintensitasnyalebih besardariintensitasdiarahtimur lautdanbarat daya. Daritahapinidisebutsebagaipenekanannon-maksimum, satusetpointepi, dalambentukgambarbiner, yang diperoleh. Hal tersebutkadang-kadangdisebutsebagai"thin edges". 5. Menelusuritepimelaluigambardanhysteresis thresholding Thresholdingdenganhisterisismembutuhkanduaambang danrendah.Membuatasumsibahwatepi kurvadalamgambar yangpenting harusterus pintu menerus berada -tinggi disepanjang tepijikaintensitasnyalebih besardariintensitasdi arahbarat

yangmemungkinkankitauntuk

mengikutibagiansamargarisyang baris, tetapi telah

diberikandanuntukmembuangbeberapapikselnoiseyangtidakmerupakansebuah menghasilkangradienbesar. Oleh karena itukitamulaidengan

menerapkanambang batastinggi.Ini dengan menggunakan

menandaikeluartepikitadapatcukupyakinyangasli.Mulaidariini,

informasiarahditurunkansebelumnya, tepidapatditelusurimelaluigambar.Sementarapenelusurantepi, kita menerapkanambangyang lebih rendah,memungkinkankitauntukmenelusuribagiansamardari

ujungselamakitamenemukantitik awal.

Gambar 1. Contoh Canny Edge Detection

B. Fungsi Hash SHA-1 Fungsi hash SHA merupakan sekumpulan fungsi hash didesain oleh National Security Agency dandipublikasikan oleh NIST sebagai U.S Federal Information Processing Standard (FIPS). SHA merupakansingkatan dari Secure Hash Algorithm.SHS (Secure Hash Standard) merupakan standar yangmendefinisikan SHA.Ada banyak versi SHA.SHA-0, SHA-1, SHA-2.Sedangkan untuk SHA-2 terbagilagi menjadi SHA-224, SHA-256, SHA-384, and SHA-512. Di sini hanya akan dibahas mengenai SHA-1.SHA-1 menghasilkan 160 bit message diggest dari pesan yang panjangnya kurang dari 264 bit. SHA-1hampir mirip dengan MD4 tetapi dengan beberapa perubahan.Langkah-langkah dalam menghitung nilai hash adalah sebagai berikut :

Gambar 2. Alur SHA-1

 Message Padding SHA-1 digunakan untuk menghitung message diggest dari pesan atau file data yang disediakan sebagai input. Pesan atau file dianggap sebagai kumpulan bit-bit. Panjang dari pesan adalah banyaknya bit didalam pesan (Pesan kosong memiliki panjang 0). Jika banyaknya bit di dalam pesan merupakan kelipatan 8, untuk memudahkan pembacaan dapat ditampilkan dalam format hexadecimal. Tujuan dari message padding adalah membuat panjang total dari isi pesan menjadi kelipatan 512 bit. SHA-1 secara sekuensial memproses blok 512 bit ketika menghitung message diggest. Pada message padding, tambahkan satu buah 1 , diikuti oleh m buah 0 diikuti oleh 64 bit integer pada akhir pesan untuk menghasilkan pesan dengan panjang 512 * n. 64 bit integer tersebut adalah panjang dari pesan asli sebelum message padding.Misalkan pesan dengan panjang L < 26. Sebelum pesan menjadi input SHA-1, dilakukan message padding sebagai berikut : Misal pesan aslinya (L = 40) adalah : 01100001 01100010 01100011 01100100 01100101 61 62 63 64 65 (hex) (biner)

Tambahkan 1 pada akhir pesan : 01100001 01100010 01100011 01100100 01100101 1 Karena L = 40, maka hasilnya menjadi = 41, sehingga diperlukan 0 sebanyak 448 41 = 407 buah. 01100001 01100010 01100011 01100100 01100101 10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Dalam hexadecimal hasilnya adalah 61626364 65800000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 000000 00 Tambahkan 64 bit representasi dari panjang pesan asli. Untuk L = 40, maka representasi dari 64 bitpanjang pesan adalah

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00101000 (biner) 00000000 00000028 (hexa) Maka, setelah ditambahkan hasilnya : (dalam biner) 01100001 01100010 01100011 01100100 01100101 10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000000000000000 00000000 00000000 00000000 00000000 00000000 00000000 00101000 (dalam hexa) 61626364 65800000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000028 Hasil dari message padding adalah n 512-bit block (n * 16 word) , untuk suatu n > 0.Padded message disimbolkan dengan M(1), M(2), , M(n)
y

Fungsi dan Konstanta yang Digunakan Serentetan fungsi logic f(0), f(1), f(2), .. ,f(79) digunakan dalam SHA-1. Setiap f(t) , 0 t 79beroperasi pada 32bit word B, C, D dan menghasilkan 32bit word sebagai output. f( t; B,C,D) didefinisikan sebagai berikut. Untuk word B,C,D : f(t;B,C,D) = (B AND C) OR ((NOT B) AND D) ( 0 <= t <= 19) f(t;B,C,D) = B XOR C XOR D (20 <= t <= 39) f(t;B,C,D) = (B AND C) OR (B AND D) OR (C AND D) (40 <= t <= 59) f(t;B,C,D) = B XOR C XOR D (60 <= t <= 79) Serentetan konstanta K(0), K(1), K(2), , K(79) digunakan dalam SHA-1.Dalam hexadecimal konstanta tersebut adalah : K(t) = 5A827999 ( 0 <= t <= 19) K(t) = 6ED9EBA1 (20 <= t <= 39) K(t) = 8F1BBCDC (40 <= t <= 59) K(t) = CA62C1D6 (60 <= t <= 79) Selain itu juga digunakan fungsi Circular Left Shift. Circular left shift S^n(X) , dimana X adalah 32 bit word dan n adalah bilangan integer dengan 0 n < 32. S^n(X) = (X << n) OR (X >> 32-n)

Contoh: Misalkan X = 11010000 01010000 11100000 00001010 , dan n = 5 . Maka : X << 5 X >> 27 = 00001010 00011100 00000001 01000000 = 00000000 00000000 00000000 00011010

- (OR) S^5(X) = 00001010 00011100 00000001 01011010

 Menghitung Message Diggest Message diggest dihitung menggunakan hasil message padding. Komputasi menggunakan dua jenis buffer, setiap jenis buffer tediri dari 5 buah 32-bit word. 5 buah 32-bit word buffer pertama dilabeli dengan A, B, C, D, E. Sedangkan buffer kedua dilabeli H0, H1, H2, H3, H4. Terdapat sebuah sekuen 80 word 32-bit, yang dilabeli W(0), W(1), W(2), , W(79) dan juga sebuah word buffer yang dilabeli dengan TEMP. Untuk men-generate message diggest, block-block 16 word M(1) M(2) M(3) M(n) hasil message diggest diproses secara berurutan. Setiap pemrosesan M(i) membutuhkan 80 langkah. Sebelum memproses apapun, untuk pertama kali, H diinisialisasi sebagai berikut: H0 = 67452301 H3 = 10325476 H1 = EFCDAB89 H4 = C3D2E1F0 H2 = 98BADCFE

Selanjutnya lakukan komputasi dari M(1), M(2), , M(n). Untuk setiap M(i), lakukan langkah langkah sebagai berikut ini : Step 1 : Divide M(i) into 16 words W(0), W(1), , W(15), where W(0) is the left -most word. Step 2 : For t = 16 to 79 do W(t) = S^1( W(t-3) XOR W(t-8) XOR W(t-14) XOR W(t-16) ) Step 3 : Let A = H0, B = H1, C = H2, D = H3, E = H4 Step 4 : For t = 0 to 79 do TEMP = S^5(A) + f(t;B,C,D) + E + W(t) + K(t); E = D; D = C; C = S^30(B); B = A; A = TEMP; Step 5 : H0 = H0 + A; H1 = H1 + B; H2 = H2 + C; H3 = H3 + D;

H4 = H4 + E; Setelah memproses M(n), message diggest adalah 160-bit string yang direpresentasikan oleh 5 word

III. IMPLEMENTASI

A. Konsep Penerapan Edge Detection dan Fungsi SHA -1 dalam Photo Recognition dan Otentikasi Ide utama dari penerapan Photo Recognition dari hasil Edge Detection ini adalah untuk menghasilkan sebuah gambar yang memilki tingkat kesamaan yang tinggi. Sehingga meskipun gambardicetak dan diambil kembali gambar digital dari hasilcetakan tersebut, dapat dihasilkan gambar yang hampersama setelah diekstraksi tepinya. Penggunaan fungsi hash adalah untuk membandingkan kedua gambar tersebut.

Jika transfer data dilakukan dengan mengirim gambaruntuk dibandingkan dengan gambar yang ada di server penyimpan, maka diperlukan akses koneksi yang aman dancepat. Tentunya biaya yang

diperlukan untuk pengadaanlayanan tersebut tidak murah. Kapasistasnya punharus besar untuk dapat menampungdata seluruh gambar. Dengan menggunakan edge detection pada foto pengenal identitas, device yang digunakan sebagai saranaautentikasi menjadi lebih murah. Device yang diperlukan secara umum dapat dimiliki oleh banyak orang, yang biladibandingkan dengan device untuk mengidentifikasi sidikjari yang lebih mahal dan sulit untuk diperoleh. Prosesrequest data dari server juga lebih cepat karena bentukpertukaran data yang terjadi hanya berupa teks messagedigest SHA-1 dari gambar yang diekstraksi tepinyadengan data dari server.

B. Uji Akurasi Photo Recognition Pada bagian ini, akan dilakukan pengujian akurasifungsi hash terhadap beberapa gambar yang telahdiekstraksi fungsi hashnya. Algoritma Edge Detectionyang digunakan berdasarkan metodeCanny, dan algoritma ini disebut sebagai algoritma canny edgedetection. Algoritma fungsi hash yang digunakan adalahSHA-1. Berikut ini merupakan hasil uji terhadap gambar foto :

Gambar 3. Foto Asli (bag. kiri) & Foto Uji dengan brigthness tinggi (bag. kanan)

Gambar 4. Foto Asli (bag. kiri) & Foto Uji dengan brigthness rendah (bag. kanan)

Gambar 5. Foto Asli (bag. kiri)& Foto Uji yang identik dengan Foto Asli (bag. kanan)

Hasil ekstraksi tepidari kedua gambar dan message digestnya adalah sebagaiberikut :

Gambar 6. Edge Detection Foto Asli (bag. kiri) &Edge Detection Foto Uji dengan brigthness tinggi (bag. kanan)

Message Digest Foto asli : 2757AB106E00BEA8E9F1A7CFEED965627426FBD5 Message Digest Foto Uji : 9292A57C2A84D214B6DF042E16DF9A4227E89884

Gambar 7. Edge Detection Foto Asli (bag. kiri) & Edge Detection Foto Uji dengan brigthness rendah (bag. kanan)

Message Digest Foto asli : 2757AB106E00BEA8E9F1A7CFEED965627426FBD5 Message Digest Foto Uji : 7BD3EDDF7FD4AEDE3DCFCD15D80464F06F564A35

Gambar 8. Edge Detection Foto Asli (bag. kiri) & Edge Detection Foto Uji yang identik dengan Foto Asli (bag. kanan)

Message Digest Foto asli : 2757AB106E00BEA8E9F1A7CFEED965627426FBD5 Message Digest Foto Uji : 2757AB106E00BEA8E9F1A7CFEED965627426FBD5

Dari hasil diatas didapati bahwa meski gambar hasilekstraksi tepi terlihat sama, setelah di cek SHAnya foto tersebut masih menghasilkan message digest yangberbeda. Hal ini dikarenakan masih banyaknya noise yangmuncul dari foto hasil ekstraksi tepi. Metode ini akan menjadi lebih akurat bila pada tahap canny edge detection dilakukan thresholding yang berulang, sehingga didapat edge detection yang murni hanya tepi saja tanpa adanya noise.

IV. KESIMPULAN DAN SARAN

A. Kesimpulan Berikut ini kesimpulan yang dapat ditarik dari implementasi di atas :  Kelebihan : Besar ruang penyimpanan yang dibutuhkan jauhlebih kecil. Sebagai perbandingan, penyimpanandalam bentuk gambar menghabiskan ruang 2 kilobyte sedangkan dengan message digest membuthkanruang 40 karakter. Jika satu karakter menghabiskan1 byte, mak ruang yang dibutuhkan a hanya sekitar40 byte.  Kekurangan : Hasil message digest dari gambar yang telahdiekstraksi tepinya masih berbeda. Hasil ekstraksitepi dari setiap gambar belum mereduksi noisehingga tingkat dimana gambar yang didapat hanyatepi yang menjadi primary key gambar.  Permasalahan : Permasalahan muncul ketika terdapat satu titikperbedaan pada gambar kartu identitas pendudukyang tidak dapat direduksi, sehingga hasil message digestnya tidak akan pernah menemui kesamaan dengan data server. Untuk mengatasi permasalahan ini, kualitas hasil pencetakan gambar foto pada kartuidentitas harus baik, dan pereduksian noise dari gambar hasil ekstraksi adalah pook bahasan yang harus diselesaikan untuk mendapatkan hasil message digest yang tepat. B. Saran Berikut ini saran sebagai masukan penelitian selanjutnya terkait dengan masalah ini :  Penyempurnaan Algoritma Canny : Perlu adanya evaluasi, percobaan dan pelatihan kembali algoritma Canny yang telah dibangun agar hasil deteksi tepi yang diharapkan hanya mengindikasikan edge dari objek foto saja dan meminimalisir adanya edge-edge semu yang dihasilkan karena adanya noise / derau atau karena pengembangan algoritma yang kurang maksimal.

V. REFERENSI

Afif, Irfan. (2010). Fungsi Hash Biometrik Sebagai Sistem Keamanan KartuTanda Penduduk . Diakses pada 18 Juni (2011) dari : http://www.informatika.org/~rinaldi/Kriptografi/2009-010/Makalah2/Makalah2_IF3058_2010_065.pdf Anonim. (2011). Canny edge detector. Diakses pada 18Juni (2011) dari : http://en.wikipedia.org/wiki/Canny_edge_detector Anonim. (2011). SHA-1. Diakses pada 18Juni (2011) dari :http://en.wikipedia.org/wiki/SHA-1 Munir,Rinaldi. (2007).Fungsi Hash. Diakses pada18Juni (2011) dari : http://www.informatika.org/~rinaldi/Kriptografi/2010-2011/Fungsi%20Hash.ppt

You might also like