基于口令的密码就是一种根据口令生成密钥并将该密钥进行加密的方法。其中加密和解密使用同一个密钥。
PBE有很多实现方法,下面从一般的方法的角度来介绍PBE。
PBE的意义可以按照下面的逻辑来理解。
想确保重要消息的机密性。
|
将消息直接保存在磁盘的话,可能被别人看到。
|
用密钥(CEK)对消息进行加密吧。
|
但是这次又需要确保密钥(CEK)的机密性了。
|
将密钥(CEK)直接保存在磁盘上好像很危险。
|
用另一个密钥(KEK)对密钥(CEK)进行加密吧。
|
等等!这次又需要确保密钥(KEK)的机密性了。进入死循环了。
|
既然如此,那就用口令来生成密钥(KEK)吧。
|
但只用口令容易遭到字典攻击。
|
那就用口令和盐共同生成密钥(KEK)吧。
|
盐可以和加密后的密钥(CEK)一起保存在磁盘上,而密钥(KEK)可以直接丢弃。
|
口令就记在自己的脑子里吧。