Analisis dan Implementasi Algoritma SHA-1 dan SHA-3 pada Sistem Autentikasi Garuda Training Cost

  Vol. 1, No. 9, Juni 2017, hlm. 803-812 http://j-ptiik.ub.ac.id

  

Analisis dan Implementasi Algoritma SHA-1 dan SHA-3 pada Sistem

Autentikasi Garuda Training Cost

1 2 3 Firlhi Kurniawan , Ari Kusyanti , Heru Nurwarsito

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: firlhik@gmail.com, ari.kusyanti@ub.ac.id, heru@ub.ac.id

  

Abstrak

  Garuda Training Cost merupakan suatu aplikasi web perhitungan biaya pelatihan untuk pilot dan pramugari yang dikembangkan di Garuda Indonesia Training Center. Aplikasi ini menggunakan algoritma hash function SHA-1 untuk mengamankan password pengguna yang tersimpan di database. Tetapi, dikarenakan telah ditemukannya kelemahan dan kolisi pada algoritma ini, maka algoritma ini sudah kurang aman lagi. Maka dari itu, pada penelitian ini, penulis akan menggantikan algoritma SHA-1 tersebut dengan algoritma penerusnya, yaitu SHA-3. Algoritma SHA-3 diimplementasikan pada proses login, proses perubahan password pengguna dan proses penambahan pengguna. Setelah itu dilakukan pengujian dan analisis untuk mengetahui kinerja dari kedua algoritma tersebut. Ada tiga jenis pengujian yang dilakukan, yang pertama yaitu pengujian brute-force, yang kedua pengujian

  

avalanche effect dan yang terakhir pengujian waktu pemrosesan. Dari pengujian brute-force, algoritma

  SHA-3 jauh lebih baik dari algoritma SHA-1. Ditunjukkan dengan 30 kali percobaan brute-force untuk password dengan 10 karakter, hash yang dihasilkan SHA-1 membutuhkan waktu rata-rata 14 jam 53 menit dan 51 detik untuk menemukan plaintext-nya. Sedangkan hash yang dihasilkan SHA-3 membutuhkan waktu rata-rata 4 hari 13 jam 6 menit dan 6 detik untuk menemukan plaintext-nya. Untuk pengujian avalanche effect, algoritma SHA-1 mendapatkan persentase perubahan sebesar 100% sedangkan SHA-3 mendapatkan 95%. Sedangkan untuk pengujian waktu pemrosesan, SHA-1 lebih baik karena kompleksitas algoritma SHA-3 yang lebih tinggi. Walaupun dua dari tiga pengujian tersebut SHA-1 lebih unggul, bukan berarti SHA-3 tidak lebih baik. Persentase minimum avalanche

  

effect untuk sebuah algoritma agar dapat dikatakan baik adalah lebih dari 50%. Sedangkan waktu

  pemrosesan tersebut masih dalam satuan milliseconds, sehingga pengguna tidak merasakan dampaknya secara langsung. Kesimpulannya, dari ketiga pengujian tersebut menunjukkan bahwa SHA-3 memiliki ketahanan yang lebih tinggi dari algoritma SHA-1.

  Kata kunci: aplikasi web, keamanan password, fungsi hash, kriptografi, algoritma SHA-1, algoritma SHA-3

Abstract

Garuda Training Cost is a web application for calculating the training costs for pilots and flight

attendants developed in Garuda Indonesia Training Center. This application use SHA-1 hash function

algorithm to secure user password in database. However, the weakness and colisions have been found

in this algorithm, therefore this algorithm less secure. Hence, in this research authors will replace the

SHA-1 with the algorithm successor, SHA-3. This algorithm will be implemented in login process,

password change process and adding users process. Both algorithm will be tested and analyzed to

determine the performance of the algorithm. There are three types of tests performed. The first is

brute-force testing, second is avalanche effect testing and the final test is processing time testing.

From the brute-force test result, SHA-3 algorithm much better than SHA-1. From the 30 times testing

for 10-character password, the SHA-1 generated hash need average 14 hours 53 minutes and 51

seconds to find the plaintext. While SHA-3 generated hash need average 4 days 13 hours 6 minutes

and 6 seconds to find the plaintext. For the avalanche effect testing, SHA-1 algorithm get a percentage

change of 100%, while SHA-3 get 95%. For the processing time testing, SHA-1 algorithm is better

because of SHA-3 higher complexity. Although two of three test SHA-1 is better, does not mean SHA-3

is not better. Minimum avalanche effect percentage for an algorithm is 50%. And that processing time

is still in milliseconds unit, so that user do not feel the impact directly. In conclusion, the three these

tests show that the SHA-3 has a higher resistance than the algorithm SHA-1.

  Fakultas Ilmu Komputer Universitas Brawijaya

803

  

Keywords: web application, password security, hash function, cryptography, SHA-1 algorithm, SHA-3

