我对Diffie-Hellman问题有一个疑问:
是否可以只使用Diffie-Hellman密钥交换发送消息给某人?
既然这叫做密钥交换,你只能做一个密钥吗?
发布于 2020-03-08 08:10:30
你到底对CDH或DDH问题有什么怀疑?
是否可以只使用Diffie-Hellman密钥交换发送消息给某人?
您不能使用DHKE“发送”消息,但您可以使用其产生的共享秘密作为一次性垫子(通过乘法,而不是XOR)来“加密”编码为组元素的消息。当发送方在每条消息中使用唯一的密钥时,这称为ElGamal。
为了加密更大的消息,我们将回到Diffie-Hellman,并使用共享秘密的哈希作为对称流密码的密钥。这叫做混合加密。
然而,上述两种方案都不能验证我们的消息,因此一个主动对手可能会篡改我们的消息,并且取决于我们的应用程序可能会恢复我们的消息。在对称路径上,我们只需要用认证加密代替加密。
这个函数不需要重新发明轮子,而被称为known ( crypto_seal_box )。如果您想发送许多消息,您可能更喜欢每个会话一次握手,并使用流。
您可能不想使用单一的DHKE,但可能有两三个。如果您需要前向保密,则为两个;如果您想要前向保密和相互认证,则为三个。噪声协议详细阐述了许多变体,信号使用了三重DH的扩展.所有这些选项都要求接收方每次握手至少向发件人发送一条消息。
https://crypto.stackexchange.com/questions/78051
复制相似问题