1
假設我知道80%的SHA1輸入。從SHA1哈希值中破解剩餘的20%是否比破解整個輸入更容易?如果是這樣,按什麼百分比?如果我知道輸入的一部分,是否破解SHA1會更容易?
例如:我知道在輸入SHA1(xxxxxxxxyy)=散列值
假設我知道80%的SHA1輸入。從SHA1哈希值中破解剩餘的20%是否比破解整個輸入更容易?如果是這樣,按什麼百分比?如果我知道輸入的一部分,是否破解SHA1會更容易?
例如:我知道在輸入SHA1(xxxxxxxxyy)=散列值
假設X的有在輸入10個字節。要破解整個輸入,我們必須嘗試2 ^(10 * 8)個輸入。有80%的給出,我們只需要嘗試2 ^(2 * 8)個輸入。這大約要少一倍。如果輸入尺寸增加,比例會變得更大。
今天,SHA1是不可逆的,輸入中有大約100個未知位(12個字節)。由於只有20%的輸入未知,這意味着輸入大小需要大約500位以確保安全,或約62個字節。
實際上,未知部分是在開始還是結束時很重要。在開始時,每個32位已知數據會將所需操作的數量減少一倍,超過您的預期,因爲可以重新使用一些計算。