zoukankan      html  css  js  c++  java
  • 密码学

    一.Hash算法

      1.MD5

      2.SHA1

      3.SM3

      特点:单向的,不可逆的,长度一定

      描述:其中SHA1是国际通用的,SM3是国产的

    二.对称算法

      1.AES  --128,256

      2.DES    8

      3.3DES   8*3

      4.SM1

      5.SM4

      特点:一个密钥,对称加解密,效率高,密钥长度固定

      描述:AES,DES,3DES是国际通用,而SM1,SM4是国密出的,其中SM1是硬件加密,SM4是软件加密

      加密模式:

        ①ECB模式:将每个原文按照密钥长度进行分块,用密钥去加密每个块,加密出来的密文对接;如果最后分的块不是整数倍,这时叫补位,解密时叫去补位

        

        ②CBC模式:将每个原文按照密钥长度进行分块,第二块的密文等于第一块密文+第二块原文,以此类推,第三块密文=第二块密文+第三块原文... 第一块补的叫IV

              IV的长度=Key的长度

        

        非对称:

          1.RSA  -512  1024  2048  4096

          2.SM2  -256

        描述:一对key,对称加解密

        应用场景:加解密,签名验签

       加解密:

        ①生成对称密钥

        ②用对称密钥加密明文     --->避开效率问题

        ③对方公钥加密对称密钥  ---->避开密钥传递问题

        ④发送

      签名验签:

        ①数据做Hash

        ②本身的私钥把Hash值做签名

        ③发送 原文+签名

        验签

        ④原文作Hash1

        ⑤公钥解密发送过来的密文,得出签名2

        ⑥比对Hash1 和 Hash2

        ⑦得出结论,原文是否被篡改

    (凯撒密码)

    (ukey 由系统和芯片组成,里面只能存密钥,和证书,其中密钥不能导出)

      

    如果有使用请标明来源:http://www.cnblogs.com/duwenlei/
  • 相关阅读:
    Python的数据类型--数字--字符串
    python基本--数据类型
    系统分区 ,硬盘格式化,
    linux 用户创建,权限,分组
    协程
    进程
    线程与进程--线程三把锁
    线程
    socket网络编程-字典
    socket网络编程
  • 原文地址:https://www.cnblogs.com/duwenlei/p/3822096.html
Copyright © 2011-2022 走看看