algorithm 1.

  Realization of the Secure Cryptographic SHA-3 Algorithm . Di sana dijelaskan tentang

  Algorithm (DSA), yang digunakan untuk

  sebagai masukan untuk Digital Signature

  Message digest tersebut dapat digunakan

  1993. Secure Hash Standard (SHS) menspesifikasikan SHA-1 untuk menghitung nilai hash dari sebuah pesan atau file. SHA-1 memiliki panjang pesan maksimal 2 64 bits dan memiliki keluaran sebesar 160 bits yang dinamakan message digest atau hash code.

  Processing Standards (FIPS 180) pada tahun

  dipublikasikan sebagai Federal Information

  of Standards and Technology (NIST) dan

  SHA dikembangkan oleh National Institute

  2.2. Secure Hash Algorithm-1 (SHA-1)

  Dengan berbekal metode dari penelitian sebelumnya, diharapkan dapat membangun sebuah sistem yang lebih aman dengan memanfaatkan metode atau solusi yang sudah diteliti tersebut yaitu SHA-3 agar terbangun sebuah sistem yang dapat diandalkan baik dari segi integritas data.

  Pada pustaka yang telah dipelajari, kebanyakan penelitian sebelumnya terfokus pada algoritma hash yang sudah lama, seperti MD5 dan SHA-1. Dari hal itulah yang melatarbelakangi penelitian tentang algoritma SHA-3 yang terbilang masih baru, bagaimana kinerjanya pada saat implementasi dan bagaimana jika dibandingkan dengan pendahulunya yaitu SHA-1.

  bagaimana algoritma Keccak menjadi pemenang dan distandarisasi menjadi algoritma SHA-3, serta kelebihannya dibandingkan algoritma lain (Sarmadi, 2014).

  Berdasarkan penelitian sebelumnya yang berkaitan dengan algoritma SHA-1, yaitu berjudul Finding Collisions in the Full SHA-1 telah ditemukan kolisi pada algoritma hash SHA-1 (Wang, 2005). Sedangkan penelitian sebelumnya untuk algoritma SHA-3 yang berjudul Efficient and Concurrent Reliable

   PENDAHULUAN Garuda Training Cost merupakan aplikasi

  Telah banyak penelitian yang berkaitan dengan fungsi algoritma hash. Dari jurnal yang dipelajari, hal-hal yang didapat antara lain teori dasar aplikasi berbasis web secara umum, kriptografi, keamanan web, dan juga bagaimana cara untuk menguji, membandingkan, dan menganalisis algoritma hash yang telah ada, sehingga dapat digunakan dalam penelitian ini.

  Garuda Training Cost yaitu SHA-1, akan digantikan dengan algoritma yang lebih baik.

  Oleh karena itu, algoritma yang sebelumnya sudah diterapkan pada aplikasi

  Hipotesis dari penelitian ini yaitu kinerja dan keamanan dari algoritma SHA-3 akan lebih unggul dibandingkan dengan algoritma SHA-1, dikarenakan algoritma SHA-3 ini dibuat untuk memperbaiki algoritma SHA-1 yang telah ditemukan kelemahan dan kolisinya.

  yang lain digunakan juga autentikasi menggunakan one time password (Fakhrusy, 2016).

  hash pada password, sedangkan pada penelitian

  penelitian sebelumnya pada jurnal yang berjudul Finding Collisions in the Full SHA-1, telah ditemukan kolisi pada algoritma SHA-1 ini (Wang, 2005). Hal ini pula yang menjadi latar belakang akan diterapkannya fungsi hash pengganti SHA-1, yaitu SHA-3 (Keccak) yang baru diresmikan pada tahun 2015 lalu. Keunikan implementasi SHA-3 pada penelitian ini yaitu dia hanya menggunakan algoritma SHA-3 sebagai algoritma untuk melakukan

  hash yang sudah lumayan tua. Berdasarkan

  Fungsi SHA-1 ini merupakan suatu fungsi

  mengakses sistem tersebut, diharuskan login terlebih dahulu. Untuk menjamin keamanan dari data-data tersebut, sudah ada beberapa mekanisme keamanan yang sudah diterapkan pada sistem ini, salah satunya yaitu hash password dengan algoritma SHA-1.

  username dan password. Untuk dapat

  Data-data yang dikelola dalam aplikasi ini yaitu laporan keuangan, biaya pelatihan untuk internal, dan biaya pelatihan untuk pihak ketiga. Serta untuk mekanisme login terdapat pula data

  berbasis web yang dikembangkan di Garuda Indonesia Training Center. Aplikasi ini adalah sebuah alat bantu yang dibuat untuk bidang pemasaran di Garuda Indonesia Training Center.

2. LANDASAN KEPUSTAKAAN

2.1. Kajian pustaka

  menghasilkan signature untuk memverifikasi

  2.4. Perbandingan SHA-1 dengan SHA-3 pesan tersebut.

  1. Algoritma SHA-1 hanya dapat mengolah Pada saat ditemukan kelemahan pada

  64

  input dengan panjang maksimal

  2 bit,

  algoritma SHA-0, berbagai revisi dan perbaikan sedangkan algoritma SHA-3 dapat dilakukan untuk membuat suatu algoritma yang mengolah input dengan panjang tak lebih baik. Hasil dari perbaikan tersebut terhingga. diterbitkan pada tahun 1995 dan dijadikan 2.

  Ukuran output yang dihasilkan oleh acuan untuk pembuatan algoritma SHA-1. algoritma SHA-1 berukuran 160 bits. Algoritma SHA-1 merupakan revisi teknis

  Sedangkan ukuran output yang dihasilkan dari algoritma SHA. Algoritma SHA-1 dapat SHA-3 berukuran beragam, mulai dari dikatakan aman karena proses perhitungannya 224, 256, 384, dan 512 bits. Menjadikan tidak memungkinkan untuk menemukan pesan algoritma SHA-3 lebih tahan terhadap yang sebenarnya dari message digest yang serangan brute force. dihasilkan. Setiap perubahan yang terjadi pada 3.

  Pada tahun 2015 telah ada yang berhasil pesan saat perjalanan akan menghasilkan melakukan serangan theoretical dan

  message digest yang berbeda. Algoritma SHA- collision pada algoritma SHA-1,

  1 berbasis pada algoritma MD4 dan menjadikan algoritma ini sudah kurang rancangannya sangatlah mirip terhadap aman jika dibandingkan SHA-3 yang algoritma tersebut. masih sangat baru dan belum bisa ditembus.

