使用SSL / TLS中的填充和加密来解释密钥块和主密钥?

时间:2015-04-09 23:58:45

标签: ssl cryptography key rsa wireshark

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位,是主密码填充,加密使用的位置。

你能解释一下" key-block"的使用/生成吗?在SSL / TLS?

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

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

1 个答案:

答案 0 :(得分:0)

  

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

它没有。预主密钥为48 字节,,其加密为128 字节,包括填充,2048位的公钥长度与此无关。

  

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

正确。所以?

  

密钥扩展到136位,是主密码填充,加密使用的位置。

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

  

你能解释一下" key-block"的使用/生成吗?在SSL / TLS?

从未听说过它。术语“关键字块”'没有出现在RFC 2246中。

  

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

显然每个方向都使用不同的密钥。

  

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

请安全地定义客户端和服务器'。

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