免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zuoyuanturing
打印 上一主题 下一主题

[其他] 全球首创:机械加密如今依旧强大 [复制链接]

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
11 [报告]
发表于 2016-03-07 15:46 |显示全部楼层
本帖最后由 yulihua49 于 2016-03-07 15:51 编辑
zuoyuanturing 发表于 2016-03-07 15:39
ENIGMA密码机最终被破译,技术上的原因是,当时只使用了3个转轮,而这3个轮早已泄入敌手。而充当密钥的是三 ...

不需要啊,只要构建前N行就够了啊。
你构建了前N行能够破解N个字节的序列,根据前N行就可以慢慢往后续,越续越长。
一个秘钥使用一定时间就是公开的了。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
12 [报告]
发表于 2016-03-07 15:52 |显示全部楼层
本帖最后由 yulihua49 于 2016-03-07 16:02 编辑
zuoyuanturing 发表于 2016-03-07 15:50
4台的表函数有2*10^11*2*10^11 大约4*10^22

你就算只构造1行 那行取最大的 17576 表函数也有大约2*10^1 ...

不需要都算出来,逐步的,一点点续,最后就没有解不出来的了。
一行就是26.(软件的是256),行数可以很长,但是只要算出前N行就行了。

有明文(第一级入口)和密文(最后一级出口)的数据就可以用来构建表。不管中间多少级。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
13 [报告]
发表于 2016-03-07 21:05 |显示全部楼层
本帖最后由 yulihua49 于 2016-03-07 21:14 编辑
starwing83 发表于 2016-03-07 17:06
回复 43# zuoyuanturing

后天吧,我也发个破坏了数独表的,单级加密的。
你可以先提出若干组明文,我给你密文。
最后我发一组密文(内容摘自你们给的明文),大家破解。
明天你们把明文(文本,ascii可见字符,标点符号,汉字均可)发上来。
加解密程序公开。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
14 [报告]
发表于 2016-03-07 21:15 |显示全部楼层
starwing83 发表于 2016-03-07 17:06
回复 43# zuoyuanturing

回复在帖子里。

ENIGMA-b.rar

72.31 KB, 下载次数: 1

ENIGMA-b.rar

72.31 KB, 下载次数: 2

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
15 [报告]
发表于 2016-03-07 22:12 |显示全部楼层
本帖最后由 yulihua49 于 2016-03-07 22:41 编辑

为了方便大家破译,介绍下ENIGMA的表函数。
1.单式查表:C=T(M);M是明文,C是密文。T是一维表。
2.复式查表:C=T(M,pos); pos是位置。密文是明文和位置的表函数。就是ENIDMA。同样的明文字母,在不同位置映射成不同C。(二维表)
3.改进的ENIGMA:C=T(M,pos,length); 密文是明文,位置,电文长度的表函数。不同的电文长度使用的表函数不同。(二维半表,第三维与前两维相关,不独立)
4.被破坏的表函数:Ci=T(Mi,pos,length,T(M(i-1)));在3的基础上,加入前边明文的表函数),就是,已构密文字符,与它前边所有明文字符有关。
表函数名义上存在,实际因为跟明文相关了,无法构建一个常数的表。

从2,ENIGMA来看,只要构建一个二维表,这个密钥就破解了。这个二维表就是类似数独那样的东西。
所以,不管你有多少转轮,多少层加密,都是无意义的。
以上是按字节替换的密钥体制,你可以说它是序列密钥。也可以说它是一个字节一个分组的分组密钥。

为了安全,我们可以在两次加密之间进行变幻,通常是进行各种交换,成为:替换-交换-替换,这就可以认为是整个电文一个分组的分组密钥。这样,经过多重处理,安全程度可以高于DES之类,因为每次替换都是查二维表,比DES那个异或(只相当于单式查表),复杂多了。交换过程也比DES安全,因为可以有复杂的,基于密钥的交换方式。比每轮都在固定位置交换好多了。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
16 [报告]
发表于 2016-03-09 10:33 |显示全部楼层
zuoyuanturing 发表于 2016-03-07 22:25
回复 54# yulihua49
你的理论有问题 转轮和插线不影响 明文字符与密文字符的映射 只与pos位置有关 稍懂的 ...

当然是影响密文的值,但是不影响你解密的方法。我说的是方法,不管你怎么变换,C=T(M,pos)这个性质是不会变的。只要你用同一个密钥加密了多份信息,并有部分信息泄露了,就可能被破解。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
17 [报告]
发表于 2016-03-09 11:10 |显示全部楼层
本帖最后由 yulihua49 于 2016-03-09 11:26 编辑
zuoyuanturing 发表于 2016-03-07 22:25
回复 54# yulihua49
你的理论有问题 转轮和插线不影响 明文字符与密文字符的映射 只与pos位置有关 稍懂的 ...

当然是影响密文的值,但是不影响你解密的方法。我说的是方法,不管你怎么变换,C=T(M,pos)这个性质是不会变的。只要你用同一个密钥加密了多份信息,并有部分信息泄露了,就可能被破解。
这里强调一下,ENIGMA,作为序列密钥系统,如果一个密钥,只加密了一个信息,长度不超过序列长度(17576),而且任何一部分从未泄露过,它就是安全的,不会被破解。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
18 [报告]
发表于 2016-03-09 11:30 |显示全部楼层
本帖最后由 yulihua49 于 2016-03-09 12:18 编辑
zuoyuanturing 发表于 2016-03-09 10:39
回复 71# yulihua49
自己去破个一台加密的 然后破个两台加密 看看时间关系

看下74楼,如果符合序列密钥的使用规则,不管几级,都是不可破解的。哪怕你只用异或序列也是安全的。
解密。不是拿到一个密文去凭空猜测,是要有一定条件的。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
19 [报告]
发表于 2016-03-09 12:22 |显示全部楼层
本帖最后由 yulihua49 于 2016-03-09 12:43 编辑
zuoyuanturing 发表于 2016-03-09 11:52
回复 74# yulihua49
如果插线固定 固定转子 知道明文 确实只有17576 那是3个转子的可能性 26*26*26 但很可 ...

插线不改变这个17576,只是把那个数独表的列对调下。密钥空间的任何参数没有变化。所以在用计算机软件实现ENIGMA时取消了那个跳线。
不知你是否看了“密码传奇”这本书,详细介绍了ENIGMA的发明,使用,和最后被破解的全过程,技术性非常强,里边提到,布莱齐利庄园,就是图灵的那个机构,证明了跳线的无用,两部对接的enigma就可以抵消之,不过这部分我没太看懂,你可以研究下。但是我记住了他的结论:跳线没用。


那个软件的ENIGMA机器是美国人写的,曾在UNIX系统广泛使用。他第一是取消了跳线,第二是只有一个编码轮和一个反射轮。这两点非常科学。第三是每个转轮256点位,而不是26.这样可以加密任意字节。所以他的序列长度是64K,比原始的长一些。
我的程序是在此基础上改进的。有人把他改成8个转轮,除了降低速度,没别的作用。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
20 [报告]
发表于 2016-03-09 12:28 |显示全部楼层
starwing83 发表于 2016-03-09 11:32
回复 74# yulihua49

不知道你问的啥。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP