spirit...

mimpi saja tak akan pernah cukup yang terpenting adalah bagaimana kita bangun dari mimpi untuk mewujudkannya bukan terus semakin terbuai dengan mimpi...
-tiezdimas-

sebuah catatan kecil

ENJOY READING MY BLOG HOPE YOU LIKE IT

Rabu, 23 Maret 2011

Perbedaan MD5 dan SHA Pada Hash Function

Pada semester ini saya mendapatkan mata kuliah Sistem Keamanan Komputer dan mendapatkan tugas untuk mencari perbedaan MD5 dan SHA pada hash function.
Disini saya akan menjelaskan secara sederhana tentang pengertian dan perbedaan dari MD5 dan SHA pada hash function.
Berikut penjelasannya :
Cryptographic Hash Function adalah suatu fungsi dengan inputan yang berubah-ubah
panjangnya (atau sangat panjang) dan memetakannya sehingga menghasilkan output
yang pendek dan panjang nya tetap.
Hash functions berawal dari ilmu komputer, dimana dibutuhkan sebuah fungsi yang
berguna untuk mengkompresi sebuah string dengan panjang yang berubah-ubah menjadi
sebuah string tetap yang lebih pendek.
Hash functions digunakan untuk menentukan
secara keseluruhan tempat penyimpanan yang mungkin dari sebuah file.

1. MD5 (Message-Digest algortihm 5)
MD5 ini merupakan kriptografik yang digunakan secara luas dengan hash value 128-bit. Maksudnya adalah Input algoritma ini adalah sebuah berita dengan panjang yang bervariasi dan menghasilkan output sebuah 128-bit message digest. MD5 ini telah digunakan pada berbagai macam aplikasi keamanan. Berikut cara kerja algoritma MD5 yang saya temukan di wikipedia.
Algoritma MD5 yang utama beroperasi pada kondisi 128-bit, dibagi menjadi empat word 32-bit, menunjukkan A, B, C dan D. Operasi tersebut di inisialisasi dijaga untuk tetap konstan. Algoritma utama kemudian beroperasi pada masing-masing blok pesan 512-bit, masing-masing blok melakukan pengubahan terhadap kondisi.Pemrosesan blok pesan terdiri atas empat tahap, batasan putaran; tiap putasan membuat 16 operasi serupa berdasar pada fungsi non-linear F, tambahan modular, dan rotasi ke kiri. Gambar satu mengilustrasikan satu operasi dalam putaran. Ada empat macam kemungkinan fungsi F, berbeda dari yang digunakan pada tiap-tiap putaran:

F(X,Y,Z) = (X\wedge{Y}) \vee (\neg{X} \wedge{Z})
G(X,Y,Z) = (X\wedge{Z}) \vee (Y \wedge \neg{Z})
H(X,Y,Z) = X \oplus Y \oplus Z
I(X,Y,Z) = Y \oplus (X \vee \neg{Z})
\oplus, \wedge, \vee, \neg menunjukkan operasi logikan XOR, AND, OR dan NOT.

2. SHA (Secure Hash Algorithm)
SHA merupakan salah satu hash function yang cukup banyak digunakan. Keluarga SHA yang paling banyak digunakan adalah SHA-1. SHA-1 memetakan inputan string dengan panjang sembarang menjadi suatu nilai hash dengan panjang tetap yaitu 160 bit. Ukuran internal state pada SHA-1 adalah 160 bit, sedangkan ukuran bloknya adalah 64 bytes.

SHA-1 merupakan hasil rekonstruksi dari MD4 dan memperbaiki kekurangann yang ada di MD4 itu sendiri. SHA-1 merupakan algoritma hash yang banyak diaplikasikan dalam keamanan protokol menggunakan SSL (Secure Sockets Layer), PGP (Pretty Good Privacy), XML Signature, dan beberapa aplikasi lainnya.

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.

Demikianlah penjelasan saya secara singkat semoga dapat bermanfaat.

0 komentar:

Posting Komentar