Analisis Penggunaan Memori Proses 7.31 7.52 7.69 8.24

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 sd 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 RSA- Tiger dengan ECDSA-Tiger dan RSA- SHA-256 dengan ECDSA-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 SHA-256 adalah sebagai berikut: H = 6a09e667 H 1 = bb67ae85 H 2 = 3c6ef372 H 3 = a54ff53a H 4 = 510e527f H 5 = 9b05688c H 6 = 1f83d9ab H 7 = 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 SHA-384 adalah sebagai berikut: H = cbbb9d5dc1059ed8 H 1 = 629a292a367cd507 H 2 = 9159015a3070dd17 H 3 = 152fecd8f70e5939 H 4 = 67332667ffc00b31 H 5 = 8eb44a8768581511 H 6 = db0c2e0d64f98fa7 H 7 = 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 yaitu: a = 0x0123456789ABCDEF b = 0xFEDCBA9876543210 c = 0xF096A5B4C3B2E187 Setiap 512-bit blok pesan sebelumnya dipecahmenjadi delapan 64-bit words x0, x1, …, x7, dankomputasinya berubah dari h i 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 h i+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 h i+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 g k 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: char const zInputFile = ...; char const zOutputFile = ...; SHA hash; FileSourcezInputFile, true, new HashFilterhash, new FileSinkzOutputFile, true; Potongan kode diatas membuka file yang diidentifikasi oleh sebuah variablezInputFilemelalui filesource , kemudian feed ke modul hash SHA melalui HashFilter , dan menyimpan data asli bersama dengan digest yang telah dihitung ke sebuah fileyang diidentifikasi oleh zOutputFile melalui FileSink . Jika parameter true dibaris terakhir diabaikan, nilai default false akan berlaku, dan hanya digestyang akan disimpan ke file output, tanpa data asli yang telah dihitung digest-nya. Potongan kode program class template untuk filter proses signer dan verifying, dapat dilihat pada Lampiran14. Metode attachment merupakan sebuah konstruktor. Semua kelas yang berasal dari Filter dan kelas Filter itu sendiri, mengambil parameter bentuk BufferedTransformation .Parameter ini menentukan pointer ke setiap objek yang berasal dari BufferedTransformation, yang harus terpasang ke objek yang sedang dibangun. Sebuah pointer yang terpasangparameter attachment, akan menjadi milik sebuah objek setelah dimulai hubungan. Saat ini, standar untuk membuat objek adalah MessageQueue. MessageQueue akan menyimpan semua data yang diterima melalui metode Put,yang nantinya akan ditemukembalikan melalui metode Get, melalui urutan yang sama setelah data diterima. Metode yang sering dipakai pada kelas Filter adalah SignerFilter dan VerifierFilter .SignerFilter adalah fungsi yang merangkum kelas yang diturunkan dari PK_Signer untuk menerapkan tandatangan digital pada sebuah data masukan. File tandatangan digital akan ditransfer ke transformasi terlampir. VerifierFilter juga adalah fungsi yang merangkum kelas yang diturunkan dari PK_Verifier, yaitu untuk memverifikasi tandatangan digital dari input data. File tandatangan, melewati VerifierFilter melalui metode PutSignature . Namun dalam prakteknya, akan lebih mudah menggunakan SignMessage danVerifyMessage, yang merupakan metode pada objekPK_Signer danPK_Verifier. Berdasarkan penjelasan diatas, maka diperoleh suatu kesimpulan. Pada DSA digunakan metode SignMessage dalam proses signing dan VerifyMessage dalam proses verifying. Proses berjalan lebih cepat karena proses komunikasi antar metode untuk parsing data lebih sedikit, namun terjadi penurunan kinerja pada penggunaan memori.Hal tersebut berkaitan dengan manajemen pointer, yang mana pada metode tersebut pada prakteknya lebih banyak penggunaan temporary buffer. Hal tersebut berakibat pada saat terjadi proses iterasi, sehingga setiap iterasi sampai harus dibuat semacam pengendali buffer. Pengontrolan memori pointer pada metode ini bersifat auto. Contoh potongan kode program yang lengkap untuk fungsi signing DSA ditunjukkan pada 22 Lampiran15.ContohpotonganTemplate class yang digunakan pada DSA ditunjukkan pada Lampiran16. Pada RSA dan ECDSA digunakan metode Filter yang menerapkan sistem penanganan memori bernama BufferedTransformation. Memori yang digunakan untuk menjalankan setiap tahapan proses signing dan verifying sedikit sehingga dinilai lebih efisien dalam penggunaan resource. Class tersebut sejenis perangkat untuk optimasi buffer output. Pointer untuk mengakses data lebih cepat dan life time object lebih jelas kapan harus idle atau hancur. Objek BufferedTransformation memerlukan aliran byte sebagai masukan, dan menyimpan hasil keluarannya pada sebuah buffer internal dengan tujuan dapat ditemukembalikan jika nanti dibutuhkan. Sehingga tidak mengulang proses kembali ke awal. Namun pada prakteknya banyak message data yang di-parsing dari satu fungsi ke fungsi yang lain. Hal tersebut mengakibatkan waktu yang dibutuhkan untuk menjalankan serangkaian proses signing atau verifying menjadi lebih lama. Contoh potongan kode program yang lengkap untuk fungsi signing RSA ditunjukkan pada Lampiran17. Contoh potongan Template class yang digunakan pada RSA ditunjukkan pada Lampiran18. Contoh potongan kode program yang lengkap untuk fungsi signing ECDSA ditunjukkan pada Lampiran19. Contoh potongan Template class yang digunakan pada ECDSA ditunjukkan pada Lampiran20. Pada Lampiran 21 dapat dilihat tampilan menu aplikasi tanda tangan digital. Sementara pada Lampiran 22 disertakan ilustrasi singkat bagaimana aplikasi ini bekerja. Pada ilustrasi tersebut diambil contoh file masukan 1.pdf dan proses penandatanganan menggunakan algoritme RSA dengan fungsi hash SHA-256. KESIMPULAN Pada penelitian ini telah dirancang aplikasi tanda tangan digital menggunakan fungsi hash yaitu SHA-256, SHA-384 dan Tiger dengan DSS yaitu DSA, RSA, dan ECDSA menggunakan pustaka kelas C++ untuk skema kriptografi. Aplikasi tersebut dapat menerima masukan berupa file dengan format teks, executable dan gambar. Dari hasil pengujianmenggunakan uji statistik diketahui bahwa untuk identifikasi kinerja waktu proses signingdan verifyingyang memiliki perbedaan nyata adalah faktor algoritme karena cara atau metode pendistribusian nilai hash untuk signature file secara algoritmik dan perangkat pengembangan aplikasi kriptosistem untuk digital signature, faktor fungsi hash karena cara pendistribusian fungsi hash yang memiliki perbedaan pada desain, kapasitas masukan blok dan jumlah putaranserta interaksi antara faktor algoritme dan faktor fungsi hash. Dalam berbagai ukuran file kombinasi algoritme DSA dengan fungsi hashTiger merupakan kombinasi terbaik karena melakukan proses signingdan verifyingpaling cepat. Sebaliknya, kombinasi ECDSA dengan fungsi hash SHA-384 pada proses signingverifyingmerupakan kombinasi terburuk karena melakukan proses signingdan verifyingpaling lama. Pada proses signing perlakuan yang paling mirip adalah RSA-Tiger dengan ECDSA-Tiger. Pada proses verifying perlakuan yang paling mirip adalah RSA-Tiger dengan ECDSA-Tiger dan RSA-256 dengan ECDSA-256. Semakin besarukuran file semakin sedikit pula perlakuan yang memiliki kemiripan, demikian pula sebaliknya. Untuk identifikasi penggunaan memori signingdan verifyingyang memiliki perbedaan nyata adalah algoritme tandatangan digital yang dipengaruhi oleh ukuran file, sementara fungsi hash tidak berpengaruh atau tidak memiliki perbedaan nyata.Pada DSA yang tidak menerapkan konsep filter, semakin besar ukuran file, maka semakin besar pula jumlah memori yang dibutuhkan, berlaku sebaliknya pada RSA dan ECDSA yang menerapkan konsep filter. SARAN Pada penelitian selanjutnya dalam rangka pengembangan untuk pemahaman pada aplikasi kriptosistem maka perlu diadakan pengidentifikasian dalam analisis pembangkitan sepasang kunci dan penggunaan lingkungan pengembangan yang lain selain Crypto++ Library, jika memungkinkan dilakukan perbandingan diantara keduanya. Selain itu dapat diadakan juga penelitian yang tidak memanfaatkan konsep filter yang merupakan suatu kelebihan dari aplikasi Crypto++ Library untuk RSA dan ECDSA, sehingga diketahui pola perbedaan lain dari segi waktu pemrosesan dan penggunaan memori. DAFTAR PUSTAKA Anonim. Manual Crypto++ Library 5.6.0 API Reference. http:www.cryptopp.com , [11 Mei 2009]. 23 Ismaliansyah MK. 2006. Kriptanalisis Pada Tiger. http:www.informatika.org~rinaldiKriptog rafi2006-2007Makalah2Makalah-057.pdf , [25 Februari 2011]. Menezes A., Van Oorschot P., Vanstone S. 1996. Hanbook of Applied Cryptography. CRCPress Inc. www.cacr.math.uwaterloo.cahac .[15Jun i 2009]. Munir R.2006.Kriptografi. Bandung:Informatika. Rasyid MF. 2007. Tanda Tangan Digital Majemuk dengan Kunci Publik Tunggal dengan Algoritma RSA dan El Gamal. http:www.informatika.org~rinaldiKriptog rafi2007-2008Makalah2MakalahIF5054- 2007-B-039.pdf , [September 2009]. Setiawan A. 2009. Percobaan Faktorial. http:smartstat.wordpress.com20091223s lide-rancangan-faktorial , [30 September 2010] Stalling W. 2003. Cryptography and Network Security Principles and Practice. Third Edition. New Jersey: Pearson Education. Walpole RE. 1990. Pengantar Statistika. Sumantri B, penerjemah. Jakarta. PT. Gramedia. Terjemahan dari: Introduction to Statistics. Triwinarko A. 2004. Elliptic Curve Digital Signature Algorithm ECDSA. http:www.infomatika.org~rinaldiTAMak alah_TA20Andy20T.pdf , [September 2009]. Triyanto. 2009. Pengenalan Minitab. http:trie.staff.fkip.uns.ac.idfiles201003 MINITAB-14.pdf , [07 Januari 2011]. LAMPIRAN 25 Lampiran 1 Hasil Pengujian Aplikasi Tanda Tangan Digital No Uraian DSA RSA ECDSA 1. Pembangkitan Kunci Key Generation User Input Tidak ada Panjang kunci dalam bit, random seed Tidak ada Process Function CreateDSAKeys GenerateRSAKey CreateECDSAKeys Output Kunci Privat dan Publik Kunci Privat dan Publik Kunci Privat dan Publik Hasil Uji Sukses Sukses Sukses 2. Pembangkitan tanda Tangan Signature Generation User Input Kunci Privat dan File pesan Kunci Privat dan File pesan Kunci Privat dan File pesan Process Function SignDSAMessage_256 RSASignFile_256 SignMessageECDSA_256 Output - Signature file - Waktu proses dan jumlah memori yang digunakan - Signature file - Waktu proses dan jumlah memori yang digunakan - Signature file - Waktu proses dan jumlah yang memori digunakan Hasil Uji Sukses Sukses Sukses 3. Verifikasi Tanda Tangan Signature Verifying User Input Kunci Publik dan File pesan Kunci Publik dan File pesan Kunci Publik dan File pesan Process Function VerifyDSAMessage_256 RSAVerifyFile_256 VerifyMessageECDSA_25 6 Output - Informasi hasil verifikasi - Waktu proses dan jumlah memori yang digunakan - Informasi hasil verifikasi - Waktu proses dan jumlah memori yang digunakan - Informasi hasil verifikasi - Waktu proses dan jumlah memori yang digunakan Hasil Uji Sukses Sukses Sukses 26 Lampiran 2Data Hasil Pengujian Aplikasi Tanda Tangan Digital DSA RSA ECDSA DSA RSA ECDSA DSA RSA ECDSA DSA RSA ECDSA 1 SHA-256 1 5.270.016 EXE 68 88 93 78 140 93 11.424 1.976 2.968 10.732 1.980 2.300 2 5.127.245 PDF 78 83 94 63 145 151 11.424 1.976 2.972 10.732 1.980 2.300 3 5.119.536 BMP 67 78 93 66 140 156 11.428 1.976 2.968 10.732 1.980 2.300 4 10.357.440 EXE 135 156 166 135 250 265 19.644 1.976 2.968 18.952 1.980 2.300 5 10.259.143 PDF 140 156 171 141 249 255 19.648 1.976 2.972 18.952 1.980 2.300 6 10.243.640 BMP 130 156 177 135 240 266 19.648 1.976 2.968 18.952 1.980 2.300 7 20.758.285 EXE 265 312 317 265 526 546 36.088 1.976 2.968 35.392 1.980 2.300 8 20.486.360 PDF 255 307 338 266 520 541 36.088 1.976 2.968 35.392 1.980 2.300 9 20.492.996 BMP 266 312 348 266 520 542 36.088 1.976 2.968 35.392 1.980 2.300 10 40.668.080 EXE 500 604 604 510 1.083 1.104 68.964 1.976 2.972 68.272 1.980 2.300 11 40.978.851 PDF 500 599 676 505 1.067 1.088 68.964 1.976 2.968 68.272 1.980 2.300 12 41.041.160 BMP 510 604 656 500 1.072 1.083 68.964 1.976 2.968 68.272 1.980 2.300 13 83.562.496 EXE 1.020 1.208 1.370 1.016 1.817 2.265 134.724 1.976 2.972 134.032 1.980 2.300 14 81.951.720 PDF 994 1.188 1.297 1.010 2.156 2.176 134.728 1.976 2.972 134.032 1.980 2.300 15 81.922.776 BMP 989 1.179 1.307 994 2.180 2.127 134.724 1.976 2.968 134.032 1.980 2.300 Rata-rata 394,47 468,67 513,80 396,67 807,00 843,87 54.169,87 1.976,00 2.969,33 53.476,00 1.980,00 2.300,00 2 SHA-384 1 5.120.421 EXE 109 125 266 99 203 286 11.448 1.976 2.968 10.736 1.980 2.296 2 5.127.245 PDF 104 119 235 98 161 265 11.448 1.976 2.968 10.736 1.980 2.296 3 5.119.536 BMP 109 109 244 110 161 260 11.452 1.976 2.968 10.736 1.980 2.296 4 10.240.844 EXE 203 219 494 198 322 495 19.672 1.976 2.968 18.956 1.980 2.296 5 10.259.143 PDF 203 219 463 197 301 494 19.672 1.976 2.972 18.956 1.980 2.296 6 10.243.640 BMP 203 223 463 193 286 495 19.672 2.968 2.976 18.956 1.980 2.296 7 20.481.689 EXE 380 437 969 385 619 984 36.112 1.976 2.968 35.396 1.980 2.296 8 20.486.360 PDF 380 442 907 385 609 963 36.108 1.976 2.972 35.396 1.980 2.296 9 20.492.996 BMP 375 432 901 380 614 979 36.112 1.976 2.968 35.396 1.980 2.296 10 40.963.380 EXE 744 849 1.869 760 1.260 1.885 68.988 1.976 2.968 68.276 1.980 2.296 11 40.978.851 PDF 750 844 1.786 750 1.239 1.890 68.992 1.976 2.968 68.276 1.980 2.296 12 41.041.160 BMP 755 859 1.797 760 1.239 1.917 68.988 1.976 2.968 68.276 1.980 2.296 13 81.926.762 EXE 1.515 1.729 3.619 1.525 2.573 3.895 134.748 1.976 2.968 134.036 1.980 2.296 14 81.951.720 PDF 1.484 1.692 3.567 1.495 2.495 3.760 134.748 1.976 2.968 134.036 1.980 2.296 15 81.922.776 BMP 1.489 1.692 3.546 1.495 2.494 3.765 134.748 1.976 2.976 134.036 1.980 2.296 Rata-rata 586,87 666,00 1.408,40 588,67 971,73 1.488,87 54.193,87 2.042,13 2.969,60 53.480,00 1.980,00 2.296,00 3 TIGER 1 5.120.421 EXE 41 47 57 42 125 156 11.464 1.976 2.972 10.740 1.980 2.296 2 5.127.245 PDF 36 52 62 32 120 135 11.460 1.976 2.972 10.740 1.980 2.296 3 5.119.536 BMP 36 47 62 41 120 140 11.464 1.976 2.972 10.740 1.980 2.296 4 10.240.844 EXE 67 88 93 67 180 218 19.684 1.976 2.972 18.960 1.980 2.296 5 10.259.143 PDF 67 94 94 72 213 208 19.680 1.976 2.972 18.960 1.980 2.296 6 10.243.640 BMP 73 93 94 67 197 213 19.684 1.976 2.976 18.960 1.980 2.296 7 20.481.689 EXE 135 172 182 135 437 458 36.120 1.976 2.972 35.400 1.980 2.296 8 20.486.360 PDF 130 172 177 130 432 448 36.120 1.976 2.976 35.400 1.980 2.296 9 20.492.996 BMP 125 172 182 135 432 448 36.124 1.976 2.972 35.400 1.980 2.296 10 40.963.380 EXE 244 338 344 250 906 932 69.000 1.976 2.972 68.280 1.980 2.296 11 40.978.851 PDF 245 349 354 250 880 901 69.004 1.976 2.976 68.280 1.980 2.296 12 41.041.160 BMP 250 338 349 245 880 901 69.004 1.976 2.972 68.280 1.980 2.296 13 81.926.762 EXE 490 682 693 494 1.765 1.896 134.760 1.976 2.976 134.040 1.980 2.296 14 81.951.720 PDF 478 672 687 479 1.838 1.828 134.764 1.976 2.976 134.040 1.980 2.296 15 81.922.776 BMP 484 672 687 469 1.807 1.828 134.764 1.976 2.976 134.040 1.976 2.296 Rata-rata 193,40 265,87 274,47 193,87 688,80 712,60 54.206,40 1.976,00 2.973,60 53.484,00 1.979,73 2.296,00 Memori Verifying KB Waktu Signing ms Waktu Verification ms Memori S igning KB No Tipe Hash Perulangan Ukuran Bytes Tipe File 27 Lampiran 3 Tampilan Software Minitab 28 Lampiran 4Hasil UjiNormal Probability Plot dan Test for Equal VariencesPada Proses Signingdengan hasil data tidak menyebar normal 29 Lampiran 5 Data Waktu Proses Signing yang Telah Ditransformasi Menggunakan Logaritma Natural File 5 MB File 10 MB File 20 MB File 40 MB File 80 MB File 5 MB File 10 MB File 20 MB File 40 MB File 80 MB SHA256 DSA 68 135 265 500 1020 4.21951 4.90527 5.57973 6.21461 6.92756 SHA256 DSA 78 140 255 500 994 4.35671 4.94164 5.54126 6.21461 6.90174 SHA256 DSA 67 130 266 510 989 4.20469 4.86753 5.58350 6.23441 6.89669 SHA384 DSA 109 203 380 744 1515 4.69135 5.31321 5.94017 6.61204 7.32317 SHA384 DSA 104 203 380 750 1484 4.64439 5.31321 5.94017 6.62007 7.30250 SHA384 DSA 109 203 375 755 1489 4.69135 5.31321 5.92693 6.62672 7.30586 TIGER DSA 41 67 135 244 490 3.71357 4.20469 4.90527 5.49717 6.19441 TIGER DSA 36 67 130 245 478 3.58352 4.20469 4.86753 5.50126 6.16961 TIGER DSA 36 73 125 250 484 3.58352 4.29046 4.82831 5.52146 6.18208 SHA256 RSA 88 156 312 604 1208 4.47734 5.04986 5.74300 6.40357 7.09672 SHA256 RSA 83 156 307 599 1188 4.41884 5.04986 5.72685 6.39526 7.08003 SHA256 RSA 78 156 312 604 1179 4.35671 5.04986 5.74300 6.40357 7.07242 SHA384 RSA 125 219 437 849 1729 4.82831 5.38907 6.07993 6.74406 7.45530 SHA384 RSA 119 219 442 844 1692 4.77912 5.38907 6.09131 6.73815 7.43367 SHA384 RSA 109 223 432 859 1692 4.69135 5.40717 6.06843 6.75577 7.43367 TIGER RSA 47 88 172 338 682 3.85015 4.47734 5.14749 5.82305 6.52503 TIGER RSA 52 94 172 349 672 3.95124 4.54329 5.14749 5.85507 6.51026 TIGER RSA 47 93 172 338 672 3.85015 4.53260 5.14749 5.82305 6.51026 SHA256 ECDSA 93 166 317 604 1370 4.53260 5.11199 5.75890 6.40357 7.22257 SHA256 ECDSA 94 171 338 676 1297 4.54329 5.14166 5.82305 6.51619 7.16781 SHA256 ECDSA 93 177 348 656 1307 4.53260 5.17615 5.85220 6.48616 7.17549 SHA384 ECDSA 266 494 969 1869 3619 5.58350 6.20254 6.87626 7.53316 8.19395 SHA384 ECDSA 235 463 907 1786 3567 5.45959 6.13773 6.81014 7.48773 8.17948 SHA384 ECDSA 244 463 901 1797 3546 5.49717 6.13773 6.80351 7.49387 8.17358 TIGER ECDSA 57 93 182 344 693 4.04305 4.53260 5.20401 5.84064 6.54103 TIGER ECDSA 62 94 177 354 687 4.12713 4.54329 5.17615 5.86930 6.53233 TIGER ECDSA 62 94 182 349 687 4.12713 4.54329 5.20401 5.85507 6.53233 Fungsi Hash Algoritme Time Signing ms LN Time Signing ms 30 Lampiran 6 Data Waktu Proses Verifying yang Telah Ditransformasi Menggunakan Logaritma Natural File 5 MB File 10 MB File 20 MB File 40 MB File 80 MB File 5 MB File 10 MB File 20 MB File 40 MB File 80 MB SHA256 DSA 78 135 265 510 1016 4.35671 4.90527 5.57973 6.23441 6.92363 SHA256 DSA 63 141 266 505 1010 4.14313 4.94876 5.58350 6.22456 6.91771 SHA256 DSA 66 135 266 500 994 4.18965 4.90527 5.58350 6.21461 6.90174 SHA384 DSA 99 198 385 760 1525 4.59512 5.28827 5.95324 6.63332 7.32975 SHA384 DSA 98 197 385 750 1495 4.58497 5.28320 5.95324 6.62007 7.30988 SHA384 DSA 110 193 380 760 1495 4.70048 5.26269 5.94017 6.63332 7.30988 TIGER DSA 42 67 135 250 494 3.73767 4.20469 4.90527 5.52146 6.20254 TIGER DSA 32 72 130 250 479 3.46574 4.27667 4.86753 5.52146 6.17170 TIGER DSA 41 67 135 245 469 3.71357 4.20469 4.90527 5.50126 6.15060 SHA256 RSA 140 250 526 1083 1817 4.94164 5.52146 6.26530 6.98749 7.50494 SHA256 RSA 145 249 520 1067 2156 4.97673 5.51745 6.25383 6.97261 7.67601 SHA256 RSA 140 240 520 1072 2180 4.94164 5.48064 6.25383 6.97728 7.68708 SHA384 RSA 210 322 619 1260 2573 5.34711฀ 5.77455 6.42811 7.13887 7.85283 SHA384 RSA 161 301 609 1239 2495 5.08140 5.70711 6.41182 7.12206 7.82204 SHA384 RSA 161 286 614 1239 2494 5.08140 5.65599 6.41999 7.12206 7.82164 TIGER RSA 125 180 437 906 1765 4.82831 5.19296 6.07993 6.80904 7.47591 TIGER RSA 120 213 432 880 1838 4.78749 5.36129 6.06843 6.77992 7.51643 TIGER RSA 120 197 432 880 1807 4.78749 5.28320 6.06843 6.77992 7.49942 SHA256 ECDSA 141 265 546 1104 2265 4.94876 5.57973 6.30262 7.00670 7.72533 SHA256 ECDSA 151 255 541 1088 2176 5.01728 5.54126 6.29342 6.99210 7.68524 SHA256 ECDSA 156 266 542 1083 2127 5.04986 5.58350 6.29527 6.98749 7.66247 SHA384 ECDSA 286 495 984 1885 3895 5.65599 6.20456 6.89163 7.54168 8.26745 SHA384 ECDSA 265 494 963 1890 3760 5.57973 6.20254 6.87005 7.54433 8.23217 SHA384 ECDSA 260 495 979 1917 3765 5.56068 6.20456 6.88653 7.55852 8.23350 TIGER ECDSA 135 218 458 932 1896 4.90527 5.38450 6.12687 6.83733 7.54750 TIGER ECDSA 135 208 448 901 1828 4.90527 5.33754 6.10479 6.80351 7.51098 TIGER ECDSA 140 213 448 901 1828 4.94164 5.36129 6.10479 6.80351 7.51098 Fungsi Hash Algoritme Time Verifying ms LN Time Verifying ms 31 Lampiran 7 Hasil UjiNormal Probability Plot dan Test for Equal Variences Pada Proses Signing dengan hasil data menyebar normal 32 Lampiran 8Hasil UjiNormal Probability Plot dan Test for Equal Variences Pada Proses Verifying dengan hasil data menyebar normal 33 Lampiran 9 Plot Interaksi Waktu proses Signing 34 Lampiran 10 Plot Interaksi Waktu proses Verifying 35 Lampiran 11AlgoritmeKomputasi HashSHA-256 Setelah dilakukan praproses, setiap blok pesan, M 1 , M 2 , ..., M N , diproses lebih lanjut sesuai urutan, mengikuti langkah-langkah sebagai berikut: For i=1 to N: { 1. Mempersiapkan penjadwalan pesan, {W t }: = 0 t 15 16 t 63

2. Inisialisasi delapan working variables, a, b, c, d, e, f, g, dan h, dengan i-1

st nilai hash: a = H i-1 b = H 1 i-1 c = H 2 i-1 d = H 3 i-1 e = H 4 i-1 f = H 5 i-1 g = H 6 i-1 h = H 7 i-1 3. For t = 0 to 63: { T 1 = h + + Che, f, g + + T 2 = + Maj a, b, c h = g g = f f = e e = d + T 1 d = c c = b b = a a = T 1 + T 2 } 4. Hitung nilai hash : H i = a + H i-1 H 1 i = b + H 1 i-1 H 2 i = c + H 2 i-1 H 3 i = d + H 3 i-1 H 4 i = e + H 4 i-1 H 5 i = f + H 5 i-1 H 6 i = g + H 6 i-1 H 7 i = h + H 7 i-1 } Setelah dilakukan proses sampai dengan , hasil message digest 256-bit dari pesan, M, adalah || || || || || || ||