【问题标题】:Difference between asymmetric and symmetric encryption methods?非对称和对称加密方法之间的区别?
【发布时间】:2011-03-29 21:08:57
【问题描述】:

好的,我对这两种加密方法的工作方式感到困惑。我知道对称是传统的,并且在两个用户之间使用共享私钥。

基本上,我想知道

  1. 它们的工作原理

  2. 他们的目的

  3. 它们的相对表现

非对称和对称加密方法。

【问题讨论】:

  • 这是一个有点宽泛的问题,最好阅读有关该主题的书籍,例如cacr.math.uwaterloo.ca/hac 因为这确实是一个广泛的主题,“执行摘要”不能很好地发挥作用,因为魔鬼真的隐藏在细节中......

标签: security encryption cryptography terminology


【解决方案1】:

我建议从Applied Cryptography 开始。这是对密码学原理的精彩介绍。

如果您非常对密码学感兴趣,我强烈推荐Handbook of Applied Cryptography 作为一个令人惊叹的参考作品。一开始处理起来会太多,但它是免费的,所以现在就去拿一份吧:) 当你用完 AC 后,阅读 HAC。 (实际上,精装版非常制作精良,比几百页激光打印纸更容易阅读;如果您喜欢 PDF 的外观,请考虑购买。)

对称加密的工作原理是将秘密输入与秘密密钥混合,其方式是 (a) 快速 (b) 无法从输出中导出输入或密钥。混音的细节差别很大,但有block ciphersstream ciphers;分组密码的工作原理是一次查看 8、16 或 32 字节块中的输入数据,并在这些块中扩散输入和密钥。需要不同的modes of operation 来加密比块中容纳的更多的数据,并且不同的操作模式也可能会或可能不会在块之间传播数据。

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

非对称加密的工作原理是利用后门非常困难的数学问题,从而快速解决问题,如果你有一个小的一条非常重要的数据。常见的数学问题是factoring large numbersdiscrete logarithms。非对称算法适用于固定的数据大小,RSAEl Gamal 通常为 1024-2048 位,Elliptic Curve 版本的 RSA 或 El Gamal 为 384 位。 (椭圆曲线版本使用与整数不同的field 进行计算。RSA 和 El Gamal 以及类似的系统适用于指定 multiply 的任何 field em>add 操作,而 ECC 对该字段有不同的表示,它神奇地将“更多”数据打包成一个位。这是一种超级聪明的方法,可以让众所周知的机制适应更少的内存,我的一句话引言不能一概而论。简单是令人惊奇的部分。)

非对称加密有助于解决key distribution problem,但只是勉强:不是在每对想要使用密码学的人之间需要 O(N^2) 个密钥对,而是需要 O(N) 个密钥,一个每个人的公共/私人配对,每个人只需要知道其他人的 public 部分。这仍然不是一个简单的问题,正如x509 的复杂性所证明的那样,但是openPGPOpenSSH 等机制具有更简单的模型和机制,适用于许多用途。

非对称密码通常用于传输对称密码的session keys。即使只传输少量数据,密码学家通常更喜欢发送使用对称密码加密的实际数据,并发送使用非对称密码加密的密钥。一个巨大的好处是您可以将消息发送给一百个不同的收件人,并且消息的大小将为 O(消息大小 + 100*2048 位)——您可以单独加密每个收件人的会话密钥,并且只传输一次消息。大获成功。

非对称密码也用于digital signatures。虽然可以为message authenticity 使用对称密码,但对称密码不能用于提供non-repudiable signatures

非对称密码非常适合加密少量随机或“无法区分的随机”数据,例如会话密钥和message digests。它最适合用于键和哈希。

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

【讨论】:

  • 在我看来,应用密码学并没有很好地老化,自从它被编写以来,这个领域真的发生了变化。
  • @Bruno Rohée,是的,这个领域已经发生了巨大的变化,而且对于实施者来说,它总是太高级而没有真正的价值,但作为介绍作品,它很难被击败。
【解决方案2】:

执行摘要:

对称密码:比非对称密码更快,但需要一个必须由发送方和接收方共享的密钥。以安全的方式为双方获取此密钥本身就是一个不小的问题。

非对称密码:速度较慢,但​​通过使用两个密钥解决了密钥分配问题,其中一个完全可以共享。

在实践中,可以将这些结合起来,以获得两全其美的效果(例如 HTTPS)。

【讨论】:

    猜你喜欢
    • 2017-09-15
    • 2019-07-29
    • 2021-05-30
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    相关资源
    最近更新 更多