Anda di halaman 1dari 9

BISMILLAH PRESENTASI PAK MULADI

Pembahasan :
-

Penjelasan fungsi hash


Jenis-jenis fungsi hash dan penjelasannya
Jenis-jenis Messages Authentication dan penjelasannya

Penjelasan fungsi hash


Fungsi Hash merupakan sebuah algoritma yang mengubah text atau message
menjadi sederetan karakter acak yang memiliki jumlah karakter yang sama. Hash erat
kaitannya dengan enkripsi. Hash adalah hasil enkripsi dari sebuah password atau
informasi yang dianggap penting. Sedangkan Enkripsi adalah proses mengamankan suatu
informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan
pengetahuan khusus. Hash juga termasuk salah satu bentuk teknik kriptografi dan
dikategorikan sebagai kriptografi tanpa key (unkeyed cryptosystem). Selain itu hash
memiliki nama lain yang juga dikenal luas yaitu one-way function.
Menurut Kaufman et. al. (2002), Fungsi hash dapat digunakan sebagai:
1. Menyimpan Password
2. Sebagai Message Integrity
3. Sebagai Message Fingerprint
Dobbertin (1996) dalam artikelnya menyebutkan bahwa dalam membuat fungsi hash
harus memenuhi beberapa kriteria berikut:
1. Relative cepat dalam melakukan komputasi
2. 2 buah pesan yang berbeda tidak boleh memiliki nilai hash yang sama
3. Bebas dari serangan Birthday Attack (dari sebanyak 264 atau ~18 446 744 073 709
551 616 pesan kemungkinan besar didapat 2 pesan yang memiliki nilai hash yang
sama)
4. 2 Pesan yang memiliki sangat sedikit perbedaan harus memiliki nilai hash yang
sangat berbeda (Kaufman et. al., 2002).

contoh fungsi hash

Jenis-jenis fungsi hash


1. MD2, MD4, & MD5
Algoritma MD2 dikembangkan oleh Ron Rivest pada tahun 1989.
Algoritma ini dioptimasikan dengan mennggunakan komputer 8-bit.
MD2 sebenarnya dispesifikasikan dalam RFC 1319. Algoritma MD2
menghasilkan nilai hash yang berukuran 128-bit dan menerima input
pesan dengan panjang yang tidak ditentukan. Pesan yang akan
dijadikan input untuk fungsi hash ini akan terlebih dahulu akan
dipadding. Untuk kalkulasi yang sebenarnya. Misalkan kita memiliki
sejumlah b-byte pesan sebagai input, dan kita mengharapkan untuk
dapat mendapatkan message digest dari pesan tersebut. Dalam hal ini,
b merupakan suatu bilangan bulat sembarang yang bernilai positif, bisa
juga nol, dan besarnya sembarang. Ada 4 tahap untuk menghasilkan
message digest untuk algoritma MD2.
1) Memasukkan Padding Byte
2) Memasukkan Checksum
3) Inisialisasi penyangga MD
4) Memproses pesan dalam blok 16-byte
Message-Digest algortihm 4(seri ke-4) yang dirancang oleh Profesor
Ronald Rivest dari MIT pada tahun 1990.

Panjangnya adalah 128 bit.


MD4 juga digunakan untuk menghitung NT-hash ringkasan password
pada Microsoft Windows NT, XP dan Vista.
contoh : 31d6cfe0d16ae931b73c59d7e0c089c0
MD5 adalah salah satu dari serangkaian algortima message digest
yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994).
Saat kerja analitik menunjukkan bahwa pendahulu MD5 yaitu MD4
mulai tidak aman, MD5 kemudian didesain pada tahun 1991 sebagai
pengganti dari MD4 (kelemahan MD4 ditemukan oleh Hans
Dobbertin). Dalam kriptografi, MD5 (Message-Digest algortihm 5)
ialah fungsi hash kriptografik yang digunakan secara luas dengan hash
value 128-bit. Pada standart Internet (RFC 1321), MD5 telah
dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan
MD5 juga umum digunakan untuk melakukan pengujian integritas
sebuah file.
2. SHA adalah fungsi hash satu-arah yang dibuat oleh NIST dan digunakan
bersama DSS (Digital Signature Standard). Oleh NSA, SHA dinyatakan
sebagai standard fungsi hash satu-arah. SHA didasarkan pada MD4 yang
dibuat oleh Ronald L. Rivest dari MIT. SHA disebut aman (secure) karena ia
dirancang sedemikian sehingga secara komputasi tidak mungkin menemukan
pesan yang berkoresponden dengan message digest yang diberikan. Algoritma
SHA menerima masukan berupa pesan dengan ukuran maksimum 264 bit
(2.147.483.648 gigabyte) dan menghasilkan message digest yang panjangnya
160 bit, lebih panjang dari message digest yang dihasilkan oleh MD5.
Langkah-langkah pada SHA-1 adalah sebagai berikut:
1) Melakukan padding terhadap pesan sehingga panjangnya adalah 448
modulus 512.
2) 64 bit sisanya adalah representasi biner dari panjang pesan.
3) Melakukan inisialisasi5 word buffer (160 bit)A, B, C, D, dan E dengan
nilai A=67452301, B=efcdab89, C=98badcfe, D= 10325476, dan
E=c3d2e1f0.

