Mengapa SHA-224 dan SHA-256 menggunakan nilai awal yang berbeda?

9

Wikipedia - SHA-2 mengatakan

SHA-224 identik dengan SHA-256, kecuali bahwa:

  • nilai variabel awal h0 hingga h7 berbeda, dan
  • output dibangun dengan menghilangkan h7.

RFC3874 - Sebuah 224-bit Fungsi Hash satu arah: SHA-224 mengatakan

Penggunaan nilai awal yang berbeda memastikan bahwa nilai intisari pesan SHA-256 terpotong tidak dapat keliru dengan nilai intisari pesan SHA-224 yang dihitung pada data yang sama.

Pertanyaan saya:

  1. Apakah alasan yang dikutip di atas satu-satunya alasan mengapa SHA-224 dan SHA-256 menggunakan nilai awal yang berbeda?

  2. Mengapa penting untuk memastikan bahwa nilai intisari pesan SHA-256 tidak dapat keliru dengan nilai intisari pesan SHA-224?

  3. Jika kita menggunakan nilai awal yang sama untuk kedua fungsi hash, apakah keamanan dari kedua fungsi hash akan memburuk? Jika ya, bagaimana?

netvope
sumber
7
Ini hampir pasti lebih cocok untuk crypto.SE .
Peter Taylor
1
Setidaknya pertanyaan 2 tampaknya di luar topik di sini. Bagaimanapun, ini terkait dengan bagaimana orang menggunakan komputer dan apa yang nyaman bagi mereka; bukan pertanyaan TCS.
Jukka Suomela
Pertanyaan terkait pada Crypto.SE: crypto.stackexchange.com/questions/3946/...
mikeazo

Jawaban:

4
  1. Kami menyebutnya Pemisahan Domain, ketika kami menggunakan algoritma yang sama untuk ukuran output yang berbeda.
  2. Pemisahan diperlukan karena jika saya menemukan dua pesan yang memiliki nilai hash (SH256), hanya berbeda dalam oktet terakhir dan kemudian saya dapat menerbitkan nilai hash sebagai 7 oktet pertama yang menunjukkan saya menggunakan SHA224. karena saya sudah memiliki dua pesan bertabrakan pada SHA224 yang dapat saya gunakan nanti untuk serangan pemalsuan. Menggunakan pemisahan domain kita dapat menghindari situasi seperti itu
Tarun
sumber