
安全工具
文章平均质量分 58
sjd163
这个作者很懒,什么都没留下…
展开
-
随机数的检验及发生
随机数的检验及发生 在加密解密的过程中随机数起着相当重要的作用。所以随机数的质量受到关注。如何高效产生高质量的随机数是一个重要课题。以ASCII码组成的随机数为例,随机数最基本的检验: 我们知道有256个ASCII码其数值是0到255,当一组随机数个数较多时其平均值应为127.5。 两组组元相同的随机数其重码率约为1/256=0.00390625。 如果偏离此 2原创 2003-03-02 12:17:00 · 3126 阅读 · 0 评论 -
半自动密码输入技术
在文件加密软件中,用户输入少量密码(3、5个),确认输入后,加密程序自动将这几个密码补足为多位密码,例如30位或者更多位。密码的补足部分是根据用户输入的那几位密码通过随机函数或CRC算法或哈希函数衍生出来的。 1)由于衍生出的密码有很大的随机性看上去和乱码一样,可以提高用户密码的质量杜绝白痴密码的输入,提高加密强度。 2)由于密码位数多。穷举攻击将无法取胜。程序能很轻易的提高密码位数,原创 2012-12-13 09:50:35 · 572 阅读 · 0 评论 -
用密钥池实现一次一密文件加密(附试验程序)
【密钥池】是随机数的容器,本身就是一个大文件。它可以提供加密文件所需要的密钥。密钥池无需保密可以公开在网站上,或提供下载。 【密钥池的使用】加密程序从密钥池取得密钥组成密钥串,但不要直接使用密钥池的密钥,而是经过一个不可逆的随机变换后再使用,这样密钥池作为密钥的模版就可以反复使用了。并且使用时并不是从开始位置依次向后取得密钥,而是可能从池的任何位置开始,从何处开始取决于用户密码和算法,当原创 2009-09-19 15:44:00 · 2723 阅读 · 1 评论 -
随机函数用于加密——加盐法
随机函数用于加密,前面已经介绍了组合法、跳变法、重排法、多模法,这里再介绍一种方法:加盐法。 加盐法的最大特色是增加加密强度,它是一种动态方法。经过加盐处理可以做到,即使用同样的明文、同样的用户密码每次加密得到的密文都不一样,密码、明文、密文没有固定的对应关系这样当然不好分析了。 下面介绍如何加盐,所谓盐也是随机数,怎么获得盐?作为盐的随机数可以让程序读取时间流而得到,如果需要多个可以截取原创 2010-03-08 21:10:00 · 1683 阅读 · 0 评论 -
随机函数用于加密——多模法
随机函数用于加密,以前已经介绍了组合法、跳变法、重排法,这里再介绍一种方法:多模法,这种方法简单实用。 【模运算基本概念】对于正整数p和整数a,取模运算:a % p (或a mod p),表示a除以p的余数。 【加密原理】随机函数产生的数据经过多次适当的模运算后作为加密或解密密钥,通过做不同数值的模运算提高解密复杂度。 我们知道文件一般都是以字节为单位,所以加密文件的最终密钥也是字节随机原创 2010-03-08 21:03:00 · 926 阅读 · 0 评论 -
用随机乱序建造理想的密钥数组
这里的目的是通过随机乱序方法来建立作为密钥的随机数组。要建立的随机数组要求具有真随机数的某些性质,例如数组元素之间没有任何关系,每个元素都是独立的存在,你无法由前面的数据推算后面的数据,没有周期等,但它们又是可以控制的可以重复产生,目的是用来做加密文件的密钥,所以它的产生要和用户密码密切关联,用户密码是独立于加密软件和密文或明文的,要充分利用这一点,控制密钥数组的产生。 随机乱序是将一个数组原创 2010-02-06 08:35:00 · 937 阅读 · 0 评论 -
随机函数用于加密——组合法
一般的成见是随机函数不能用于信息加密,不能作为密钥来加密文件。在没有好的方法之前这些观念也许是对的。但事实未必如此,如果能够克服随机函数自身的缺陷,用于加密应该是没有问题的,这里将探索几种方法这是其一。下面介绍应用随机函数加密的方法之一“组合法”。大家知道调用随机函数可以生成序列值,这些序列值看起来是乱码,实际上是按一定规律变化的,并且是有周期的,这是因为随机函数出自同一运算规则的原因。但原创 2009-06-30 07:09:00 · 686 阅读 · 0 评论 -
随机函数用于加密——重排法
一般的成见是随机函数不能用于信息加密,不能作为密钥来加密文件。在没有好的方法之前这些观念也许是对的。但事实未必如此,如果能够克服随机函数自身的缺陷,用于加密应该是没有问题的,这里将探索几种方法这是其一。下面介绍应用随机函数加密的方法之一“重排法”。“重排法”原理很简单,就是先用随机函数生成序列数组,然后对数组的顺序进行重新排列,如何进行重排?可以仍然用这个函数进行随机排序,也可以用其它随机原创 2009-06-30 07:07:00 · 754 阅读 · 0 评论 -
序列数交换法
“序列数交换法”是一种产生随机序列的方法。它将有序的序列数(数组)通过交换改造为无序的序列数(数组)。为叙述简单以例说明,这里只讨论 8位整数为元素的随机数组的生成,其它位数可以由此组合。 8位整数的数值 0到 255。例如做一个有2560个元素的随机数列: 1)先做一个数值由零到255的循环数列,长度为2560(这是个周期为256原创 2007-02-24 15:44:00 · 1233 阅读 · 0 评论