m s) Digital Signature SHA-256 SHA-384 TIGER
Sumber Derajat
bebas
Jumlah
Kuadrat (SS)
Kuadrat
Tengah (MS)
F hitung
(0.05) F DIST (P)
Algoritme 2 1.31272 0.65636 186.41 0.000
Hash 2 5.59948 2.79974 795.15 0.000
Algoritme *Hash 4 0.40578 0.10144 28.81 0.000
Galat 18 0.06338 0.00352
Total 26 7.38137
14 Tabel4Uji ANOVAwaktu prosessigningdengan
ukuran file10MB
Tabel 5Uji ANOVAhasil waktu
prosessigningdengan ukuran file 20MB
Tabel 6Uji ANOVAwaktu prosessigningdengan ukuran file 40MB
Tabel 7Uji ANOVA waktu
prosessigningdengan ukuran file 80MB
Dari Tabel 3 s/d 7 uji ANOVAwaktu proses
signing di atas dapat dilihat bahwa nilai P (probabilitas) yang dihasilkan semuanya lebih
kecil dari α (dengan α=0.05).Hasil ini memberikan kesimpulan bahwa algoritme dan fungsi hash menimbulkan perbedaan nyata pada proses signin. Kesimpulan lain yang dapat diambil adalah:
• Faktor Algoritme
F (P) (0.000) < α (0.05), maka tolak H0
pada taraf nyata 5%. Artinya dengan nilai tersebut, minimal ada satu diantara 3 level faktor algoritme yang menyebabkan
perbedaan waktu proses signing pada ukuran file 5MB, 10MB, 20MB, 40MB dan 80MB.
• Faktor Fungsi Hash
F (P) (0.000) < α (0.05), maka tolak H0
pada taraf nyata 5%. Artinya dengan nilai tersebut, minimal ada satu diantara 3 level faktor fungsi hash yang menyebabkan perbedaan waktu proses signing pada ukuran file 5MB, 10MB, 20MB, 40MB dan 80MB.
• Interaksi Algoritme x Fungsi Hash
F (P) (0.000) < α (0.05), maka tolak H0
pada taraf nyata 5%, karena dengan nilai tersebut, minimal ada sepasang dari level faktor algoritme dan fungsi hashyang berbeda, yang artinya ada pengaruh interaksi antara faktor algoritme dan faktor fungsi hashterhadap waktu proses signing
pada ukuran file 5MB, 10MB, 20MB, 40MB dan 80MB.
Setelah sebelumnya dengan uji ANOVAtelah diketahui ada atau tidaknya perbedaan nyata dari perlakuan yang diamati, maka pada ujiGeneral Linear Model (GLM) dapat juga diketahui perbandingan interaksi perlakuan dengan metode uji Tukey. Uji Tukey digunakan untuk mengetahui perlakuan mana saja yang berbeda nyata. Perbandingannya berdasarkan nilai rata-rata (mean) yang diperoleh dari uji Balanced ANOVA. Ringkasan hasil perbandingan menggunakan uji Tukey tersebut untuk waktu proses signingdapat dilihat pada Tabel 8 s/d 12di bawah ini.
Tabel 8Perbandingan perlakuan hasil waktu prosessigningdengan ukuran file 5MB
Dari Tabel 8 di atas diketahui bahwa perlakuan yang berbeda nyata dari segi waktu prosessigningdengan ukuran file 5MB adalah DSA-Tiger, RSA-Tiger dan ECDSA-SHA384 karena ke-3 perlakuan ini memiliki nilai rata-rata yang tidak mirip dengan perlakuan lain. Tabel 9Perbandingan perlakuan hasil waktu
prosessigningdengan ukuran file 10MB Sumber Derajat bebas Jumlah Kuadrat (SS) Kuadrat Tengah (MS) F hitung (0.05) F DIST (P) Algoritme 2 0.99007 0.49503 581.88 0.000 Hash 2 6.39729 3.19865 3,759.79 0.000 Algoritme *Hash 4 0.57854 0.14463 170.01 0.000 Galat 18 0.01531 0.00085 Total 26 7.98121 Sumber Derajat bebas Jumlah Kuadrat (SS) Kuadrat Tengah (MS) F hitung (0.05) F DIST (P) Algoritme 2 1.08610 0.54300 756.68 0.000 Hash 2 6.61690 3.30850 4,610.12 0.000 Algoritme *Hash 4 0.57850 0.14460 201.53 0.000 Galat 18 0.01290 0.00070 Total 26 8.29440 Sumber Derajat bebas Jumlah Kuadrat (SS) Kuadrat Tengah (MS) F hitung (0.05) F DIST (P) Algoritme 2 1.10460 0.55230 991.56 0.000 Hash 2 6.75570 3.37780 6,064.56 0.000 Algoritme *Hash 4 0.59800 0.14950 268.43 0.000 Galat 18 0.01000 0.00060 Total 26 8.46830 Sumber Derajat bebas Jumlah Kuadrat (SS) Kuadrat Tengah (MS) F hitung (0.05) F DIST (P) Algoritme 2 1.14120 0.57060 2,636.15 0.000 Hash 2 6.85600 3.42800 16,000.00 0.000 Algoritme *Hash 4 0.54170 0.13540 625.60 0.000 Galat 18 0.00390 0.00020 Total 26 8.54280
DSA-Tiger RSA-Tiger ECDSA-Tiger DSA-256 RSA-256 ECDSA-256 DSA-384 RSA-384 ECDSA-384
15 Dari Tabel 9 di atas diketahui bahwa
perlakuan yang berbeda nyata dari segi waktu prosessigningdengan ukuran file 10MB adalah DSA-Tiger, DSA-SHA-256, RSA-SHA-256, ECDSA-SHA-256 dan ECDSA-SHA384 karena ke-5 perlakuan ini memiliki nilai rata-rata yang tidak mirip dengan perlakuan lain. Tabel 10Perbandingan perlakuan hasil waktu
prosessigningdengan ukuran file
20MB
Dari Tabel 10 di atas diketahui bahwa perlakuan yang berbeda nyata dari segi waktu prosessigningdengan ukuran file 20MB adalah DSA-Tiger, DSA-SHA-256, DSA-SHA-384, RSA-SHA-384 dan ECDSA-SHA384 karena ke-5 perlakuan ini memiliki nilai rata-rata yang tidak mirip dengan perlakuan lain.
Tabel 11Perbandingan perlakuan hasil waktu prosessigningdengan ukuran file
40MB
Dari Tabel 11 di atas diketahui bahwa perlakuan yang berbeda nyata dari segi waktu prosessigningdengan ukuran file 40MB adalah
DSA-Tiger, DSA-SHA-256, RSA-SHA-256, ECDSA-SHA-256, DSA-SHA-384, RSA-SHA-384 dan ECDSA-SHARSA-SHA-384 karena ke-7 perlakuan ini memiliki nilai rata-rata yang tidak mirip dengan perlakuan lain.
Tabel 12Perbandingan perlakuan hasil waktu prosessigningdengan ukuran file
80MB
Dari Tabel 12 di atas diketahui bahwa perlakuan yang berbeda nyata dari segi waktu prosessigningdengan ukuran file 80MB adalah DSA-Tiger, DSA-SHA-256, RSA-SHA-256, ECDSA-SHA-256, DSA-SHA-384, RSA-SHA-384 dan ECDSA-SHARSA-SHA-384 karena ke-7 perlakuan ini memiliki nilai rata-rata yang tidak mirip dengan perlakuan lain.
Dari Tabel 8 s/d 12dapat diambil kesimpulan sebagai berikut:
• Perlakuan yang paling berbeda nyata adalah DSA-Tiger dan ECDSA-SHA-384 karena dalam berbagai ukuran file ke-2 perlakuan ini memiliki nilai rata-rata yang tidak mirip dengan perlakuan lain.
• Dalam berbagai ukuran filekombinasi
DSA-Tiger pada proses
signingmenghasilkan nilai rata-rata paling kecil yang artinya DSA-Tiger merupakan kombinasi terbaik karena melakukan proses
signing paling cepat.
• Dalam berbagai ukuran file kombinasi ECDSA-SHA-384 pada proses signing
menghasilkan nilai rata-rata paling besar yang artinya ECDSA-SHA-384 merupakan kombinasi terburuk karena melakukan proses signing paling lama.
• Perlakuan yang paling miripadalah RSA-Tiger dengan ECDSA-RSA-Tiger. Kesamaan ini terjadi dalam berbagai ukuran file kecuali
file ukuran 5MB. Pada ukuran 5MB ECTiger lebih mirip dengan DSA-SHA-256.
Pada Lampiran 9 disertakan salah satu hasil plot interaksi data watu proses signing dengan ukuran file 5MB. Dari hasil plot interaksi
DSA-Tiger RSA-Tiger ECDSA-Tiger DSA-256 RSA-256 ECDSA-256 DSA-384 RSA-384 ECDSA-384
4.23 4.51 4.53 4.90 5.04 5.14 5.31 5.39 6.15
DSA-Tiger RSA-Tiger ECDSA-Tiger DSA-256 RSA-256 ECDSA-256 DSA-384 RSA-384 ECDSA-384
4.86 5.14 5.19 5.56 5.73 5.81 5.93 6.07 6.83
DSA-Tiger RSA-Tiger ECDSA-Tiger DSA-256 RSA-256 ECDSA-256 DSA-384 RSA-384 ECDSA-384 5.50 5.83 5.85 6.22 6.40 6.46 6.61 6.74 7.50
DSA-Tiger RSA-Tiger ECDSA-Tiger DSA-256 RSA-256 ECDSA-256 DSA-384 RSA-384 ECDSA-384 6.18 6.51 6.53 6.90 7.08 7.18 7.31 7.44 8.18
16 tersebut dapat dilihat bahwa terdapat interaksi
baik dari faktor algoritme maupun faktor fungsi
hash.
Analisis Waktu Proses Verifying
Hasil perbandingan waktu proses verifying
ditunjukkan pada Gambar 12. Dari hasil tersebuttampak bahwa algoritme DSA dengan fungsi hashTiger terlihat lebih baik dibandingkan yang lain.
Gambar 12 Perbandingan waktu proses
verifyingalgoritme DSA, RSA dan ECDSA.
Namun hasil itu belum menunjukkan secara pasti bahwa ketiga algoritme memang berbeda nyata dalam hal kinerja. Perbedaan yang cukup signifikan dapat terlihat juga pada penggunaan fungsi hash. Oleh karena itu, dilakukan uji ANOVA.
Tabel uji ANOVAuntuk waktu proses
verifyingdapat dilihat pada Tabel 13 s/d 17 di bawah ini.
Tabel 13Uji ANOVAwaktu
prosesverifyingdengan ukuran file
5MB
Tabel 14Uji ANOVAwaktu
prosesverifyingdengan ukuran file
10MB
Tabel 15Uji ANOVAwaktu
prosesverifyingdengan ukuran
file20MB
Tabel 16Uji ANOVAwaktu
prosesverifyingdengan ukuran
file40MB
Tabel 17Uji ANOVAwaktu
prosesverifyingdengan ukuran
file80MB
Dari Tabel 13 s/d 17 ujiANOVAwaktu proses verifying di atas dapat dilihat bahwa nilai P (probabilitas) yang dihasilkan semuanya lebih
kecil dari α (dengan α=0.05). Hasil ini
396.67 807.00 847.07 588.67 971.73 1488.87 193.87 688.80 712.60 0.00 200.00 400.00 600.00 800.00 1000.00 1200.00 1400.00 1600.00
DSA RSA ECDSA
Wa k t u ( m s ) Digital Signature SHA-256 SHA-384 TIGER
Sumber Derajat
bebas
Jumlah
Kuadrat (SS)
Kuadrat
Tengah (MS)
F hitung
(0.05) F DIST (P)
Algoritme 2 5.12322 2.56161 360.86 0.000
Hash 2 2.07623 1.03811 146.24 0.000
Algoritme *Hash 4 0.42384 0.10596 14.93 0.000
Galat 18 0.12778 0.00710
Total 26 7.75107
Sumber Derajat
bebas
Jumlah
Kuadrat (SS)
Kuadrat
Tengah (MS)
F hitung
(0.05) F DIST (P)
Algoritme 2 4.00703 2.00351 1,220.13 0.000
Hash 2 2.70501 1.35250 823.67 0.000
Algoritme *Hash 4 0.44140 0.11035 67.20 0.000
Galat 18 0.02956 0.00164
Total 26 7.18299
Sumber Derajat
bebas
Jumlah
Kuadrat (SS)
Kuadrat
Tengah (MS)
F hitung
(0.05) F DIST (P)
Algoritme 2 4.64362 2.32181 21,000.00 0.000
Hash 2 2.36470 1.18235 11,000.00 0.000
Algoritme *Hash 4 0.51334 0.12834 1,150.34 0.000
Galat 18 0.00201 0.00011
Total 26 7.52367
Sumber Derajat bebas Jumlah Kuadrat (SS) Kuadrat Tengah (MS) F hitung (0.05) F DIST (P) Algoritme 2 5.18230 2.59120 18,000.00 0.000 Hash 2 2.38860 1.19430 8,324.64 0.000 Algoritme *Hash 4 0.56850 0.14210 990.59 0.000 Galat 18 0.00260 0.00010 Total 26 8.14190 Sumber Derajat bebas Jumlah Kuadrat (SS) Kuadrat Tengah (MS) F hitung (0.05) F DIST (P) Algoritme 2 5.35310 2.67650 1,725.53 0.000 Hash 2 2.41790 1.20890 779.38 0.000 Algoritme *Hash 4 0.62010 0.15500 99.94 0.000 Galat 18 0.02790 0.00160 Total 26 8.4190017 memberikan kesimpulan bahwa algoritme dan
fungsi hash menimbulkan perbedaan nyata pada proses verifying. Kesimpulan lain yang dapat diambil adalah:
• Faktor Algoritme
Karena F (P) (0.000) < α (0.05), maka tolak H0 pada taraf nyata 5%. Artinya dengan nilai tersebut, minimal ada satu diantara 3 level faktor algoritme yang menyebabkan perbedaan waktu proses verifying pada ukuran file 5MB, 10MB, 20MB, 40MB dan 80MB.
• Faktor Fungsi Hash
Karena F (P) (0.000) < α (0.05), maka tolak H0 pada taraf nyata 5%. Artinya dengan nilai tersebut, minimal ada satu diantara 3 level faktor fungsi hash yang menyebabkan perbedaan waktu proses verifying pada ukuran file 5MB, 10MB, 20MB, 40MB dan 80MB.
• Interaksi Algoritme x Fungsi Hash
Karena F (P) (0.000) < α (0.05), maka tolak H0 pada taraf nyata 5%, karena dengan nilai tersebut, minimal ada sepasang dari level faktor algoritme dan fungsi hash yang berbeda, yang artinya ada pengaruh interaksi antara faktor algoritme dan faktor fungsi hash terhadap waktu proses
verifying pada ukuran file 5MB, 10MB, 20MB, 40MB dan 80MB.
Seperti halnya pada bagian analisis waktu proses signing sebelumnya, pada analisis waktu proses verifying juga dilakukan analisis GLM menggunakan metode uji Tukey untuk mengetahui perlakuan mana saja yang berbeda nyata. Ringkasan hasil perbandingan menggunakan uji Tukey tersebut untuk waktu proses verifying dapat dilihat pada Tabel 18 s/d 21 di bawah ini.
Tabel 18Perbandingan perlakuan hasil waktu prosesverifyingdengan ukuran file
5MB
Dari Tabel 18 di atas diketahui bahwa perlakuan yang berbeda nyata dari segi waktu prosesverifyingdengan ukuran file 5MB adalah DSA-Tiger, DSA-SHA-256 dan ECDSA-SHA384 karena ke-3 perlakuan ini memiliki nilai rata-rata yang tidak mirip dengan perlakuan lain.
Tabel 19Perbandingan perlakuan hasil waktu prosesverifyingdengan ukuran file
10MB
Dari Tabel 19 di atas diketahui bahwa perlakuan yang berbeda nyata dari segi waktu prosesverifyingdengan ukuran file 10MB adalah DSA-Tiger, DSA-SHA-256, RSA-SHA384 dan ECDSA-SHA384 karena ke-4 perlakuan ini memiliki nilai rata-rata yang tidak mirip dengan perlakuan lain.
Untuk perbandingan perlakuan waktu proses
verifying dengan ukuranfile 20MB, semua perlakuan berbeda nyata karena tidak ada perlakuan yang mirip satu sama lain.
Tabel 20Perbandingan perlakuan hasil waktu prosesverifyingdengan ukuran file
40MB
Dari Tabel 20 di atas diketahui bahwa perlakuan yang berbeda nyata dari segi waktu prosesverifyingdengan ukuran file 40MB adalah DSA-Tiger, DSA-SHA-256, DSA-SHA-384, RSA-SHA384 dan ECDSA-SHA384 karena ke-DSA-Tiger DSA-256 DSA-384 RSA-Tiger ECke-DSA-Tiger RSA-256 ECDSA-256 RSA-384 ECDSA-384
3.63 4.22 4.62 4.80 4.91 4.95 5.00 5.17 5.59
DSA-Tiger DSA-256 DSA-384 RSA-Tiger ECDSA-Tiger RSA-256 ECDSA-256 RSA-384 ECDSA-384
4.22 4.91 5.27 5.28 5.36 5.50 5.56 5.71 6.20
DSA-Tiger DSA-256 DSA-384 RSA-Tiger ECDSA-Tiger RSA-256 ECDSA-256 RSA-384 ECDSA-384
18 5 perlakuan ini memiliki nilai rata-rata yang
tidak mirip dengan perlakuan lain.
Tabel 21Perbandingan perlakuan hasil waktu prosesverifyingdengan ukuran file
80MB
Dari Tabel 21 di atas diketahui bahwa perlakuan yang berbeda nyata dari segi waktu prosesverifyingdengan ukuran file 80MB adalah DSA-Tiger, DSA-SHA-256, DSA-SHA-384, RSA-SHA384 dan ECDSA-SHA384 karena ke-5 perlakuan ini memiliki nilai rata-rata yang tidak mirip dengan perlakuan lain.
Dari Tabel 18 s/d 21 dapat diambil kesimpulan sebagai berikut:
• Perlakuan yang paling berbeda nyata adalah DSA-Tiger, DSA-SHA-256 dan ECDSA-SHA-384 karena dalam berbagai ukuran file ke-2 perlakuan ini memeiliki nilai nilai rata-rata yang tidak memiliki kemiripan dengan perlakuan lain.
• Dalam berbagai ukuran file kombinasi
DSA-Tiger pada proses
verifyingmenghasilkan nilai rata-rata paling kecil yang artinya DSA-Tiger merupakan kombinasi terbaik karena melakukan proses
verifyingpaling cepat.
• Dalam berbagai ukuran file kombinasi ECDSA-SHA-384 pada proses
verifyingmenghasilkan nilai rata-rata paling besar yang artinya ECDSA-SHA-384 merupakan kombinasi terburuk karena melakukan proses verifyingpaling lama. • Perlakuan yang paling mirip adalah
Tiger dengan ECDSA-Tiger dan RSA-SHA-256 dengan ECDSA-RSA-SHA-256. Kesamaan ini terjadi dalam berbagai ukuran file kecuali file ukuran 20MB. Pada Lampiran 10 disertakan salah satu hasil plot interaksi data watu proses verifying
dengan ukuran file 5MB. Dari hasil plot interaksi tersebut dapat dilihat bahwa terdapat interaksi baik dari faktor algoritme maupun faktor fungsi hash.
5.2.Analisis Penggunaan Memori Proses
Signing dan Proses Verifying
Analisis tahap ini merupakan analisis pada hasil pengujianyang membandingkan memori baik pada saat proses signing maupun verifying.
Analisis Penggunaan Memori Proses Signing
Ringkasan data penggunaan memori pada proses signing terdapat pada Tabel 22. Agar lebih jelas, hasil perbandingan untuk penggunaan memori signingdisajikan berupa grafik pada Gambar 13. Dari hasil tersebut, sudah tampak jelas perbedaan ketiganya.
Tabel 22Data ringkasan penggunaan memori pada proses signing
Gambar 13 Perbandingan penggunaan memori proses signing DSA, RSA dan ECDSA.
Dari hasil identifikasi penggunaan memori untuk proses signingdapat disimpulkan bahwa algoritme tandatangan digital yang sangat mempengaruhi. Jika diperhatikan antar fungsi
hash pada masing-masing algoritme hasilnya tidak jauh berbeda, namun jika dipandang berdasarkan algoritme terdapat perbedaan jumlah memori yang dibutuhkan dalam jumlah yang besar untuk proses signing.
Analisis Penggunaan Memori Proses
Verifying
Ringkasan data penggunaan memori pada proses verifyingterdapat pada Tabel 23. Agar lebih jelas, hasil perbandingan untuk
DSA-Tiger DSA-256 DSA-384 RSA-Tiger ECDSA-Tiger RSA-256 ECDSA-256 RSA-384 ECDSA-384
6.17 6.91 7.31 7.49 7.52 7.62 7.69 7.83 8.24
DSA RSA ECDSA
SHA-256 54,169.87 1,976.00 2,969.33 19,705.07 SHA-384 54,193.87 1,976.00 2,969.60 19,735.20 TIGER 54,206.40 1,976.00 2,973.60 19,718.67 Rata-rata Kolom 54,190.04 1,998.04 2,970.84 Rata-rata Baris (KB) Fungsi Hash Memori Signing (KB) 54169.87 1976.00 2969.33 54193.87 1976.00 2969.60 54206.40 1976.00 2973.60 0.00 10000.00 20000.00 30000.00 40000.00 50000.00 60000.00
DSA RSA ECDSA
M em o r i( K B ) Digital Signature SHA-256 SHA-384 TIGER
19 penggunaan memori signing ditunjukkan berupa
grafik batang pada Gambar 14. Dari hasil tersebut, sudah tampak jelas perbedaan ketiganya.
Tabel 23Data ringkasan penggunaan memori pada proses verifying
Gambar 14 Perbandingan penggunaan memori proses verifying DSA, RSA dan ECDSA.
Dari hasil identifikasi memori untuk proses
verifyingdapat disimpulkan bahwa algoritme tandatangan digital yang sangat mempengaruhi. Jika diperhatikan antar fungsi hash pada masing-masing algoritme hasilnya tidak jauh berbeda, namun jika dipandang berdasarkan algoritme terdapat perbedaan jumlah memori yang dibutuhkan dalam jumlah yang besar untuk proses verifying.
Identifikasi Penyebab Perbedaan dari Hasil Waktu Proses dan Penggunaan Memori
Identifikasi penyebab perbedaan hasil yang diperoleh pada penelitian ini, terbagi menjadi dua bagian, yaitu:
1 Identifikasi Fungsi Hash
Dari hasil pengujian ini, diperoleh suatu gambaran bahwa pemilihan fungsi hash cukup memberikan kontribusi perbedaan kecepatan pada proses signing maupun verifying. Hal ini disebabkan oleh cara pendistribusian fungsi
hash yang memiliki perbedaan pada desain, kapasitas masukan blok dan jumlah putaran.
[FIPS-HASH] mengemukakan pada SHA-256 terjadi penambahan bit-bit pengganjal kedalam blok pesan agar panjangnya kelipatan 512-bit, sebelum dilakukan proses komputasi
hash.
Komputasi SHA-256 dilakukan pada 32-bit
words. Keluaran dari setiap blok digabungkan dengan keluaran blok berikutnya. Dengan demikian akhirnyadiperoleh message digest. Desain pada SHA-256 adalah serial artinya setiap blok diproses setelah blok sebelumnya diproses. Algoritmenya menggunakan message schedule berjumlah 64 kali putaran dan 8
working variables 32-bit words. Algoritme SHA-256 ditunjukkan pada Lampiran 11. Inisial
hashvalueH(0) SHA-256 adalah sebagai berikut:
H0(0) = 6a09e667 H1(0)= bb67ae85 H2(0) = 3c6ef372 H3(0) = a54ff53a H4(0) = 510e527f H5(0) = 9b05688c H6(0) = 1f83d9ab H7(0) = 5be0cd19
Pada SHA-384 blok pesan berukuran 1024 bit. Komputasi SHA-384 dilakukan pada 64 bit
words. Desain pada SHA-384 adalah serial artinya setiap blok diproses setelah blok sebelumnya diproses. Algoritmenya menggunakan message schedule berjumlah 80 kali putaran dan 8 working variables 64-bit
words. Algoritme SHA-384 ditunjukkan pada Lampiran 12. Inisial hashvalueH(0) SHA-384 adalah sebagai berikut:
H0(0) = cbbb9d5dc1059ed8 H1(0)= 629a292a367cd507 H2(0) = 9159015a3070dd17 H3(0) = 152fecd8f70e5939 H4(0) = 67332667ffc00b31 H5(0) = 8eb44a8768581511 H6(0) = db0c2e0d64f98fa7 H7(0) = 47b5481dbefa4fa4
[TIGER] mengemukakan, pada fungsi
hashTiger blok pesan berukuran 512-bit. Komputasi Tiger dilakukan pada 64-bit words. Tiger menggunakan tiga register 64-bit yang disebut dengan a, b dan c sebagai nilai hash intermediate. Register-register ini diinisialisasi sebagai H(0)yaitu:
a = 0x0123456789ABCDEF b = 0xFEDCBA9876543210 c = 0xF096A5B4C3B2E187
Setiap 512-bit blok pesan sebelumnya dipecahmenjadi delapan 64-bit words x0, x1, …, x7, dankomputasinya berubah dari hi
DSA RSA ECDSA
SHA-256 53,476.00 1,980.00 2,300.00 19,252.00 SHA-384 53,480.00 1,980.00 2,296.00 19,252.00 TIGER 53,484.00 1,979.73 2,296.00 19,253.24 Rata-rata Kolom 53,480.00 1,979.91 2,297.33
Fungsi Hash Memori Verifying (KB) Rata-rata Baris (KB) 53,476.00 1,980.00 2,300.00 53,480.00 1,980.00 2,296.00 53,484.00 1,980.00 2,296.00 -10,000.00 20,000.00 30,000.00 40,000.00 50,000.00 60,000.00
DSA RSA ECDSA
M e m o ri ( K B ) Digital Signature SHA-256 SHA-384
20 menjadi hi+1.Komputasi ini mengandung tiga
tahapan dan diantara tahapan tersebut terdapat
key schedule, suatu transformasi dari data masukan yangmencegah para penyerang memaksakan masukanyang mirip pada tiga putaran tadi. Akhirnyaada suatu tahapan
feedforward dimana nilai barudari a, b, dan c dikombinasikan dengan nilaiinisial untuk memberikan nilai hi+1.
Efisiensi dari fungsi Tiger berdasarkan pada desainnya yang paralel. Dalam setiap putaran dalam Tiger, operasi lookup terhadap delapan tabel dapat dilaksanakan secara paralel, sehingga compiler dapat membuat penggunaan yang optimal bagi pipeline. AlgoritmeTiger dapat dilihat pada Lampiran 13.
Penggunaan memori untuk menjalankan proses hashing dari ketiga fungsi hash tersebut, tidak terdapat perbedaan yang nyata. Hal ini terjadi karena ketiganya memiliki jumlah putaran proses hash yang tidak banyak dan operasi yang dilakukan adalah operasi bitwise
sederhana dengan menggunakan operator logika seperti AND, OR, NOT dan XOR.
2 Identifikasi Algoritme Tanda Tangan Digital Berdasarkan hasil pengujian, perbedaan nyata pada ketiga algoritme ada pada proses
signing, proses verifying danjumlah penggunaan memori. Secara perhitungan matematis tampak dalam grafik bahwa DSA yang paling baik, kemudian RSA dan yang paling terakhir adalah ECDSA. Perbedaan tersebut disebabkanmetode pada pendistribusian nilai hash untuk
signaturefile secara algoritmik dan juga disebabkan lingkungan pengembangan aplikasi kriptosistem untuk digital signature.
Jika ditinjau dari metode pendistribusian nilai hash untuk signaturefile secara algoritmik, perbedaan tiap algoritmeterutama dikarenakan bedanya operasi komputasi yang digunakan.
Pada algoritme DSA, perhitungan komputasi dilakukan secara eksponensial gk mod p. Nilai ini, tidak bergantung pada pesan yang akan ditandatangani sehingga dapat dihitung sebelumnya, walaupun DSA harus menghitung
inverse perkalian untuk mencari nilai s. Algoritmeeuclidean dipakai untuk menghitung nilai inverse dari k-1 mod q. Operasi yang dijalankan pada DSA adalah operasi perpangkatan bilangan bulat. Bilangan bulat yang menjadi pangkat merupakan bilangan yang kurang dari q. Kunci privat digunakan pada proses untuk operasi pertambahan dan perkalian, ketika mencari s.
Pada algoritme RSA, operasi komputasi yang dijalankan sama dengan DSA yaitu operasi perpangkatan bilangan bulat yang besar,
secara eksponensial pada aritmatika modular. Pangkat bilangan bulat pada RSA menggunakan kunci privat untuk signing dan kunci publik untuk proses verifying, sehingga jumlah komputasinya menjadi lebih tinggi dibandingkan DSA.
Pada algoritme ECDSA, [CERTICOM] mengemukakan, secara konseptual ECDSA sama halnya dengan DSA, hanya saja mengganti sub kelompok dari order q yang dihasilkan oleh g dengan sub kelompok titik pada kurva eliptik yang dihasilkan oleh G. Satu-satunya perbedaan yang signifikan antara ECDSA dan DSA adalah dalam proses generasi
r. Pada DSA hal ini dilakukan dengan mengambil unsur acak X = mod p dan mengurangi modulo q, sehingga diperoleh sebuah integer dalam interval [1, q-1]. Pada ECDSA, r dihasilkan pada interval [1, n-1], dengan mengambil x-koordinat dari titik acak
kG dan mengurangi modulo n.
Hasil dari pengujian aplikasi tandatangan digital ECDSA menunjukkan ada perbedaan waktu dengan DSA dan RSA. Hal tersebut dikarenakan selainpada algoritmenya terdapat proses perpangkatan bilangan bulat dan perhitungan inversi, terdapat juga proses komputasi untuk perhitungan scalar multiplicationuntuk perkalian skalar antara titik dengan bilangan bulat yang besar.
Pada ECDSA ada 3 operasi matematika, yaitu:
• Operasi penambahan (addition), yakni operasi penjumlahan dua buah titik berbeda pada kurva eliptik yang menghasilkan titik ke tiga pada kurva eliptik. Contohnya, penjumlahan titi P dan Q.
• Operasi penggandaan (doubling), yakni penjumlahan dua titik yang sama. Contohnya, penjumlahan titik P dan titik P maka sama dengan 2P .
• Perkalian skalar (scalar multiplication), yakni operasi penambahan yang dilakukan secara berulangterhadap titik yang sama di sepanjang kurva eliptik. Contohnya, jika n adalah suatu integer positif dan P suatu titik pada kurva eliptik, perkalian skalar nP adalah hasil penambahan P sejumlah n kali. Dengan demikian 3P = P+P+P sehingga 3P=2P+P.Maka pada setiap proses scalar multiplication, terdapat pula operasi
doubling.
Operasi matematika yang dominan pada ECDSA adalah operasi scalar multiplication. Hal tersebut salah satunya ditemukan pada proses pembangkitan sepasang kunci.
21 Selanjutnya, jika ditinjau dari lingkungan
pengembangan aplikasi kriptosistem, implementasi DSA, RSA dan ECDSA secara garis besar menggunakan dua metode pendekatan yang berbeda. Hal inilah yang menyebabkan adanya perbedaan yang nyata pada penggunaan memori pada ketiga algoritme tersebut.
Pada RSA dan ECDSA menggunakan konsep Filter, sedangkan pada DSA sebaliknya. [CRYPTO] mengemukakan Filter adalah sebuah kelas dasar abstrak dari BufferedTransformation. Ia menerapkan fungsi attachment (lampiran) yang sifatnya hanya mendeklarasikan, tetapi tidak
diimplementasikan pada BufferedTransformation.
Attachment adalah konsep yang sudah maju dan sangat praktis dalam penggunaannya. Dengan Filter dan fungsi lampiran mereka, banyak fungsi elegan diciptakan, dalam jumlah kode program yang relatif lebih sedikit. Pada saat sebuah objek yang diturunkan dari BufferedTransformation, katakanlah B, dikaitkan pada sebuah objek yang diturunkan dari Filter, katakanlah F, ketika sebuah data dikirim ke F melalui salah satu metode misalnya Put(), maka F akan melakukan proses tertentu pada data ini, dan akan menyalurkan hasil keluarannya pada B, dengan memanggil fungsi Put() pada B. Pada saat ada sebuah metode misalnya Get() dipanggil pada F, maka F cukup menyalurkannya pada B, dan B mengembalikan nilai data hasilnya. Jika B adalah filter lain yang diturunkan, ia akan melakukan hal yang sama, membentuk rantai
attachment, yang pasti berakhir dengan sebuah objek BufferedTransformation. Contohnya sebagai berikut: