Perbedaan MD5 dan SHA-1
Hash adalah suatu teknik "klasik" dalam Ilmu Komputer yang banyak digunakan dalam praktek
secara mendalam. Hash merupakan suatu metode yang secara langsung mengakses
record-record dalam suatu tabel dengan melakukan transformasi aritmatik pada key yang
menjadi alamat dalam tabel tersebut. Key merupakan suatu input dari pemakai di mana pada
umumnya berupa nilai atau string karakter. Pelacakan dengan menggunakan Hash terdiri dari
dua langkah utama, yaitu:
1. Menghitung Fungsi Hash. Fungsi Hash adalah suatu fungsi yang mengubah key menjadi
alamat dalam tabel. Fungsi Hash memetakan sebuah key ke suatu alamat dalam tabel.
Idealnya, key-key yang berbeda seharusnya di petakan ke alamat-alamat yang berbeda juga.
Pada kenyataannya, tidak ada fungsi Hash yang sempurna. Kemungkinan besar yang terjadi
adalah dua atau lebih key yang berbeda dipe takan ke alamat yang sama dalam tabel.
Peristiwa ini disebut dengan collision (tabra kan). Karena itulah diperlukan langkah
berikutnya, yaitu collision resolution (pemecahan tabrakan).
2. Collision Resolution. Collision resolution merupakan proses untuk menangani kejadian dua
atau lebih key di-hash ke alamat yang sama. Cara yang dilakukan jika terjadi collision
adalah mencari lokasi yang kosong dalam tabel Hash secara terurut. Cara lainnya adalah
dengan menggunakan fungsi Hash yang lain untuk mencari lokasi kosong tersebut.
MD5
Fungsi hash yang paling banyak digunakan dalam keamanan jaringan komputer dan internet
adalah MD5 yang dirancang oleh Ron Rivest yang juga merupakan salah satu pengembang
algoritma RSA pada tahun 1991. MD5 merupaka n kelanjutan daru MD4 yang dirancang dengan
tujuan keamanan. Secara perhitungan matetamatis tidak dimungkinkan untuk mendapatkan dua
pesan yang memiliki hash yang sama. Tidak ada serangan yang lebih efisien untuk
membongkar/mengetahui hash suatu pesan selain brute-force.
CARA KERJA MD5
MD5 mengolah blok 512 bit, dibagi kedalam 16 subblok berukuran 32 bit. Keluaran algoritma
diset menjadi 4 blok yang masing-masing berukuran 32 bit yang setelah digabungkan akan
membentuk nilai hash 128 bit.
Pesan diberi tambahan sedemikian sehingga panjang menjadi k-bit, dimana k = 512n – 64 bit. n
merupakan blok masukan. Tambahan ini diperlukan hingga pesan menjadi k bit. Kemudian 64
bit yang masing kosong, dibagian akhir, diisi pa njang pesan. Inisiasi 4 variabel dengan panjang
32 bit yaitu a,b,c,d. Variabel a,b,c,d dikopikan ke variabel a,b,c,d yang kemudian diolah melalui
4 tahapan yang sangat serupa. Setiap tahapan menggunakan 16 kali operasi berbeda,
menjalankan fungsi nonlinear pada tiga variabel a,b,c, atau d. Hasilnya ditambahkan ke variabel
keempat, subblok pesan dan suatu konstanta. Kemudian dirotasi kekiri beberapa bit yang
kemudian ditambahkan ke salah satu dari a,b,c, atau d. Kemudian nilai a,b,c, dan d
menggantikan nilai a,b,c, dan d. Kemudian dikeluarkan output yang merupakan gabungan dari
a,b,c, dan d. Fungsi kompresi yang digunakan oleh algoritma md5 adalah sebagai berikut :
a ← b + (( a + g ( b,c,d) + X[k] + T[i] <<< s ), dimana g adalah salah fungsi primitif F,G,H,I
seperti dibawah ini :
dan operasi XOR, AND, OR, dan NOT adalah sebagai berikut :
SHA
SHA dikembangkan oleh National Institute of Standards and Technology ( NIST ) dan National
Security Agency ( NSA ) sebagai komponen Digital Signature Standart ( DSS ) . Standart hash
adalah Secure Hash Standart ( SHS ) denga n SHA sebagai algoritma yang digunakan. SHS
menetapkan SHA yang diperlukan untuk menjamin keamanan Digital Signature Algorithm
( DSA ).
SHA - 1
Sebuah versi revisi dari SHA sebagai FIPS 180-1 pada tahun 1995 dan secara umum dikenal
sebagai SHA-1.
CARA KERJA SHA - 1
Pesan diberi tambahan untuk membuat panjangnya menjadi kelipatan 512 bit ( l x 512 ). Jumlah
bit asal adalah k bit. Tambahkan bit secukupnya sampai 64 bit kurangnya dari kelipatan 512
( 512 – 64 = 448 ), yang disebut juga kongruen dengan 448 ( mod 512 ). Kemudian tambahkan
64 bit yang menyatakan panjang pesan. Inisiasi 5 md variabel dengan panjang 32 bit yaitu
a,b,c,d,e. Pesan dibagi menjadi blok-blok berukuran 512 bit dan setiap blok diolah. Kemudian
keluaran setiap blok digabungkan dengan keluaran blok berikutnya, sehingga diperoleh output
( diggest ). Fungsi kompresi yang digunakan oleh algoritma sha-1 adalah sebagai berikut :
A,b,c,d,e ← ( e + f(t,b,c,d) + s
5
(a) + w
t
+ k
t
),a,s
30
(b),c,d.
PERBANDINGAN SHA-1 DAN MD5
Karena SHA-1 dan MD5 dikembangkan atau diturunkan dari MD4 maka keduanya mempunyai
kemiripina satu sama lain, baik kekuatan dan karakteristiknya.
1. Keamanan terhadap serangan brute-force. Hal yang paling penting adalah bahwa SHA-1
menghasilkan diggest 32-bit lebih panjang dari MD5. Dengan brute-force maka SHA-1
lebih kuat dibanding MD5.
2. Keamanan terhadap kriptanalisis. Kelemahan MD5 ada pada design sehingga lebih mudah
dilakukan kriptanalisis dibandingkan SHA-1
3. Kecepatan. Kedua algoritma bekerja pada modulo 2 sehingga keduanya bekerja baik pada
arsitektur 32 bit. SHA-1 mempunyai langkah lebih banyak dibandingkan MD5 ( 80
dibanding MD5 64 ) dan harus memproses 160 bit buffer dibanding DM5 128 bit buffer,
sehingga SHA-1 bekerja lebih lambat dibanding MD5 pada perangkat keras yang sama.
4. Simplicity. Kedua algoritma simple untuk dije laskan dan mudah untuk diiemplementasikan
karena tidak membutuhkan program yang besa r atau tabel subtitusi yang besar pula.
5. Little-endian Versus Big-endian Arsitektur. Md5 menggunakan skema little-endian,
sedangkan sha-1 menggunakan skema big-endian. Keduanya tidak memberikan keuntungan
yang signifikan untuk sha-1 maupun md5.
secara mendalam. Hash merupakan suatu metode yang secara langsung mengakses
record-record dalam suatu tabel dengan melakukan transformasi aritmatik pada key yang
menjadi alamat dalam tabel tersebut. Key merupakan suatu input dari pemakai di mana pada
umumnya berupa nilai atau string karakter. Pelacakan dengan menggunakan Hash terdiri dari
dua langkah utama, yaitu:
1. Menghitung Fungsi Hash. Fungsi Hash adalah suatu fungsi yang mengubah key menjadi
alamat dalam tabel. Fungsi Hash memetakan sebuah key ke suatu alamat dalam tabel.
Idealnya, key-key yang berbeda seharusnya di petakan ke alamat-alamat yang berbeda juga.
Pada kenyataannya, tidak ada fungsi Hash yang sempurna. Kemungkinan besar yang terjadi
adalah dua atau lebih key yang berbeda dipe takan ke alamat yang sama dalam tabel.
Peristiwa ini disebut dengan collision (tabra kan). Karena itulah diperlukan langkah
berikutnya, yaitu collision resolution (pemecahan tabrakan).
2. Collision Resolution. Collision resolution merupakan proses untuk menangani kejadian dua
atau lebih key di-hash ke alamat yang sama. Cara yang dilakukan jika terjadi collision
adalah mencari lokasi yang kosong dalam tabel Hash secara terurut. Cara lainnya adalah
dengan menggunakan fungsi Hash yang lain untuk mencari lokasi kosong tersebut.
MD5
Fungsi hash yang paling banyak digunakan dalam keamanan jaringan komputer dan internet
adalah MD5 yang dirancang oleh Ron Rivest yang juga merupakan salah satu pengembang
algoritma RSA pada tahun 1991. MD5 merupaka n kelanjutan daru MD4 yang dirancang dengan
tujuan keamanan. Secara perhitungan matetamatis tidak dimungkinkan untuk mendapatkan dua
pesan yang memiliki hash yang sama. Tidak ada serangan yang lebih efisien untuk
membongkar/mengetahui hash suatu pesan selain brute-force.
CARA KERJA MD5
MD5 mengolah blok 512 bit, dibagi kedalam 16 subblok berukuran 32 bit. Keluaran algoritma
diset menjadi 4 blok yang masing-masing berukuran 32 bit yang setelah digabungkan akan
membentuk nilai hash 128 bit.
Pesan diberi tambahan sedemikian sehingga panjang menjadi k-bit, dimana k = 512n – 64 bit. n
merupakan blok masukan. Tambahan ini diperlukan hingga pesan menjadi k bit. Kemudian 64
bit yang masing kosong, dibagian akhir, diisi pa njang pesan. Inisiasi 4 variabel dengan panjang
32 bit yaitu a,b,c,d. Variabel a,b,c,d dikopikan ke variabel a,b,c,d yang kemudian diolah melalui
4 tahapan yang sangat serupa. Setiap tahapan menggunakan 16 kali operasi berbeda,
menjalankan fungsi nonlinear pada tiga variabel a,b,c, atau d. Hasilnya ditambahkan ke variabel
keempat, subblok pesan dan suatu konstanta. Kemudian dirotasi kekiri beberapa bit yang
kemudian ditambahkan ke salah satu dari a,b,c, atau d. Kemudian nilai a,b,c, dan d
menggantikan nilai a,b,c, dan d. Kemudian dikeluarkan output yang merupakan gabungan dari
a,b,c, dan d. Fungsi kompresi yang digunakan oleh algoritma md5 adalah sebagai berikut :
a ← b + (( a + g ( b,c,d) + X[k] + T[i] <<< s ), dimana g adalah salah fungsi primitif F,G,H,I
seperti dibawah ini :
dan operasi XOR, AND, OR, dan NOT adalah sebagai berikut :
SHA
SHA dikembangkan oleh National Institute of Standards and Technology ( NIST ) dan National
Security Agency ( NSA ) sebagai komponen Digital Signature Standart ( DSS ) . Standart hash
adalah Secure Hash Standart ( SHS ) denga n SHA sebagai algoritma yang digunakan. SHS
menetapkan SHA yang diperlukan untuk menjamin keamanan Digital Signature Algorithm
( DSA ).
SHA - 1
Sebuah versi revisi dari SHA sebagai FIPS 180-1 pada tahun 1995 dan secara umum dikenal
sebagai SHA-1.
CARA KERJA SHA - 1
Pesan diberi tambahan untuk membuat panjangnya menjadi kelipatan 512 bit ( l x 512 ). Jumlah
bit asal adalah k bit. Tambahkan bit secukupnya sampai 64 bit kurangnya dari kelipatan 512
( 512 – 64 = 448 ), yang disebut juga kongruen dengan 448 ( mod 512 ). Kemudian tambahkan
64 bit yang menyatakan panjang pesan. Inisiasi 5 md variabel dengan panjang 32 bit yaitu
a,b,c,d,e. Pesan dibagi menjadi blok-blok berukuran 512 bit dan setiap blok diolah. Kemudian
keluaran setiap blok digabungkan dengan keluaran blok berikutnya, sehingga diperoleh output
( diggest ). Fungsi kompresi yang digunakan oleh algoritma sha-1 adalah sebagai berikut :
A,b,c,d,e ← ( e + f(t,b,c,d) + s
5
(a) + w
t
+ k
t
),a,s
30
(b),c,d.
PERBANDINGAN SHA-1 DAN MD5
Karena SHA-1 dan MD5 dikembangkan atau diturunkan dari MD4 maka keduanya mempunyai
kemiripina satu sama lain, baik kekuatan dan karakteristiknya.
1. Keamanan terhadap serangan brute-force. Hal yang paling penting adalah bahwa SHA-1
menghasilkan diggest 32-bit lebih panjang dari MD5. Dengan brute-force maka SHA-1
lebih kuat dibanding MD5.
2. Keamanan terhadap kriptanalisis. Kelemahan MD5 ada pada design sehingga lebih mudah
dilakukan kriptanalisis dibandingkan SHA-1
3. Kecepatan. Kedua algoritma bekerja pada modulo 2 sehingga keduanya bekerja baik pada
arsitektur 32 bit. SHA-1 mempunyai langkah lebih banyak dibandingkan MD5 ( 80
dibanding MD5 64 ) dan harus memproses 160 bit buffer dibanding DM5 128 bit buffer,
sehingga SHA-1 bekerja lebih lambat dibanding MD5 pada perangkat keras yang sama.
4. Simplicity. Kedua algoritma simple untuk dije laskan dan mudah untuk diiemplementasikan
karena tidak membutuhkan program yang besa r atau tabel subtitusi yang besar pula.
5. Little-endian Versus Big-endian Arsitektur. Md5 menggunakan skema little-endian,
sedangkan sha-1 menggunakan skema big-endian. Keduanya tidak memberikan keuntungan
yang signifikan untuk sha-1 maupun md5.
Thank's for reading the articelPerbedaan MD5 dan SHA-1 .If You want to copy paste your website please tag my link Perbedaan MD5 dan SHA-1 Intro My Website.
0 comments:
Post a Comment