DES是Data Encryption Standard(数据加密标准)的缩写,DES算法为密码体制中的对称密码体制。它是由IBM公司研制的一种加密算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密标准,二十年来,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色。
DES是一个分组加密算法,他以64位为分组对数据加密。同时DES也是一个对称算法:加密和解密用的是同一个算法。它的密匙长度是56位(因为每个第8位都用作奇偶校验),密匙可以是任意的56位的数,而且可以任意时候改变。其中有极少量的数被认为是弱密匙,但是很容易避开他们。所以保密性依赖于密钥。
特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。
DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间。
DES现在已经不视为一种安全的加密算法,因为它使用的56位秘钥过短,以现代计算能力,24小时内即可能被破解。也有一些分析报告提出了该算法的理论上的弱点,虽然实际情况未必出现。该标准在最近已经被高级加密标准(AES)所取代。
高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
AES的区块长度固定为128 位元,密钥长度则可以是128,192或256位元。
RSA加密算法是一种非对称加密算法。在公钥加密标准和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
RSA算法的可靠性基于分解极大的整数是很困难的。假如有人找到一种很快的分解因子的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。
RSA算法利用两个很大的质数相乘所产生的乘积来加密。这两个质数无论哪一个先与原文件编码相乘,对文件加密,均可由另一个质数再相乘来解密。但要用一个质数来求出另一个质数,则是十分困难的。因此将这一对质数称为密钥对(Key Pair)。在加密应用时,某个用户总是将一个密钥公开,让需发信的人员将信息用其公共密钥加密后发给该用户,而一旦信息加密后,只有用该用户一个人知道的私用密钥才能解密。具有数字凭证身份的人员的公共密钥可在网上查到,亦可在请对方发信息时主动将公共密钥传给对方,这样保证在Internet上传输信息的保密和安全。
ECC椭圆曲线加密算法是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。
与经典的RSA,DSA等公钥密码体制相比,椭圆密码体制有以下优点:
1.安全性高:有研究表示160位的椭圆密钥与1024位的RSA密钥安全性相同。
2.处理速度快:在私钥的加密解密速度上,ecc算法比RSA、DSA速度更快。
3.存储空间占用小。
4.带宽要求低。
MD5 MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。SHA 安全散列算法SHA (Secure Hash Algorithm)
RSA
加密
据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。
随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(
DES
)”,民间力量开始全面介入密码学的研究和应用中,采用的
加密算法
有
DES
、
RSA
、
SHA
等。
随着对加密强度需求的不断提高,近期又出现了
AES
、
ECC
等。
使用密码学可以达到以下目的:
DES
、
3D
ES
、
AES
、
RSA
、
MD5
、
sha
1
加密算法
总结
一、
简介
DES
:全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法;
3D
ES
:(即Triple
DES
)是
DES
向
AES
过渡的
加密算法
,它使用3条56位的密钥对数据进行三次加密。
3D
ES
更为安全。
AES
:高级加密标准(英语:Advanced Encryption Stan
1.初始化两个字符串,一个为指定的秘钥,一个为初始化向量,要求是8个字符。
2.加密:秘钥、向量、需加密的字符串传换成byte[]类型;
声明加密标准类,
DES
CryptoServiceProvider
创建内存流,MemoryStream
SHA
是一系列的
加密算法
,有
SHA
-1、
SHA
-2、
SHA
-3三大类,而
SHA
-1已经被破解,
SHA
-3应用较少,目前应用广泛相对安全的是
SHA
-2算法,这也是本篇文章重点讲述的算法。
算法核心思想和特点
该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段密文,也可以简单的理解为取一串输入码,并把它们转化为长度较短、位数固定的输出序列即散列值的过程。
单向散列函数的安全...
RSA
、
SHA
、
DES
、
MD5
、BASE64的可逆性分析
RSA
SHA
DES
MD5
BASE64
RSA
是由Ron Riv
es
t、Adi
Sha
mir和Leonard Adleman的姓氏的首字母组成。
RSA
是一种公钥密码算法,加密解密采用不同的密钥。明文可以通过
加密算法
生成密文,密文也可以通过解密算法还原成明文,所以是可逆的。
RSA
的全称是Secure Hash Algorithm(安全哈希算法)。
SHA
是一种摘要算法,原理是将一段明文以一种不可逆的方式将它转换成一段密文(通常会更小),又称
RSA
-CRT算法(
RSA
Chin
es
e Remainder Theorem)是
RSA
算法的优化版本,旨在提高
RSA
算法的计算效率。
在
RSA
加密算法
中,主要涉及到两个过程:加密和解密。加密过程是将明文转换为密文的过程,而解密过程则是将密文转换为明文的过程。
RSA
算法的加密和解密过程均涉及到模幂运算,即在模意义下对一个数进行幂运算。
在
RSA
-CRT算法中,将模幂运算分解成两个部分,一部分是求模p的余数,另一部分是求模q的余数。由于p和q是互质的,所以可以使用中国剩余定理将两部分结合起来。这样就可以减少计算量,提高效率。
总的来说,
RSA
-CRT算法的计算效率要比
RSA
算法高,但具体的效率差异取决于p和q的大小。如果p和q都很小,那么
RSA
-CRT算法的优势就不会很明显。但如果p和q都很大,那么
RSA
-CRT算法的优势就会更加明显。
如果要对
RSA
-CRT算法和
RSA
算法进行效率测试分析,可以使用相应的软件或编程语言来实现这两种算法,然后对同样