4) Memproses pesan dalam blok-blok 16 word (512 bit) dengan


ketentuan
- Ekspansi 16 words menjadi 80 words dengan teknik mixing
-

dan shifting.
Menggunakan 4 round dari 20 operasi bit pada blok pesan dan

buffer.
Menambahkan output dengan input untuk mempeoleh nilai

buffer yang baru


5) Output nilai hash adalah nilai terakhir dari buffer.
Jadi intinya SHA-1 adalah suatu algoritma hash yang memetakan inputan
string dengan panjang sembarang menjadi output dengan panjang tetap
yaitu 160 bit.
3. Whirlphool
Whirlpool adalah fungsi hash yang didesain oleh Vincent Rijmen dan Paulo S.
L. M. Barreto yang beroperasi pada pesan yang memiliki ukuran kurang dari
2256 bit, dan menghasilkan message digest berukuran 512 bit. Whirlpool
memiliki 3 buah versi. Versi pertama, Whirlpool-0 diajukan ke proyek
NESSIE. Versi selanjutnya, yaitu Whirlpool-T, yang merupakan perbaikan
dari versi sebelumnya, dipilih sebagai portfolio NESSIE untuk primitive
kriptografik.Kesalahan pada diffusion layer dikemukakan oleh Shirai dan
Shibutani dan kemudian diperbaiki lagi, dan versi finalnya (yang disebut juga
sebagai

Whirlpool)

diadopsi

oleh

International

Organization

for

Standardization (ISO) pada standard ISO/IEC 10118-3:2004. Whirlpool


menggunakan penguatan Merkle-Damgrd dan skema hash MiyaguchiPreenel dengan blok berukuran 512 bit yang disebut W. Cara kerjanya adalah
sebagai berikut :
1) String dari bit yang akan di-hash di padding dengan bit 1
2) Lakukan padding dengan kumpualn bit 0.
3) Kemudian, lakukan padding dengan nilai bit dari

Jenis-jenis messages authentication


1. MAC: fungsi satu-arah yang menggunakan kunci rahasia (secret key) dalam
pembangkitan nilai hash. Bandingkan dengan MD5 atau SHA yang tidak memerlukan
kunci untuk menghasilkan nilai hash. Nilai hash yang dihasilkan selalu berukuran
tetap (fixed) untuk ukuran pesan berapa saja. MAC dilekatkan (embed) pada pesan.
Selanjutnya, MAC digunakan untuk otentikasi tanpa perlu merahasiakan pesan. MAC
bukanlah tanda-tangan digital. MAC hanya menyediakan otentikasi pengirim dan
otentikasi pesan saja.

(a) Algoritma MAC berbasis cipher blok


- MAC dibangkitkan dengan menggunakan algoritma cipher blok dengan
-

mode CBC atau CFB.


Nilai hash-nya (yang menjadi MAC) adalah hasil enkripsi blok terakhir.
Misalkan DES digunakan sebagai cipher blok, maka ukuran blok adalah

64 bit, dan kunci rahasia MAC adalah kunci DES yang panjangnya 56 bit.
Data Authentication Algorithm (DAA) adalah algoritma MAC berbasis

DES-CBC yang digunakan secara luas.


(b) Algoritma MAC berbasis fungsi hash satu-arah

Fungsi hash seperti MD5 dapat digunakan sebagai MAC.


