首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全问题是共享密钥的私钥被泄露了吗

安全问题是共享密钥的私钥被泄露了吗
EN

Stack Overflow用户
提问于 2018-10-26 14:34:34
回答 2查看 299关注 0票数 0

在下面的例子中,如果privateKeyOfA被泄露了,安全问题是什么?有人能在没有privateKeyOfB的情况下解密消息吗??

Aes.encrypt(privateKeyOfA,publicKeyOfB,message) Aes.decrypt(publicKeyOfA,privateKeyOfB)

如果不是,我猜为什么我们这里需要privateKeyOfA是为了A的签名?

EN

回答 2

Stack Overflow用户

发布于 2018-10-26 19:07:59

签名是必需的,因为接收者必须知道消息来自他可以识别的人。如果他不能验证签名,这意味着他不认识这个人。

如果A的私钥被黑客泄露,他可以向每个人发送带有模拟A的签名的消息。

票数 0
EN

Stack Overflow用户

发布于 2018-10-27 01:57:39

A将使用密钥交换(例如,使用DHECDH)来将privateKeyOfA + publicKeyOfB转换为AES密钥。B也可以使用privateKeyOfB + publicKeyOfA以相同的方式生成相同的AES密钥。A和B之间的所有流量都将使用相同的AES密钥进行加密。

假设所有公钥都是已知的(毕竟它们是公钥),那么任何有权访问privateKeyOfA的人都可以重新生成A生成的所有AES密钥,以便与任何人通信。这意味着涉及此密钥的所有流量(由A、B或其他任何人发送或接收的消息)都将被泄露。

但如果使用了临时版本(如在TLS的某些模式中),则会为每个会话生成一个新密钥,因此如果1个密钥被泄露,则只有该会话被泄露。你可以阅读更多关于forward secrecy的内容。

如果按您所描述的方式使用密钥,则不会将其用于签名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53002796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档