尽管我学到了很多关于RSA和DSA的知识,但我无法理解它们的不同之处。有人能告诉我这些算法之间至少有4-5个不同吗?我刚刚将它们用于双因素身份验证(Linux OpenSSL)。
发布于 2018-05-26 18:48:11
最重要的是,Rivest (RSA)和(DSA)实现了完全不同的密码目的,但它们有一些功能上的相似之处,例如它们都是基于公钥的。
RSA的目的是用于加密数据的公共私钥密码系统。DSA的目的是数据签名或数据真实性。
顺便说一句,两者都有一个密钥生成过程,但RSA用它的密钥加密数据(它对其进行加密),而DSA则对它生成的数据进行“签名”。
对于DSA,计算一个密码散列(通常是SHA-2),然后用DSA私钥加密,生成加密的代码。然后,验证需要生成一个哈希,并将其与纯文本哈希进行比较,方法是用公钥对其进行解密,从而证明数据的来源必须有相应的公钥。
RSA是一个完整的密码系统,但实际上它作为一个更大的协议的一部分使用,通常是为了方便公钥基础设施PKI,如TLS或PKCS 1,因为RSA需要仔细考虑它的参数。此外,RSA的速度慢,因此它是否可以用于数据加密,它通常只用于加密对称(共享)的会话密钥,以及协议协商,以确保这些密钥是安全的,并证明了交换的真实性。
https://crypto.stackexchange.com/questions/59566
复制相似问题