- 主题:我给 rc4 增加了一点变化, 不知道对加密强度是增强了还是变弱
两遍之间,可以把密文乱序一下。
第一个密钥加密---乱序-----第二个密钥加密。
乱序可以依据密钥,窥测者没有密钥的话,他也不知道如何整序。
【 在 milksea 的大作中提到: 】
: 一个基本原则是不懂密码学就别改密码算法,而从你的叙述看你确实是几乎完全不懂的,所以简单的回答就是别改。更进一步其实连实现都不应该自己来,应该选择专业的实现。
: 明文参与运算不是新鲜想法,确实会让分析复杂,对于这个具体问题可能不太好分析,不过我推测至少对理论安全性影响不大,比如在考虑全零已知明文的密码分析时。
: RC4已经被证实不够安全了,这种修改意义不太大。最简单的增加RC4安全性的办法是增加迭代次数,就是设置密钥后空转几千拍再开始用,或者干脆用不同的密钥加密两遍。这种增强安全的策略是通用的,通常也普遍有效。
--
修改:ylh0315 FROM 221.221.48.*
FROM 221.221.48.*
看你这程序,只有替换(异或一次就是替换),没有交换,就是没有改变位置。所以还是容易破解。
【 在 zylthinking2 的大作中提到: 】
: rc4 之前是密钥各字节不停变换位置, 位置取决于密钥本身,和待加密文本无关, 若密钥相同, 加密相同长度的文本, 比如都是1k字节的不同文本, 最终得到的密文不同, 但最后密钥的最终状态是相同的; 理论上根据密钥每次位置变化情况, 有可能反推出密钥本身。
: 我是将密钥和加密后的密文联系起来, 也就是 CBC 模式, 如此, 运行过程中不但密钥位置变化, 密钥本身的字节值也发生了变化, 下一个字节加密值又被密钥本身的值的变化影响, 如此滚雪球下去
: 感觉是加密强度增加了, 但没有能力做数学上的证明。。。。
: ...................
--
FROM 221.221.48.*
你可以测一下,先用AAAAA做一个密文,再用ACAAA,比较两个密文的差别。明文相差1bit,密文相差几bit。差的越多越难破解。
如果差别限在一个字节内,应该不难破解。
第一个程序那一句颜色太浅了没看见。
明文卷入密钥是有一些作用的。
【 在 zylthinking2 的大作中提到: 】
: rc4 之前是密钥各字节不停变换位置, 位置取决于密钥本身,和待加密文本无关, 若密钥相同, 加密相同长度的文本, 比如都是1k字节的不同文本, 最终得到的密文不同, 但最后密钥的最终状态是相同的; 理论上根据密钥每次位置变化情况, 有可能反推出密钥本身。
: 我是将密钥和加密后的密文联系起来, 也就是 CBC 模式, 如此, 运行过程中不但密钥位置变化, 密钥本身的字节值也发生了变化, 下一个字节加密值又被密钥本身的值的变化影响, 如此滚雪球下去
: 感觉是加密强度增加了, 但没有能力做数学上的证明。。。。
: ...................
--
修改:ylh0315 FROM 221.221.48.*
FROM 221.221.48.*