zoukankan      html  css  js  c++  java
  • java-信息安全(十)-签名002-数字签名算法DSA

    一、概述

      DSA算法(Digital Signature Algorithm,数据签名算法)

      Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSfS(DigitalSignature Standard)。

      DSA(Data Signature Algorithm)数字签名算法:DSA仅包含数字签名,不包含加解密

      简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名。如果数据和签名不匹配则认为验证失败!数字签名的作用就是校验数据在传输过程中不被修改。数字签名,是单向加密的升级!

    1.1、算法分类

    算法 密钥长度 默认长度 签名长度 实现的方
    SHA1withDSA 512-65536
    (64的整数倍)
    1024 同密钥 JDK8
    SHA224withDSA 同上 1024 同密钥 JDK8
    SHA256withDSA ... 1024 同密钥 JDK8
    SHA384withDSA ... 1024 同密钥 BC
    SHA512withDSA ... 1024 同密钥 BC

    jdk支持

            list.add(JdkDsa.DSA);//==SHA1withDSA
            list.add(JdkDsa.SHA1withDSA);
            list.add(JdkDsa.SHA224withDSA);
            list.add(JdkDsa.SHA256withDSA);

    1.2、签名示例

      代码地址:https://github.com/bjlhx15/algorithm-sign.git

    DSA算法 

  • 相关阅读:
    数值的整数次方
    Grid Sorting
    第K小的数
    图形学变换矩阵的分解
    神经网络理论简介(三)
    神经网络理论简介(二)
    神经网络理论简介(一)
    C/C++的内存对齐
    strcpy的实现
    C++对象模型简析
  • 原文地址:https://www.cnblogs.com/bjlhx/p/6564609.html
Copyright © 2011-2022 走看看