Jumat, 06 November 2009


SHA-1 Algorithm

Tugas pertemuan kedua mata kuliah Teknik Otentikasi Sandi yang biasa disingkat dengan TOS, kelas kami mendapat tugas kelompok, dimana saya mendapatkan tugas untuk mencari informasi dan membuat paper yang berhubungan dengan mata kuliah, yaitu materi SHA-1. Dengan berbagai macam referensi, kami akhirnya bisa menyelesaikan tugas tersebut. Langsung aja ke pembahasan ya^^,


Secure Hash Algorithm (SHA) adalah Fungsi hash iterative yang memetakan sembarang finite blok cipher text dengan menggunakan fungsi hash menjadi message digest. SHA ini bersifat one way (satu arah). Kegunaan fungsi hash adalah mem-verfikasi digital signature dan Message Authentication Codes (MACs), juga untuk random number generator (bit). Algoritma SHA dapat digambarkan dalam dua fase yaitu fase preprocessing dan fase hash computing.

Algoritma SHA-1 merupakan salah satu algotima hash. SHA-1 memproses pesan sepanjang 264 (2.147.483.648 gigabyte)bit dengan ukuran blok 512 bit dan 32 bit word menjadi 160 bit message digest.


Gambar skema SHA-1

  • Langkah-langah pembuatan message diggest, antara lain:

  • 1. Penambahan bit -bit pengganjal (padding bits).
    Pesan ditambah dengan sejumlah bit – bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 mod 512. Padding bits terdiri dari sebuah bit 1 diikuti bit 0.

    2. Penambahan nilai panjang pesan semula.
    Pesan yang telah diberi padding bits selanjutnya ditambah dengan 64 bit yang menyatakan panjang pesan semula. Setelah ditambah dengan 64 bit,panjang pesan menjadi 512 bit.

    3. Inisialisasi penyangga (buffer) MD.
    5 buah penyangga (buffer) yang masing – masing panjangnya 32 bit (panjang buffer adalah 5 x 32 = 160 bit).
    Kelima buffer ini diberi nama A,B,C,D dan E.
    A = 67452301
    B = EFCDAB89
    C = 98BADCFE
    D = 10325476
    E = C3D2E1F0

    4. Pengolahan pesan dalam blok berukuran 512 bit
    Pesan dibagi menjadi L buah blok yang masing – masing panjangnya 512 bit (Y0 sampai YL-1). (keluaran 128 bit), disebut proses HSHA. Proses HSHA terdiri dari 80 putaran dan masing – masing putaran mengunakan bilangan penambah Kt.
    Putaran 0 ≤ t ≤ 19 Kt = 5A827999
    Putaran 20 ≤ t ≤ 39 Kt = 6ED9EBAI
    Putaran 40 ≤ t ≤ 59 Kt = 8F1BBCDC
    Putaran 60 ≤ t ≤ 79 Kt = CA62C1D6

    Yq menyatakan blok 512 bit ke-q dari pesan yang telah ditambah padding bits dan tambahan nilai panjang pesan semula. MDq adalah nilai message digest 160 bit dari proses HSHA ke-q.Pada awal proses,MDq berisi nilai inisialisasi penyangga MD.
    Operasi dasar SHA :
    a,b,c.d,e ← (CLSs(a)) + ft(b,c,d) + e + Wt + Kt), a, CLS30(b), c, d


    Fungsi yang digunakan tiap round

    Nilai W1 sampai W16 berasal dari 16 word pada blok yang sedang diproses,sedangkan nilai Wt berikutnya berasal dari persamaan :
    Wt = Wt-16 ⊕ Wt-14 ⊕ Wt-8 ⊕ Wt-3
    Setelah putaran ke-79,a,b,c,d dan e ditambahkan ke A,B,C,D dan E selanjutnya algoritma memproses untuk blok data berikutnya (Yq+1). Keluaran akhir dari algoritma SHA adalah hasil penyambungan bit -bit di A,B,C,D dan E.





    Tidak ada komentar:

    Posting Komentar

    Terima kasih atas komentar Anda :)

    Komentar