C++ UDP加密-简单且安全

C++ UDP加密-简单且安全,c++,qt,encryption,cryptography,udp,C++,Qt,Encryption,Cryptography,Udp,嗨 我正在用Qt/C++编写一个应用程序,用于在对等点之间创建连接。在我的协议中,第一步是让一个新的对等方广播它的信息,从已建立的对等方请求连接。这些对等点的位置未知 为此,我使用UDP广播。由于此广播包含有关对等方的信息,因此我希望对其进行加密。然而,对等身份验证是在对等方之间建立TCP连接时发生的,因此除了UDP广播之外还有很多安全性,但我只是不想太容易被第三方截获和解释 我想要的是一种加密数据报的简单方法。 有人能推荐一种可靠的方法吗 万分感谢 你几乎可以使用任何你想要的加密方法。更重要/

我正在用Qt/C++编写一个应用程序,用于在对等点之间创建连接。在我的协议中,第一步是让一个新的对等方广播它的信息,从已建立的对等方请求连接。这些对等点的位置未知

为此,我使用UDP广播。由于此广播包含有关对等方的信息,因此我希望对其进行加密。然而,对等身份验证是在对等方之间建立TCP连接时发生的,因此除了UDP广播之外还有很多安全性,但我只是不想太容易被第三方截获和解释

我想要的是一种加密数据报的简单方法。

有人能推荐一种可靠的方法吗


万分感谢

你几乎可以使用任何你想要的加密方法。更重要/困难的是密钥分发

例如,如果所有客户端仅使用与AES相同的对称加密方法,则广播信息将被加密,但任何对客户端进行反编译的人都可能找到密钥

看看:


你可以使用几乎任何你想要的加密方法。更重要/困难的是密钥分发

例如,如果所有客户端仅使用与AES相同的对称加密方法,则广播信息将被加密,但任何对客户端进行反编译的人都可能找到密钥

看看:


向未知主机广播消息时,您将放弃IP地址和端口号。你必须有一个预先共享的密钥才能使广播有意义,正如“大脑”所指出的,这限制了你的安全能力。如果你感到足够安全,所有的客户端都可以解密,任何人都可以解密,那么你就没事了。您可以使用任何对称形式的加密,并且相对安全。对于非常简单的情况,在这种情况下,对数据进行XORing就足够了


如果您想在广播中更安全,请将广播消息设置为Diffie Helman密钥交换消息。之后的交换的其余部分可以是单播的,并为每个客户机使用不同的号码。这将允许为每个单独的连接使用新密钥。假定有人可以重新实现您的协议并冒充对等方,但他们无法从任何其他对等方获取信息。

向未知主机广播消息时,您将放弃IP地址和端口号。你必须有一个预先共享的密钥才能使广播有意义,正如“大脑”所指出的,这限制了你的安全能力。如果你感到足够安全,所有的客户端都可以解密,任何人都可以解密,那么你就没事了。您可以使用任何对称形式的加密,并且相对安全。对于非常简单的情况,在这种情况下,对数据进行XORing就足够了

如果您想在广播中更安全,请将广播消息设置为Diffie Helman密钥交换消息。之后的交换的其余部分可以是单播的,并为每个客户机使用不同的号码。这将允许为每个单独的连接使用新密钥。就算有人可以重新实现你的协议,假装是一个对等者,但他们无法从任何其他对等者那里获得信息