MD5
       MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
SHA
      安全散列算法SHA (Secure Hash Algorithm),用于确保信息传输完整一致。SHA基于MD5实现。
是美国国家标准技术研究所发布的国家标准FIPS PUB 180,最新的标准已经于2008年更新到FIPS PUB 180-3。其中规定了SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512这几种单向散列算法。SHA-1,SHA-224和SHA-256适用于长度不超过2^64二进制位的消息。SHA-384和SHA-512适用于长度不超过2^128二进制位的消息。
DES  
       DES是Data Encryption Standard(数据加密标准)的缩写,DES算法为密码体制中的对称密码体制。它是由IBM公司研制的一种加密算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密标准,二十年来,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色。
        DES是一个分组加密算法,他以64位为分组对数据加密。同时DES也是一个对称算法:加密和解密用的是同一个算法。它的密匙长度是56位(因为每个第8位都用作奇偶校验),密匙可以是任意的56位的数,而且可以任意时候改变。其中有极少量的数被认为是弱密匙,但是很容易避开他们。所以保密性依赖于密钥。
        特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。
    DES算法具有极高安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间。
        DES现在已经不视为一种安全的加密算法,因为它使用的56位秘钥过短,以现代计算能力,24小时内即可能被破解。也有一些分析报告提出了该算法的理论上的弱点,虽然实际情况未必出现。该标准在最近已经被高级加密标准(AES)所取代。
3DES
      3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。
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被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。
       RSA算法的可靠性基于分解极大的整数是很困难的。假如有人找到一种很快的分解因子的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。
       RSA算法利用两个很大的质数相乘所产生的乘积来加密。这两个质数无论哪一个先与原文件编码相乘,对文件加密,均可由另一个质数再相乘来解密。但要用一个质数来求出另一个质数,则是十分困难的。因此将这一对质数称为密钥对(Key Pair)。在加密应用时,某个用户总是将一个密钥公开,让需发信的人员将信息用其公共密钥加密后发给该用户,而一旦信息加密后,只有用该用户一个人知道的私用密钥才能解密。具有数字凭证身份的人员的公共密钥可在网上查到,亦可在请对方发信息时主动将公共密钥传给对方,这样保证在Internet上传输信息的保密和安全。
ECC
      ECC椭圆曲线加密算法是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。
       与经典的RSA,DSA等公钥密码体制相比,椭圆密码体制有以下优点:
       1.安全性高:有研究表示160位的椭圆密钥与1024位的RSA密钥安全性相同。
       2.处理速度快:在私钥的加密解密速度上,ecc算法比RSA、DSA速度更快。
       3.存储空间占用小。
       4.带宽要求低。

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

  1. DES/3DES/AES区别

    DES/3DES/AES区别 公元前400年,古希腊人发明了置换密码.1881年世界上的第一个电话保密专利出现.在第二次世界大战期间,德国军方启用"恩尼格玛"密码机,密码学在战争中 ...

  2. 加密算法(DES,AES,RSA,ECC,MD5,SHA1)简介

    加密算法(DES,AES,RSA,MD5,SHA1)简介 一.对称性加密算法 二.非对称算法 三.散列算法 四.算法举例 1.对称性加密算法有:AES.DES.3DES 1.1.DES(Data En ...

  3. DES/3DES/AES加密及区别

    DES 1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES Data Encryption Standard) . 目前在国内,随着三金工程尤其是金卡工程的 ...

  4. APP安全--网络传输安全 AES/RSA/ECC/MD5/SHA

    移动端App安全如果按CS结构来划分的话,主要涉及客户端本身数据安全,Client到Server网络传输的安全,客户端本身安全又包括代码安全和数据存储安全.所以当我们谈论App安全问题的时候一般来说在 ...

  5. ESP32学习笔记(47)——加密算法AES/MD5/SHA

    一.简介 1.1 SSL SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层.SSL通过互相认证.使用数字签名确保完整性.使用 ...

  6. Java实现密码学工具,集成了对称加密算法DES,AES,IDEA,公开加密算法RSA,ECC,散列算法MD5,SHA1,CRC32,以及RSA,DSA,ECDSA数字签名验证示例。

    密码学综合工具 前言 git网址 项目结构 项目预览 String与byte[]互转 通过`String`类转换 通过`Base64`互转[jdk-8] 前言 我们网络信息安全的实验...要我们找各种 ...

  7. AES,DES,3DES的区别

    DES 1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES Data Encryption Standard) . 目前在国内,随着三金工程尤其是金卡工程的 ...

  8. python常见加密方法实现,DES,AES,RSA,MD5,国密。--更新中

    常见加密算法的简介和python的实现,使用各种库实现,而不是源码实现 对称加密 DES加密 非对称加密 RSA加密 消息摘要算法/签名算法 MD5 国密算法 SM1 对称密码 SM4 对称算法 SM ...

  9. 1、【java数据安全】数据安全之加密解密(base64、MD、SHA、DES、AES、IDEA、PBE、DH、RSA、EIGamal)、数字签名(DSA、ECDSA)和数字证书介绍、应用示例详细介绍

    java数据安全 系列文章 1.[java数据安全]数据安全之加密解密(base64.MD.SHA.DES.AES.IDEA.PBE.DH.RSA.EIGamal).数字签名(DSA.ECDSA)和数 ...

最新文章

  1. 连信的会话加密密钥协商过程
  2. c# 多线程异步demo
  3. 用 Go 重构 C 语言系统,这个抗住春晚红包的百度转发引擎承接了万亿流量
  4. 训练深度学习模型的小技巧
  5. TableViewCell 自定义分割线
  6. vscode统计代码行数
  7. 现有的 NFT 协议
  8. 5点滑动平均公式推导
  9. 违反GPL协议赔偿50万,国内首例!
  10. 教大家一个锻炼声带闭合的方法
  11. SAP PCA利润中心会计案例教程后台配置
  12. 灵机一动-趣味问题种种
  13. python和java哪个更有潜力-Python和JAVA的就业前景哪个好点?
  14. 辛巴学院-Unity-剑英陪你零基础学c#系列(一)Hello World
  15. (转)PMBOK/CMM/CMMI/OPM3
  16. 全球首颗量子卫星炼成记:“墨子号”打造保密通信新产业
  17. java 排秩,求秩排序(计数排序) | 学步园
  18. 淘宝新店如何利用全店关键词布局获取大量免费自然搜索流量
  19. 无人机航拍高度与地面采样距离
  20. Linux QQ 解决闪退的方法

热门文章

  1. 51 Nod 1116 K进制下的大数
  2. HDU 2089 不要62
  3. 【c# 学习笔记】所有类的父类:System.object
  4. linux -- control service and daemon process
  5. [vagrant]vagrant centos静态ip设置
  6. 20145324 《Java程序设计》第6周学习总结
  7. Nginx 的线程池与性能剖析【转载】
  8. 转:SQL SERVER中一些常见性能问题的总结
  9. Leetcode--494. 目标和
  10. Leetcode--188. 买卖股票的最佳时机Ⅳ