• 你到底是对称还是不对称?


    点击关注上方“五分钟学算法”,

    设为“置顶或星标”,第一时间送达干货。

    转自我是程序员小贱

    隐私保护?不是吓唬大家,信息是透明的兄die,不过也要尽量去维护个人的隐私吧,今天学习对称加密和非对称加密。大家先读读这个字"钥",是读"yao",还是读"yue"。看下图


    一 、对称加密

    对称加密,顾名思义,加密方与解密方使用同一钥匙(密钥)。具体一些就是,发送方通过使用相应的加密算法和密钥,对将要发送的信息进行加密;对于接收方而言,使用解密算法和相同的密钥解锁信息,从而有能力理解对方的信息。

    1 常见的对称加密算法

    无论是数据库的信息存储,还是为了避免用户的Cookie发生泄漏,通常都会使用相应的加密算法进行加密,尽最大能力的去保护敏感信息。

    DES

    DES使用的密钥表面上是64位的,然而只有其中的56位被实际用于算法,其余8位可以被用于奇偶校验,并在算法中被丢弃。因此,DES的有效密钥长度为56位,通常称DES的密钥长度为56位。假设秘钥为56位,采用暴力破Jie的方式,其秘钥个数为2的56次方,那么每纳秒执行一次解密所需要的时间差不多1年的样子。当然,没人这么干。DES现在已经不是一种安全的加密方法,主要因为它使用的56位密钥过短。

    IDEA

    国际数据加密算法(International Data Encryption Algorithm)。秘钥长度128位,优点没有专利的限制。

    AES

    当 DES 被破解以后,没过多久推出了 AES 算法,提供了三种长度供选择,128 位、192 位和 256,为了保证性能不受太大的影响,选择 128 即可。

    SM1和SM4

    之前几种都是国外的,我们国内自行研究了国密 SM1和SM4。其中S都属于国家标准,算法公开。优点就是国家的大力支持和认可

    总结下几种

    二、 非对称算法

    在对称加密中,发送方与接收方使用相同的密钥。那么在非对称加密中则是发送方与接收方使用的不同的密钥。其主要解决的问题是防止在秘钥协商的过程中发生泄漏。比如在对称加密中,小蓝将需要发送的消息加密,然后告诉你密码是123balala,ok,对于其他人而言,很容易就能劫持到密码是123balala。那么在非对称的情况下,小蓝告诉所有人密码是123balala,对于中间人而言,拿到也没用,因为没有私钥。所以,非对称密钥其实主要解决了密钥分发的难题。

    如下图

    其实我们经常都在使用非对称加密,比如使用多台服务器搭建大数据平台hadoop,为了方便多台机器设置免密登录,是不是就会涉及到秘钥分发。再比如搭建docker集群也会使用相关非对称加密算法。

    1 常见的非对称加密

    RSA

    (RSA 加密算法,RSA Algorithm)

    优势是性能比较快,如果想要较高的加密难度,需要很长的秘钥。

    ECC

    基于椭圆曲线提出。是目前加密强度最高的非对称加密算法

    SM2

    同样基于椭圆曲线问题设计。最大优势就是国家认可和大力支持。

    三种对比

    三 散列算法

    这个大家应该更加熟悉了,比如我们平常使用的MD5校验,在很多时候,我并不是拿来进行加密,而是用来获得唯一性ID。在做系统的过程中,存储用户的各种密码信息,通常都会通过散列算法,最终存储其散列值。

    1 常见的散列

    MD5

    MD5 可以用来生成一个 128 位的消息摘要,它是目前应用比较普遍的散列算法。虽然,因为算法的缺陷,它的唯一性已经被破解了,但是大部分场景下,这并不会构成安全问题。但是,如果不是长度受限(32 个字符),还是不推荐你继续使用 MD5 的。

    SHA

    安全散列算法。SHA分为SHA1和SH2两个版本。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。

    SM3

    国密算法SM3.加密强度和SHA-256想不多。主要是收到国家的支持。

    总结

    至此,总结下,大部分情况下使用对称加密,具有比较不错的安全性。如果需要分布式进行秘钥分发,考虑非对称。如果不需要可逆计算则散列算法。因为这段时间有这方面需求,就看了一些这方面的资料,入坑信息安全,就怕以后洗发水都不用买。

    谢谢大家查看!

    推荐阅读:
    一个我超喜欢的动态博客系统,五分钟即可部署上线!
    
    写给小白,从零开始拥有一个酷炫上线的网站!
    
    新手如何有效的刷算法题(LeetCode)
    
    在拼多多上班,是一种什么样的体验?我tm心态崩了呀!
    
    
  • 相关阅读:
    Android(安卓)全套开发资料视频+源码
    腾讯qlv视频转为MP4格式工具
    优酷爱奇艺视频转换为MP4格式工具
    JAVA全套资料含视频源码(持续更新~)
    PPT、Word、Excel模板免费下载
    图片下载
    aspx使用KindEditor副文本框插件出现检测到有潜在危险
    跨域请求
    WEUI滚动加载
    jq复制
  • 原文地址:https://www.cnblogs.com/csnd/p/16674860.html
Copyright © 2020-2023  润新知