伪随机数加密新思路

原创 2007年10月04日 22:00:00
    随机加密如果处理简单就容易受到攻击,如果你只是简单的将明文串和密钥串组合起来,那攻击者,只要知道随机函数就够了,他用它也构造密钥串,用它作用于密文串,在密文串上逐点试解,只要找到起点也就破解了。再复杂一点就是密钥串形成时做一些代数运算,这没有多大用处,因为当破解者读懂了程序也会做同样的工作,从而得到实际应用的密钥串,然后试解找起点,完成破解。
    新思路加密不沿着随机函数的自然序列走,而是采用跳跃的方式来应用随机函数的数值,也就是随机函数的种子是跳跃变化的,并不是象一般的那样,本次输出是下一次的输入。可以用上一次的密文或其代数运算值做种子的一部分,不要直接应用让它们先加入一些不确定因素,不确定因素来自用户输入的密码(原始密钥),让密码相关的代数运算值作为种子参数之一。另外用上一次的密文或其代数运算值做种子的一部分,第一次时没有上一次的密文,此时种子的设定也很关键,它同样对下面的运算至关重要,也需要让密码相关的代数运算值作为种子参数。
    由于种子的数值有被加密文件的参与,而不只是随机函数自己生成的,所以它的变化更是难于琢磨。并且随机函数的周期不再能体现出来,也不能对解密提供任何帮助。由于在破解者那里,密钥是不可得的,相当于真随机数,所以此种加密和一次一密的效果是一样的,可以抗拒各种攻击。象一般加密方法一样对穷举法的攻击无法抵御,对此需要用其它方法例如采用图形效验码方法等。
     诚征对文件加密感兴趣的朋友对本方法进行攻击,或提出攻击方法。本方法已试用于文件加密程序,喜欢破解的可以索取程序,看你的招数破解它有效吗。 sjsjsjd@163.com
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

生成伪随机数的新思路 ——借助RSA算法

转自:http://www.chncla.com/yk/201006/p_7.html 最近浏览“程序员论坛”时发现不少好帖,增长了不少知识,现拿其中一则为例与大家共同分享心得。       某人...
  • my_xxh
  • my_xxh
  • 2015-04-02 20:36
  • 1054

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

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

Silverlight信息加密 - 通过Rfc2898DeriveBytes类使用基于HMACSHA1的伪随机数生成器实现PBKDF2

在上一篇文章当中,介绍到了通过Silverlight获取web.config中的值,最后提到了加密的问题,因此首先对该安全问题做一个简单的描述。 问题描述 1. 下方是我的web.config文件...

生成伪随机数.rar

  • 2010-07-02 13:55
  • 35KB
  • 下载

伪随机数的生成

伪随机数(baike.baidu.com)字符串生成程序已修改,红体字程序为本人改写,编译正常

伪随机数 真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。而计算机中的随机函数是按照一定算法模拟产生的,其结果是确定的,是...

生成伪随机数的函数int rand(void)和void srand(unsigned seed);

标准库(被包含于中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void); 从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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