写了个另类加密解密算法,征求各种暴力无节操测试中。
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 作者
10年5个月前 IP:未同步
712274
补充一个,这个程序需要richtextbox控件,有些朋友可能没有这个,我上传控件,放在和程序同一个目录下然后运行程序,或者让系统注册控件。

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

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


要不然我提供1000块赌注,月底截止征求非暴力破解的有效解法。真心的,因为打算参展创客嘉年华。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
kalimov作者
10年5个月前 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作者
10年5个月前 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作者
10年5个月前 IP:未同步
712390
novakon 发表于 2014-8-13 12:27
具体的讲,就是请把你的算法抽象成数学语言。比如你使用bmp文档来说明就非常费劲,请考虑表述为:

长x宽 ...


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


我看那本叫做《密码故事》,老美写的。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

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

所属专业
上级专业
同级专业
kalimov
进士 机友 笔友
文章
82
回复
887
学术分
0
2007/09/16注册,1年11个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
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)}}