现有足够多的明文和秘文,用什么方法找出其加密算法呢?

umeshu 2008-05-19 01:32:52
针对口令加密,我可以产生足够多的明文和密文对,如何找出其加密算法?
用什么比较科学的方法来找其加密算法呢?
一点头绪都没有,请有这方面的大侠指教!!!

我的目的是,找到该算法后,自己编写程序进行这部分口令加密的工作。也就是说,想让我的程序
和原来的程序一样,对于同一个口令,得到相同的密文。

谢谢了先!
any help or suggestion would be greatly appreciated! :)
...全文
673 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
蘑菇摸骨 2008-05-22
  • 打赏
  • 举报
回复
嗯 我学密码学的
五月底考试
嗯 我想LZ应该看看都有什么类型的密码 按照密码类型进行统计分析 大略估计出加密算法
LZ的意思是说要破译密码 还是要给程序加密? 我怎么没有理解?嗯%……如果是破译的话 现在是选择明文的攻击 相当大的强度了 应该不是很难
LZ要是有兴趣的话可以加我的QQ 41207967我们一起探讨一下!记得注明CSDN 密码问题
不然我可能会不加~
关注中#¥%……&
rover___ 2008-05-22
  • 打赏
  • 举报
回复
如果密码分析那么简单,现在就不会存在那么多的CRACKER。因为搞破解的少有正面分析加密算法的。
rover___ 2008-05-22
  • 打赏
  • 举报
回复
这个难度不是一般的大。全世界的CRACKER们整天就干这个的。
geochway 2008-05-20
  • 打赏
  • 举报
回复
如果是很复杂的算法,确实很难分析.
是否很杂,可以根据明文-密文来做一个基本的判断.
可以先输入数据位全为0的一组数据,输出密文.
然后依次将其中的某一位改为1,再输出密文,对照密文的变化情况.
同样可以先输入位数据全为1的一组数据,输出密文.
然后依次将其中的某一位改为0,再输出密文,对照密文的变化情况.

如果加密算法相对简单的话,或许可以被分析出来算法,
但是问题是分析出来算法有时是没有用的,算法到密码还有很长的距离.


umeshu 2008-05-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Pike_Feng 的回复:]
如果单纯的一种算法还有希望,要是多种组合就难办了。
[/Quote]

是不是仅仅从明文、密文上看不出来一定是或不是单纯一种加密算法?
Erorr 2008-05-19
  • 打赏
  • 举报
回复
最简单的加密就是字符移位替换,这种算法不需要知道明文就可以破译,因为有语法规则,穷举一下移位的大小,看移位回来的单词有没有意义就破解了
现在的算法已经不同了,把加密方法和公钥都告诉你,理论上都不可能破解
同样连加密方法都不知道就更不太可能了
不过这只是理论上的,实际也许可以破解的,不过知道答案的人怎么可能告诉你?

Pike_Feng 2008-05-19
  • 打赏
  • 举报
回复
如果单纯的一种算法还有希望,要是多种组合就难办了。
umeshu 2008-05-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 umeshu 的回复:]
引用 1 楼 songpengasp 的回复:
你是在问找加密算法的算法吗 ?


的确也可以这么考虑问题。不过我想,从另外一个角度奖,就是有足够的采样,知道足够多的明文和密文对,
寻找其匹配的算法。

明文1 --> 密文1
明文2 --> 密文2
明文3 --> 密文3
。。。
明文n --> 密文n

上面是已知。

求: 明文到密文的映射算法。 这样讲也许能够逃离“寻找算法的算法”这个递归问题。
[/Quote]

我回头一看,好像还是没有逃掉。 囧。。。
umeshu 2008-05-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ckc 的回复:]
很困难,如果是个黑盒子,你完全不知道怎么实现的,还是别努力了,试着想想别的办法吧
另外,就算你知道是什么加密方法,按照现代密码学的理论,好的加密算法就是让你知道N多明文、密文对也无法推算出密码。
[/Quote]

谢谢指教了,密码学的理论我没有研究过。既然这么讲了,估计我成功的几率应该很小了。
但我还是会尽量利用业余时间研究研究密码学,和我手头的这个具体问题的。
umeshu 2008-05-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 songpengasp 的回复:]
你是在问找加密算法的算法吗 ?
[/Quote]

的确也可以这么考虑问题。不过我想,从另外一个角度奖,就是有足够的采样,知道足够多的明文和密文对,
寻找其匹配的算法。

明文1 --> 密文1
明文2 --> 密文2
明文3 --> 密文3
。。。
明文n --> 密文n

上面是已知。

求: 明文到密文的映射算法。 这样讲也许能够逃离“寻找算法的算法”这个递归问题。
ckc 2008-05-19
  • 打赏
  • 举报
回复
很困难,如果是个黑盒子,你完全不知道怎么实现的,还是别努力了,试着想想别的办法吧
另外,就算你知道是什么加密方法,按照现代密码学的理论,好的加密算法就是让你知道N多明文、密文对也无法推算出密码。
simon031187 2008-05-19
  • 打赏
  • 举报
回复
与其去摸加密规律,反编译还来得快点
如果像LZ说的只是为了加密的话,直接用自己的程序做前台,后台想办法调用原程序就行了
mz_zhang 2008-05-19
  • 打赏
  • 举报
回复
密码分析是一个很复杂的事情
有这方面专业的书籍的 自己可以去找找
i_love_pc 2008-05-19
  • 打赏
  • 举报
回复
有难度,帮顶!
oo 2008-05-19
  • 打赏
  • 举报
回复
不懂,友情up
No_Data_Found 2008-05-19
  • 打赏
  • 举报
回复
你是在问找加密算法的算法吗 ?
cppscript 2008-05-19
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 AFIC 的回复:]
先看是否明文与密文由长度关系,如果不管明文如何,密码都一样长,很可能运算中采用了摘要,摘要最常用的md5和sha1,你可以从这方面考虑,再有就是连续的变动,使用1,2,3,4,5,11,12,21这样ascii码连续的明文测试,看看是否在位置上有些规律,具体问题不同方法也不同,关键是你观察的是否仔细。
[/Quote]
很好
cppscript 2008-05-19
  • 打赏
  • 举报
回复
推荐公钥加密
不对称加密
AFIC 2008-05-19
  • 打赏
  • 举报
回复
先看是否明文与密文由长度关系,如果不管明文如何,密码都一样长,很可能运算中采用了摘要,摘要最常用的md5和sha1,你可以从这方面考虑,再有就是连续的变动,使用1,2,3,4,5,11,12,21这样ascii码连续的明文测试,看看是否在位置上有些规律,具体问题不同方法也不同,关键是你观察的是否仔细。
beijing990101 2008-05-19
  • 打赏
  • 举报
回复
除非是很简单的加密算法,否则即使你知道用的什么加密算法,用明文倒推的话,计算量一般都会超过当前计算机的可能水平,也就是不可算的

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