`

[转] DSA 和 RSA 的区别

阅读更多
   1. RSA算法好在网络容易实现密钥管理,便进行数字签名,算法复杂,加/解速度慢,采用非对称加密

      1978年就出现了这种算法,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。 RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。 密钥对的产生。选择两个大素数,p 和q 。计算: n = p * q 然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。最后,利用Euclid 算法计算解密密钥d, 满足 e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) ) 其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。 加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^

    2. DSA = Digital Signature Algorithm. based on discrete logarithms computation.

    3.
    a. DSA 用于签名,而 RSA 可用于签名加密

    b. DSA is faster in *signing*, but slower in *verifying*.
    c. A DSA key of the same strength as RSA (1024 bits) generates a smaller signature.
    d. An RSA 512 bit key has been cracked, but only a 280 DSA key.
    e. It doesn’t matter because with Ssh only authentication is done using RSA or DSA algorithm, and then the “rest” is encoded using a (uh, was it block?) cipher like IDEA, DES, Blowfish, etc, etc after the authentication is done.
    While SSH2 can use either DSA or RSA keys, SSH1 cannot. Ssh2 will also not use patented cypers like IDEA.
分享到:
评论

相关推荐

    dsa.zip_delphi rsa_dsa_rsa_rsa delphi

    标题中的"dsa.zip_delphi rsa_dsa_rsa_rsa delphi"提到了几个关键的编程概念,主要是RSA加密算法和Delphi编程语言。RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,是目前最广泛...

    C#中字符串的加密可用DSA和RSA实现

    本文主要讨论了两种常见的公钥加密算法:DSA(Digital Signature Algorithm)和RSA(Rivest-Shamir-Adleman),它们都可以用于C#字符串的加密。 首先,无论是DSA还是RSA,加密前都需要将字符串转化为字节数组。这是...

    公钥算法RSA与DSA的证明推导

    证明推导了公钥加密算法RSA和签名算法DSA,RSA和DSA是SSL/TLS的基础,理解算法的数学原理,有助于加深对网络安全的理解

    dsa.rar_HT32A256_dsa_rsa_usbkey

    在提供的"dsa.rar"压缩包中,包含了一份名为"dsa.c"的源代码文件,这很可能是实现RSA算法的C语言版本。通过对这段代码的分析,我们可以深入理解RSA算法在HT32A256芯片上的具体实现细节,以及如何将其嵌入到USBKEY的...

    Java实现DES、DSA、RSA常用工具类.doc

    Java实现DES、DSA、RSA常用工具类

    RSA.rar_C++_dsa_dsa 数字签名_rsa_rsa 签名

    在IT领域,尤其是在网络安全和密码学中,RSA和DSA(Digital Signature Algorithm)是两种重要的公钥加密算法,常用于数字签名。数字签名是确保数据完整性和发送者身份验证的关键技术,而C++作为一门强大的系统级编程...

    易语言实现RSA,ECC,DES,AES,DSA算法

    在这个主题中,我们将深入探讨如何在易语言中实现几种重要的加密算法:RSA,ECC,DES,AES以及DSA。 **RSA** 是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman于1977年提出。在RSA中,数据使用...

    rsa-elgamal-dsa.rar_DSA算法_ELGAMAL_dsa_dsa签名算法_elgamal java

    压缩包内的三个源代码文件——ElGamalCoder.java、DSACoder.java、RSACoder.java,分别对应了ELGamal、DSA和RSA算法的实现。这些Java代码可能包含了密钥生成、加密、解密以及签名和验证的完整流程,对于理解这三个...

    secure-util.rar_3des_DSA解密_RSA base64_aes base64_数字签名证书

    本压缩包"secure-util.rar"似乎包含了一些核心的加密算法实现,如3DES、DSA、RSA以及Base64编码,同时也涉及到数字签名和证书,这些都是现代网络安全的重要组成部分。 首先,让我们详细了解一下这些概念: 1. **3...

    RSA,DSA,AES,DES加解密实例

    本文将详细介绍标题中提到的几种加密算法:RSA、DSA、AES和DES,以及MD5哈希函数。这些算法在网络安全、数据传输和存储等领域有着广泛的应用。 **RSA(Rivest-Shamir-Adleman)** RSA是一种非对称加密算法,由Ron ...

    RSA,DSA 密钥对生成器

    JDK 1.7以上版本(含) 生成1024位的RSA密钥对; java -jar keygen.jar rsa 生成1024为的DSA密钥对 java -jar keygen.jar dsa 版权所有, 公布源码, 随意转载修改再发布, 注明出处即可

    Java实现文件的RSA和DES加密

    非对称加密算法采用加密钥匙(公钥)和解密钥匙(私钥),常用的算法包括 RSA、DSA、ECC 等。 在选择加密算法时,需要根据实际情况来确定。如果需要加密大量数据,建议采用对称加密算法,以提高加解密速度。但是,...

    RSA算法代码

    RSA算法是一种非对称加密算法,它是现代密码学的基础之一,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年共同提出,因此得名RSA。这种算法基于大数因子分解的困难性,即给定一个大整数,找到它的质因数分解是...

    RSA,DSA 密钥对生成器源代码

    JDK 1.7以上版本(含) ...生成1024位的RSA密钥对; java -jar keygen.jar rsa 生成1024为的DSA密钥对 java -jar keygen.jar dsa 版权所有, 公布源码, 随意转载修改再发布, 注明出处即可 编译后的JAR下载 ...

    RSA,DES,ElGamal,DSA,MD5,BLOWFISH加密算法原理详解

    本文将详细介绍几种常见的加密算法,包括RSA、DES、ElGamal、DSA、MD5和Blowfish,主要关注RSA算法的原理。 RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman三位科学家于1977年提出,因其名字...

    C#.NET 安全编程 实例 RSA DSA 对称 非对称 加密 解密 XML 数字签名

    本主题将深入探讨RSA和DSA两种非对称加密算法,以及对称加密的概念,同时涉及XML数字签名的实现。 首先,让我们了解对称加密和非对称加密的基本原理。对称加密使用相同的密钥进行加密和解密,如DES、3DES和AES等。...

    RSA.rar_RSA加密文件_RSA加密解密和_rsa加密算法_对称 加密文件_对称加密

    RSA算法是一种广泛应用于网络安全的公钥加密技术,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因此得名RSA。它在信息安全领域扮演着至关重要的角色,特别是在数据传输、数字签名和身份验证等方面。 ...

    基于DSA和RSA的证实数字签名方案安全性的实现 (2006年)

    一个基于DSA和RSA的证实数字签名方案(WWZ)存在“非零知识性”、“弱不可见性”和“可转移性”安全性缺陷,该方案中作为证实数字签名核心部分的确认与否认协议是不安全的。为此,提出了一种改进的确认与否认协议,...

    ava加密解密 DES PBE RSA DH DSA ECC 等算法

    本文将主要介绍几种常见的加密解密算法,包括DES、PBE、RSA、DH、DSA以及ECC,并提供简单的代码示例。 首先,我们来看基本的单向加密算法。这些算法主要用于生成不可逆的散列值,以验证数据的完整性和一致性。 1. ...

    数字签名 RSA算法 c++

    包涵三个RSA算法,c++是实现,数字签名的合集,三个独自的程序,可以独自编译运行,VC6.0下编译 包涵三个RSA算法,c++是实现,数字签名的合集,三个独自的程序,可以独自编译运行,VC6.0下编译

Global site tag (gtag.js) - Google Analytics