美文网首页
常见加密算法

常见加密算法

作者: 木子一酱 | 来源:发表于2021-05-24 16:51 被阅读0次

    软件开发过程中经常需要使用数字签名、信息加密,如用户登入、交易、信息通讯、OAuth 等,不同的应用场景需要使用到不同的签名加密算法,或者需要搭配不一样的签名加密算法来达到业务目标。

    数字签名

    数字签名,简单来说就是通过提供可鉴别的数字信息验证自身身份的一种方式。

    一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。分别由发送者持有能够代表自己身份的私钥 (私钥不可泄露),由接受者持有与私钥对应的公钥 ,能够在接受到来自发送者信息时用于验证其身份。

    签名验证.png

    加解密

    加密:就是对原来为明文的文件或数据按某种算法进行处理,使其成为 不可读的一段代码,通常称为 “密文”。通过这样的途径,来达到保护数据 不被非法人窃取、阅读的目的。

    解密:加密的逆过程为解密,即将该编码信息转化为其原来数据的过程。

    加密算法分对称加密和非对称加密,其中对称加密算法的加密与解密密钥相同,非对称加密算法的加密密钥与解密密钥不同,此外,还有一类不需要密钥的散列算法。

    对称加密

    又称为共享密钥加密算法。在对称加密算法中,发送和接收双方都使用相同的密钥对数据进行加密和解密,要求加密和解密方事先都知道加密的密钥。

    对称加密.png

    优缺点:
    密钥管理:比较难,不适合互联网,一般用于内部系统
    安全性:中
    加密速度:快好,几个数量级 (软件加解密速度至少快 100 倍,每秒可以加解密数 M 比特 数据),适合大数据量的加解密处理

    非对称加密

    又称为公开密钥加密算法。它需要两个密钥,一个称为 公开密钥 (public key),即公钥,另一个称为私有密钥 (private key),即私钥。

    非对称加密.png

    如果使用公钥对数据进行加密,只有用对应的私钥才能进行解密。
    如果使用私钥对数据进行加密,只有用对应的公钥才能进行解密。

    优缺点:
    密钥管理:密钥容易管理
    安全性:高
    加密速度:比较慢,适合 小数据量 加解密或数据签名

    常见签名、加密算法

    AES/DES/3DES算法

    AES、DES、3DES 都是对称的块加密算法,加解密的过程是可逆的。常用的有 AES128、AES192、AES256。

    AES 加密算法是密码学中的高级加密标准,该加密算法采用 对称分组密码体制,密钥长度的最少支持为128 位、192 位、256 位,分组长度 128 位,算法应易于各种硬件和软件实现。这种加密算法是美国联邦政府采用的区块加密标准。
    AES 本身就是为了取代 DES 的,AES具有更好的安全性、效率和灵活性。

    RSA算法

    RSA加密算法是一种非对称加密算法

    RSA 加密算法是目前最有影响力的公钥加密算法,并且被普遍认为是目前 最优秀的公钥方案之一。RSA 是第一个能同时用于加密和数字签名的算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。

    MD5算法

    MD5 用的是哈希函数,它的典型应用是对一段信息产生信息摘要,以防止被篡改。

    严格来说,MD5 不是一种加密算法而是摘要算法。无论是多长的输入,MD5都会输出长度为128bits 的一个串 (通常用 16 进制 表示为 32 个字符)。

    SHA1算法

    SHA1 是和 MD5 一样流行的 消息摘要算法,然而 SHA1 比 MD5 的 安全性更强。

    对于长度小于 2 ^ 64 位的消息,SHA1 会产生一个 160 位的 消息摘要。基于 MD5、SHA1 的信息摘要特性以及 不可逆 (一般而言),可以被应用在检查 文件完整性 以及 数字签名 等场景。

    相关文章

      网友评论

          本文标题:常见加密算法

          本文链接:https://www.haomeiwen.com/subject/lsbxsltx.html