Mengapa penting bahwa rahasianya ada di akhir saat mendaftar dengan MD5?

16

sering dikatakan bahwa ketika menggunakan algoritme MD5 untuk menandatangani beberapa informasi sewenang-wenang, rahasia bersama harus ada di akhir. Mengapa?

Hendrik Brummermann
sumber
2
Bisakah Anda lebih spesifik daripada mengatakan 'sering berkata'. Bisakah Anda mengutip referensi, dan juga memperluas mengapa masalah ini relevan?
Suresh Venkat
Ada kesalahan ketik pada judul pertanyaan Anda: dapatkah Anda mengubah "dan" menjadi "mengakhiri"?
Carlos Scheidegger

Jawaban:

16

Lihat "serangan ekstensi" dalam konstruksi Merkle-Damgard . Masalah ini muncul dalam penggunaan fungsi hash untuk otentikasi pesan .

Singkatnya, meletakkan rahasia pada awalnya memungkinkan penyerang, diberi pesan dan hash, untuk memalsukan pesan yang memiliki pesan yang diberikan sebagai awalan. Ini adalah masalah untuk kode naif tetapi dihindari oleh kode terkenal seperti HMAC .

randomwalker
sumber
1
Dari apa yang saya pahami jika Anda memecah aliran input dan kunci bersama adalah awal dari aliran maka blok pertama akan hampir selalu mendapatkan hash yang sama sehingga kunci bersama dapat ditebak dengan menggunakan serangan pelangi, kan?
Alexandru