Karakteristik Fungsi Hash Secure Hash Algorithm SHA

2.11.1 Karakteristik Fungsi Hash

Dari beberapa definisi yang telah dijelaskan sebelumnya, dapat ditarik kesimpulan mengenai beberapa karakteristik fungsi hash, antara lain: 1. Fungsi hash dapat diimplementasikan untuk input data berapapun panjangnya, 2. Fungsi hash menghasilkan output dengan ukuran panjang yang tetap. 3. Untuk semua nilai input x, y = fx mudah untuk dihitung. Dengan kata lain terdapat polynomial time algorithm untuk menghitung y = fx dengan mengetahui nilai x. 4. Untuk semua nilai y yang berada pada daerah hasil f, dengan mengetahui nilai y, akan sulit untuk mengetahui nilai x. Dengan kata lain dibutuhkan suatu super polynomial time algorithm untuk menyelesaikan permasalahan tersebut. 5. Untuk suatu nilai x, secara komputasi sulit untuk mencari x‟≠ x, di mana fx‟ = fx, bila hal ini terjadi, maka kasus ini disebut bentrokan collision.

2.11.2 Secure Hash Algorithm SHA

SHA adalah fungsi hash satu arah merupakan kelanjutan dari algoritma MD5 Message-Digest. SHA-1 adalah fungsi hash yang umum digunakan dalam berbagai aplikasi. SHA-1 dipublikasikan pada tahun 1995. SHA-1 menerima berupa pesan dengan ukuran maksimum 2 64 bit menghasilkan message digest yang panjangnya 160 bit, lebih panjang dibandingkan dengan MD5 yang hanya 128 bit Munir, 2006 . Universitas Sumatera Utara Langkah –langkah pembuatan message digest dengan SHA-1 secara garis besar adalah sebagai berikut: 1. Penambahan bit-bit pengganjal padding bit. Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan dalam satuan bit kongruen dengan 448 modulo 512, sehingga panjang pesan setelah ditambahkan bit-bit pengganjal adalah 64 bit kurang dari kelipatan 512. Angka 512 ini muncul karena SHA-1 memproses pesan dalam blok –blok berukuran 512. Pesan yang panjang 448 bit juga ditambah dengan bit –bit pengganjal. Jika panjang pesan 448 bit, maka pesan tersebut ditambah dengan 512 bit menjadi 960 bit. Jadi panjang bit –bit pengganjal antara 1 sampai 512. Bit-bit pengganjal terdiri sebuah bit 1 diikuti sisanya dengan bit 0. 2. Penambahan nilai panjang pesan semula. Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. Setelah ditambah dengan 64 bit, panjang pesan sekarang menjadi kelipatan 512 bit. 3. Inisialisasi penyangga buffer MD. SHA membutuhkan 5 buah penyangga yang masing –masing panjangnya 32 bit. Total panjang penyangga adalah 5 x 32 = 160 bit. Ke lima penyangga ini menampung hasil antara dan hasil akhir. Ke lima penyangga ini diberi nama A, B, C, D, dan E. setiap penyangga diinisialisasi dengan nilai –nilai dalam notasi HEX sebagai berikut: A = 67452301 B = EFCDAB89 Universitas Sumatera Utara C = 98BADCFE D = 10325476 E = C3D2E1F0 4. Pengelohan pesan dalam blok berukuran 512 bit Prosesnya dapat dilihat pada Gambar 1.2. Diagram Alir Fungsi Hash SHA-1 satu putaran. Operasi dasar SHA-1 yang diperlihatkan pada Gambar 1.3. dapat dituliskan sebagai persamaan sebagai berikut: a,b,c,d,e ← CLS 5 a + f t b,c,d +e +W t + K t , a, CLS 30 b,c,d Keterangan: a, b, c, d, e = lima buah penyangga 32 bit berisi nilai penyangga A, B , C, D, E t = putaran, 0 ≤ t ≤ 79 F = fungsi logika f t CLS s = circular left shift sebanyak s bit W t = Integer 32-bit yang diturunkan dari blok 512-bit yang sedang diproses K t = konstanta penambah Tabel 2.1 Fungsi logika f t pada setiap putaran Putaran f t b,c,d 0 .. 19 b  c   b  d 20 .. 39 b  c  d 40 .. 59 b  c  b  d  c  d 60 .. 79 b  c  d Universitas Sumatera Utara Nilai W sampai W 15 berasal dari 16 Integer pada blok yang diproses, sedangkan nilai W t berikutnya didapat dari persamaan berikut: W t = W t – 16  W t – 14  W t – 8  W t – 3 Setelah putaran ke – 79, a, b, c, d, dan e dijumlahkan ke A, B, C, D, dan E dan selanjutnya algoritma memproses blok data selanjutnya. Keluaran akhir dari algoritma SHA-1 adalah hasil penyambungan bit-bit di dalam A, B, C, D, E.

2.12 Cryptanalisys