PBE(Password Based Encrytion)基于口令的密码
什么是PBE
我们在使用混合密码系统或者使用密钥协商算法+对称加密的方式进行任何数据的加密的时候,都难以避免地要涉及到密钥的保存,那么密钥如果明文地保存在电脑上那么很容易就会被别人盗取,那么如果我们使用另外一个随机密钥去加密会话密钥,这样怎么样呢?很明显这样下去就会无线循环了,这样我们又要考虑保存密钥的密钥的保存。对于我们人来说,我们不喜欢去记数字和字符,但是我们可以记下一些短的口令,这比起动作百来位的密钥来说可好记多了,所以我们就出现了PBE,我们通过对口令和一些随机数结合进行加工,将它转变为一个用来加密会话密钥的密钥,将会话密钥进行加密之后然后将加密后的密钥进行保存。这个生成的加密密钥的密钥其实就可以将其抛弃了,留在电脑上还可以有泄露密钥的风险。我们最后如果要还原会话密钥,只要将随机数和我们脑子中记住的口令进行相同的操作,就可以还原会话密钥,如果别人没有我们脑子中的口令就别想把会话密钥拿到。而且我们还可以对随机数再使用其他的密钥进行加密,然后再这样进行多重的PBE保护。我们还可以每次会话更换一次密钥,将前一次会话做散列函数操作得出下一个会话密钥,这样的操作都是牺牲解密速度换来安全性。
PBE的生成
盐(随机数)的作用
为什么要把口令和随机数结合之后再做散列函数然后才得到密钥加密密钥?我们现在可以思考这样一个问题,就是口令的安全性,一个由人去设置的口令并不是完全的随机,这在加密领域是十分忌讳的,只有完全的随机函数才是最好的口令,但偏偏人就是一个不喜欢记住随机内容的物种,所以我们就需要随机数的帮助,帮助我们拉高整个加密的安全系数,我们可以把盐和密钥加密密钥保存在电脑的安全的地方,然后口令在脑里记住就好了,有的时候为了加大安全保护,我们可以将盐和其他的密钥进行加密。当我们需要进行解密的时候,我们使用口令和盐计算出密钥加密钥,然后再用密钥加密密钥解密出会话密钥,然后再使用会话密钥解出会话的密文。
PBE(Password Based Encrytion)基于口令的密码相关推荐
- 基于口令的密码(PBE)
基于口令的密码(PBE) 基于口令的密码(Password Based Encryption,PBE)是一种基于口令生成密钥,并使用该密钥进行加密的方法.其中加密和解密使用的是同一个密钥. 根据用户自 ...
- 基于口令的密码PBE(Password Based Encryption)
用户只保存口令,秘钥存在u盘或电脑里面. 1. 加密 2. 解密 [参考] [1] 结城浩:图解密码技术[M].周自恒.3.北京:人民邮电出版社,2016
- 对称加密算法之基于口令加密——PBE
PBE算法 1. 算法简述 2.模型分析 3. 代码实现 3.1 算法实现 3.2 测试代码 3.3 运行结果 1. 算法简述 PBE(Password Based Encryption, 基于口令加 ...
- Java加解密(六)基于口令(PBE)加密
目录 基于口令(PBE)加密 1 定义 2 加密过程 3 解密过程 5 PBE加密算法会话密钥保存 4 使用场景 5 JDK支持的PBE加密算法 6 Bouncy Castle 支持的PBE加密算法 ...
- java 基于口令加密算法,Java安全编程:基于口令加密(PBE)
安全 PBE 在之前的文章中曾讲到过DES加密算法,类似这种加密算法都有一个密钥,密钥的长度决定了加密的安全性,但是这种密钥比较难记忆,是需要存储的. PBE算法是一种基于口令的加密算法,它并不是构建 ...
- NIST SP 800-132基于口令的密钥生成函数PBKDF和主密钥保护数据的方法研究
摘要:本文档对NIST SP 800-132介绍的基于口令的密钥生成函数PBKDF进行简要分析记录,基于口令的密钥生成函数即将口令(Password)通过密钥导出函数KDF后生成主密钥.同时描述了 ...
- springboot默认数据源如何设置连接数_spring boot基于DRUID数据源密码加密及数据源监控实现...
项目源码路径:https://github.com/Syske/learning-dome-code.git 前言 随着需求和技术的日益革新,spring boot框架是越来越流行,也越来越多地出现在 ...
- oracle的口令就是密码吗,如何修改Oracle用户的密码(不改变原密码)
如何修改Oracle用户的密码 有的人回答说这个不是很简单吗 alter user identified by +密码 如果不知道用户的密码情况下,不能改变原始密码呢(适用于用户密码过期) 测试如下 ...
- druid 连接池的释放 配合上spring bean销毁_spring boot基于DRUID数据源密码加密及数据源监控实现...
项目源码路径:https://github.com/Syske/learning-dome-code.git 前言 随着需求和技术的日益革新,spring boot框架是越来越流行,也越来越多地出现在 ...
最新文章
- 马斯克:4年内,SpaceX的第一艘火星飞船将发射
- Java的this和super关键字详解
- 343. Integer Break
- 存储引擎放弃使用索引的方式
- 【Mac】tar 打包指定目录并排除某些目录或文件
- opencv计算图像亮度调节_OpenCV教程创建Trackbar图像对比度、亮度值调整
- oracle11g linux 日期格式设置
- W10系统matlab无法保存对该路径的更改 pathdef_MATLAB的运行与窗口介绍
- Google浏览器开发者工具:CSSViewer(一个Css查看器)
- java 过载_java – ExecutorService,避免任务队列过载的标准方式
- NOPI将数据导出至EXCEL表格
- 超好用的手机开源自动化测试工具分享
- 台式计算机连接投影仪无信号,acer投影仪显示无信号?电脑开机显示器无信号?投影仪无信号输入的解决办法是什么?...
- 大师云集!CCAI 2017 中国人工智能大会 8 折强势优惠中
- Python爬虫 之 异步爬虫
- 数值修约程序(包括运算过程有效数字保留,Python3实现)
- 视频字幕文件 SSA、ASS 参数-攻略
- Unity VR开发教程 OpenXR+XR Interaction Toolkit (五) UI
- Asp.net URL重定向后css路径问题
- Error (171173): Node xxxx from partition Top cannot preserve previous placement at PIN D16 and honor