Anda di halaman 1dari 26

Pendahuluan


Fungsi hash: fungsi yang
- menerima masukan string yang
panjangnya sembarang,
- lalu mentransformasikannya menjadi string
keluaran yang panjangnya tetap (fixed)
(umumnya berukuran jauh lebih kecil
daripada ukuran string semula).

1
Macam – macam Fungsi HASH
a. Fungsi Modulo
b. Metode Pemotongan
c. Metode Pelipatan
d. Metode Pengkuadratan
e. Penambahan Kode ASCII
a.Fungsi Modulo

• Home address dicari dengan cara mencari sisa hasil


bagi
nilai kunci dengan suatu nilai tertentu
f(key)  key mod n
Dengan nilai n dapat berupa 2 kemungkinan, yaitu :
1. Banyaknya ruang alamat yang tersedia
2. Bilangan prima terdekat yang berada di atas nilai
banyaknya data, setelah itu banyaknya ruang
alamat disesuaikan dengan n
a.Fungsi Modulo
1. N = ukuran tabel/ berkas
N = 12
30 mod N = 6 menghasilkan 2 sisa 6
40 mod N = 4 menghasilkan 3 sisa 4
50 mod N = 2 menghasilkan 4 sisa 2
60 mod N = 0 menghasilkan 5 sisa 0
Fungsi Modulo
2. P  bilangan prima terkecil yang lebih
besar
atau sama dengan N
Untuk N = 12 maka P = 13
30 mod P = 4 menghasilkan 2 sisa 4
40 mod P = 1 menghasilkan 3 sisa 1
Untuk N = 15 maka P = 17
50 mod P = 16 menghasilkan 2 sisa 16
70 mod P = 2 menghasilkan 4 sisa 2
b.Metode Pemotongan
• Home address dicari dengan memotong
nilai kunci ke jumlah digit tertentu yang
lebih pendek
• Contoh :
NIP 9 digit dipotong menjadi 3 digit dengan
menggambil 3 nomor terakhir. Misal NIP
132312090 memiliki home address 090/ 90
c. Metode Pelipatan
• Diandalkan kuci rekaman ditulis di atas
kertas dan dilipat ke dalam bagian – bagian
yang sama panjang, lalu setiap bagian
dijumlahkan. Folding (Metoda Pelipatan),
dapat dilakukan dengan cara:
1. Folding by boundary
2. Folding by shifting
c. Metode Pelipatan
1. Folding by boundary
• contoh jika key = 123456789, maka transformasi
ke 3 digit address dengan teknik folding by
boundary dapat dilakukan dengan membagi
digit key tsb dengan cara seolah-olah melipat
batas pembagian digit seperti berikut :

*apabila kode – kode itu ditambahkan (tanpa carry) , maka


diperoleh 654
c. Metode Pelipatan
2. Folding by shifting
contoh jika key = 123456789, maka transformasi
ke 3 digit address dengan teknik folding by
shifting dapat dilakukan dengan membagi digit
key tsb dengan cara seolah-olah menggeser batas
pembagian digit seperti berikut :

*apabila kode – kode itu ditambahkan (tanpa carry) ,


maka diperoleh 258
c. Metode Pelipatan
• Nilai NIP  132312090
• Tentukan hasil penjumlahan dengan
Folding by boundary dan Folding by
shifting!
d.Metode Pengkuadratan
• Home address dicari dengan
mengkuadratkan setiap digit pembentuk
kunci, lalu semua hasilnya dijumlahkan
• Contoh :
• Carilah pengkuadratan dari 782
e.Penambahan Kode ASCII
• Jika kunci bukan berupa kode numerik.
• Home address dicari dengan menjumlahkan
kode ASCII setiap huruf pembentuk kunci.
• Contoh : Rekaman dengan kunci ADE
memiliki home address 65+68+69 = 192
Masukan Nilai hash

Halo Fungsi hash aa6df57fb6fe377d80


b4a257b4a92cba

Nomor teleponku 09c88f0b91d74b292


Fungsi hash
08122113451 e6f89587ab63921

"Tsunami" menjadi
kata yang populer Fungsi hash a996de118c61eac49
di Indonesia saat ini 63989aa2d73e67e

13

Persamaan fungsi hash:
h = H(M)
M = pesan kuran sembarang
h = nilai hash atau pesan-ringkas (message-
digest)
h <<<< M


Contoh: size(M) = 1 MB  size(h) = 128 bit !!!!

Nama lain fungsi hash adalah:
- fungsi kompresi (compression function)
- cetak-jari (fingerprint)
- cryptographic checksum
- message integrity check (MIC)
- manipulation detection code (MDC)
14
Fungsi Hash Satu-Arah