2.3. Secure Hash Algorithm-3 (SHA-3)

  Pada tahun 2006, NIST mengadakan 3.

   METODOLOGI

  kompetisi hash function untuk membuat sebuah Dalam bab ini akan dijelaskan tentang cara standar hash baru, yaitu SHA-3. SHA-3 dibuat sistematik yang akan digunakan untuk tidak untuk menggantikan SHA-2, dikarenakan menyelesaikan masalah penelitian dan juga belum ada serangan hebat yang terjadi pada tahapan yang dilakukan dalam pengujian dan

  SHA-2. NIST membuat SHA-3 dikarenakan analisis dari algoritma hash SHA-1 dan SHA-3. kekhawatiran dikarenakan MD5, SHA-0, SHA-

  Tahapan-tahapannya terdiri dari studi literatur, 1 yang telah berhasil ditembus. Karena itulah analisis kebutuhan, perancangan sistem,

  NIST mencari algoritma hash alternatif yang implementasi sistem, pengujian dan analisis sangat berbeda dengan algoritma sebelumnya, sistem, dan kesimpulan. Tahapan-tahapan yaitu SHA-3.

  3.

  tersebut digambarkan pada Gambar Pada tahun 2012, Keccak menjadi pemenang dalam kompetisi ini. Kemudian pada tahun 2014 mempublikasikan draft FIPS 202 tentang

  “SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functio ns”.

  Setelah itu pada tahun 2015 SHA-3 diresmikan sebagai standar baru fungsi hash (Charles, 2015).

  Tidak seperti SHA-1, SHA-3 memiliki ukuran keluaran yang beragam. Jenis-jenis keluaran SHA-3 tersebut yaitu SHA-3 224, SHA-3 256, SHA-3 384, SHA-3 512, SHAKE128 dan SHAKE256 Dikarenakan berbagai jenis keluaran tersebut, maka SHA-3 ini masuk kedalam jenis sponge function. Pada jurnal yang berjudul

  “Cryptographic sponge Gambar 3 Diagram blok metodologi penelitian function”, sponge function menyediakan cara

  tertentu agar dapat menggeneralisasikan fungsi 4.

PERANCANGAN DAN

  hash dengan hasil keluaran yang beragam

  IMPLEMENTASI (Bertoni, 2011).

  4.1. Analisis kebutuhan

  Pengertian dari analisis ialah penguraian dari suatu pembahasan, dalam hal ini analisis mengenai perancangan sistem autentikasi pada aplikasi Garuda Training Cost dengan menggunakan algoritma hash SHA-3 yang berguna untuk mengetahui apa saja yang dapat dijadikan isi dari perancangan yang akan dibuat.

4.1.1 Analisis permasalahan

  Dalam penelitian yang sedang dibahas yaitu perancangan sistem autentikasi pada aplikasi Garuda Indonesia Training Cost dengan menggunakan algoritma hash SHA-3. Analisis dari permasalahan yang sedang dibahas pada penelitian ini akan dijelaskan pada Gambar 4.

  password.

  dan SHA-3 yang digunakan pada penelitian ini akan dibandingkan dengan test vector tersebut. Berikut adalah test vector dan hasil hash dari algoritma yang digunakan pada penelitian ini.

  http://www.di-mgt.com.au/sha_testvectors.html . Hash yang dihasilkan pada algoritma SHA-1

  Untuk memastikan algoritma SHA-1 dan SHA-3 yang diterapkan pada penelitian ini sudah benar dan sesuai dengan ketentuan, maka digunakanlah test vector untuk algoritma SHA- 1 dan SHA-3, yang merujuk pada situs

  5.2. Test vector

  ada perbedaan yang signifikan antara kedua algoritma.

  One-Way ANOVA untuk mengetahui apakah

  Kemudian pengujian avalanche effect. Dan yang terakhir yaitu waktu pemrosesan saat proses login. Setelah pengujian dilakukan, hasil dari pengujian brute-force dan waktu pemrosesan akan diproses lebih lanjut dengan menggunakan Independent Samples t-Test dan

  brute-force testing pada kedua algoritma.

  Parameter yang digunakan untuk menguji kedua algoritma hash yaitu SHA-1 dan SHA-3 pada penelitian ini ada 3. Yang pertama adalah waktu yang ditempuh pada saat melakukan

  5.1. Parameter pengujian

  5. PENGUJIAN DAN ANALISIS

  semua fitur dan data di sistem, harus terlebih dahulu login menggunakan username dan

  Gambar 4 Skema global sistem Garuda Training Cost

  password. Di karenakan untuk dapat mengakses

  Analisis data merupakan tahapan dimana dilakukannya analisis terhadap data-data apa sja yang diolah dalam sistem. Pada aplikasi ini, data yang akan di lakukan hash terbatas pada

  4.1.2 Analisis data

  6. Halaman penambahan pengguna digunakan untuk menambahkan pengguna baru ke dalam sistem, pengguna mengisi form dan menekan tombol Submit. Setelah itu sistem akan melakukan hash terlebih dahulu terhadap password dengan menggunakan algoritma SHA-1 atau SHA-3, kemudian disimpan ke database beserta data-data yang lain.

  Setelah itu sistem akan melakukan hash terlebih dahulu terhadap password tersebut dengan menggunakan algoritma SHA-1 atau SHA-3, kemudian disimpan ke database.

  5. Halaman perubahan password digunakan untuk mengubah password dari pengguna yang telah terdaftar, pengguna mengubah password dan menekan tombol Submit.

  4. Jika hasil hash cocok dengan hash yang ada di dalam database, maka pengguna dapat masuk ke dalam sistem dan menggunakan fitur yang tersedia, yakni pada tahap 5 dan tahap 6.

  hash yang telah tersimpan di dalam database .

  3. Setelah itu, hasil dari proses hashing pada tahap sebelumnya tadi dicocokkan dengan

  menggunakan algoritma fungsi hash SHA-1 atau SHA-3.

  password pengguna tersebut dengan

  1. Pengguna melakukan login dengan memasukkan username dan password agar dapat masuk ke dalam sistem.

  Penjelasan skema global sistem Garuda Training Cost di atas adalah sebagai berikut.

