你了解这些算法吗?SHA256、RIPEMD-160、DES、AES、RSA、ECC - Go语言中文社区

你了解这些算法吗?SHA256、RIPEMD-160、DES、AES、RSA、ECC


一、HASH算法

哈希散列算法和哈希摘要算法都叫做哈希算法。

(1)概念:

  • 把一段任意长度的数据变成均匀分布固定长度的数据、反之不可以
  • Hash不可逆
  • 在任何电脑,手机,或者笔算Hash值都是一样的
  • y=Hash(x)  已知x可以得到y,反之不可以
  • Hash散列就像一个人的指纹
  • Hash的结果y是均匀分布的

(2)常见hash算法

  • MD5 64位(Message-Digest Algorithm 5 消息摘要算法第五版)

安全哈希算法 Secure  Hash Algorithm(SHA)

  • SHA1 160位
  • SHA256 256位(比特币选择的双重SHA256算法,SHA256D)
  • SHA512 512位
  • RIPEMD-160 160位(比特币地址使用)

目前MD5和SHA1已经被中国山东大学王小云教授和Google攻破

在线hash算法工具:http://tool.oschina.net/encrypt?type=2

 

二、对称加密算法和非对称加密算法两者特点

 

三、对称加密算法

  • DES加解密算法:

       比较老的算法,一共有三个参数入口(原文,密钥,加密模式)。而3DES只是DES的一种模式,是以DES为基础更安全的变形,对数据进行了三次加密,也是被指定为AES的过渡算法。

  • AES加解密算法

       高级加密标准,新一代标准,加密速度更快,安全性更高。

 

四、非对称加密算法

  • RSA算法:

        RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest),阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年7月首次在美国公布,当时他们三人都在麻省理工学院工作实习。由其三人姓氏首字母组成。

        RSA算法基于一个的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却及其困难,因此可以将乘积公开作为加密密钥。

  • ECC算法

        Ellipse Curve Cryptography,椭圆曲线算法(比特币使用)。与传统的基于大质数因子分解困难性的加密算法不同,ECC通过椭圆曲线方程性质产生密钥ECC164位的密钥产生一个安全级,相当于RSA1024位密钥提供的保密强度,而且计算量更小,处理速度更快,存储空间和传输带宽占用较少。目前居民二代身份证正在使用256位的椭圆曲线密码,虚拟货币比特币也选择ECC作为加密算法。

RSA与ECC的对比

 

五、商业加密方式

  • 混合对称加密和非对称加密方式
  • 对称加密

优点:加密,加密快速,使用简单。

缺点:密码/密钥需要在网络上传输,不安全。

  • 非对称加密

优点:只有公钥在网络上传输,私钥留在本地,安全。

缺点:加密,加密比较慢,使用复杂

  • 混合模式(对称和非对称)https/tls

使用对称加密模式,但是对称加密的密码使用非对称加密方式传输。

组合了对称加密和非对称加密的有点,摒弃了它们的缺点。

 

六、加密算法在商业中的常见应用

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/CrownP/article/details/87907347
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-04 17:14:04
  • 阅读 ( 1608 )
  • 分类:算法

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