Bcrypt

bcrypt是一個由美國計算機科學家尼爾斯·普羅沃斯(Niels Provos)以及大衛·馬齊耶(David Mazières)根據Blowfish加密演算法所設計的密碼雜湊函式,於1999年在USENIX中展示[1]。實作中bcrypt會使用一個加鹽的流程以防禦彩虹表攻擊,同時bcrypt還是適應性函式,它可以藉由增加疊代之次數來抵禦日益增進的電腦運算能力透過暴力法破解。

由bcrypt加密的文件可在所有支持的操作系统处理器上进行转移。它的口令必须是8至56个字符,并将在内部被轉化为448位的密钥。然而,所提供的所有字符都具有十分重要的意义。密码越强大,数据就越安全

除了对数据进行加密,默认情况下,bcrypt在删除数据之前将使用随机数据三次覆盖原始输入文件,以阻挠可能会获得计算机数据的人恢复数据的尝试。如果您不想使用此功能,可設定禁用此功能。

具体来说,bcrypt使用美國密碼學家保羅·柯切爾英语Paul Kocher的演算法实现。随bcrypt一起发布的源代码对原始版本作了略微改动。

參考資料

  1. ^ 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
  • BLAKE
  • Grøstl
  • JH英语JH (hash function)
  • Skein英语Skein (hash function)
  • Keccak(胜出)
其他函数
  • 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
通用
密钥派生函数
  • HKDF
  • KDF1/KDF2
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
实际应用