免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 11795 | 回复: 22
打印 上一主题 下一主题

[算法] 异或被还原难度有多大? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-26 15:10 |只看该作者 |倒序浏览
10可用积分
我有一个字符串:"This is my 串" 长度不确定。
然后我用另一个串 "mnkey"  m,n ,k,e,y字符的asc和第一个串 逐个异或,就是m和"This is my 串"里每个字符asc异或一次,然后是n
最后得到的那个串,在没有 "mnkey"的情况下算出 "This is my 串" 有多大难度?
不知道各位大虾明白没有?

最佳答案

查看完整内容

RC4http://hi.baidu.com/lingzihao/blog/item/e09df6dd39b1ade877c63834.html

论坛徽章:
0
2 [报告]
发表于 2009-02-26 15:10 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2009-02-26 15:16 |只看该作者
你是想得到经过异或加密后的字符吧?
嘿嘿,其实,理论上只有拿那个“密钥”(mnkey)再异或一次才能解密,别无它法。。。。

论坛徽章:
0
4 [报告]
发表于 2009-02-26 15:23 |只看该作者
你这个好不好破解,在于充不充许其它人自定义内容来使用你的异或函数。
比如你是做网游,你是要异或加密数据包。
那好,玩家在游戏里面说句话,你把这句话异或加密了,然后玩家一拦数据包,再和自己说的内容一异或,你的KEY就出来了。
用啥异或加密,怕麻烦自己去网上找个其它加密方法也好些。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
5 [报告]
发表于 2009-02-26 15:26 |只看该作者
看你作为key的字符串与明文串相比有多长。如果key被重复使用多次,而人家知道你明文的大概内容(如某些固定的值,或者是英文文章等),可以通过一些概率上的方法推算。
要加密,一般用现成的加密算法,不要自己编造。

论坛徽章:
0
6 [报告]
发表于 2009-02-26 15:49 |只看该作者
说的很有道理,我要加密的是图片,flash类文件。给推荐个加密库,我对这些不了解。只是自己想着多次异或。

论坛徽章:
0
7 [报告]
发表于 2009-02-26 15:49 |只看该作者
原帖由 shitou254 于 2009-2-26 15:49 发表
说的很有道理,我要加密的是图片,flash类文件。给推荐个加密库,我对这些不了解。只是自己想着多次异或。

异或就行

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
8 [报告]
发表于 2009-02-26 16:01 |只看该作者
即便是按1940年代的密码学水平来说,破解起来也没什么难度。

拿难度最大的、仅知道密文其他一无所知的情况来举例。

首先,收集大量密文,观察有无规律——比如如果信件抬头总是两个空格的话,那么密文前两个字符就必然是固定的;于是就可以知道你用的是简单的循环替换算法。

即使没有这种低级错误,按简单循环替换算法尝试破解也是必然手续,只是可能需要多花一点时间而已。

然后,如果你用的是简单的循环替换算法,那么这个循环节(也就是密码)的长度是多少?
这可以通过相同字符组合的出现规律大致揣摩出来。

比如,英文中ing出现的频率较高,假设它某次被加密为xyx,那么通过查找所有的xyx,它们之间的距离就暴露了密钥串的长度(xyx间的距离一定会是这个长度的整倍数)。


得到可能密钥串的长度n后,将密文的第i+n*x (i,x,n都是正整数n> i > 0, x = 0, 1, 2)个字符取出,得到m1,m2.。。。mi等n个子集;然后统计每个子集中各个字符的出现频率,因为英文中各个字母的出现频率并不相等,那么就可以根据这个统计知识很快猜出原文内容。

于是,这个加密就在除了密文外不知道任何信息的情况下被轻松破解了。
如果稍微多知道一点点东西,那么也许就可以立刻写出密码。

[ 本帖最后由 shan_ghost 于 2009-2-26 16:06 编辑 ]

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
9 [报告]
发表于 2009-02-26 16:02 |只看该作者
如果是图片和flash文件,恭喜你,破解者可以直接把密码写出来。

因为这种文件的头部有固定格式……

论坛徽章:
0
10 [报告]
发表于 2009-02-26 16:08 |只看该作者
可以抽取文件的某个或某几个部分异或嘛,几个图片文件搞那么复杂作甚?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP