【问题标题】:Length of public key vs encryption algorithm公钥长度与加密算法
【发布时间】:2016-04-03 00:31:25
【问题描述】:

我正在尝试了解网络上使用的加密机制。 在这一点上,我不清楚一件事: 例如,如果我检查 google.com 证书,我可以看到公钥是 4320 位长,但 Chrome 显示连接是使用 AES_128_GCM 加密的,我希望使用 128 位密钥。 我在这里想念什么?

【问题讨论】:

    标签: encryption x509


    【解决方案1】:

    公钥算法中的 4320 位用于加密对称密钥算法中的 128 位。公钥在最初没有任何共享密钥的两方之间建立了一个安全的通信通道。将此视为低带宽通道,由于公钥算法的计算成本高,它不是很有用。在实践中——这个公钥的唯一用途是传递一个共享密钥来建立一个高带宽通道,该通道使用像 AES 之类的东西(这要求双方拥有相同的密钥)。整个流程以hybrid cryptosystem为例。

    【讨论】:

    • 感谢您的回答。因此,只是为了仔细检查我是否正确,确实,公钥是证书中的那个(它没有散列或加密),但实际的数据加密是使用对称密钥加密完成的(利用公共/私人密钥加密仅用于确保在安全条件下进行对称密钥传输)
    • 是的。第一个公钥系统是 Diffie-Hellman 密钥交换,它不传输任何信息,但允许两方安全地商定一个公共密钥。后来的系统(例如 RSA、ElGamal)允许传输实际数据,但实际上它们的使用方式与 Diffie-Hellman 非常相似——只是为了建立一个共享密钥。
    【解决方案2】:

    整个过程比较复杂,但这里是回答问题的基础。

    数据使用AES等对称算法加密,速度快、安全且可以处理任意长度的数据。

    对称密钥由非对称算法加密,例如 RSA 或 EC,它们速度慢,数据长度受密钥长度限制。

    互联网上有很多关于 HTTPS 的文章,可能会变得相当复杂。

    【讨论】:

    • 感谢您的准确回答,很遗憾我无法选择两个“已接受”的答案,即使您几乎同时发布了两个答案。
    • NP,@John 有一个更完整的答案。
    猜你喜欢
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    相关资源
    最近更新 更多