2. Kemudian akan dilakukan hashing pada

  Test vector

  algoritma SHA-1 dan SHA-3, maka dilakukanlah independent sample t-test pada data hasil pengujian tersebut.

  yaitu melakukan serangan terhadap suatu hash yang dihasilkan dengan algoritma SHA-1 dan SHA-3, dengan mencoba segala kombinasi huruf, angka dan simbol agar didapatkan

  plaintext dari hash tersebut.

  5.4.2 Prosedur pengujian

  Pengujian ini dilakukan dengan menggunakan program hashcat. Program ini berfungsi untuk mendapatkan plaintext dari suatu hash ataupun ciphertext.

  Untuk melihat perbedaan waktu pengujian

  brute-force untuk 8 karakter lowercase pada

  Ketentuan pengambilan keputusan untuk pengujian independent sample t-test didasarkan pada ketentuan sebagai berikut: Hipotesis: H0: Tidak ada perbedaan yang signifikan antara waktu pengujian brute-force pada algoritma SHA-1 dan SHA-3

  Tujuan dari pengujian ini adalah untuk mengetahui ketahanan dan kekuatan dari algoritma SHA-1 dan SHA-3 terhadap serangan

  H1: Terdapat perbedaan yang signifikan antara waktu pengujian brute-force pada algoritma SHA-1 dan SHA-3

  Kriteria keputusan: a.

  Jika probabilitas (Sig.) > 0,05 maka H0 diterima b.

  Jika probabilitas (Sig.) < 0,05 maka H0 ditolak

  5.4.3 Hasil pengujian

  Berdasarkan pengujian yang telah dilakukan, berikut ini disajikan tabel waktu estimasi pengujian brute-force untuk algoritma SHA-1 dan SHA-3 yang didapatkan dari

  brute-force . Mekanisme dari brute-force ini

  5.4.1 Tujuan pengujian

  untuk algoritma SHA-1 dan SHA-3.

  vector . Hal ini menunjukkan bahwa algoritma

  a.

  Pesan: “abc” SHA-1: a9993e36 4706816a ba3e2571 7850c26c 9cd0d89d SHA-3: 3a985da74fe225b2 045c172d6bd390bd 855f086e3e9d525b46bfe2451 1431532 b. Pesan: “” (string kosong)

  SHA-1: da39a3ee 5e6b4b0d 3255bfef 95601890 afd80709 SHA-3: a7ffc6f8bf1ed766 51c14756a061d662 f580ff4de43b49fa 82d80a4b80f8434a c. Pesan:

  "abcdbcdecdefdefgefghfghighijhijkijkljklm klmnlmnomnopnopq" SHA-1: 84983e44 1c3bd26e baae4aa1 f95129e5 e54670f1 SHA-3: 41c0dba2a9d62408 49100376a8235e2c 82e1b9998a999e21 db32dd97496d3376

  Hash yang dihasilkan oleh algoritma SHA-

  1 dan SHA-3 yang digunakan pada penelitian ini menunjukkan hasil yang sama dengan test

  yang digunakan sudah benar dan sesuai dengan ketentuan untuk algoritma SHA-1 dan SHA-3.

  5.4. Pengujian brute-force

  Variasi password yang digunakan untuk pengujian ini adalah password dengan 8, 9 dan 10 karakter. Dikarenakan aplikasi Garuda

  Training Cost membutuhkan password minimal

  8 karakter dan maksimal 10 karakter. Jenis algoritma SHA-3 yang digunakan adalah SHA- 3-256. Berikut ini adalah plaintext dan hasil hash yang akan digunakan dalam pengujian ini.

  a.

  8 karakter: “firlhiku” (lowercase) SHA-1: 97aa74da3b34d20c75c69ed24eff1 9c971b8303b SHA-3: 8d341d9bb59e3cbafc76cb4c22c14 d617e052600a90d47ffce80d4b6252a70c5 8 karakter: “firlhi21” (lowercase dan angka) SHA-1: 3c5aa2bc19d5bd6d116b1ce044ab 9d2ef7c171ae SHA-3: b70896f9fff3f5a6872678aee3b242 09345f18f10fa08b8485f6fe22f34b4f65 8 karakter: “#vapori3” (lowercase, angka dan simbol) SHA-1: b0bfd36509cdd6941e2e0f24a0cbc 6487107adaa

  SHA-3: 1fc9286f6e50cf10a719d85b36b1c d6a1b50f6557f21f04bb7c0c2e642270629 8 karakter: “&Rez4zif” (lowercase, angka, simbol dan uppercase) SHA-1: 97078de52a4a453ea965e18295bd daee76fd6cc6 SHA-3: 1878f50f1550126444a8ff678c4b2 292853aee1af6f6fa9f91a7bbb5cecab563

