- 主题:介绍一种加密算法 (转载)
AI当然不只说了这一点,可是我懒得贴,就转了它最后一行结论。
我现在不研究加密算法,弄这玩意会猛掉头发。
【 在 ylh1969 的大作中提到: 】
: 再补充一点,我们这个东西的主要用途是通信传输加密,其生命期等同一个会话的生命期,这个场景就是真实的保密场景。
: 当传输一个大数据包时,TCP协议会破包,分成许多小的报片,中途被抓包的话,任何一个片段都不可以单独解密。尤其是ENIGMA2,丢失任何1bit就导致整包全错,这个在6楼里也提过了,算是一个缺点吧,不容错。
: 实际上经过十几年的使用,也进行过洲际传输,没有发现过错包导致的故障。tcp的可靠性还是足够的。
--
FROM 171.213.172.*
AES还凑合,DES在传输加密不能用。会话开始,双方协商密钥,一看是弱密钥,下边就没法干了。
本算法没有弱密钥。
【 在 jimmycmh 的大作中提到: 】
: 为什么不用现成的AES之类的呢?自己发证书
:
--
修改:ylh1969 FROM 221.221.50.*
FROM 221.221.50.*
不会掉头发,经历了很长的时间才弄出来的,脑力密度没那么高。
方法来自实践。
在搞传输加密的过程中,分组密钥不好用,以接收为例:
收数据需要分配一次内存(不定长包,包头里的length确定数据长度);
解密再分配一次。因为AES和DES都需要另外的buffer。解压缩还要分配一次。频繁的malloc/free会使内存碎片化,导致服务器不稳定。需要凑整组也是个麻烦。
需要寻找一种序列密钥(密码学界已经放弃对序列密钥的研究),就地加密解密的,减少内存分配次数。
就找到了这个。
发现了它的弱点,用现代密码学理论,进行了改进。
最重要的安全审视,就是公开算法,让更多的人研究批判。
我希望的就是,能有人对这个算法进行具体的分析和批判,而不是抽象否定。认真的分析批判是加强其强度的唯一办法。
把这个成功的实例拿出来,也是想给有同样需求的一个参考。6楼的AI给了一个基本的肯定。
对于短时效对象它是有效的。
【 在 poocp 的大作中提到: 】
: AI当然不只说了这一点,可是我懒得贴,就转了它最后一行结论。
: 我现在不研究加密算法,弄这玩意会猛掉头发。
:
--
修改:ylh1969 FROM 221.221.50.*
FROM 221.221.50.*
回答6楼的,测试3种方法对差分分析的抵抗能力:
同一个转轮做的,第一个都是E0,就是ENIGMA2不是,被洗牌了,连E0都没出现。明文2有,但是并不代表就是在这里切的牌。
【 在 ylh1969 的大作中提到: 】
: 不会掉头发,经历了很长的时间才弄出来的,脑力密度没那么高。
: 方法来自实践。
: 在搞传输加密的过程中,分组密钥不好用,以接收为例:
: ...................
明文1:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
enigma1加密1:
E0 DC F9 7E 2C BC 9C 51 BB EC 4F EE 8A 99 1E DF 4A 6F B1 35 91 4B 96 AC CA 65 07 A9 2B 68 EA 86
frenz_enigma加密1:
E0 15 90 23 40 81 6F E5 BD E3 55 47 9F 45 01 B9 2C 9A BA CA 7D 7C 57 86 E6 74 CA 10 C1 49 3D 52
engima2加密1:
31 F5 F6 D6 9F AC 11 64 D3 DF F9 52 68 20 8B 59 39 33 34 74 C3 51 CF 5A 88 2C 2B EC 8F CD 02 8B
明文2:aaaaaaaaaaaaaaacaaaaaaaaaaaaaaaa (与明文1只差1bit)。
enigma1加密2:
E0 DC F9 7E 2C BC 9C 51 BB EC 4F EE 8A 99 1E DF D6 6F B1 35 91 4B 96 AC CA 65 07 A9 2B 68 EA 86
frenz_enigma加密2:
E0 15 90 23 40 81 6F E5 BD E3 55 47 9F 45 01 B9 F7 BE 08 B6 1F CB 82 44 5D 53 CF 85 4A 15 4D 6E
engima2加密2:
09 52 6F 51 ED 28 18 1A BA 95 8C 6F BD 25 35 C6 A2 E0 A5 39 9D 4D C6 03 6E 29 89 79 49 D4 EF 14
--
修改:ylh1969 FROM 221.221.50.*
FROM 221.221.50.*
看23楼,老ENIGMA(只有抗统计分析的能力)能跟这个比吗?
enigma2不只是改个名字,它的意思是2重加密:
第一次加密。
扰码,具备了抗差分分析的能力。
第二次加密。具备了抗暴力破解的能力。
总结:
传统ENIGMA,抗统计学分析。
ENIGMA1,在前基础上,抗已知明文分析。就是已知部分明文不可能猜出其余部分。当初德国就吃过这个亏,更换密钥打两遍,电文最后打一堆XXXXX,这就被图灵破解了。在ENIGMA1里没这个可能。
frenz:在上述基础上,抗选择明文分析。见10楼。
ENIGMA2:在上述基础上,抗差分分析,抗暴力破解。
【 在 poocp 的大作中提到: 】
: AI当然不只说了这一点,可是我懒得贴,就转了它最后一行结论。
: 我现在不研究加密算法,弄这玩意会猛掉头发。
:
--
修改:ylh1969 FROM 221.221.50.*
FROM 221.221.50.*
密码学课程的确枯燥乏味,但是enigma的故事精彩绝伦。
它是传统密码学的巅峰之作。
学信息论,对信息熵的这个熵字不理解。它本是热力学词,表示物质和能量都在,一点没少,但是变得不可用。用金融学比喻,能量失去了流动性。
密码学就是给信息加熵,信息还在,一点没少,就是变得不可识别了。想识别它,得付出代价。
这个算法,加的熵非常之大,高达2504bit(就是在2^2504种可能中,确定唯一的一个),现代算力,想去掉这个熵,远远不够,大概需要宇宙年龄的多少倍。
6楼和你给的AI结论,一个共同的问题,没有计算这个算法的熵,轻言现代算力能够破解。
【 在 poocp 的大作中提到: 】
: AI当然不只说了这一点,可是我懒得贴,就转了它最后一行结论。
: 我现在不研究加密算法,弄这玩意会猛掉头发。
:
--
修改:ylh1969 FROM 221.221.50.*
FROM 221.221.50.*