Fungsi hash satu-arah (one-way
function):
– fungsi hash yang bekerja
dalam satu arah. – satu arah:
pesan yang sudah diubah
menjadi message digest tidak
dapat
15
Sifat-sifat fungsi hash satu-arah adalah sebagai berikut:
1. Fungsi H dapat diterapkan pada blok data berukuran berapa saja.
2. H menghasilkan nilai (h) dengan panjang tetap (fixed-length
output).
3. H(x) mudah dihitung untuk setiap nilai x yang diberikan.
4. Untuk setiap h yang dihasilkan, tidak mungkin dikembalikan nilai
x sedemikian sehingga H(x) = h. Itulah sebabnya fungsi H
dikatakan fungsi hash satu-arah (one-way hash function).
5. Untuk setiap x yang diberikan, tidak mungkin mencari y  x
sedemikian sehingga H(y) = H(x).
6. Tidak mungkin mencari pasangan x dan y sedemikian sehingga
H(x) = H(y).
16
Sifat-sifat fungsi hash satu-arah adalah sebagai berikut:
1. Fungsi H dapat diterapkan pada blok data berukuran
berapa saja.
2. H menghasilkan nilai (h) dengan panjang tetap (fixed-
length output).
3. H(x) mudah dihitung untuk setiap nilai x yang
diberikan.
4. Untuk setiap h yang dihasilkan, tidak mungkin
dikembalikan nilai x sedemikian sehingga H(x) = h.
Itulah sebabnya fungsi H dikatakan fungsi hash satu-
arah (one-way hash function).
5. Untuk setiap x yang diberikan, tidak mungkin mencari
y  x sedemikian sehingga H(y) = H(x).
6. Tidak mungkin mencari pasangan x dan y
sedemikian sehingga H(x) = H(y).
17
Masukan fungsi hash adalah blok pesan (M) dan keluaran dari
hashing blok pesan sebelumnya,

hi = H(Mi, hi – 1)

Skema fungsi hash ditunjukkan pada Gambar di bawah:

Mi Fungsi hash hi
hi – 1 satu-arah

Gambar Fungsi hash satu-arah

18

Ada beberapa fungsi hash satu-arah yang
sudah dibuat orang, antara lain:
- MD2, MD4, MD5,
- Secure Hash Function (SHA),
- Snefru,
- N-hash,
- RIPE-MD, dan lain-lain


(Catatan: MD adalah singkatan dari Message
Digest).
19
Tabel 12.1 Beberapa fungsi hash

Algoritma Ukuran message Ukuran Kolisi


digest (bit) blok pesan
MD2 128 128 Ya
MD4 128 512 Hampir
MD5 128 512 Ya
RIPEMD 128 512 Ya
RIPEMD-128/256 128/256 512 Tidak
RIPEMD-160/320 160/320 512 Tidak
SHA-0 160 512 Ya
SHA-1 160 512 Ada cacat
SHA-256/224 256/224 512 Tidak
SHA-512/384 512/384 1024 Tidak
WHIRLPOOL 512 512 Tidak

20
Aplikasi Fungsi Hash Satu-Arah
1. Menjaga integritas data
- Fungsi hash sangat peka terhadap
perubahan 1 bit pada pesan
- Pesan berubah 1 bit, nilai hash berubah
sangat signifikan.
- Bandingkan nilai hash baru dengan nilai
hash lama. Jika sama, pesan masih asli.
Jika tidak sama, pesan sudah dimodifikasi

21
2. Menghemat waktu pengiriman.
- Misal untuk memverifikasi sebuah salinan arsip
dengan arsip asli.
- Salinan dokumen berada di tempat yang jauh dari
basisdata arsip asli
- Ketimbang mengirim salinan arsip tersebut secara
keseluruhan ke komputer pusat (yang
membutuhkan waktu transmisi lama), lebih
mangkus mengirimkan message digest-nya.
- Jika message digest salinan arsip sama dengan
message digest arsip asli, berarti salinan arsip
tersebut sama dengan arsip master.

22
3. Menormalkan panjang data yang beraneka ragam.
- Misalkan password panjangnya bebas (minimal
8 karakter)
- Password disimpan di komputer host (server)
untuk keperluan otentikasi pemakai komputer.
- Password disimpan di dalam basisdata.
- Untuk menyeragamkan panjang field password
di dalam basisdata, password disimpan dalam
bentuk nilai hash (panjang nilai hash tetap).

23
Beberapa web tools Hasing


https://www.tools4noobs.com/onlin
e_tools/hash/

https://defuse.ca/secure-php-encry
ption.htm

https://
www.md5hashgenerator.com/
 https://www.cs.auckland.ac.nz/softw
are/AlgAnim/hash_tables.html
 Soal


1. Berapakah home-address dari rekaman rekaman dengan kunci 3 digit NIM
terakhir anda bila diketahui berkas memiliki 11 rekaman (N=11)

2. Carilah home-address anda masing masing dengan ketentuan

a. Hashing dengan pemotongan (ambil 3 digit terakhir dari NIM anda)

b. Hashing dengan lipatan dari NIM anda (Folding by boundary dan Folding by
shifting!)

c. Hashing dengan penguadratan NIM anda

3. Hashing dengan penambahan nilai ACII (Kunci=Nama depan Anda)

Anda mungkin juga menyukai