【问题标题】:Get constant SALT from encrypted and clear text values从加密和明文值中获取常量 SALT
【发布时间】:2020-07-13 14:37:09
【问题描述】:

我有一个常量 SALT,它在使用 sha512 加密之前附加到每个 cookie。如果我知道多个 cookie 的明文和最终加密值,是否可以使用开膛手 john 之类的工具来猜测盐值?

我在网上找到的答案都是关于寻找密码的,但我对寻找盐很感兴趣。

【问题讨论】:

  • 盐有多大?

标签: salt brute-force cracking


【解决方案1】:

简答:

不,你不能。


原因:

  1. 首先,sha512 是一个哈希函数。你不能“解密”散列函数。如果它能够做到这一点,那么 sha512 将不安全。

  2. 几天前,谷歌发现了 6,610 CPU 年以来的第一次冲突。

    来源:First sha512 Hashcollsion

    (这不是攻击!)他们使用了大量的分布式系统。所以像 john-the-ripper 这样的普通程序无法做到这一点。

【讨论】:

  • 实际上是 6500 年 CPU 计算完成攻击第一阶段加上 110 年 GPU 计算完成第二阶段。
  • 是的,对不起,我只想说今天不可能
【解决方案2】:

SHA512 不加密。

这需要在盐范围内进行暴力攻击,如果盐只是几个字符或字节,那么攻击很容易成功。

根据使用情况,HMAC 可能是比仅仅附加盐更好的选择,对连接的盐存在攻击(取决于使用情况)。

如果您使用相同的盐,它可以被获得系统访问权限的攻击者发现。更好的方法是使用带有 HMAC 的随机盐并将盐添加到哈希值之前,那么它就不需要保密了。这假设您需要能够从相同的数据重新计算相同的哈希

对于需要更高安全性的密码,使用带盐的散列函数几乎无法提高安全性。相反,iIterate over an HMAC with a random salt for about 100ms duration and save the salt with the hash.使用PBKDF2Rfc2898DeriveBytespassword_hashBcrypt等函数和类似函数。关键是让攻击者花费大量时间通过蛮力寻找密码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 2010-10-14
    • 2013-06-07
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    相关资源
    最近更新 更多