mim*_*ock 106 security encryption blowfish aes
我想加密二进制文件.我的目标是防止任何人读取没有密码的文件.
哪个是更好的解决方案,AES或Blowfish具有相同的密钥长度?我们可以假设攻击者拥有破解文件的大量资源(软件,知识,资金).
Jer*_*fin 187
可能是 AES.Blowfish是Twofish的直接前身.Twofish是布鲁斯施奈尔参加竞争,生产AES.它被判断为不如名为Rijndael的条目,后者成为AES.
有趣的是:在比赛的某一点上,所有参赛者都被要求就密码如何排名发表意见.每个团队都选择自己最好的参赛作品并不奇怪 - 但其他团队选择Rijndael作为第二好.
也就是说,Blowfish与AES的基本目标存在一些基本差异,可以(可以说)在绝对安全性方面支持Blowfish.特别是,Blowfish试图通过使初始密钥设置相当慢的操作来使蛮力(密钥耗尽)攻击变得困难.对于普通用户来说,这没什么影响(它仍然不到一毫秒),但如果你每秒尝试数百万个键来打破它,那么差异就相当大了.
最后,我并不认为这是一个主要优势.我通常会推荐AES.我的下一个选择可能是Serpent,MARS和Twofish.Blowfish会在那之后到达某个地方(尽管还有其他一些我可能会在Blowfish之前推荐).
caf*_*caf 22
不常见的事实是,块密码的块大小也是一个重要的安全考虑因素(尽管远不如密钥大小那么重要).
Blowfish(以及同一时代的大多数其他分组密码,如3DES和IDEA)具有64位块大小,这被认为不足以满足当前常见的大文件大小(文件越大,块大小越小) ,密文中重复块的概率越高 - 这种重复块在密码分析中非常有用).
另一方面,AES具有128位块大小.仅考虑这一点是使用AES而不是Blowfish的理由.
ner*_*rdo 16
就算法本身而言,我会使用AES,原因很简单,它已被NIST接受,并将进行同行评审和密码分析多年.但是我建议在实际应用中,除非你存储一些政府想保密的文件(在这种情况下,NSA可能会为你提供比AES和Blowfish更好的算法),使用这些算法中的任何一种都赢了不要太大差别.所有安全性都应该在密钥中,并且这两种算法都能抵抗暴力攻击.Blowfish在没有使用完整的16轮的实现上表现得很弱.虽然AES更新,但这个事实应该让你更倾向于BlowFish(如果你只考虑年龄).想想这样,BlowFish自90年代以来一直存在,没有人(我们知道)已经打破了它......
以下是我对你提出的建议......不是看这两种算法并试图在算法之间做出选择,为什么不看看你的密钥生成方案呢?想要解密您的文件的潜在攻击者不会坐在那里并提出可以使用的理论密钥集,然后进行可能需要数月的暴力攻击.相反,他将利用其他东西,例如攻击你的服务器硬件,反向工程你的程序集以查看密钥,试图找到一些包含密钥的配置文件,或者可能勒索你的朋友从你的计算机复制文件.那些将是你最脆弱的地方,而不是算法.
AES.
(我也假设你的意思是两个不那么年长和较弱的河豚)
两者(AES和twofish)都是很好的算法.然而,即使它们相同或两个稍微领先于技术优点,我仍然会选择AES.
为什么?宣传.AES是政府加密的标准,因此数百万其他实体也使用它.一个才华横溢的密码分析师只是在发现AES中存在缺陷的情况下获得了更多的"砰砰作响",然后它就更少知道和使用了twofish.
Obscurity不提供加密保护.更多的机构寻找,研究,探测,攻击算法总是更好.你想要最经过"审查"的算法,现在就是AES.如果一个算法没有受到强烈和持续的审查,你应该对它的强度放置一个较低的信心.当然twofish没有妥协.是因为密码的强弱还是仅仅因为没有足够的人仔细观察..... YET
| 归档时间: |
|
| 查看次数: |
105958 次 |
| 最近记录: |