5.3. Skenario pengujian

  10 karakter, didapatkan rata-rata waktu tempuh untuk hash SHA-1 adalah 14 jam 53 menit 51 detik, sedangkan untuk hash SHA- 3 memakan waktu sampai 4 hari 13 jam 6 menit 6 detik. Dari 30 percobaan tersebut, waktu estimasi yang diberikan program hashcat juga fluktuatif, seperti percobaan ke-10, memakan waktu sampai 4 hari 10 jam 4 detik.

  Setelah itu, pengujian terakhir pada

  a.

  Password 8 karakter lowercase Hasil pengujian independent sample t-test perbedaan waktu pengujian brute-force untuk 8 karakter lowercase pada algoritma SHA-1 dan SHA-3 dapat dilihat pada Tabel 5.

  Tabel 5 Independent samples t-Test untuk pengujian brute-force password 8 karakter lowercase t-test for Equality of Means t df

  Sig. (2- tailed) Waktu Equal variances assumed

  Berdasarkan keseluruhan pengujian brute-

  program hashcat. Semua pengujian dilakukan sebanyak 30 kali.

  password

  • 47,180 58 0,000 Equal variances not assumed
  • 47,180 29,160 0,000

  Pada Tabel 5, dengan menggunakan perangkat GPU Nvidia GeForce GTX 1060

  8 Lowercase   Lowercase dan angka

  pada password dengan 8, 9 dan 10 karakter, algoritma hash SHA-3 jauh lebih unggul dari SHA-1. Hal ini dikarenakan hash yang dihasilkan oleh algoritma SHA-3 lebih panjang dari algoritma SHA-1, pada pengujian ini digunakan jenis SHA-3 dengan panjang

  brute-force untuk algoritma SHA-1 dan SHA-3

  Jadi kesimpulannya, dari hasil pengujian

  simbol dan lowercase dikombinasikan dengan angka, simbol dan uppercase, algoritma SHA-3 lebih baik dari segi ketahanan dan kekuatan untuk pengujian brute-force.

  lowercase dikombinasikan dengan angka, lowercase dikombinaiskan dengan angka dan

  Berdasarkan Tabel 5(a), dari keseluruhan pengujian mulai dari 8, 9 dan 10 karakter dan semua jenis karakter yaitu lowercase ,

  10 Lowercase   Lowercase dan angka   Lowercase , angka dan simbol   Lowercase , angka, simbol dan uppercase  

  9 Lowercase   Lowercase dan angka   Lowercase , angka dan simbol   Lowercase , angka, simbol dan uppercase  

    Lowercase , angka dan simbol   Lowercase , angka, simbol dan uppercase  

  Jumlah Karakter Jenis Karakter SHA-1 SHA-3

  3GB, dari 30 percobaan, waktu yang ditempuh untuk mendapatkan suatu mesage dari

  Tabel 5(a) Perbandingan keseluruhan pengujian brute-force untuk password dari algoritma SHA-1 dan SHA-3

  dalam tabel perbandingan yang ditunjukkan pada Tabel 5(a).

  force yang telah dilakukan, akan diringkas

  Diketahui nilai t dari hasil perhitungan t-

  test dari hasil pengujian waktu brute-force pada

  algoritma SHA-1 dan SHA-3 adalah -47,180 dengan probabilitas (Sig.) 0,000. Karena probabilitas 0,000 < 0,05 maka H0 ditolak. Artinya terdapat perbedaan yang signifikan antara waktu pengujian brute-force pada algoritma SHA-1 dan SHA-3.

