美文网首页
加密算法

加密算法

作者: martingale | 来源:发表于2021-01-05 09:57 被阅读0次

    1、常用的加密算法分类
    常见的加密算法可以分成五类:
    对称加密算法、非对称加密算法和、Hash 算法(也称摘要算法)、数字签名(Hash&RSA)和数字证书(Hash&RSA&CA)。
    https://blog.csdn.net/liwei16611/article/details/84838554

    (1)对称加密算法
    DES(Data Encryption Standard)、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6 和 AES(Advanced Encryption Standard)
    (2) 非对称加密算法
    RSA:应用广泛,解密速度通常很慢,但加密较快
    DSA(Digital Signature Algorithm): 解密速度通常很快,但加密较慢,秘钥量短
    ECC
    https://cloud.tencent.com/developer/news/254061

    (3)Hash 算法
    Hash 算法特别的地方在于它是一种单向算法,用户可以通过 Hash 算法对目标信息生成一段特定长度的唯一的 Hash 值,却不能通过这个 Hash 值重新获得目标信息。
    过程是:
    Hash(明文)--> 固定长度的摘要
    因此 Hash 算法常用在不可还原的密码存储、信息完整性校验等。
    MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1

    (4)数字签名:将明文进行摘要,然后再通过私钥进行加密的结果
    MD5&RSA 算法和 SHA1&RSA 算法

    (5)数字证书

    A 给 B 发送消息,A生 成公钥和私钥;
    A 将公钥、公钥持有者、签名算法和过期时间等信息发送给 CA(数字证书认证机构);
    CA 认可信息之后,通过 CA 的私钥进行签名,这时候数字证书就产生了;
    接着 A 将明文、明文数字签名和数字证书一起发送给 B;
    B 接受到后,通过 CA 的公钥进行解密,进行第一次校验,校验数字证书;
    验证成功后,进行第二次检验,提取数字证书中的公钥,对密文进行解密。
    在数字签名的基础上,再发送一个数字证书,这样的话接收方不需要维护一个公钥库,通过 CA 验证后在数字证书提取,获得公钥。

    DES 密钥长度不够、MD2 速度较慢已逐渐被淘汰

    2、加密算法的选择

    1)由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度;
    2)对称加密算法不能实现签名,因此签名只能非对称算法;
    3)由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
    4)在实际的操作过程中,我们通常采用的方式是:
    采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

    3、如何选择采用多少位的密钥

    一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA 建议采用 1024 位的数字,ECC 建议采用 160 位,AES 采用 128 为即可,对于安全性较高的场合需要使用相应长度的秘钥。

    相关文章

      网友评论

          本文标题:加密算法

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