用伪随机数打造坚实的密钥

原创 2006年06月14日 15:12:00

      大家知道伪随机是一种分布均匀的周期性数组。所谓分布均匀是指所有可能出现的元素都均匀出现了,并且它的平均值接近于元素的中值。
         伪随机组由随机函数生成,这是一类有趣的东西,有点像振荡器,有几种状态,参数搭配不同可能出现几种状态如输出常数、有规律的数、乱数,对应于振荡器的不起振、谐振、共振。
         
随机数组为什么可以作为密钥。因为它“毫无规律”,杂乱无章,所以其中可以藏污纳垢,隐藏数据,经它参杂后有规律的数据变为无规律。而优秀的伪随机数发生器产生的数组虽然是周期性的但周期很长,它的局部也是杂乱无章的,而且发生器多种多样的,我们假定窃密者已经掌握了正在使用的伪随机数组,而我们要用它做密钥,我们怎么做呢?
        很简单,只要用法得当即可。应该选择周期长的发生器,例如使用伪随机数组的长度最好不要大于数组的周期,且不直接引用,而使用数组元素的代数运算值作为密钥,如果所需数组的长度大于周期你可以这样:1)使用叠加的方式破坏周期加大数组的组合长度,例如周期为T,伪随机数组串为ch[],这样使用他们,密钥=ch[n1]+ch[n2],循环时n1=n1+1,n2不变,当n1>T时,n1=0,n2=n2+1,这样就可以使T变为T*T,这是简单说明,实际应用时还要加些东西。2)在伪随机数组形成时,选择性吸收,并不是按原序列排列。你可能说这些都可以从分析程序中知道,是啊,重要的是利用加密密码(password)使伪随机数种子和引用的起点和密钥组合及拣选组员等悬浮起来,这样就使分析处于不确定中。
        不要单独实用数组,那样比较危险,破解者形成数组后,拼来拼去可能泄密,要一个明文对应两个以上的密钥,最好是两个密钥是来自两个函数,在用作密钥时,起点都让其不确定,例如起点与密码相关,这样就比较安全,拿一个数组拼没有用,只有两个同时用,并且组合正确才行,那就比较困难了。

真随机数加密

        用真随机数做密钥的加密称为真随机数加密,加密很简单但需要和明文字节数一样长度的真随机数字节,然后一对一的顺序相加或者异或起来就完成了加密。解密则是做加密的逆运算。如此可见如果真随机数是...
  • sjd163
  • sjd163
  • 2007年10月07日 10:34
  • 1120

随机数及其生成器

伪随机数与伪随机数生成器 计算机是确定性的机器,因此它无法直接生成真正的随机数,而浑沌系统的随机数生成速度又比较慢,在许多情况下不适合作为快速的(伪)随机数库函数算法。快速的伪随机数生成算法中最...
  • herorenme
  • herorenme
  • 2013年12月13日 11:33
  • 1987

伪随机数加密思路

伪随机数加密思路        伪随机数加密是伪随机数组作为密钥加密的例子。        它工作时需要用户输入密码。密码是干什么的?密码就像一个种子,有了它才能完成加密或解密。密码的数值渗透到整个过...
  • sjd163
  • sjd163
  • 2006年06月14日 15:23
  • 2354

java中DEC密钥与密钥种子

最近用到了DEC.我们把一段字符串类型的信息采用DEC加密后发送给对方,对方解密后得到明文。在开发环境上一切正常,但测试环境上对方不能正常解密。     问题出在哪里呢?     我们把密钥种子写...
  • w90
  • w90
  • 2013年05月26日 16:27
  • 1527

数字证书原理,公钥私钥加密原理 - 因为这个太重要了

1基础知识 11公钥密码体制public-key cryptography12对称加密算法symmetric key algorithms 13非对称加密算法asymmetric key algor...
  • junehappylove
  • junehappylove
  • 2016年08月23日 10:40
  • 12907

java加密的强随机数生成器

java.security.SecureRandom 所有已实现的接口:Serializable public class SecureRandom extends Random ...
  • rwdxll
  • rwdxll
  • 2014年06月03日 23:41
  • 2165

ctr_drbg伪随机数发生器

  • 2017年02月16日 09:55
  • 1.07MB
  • 下载

伪随机数列

  • 2014年06月11日 01:41
  • 1.03MB
  • 下载

伪随机数产生基于MFC

  • 2011年09月02日 12:34
  • 33KB
  • 下载

线性同余伪随机数生成器

  • 2011年04月21日 12:25
  • 31KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用伪随机数打造坚实的密钥
举报原因:
原因补充:

(最多只允许输入30个字)