5.4.4 Analisis pengujian

  Pada pengujian brute-force ini, didapatkan beberapa data yang disajikan dalam bentuk tabel. Sebelum dilakukan t-test, keseluruhan satuan waktu yang digunakan dalam pengujian diubah ke detik terlebih dahulu.

  Hal yang serupa juga terjadi pada saat pengujian dilakukan untuk password 9 dan 10 karakter. Disini juga akan terlihat sekali keunggulan dari algoritma hash SHA-3. Pada pengujian untuk password 9 karakter, rata-rata waktu yang ditempuh oleh SHA-1 adalah 1 menit 29 detik, sedangkan waktu yang ditempuh oleh SHA-3 adalah 4 jam 54 menit 6 detik. Jika dilihat dari grafik, perbedaan antara keduanya sangatlah jauh.

  SHA-1 hanya memakan waktu rata-rata 16 detik. Jika dibandingkan dengan waktu yang ditempuh pada hash SHA-3, yaitu rata-rata 11 menit 9 detik, maka sangatlah jauh. Padahal skenario pengujian yang digunakan hanya menggunakan huruf lowercase, jika ditambahkan dengan huruf uppercase, angka ataupun simbol, maka waktu yang ditempuh akan berbeda.

  password 8 karakter yang telah di hash dengan keluaran 256 bit, sedangkan panjang keluaran algoritma SHA-1 hanya 160 bit. Hal inilah yang menyebabkan waktu yang ditempuh oleh SHA- 3 pada saat pengujian jauh lebih lama dibandingkan dengan SHA-1. Jadi dapat disimpulkan dari pengujian ini, pada aspek kekuatan dan ketahanan algoritma terhadap serangan brute-force, SHA-3 lebih baik dari algoritma SHA-1.

  5.5.1 Tujuan pengujian

  plaintextnya sangat mirip, hanya diubah satu

  b.

  SHA-3

  Tabel 5(c) Hasil pengujian avalanche effect untuk algoritma SHA-3

  5.5.4 Analisis pengujian

  Hasil dari pengujian avalanche effect untuk algoritma SHA-1 terdapat pada Tabel 5(b), sedangkan untuk algoritma SHA-3 terdapat pada Tabel 5(c).

  Untuk pengujian avalanche effect pada algoritma SHA-1, hash untuk kedua plaintext berubah sebanyak 100%, artinya hash yang dihasilkan benar-benar berbeda. Walaupun

  karakter saja. Pada pengujian avalance effect ini, algoritma SHA-1 masih lebih unggul jika dibandingkan dengan algoritma SHA-3, yang setelah dihitung avalanche effectnya hanya berubah sebanyak 95%. Tetapi, syarat suatu algoritma dikatakan baik adalah jika avalanche

  SHA-1

  effectnya sama dengan 50% atau lebih. Jadi

  dapat disimpulkan, walaupun algoritma SHA-1 memiliki nilai avalanche effect yang lebih baik, bukan berarti algoritma SHA-3 yang memiliki nilai yang lebih rendah dari SHA-1 dikatakan buruk. Keduanya merupakan algoritma yang sangat baik, dikarenakan sudah melebihi syarat yang telah ditentukan, yaitu 50%.

  5.6. Pengujian waktu pemrosesan

  5.6.1 Tujuan pengujian

  Tujuan dari dilakukannya pengujian waktu pemrosesan saat login ini yaitu untuk mengetahui berapa banyak waktu yang diperlukan untuk mencocokkan hash yang

  AE = Jumlah bit yang berubah pada hash Jumlah bit keseluruhan pada hash x 100% (1)

  Tabel 5(b) Hasil pengujian avalanche effect untuk algoritma SHA-1

  a.

5.5. Pengujian avalanche effect

  Pengujian dilakukan dengan menggunakan hash SHA-1 dan SHA-3 dari password dengan plaintext “firlhiku” dan “firlhiki”. Plaintext yang digunakan disini berbeda dengan pengujian yang lainnya, dikarenakan disini akan diuji seberapa besarkan perubahan sebuah output atau hash jika satu karakter diubah. Dalam hal ini yaitu huruf “u” diganti dengan huruf “i”. Setelah didapatkan hash dari kedua berbeda jika aplikasi ditempatkan pada server yang sebenarnya. Selanjutnya yaitu pada fungsi, dikarenakan sampai saat ini, bahasa pemrograman PHP belum menyediakan fungsi untuk hash dengan algoritma SHA-3, sedangkan untuk algoritma SHA-1 sudah ada. Jadi, untuk algoritma SHA-3 digunakan fungsi dari luar. Karena hal ini juga waktu pemrosesan untuk SHA-3 memakan waktu lebih lama, dikarenakan algoritma SHA-3 memiliki kompleksitas dan kerumitan yang lebih tinggi daripada algoritma SHA-1. Dan faktor terakhir adalah kerumitan fungsi serta panjang huruf yang diproses, seperti yang dijelaskan

  “Effective Implementation and Avalanche Effect of AES”, hasil dari

  enkripsi atau hash dikatakan baik apabila perubahan 1 bit input menghasilkan perubahan besar pada output (Kumar, 2012). Avalanche

  effect merupakan parameter pengujian yang

  biasa digunakan untuk menggambarkan tingkat keamanan pada kriptografi kunci simetris dan fungsi hash.

  5.5.2 Prosedur pengujian

  Pengujian ini dilakukan untuk melihat tingkat keamanan algoritma. Avalanche effect dihitung dengan rumus pada Persamaan 1.

  Pengujian avalanche effect bertujuan untuk membandingkan berapa besarkah perubahan yang terjadi ketika plaintext berubah. Output dapat berupa ciphertext ataupun digest. Pada jurnal yang berjudul

  sebagai pembanding, plaintext pertama yaitu “firlhiku” dan yang kedua “firlhiki”.

  dibandingkan. Ada berapa bit karakter yang berubah ketika dilakukan pergantian tersebut. Setelah didapatkan berapa bit yang berubah, barulah dihitung dengan menggunakan rumus AE (Avalanche Effect).

  5.5.3 Hasil pengujian

  Berikut ini adalah hasil pengujian

  avalanche effect dari kedua algoritma dengan

  menggunakan dua

  plaintext

  plaintext tersebut, hash tersebut kemudian

  localhost, waktu yang didapatkan bisa mungkin

  Berikut ini adalah hasil pengujian yang didapatkan dari tabel MySQL yang telah dibuat sebelumnya untuk menyimpan waktu pengujian.

  Banyak faktor yang mempengaruhi waktu pemrosesan pada pengujian ini. Yang pertama adalah dikarenakan pengujian ini dilakukan di

  Tetapi hal ini tidak serta merta membuat algoritma SHA-3 tidak lebih baik, dikarenakan waktu tersebut masih dalam batas wajar, dan pengguna juga tidak akan merasakan langsung dampak dari waktu tersebut.

  Pada Tabel 5(aa), dapat dilihat perbedaan waktu pemrosesan antara kedua algoritma untuk password 8 karakter lowercase, dimana untuk SHA-1 rata-rata waktu pemrosesannya 0,00142785 ms dan untuk SHA-3 adalah 0,00550367 ms. Dalam hal ini, waktu pemrosesan untuk algoritma SHA-1 lebih cepat dibandingkan dengan SHA-3. Hal ini disebabkan beberapa macam faktor, yang akan dijelaskan lebih lanjut. SHA-1 lebih unggul dalam semua pengujiannya.

  Pada pengujian waktu pemrosesan pada saat login ini, didapatkan beberapa data yang disajikan dalam bentuk tabel. Data dari tabel tersebut didapatkan dari data yang tersimpan pada database.

  5.6.4 Analisis pengujian

  Diketahui nilai t dari hasil perhitungan t-test dari hasil pengujian waktu pemrosesan pada saat login pada algoritma SHA-1 dan SHA-3 adalah -11,037 dengan probabilitas (Sig.) 0,000. Karena probabilitas 0,000 < 0,05 maka H0 ditolak. Artinya terdapat perbedaan yang signifikan antara waktu pengujian pemrosesan pada saat login pada algoritma SHA-1 dan SHA-3.

  Sig. (2- tailed) Waktu Equal variances assumed

  8 karakter lowercase t-test for Equality of Means t df

  Tabel 5(d) Independent samples t-Test untuk pengujian waktu pemrosesan pada saat login password

  Password 8 karakter lowercase Hasil pengujian independent sample t-test perbedaan waktu pengujian pemrosesan pada saat login untuk 8 karakter lowercase pada algoritma SHA-1 dan SHA-3 dapat dilihat pada Tabel 5(d).

  a.

  5.6.3 Hasil pengujian

  dihasilkan pada saat seseorang login dengan hash yang telah tersimpan pada database.

  Jika probabilitas (Sig.) < 0,05 maka H0 ditolak

  Jika probabilitas (Sig.) > 0,05 maka H0 diterima b.

  Kriteria keputusan: a.

  login pada algoritma SHA-1 dan SHA-3

  H1: Terdapat perbedaan yang signifikan antara waktu pengujian pemrosesan pada saat

  Ketentuan pengambilan keputusan untuk pengujian independent sample t-test di dasarkan pada ketentuan sebagai berikut: Hipotesis: H0: Tidak ada perbedaan yang signifikan antara waktu pengujian pemrosesan pada saat login pada algoritma SHA-1 dan SHA-3

  maka dilakukanlah independent sample t-test pada data hasil pengujian tersebut.

  lowercase pada algoritma SHA-1 dan SHA-3,

  Untuk melihat perbedaan waktu pengujian pemrosesan pada saat login untuk 8 karakter

  Untuk melakukan pengujian waktu pemrosesan, ditambahkan beberapa baris kode pada kode access.php agar dapat menghitung waktu yang ditempuh pada kedua algoritma dan menyimpannya ke dalam database pada saat proses login. Waktu perhitungan akan dimulai pada saat pengguna menekan tombol login dan akan berhenti pada saat pengguna telah masuk ke antarmuka utama sistem.

  5.6.2 Prosedur pengujian

  • 11,037 58 0,000 Equal variances not assumed
  • 11,037 29,363 0,000
