【问题标题】:Explain Key Block and master secret with padding and encrytion in SSL/TLS?用 SSL/TLS 中的填充和加密解释密钥块和主密钥?
【发布时间】:2026-01-24 22:15:02
【问题描述】:

How to see the encrypted key in wireshark, during ssl key exchange?

关于这个问题,请参考this answer

您能解释一下为什么Pre-master加密的是128位,2048位的RSA公钥如何将48位数据加密为128位,因为客户端和服务器只有在Change_Cipher_Spec记录之后才确认并使用对称加密。

密钥扩展为 136 位,它是主密钥填充的吗?它在哪里用于加密。

您能解释一下 SSL/TLS 中“key-block”的使用/生成吗?

如果我们使用对称加密,为什么我们有 client_write_key 和 server_write_key,那么加密和解密不会使用一个密钥。

如果有两个不同的 MAC 密钥,如果它们与客户端和服务器安全且不交换,它们是否会产生相同的消息发送结果以进行身份​​验证。

【问题讨论】:

标签: ssl cryptography key rsa wireshark


【解决方案1】:

你能解释一下为什么Pre-master加密的是128位,2048位的RSA公钥如何将48位数据加密为128位

它没有。 pre-master secret 为 48bytes,,其加密为 128bytes,包括 padding,与 2048bits 的公钥长度无关。 p>

因为客户端和服务器只有在Change_Cipher_Spec记录之后才确认并使用对称加密。

正确。那么?

密钥扩展到 136 位,它是主密钥填充的吗?它在哪里用于加密。

键扩展是136个字节;这不是大师的秘密;它用于生成对称会话密钥和 IV。

您能解释一下 SSL/TLS 中“key-block”的使用/生成吗?

没听说过。 RFC 2246 中没有出现“key-block”一词。

如果我们使用对称加密,为什么我们有 client_write_key 和 server_write_key,那么加密和解密不会使用一个密钥。

显然每个方向都使用了不同的键。

如果拥有两个不同的 MAC 密钥,如果它们与客户端和服务器安全且不交换,它们是否会产生相同的消息发送结果以进行身份​​验证。

请定义“安全地使用客户端和服务器”。

要回答所有这些问题,您应该看到RFC 2246 #6.3 密钥计算。任何人在这里为你解释这一切都是毫无意义的。我不打算尝试。

【讨论】: