真随机数加密

原创 2007年10月07日 10:34:00
        用真随机数做密钥的加密称为真随机数加密,加密很简单但需要和明文字节数一样长度的真随机数字节,然后一对一的顺序相加或者异或起来就完成了加密。解密则是做加密的逆运算。如此可见如果真随机数是现成的,由于运算简单在加密、解密速度上是顶级的。
        明文、密文、密钥的完整性检验,可以设置效验码,通过检测效验码来判断信息是否完整。效验码同样需要保密它也是信息。
        真随机数加密的麻烦是密钥太长,它和明文的长度相同。现在单独的密文是安全的,即使动员无限的计算能力和用无限的时间对它的解密也徒劳的。现在需要保密的是密钥,虽然它不包含任何信息,但如果它和被加密文件在一起,如同展示了明文。所以绝对不能让窃密者同时得到密文和密钥。密钥很长不可能被使用者记住,所以密钥的保管,比小密钥麻烦的多。如果用于通讯,还有密钥的传递问题。
        为了不让窃密者得到密钥,你需要对密钥进行加密,对真随机数加密看起来很可笑,但不得已而为之,这种加密可以用简单的方法,例如随机加密也是很安全的,破解者甚至无法判断解密是否成功。这样就可以在掌握少量的密码的情况下掌握着大量的秘密了。
        以往真随机数加密,因为比较笨重,只用在对极其重要的信息加密。由于计算机及网络的速度的不断增进和存储空间的越来越廉价,使用真随机数加密也不是什么奢侈的事情。相信会使用在越来越多的地方。

开源polarssl加密库使用详解之二:伪随机数发生器(DRBG)

随机数在密码学中的具有十分重要的地位,被广泛用于密钥产生、初始化向量、时间戳、认证挑战码、密钥协商、大素数产生等等方面。随机数产生器就是用于产生随机数的算法、函数以及设备。因此它的安全性也就对密码系统...
  • wenxiaohua_113
  • wenxiaohua_113
  • 2014年01月11日 20:40
  • 13693

C++ 中使用伪随机数

使用过 C语言标准库中随机数相关功能的同学肯定还记得 C 库中提供的两个函数,这么多年来C语言标准库中随机数生成的相关的函数就只有这两个。并且 rand() 函数只能生成 [0, RAND_MAX] ...
  • liyuanbhu
  • liyuanbhu
  • 2017年04月22日 21:33
  • 1264

一个利用随机数加密字串的算法

首先这个算法没什么特殊之处,只是怕以后找不到,所以放到了这上面        每个字节加密后有6种结果(占两个字节,如果需要大于6种的话,就要多用1个字节,即占3 个字节),也就是说如果字串占n个字...
  • lang_csdn
  • lang_csdn
  • 2004年10月24日 13:39
  • 962

加密法随机数生成器

除了传统的线性同余法(即C语言里的rand())产生伪随机数外,还可以用密码来编写能够生成强伪随机数的伪随机 数生成器。密码的机密性是支撑伪随机数生成器不可预测性的基础。原理如下图: 有关...
  • keyu0915
  • keyu0915
  • 2017年08月26日 21:14
  • 302

伪随机数加密思路

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

密码学常见基本概念-随机数,伪随机数产生器

密码学都会涉及到随机数,因为许多密码系统的安全性依赖于随机数的生成。     序列密码的保密性完全取决于密钥的随机性。如果密钥是真正的随机数,那么这种体制理论上就是不可破译的。但这种方式所需要的密钥...
  • BadAyase
  • BadAyase
  • 2016年12月22日 10:52
  • 1598

认证、密钥、随机数与技术应用(上)

在本篇博客中我将介绍认证相关的内容,下面图片是要讲的知识点。 一、单向散列函数 现在假设小明以前写来一个文件保存到硬盘,它的文件可能面临被攻击之后遭到篡改,那它怎么证明现在他手上的文件没有遭到篡改的...
  • jiang_xinxing
  • jiang_xinxing
  • 2017年01月09日 17:04
  • 823

一个生成伪随机数的超级算法【转】

什么叫伪随机数? 真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定...
  • LVXIANGAN
  • LVXIANGAN
  • 2017年06月15日 15:32
  • 863

产生伪随机数两种常用算法

我们讲的随机数其实暗指伪随机数。不少朋友可能想到C语言的rand(),可惜这个函数产生的随机数随机性非常差,而且速度很慢,相信几乎不能胜任一般的应用。 古老的LCG(linear congruent...
  • mergerly
  • mergerly
  • 2015年06月24日 11:29
  • 9826

java加密的强随机数生成器

java.security.SecureRandom 所有已实现的接口:Serializable public class SecureRandom extends Random ...
  • rwdxll
  • rwdxll
  • 2014年06月03日 23:41
  • 2324
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:真随机数加密
举报原因:
原因补充:

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