知道明文和密文 能推算出密匙吗? ( 积分: 200 )

  • 主题发起人 主题发起人 sing_cee
  • 开始时间 开始时间
S

sing_cee

Unregistered / Unconfirmed
GUEST, unregistred user!
一个程序对汉字字符窜进行了加密 现在知道明文和密文 能否推算出加密方法和密匙

密文 明文
澶╂按甯? 天水市
澶╂触甯? 天津市
涓存本甯? 临汾市
涓存渤甯? 临河市
涓存矀甯? 临沂市
鍖椾含甯? 北京市
鍖呭ご甯? 包头市 (特别)
鍖楁捣甯? 北海市
涓婃捣甯? 上海市
涓婇ザ甯? 上饶市
鍗楀畞甯? 南宁市
閲嶅簡甯? 重庆市

鍛煎拰娴╃壒甯? 呼和浩特市
涔岄瞾鏈ㄩ綈甯? 乌鲁木齐市
 
一般不能,只看出来他是把两个字节怎么搞怎么搞变成三个字节。。。
 
是这样的 不过我觉得应该有办法推算出 :)
 
1100000111011001 --> 111001001011100010110100

1011011111011010 --> 111001101011000110111110

1100101011010000 --> 111001011011100000111111

1100000111011001 --> 111001001011100010110100
1101001011001010 --> 111001101011001010000010


加密后 前6位是固定的 111001
 
这是电影里面的黑客才能完成的任务。
 
把字全部变成二进制看的清楚[:)]
 
分析一下加密的程序就知道了。
 
你把这14个城市的加密后的二进制发出来看看
好象不是复杂的加密
 
根据密文来看,是2字节变3字节,而且顺序从左依序至右,再看包头市与北京市,好象又是按拼音进行的加密(不像取的字符ASCII),你可以构造个拼音B开头的比如“边锋市”等看看,不过最终还是要看二进制编码
 
如果加密方法简单,可以推算,否则几乎是不可能的。
 
re: Buddy.Sun 谢谢!
我查了一下 好象跟拼音(应该是取第一字母)有点关系
鐧介摱甯? 白银市 (鐧 鍖)内码好象比较接近 呵呵 有点意思哦
不过如果只是取第一个字母的话应该是相同才对啊 所以还是排除拼音的可能

这应该是一个很简单的字符加密
兄弟们多出点主义哦
 
E5 A4 A9 E6 B0 B4 E5 B8 3F <---- CC EC CB AE CA D0
E5 A4 A9 E6 B4 A5 E5 B8 3F <---- CC EC BD F2 CA D0
E4 B8 B4 E6 B1 BE E5 B8 3F <---- C1 D9 B7 DA CA D0
E4 B8 B4 E6 B2 B3 E5 B8 3F <---- C1 D9 BA D3 CA D0
E4 B8 B4 E6 B2 82 E5 B8 3F <---- C1 D9 D2 CA CA D0
E5 8C 97 E4 BA AC E5 B8 3F <---- B1 B1 BE A9 CA D0
E5 8C 85 E5 A4 B4 E5 B8 3F <---- B0 FC CD B7 CA D0
E5 8C 97 E6 B5 B7 E5 B8 3F <---- B1 B1 BA A3 CA D0
E4 B8 8A E6 B5 B7 E5 B8 3F <---- C9 CF BA A3 CA D0
E4 B8 8A E9 A5 B6 E5 B8 3F <---- C9 CF C8 C4 CA D0
E5 8D 97 E5 AE 81 E5 B8 3F <---- C4 CF C4 FE CA D0
E9 87 8D E5 BA 86 E5 B8 3F <---- D6 D8 C7 EC CA D0
E5 91 BC E5 92 8C E6 B5 A9 E7 89 B9 E5 B8 3F <- BA F4 BA CD BA C6 CC D8 CA D0
E4 B9 8C E9 B2 81 E6 9C A8 E9 BD 90 E5 B8 3F <- CE DA C2 B3 C4 BE C6 EB CA D0
按双字节进行加密 将16位扩展为24位 高位基本是E5 /E4/ E9 2个字节扩展为3个字节
 
看电影看多了会降低IQ, 尤其是商业黑X技术电影
前面是你将UTF8的流当作MBCS体系的ANSI解析的结果.
没有算法, 是映射表的.
和拼音有关系是因为unicode中, 字表是按照常用字用发音, 然后偏旁, 罕见字笔画编排的.
而utf-8是unicode编码的一种文件表述方式, 可以跟utf-16的BMP之间互相转换.
二进制位固定的是utf-8表示非ASCII的prefix
你贴出的raw密文部分,后面被吃掉了一个字符, 而你贴的Hex, 后面也被替换为了3F.
吃掉字符的原因是3*3 mod 2 = 1, 这个后面的82(,00)无法组成合法单字/双字被吃为问号.

win下面, 用MultiByteToWideChar可以完成你的需求, 65000代码页, 一次求长度, 分配缓冲, 一次完成转换, 然后hex方式输出结果或者直接输出文件.
 
re:曾半仙,
3Q 大富翁里果然有高人啊 以前没接触过编码方面的信息 今天算是补了一课
这里确实是UTF-8编码
U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
 
hoho 现在已经可以真确识别了 发分了!!!!
 
hoho 现在已经可以真确识别了 发分了!!!!
 
后退
顶部