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 攫 抉 掘 倔 爵 觉 决 诀 绝 均 菌 钧 军 君 峻
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!