sebelumnya, panjang keluaran dari hash algoritma SHA-3 lebih panjang dari pada SHA- 1, dimana SHA-3 memiliki 256 bit dan SHA-1 memiliki 160 bit. Karena itulah, waktu pemrosesan untuk SHA-3 lebih lama dibandingkan dengan SHA-1. Dan dengan struktur fungsi dari algoritma SHA-3 yang lebih baru dan kompleks daripada SHA-1, dapat mempengaruhi waktu pemrosesan ini juga. Mungkin juga terdapat faktor lain yang mempengaruhi waktu pemrosesan tersebut yang belum dapat penulis temukan disini.

  Berdasarkan keseluruhan pengujian waktu pemrosesan yang telah dilakukan, akan diringkas dalam tabel perbandingan yang ditunjukkan pada Tabel 5(e).

  brute-force , waktu yang ditempuh untuk

  1. Algortima fungsi hash SHA-3 telah berhasil diterapkan pada sistem Garuda

  Berdasarkan hasil penelitian yang telah dilakukan, dapat disimpulkan beberapa hal mengenai algoritma SHA-1 dan SHA-3.

  6.1. Kesimpulan

  6. PENUTUP

  2. Kinerja dari algoritma hash SHA-3 dapat dikatakan lebih baik daripada algoritma SHA-1 berdasarkan pada hasil pengujian yang telah dilakukan. Pada saat pengujian

  Tabel 5(e) Perbandingan keseluruhan pengujian waktu pemrosesan untuk password dari algoritma SHA-1 dan SHA-3

  mendapatkan plaintext 8, 9 dan 10 karakter dari hash SHA-3 memakan waktu yang sangat berbanding jauh dengan algoritma SHA-1, membuat algoritma SHA-3 ini sangat tahan terhadap serangan dibandingkan dengan SHA-1. Pada pengujian avalanche effect , memang algoritma SHA-1 lebih unggul, tetapi keduanya sudah mencapai standar untuk sebuah algoritma agar dapat dikatakan baik, yaitu perubahan 1 bit pada plaintext menyebabkan perubahan pada hasil hash lebih dari 50%. Algoritma SHA-1 mencapai persentase 100% sedangkan SHA-3 mencapai persentase 95%. Dan dari pengujian terakhir yaitu waktu pemrosesan, algoritma SHA-1 lebih cepat dari algoritma SHA-3, dikarenakan algoritma SHA-3 harus memproses lebih banyak output yaitu 256 bit dibandingkan dengan SHA-1 yang hanya 160 bit. Faktor lain yang mempengaruhi juga yaitu fungsi SHA-1 merupakan fungsi bawaan dari bahasa pemrograman yang digunakan untuk implementasi, yaitu PHP. Sedangkan fungsi algoritma SHA-3 merupakan fungsi

  algoritma pendahulunya yaitu SHA-1, dengan menambahkan sebuah kode pada sistem dan mengganti beberapa baris kode yang ada pada sistem. Kode yang diganti tersebut berada pada proses login, proses perubahan password dan proses penambahan pengguna baru.

  Lowercase , angka dan simbol   Lowercase , angka, simbol dan uppercase  

  Lowercase dan angka  

    Lowercase , angka dan simbol   Lowercase , angka, simbol dan uppercase  

  9 Lowercase   Lowercase dan angka

    Lowercase , angka dan simbol   Lowercase , angka, simbol dan uppercase  

  8 Lowercase   Lowercase dan angka

  Jumlah Karakter Jenis Karakter SHA-1 SHA-3

  Training Cost untuk menggantikan

