2016-04-03 121 views
-1

我想了解在网络上使用的加密机制。 在这一点上我不清楚的一件事: 如果我检查,例如,google.com证书,我可以看到公钥长度为4320位,但Chrome显示连接使用AES_128_GCM加密,即I预计将使用128位密钥。 我在这里错过了什么?公钥长度vs加密算法

回答

1

公钥算法中的4320位用于加密对称密钥算法中的128位。公钥在最初没有任何共享密钥的双方之间建立了安全的通信通道。将此视为低带宽信道,由于公钥算法的计算昂贵性质,这不是非常有用。在实践中 - 这种公钥的唯一用途是传送一个共享密钥,以建立使用类似AES的高带宽信道(这要求双方拥有相同的密钥)。整个过程就是hybrid cryptosystem的一个例子。

+0

谢谢你的回答。因此,为了仔细检查我是否正确,实际上,公钥是证书中的公钥(不是经过散列或加密),但实际的数据加密是使用对称密钥加密完成的(使用公钥/私钥密钥加密仅用于确保安全条件下的对称密钥传输) – Zack

+1

是的。第一个公钥系统是Diffie-Hellman密钥交换系统,它不传递任何信息,但允许双方安全地就一个公共密钥达成一致。后来的系统(例如RSA,ElGamal)允许传输实际的数据,但实际上它们被用作Diffie-Hellman,只是用来建立一个共享密钥。 –

1

整个过程涉及更多,但这里是回答问题的基础。

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

对称密钥由RSA或EC等不对称密钥加密,速度慢,数据长度受密钥长度限制。

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

+0

谢谢你的确切答案,不幸的是,我不能选择两个“接受”的答案,即使你几乎在同一时间发布。 – Zack

+0

NP,@约翰有一个更copmplete的答案。 – zaph