本篇内容介绍了“PBE的加密过程是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
基于口令的密码(PBE)
基于口令的密码(Password Based Encryption,PBE)是一种基于口令生成密钥,并使用该密钥进行加密的方法。其中加密和解密使用的是同一个密钥。
根据用户自己的口令和salt生成口令密码,我们先看下加密的过程:
加密的过程可以分为这几步:
生成KEK密钥
使用伪随机数生成器来生成salt
将salt和用户自己的口令使用单向散列函数算法生成KEK密钥
生成会话密钥并加密
使用伪随机数生成器生成会话密钥CEK
使用步骤1生成的KEK密钥对会话密钥CEK进行加密,得到加密后的会话密钥
将步骤1生成的salt和步骤2生成的加密后的会话密钥保存起来,以供后面解密的时候使用。
加密消息
使用步骤2中生成的会话密钥CEK来对消息进行加密,从而得到加密后的消息。
步骤1生成的KEK并不需要保存,因为它完全可以根据salt来重构。
接下来我们再看一下解密的过程:
重建KEK
使用保存的salt和用户记住的口令,根据单向散列算法重建KEK。
解密会话密钥
将保持的加密后的会话密钥使用步骤1生成的KEK解密,得到解密后的会话密钥
解密消息
使用解密后的会话密钥对加密过后的消息进行解密,得到最终消息原文。
为什么要使用salt呢?
salt主要是为了防御字典攻击,因为用户自己的口令不具备随机性,很容易被暴力破解。加了salt之后,被暴力破解的难度大大加大。
“PBE的加密过程是怎样的”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。