Analisis algoritma SHA-1 Analisis Perbandingan Digital Signature Algorithm dan Gost Digital Signature Algorithm Pada Tanda Tangan Digital File .Txt

14 15 16 17 18 19 20 21 22 23 end for {menyaring bilangan prima} for i ← 2 to sqrtN do if T i then j ← i i while j = N do T j ← false j ← j + i end while end if end for {Mencetak bilangan prima} for i ← 2 to N do if T i then output i end if end for Pada algoritma Sieve of Eratosthenes, pengecekan tidak dilakukan pada setiap n, dikarenakan penyaringan dengan memanfaatkan bilangan yang telah dicek sebelumnya, yaitu dengan mencoret terlebih dahulu bilangan kelipatannya sehingga tidak perlu dicek ulang kembali. Ini menyebabkan adanya faktor logaritma pada kompleksitas sieve of eratosthenes. Pada akhirnya, algoritma ini mempunyai kompleksitas Θ n log nlog log n.

3.3.2 Analisis algoritma SHA-1

Fungsi hash SHA-1 digunakan pada proses pembentukan tanda tangan digital dan verifikasi tanda tangan digital DSA. SHA-1 adalah fungsi hash satu-arah yang dibuat oleh NIST dan digunakan bersama DSS Digital Signature Standard. Oleh NSA, SHA- 1 dinyatakan sebagai standard fungsi hash satu-arah. SHA didasarkan pada MD4 yang dibuat oleh Ronald L. Rivest dari MIT. SHA-1 disebut aman secure karena dirancang sedemikian rupa sehingga secara komputasi tidak mungkin menemukan pesan yang berkoresponden dengan message digest yang diberikan. Algoritma SHA-1 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 Universitas Sumatera Utara MD5. Langkah-langkah pembuatan message digest secara garis besar adalah sebagai berikut: 1 Message padding 2 Penambahan panjang bit padding bits. 3 Inisialisasi penyangga buffer message digest. 4 Pengolahan pesan dalam blok berukuran 512 bit. 5 Output Berikut flowchart proses pembentukan message digest menggunakan fungsi hash SHA- 1: Gambar 3.10. Flowchart pembentukan message digest SHA-1 Untuk menghitung kompleksitas waktu rata-rata suatu algoritma digunakan notasi big Θ. Berikut perhitungan kompleksitas algoritma menggunakan notasi big Θ. Tabel 3.11. Notasi big Θ pada pseudocode fungsi hash SHA-1 line Syntax notasi 2 inisialisasi penyangga 3 Int A = 0x67452301 C 1 1 Universitas Sumatera Utara 4 Int B = 0xEFCDAB89 C 1 1 5 Int C = 0x98BADCFE C 1 1 6 Int D = 0x10325476 C 1 1 7 Int E = 0xC3D2E1F0 C 1 1 8 pemprosesan awal padding bit 9 Append sebuah bit “1” ke pesan C 2 1 10 While panjang pesan dalam bit kongruen dengan 448 modulo 512 do C 3 n 11 Append bit “0”ke pesan C 2 1 12 Endwhile 13 Append panjang pesan sebelum padding as ke 64-bit big-endian integer to pesan C 2 1 14 proses pesan dalam blok-blok yang berukuran 512 bit 15 bagi pesan ke dalam blok-blok berukuran 512 bit C 4 1 16 For tiap blok do C 1 n 17 Bagi tiap blok ke dalam 16 buah sub-blok 32 bit C 4 1 18 ekspansi 16 buah sub-blok 32-bit menjadi 80 buah sub-blok 32 bit 19 For i=16; i=79; i++ do C 1 64 20 W[i] = w[i-3] xor w[i-14] xor w[i-16] leftrotate 1 C 1 1 21 Endfor 22 inisialisasi peubah penyangga 23 Int a = A C 1 1 24 Int b = B C 1 1 25 Int c = C C 1 1 26 Int d = D C 1 1 27 Int e = E C 1 1 28 proses utama 29 For i=0; i=79; i++ do C 1 80 30 If 0=i=19 then C 1 1 31 f = b and c or not b and d C 1 1 32 k = 0x5A827999 C 1 1 33 Else If 20=i=39 do C 1 1 34 f = b xor c xor d C 1 1 35 k = 0x6ED9EBA1 C 1 1 36 Else If 40=i=59 do C 1 1 Universitas Sumatera Utara 37 f = b and c or b and d or c and d C 1 1 38 k = 0x8F1BBCDC C 1 1 39 Else If 60=i=79 do C 1 1 40 f = b xor c xor d C 1 1 41 k = 0xCA62C1D6 C 1 1 42 Endif 43 Temp = a leftrotate 5 + f +e +k +w[i] C 1 1 44 e = d C 1 1 45 d = c C 1 1 46 c = b leftrotate 30 C 1 1 47 b = a C 1 1 48 a = temp C 1 1 49 Endfor 50 jumlahkan blok-blok ini 51 A = A + a C 1 1 52 B = B + b C 1 1 53 C = C + c C 1 1 54 D = D +d C 1 1 55 E = E + e C 1 1 56 Endfor 57 Int digest = A append B append C append D append E C 1 1 Tn = 179C 1 + C 1 n + 3C 2 + C 3 n + 2C 4 Tn = n Tn = Θn. Langkah 1, 2, 3 dan 4 memiliki waktu eksekusi konstan karena hampir tidak terpengaruh oleh ukuran input, misalkan c. langkah 4 terdiri dari 80 operasi untuk setiap 512 bit blok pesan. Jadi untuk blok input berukuran n diperlukan waktu eksekusi 80n. Kompleksitas waktu dari proses hash pesan dengan menggunakan algoritma SHA-1 adalah Θn.

3.3.3 Analisis algoritma SHA-256