Caranya:
1. Misalkan A dan B akan bertukar pesan. A dan B berbagi sebuah kunci
rahasia K.
2. A menyambung (concate) pesan M dengan K, lalu menghitung nilai
hash dari hasil penyambungan itu: H(M, K)
3. Nilai hash ini adalah MAC dari pesan tersebut. A lalu mengirim M dan
MAC kepada B.
4. B dapat melakukan otentikasi terhadap pesan karena ia mengetahui

kunci K.
2. Algoritma RSA merupakan salah satu algoritma public key yang populer dipakai dan
bahkan masih dipakai hingga saat ini. Kekuatan algoritma ini terletak pada proses
eksponensial, dan pemfaktoran bilangan menjadi 2 bilangan prima yang hingga kini
perlu waktu yang lama untuk melakukan pemfaktorannya.
Algoritma ini dinamakan sesuai dengan nama penemunya, Ron Rivest, Adi Shamir
dan Adleman(Rivest-Shamir-Adleman) yang dipublikasikan pada tahun 1977 di MIT,
menjawab tantangan yang diberikan algoritma pertukaran kunci Diffie Hellman.
Skema RSA sendiri mengadopsi dari skema block cipher, dimana sebelum dilakukan
enkripsi, plainteks yang ada dibagi bagi menjadi blok blok dengan panjang yang
sama, dimana plainteks dan cipherteksnya berupa integer(bilangan bulat) antara 1
hingga n, dimana n berukuran biasanya sebesar 1024 bit, dan panjang bloknya sendiri
berukuran lebih kecil atau sama dengan log(n) +1 dengan basis 2. Fungsi enkripsi dan
dekripsinya dijabarkan dalam fungsi berikut :
C = Me mod n ( fungsi enkripsi )
M = Cd mod n (fungsi dekripsi)
C = Cipherteks
M = Message / Plainteks
e = kunci publik
d= kunci privat

n = modulo pembagi(akan dijelaskan lebih lanjut )


Kedua pihak harus mengetahui nilai e dan nilai n ini, dan salah satu pihak harus
memilki d untuk melakukan dekripsi terhadap hasil enkripsi dengan menggunakan
public key e. Penggunaan algoritma ini harus memenuhi kriteria berikut :
1. Memungkinkan untuk mencari nilai e, d, n sedemikian rupa sehingga Med mod n
= M untuk semua M < n.
2. Relatif mudah untuk menghitung nilai Me mod n dan Cd mod n untuk semua
nilai M < n.
3. Tidak memungkinkan mencari nilai d jika diberikan nilai n dan e.
Syarat nilai e dan d ini, gcd(d,e)=1
sebelum memulai penggunaan RSA ini, terlebih dahulu kita harus memiliki bahan
bahan dasar sebagai berikut :
1. p, q = 2 bilangan prima yang dirahasiakan
2. n, dari hasil p.q
3. e, dengan ketentuan gcd ((n), e) =1
4. d, e-1 (mod (n))
Saya akan berikan satu contoh :
1. Pilih 2 bilangan prima, misalnya p = 17 dan q = 11.
2. Hitung n = pq = 17 11 = 187.
3. Hitung (n) = (p 1)(q 1) = 16 10 = 160.
4. Pilih nilai e sedemikian sehingga relatif prima terhadap (n) = 160 dan kurang dari (n); kita
pilih e = 7.
5. Hitung d sedemikian sehingga de 1 (mod 160) dan d < 160.Nilai yang didapatkan d =
23,karena 23 7 = 161 = (1 160) + 1; d dapat dihitung dengan Extended Euclidean Algorithm.
Nah, nilai e dan d inilah yang kita sebut sebagai Public Key(e) dan Private Key(d). Pasangan
Kunci Publiknya ={7,187} dan Kunci Privatnya = {23, 187}

Sekarang kita aplikasikan dalam proses enkripsi.


Misalnya kita punya M 88. Untuk proses enkripsi, kita akan menghitung C = 887 mod 187.
= 887 mod 187.
=894,432 mod 187
=11
Nah, kita mendapatkan nilai C =11.
Selanjutnya, nilai C ini dikirimkan kepada penerima untuk didekripsi dengan kunci privat
miliknya.
M = Cd mod n
= 1123 mod 187
=79,720,245 mod187
= 88

Anda mungkin juga menyukai