gpt4 book ai didi

android - 一个用户的多个非对称 key 对?

转载 作者:行者123 更新时间:2023-11-30 04:15:25 25 4
gpt4 key购买 nike

我正在创建一个 Android 应用程序,它首先需要能够安全地将数据传输到服务器。所以我想到了RSA。

我会将公钥发送给用户,让他做他必须做的事,然后通过私钥接收并解密。没关系。

但现在看来,对方也应该有某种加密方式。意思是,应该有加密消息并将其发送给用户的方法,并且只允许特定用户能够阅读它。

这听起来像是有 2 对 key ,将一对的公钥和另一对的私钥发送给用户,并将其余的保存到服务器。

我看过对称 key ,但不知怎么的,它们对我来说似乎不太安全。

我是不是遗漏了什么,或者这很常见?我对整个密码学领域有些陌生。

最佳答案

通常的建议适用:使用 HTTPS,不要尝试发明安全的消息传递协议(protocol)。你很可能会失败。如果您确实需要这样做,通常的方法是使用 RSA key 来加密对称 session key 并使用这些 key 来加密您的数据。另请注意,您可以使用 RSA key 加密的数据大小受 key 大小(1024、2048 等。)的限制。对于双向通信,每一方都需要拥有另一方的公钥。所以它是这样的:

  1. Alice 将她的公钥 (RSA) 安全地交给 Bob(见下文)
  2. Bob 将他的公钥 (RSA) 安全地交给 Alice
  3. 当 Bob 想要与 Alice 通信时,他会生成一个 session key (例如,一个 256 位 AES key ),然后使用她的公钥对其进行加密。
  4. Bob 将加密的 session key 发送给 Alice。
  5. Bob 使用 session key (AES) 加密消息,并将其发送给 Alice。
  6. Alice 使用她的私钥 (RSA) 解密 session key (AES)。
  7. Alice 使用 session key (AES) 解密来自 Bob 的消息。

在第 3 步到第 7 步中颠倒 Alice 在 Bob 中的角色,以另一种方式进行通信。

当然,如果您将公钥发送给某人,他们如何确定它实际上是您的 key ,而不是我的?如果您不亲自递交并出示带照片的身份证件,这可不是小事。

然后,您需要一些方法来验证来自 Bob 的(加密的)消息没有被修改(您可以减半,它仍然有效且可解密;当然还有其他更复杂的攻击) .

因此,只要说服任何你需要说服的人使用 HTTPS 或其他一些已建立的协议(protocol),不要试图重新发明轮子。

关于android - 一个用户的多个非对称 key 对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10105826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com