首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非对称加密方法与对称加密方法的区别?

非对称加密方法与对称加密方法的区别?
EN

Stack Overflow用户
提问于 2011-03-29 21:08:57
回答 2查看 32.8K关注 0票数 10

好吧,我搞不懂这两种加密方法是如何工作的。我知道对称是传统的,并且在两个用户之间使用共享的私钥。

基本上,我想知道

  1. 它们的工作原理
  2. 他们的目的
  3. 它们的相对性能

非对称和对称加密方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-29 21:45:47

我建议从应用密码学开始。这是对密码学原理的一个很好的介绍。

如果您对密码学感兴趣,我强烈推荐应用密码学手册作为一项了不起的参考工作。一开始它太难处理了,但是它是免费的,所以现在就去拿一份副本吧:)当你完成了AC,阅读HAC。(实际上,精装版制作得很好,比几百页激光印刷纸更容易阅读;如果你喜欢PDF的外观,可以考虑购买它。)

对称加密的工作方式是将秘密输入与秘密密钥混合,使其(a)快速(b)不能从输出导出输入或密钥。混合的细节差别很大,但是有块密码流密码;块密码的工作方式是一次查看8或16或32字节块中的输入数据,并在这些块中扩散输入和键。需要不同的操作方式来加密比块中更多的数据,不同的操作模式可能也可能不会在块之间传播数据。

对称密码非常适合大容量数据加密,从8字节到8 to,是加密数据的最佳选择。

非对称加密的工作原理是利用非常困难的数学问题,通过后门,如果你有一小部分非常重要的数据,就可以快速解决这个问题。常见的数学问题是保理大数离散对数。非对称算法工作在固定的数据大小上,通常是1024-2048位用于RSA贾迈勒,384位用于椭圆曲线版本的RSA或El。(椭圆曲线版本在计算时使用与整数不同的字段。RSA和El及类似的系统可以与指定乘法和加法操作的任何字段一起工作,ECC对该字段有不同的表示形式,可以神奇地将“更多”数据打包到位中。这是一种非常聪明的方法,可以让众所周知的机制融入更少的记忆中,而我的一句引言却无法公正地做到这一点。简单是令人惊奇的部分。)

非对称加密帮助解决了密钥分配问题问题,但几乎没有帮助:不需要O(N^2)密钥对在每一对希望使用加密技术的人之间进行交互,而是需要O(N)密钥,每人一对公共/私有密钥,每个人只需要知道其他人的公共部分。正如x509的复杂性所演示的那样,这仍然不是一个容易的问题,但是像openPGPOpenSSH这样的机制有更简单的模型和机制,可以很好地用于许多用途。

非对称密码通常用于传输对称密码的会话密钥。即使只有少量的数据将被传输,加密者通常也会倾向于发送用对称密码加密的实际数据,并发送用非对称密码加密的密钥。一个巨大的好处是,您可以向100个不同的收件人发送消息,消息的大小为O(消息的大小+ 100*2048位) --您可以对每个收件人的会话密钥进行加密,并且只传输一次。巨大的成功。

非对称密码也用于数字签名。虽然可以为消息真实性使用对称密码,但不能使用对称密码来提供不可否认的签名

非对称密码非常适合加密少量随机数据,如会话密钥和讯息摘要。它最好用来做钥匙和散列。

对称密码通常比非对称密码快得多,但由于它们被用于不同的目的,所以速度差异在实际中并不是一个问题。当然,速度可能因算法的不同而有很大差异(DES在软件上非常慢,在硬件上也可以很快,但是对于我的系统上的小数据集,AES的速度是它的1.8到3.3倍,而且在硬件上可能还要快得多)。

票数 23
EN

Stack Overflow用户

发布于 2011-03-29 21:54:06

执行摘要:

对称密码:比非对称密码快,但需要发送方和接收方共享一个密钥。以一种安全的方式向双方提供这个密钥本身就是一个重要的问题。

非对称密码:速度慢,但通过使用两个密钥来解决密钥分配问题,其中一个密钥可以很好地共享。

在实践中,这些可以结合起来,以获得两个世界的最佳(例如,HTTPS)。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5478952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档