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

博文

自动密码技术

已有 2075 次阅读 2017-4-23 19:42 |个人分类:密码学相关|系统分类:科研笔记

  在文件加密过程中,由于密码是人为的,所以能够产生一些弊端,例如密码的分布不是随机的、分布在很小的区域例如用数字、字母、汉字作密码(这是受输入方式和显示方式的限制)。人们为了好记或省力气,用一些和自己有关系的联想来编制密码,这给字典攻击造成了方便。

  为了克服以上缺陷,这里提出自动密码方案,也就是密码由加密软件自行生成,尽量使其数值随机,密码的个数也是随机的,例如用字节为单位,让加密程序生成的密码个数在20到30个字节。为了保密这些随机的密码以十六进制图形显示给用户,供其抄录或拍照下来以便解密时用。

  这样程序生成的用户密码是随机的,并且是在字节数域内完全随机的,这是一般加密程序靠用户键盘输入密码所做不到的,比较起来后者输入的密码就是弱密码。

  这样生成的用户密码是完全不重复的,不必担心密码的重复使用问题。由于每次加密都是全新的密码,已知明文攻击就完全失效了,已知明文攻击是利用目前的加密算法,对同样的内容使用同样的密码得到同样的结果这样一种事实,利用这点就能够积累以往加密的经验作为破解的突破口。

  笔者用简单的程序实现了自动密码技术的文件加密程序,加密时程序将自动形成20个字节的用户密码,以16进制的数据形式展示给用户,选择这种形式是为了形式上的完美,它将用40个16进制数表示20个字节的内容,如果使用base64就比较乱了。程序界面有【使用说明】按钮将告诉你如何操作,这里就不多说了。

  这个程序除了具有自动密码带来的好处外,还具有不怕穷举攻击的特点,这也是经常和大家争论的,穷举攻击谁不怕啊,当然如果密码只有几位数肯定是怕怕的,很快就能穷举所有状态,从中找出正解也不难。但是位数多了就不一样了,要用大量的时间去寻找,一般加密软件之所以怕穷举攻击和软件自身也有关系。举例说明,著名的压缩软件winrar中的加密就怕穷举攻击,因为它对用户输入的东西是区别对待的,如果你的密码输入是错误的它将告诉你是错误的,密码正确时则继续向下运行。所以你用各种字母符号组合输入(不能有遗漏)从低位到高位总是能解密的,前提是密码位数不高,如果位数太高时间是拼不起的,winrar最多能输入99位的。如果位数不高,是一定可以得到正解的。这是由于碰到正解后程序反应不一样造成的。我的程序可不为破解者提供这种便利,根本不做密码正误的判断,是否解密成功您自己判断吧,这就有意思了,你判断的周密将花费更多的时间,你判断的粗糙则可能漏网,一旦漏网所有都是白费。这样当密码位数比较多时不能破解是极大概率事件,因为不能确保无遗漏的进行正确密码的搜索,所以就没有勇气一直进行下去了。

  加密程序的密钥数组的建造采用了本人独创的相对真随机数建造法而建造,方法没有采用数学方面高难的算法,而是运用物理学中热力学第二定律之熵增加原理而建造,首先选择初始数组的成员是分布均匀的,然后用多种方式打乱数组的排列,根据熵增加原理数组的混乱程度只能向着熵增加的方向发展,最终达成动态平衡。这个过程相当于建造一批相互独立的分布均匀的数据,这一过程借助于随机函数来完成,随机函数在这里只是参与数组的元素分布并不直接和元素成员进行数值运算。形成的随机数组对外界来说就是真随机数组,而对建造者来说确是可以控制的故称为——相对真随机数组。安全加密的基础就在这里。




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

上一篇:我的加密为何不可破解
下一篇:流密码文件加密
收藏 IP: 101.24.36.*| 热度|

0

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

数据加载中...

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

GMT+8, 2024-4-24 23:13

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部