写了个另类加密解密算法,征求各种暴力无节操测试中。
kalimov2014/08/13软件综合 IP:浙江
这事源于一年多前在一个咖啡馆里冒出的念头,当时就想弄一个即使公开算法,别人也为此开发出自动暴力破解程序,但连电脑都会觉得恶心的东东。
程序很快写好了,也曾提交过科创论坛测试,然后好像没有然后了,似乎太用脑的东西不太吸引人。
一年以来,工作等原因,倒是一直没有改进程序。现在趁着假期,到了北京创客空间改进了一下,增加了密钥可能数,放上来大家参考研究研究。测试题目中的信息是中文,请用Unicode模式破解,要不然完全乱码。
算法是对称加密,只针对纯文字信息。题目、程序、算法说明书在附件里面有。在31号前如果提供除暴力破解外的有效反算法,KCB伺候。
好了,我要赶火车回去上班了。
logo.bmp


attachment icon 给大家测试和玩的程序.zip 3.12MB ZIP 61次下载
+10  科创币    20!Dopaminor    2014/08/14 感谢分享
来自:计算机科学 / 软件综合
16
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
kalimov 作者
9年9个月前 IP:未同步
712274
补充一个,这个程序需要richtextbox控件,有些朋友可能没有这个,我上传控件,放在和程序同一个目录下然后运行程序,或者让系统注册控件。

attachment icon Richtx32.attach 207.27KB ATTACH 29次下载

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
达闻西
9年9个月前 IP:未同步
712279
不是不吸引人,是楼主太厉害,曲高和寡。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
kalimov作者
9年9个月前 IP:未同步
712288
达闻西 发表于 2014-8-13 09:03
不是不吸引人,是楼主太厉害,曲高和寡。


要不然我提供1000块赌注,月底截止征求非暴力破解的有效解法。真心的,因为打算参展创客嘉年华。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
1007643735
9年9个月前 IP:未同步
712328
看到复杂的东西脑壳就大!!
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon
9年9个月前 IP:未同步
712334
从楼主的这个算法的复杂度来看,逆向工程是挺麻烦的。

给点基本建议:用C语言编写DLL来处理加密部分,vb调用该DLL即可。这样可以极大加快速度。

另外既然给大家的材料是希望大家破解,把算法描述得更清楚一些为好,至少写成论文的感觉。你提供的doc,看得我眼睛都痛了,遣词造句水平还可以,文章结构组织是一塌糊涂啊。。。

我就举一个bug好了
你用的是VB的随机函数,即便randomize(),仍然是可预测的。
+1
科创币
20!Dopaminor
2014-08-14
伪随机
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon
9年9个月前 IP:未同步
712337
本帖最后由 novakon 于 2014-8-13 12:29 编辑

具体的讲,就是请把你的算法抽象成数学语言。比如你使用bmp文档来说明就非常费劲,请考虑表述为:

长x宽且每个像素为n位整数的数组,并对这个数组作如何如何变换,交换第多少位和多少位的数据……

当然不是让你抠字眼,而是你那个doc的难懂程度,我想大家看完都不好意思回帖了

更进一步的说,你并没有讨论这个算法的保密程度与伪随机数的随机程度之间的关系。你的伪随机发生器如果熵不足,可能导致什么情况?
认真对待为好。

至于你说的提供算法给大家研究破解,抱歉,你的源码我真的没找到。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
jiang248660720
9年9个月前 IP:未同步
712371
novakon 发表于 2014-8-13 12:27
具体的讲,就是请把你的算法抽象成数学语言。比如你使用bmp文档来说明就非常费劲,请考虑表述为:

长x宽 ...


人家不是开源的,,需要连EXE一起破解,是这样吧
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
kalimov作者
9年9个月前 IP:未同步
712380
novakon 发表于 2014-8-13 12:27
具体的讲,就是请把你的算法抽象成数学语言。比如你使用bmp文档来说明就非常费劲,请考虑表述为:

长x宽 ...


sorry, 忘了上传了。我在火车上,明天中午到家后上传完整的。
我先解答那个随机数列问题,虽然看似十分类似真随机数列。
默写出来发生器的源码吧。
Sub NoiseGenerator()
'先在一个集合内填充伪随机色彩
    For j = 0 To Pl1.Height - 1
        For i = 0 To Pl1.Width - 1
            Randomize
            XXXXXXet (i, j), Int (Rnd * 2 ^ 24)
        Next i
    Next j
