关闭

加密算法比较3DES AES RSA ECC MD5 SHA1等

2191人阅读 评论(0) 收藏 举报
分类:

加 密算法通常分为对称性加密算法和非对称性加密算法,对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行 加解密了。非对称算法与之不同,发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消 息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密,B向A发送消息时为同样的道理。

几种对称性加密算法:AES,DES,3DES

DES是一种分组数据加密技术(先将数据分成固定长度的小数据块,之后进行加密),速度较快,适用于大量数据加密,而3DES是一种基于DES的加密算法,使用3个不同密匙对同一个分组数据块进行3次加密,如此以使得密文强度更高。

相较于DES和3DES算法而言,AES算法有着更高的速度和资源使用效率,安全级别也较之更高了,被称为下一代加密标准。

几种非对称性加密算法:RSA,DSA,ECC

RSA和DSA的安全性及其它各方面性能都差不多,而ECC较之则有着很多的性能优越,包括处理速度,带宽要求,存储空间等等。

几种线性散列算法(签名算法):MD5,SHA1,HMAC

这几种算法只生成一串不可逆的密文,经常用其效验数据传输过程中是否经过修改,因为相同的生成算法对于同一明文只会生成唯一的密文,若相同算法生成的密文不同,则证明传输数据进行过了修改。通常在数据传说过程前,使用MD5和SHA1算法均需要发送和接收数据双方在数据传送之前就知道密匙生成算法,而HMAC与之不同的是需要生成一个密匙,发送方用此密匙对数据进行摘要处理(生成密文),接收方再利用此密匙对接收到的数据进行摘要处理,再判断生成的密文是否相同。

对于各种加密算法的选用:

由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。

在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。



ps:

1、公钥加密体制用于保密性时,就是公钥加密,私钥解密。 因为公钥是可以公开了, 那么任何人都可以使用公钥对信息进行加密,但是只有持有私钥的人才能正确解密。这样就保证了信息的保密性,因为只有私钥持有者才能正确解密。
2、公钥加密体制用于认证性时,比如数字签名,即私钥持有者对信息进行签名,验证者可以根据公开的公钥进行验证签名是否正确和有效,即实现了认证性,以及不可抵赖性。


公钥加密私钥解密, 没问题,也可以说是"公共密钥加密系统"
私钥加密公钥解密,一般不这么说,应叫"私钥签名,公钥验证",也可以说是“公共密钥签名系统”

再来说一下"公共密钥签名系统"目的:(如果晕就多看几遍,这个没搞清,后面的代码就更晕)

A欲传(信息)给B,但又怕B不确信该信息是A发的。
1.A选计算(信息)的HASH值,如用MD5方式计算,得到:[MD5(信息)]
2.然后用自已的私钥加密HASH值,得到:[私钥(MD5(信息))]
3.最后将信息与密文一起传给B:传给B:[(信息) + 私钥(MD5(信息))]

B接到 :[(信息) + 私钥(MD5(信息))]
1.先用相同的HASH算法算出(信息)的HASH值,这里也使用MD5方式 
得到: [MD5(信息)!]
2. 再用A的公钥解密 [ 私钥(MD5(信息))]
   [公钥(私钥(MD5(信息)))] = [(MD5(信息)]
   如能解开,证明该 [ 私钥(MD5(信息))]是A发送的
3.再比效[MD5(信息)!]与[(MD5(信息)]

   如果相同,表示(信息)在传递过程中没有被他人修改过


0
0
查看评论

RSA、AES、DES、MD5、SHA1几种加密算法的比较

MD5和SHA1加密算法,用于计算出一段不可逆向计算的数值,以此来验证该文件是否被修改的.它可以帮你验证从网上下载下来的windows7安装程序是否与发布人发布的东西完全一致,也就是帮助你验证这个程序有没有经过他人(非发布人)的修改。 aes/des加密速度快,适合大量数据,des...
  • q1015171972
  • q1015171972
  • 2016-01-22 13:24
  • 8533

加密算法比较3DES AES RSA ECC MD5 SHA1等

加 密算法通常分为对称性加密算法和非对称性加密算法,对于对称性加密算法,信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行 加解密了。非对称算法与之不同,发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消 息,则...
  • cws1214
  • cws1214
  • 2014-01-21 14:28
  • 19075

加密算法概念简介--MD5、SHA、DES、3DES、AES、RSA、ECC

MD5       MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂...
  • jingcheng345413
  • jingcheng345413
  • 2017-02-10 13:25
  • 931

3DES、AES、RC6、TEA、RSA、MD5、SHA1、SHA256大聚齐

前两天想帮朋友做一个ARM/STM32的ISP脱机下载器,想到固件平时是保存在外部SPI ROM里的需要加密。这两天在网上研究了一下流行的文件加密方法并调试和整理了一下,特此公布。先简单的扫扫盲,大家可以边看边下载呵。 DES---研究过加密的朋友十分熟悉,老牌的加密方法了。这是一个可逆的对称...
  • mmz_xiaokong
  • mmz_xiaokong
  • 2014-05-07 09:02
  • 6277

DES、3DES、AES、RSA、MD5、sha1 加密算法总结

DES、3DES、AES、RSA、MD5、sha1 加密算法总结 一、简介 DES:全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法; 3DES:(即Triple DES)是DES向AES过渡的加密算法,它使用3条56位的密钥对数据进行三次加密...
  • xxj_jing
  • xxj_jing
  • 2017-06-07 10:14
  • 464

3DES AES RSA MD5 SHA1 加密算法比较

本文主要简单介绍一下加密算法,请看文章!
  • itluochen
  • itluochen
  • 2016-08-11 17:28
  • 528

公钥、私钥、SSL、会话密钥、DES、3DES、AES、RC6、TEA、RSA、MD5、SHA1、SHA256

公钥和私钥                                        一直以来对...
  • LVXIANGAN
  • LVXIANGAN
  • 2014-02-17 10:10
  • 2363

AES,SHA1,DES,RSA,MD5区别

AES:更快,兼容设备,安全级别高; SHA1:公钥后处理回传 DES:本地数据,安全级别低 RSA:非对称加密,有公钥和私钥 MD5:防篡改 相关: 公开密钥加密(英语:public-key cryptography,又译为公开密钥加密),也称为非对称加密(asymmetr...
  • hengshujiyi
  • hengshujiyi
  • 2015-05-25 18:18
  • 31984

加密算法详解 DES、3DES、AES、RSA、MD5、sha1

DES、3DES、AES、RSA、MD5、sha1 加密算法总结 一、简介 DES:全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法;DES现在已经不是一种安全的加密方法,主要因为它使用的56位密钥过短。1999年1月,distributed.net...
  • jintiaozhuang
  • jintiaozhuang
  • 2017-08-08 14:58
  • 716

加密算法速度比较

对称加密算法 算法名称 密钥长度 实现 加密速度 安全性 资源消耗 特点 适用情况 AES高级加密标准(Advanced Encryption Standard,AES) 128、19...
  • stormeryang
  • stormeryang
  • 2013-08-24 15:01
  • 2574
    个人资料
    • 访问:4436400次
    • 积分:24235
    • 等级:
    • 排名:第328名
    • 原创:246篇
    • 转载:35篇
    • 译文:8篇
    • 评论:1070条
    博客专栏
    最新评论