密码学高手请进,请教有关于加密算法的问题

hktl 2011-09-04 02:50:01
1:已知明文和密文的情况下,什么算法最难算出密钥,假定密钥是8-16位.

2:根据上面的要求,请高手推荐1,2个加密算法,速度尽量快速.

...全文
80 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
用户 昵称 2011-12-06
  • 打赏
  • 举报
回复
24字节的3des就足够了。
jixingzhong 2011-09-04
  • 打赏
  • 举报
回复
RSA的速度相对会慢一些,不过其安全性和便捷性更佳。
jixingzhong 2011-09-04
  • 打赏
  • 举报
回复
不了解需要快到什么程度,
用的比较多的,DES或者3DES,或者SHA。
ColdMooon 2011-09-04
  • 打赏
  • 举报
回复
破解难度主要是跟密码复杂度有关,其次才是加密算法.

密码够复杂的情况下,需求1跟2是矛盾的.

如果没特殊的要求,现有的通用加密算法都可以满足要求,随便选一个来用.

比如DES,RSA,安全性足够,又有现成的库可用.
jackyjkchen 2011-09-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hktl 的回复:]

jackyjkchen
你好,我需要对文件加密,加密后文件不要改变大小,
文件本身有特定的格式,所以有可能知道一部分明文和密文,
所以我不希望由此推算出密钥得出所有的明文,
[/Quote]
特定文件格式的保护不是算法的工作,而是加密模式的事情

你用AES算法,然后用CTR、CBC等模式就可以,只要不是ECB,都不会出现同样的明文加密出同样的密文的情况(ECB会导致格式泄露)

至于大小不变,CFB、OFB、CTR这样的流加密模式都可以做到,CBC和ECB会填充

所以推荐AES算法+CTR模式

算法库推荐TomCrypt、Crypto++或OpenSSL,都支持多种算法和模式,这已经是最细致的解答了,楼主可以结贴了。
hktl 2011-09-04
  • 打赏
  • 举报
回复
jackyjkchen
你好,我需要对文件加密,加密后文件不要改变大小,
文件本身有特定的格式,所以有可能知道一部分明文和密文,
所以我不希望由此推算出密钥得出所有的明文,
jackyjkchen 2011-09-04
  • 打赏
  • 举报
回复
AES在Core以上的CPU,单线程速度能超过300MB/s,远远大于磁盘IO速度

安全性上也没有问题

知道任意明密文,叫做选择明文攻击,AES现在是能抵抗的
jackyjkchen 2011-09-04
  • 打赏
  • 举报
回复
我是搞安全的,我来说吧

如果不是国家项目特殊的要求(可能不给用国外算法,不给用软算法),就用美国标准AES或者AES海选最后一轮落选的RC6,这2个算法安全性都符合要求,速度几乎是对称加密算法中最快的

上面大牛说的RSA是公钥算法,我觉得你是想要对称算法,公钥算法慢,一般只用来加密密钥、交换密钥、签名
hktl 2011-09-04
  • 打赏
  • 举报
回复
1:已知明文和密文的情况下,什么算法最难算出密钥,假定密钥是8-16位

我问这个问题是因为有些算法在知道明文和密文的情况下是很容易计算出密钥的,比如简单的异或,
有些算法在知道了多少对明文和密文后,就可以算出密钥的,
我不知道有没有不管知道多少对明文密文也算不出密钥的算法,

2:根据上面的要求,请高手推荐1,2个加密算法,速度尽量快速.

要求1和2看起来有点矛盾,其实意思是当强度达到一定的要求后,以速度优先,比如当知道100万对明文密文以后才可以算出密钥的情况,优先选择速度快的算法.

64,675

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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