当前位置:文档之家› 密码学 伪随机生成器

密码学 伪随机生成器


2.8 二进制数与ASCII 2.9 一次一密 2.10 伪随机序列的生成
2.8 二进制数和ASCII



计算机环境中,信息需表示成二进制. 单词,符号,字母,数字等等都要表式成二进制. 标准方法:ASCII
American
Standard Code for Information Interchange 每个字符通常用8位二进制表示,其中第8位用做校验 位。这样可以表示128个字符和符号.
单向函数伪随机位的生成
种子
x0
x n f ( x 0 n ), n 1, 2 , 3
随机位 b n
f( 汗 x ) 是一个单向函数
即使知道生成的伪随机 汗 所以生成函数的单向性 数序列 x 1 , x 2 , x 3 , ,也不能推测种子 保护了种子 x 0的随机性。 x0 ,
其他的8位二进制用来扩展字符列表,比如ê,
ǎ.
CAP
2.9 一次一密 (one-time pad)

1.
2.
3.
步骤: 将信息表示成二进制序列. 00010101011 明文: ASCII 密钥流: 1 0 0 1 1 0 1 1 0 0 0 数字化视频 10001110011 密文: 数字化音频 密钥流为和消息同长度的二进制随机序列,且一 旦用过一次就永远弃用. 抛硬币 将明文和密钥流进行异或
随机位 b n 是 x n的最低比特位 汗
BBS伪随机位生成器(二次剩余伪随机位生成器)
n
种子
x0
x j 1 x j
2
mod n
随机位 b j
反馈

参数n=pq,其中p,q满足模4余3的大素数。 种子x0=x2 (mod n) ,其中x是与n互素的随机数。 2 x j 1 x j mod n 。 生成函数 bn是xn的最低有效比特位。 Maple
7

线性同余生成器不适合密码学的应用。 参数a,b,m已知的情况下,从生成的序列中易知 种子x0, 种子的随机性就失去了意义。 即使a,b,m未知的情况下,生成的序列都是可能 被可预测的。
习题:预测下列序列之后位信息: 23,7,21,1,3,9,27,19,26,16,17, …; 1,5,17,22,6,20,0,2,8,26,18, …。
一次一密的特点:


优点 一种不可攻破的密码系统 缺点 密钥的随机产生不容易 密钥长度要达到消息的长度,即密钥太长了。 密钥用过一次就永远弃用
2.10 线性同余伪随机数生成器
m a b
种子
x0
x n 1 ax n b mod m
ቤተ መጻሕፍቲ ባይዱ
随机数
反馈



例:设反馈函数 x n 1 4 x n 5 m o d 1 7 , 如果种子 x 0 则生成的序列:16,1,9,7, 16,1,9,7, 16,1,9,7, … 这显然是一个不好的伪随机序列,周期仅为4。
相关主题