10 Lowercase  

  Jadi kesimpulannya, untuk analisis pengujian waktu pemrosesan pada saat login, SHA-1 lebih unggul daripada SHA-3. Tetapi perlu diingat, hal ini juga tidak bisa membuat SHA-1 lebih baik dari SHA-3, dikarenakan waktu yang ditempuh yaitu dalam milliseconds, pengguna tidak akan merasakan dampak langsung dari waktu ini. Pengguna akan tetap dapat merasa nyaman dalam menggunakan aplikasi ini dengan sistem autentikasi dengan algoritma SHA-3 yang telah diterapkan untuk menggantikan algoritma SHA-1.

  lowercase dikombinasikan dengan angka, lowercase dikombinasikan dengan angka dan

  Berdasarkan Tabel 5(e), dari keseluruhan pengujian mulai dari 8, 9 dan 10 karakter dan semua jenis karakter yaitu lowercase ,

  simbol dan lowercase dikombinasikan dengan angka, simbol dan uppercase, algoritma SHA-1 lebih cepat dalam memproses password tersebut. tambahan dari luar yang menyebabkan fungsi ini lebih lambat untuk diproses serta kerumitan dan kompleksitas algoritmanya yang lebih tinggi. Tetapi dari segi keamanan dan ketahanan, algoritma SHA- 3 jauh lebih baik.

  3. Analisis untuk ketahanan algoritma SHA-1 dan SHA-3 terhadap serangan dilakukan dengan cara memperhatikan dan membandingkan seluruh hasil dari pengujian yang telah dilakukan, yaitu pengujian brute-force, avalanche effect dan waktu pemrosesan.

  33, No. 7 Shaugi, A., 2012. Analisa dan Perbandingan

  Cryptographic principles, algorithms and protocols . School of Electrical and

  Computer Engineering. Seoul National University, Republic of Korea. Romine, H. Charles, 2015. SHA-3 Standard:

  Permutation-Based Hash and Extendable- Output Functions . Federal Information

  Processing Standards Publications Sarmadi, B.S, 2014. Efficient and Concurrent

  Reliable Realization of the Secure Cryptographic SHA-3 Algorithm.

  IEEE Transactions on Computer-Aided Design Of Integrated Circuits And Systems, Vol.

  Hasil Implementasi Algoritma MD5 dan SHA-1 pada sistem keamanan Simple-O .

  Saran yang dapat penulis berikan untuk penelitian selanjutnya yaitu dapat menganalisis algoritma SHA-3 dengan algoritma lain yang lebih baru atau lebih aman, dikarenakan pada saat penulisan algoritma SHA-3 merupakan yang paling baru. Dapat juga dilakukan pengujian dengan menggunakan metode lain, dan juga untuk lebih meningkatkan keamanan dari suatu sistem web dapat menambahkan sistem autentikasi yang lainnya tidak hanya dengan hash password, dapat dengan HTTPS atau yang lainnya. Diharapkan penelitian ini dapat dijadikan rujukan untuk pengembangan selanjutnya.

  S1. Universitas Indonesia. Stalling, W., 2011. Network Security

  Essentials: Application and Standards, 4 th Edition . New Jersey: Pretince Hall

  Stalling, W., 2005. Cryptography and Network

  Principles and Pratctices 4 th Edition . New

  Jersey: Pretince Hall Wang, X., 2005. Finding Collisions in the Full

  SHA-1. China: Shandong University

  Rhee, Y. M, 2003. Internet Security:

  ANOVA . Northern Arizona University.

  . Northern Arizona University. Oak, 2006. Understanding the One-Way

  samples t Test

  Oak, 2006. Understanding the independent-

  Security, Privacy and Trust Management (IJSPTM), Vol. 1, No 3/4

6.2. Saran

7. DAFTAR PUSTAKA

  SHA-3-Based One Time Password pada Skema Two-Factor Authentication. Institut

  Fakhrusy, M., 2016. Implementasi HMAC-

  Information Processing and Communications (IAIK). Graz University of Technology, Inffeldgasse 16a

  Teknologi Bandung Kumar, Amish dan Tiwari Namita, 2012.

  Canni`ere, De Christophe and Rechberger, Christian. 2006. Finding SHA-1

  function. STMicroelectronics NXP Semiconductors.

  Bertoni, G., 2011. Cryptographic sponge

  Statistics, and Computer Science (M/C 249). The University of Illinois at Chicago

  force. Department of Mathematics,

  Bernstein, J. D., 2005. Understanding brute-

  Effective Implementation and Avalanche Effect of AES . International Journal of

  Characteristics: General Results and Applications. Institute for Applied