zoukankan      html  css  js  c++  java
  • 安全算法知识

    密码技术

    对称密码

    SM4、DES、3DES、AES

    公钥密码(非对称密码)

    ECC、SM2

    单向散列函数(摘要算法

    SHA1、SHA256、MD5、SM3

    消息认证码

    数字签名

    伪随机数发生器

    信息安全面临的威胁和应对威胁的密码技术

     数据长度

       
    SHA1输出 160位=20字节
    SHA256输出 256位=32字节
    MD5输出 128位=16字节
    SM3输出 256位=32字节
    SM2签名值长度 64字节
    SM2生成私钥长度 32字节
    SM2生成公钥长度 64字节

     

     

     

    SM2签名

    数字签名

    数字签名算法有一个签名者对数据产生数字签名,并由一个验证者验证签名的可靠性。

    每个签名者有一个攻牙和一个私钥,其中私钥用于产生签名,验证者用签名者的公钥验证签名。

    在签名的生成过程之前,要用密码杂凑函数对M1(包含Za和待验消息M11)进行压缩;

    在验证过程之前,要用密码杂凑函数对M2(包含Za和待验消息M22)进行压缩

    SM2使用的杂凑算法是SM3。

    作为签名者的用户A具有长度为entlenA 比特的可辨别标识IDA,记ENTLA是由整数entlenA转换而成的两个字节。签名者也验证者都需要用密码杂凑函数求得用户A的杂凑只ZA。将椭圆曲线方程参数a、b、G的坐标xG、yG和PA的坐标xA、yA的数据类型转换为比特串。ZA = H256( ENTL||  ID||  a  ||  b  || xG || yG || xA ||  yA )。

    E = H (ZA || M)

    再使用E和私钥生成签名值。

    不同的待签消息产生不同的签名值,相同的待签消息也产生不同的签名值。

    签名值长度为64字节。(r,s)。r、s 各32字节。

  • 相关阅读:
    flutter添加启动图及设置启动时间
    flutter中通过循环渲染组件
    flutter学习资料汇总
    flutter中显现登录页面成功后跳转的方法
    flutter 常用视图组件
    mpvue学习笔记
    按钮放大动画效果
    一位练习时长两年半的内网渗透练习生
    Kali系统中20个超好用黑客渗透工具,你知道几个?
    渗透测试之三内网跳板
  • 原文地址:https://www.cnblogs.com/doitjust/p/12625580.html
Copyright © 2011-2022 走看看