口令的作用以及改良PBE

一 口令的作用

有这样一个事实:具有充足长度的密钥是无法用人脑记忆的。口令也是一样,我们也无法记住具有充足比特数的口令。

在PBE中,通过口令生成密钥(KEK),再用这个密钥来加密会话密钥(CEK)。由于通过口令生成的密钥(KEK)强度不如用伪随机数生成器生成的会话密钥(CEK),这就好像是将一个牢固的保险柜钥匙放在一个不怎么牢固的保险柜中保管,因此在使用基于口令的密钥(PBE)时,需要将盐和加密后的CEK通过物理方式进行保护。例如可以将盐和加密后的CEK保存到存储库中随身携带。

二 通过拉伸来改良PBE

在生成KEK时,通过多次使用单向散列函数就可以提高安全性。例如,如果将盐和口令先输入单向散列函数,然后将得到的散列函数再次输入单向散列函数,将得到的散列值再次输入单向散列函数......像这样经过1000次散列函数所得到的散列值作为KEK来使用,是一个不错的方法。

对于用户来说,执行1000次散列函数并不会带来多大的负担,因为和用户输入一次口令所花费的时间相比,执行1000次散列函数所需的时间可以忽略不计。然而,对于主动攻击者来说,这可是一个很大的负担。因为为了找出正确的KEK,攻击者必须用大量的口令进行尝试。

像这样将单向散列函数进行多次迭代的方法称为拉伸。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值