数字签名介绍

  • RSA/DSA/ECDSA数字签名

  • RSA

  • RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。

    算法分类信息:

    算法密钥长度默认长度签名长度实现的方
    MD2withRSA512-65536
    (64的整数倍)
    1024同密钥JDK
    MD5withRSA同上1024同密钥JDK
    SHA1withRSA1024同密钥JDK
    SHA224withRSA2048同密钥BC
    SHA256withRSA2048同密钥BC
    SHA384withRSA2048同密钥BC
    SHA512withRSA2048同密钥BC
    RIPEMD128withRSA
    2048同密钥BC
    RIPEMD160withRSA同上2048同密钥BC

    DSA:

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

    DSA是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA却做不到。

    算法分类信息:

    算法密钥长度默认长度签名长度实现的方
    SHA1withDSA512-65536
    (64的整数倍)
    1024同密钥JDK
    SHA224withDSA同上1024同密钥BC
    SHA256withDSA1024同密钥BC
    SHA384withDSA1024同密钥BC
    SHA512withDSA1024同密钥BC
  • ECC算法(Elliptic curve cryptography,椭圆曲线密码学

 

ECDSA签名

基于ECC与DSA签名算法分类信息,ECDSA(elliptic curve digital signature algorithm) 椭圆曲线数字签名算法:速度快,强度高,签名短


算法密钥长度默认长度签名长度实现的方
NONEwithECDSA112-571256128JDK/BC
RIPEMD160withECDSA同上256160BC
SHA1withECDSA...256160JDK/BC
SHA224withECDSA...256224BC
SHA256withECDSA...256256JDK/BC
SHA384withECDSA...256384JDK/BC
SHA512withECDSA...256512JDK/BC