我知道雜湊函數輸出長度固定有一部分原因是為了檢驗資料是否有被更改過
為了使輸出長度不要因為輸入長度過長而也跟著過長而使雜湊值長度壓縮到一定,並且將
資料格式也固定下來
但是加密雜湊函數(CHF)的主要目的除了避免攻擊者將雜湊結果易於反推回去之外,不
也同時要避免碰撞發生的機率嗎?
那麼如果要完全避免碰撞的發生,為什麼不讓CHF隨著某個原訊息長度的區間去做輸出雜
湊長度的調整?而是特意使不管原訊息長度多長都固定輸出同一個長度的雜湊值呢?
CHF的原訊息(通常為登入密碼之類的)長度應該沒有長到需要把它壓縮到固定長度吧?
例如:
假設某一密碼雜湊函數在原輸入長度為128位元組或以下,輸出長度則固定在129位元組
輸入長度介於129 ~ 257位元組,輸出長度則固定在258位元組
輸入長度介於n ~ n+128位元組,輸出長度則固定在n+129位元組。(n為0或129的正整數
倍)
另外,CHF有為了檢驗原訊息(登入密碼)是否有被更改過的功用嗎?