Investor's wiki

凯卡克

凯卡克

Keccak(发音为“ketchak”)是由 Guido Bertoni、Joan Daemen、Michaël Peeters 和 Gilles Van Assche 设计的多功能加密函数。尽管 Keccak 可用于其他目的,但它最为人所知的是作为一种哈希函数,与旧的哈希算法(如 SHA-1 和 SHA-2)相比,它提供了更高级别的安全性。

SHA 代表 Secure Hash Algorithm,指的是美国国家标准与技术研究院 (NIST) 发布的一组加密哈希函数。 SHA-1 和 SHA-2 都是由美国国家安全局 (NSA) 设计的,因此呈现出类似的结构。尽管 Keccak 支持与 SHA-2 相同的输出大小(哈希长度),但其工作机制却大不相同。尽管如此,Keccak 还是 SHA 系列的一部分,通常被称为 SHA-3。

对 SHA-1 的理论攻击于 2004 年进行,并于 2005 年公开。几年后,在 2011 年,SHA-2 被 NIST 宣布为要使用的新标准哈希函数。然而,从 SHA-1 到 SHA-2 的迁移相当缓慢,直到 2017 年初,大部分开发人员和计算机科学家才最终迁移到 SHA-2。不久之后,谷歌在 2017 年 2 月宣布了一次成功的 SHA-1 碰撞攻击,从那时起,SHA-1 不再被认为是安全的,并且不鼓励使用它。

Keccak 函数 (SHA-3) 在 NIST 宣布公开竞争和审查过程后于 2007 年左右开始开发,以寻求一种新的加密哈希函数,以克服之前的 SHA-1 和 SHA-2 的潜在缺陷。

尽管尚未证明对 SHA-2 的重大攻击,但预计哈希函数会随着时间的推移而被破解,并且开发新的标准函数需要数年时间。考虑到这一点,再加上 2004 年和 2005 年对 SHA-1 的成功攻击,NIST 认为需要创建新的加密哈希算法。 2012 年,NIST 宣布 Keccak 为比赛的获胜算法,并被标准化为 SHA 家族的最新成员(因此,SHA-3)。

Keccak 被 NIST 选中的原因之一是其创新的结构,事实证明它比其他算法更安全、更高效。从技术上讲,SHA-3 算法依赖于所谓的海绵函数(或海绵构造)——与 SHA-1 和 SHA-2 使用的 Merkle Damgård 构造形成对比。

目前,SHA-2 仍然被认为是安全的并且被广泛使用。例如,SHA-256 被比特币和其他加密货币使用,在挖矿过程中起着至关重要的作用。我们可能会看到越来越多的 SHA-3 被采用,因为它似乎远未被成功攻击。尽管如此,随着密码学领域的进步和新缺陷的发现,我们将在未来几年看到更多的密码哈希算法被开发出来。