bcrypt是一個由美國計算機科學家尼爾斯·普羅沃斯(Niels Provos)以及大衛·馬齊耶(David Mazières)根據Blowfish加密演算法所設計的密碼雜湊函式,於1999年在USENIX中展示[1]。實作中bcrypt會使用一個加鹽的流程以防禦彩虹表攻擊,同時bcrypt還是適應性函式,它可以藉由增加疊代之次數來抵禦日益增進的電腦運算能力透過暴力法破解。
由bcrypt加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被轉化为448位的密钥。然而,所提供的所有字符都具有十分重要的意义。密码越强大,数据就越安全。
除了对数据进行加密,默认情况下,bcrypt在删除数据之前将使用随机数据三次覆盖原始输入文件,以阻挠可能会获得计算机数据的人恢复数据的尝试。如果您不想使用此功能,可設定禁用此功能。
具体来说,bcrypt使用美國密碼學家保羅·柯切爾(英语:Paul Kocher)的演算法实现。随bcrypt一起发布的源代码对原始版本作了略微改动。
參考資料
- ^ Provos, Niels; Mazières, David; Talan Jason Sutton 2012. A Future-Adaptable Password Scheme. Proceedings of 1999 USENIX Annual Technical Conference. 1999: 81–92 [2017-10-29]. (原始内容存档于2012-02-04).
外部連結
- Counterpane Blowfish 加密算法
- 原始版本的源代码
|
---|
| | | 常用函数 | |
---|
| SHA-3入围(英语:NIST hash function competition) | |
---|
| 其他函数 | - ECOH(英语:Elliptic curve only hash)
- FSB(英语:Fast Syndrome Based Hash)
- GOST(英语:GOST (hash function))
- HAS-160(英语:HAS-160)
- HAVAL(英语:HAVAL)
- Kupyna(英语:Kupyna)
- LM hash(英语:LM hash)
- MD2(英语:MD2 (cryptography))
- MD4
- MD6
- MDC-2(英语:MDC-2)
- N-Hash(英语:N-Hash)
- RIPEMD
- RadioGatún(英语:RadioGatún)
- SWIFFT(英语:SWIFFT)
- SipHash(英语:SipHash)
- Snefru(英语:Snefru)
- Streebog(英语:Streebog)
- Tiger(英语:Tiger (cryptography))
- VSH(英语:Very smooth hash)
- WHIRLPOOL(英语:Whirlpool (cryptography))
- SM3
- X11
|
---|
| 密码散列/ 密钥延伸函数 | - Argon2
- Balloon
- bcrypt
- Catena(英语:Catena (cryptography))
- crypt(3)(英语:Crypt (C)) (DES)
- LM散列(英语:LAN Manager#LM hash details)
- Lyra2
- Makwa(英语:Makwa (cryptography))
- PBKDF2
- scrypt
- yescrypt
|
---|
| 通用 密钥派生函数 | |
---|
| MAC算法 | - DAA(英语:Data Authentication Algorithm)
- CBC-MAC(英语:CBC-MAC)
- HMAC
- OMAC(英语:One-key MAC)/CMAC(英语:CMAC)
- PMAC(英语:PMAC (cryptography))
- VMAC(英语:VMAC)
- UMAC(英语:UMAC)
- Poly1305
|
---|
| 认证加密模式 | |
---|
| 攻击 | |
---|
| 设计 | - 雪崩效应
- 碰撞
- 默克尔-达姆加德结构(英语:Merkle–Damgård construction)
|
---|
| 标准化 | - CRYPTREC(英语:CRYPTREC)
- NESSIE(英语:NESSIE)
- NIST散列函数竞赛(英语:NIST hash function competition)
|
---|
| 实际应用 | |
---|
|