Sha-512
考慮到可變消息大小,SHA-512 的輸入空間是多少?
SHA-512 散列函式接受來自單個位的任何消息 $ 2^{128} $ 位。因為該函式考慮了消息長度,所以我不能將每條消息都表示為 $ 2^{128} $ 位整數。我確信這是一個非常基本的問題,但我的數學背景有限,所以這對我來說並不容易。
如何計算不同輸入的數量?
有 1 個零長度消息、2 個 1 位長消息、4 個 2 位長消息、8 個 3 位長消息,依此類推。由於這些消息是不同的,您可以簡單地使用公式:
$$ 1 + 2 + 4 + 8 + \dots + 2^{n-1} = 2^n-1 $$
請注意,最大消息長度與 128 位整數的最大值相同,即。 $ 2^{128} - 1 $ , 不是 $ 2^{128} $ . 這使得 $ n-1 = 2^{128} - 1 $ , 所以 $ n = 2^{128} $ . 這使得不同輸入的總數
$$ 2^{(2^{128}-1)} - 1 $$