`

部分常见加密算法对比介绍

阅读更多

 

DES

 

 

 

         DES算法为密码体制中的对称密码体制,又被成为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。其密钥长度为56位。DES现在已经不被视为一种安全的加密算法,主要因为它使用的56位密钥过短。19991月,distributed.net电子前哨基金会合作,在22小时15分钟内即公开破解了一个DES密钥。

 

 

 

 

 

3DES

 

 

 

3DES(或称为Triple DES)是三重数据加密算法TDEATriple Data Encryption Algorithm块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。 因为密钥长度增加,安全性比DES有所增强,但是性能有所下降

 

 

 

AES:

 

 

 

         高级加密标准Advanced Encryption StandardAES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院NIST)于20011126日发布于FIPS PUB 197,并在2002526日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。截至2006年,针对AES唯一的成功攻击是旁道攻击美国国家安全局审核了所有的参与竞选AES的最终入围者(包括Rijndael),认为他们均能够满足美国政府传递非机密文件的安全需要。20036月,美国政府宣布AES可以用于加密机密文件。

 

        

 

SM1

 

 

 

         国密 SM1 算法是由国家密码管理局编制的一种商用密码分组标准对称算法。 分组长度和密钥长度都为 128 比 特,算法安全保密强度及相关软硬件实现性能与 AES 相当,该算法不公开,仅以 IP 核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能 IC 卡、智能密码钥匙、加密卡、加 密 机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

 

 

 

SSF33

 

 

 

         SSF33算法是由国家密码管理局编制的一种商用密码分组标准对称算法,分组长度和密钥长度都为 128比特,该算法不公开,仅以 IP 核的形式存在于芯片中。但是SSF33算法性能比较差,因此在实用中,逐步被SM1SM4代替。

 

 

 

MD5算法:

 

 

 

    MD5Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。MD5一度被广泛应用于安全领域。但是由于MD5的弱点被不断发现以及计算机能力不断的提升,现在已经可以构造两个具有相同MD5的信息[2],使本算法不再适合当前的安全环境。2004年,王小云证明MD5数字签名算法可以产生碰撞[3]2007年,Marc StevensArjen K. LenstraBenne de Weger进一步指出通过伪造软件签名,可重复性攻击MD5算法[4]。研究者使用前缀碰撞法(chosen-prefix collision),使程序前端包含恶意程序,利用后面的空间添上垃圾代码凑出同样的MD5 Hash值。

 

2008年,荷兰埃因霍芬技术大学科学家成功把2个可执行文件进行了MD5碰撞,使得这两个运行结果不同的程序被计算出同一个MD5[5]200812月一组科研人员通过MD5碰撞成功生成了伪造的SSL证书,这使得在https协议中服务器可以伪造一些根CA的签名。

 

 

 

SHA1/SHA2算法:

 

 

 

    SHA算法是一种能计算出一个数位讯息所对应到的,长度固定的字串(又称讯息摘要)的算法。SHA-1在许多安全协定中广为使用,包括TLSSSLPGPSSHS/MIMEIPsec,曾被视为是MD5(更早之前被广为使用的杂凑函数)的后继者。SHA2包括SHA224SHA-256SHA-384SHA-512。摘要算法运行很快,其中SHA2的性能略低于SHA1

 

 

 

 

 

RSA

 

 

 

         RSA加密算法是一种非对称加密算法。在公钥加密标准电子商业RSA被广泛使用。对极大整数做因数分解的难度决定了RSA算法的可靠性。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。但在分布式计算量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。

 

 

 

比起DES和其它对称算法来说,RSA要慢得多。实际上Bob一般使用一种对称算法来加密他的信息,然后用RSA来加密他的比较短的对称密码,然后将用RSA加密的对称密码和用对称算法加密的消息送给Alice

 

 

 

2010年成功分解了RSA-768私钥,2007年使用SNFS分解了1039位长的特殊整数。NIST的说法是,1024位密钥只能使用到2010年底。

 

 

 

ECC

 

 

 

    椭圆曲线密码学Elliptic curve cryptography,缩写为ECC)是基于椭圆曲线数学的一种公钥密码的方法。椭圆曲线在密码学中的使用是在1985年由Neal KoblitzVictor Miller分别独立提出的。

 

ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA加密算法——提供相当的或更高等级的安全。不过一个缺点是加密和解密操作的实现比其他机制花费的时间长。

 

 

SM2算法

 

 

 

         SM2算法是国家密码管理局编制的一种商用密码非对称算法,基于ECC算法。安全性与Nist Prime256相当。与ECC的缺点一样,性能较低。2010年,国密局公开SM2算法。

 

 

 

SM3算法

 

 

 

    SM2算法是国家密码管理局编制的一种商用密码摘要算法,安全性与效率与SHA256相当。2010年,国密局公开SM3算法。

 

分享到:
评论
2 楼 windshome 2013-04-20  
谢谢捧场,这足早先整理的。
1 楼 litaoyan 2013-04-20  
学习了

相关推荐

    加密算法及其应用

    常见的对称加密算法有MD5、SHA-1、SHA-256、AES、DES、3DES等。对称加密算法在相同安全级别的条件下通常比不对称加密算法更为高效,因为其运算过程相对简单。 - **MD5**:一种散列算法,用于生成固定长度的摘要码...

    加密算法文档

    本文档旨在提供几种常见加密算法的基础知识,包括MD5、RSA以及DES等算法的特点、应用场景及安全考量。加密算法是保障信息安全的重要工具,它们通过数学方法将原始信息转换成不可读的形式,确保数据在传输过程中不被...

    基于RSA加密算法和DES加密算法的输入输出Demo

    本文将深入探讨两种常见的加密算法:RSA和DES,并结合给定的“基于RSA加密算法和DES加密算法的输入输出Demo”进行详细解析。 首先,RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,它使用一对公钥和私钥。公钥...

    vb 密码单向加密算法.rar

    总之,单向加密算法在VB编程中的应用是软件安全的重要组成部分,它通过不可逆的哈希过程来保护敏感信息。通过深入学习和实践,开发者可以掌握如何在自己的项目中有效实施这种加密方法,提升系统的安全性。

    VC C++加密算法

    在IT行业中,加密算法是信息安全领域的一个重要组成部分,特别是在C++和Visual C++(简称VC++)编程中,开发者经常需要使用加密技术来保护数据的安全性。加密算法用于将明文数据转换为密文,防止未经授权的访问和...

    《图像加密算法与实践——基于C#语言实现》.(孙燮华)_《0528》.rar

    接着,书中会详细介绍几种常见的图像加密算法,例如分块替换算法、混沌系统加密、像素映射方法等,并且每一种算法都会结合C#代码实例进行详细解释,让读者能够快速理解和实现这些算法。 在C#语言实现部分,作者可能...

    加密算法大全【源代码】

    8. **Benchmarks**:`bench.cpp`通常用于性能测试,它可能包含了对比不同加密算法速度和效率的代码。 9. **SPN结构**:像DES这样的算法采用了SPN(Substitution-Permutation Network)结构,这是一类分组密码的设计...

    MFC实现的加密算法

    首先,加密算法是信息安全中的关键组成部分,其主要目的是保护数据不被未经授权的人员访问或理解。常见的加密算法有对称加密(如DES、AES)和非对称加密(如RSA、ECC)。MFC本身并不包含内置的加密功能,但我们可以...

    有界面的des加密算法

    总的来说,这个有界面的DES加密解密程序是学习加密算法的宝贵资源,有助于理解对称加密的基本原理,并对比现代加密技术的进步。同时,通过阅读和分析源代码,开发者可以提升自己的编程技巧,尤其是对于加密算法实现...

    吴翰清 - 流行应用的加密算法实现缺陷与利用

    标题和描述均提到了“流行应用的加密算法实现缺陷与利用”,这暗示了文章将深入探讨现实世界中广泛使用的应用程序中常见的加密算法实现错误及其潜在的安全威胁。文章由阿里云信息安全中心的吴翰清撰写,他是一位资深...

    MD5加密算法(JSP)

    以下是关于MD5加密算法及其在JSP中应用的详细知识点: 1. **MD5原理**: - MD5算法由Ronald Rivest在1991年设计,它将输入信息经过多次迭代运算后生成一个固定长度的摘要。这个摘要对输入信息极其敏感,微小的变动...

    java加密解密方法大全

    ### 常见的加密算法 #### 对称加密算法 对称加密算法使用相同的密钥进行加密和解密。其加密过程如下: 1. 发送方将明文和加密密钥一起通过加密算法处理,生成密文。 2. 接收方使用相同的密钥和加密算法的逆算法对...

    CIPHER加密解密等多种算法

    常见的对称加密算法有DES(Data Encryption Standard)、3DES(Triple DES)、AES(Advanced Encryption Standard)等。AES是目前最广泛使用的对称加密标准,它提供了128、192和256位的密钥长度,安全性高且计算效率...

    MD5加密 算法 源码

    从给定的文件片段来看,我们正在探讨的是MD5(Message-Digest Algorithm 5)加密算法的源代码实现。MD5是一种广泛使用的哈希函数,用于生成一个128位的固定长度摘要,通常用于数据完整性的校验,如文件对比、密码...

    易语言字节集加密解密对比源码.7z

    - 压缩包中的源码对比部分,可能展示了不同的加密解密实现,比如对称加密与非对称加密的对比,或者不同轮数、不同混淆策略的对比。 - 学习者可以通过对比这些源码,理解各种加密方法的优缺点,以及在实际应用中的...

    python之AES加密解密源码

    AES(Advanced Encryption Standard),即高级加密标准,是目前广泛使用的对称加密算法之一。它以其高效性和安全性,在Python3中也有广泛的应用。本篇文章将深入探讨如何使用Python3实现AES加密和解密。 首先,AES...

    单片机加密狗程序加密盾

    常见的对称加密算法有DES、3DES、AES等。在单片机应用中,由于计算资源有限,通常会选择计算效率较高的算法,如AES。通过对程序代码进行对称加密,即使程序被非法获取,没有正确的密钥也无法解密运行。 2. 非对称...

    文件加密工具,文件损毁,文件比较

    常见的文件加密方法有对称加密(如AES,DES)和非对称加密(如RSA,ECC),其中对称加密速度快,适合大量数据加密;非对称加密安全性更高,但计算成本相对较高。 **文件比较** 文件比较是检查两个或多个文件之间...

    微机原理数据加密解密课程设计

    正文部分详细阐述设计任务,比如对比不同的加密算法,并进行可行性分析。软件设计说明需要解释设计思路、程序流程以及源代码设计和解释。程序调试说明应记录调试过程中的问题和解决策略,而结果分析则展示程序的性能...

Global site tag (gtag.js) - Google Analytics