我不确定这种方式是否会保留加密随机二进制字符串的强度。
我已经生成了一个随机二进制字符串,例如它是48字节,然后我使用sha384算法对其进行散列,这是否会削弱加密强度?
答案 0 :(得分:2)
当然你松散的力量,因为SHA-384并不完美 - 它应该是,但没有。如上所述,没有用例,很难预测这会产生多大的差异。你不应该失去太多。
通常,我认为这是一个非常安全的操作。许多密钥派生方案使用类似于H(主密钥材料|计数器)的东西,然后在最后切掉不必要的字节。
但是,正如CodeInChaos评论的那样,这一切都取决于用例。
答案 1 :(得分:1)
SHA-384本质上是SHA-512 +截断。由于您的输入只有384位长,因此使用SHA-512对其进行散列将得到最多具有384位熵的结果。当现在进行截断阶段SHA-512-> SHA-384时,您(或消息摘要函数)可能最终剥离最多128位的熵。因此,在这种情况下,有可能通过额外的散列步骤来削弱它。