首页
社区
课程
招聘
[旧帖] [原创]~~~~一个有意思的加密问题——高手进来讨论一下~~~~ 0.00雪花
发表于: 2011-9-3 19:41 1412

[旧帖] [原创]~~~~一个有意思的加密问题——高手进来讨论一下~~~~ 0.00雪花

2011-9-3 19:41
1412
HI,大家好! 最近在研究一个问题,很是头疼,与大家一起分享一下。研究了一阵,得出了一些成果,但是还不能严格的证明,不知道各位达人有什么更好的证明方法。

问题:如果把一个文件的每一个字节(8位)分拆成各含有4个字节的两个部分(分拆后的文件每个字节中各有4位原文信息),然后把这4个字节分开存储,就象把一页纸撕成两半。在只得到其中一半时,是否可以破译出原文件内容?如把11010110分拆成1101和0110,然后分别存储,在只得到一半时,是否可以破译?

我的观点:不能破译出原文。
有人的观点:可以用频率分析法破译

论证一:以英文字母为例,每个字母对应一个字节,一个字节有8位比特。对于一篇足够长的文字, 如果只知道每一个字节中的1位比特,是否可以用频率分析法破解出其中的内容? 如果只知道每一个字节中的2位比特,是否可以用频率分析法破解出其中的内容? 以此类推, 当知道每一个字节中的8位比特,这篇文章也就一目了然了。 当只知道每一个字节中的1位比特时,可以肯定无法破译。那么破解这种字节拆分成比特的“加密”方式,至少需要知道一个字节中的几位比特呢?我认为知道6位以下都无法破解。

论证二:频率分析法破解古典加密方法,有一个前提条件,就是密文中的每一个最小信息单位(例如一个字母、一个汉字)都只对应且唯一对应一个明文的最小信息单位。如果这种对应关系被破坏掉了,就没有办法用频率分析法了,因为频率特征已经被破坏了。

论证三:按照信息论的理论,字节或者文章拆分后,只包含原来完整部分的一部分信息,如果缺失部分与公开部分之间没有关联,那么不可能从公开部分中推演出缺失部分的信息。

论证四:以一组汉字编码为例,当只知道两个字节编码中的一个字节时,不能破译出其中的内容。
例如:明文是“北京”,其对应的编码是 B1B1  BEA9
当密文只有两个字节中的一个字节时,如只有前一个字节,B1**  BE**,可以对应多种可能的破译结果:
北京  变局  编剧  冰酒  表决   保举   报警   背景  背静 毕竟  必经  必究  必纠  暴君   冰晶   冰景   表舅  边境 辩经      
哪一个才是密文对应的明文?
因为每一个密文的最小单位对应着多个明文的字,所以不能通过频率分析法破解字节分拆加密。
附汉字编码 北  B1B1
code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
B1A0 薄 雹 保 堡 饱 宝 抱 报 暴 豹 鲍 爆 杯 碑 悲
B1B0 卑 北 辈 背 贝 钡 倍 狈 备 惫 焙 被 奔 苯 本 笨
B1C0  崩 绷 甭 泵 蹦 迸 逼 鼻 比 鄙 笔 彼 碧 蓖 蔽 毕
B1D0  毙 毖 币 庇 痹 闭 敝 弊 必 辟 壁 臂 避 陛 鞭 边
B1E0  编 贬 扁 便 变 卞 辨 辩 辫 遍 标 彪 膘 表 鳖 憋
B1F0  别 瘪 彬 斌 濒 滨 宾 摈 兵 冰 柄 丙 秉 饼 炳   
京   BEA9
code   +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
BEA0     尽 劲 荆 兢 茎 睛 晶 鲸 京 惊 精 粳 经 井 警
BEB0  景 颈 静 境 敬 镜 径 痉 靖 竟 竞 净 炯 窘 揪 究
BEC0  纠 玖 韭 久 灸 九 酒 厩 救 旧 臼 舅 咎 就 疚 鞠
BED0  拘 狙 疽 居 驹 菊 局 咀 矩 举 沮 聚 拒 据 巨 具
BEE0  距 踞 锯 俱 句 惧 炬 剧 捐 鹃 娟 倦 眷 卷 绢 撅
BEF0  攫 抉 掘 倔 爵 觉 决 诀 绝 均 菌 钧 军 君 峻

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 108
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
只得到一半这个怎么也没有办法吧
2011-9-3 22:03
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
论证三似乎有问题,并不是完全没有关联。
2011-9-4 02:17
0
雪    币: 292
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个,倒是可以跟其它加密方式配合使用……
2011-9-4 05:55
0
游客
登录 | 注册 方可回帖
返回
//