密码学7随机位生成和流密码

8.随机位生成和流密码

  • **简要介绍伪随机数生成器的要求:**随机性、不可预测性,种子要求随机或伪随机。
  • 伪随机生成算法:线性同余生成器、BBS生成器。
  • 解释如何用分组密码构建伪随机数生成器:使用CTROFB
  • 简要介绍流密码和RC4
    • 流密码:
      通过使用密钥和伪随机数生成器(PRNG)产生一串比特流作为密钥流,然后将明文和密钥流进行异或运算,得到密文流。
    • RC4:(以密钥作为输入种子的伪随机数生成器)
      • 产生密钥流
      • 明文和密钥流异或产生密文。

8.1 伪随机数生成

随机位生成是指生成具有随机性的随机位流。


  1. 随机位生成策略:(核心:对称分组密码

    1. 伪随机数生成器(PRNG):利用算法确定性地计算产生随机位。
    2. 真随机数生成器(TRNG):使用某种物理源生成非确定性的随机位。
    3. 伪随机函数(PRF):用于生成固定长度的伪随机串。

    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  2. 随机数要求

    • 随机性:(统计意义下)
      • 分布均匀性
      • 独立性
    • 不可预测性:随机数中的任何一部分都不能通过预测得出正确结果。
  3. 伪随机生成器的要求

    • 随机性
      • 均匀性:在生成随机或伪随机位序列的任何位置,0或1出现的次数大致相等
      • 可伸缩性:若一个序列是随机的,那么其子序列也应是随机
      • 一致性:对于所有初始值(种子),生成器的性质必须是一致性的。
    • 不可预测性
      • 正向不可预测性:若不知道种子,无法预测序列下一位。
      • 反向不可预测性:由随机数序列无法推算到种子值。
    • 种子的要求:种子值必须是安全的并且不可预测,一般而言,种子本身必须是随机数或伪随机数

8.2 伪随机数生成器

8.2.1 线性同余生成器

推导公式
X n + 1 = ( a X n + c ) m o d      m X_{n+1} = (aX_{n}+c)\mod \ m Xn+1=(aXn+c)mod m
公式变量解释

  • m m m : 模(即周期) ( m > 0 m > 0 m>0
  • a a a : 乘数 ( 0 < a < m 0 < a < m 0<a<m
  • c c c : 增量 ( 0 ≤ c < m 0 \le c < m 0c<m
  • X 0 X_{0} X0 : 初始值或种子 ( 0 0 0 <= X 0 X_{0} X0 < m m m

特点

  • 该算法本身不随机。
  • 若敌手知道算法,则可以根据部分序列值推出各个参数。

8.2.2 BBS生成器

算法过程

  • 选择两个大素数 p p p q q q ,满足 p ≡ q ≡ 3 ( m o d    4 ) p \equiv q \equiv 3(\mod 4) pq3(mod4).
  • n = p ∗ q n = p*q n=pq, 选择一个随机数 s s s , 且 s s s n n n 互素,按下列算法生成序列:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

特点

  • 安全性依据基于对大整数n的因子分解困难问题
  • BBS被称为密码安全伪随机位生成器 (CSPRBG):能够通过下一位测试
  • 下一位测试:不存在能以大于二分之一的概率预测下一位的多项式时间算法。

8.3 流密码

采用的是伪随机数流密钥,一次一位。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

参数

  • K K K:输入密钥
  • f f f : 转换函数
  • z i z_{i} zi : 输出的密钥流(加密位)
  • g g g : 输出函数
  • Ⅳ Ⅳ :初始向量(可以公布)

特点

  • 适合加密大量的的快速流数据。
  • 适合在受限设备使用。(能力有限的设备)

要求

  • 加密序列周期要长
  • 密钥流接近随机流的性质。
  • 生成器的输出由输入密钥K控制

8.3.1 RC4

面向字节运算的变长密钥流密码。

算法流程

  • 初始化状态向量S:状态向量S是一个有256字节的数组。
  • 密钥流生成:利用状态向量S不断生成一个字节密钥流k。(加解密)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 初始化状态向量S:状态向量S是一个有256字节的数组。
  • 密钥流生成:利用状态向量S不断生成一个字节密钥流k。(加解密)

[外链图片转存中…(img-4xjsBGTU-1699507136355)]

(48条消息) 【密码学基础】08 随机位生成和流密码_根据特征多项式求反馈函数_Stu_Yang的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值