SHA-2

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Loncat ke navigasi Loncat ke pencarian
Secure Hash Algorithms
Algoritma Hash Kuat
Konsep
fungsi hash · SHA · DSA
Standar utama
SHA-0 · SHA-1 · SHA-2 · SHA-3
SHA-2
Informasi umum
PendesainBadan Keamanan Nasional
Pertama kali dipublikasikan2001; 21 tahun lalu (2001)
Seri(SHA-0), SHA-1, SHA-2, SHA-3
SertifikasiFIPS PUB 180-4, CRYPTREC, NESSIE
Detail
Ukuran digest224, 256, 384, or 512 bits
StrukturKonstruksi Merkle–Damgård dengan fungsi kompresi Davies–Meyer
Ronde64 or 80
Analisis kriptografi publik terbaik
Serangan 2011 yang merusak resistensi preimage untuk 57 dari 80 rentetan pengkodean SHA-512 dan 52 dari 64 rentetan pengkodean SHA-256.[1]

Serangan tabrakan-pseudo yang melawan 46 rentetan pengkodean SHA-256.[2]

SHA-256 dan SHA-512 rentan terhadap serangan panjang ekstensi, dengan menebak bagian tersembunyi dari status, serangan ekstensi panjang pada SHA-224 dan SHA-384 berhasil dengan kemungkinan kejadian sebesar 2 −(256−224) = 2−32 > 2−224 dan 2−(512−384) = 2−128 > 2−384.

SHA-2 atau AHK-2 (Secure Hash Algorithm 2, bahasa Indonesia: Algoritma Hash Kuat 2)adalah sebuah fungsi kriptografik hash yang didisain oleh Badan Keamanan Nasional (BKN) Amerika Serikat dan pertama kali dipublikasikan pada tahun 2001.[3][4] Set ini dibangun menggunakan Konstruksi Merkle–Damgård, fungsi kompresi satu arahnya dibangun dengan menggunakan struktur Davies–Meyer dari block chipher yang dispesialisasikan.

SHA-2 memasukkan perubahan signifikan dibanding pendahulunya, SHA-1. Keluarga SHA-2 terdiri dari enam fungsi hash dengan perpendekan (nilai hash) yang berupa bita 224, 256, 384 atau 512: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256. SHA-256 dan SHA-512 merupakan fungsi hash yang diprogram dengan delapan kata 32-bit dan 64-bit. Pengkodean ini menggunakan jumlah pergeseran dan konstanta penambahan yang berbeda, tetapi strukturnya sebenarnya hampir identik, hanya berbeda dalam jumlah rentetan pengkodean. SHA-224 dan SHA-384 merupakan versi terpotong dari SHA-256 dan SHA-512, dikodekan dengan nilai inisial berbeda. SHA-512/224 dan SHA-512/256 juga merupakan versi terpotong dari SHA-512, namun nilai inisialnya dihasilkan menggunakan metode yang dideskripsikan di Federal Information Processing Standards (FIPS) PUB 180-4.

SHA-2 dipublikasikan pertama kali oleh Institusi Nasional Umum dan Teknogi (INUK) sebagai standar federasi Amerika Serikat (FIPS). Keluarga algoritma SHA-2 dipatenkan di hak paten Amerika serikat nomor 6829355.[5] Pemerintah Amerika Serikat mengeluarkan paten ini dibawah lisensi bebas pajak (royalty-free).[6]

Pada tahun 2011, terdapat serangan publik terbaik yang merusak resistensi preimage untuk 57 dari 80 rentetan pengkodean SHA-512 dan 52 dari 64 rentetan pengkodean SHA-256.[1][2]

Standar hash[sunting | sunting sumber]

Satu iterasi dalam fungsi kompresi keluarga SHA-2. Komponen biru melakukan operasi berikut:
    
    
    
    
Rotasi penentu bita menggunakan konstanta berbeda untuk SSHA-512.Angka yang diberikan adalah untuk SHA-256.
Komponen warna merah merupakan tambahan (adisi) dari modul 232 untuk SHA-256, atau 264 untuk SHA-512.

Dengan publikasi FIPS PUB 180-2, NIST menambahkan tiga fungsi penambahan hash pada keluarga SHA. Algoritma tersebut secara kolektif dinamakan sebagai SHA-2, yang dinamakan atas perpendekan panjang (dalam bita): SHA-256, SHA-384, dan SHA-512.

Vektor uji coba[sunting | sunting sumber]

Nilai hash dari string kosong (input teks sepanjang nol).

SHA224("")
0x d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
SHA256("")
0x e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA384("")
0x 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
SHA512("")
0x cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
SHA512/224("")
0x 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4
SHA512/256("")
0x c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a

Bahkan perubahan kecil dalam suatu pesan (dengan kemungkinan sangat besar) akan menghasilkan hash yang sangat berbeda, dikarenakan efek Avalanche. Sebagai contoh, menambahkan titik pada suatu kalimat dapat mengubah banyak dari bita di dalam hash:

SHA224("Saya suka menyunting di Wikipedia")
0x 82bcdccfbc2763dbfbbda3a4669eb3182e6cd7169b0b81a1b8d6b4b1
SHA224("Saya suka menyunting di Wikipedia.")
0x b71c91e1cd82d017ce78391b47b29ce792294f2673136dd25aace018

Referensi[sunting | sunting sumber]

  1. ^ a b Kesalahan pengutipan: Tag <ref> tidak sah; tidak ditemukan teks untuk ref bernama preimage-khov
  2. ^ a b Kesalahan pengutipan: Tag <ref> tidak sah; tidak ditemukan teks untuk ref bernama collision-lamberger
  3. ^ "On the Secure Hash Algorithm family" (PDF). Diarsipkan dari versi asli (PDF) tanggal 2016-03-30. 
  4. ^ Kesalahan pengutipan: Tag <ref> tidak sah; tidak ditemukan teks untuk ref bernama :0
  5. ^ US 6829355 
  6. ^ "IPR Details: The United States of America as represented by the National Security Agency's general license statement". IETF Datatracker. 858. Diakses tanggal 2008-02-17.