Balloon hashing

Balloon hashing是一类现代密钥派生函数,具有内存困难特性,适用于密码散列场景,由斯坦福大学丹·博内以及Henry Corrigan-Gibbs、来自微软研究院的Stuart Schechter共同设计。[1][2]NIST在密码指导中推荐了该算法。[3]

作者宣称Balloon:

  • 已被证明具有内存困难性
  • 可从标准密码学原语构建:可使用任何标准的,非内存困难的密码散列函数作为子算法(比如 SHA-3、SHA-512)。
  • 可以抵抗侧信道攻击:内存的访问方式和输入无关
  • 易于实现,并且和同类算法具有同等的性能

Balloon的作者比较了类似的Argon2算法。[1]

算法

该算法有3个步骤:[1]

  1. 拓展(Expansion),以密码和盐值派生的伪随机数生成器多次填充初始缓冲区。
  2. 混合(Mixing),缓冲区中的字节将被混淆多次。
  3. 输出(Output),缓冲区的一部分作为结果输出。

參考文獻

  1. ^ 1.0 1.1 1.2 Boneh, Dan; Corrigan-Gibbs, Henry; Schechter, Stuart. Balloon Hashing: A Memory-Hard Function Providing Provable Protection Against Sequential Attacks. ePrint. 2016-01-11, 2016 (27) [2019-09-03]. (原始内容存档于2020-12-08). 
  2. ^ Balloon Hashing. Stanford Applied Crypto Group. Stanford University. [2019-09-03]. (原始内容存档于2020-11-12). 
  3. ^ NIST SP800-63B Section 5.1.1.2 (PDF). [2023-07-18]. (原始内容存档 (PDF)于2019-04-01). 

外部链接

  • GitHub上的研究原型代码仓库 (页面存档备份,存于互联网档案馆
  • Python实现 (页面存档备份,存于互联网档案馆
  • Rust实现 (页面存档备份,存于互联网档案馆
  • Alwen; Blocki. Efficiently Computing Data-Independent Memory-Hard Functions. ePrint. [2023-07-18]. (原始内容存档于2023-07-18). 
  • Alwen; Blocki. Towards Practical Attacks on Argon2i and Balloon Hashing. ePrint. [2023-07-18]. (原始内容存档于2023-07-18). 


 
常用函数
  • MD5
  • SHA-1
  • SHA-2
  • SHA-3/Keccak
  • BLAKE2
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
实际应用
  • 分类 分类
  • 主题 主题
  • 专题 专题