【发布时间】:2012-02-24 14:43:09
【问题描述】:
我正在研究一种我认为具有某种数据加密功能的自定义网络协议。
当客户端连接到服务器时会发生以下情况:
Client --- [128 bit random key] --> Server
Client <-- [128 bit random key] --- Server
Client --- [128 bit (random) key] --> Server
Client <-- [128 bit (random) key] --- Server
Data sent and received is encrypted from now on.
我想知道我正在处理什么样的加密实现。
【问题讨论】:
-
看起来像是双向 SSL 握手 -> upload.wikimedia.org/wikipedia/commons/e/e5/….
-
如何区分随机密钥交换和加密数据(看起来随机)?如果某个工具(如
wireshark)能够检测到正在使用的协议,您可能想尝试一下。 -
我控制着服务器端,所以我可以更改服务器发送的密钥,这样它们就不会那么随机了,例如:128 x 0x00。但是当我这样做时,客户端发送的密钥仍然是随机的。
-
可能是 Diffie-Hellman 密钥交换。
-
这不能是 SSL 或任何类型的 Diffie-Hellman。 128 位消息对于除了某种对称密钥交换之外的任何东西来说都太小了。
标签: algorithm encryption cryptography