图解密码技术笔记(八)密钥——秘密的精华
来源:互联网 发布:淘宝名不虚传 生意参谋 编辑:程序博客网 时间:2024/06/10 07:26
密钥(key)
在使用对称密码,公钥密码,消息认证码,数字签名等密码技术时,都需要一个称为密码(key)的巨大数字。
然而,数字大小的本身并不重要,重要的是密钥空间的大小,也就是可以出现的密钥的总数量。密钥空间的大小是由密钥长度决定的
各种不同的密钥
- 对称密码的密钥:加密和解密使用同一个密钥,发送者和接收者之间需要共享密钥,因此对称密码又称共享密钥密码
- 公钥密码的密钥:加密和解密使用不同的密钥,用于加密的密钥称为公钥,它可以被公开的;用于解密的密钥称为私钥,只有需要解密的接受者才有私钥,私钥也称为秘密密钥
- 消息认证码的密钥:发送者和接受者使用共享的密钥来认证,消息认证码只能由持合法密钥的人计算出来。消息认证码附在通信报文后面,就可以识别通信内容是否被篡改或伪装。消息认证码的密钥必须对发送者和接受者以外的人保密
- 数字签名的密钥:签名的生成和验证使用不同的密钥,只有持私钥的本人才能签名,由于验证签名使用的是公钥,因此任何人都能够验证签名
- 会话密钥:密钥是仅限于本次通话的一次性密钥,下次通信就不能使用
- 主密钥:一直被重复使用的密钥
- 内容加密密钥(CEK):加密的对象是用户直接使用的消息
- 密钥加密密钥(KEK):加密的对象是密钥
密钥的管理
生成密钥
1 用随机数生成密钥
2 用口令生成密钥(PBE)
配送密钥
1 事先共享密钥
2 使用密钥分配中心
3 使用公钥密码
4 Diffie-Hellman密钥交换
更新密钥
- 更新密钥(key updating),使用共享密钥进行通信时,定期(例如每发送1000个字)改变密钥,发送者和接受者必须同时用同样的方法来改变密钥
- 更新密钥时,接受者和发送者用当前密钥的散列值作为下一个密钥
- 因为单向散列函数具有单向性,密钥被窃听者获取时,这种方法可以防止破译过去的内容。这种防止破译过去的内容的机制称为后向安全(backward security)
保存密钥
将密钥加密后保存,用一个密钥来代替多个密钥进行保管,这样我们就不需要确保多个密钥(CEK)的机密性,而只需要确保一个密钥(KEK)的机密性就可以了
作废密钥
作废密钥和生成密钥是同等重要的,这是因为密钥和明文是等价的
Diffie-Hellman密钥交换
Diffie-Hellman密钥交换算法是通信双方通过交换一些可以公开的消息就能生成共享的秘密数字,而这一秘密数字就可以被用作对称秘密的密钥。IPSec中就使用了经过改良的Diffie-Hellman密钥交换算法
Diffie-Hellman密钥交换的步骤
基于口令的密码(PBE)
基于口令的密码(PBE),就是一种根据口令生成密钥并用该密钥进行加密的方法。其中加密和解密使用同一个密钥
PBE的意义可以按照下面逻辑理解
- 想确保重要消息的机密性
- 将消息直接保存在磁盘上,可能被别人看到
- 用密钥(CEK)对消息加密吧
- 但这次又要确保密钥(CEK)的机密性了
- 将密钥(CEK)直接保存在磁盘好像很危险
- 用另一个密钥(KEK)对密钥(CEK)进行加密吧
- 等等!这次又需要确保密钥(KEK)的机密性了,进入死循环
- 既然如此用口令来生成密钥(KEK)吧
- 但只用口令容易遭到字典攻击
- 那就用口令和盐共同来生成密钥(KEK)
- 盐可以和加密后的密钥(CEK)一起保存在磁盘上,而密钥(KEK)可以丢掉
- 口令记在脑子里就行了
PBE加密流程
0 0
- 图解密码技术笔记(八)密钥——秘密的精华
- 图解密码技术笔记(一)对称密码(共享密钥密码)——用相同的密钥进行加密和解密
- 图解密码技术笔记(三)混合密码系统——用对称密钥提高速度,用公钥密码保护会话密钥
- 图解密码技术笔记(四)单向散列函数——获取消息的指纹
- 图解密码技术笔记(六)数字签名——消息到底是谁写的
- 读《图解密码技术》(三):密钥、随机数和应用技术
- 图解密码技术笔记(二)公钥密码——用公钥加密,用私钥解密
- 图解密码技术笔记(七)证书——为公钥加上数字签名
- Edit控件密码窗口的秘密--通用密码记录技术
- 《图解HTTP精华解读》笔记
- 图解密码技术笔记(五)消息认证码——消息被正确传送了吗
- 《图解密码技术》小结
- 图解密码技术
- 基于JCE的密钥分配------------------------(三)利用公钥密码技术实现对称密码技术密钥的分配
- 流密码的密钥
- 揭开密码的秘密?
- 读书笔记之《图解密码技术》
- Edit控件密码窗口的秘密--一种全新的通用密码记录技术
- 使用SpringMVC和Mybatis
- 位运算符—&
- 一个不错的shell 脚本教程 入门级
- Java---IO加强(1)
- UINavigationBar的Back按钮手势失灵解决办法
- 图解密码技术笔记(八)密钥——秘密的精华
- Resource Type
- python解析pcap转储为sqlite
- 图像增强之(二) --- sobel变换
- Best Time to Buy and Sell Stock
- 两个Android选择文件对话框
- 计算最大子段(分治法)
- 剑指offer面试题 二进制中1的个数
- shell脚本中一些特殊符号