图解密码技术 第三部分 密钥,随机数与应用技术

三、密钥,随机数与应用技术

0x11 密钥

密钥与明文等价,信息的机密性不应该依赖于密码算法本身,而是应该依赖于妥善保管的密钥。

  • 对称密码的密钥和公钥密码的密钥:确保机密性
  • 消息认证码的密钥和数字签名的密钥:用于认证
  • 会话密钥和主密钥:session key一次性密钥,master key,一直使用
  • 用于加密内容的密钥和用于加密密钥的密钥:CEK内容加密密钥,KEK密钥加密密钥

密钥管理:生成密钥(随机数、口令生成)—配送密钥(事先共享、密钥分配中心、公钥密码)—更新密钥(当前密钥哈希作为下一个密钥)—保存密钥(将密钥再加密,仅保存KEK)—作废密钥()

Diffie-Hellman 密钥交换(Diffie-Hellman key exchange):协商生成一个共享密钥,而这一秘密数字就可以被用作对称密码的密钥。IPsec中就使用了经过改良的Diffie-Hellman密钥交换。根据有限域的离散对数问题而产生,G的A方 mod P计算A复杂度。

  1. Alice 向 Bob 发送两个质数 P 和 G,P必须非常大,G是P的生成元,不需保密,谁生成都行
  2. Alice生成一个随机数A,A是一个1~P-2之间的整数。保密
  3. Bob生成一个随机数B,B是一个1~P-2之间的整数。保密
  4. Alice 将 G的A次方 mod P 这个数发送给 Bob,不需保密
  5. Bob将G的B次方 mod P 这个数发送给 Alice,不需保密
  6. Alice 用 Bob 发过来的数计算 A 次方并求 mod P,共享密钥=G的 A×B次方 mod P,Bob同理

0x12 随机数

  • 随机性——不存在统计学偏差,是完全杂乱的数列
  • 不可预测性——不能从过去的数列推测出下一个出现的数
  • 不可重现性——除非将数列本身保存下来,否则不能重现相同的数列

弱伪随机数:只具备随机性

强伪随机数:具备随机性和不可预测性

真随机数:具备随机性、不可预测性、不可重现性

伪随机数生成器PRNG:软件实现,无法真正生成真随机数;具有内部状态,通过外部输入的种子生成随机数列

方法:

  • 杂乱的方法:周期短、算法差
  • 线性同余法(linear congruential method):(A×内部状态+C) mod M,不具备不可预测性
  • 单向散列函数法:内部状态作为计数器,散列函数计算内部状态输出即随机值,具备不可预测
  • 密码法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值