sjdkx的个人博客分享 http://blog.sciencenet.cn/u/sjdkx

博文

随机函数加密文件

已有 1796 次阅读 2018-11-29 10:54 |个人分类:密码学相关|系统分类:论文交流| 随机函数, 文件加密

  随机函数的生成值一般称为伪随机数,认为其不够随机又有周期性,不能作为密钥加密,这个结论不能

认同,假如用其做密钥,你能够破解其密文,那确实是不能做密钥了,不可靠能做密钥吗?我认为能不能用

要看你怎么用了。

  直接使用随机函数的生成值(序列值)做密钥是不可取的,因为破解者了解你的做法,他也可以做同样

的事情,将一小段序列值组成密钥串,虽然他不知道随机函数的种子值是什么,但他可以假定种子然后去尝

试,不行则向后或向前推移,让密钥串和密文相互作用,并观察结果从而判断是否发现了种子,一旦发现种

子的位置破解也就完成了。

  下面只举两例说明如何用随机函数值做密钥。

一、参数法

  我们从用户密码那里,除了计算出种子外,还可以计算出许多参数C,随便取两个C1和C2,假设明文序

列是M1、M2、......,随机函数序列是S1、S2、......,密文序列m1、m2、......,将这样产生

      m1 = M1 + S1×C1 + C2;

      m2 = M2 + S2×C1 + C2;

      .......;

而解密是加密的逆运算。

二、多元法

  多元是指使用多个随机函数,以一个为主,其它的为辅助,以二元为例,从用户密码那里需要计算出两

个种子,一个用于第一个随机函数,另一个用于第二个随机函数,而有第一个随机函数序列是S1、

S2、......,第二个随机函数序列是s1、s2、......,N是个用户密码计算出的小质数,

      m1 = M1 + S1 + s1%N;

      m2 = M2 + S2 + s2%N;

      .......;

解密是加密的逆运算。

s1%N表示随机函数二的第一个函数值除以N的余数,这个值较小但也严重的干扰了整个算式的数值,让分

析破解难上加难。

  使用随机函数尽量避讳其周期让周期远远大于被加密内容的长度即可不受其影响。工具在那里就看怎么

用了。古代韩信被称为战神何也,其能指挥老弱病残的军队打胜仗,我们也争取利用现有条件使数据更加安

全,努力加油吧。

 




https://blog.sciencenet.cn/blog-251800-1148942.html

上一篇:加密算法和加密方法
下一篇:真随机数发生
收藏 IP: 121.28.121.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-28 00:51

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部