这个编码的 Argon2 哈希的哪一部分是盐?

信息安全 哈希 氩2
2021-09-09 05:33:54

我正在阅读帖子将盐存储在与哈希密码相同的字段中是否安全/明智?

$argon2i$v=19$m=65536,t=3,p=1$YOtX2//7NoD/owm8RZ8llw==$fPn4sPgkFAuBJo3M3UzcGss3dJysxLJdPdvojRF20ZE=

我的理解是,前面的一切p=都是参数,主体p=是盐,最后一部分是散列密码。”

我不明白突出显示的部分。我认为$切片变体、版本、参数、盐和哈希,所以:

  • p(平行度参数)= 1
  • 盐 = YOtX2//7NoD/owm8RZ8llw==
  • 哈希 = fPn4sPgkFAuBJo3M3UzcGss3dJysxLJdPdvojRF20ZE=

我在这里识别盐和哈希是否正确?

1个回答

$argon2i$v=19$m=65536,t=3,p=1$YOtX2//7NoD/owm8RZ8llw==$fPn4sPgkFAuBJo3M3UzcGss3dJysxLJdPdvojRF20ZE=

  • argon2{i} 三种类型 i,d,id

    • Argon2d速度更快,并且使用依赖数据的内存访问。数据依赖性立即启用旁道。这适用于不受侧信道攻击威胁的加密货币和应用程序。
  • Argon2i使用与数据无关的内存访问,这是密码散列和基于密码的密钥派生的首选。

  • Argon2id在第一次迭代的前半部分作为 Argon2i 工作,其余作为 Argon2d 工作。这实现了边信道保护和时间内存权衡。

    如果您不知道其中的区别,或者您认为侧信道攻击是可行的威胁,请使用Argon2id

    MechMK1Use Argon2id unless you know you have a good reason to use any other mode提供更好的建议

  • v=19-v对于版本,这里的版本是 19

  • m=65536-m是表示可变内存成本的整数,此处以千字节为单位 65536 千字节。

  • t - 是表示线性迭代中可变时间成本的整数,此处为 3。

  • p=1-p是控制并行化量的并行化机制

  • 盐 - 这里 YOtX2//7NoD/owm8RZ8llw==

  • 摘要 - 这里 fPn4sPgkFAuBJo3M3UzcGss3dJysxLJdPdvojRF20ZE=

用符号拆分$,最后一个标记是摘要,最后一个标记之前的一个是盐。


注:Argon2 是一个密钥推导函数,在 2015 年 7 月被选为密码哈希竞赛的获胜者。Specs 论文;