Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我知道 80% 的 SHA1 输入。从 SHA1 哈希值中破解剩余的 20% 是否比破解整个输入更容易?如果是这样,百分比是多少?
例如:我知道输入 SHA1(xxxxxxxxyy)=hash value 中的 x
假设输入中有 10 个字节。要破解整个输入,我们必须尝试 2^(10*8) 个输入。给定 80%,我们只需要尝试 2^(2*8) 个输入。这大约是五亿分之一。如果输入大小增加,则比率会变得更大。
SHA1 今天是不可逆的,输入中有大约 100 个未知位(12 个字节)。只有 20% 的输入未知,这意味着输入大小需要大约 500 位才能保证安全,或者大约 62 字节。
未知部分是在开头还是结尾实际上很重要。开始时每 32 位已知数据会比您预期的减少所需操作的数量,因为某些计算可以重复使用。