当前位置:  开发笔记 > 编程语言 > 正文

对称加密算法之间的差异

如何解决《对称加密算法之间的差异》经验,为你挑选了2个好方法。

C#看起来有4种不同的对称加密算法:RijndaelManaged,DESCryptoServiceProvider,RC2CryptoServiceProvider和TripleDESCryptoServiceProvider.

我正在寻找他们之间的更多信息.主要是它们之间的差异.MSDN没有太多帮助,或者我只是累了.;)我确信每个人之间都有利弊,就像有多种做事方式的事情一样.

谢谢你的任何启示.
托尼



1> Hamish Smith..:

这个排名(2015年)最强的算法出现在最上面:

Rijndael(通常称为AES)

三重DES

DES

RC2

使用AES.

更多细节:

DES是七十年代以来的旧"数据加密标准".它的密钥大小太短而不能保证适当的安全性(56个有效位;这可能是暴力强制的,正如十多年前所证明的那样).此外,DES使用64位块,当使用相同的密钥加密几千兆字节的数据时,这会产生一些潜在的问题(现在千兆字节不是那么大).

3DES是通过级联三个DES实例(具有不同的键)来重用DES实现的技巧.3DES被认为是安全的至少" 2 112 "安全性(这是相当多的,并且在"不能用今天的技术破坏"的范围内相当远).但它很慢,特别是在软件中(DES专为高效的硬件实现而设计,但它在软件方面很糟糕; 3DES吸收的数量是其三倍).

AES是DES的继承者,是美国联邦组织的标准对称加密算法(并且几乎所有人都是标准的).AES接受128,192或256位的密钥(128位已经非常牢不可破),使用128位块(因此没有问题),并且在软件和硬件方面都很有效.它是在几年内通过涉及数百名密码学家的公开竞争选出的.基本上,你不能比那更好.

因此,如有疑问,请使用AES.

请注意,分组密码是一个加密"块"(使用AES的128位数据块)的框.当加密可能长于128位的"消息"时,必须将消息拆分成块,并且实际进行拆分的方式称为操作模式或"链接".天真模式(简单拆分)称为ECB并存在问题.正确使用分组密码并不容易,而且比在AES或3DES之间进行选择更为重要.

http://en.wikipedia.org/wiki/EFF_DES_cracker

http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation



2> Will..:

简答:使用Rijndael.

各种选择是什么:

RC2是一种在80年代后期建造的用于出口的弱破碎密码,因为当时美国公司被限制出口"强"加密.它的密钥长度为40位,这使得暴力强加于今天的硬件上(毕竟,20年之后).

它的名字代表Rivest Cipher No. 2,它的创始人Ron Rivest(世界着名的crpytographer,RSA中的'R').

DES是数据加密标准,被称为强crpytography.但是,密钥长度为56位,现在处于强力解密范围内.

3DES正在运行DES三次.实际上,只运行DES两次并不会让它变得更强,但第三次.它实际上是116位加密(使用196位密钥).

3DES是今天标准的非常好的强大加密.

因此,RC2,DES和3DES位于密码套件中,以提供与使用这些密码的业务系统的兼容性.

然而,Rijndael是现代密码的首选.它是DES的官方替代品,称为高级加密标准(AES).

它有一个范围keysizes的,但它是重要的,以使用128位.出于兼容性原因,仅使用其他密钥长度(包括最长的256位).


"重要"链接涉及对较长256位的攻击.
推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有