'然后在另一个集合内也填充伪随机色彩
    For j = 0 To Pl2.Height - 1
        For i = 0 To Pl2.Width - 1
            Randomize
            XXXXXXet (i, j), Int (Rnd * 2 ^ 24)
        Next i
    Next j
'接着互相取对方伪随机坐标的色彩信息重新填充,当时碰到明显可见色斑问题,看到旁边一妹子手机打麻将突然想到的应对法。
    For j = 0 To Pl1.Height - 1
        For i = 0 To Pl1.Width - 1
            Randomize
            XXXXXXet (i, j), Pl2.Point ((Int (Rnd * Pl2.Width)), ((Int (Rnd * Pl2.Height)))
        Next i
    Next j
    For j = 0 To Pl2.Height - 1
        For i = 0 To Pl2.Width - 1
            XXXXXXet (i, j), Pl1.Point ((Int (Rnd * Pl1.Width)), ((Int (Rnd * Pl1.Height)))
        Next i
    Next j
End Sub

火车上就不开电脑了,可能默写中一两个字母会有错,请多多包涵。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
kalimov作者
9年9个月前 IP:未同步
712386
novakon 发表于 2014-8-13 12:27
具体的讲,就是请把你的算法抽象成数学语言。比如你使用bmp文档来说明就非常费劲,请考虑表述为:

长x宽 ...


这里粗略用数学语言表达一下吧。毕竟那个说明书是科普用的,而不是对普通用户乱丢专业术语的。
原理:在若干长宽大小的矩阵中,按先后顺序放置明文信息,但每个信息元素之间距离随机,要靠每个元素中(R,G,B)中表示下一位置的信标量来导航。其他不装载信息元素的位置用随机量填满。完成密文第一层。(CT1)
接着将CT1丢入密文第二层(CT2)特定坐标位置,该位置在密钥中有记载,反编译程序中CCCC和DDDD的量。尺寸方面,CT2的长宽都不小于CT1,填充时如有位置超过CT2坐标按取模处理,及从CT2某行某列循环开始。其他空白位置用随机色彩填充。
如需更加保密,则有CT3,CT4……CTn步骤,和上面类似,在此不表。
原理结束。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
kalimov作者
9年9个月前 IP:未同步
712390
novakon 发表于 2014-8-13 12:27
具体的讲,就是请把你的算法抽象成数学语言。比如你使用bmp文档来说明就非常费劲,请考虑表述为:

长x宽 ...


风险方面:
单纯用randomize函数会出现肉眼可见明显颜色变化规律,不利于我将第一层密文隐藏起来,被对方直接抠图后就少了不少穷举需要尝试的密钥。
如果对方成功抠图获得CT1(第一层密文),就可以利用尝试各种可能的信标获取明文。之所以需要CT2就是让对方哪怕运气好获得几个片段信息,也会被随后的CT2杂讯误导进入错误信息坐标,从而自动解密机有进入死循环的可能。
所有明文信息进入CT1前已经凯撒转换了一遍,包括信标也是。这提供了2^24个可能密钥。我觉得这仍然不保险,于是用类似恩尼格玛交换转子的原理,把RGB顺序也打乱了,这样就多了5倍的密钥可能。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
20!Dopaminor
9年9个月前 IP:未同步
712800
我记得有本书叫密码学
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
kalimov作者
9年9个月前 IP:未同步
712807
20!不曾存在 发表于 2014-8-14 22:51
我记得有本书叫密码学


我看那本叫做《密码故事》,老美写的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
周小星
9年8个月前 IP:未同步
719430
下载了试下[s:12][s:12][s:12][s:12][s:12][s:12][s:12][s:12]
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
fwluck
9年5个月前 IP:天津
737371
大概十年前也写了一个加密MAC码的东东。几十个机器周期就可算好。由于是8位几兆的频率。没用随机,是用固定的。

就在前几年也用了一个全随机的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
YingSuiStudio
9年4个月前 IP:甘肃
742941
牛人,表示佩服。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
kalimov
进士 机友 笔友
文章
82
回复
887
学术分
0
2007/09/16注册,1年4个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}