【发布时间】:2018-06-23 07:28:18
【问题描述】:
我正在尝试构建一个仅用于教育目的的 android 聊天应用程序。我想尝试实施端到端加密,以确保我的消息安全。我想过使用 RSA 作为加密方案(我是密码学领域的新手)
这就是我认为我应该这样做的方式,
第 1 步:在客户端和服务器端生成公钥和私钥。
第 2 步:交换公钥。 (这意味着服务器将拥有每个客户端的公钥)。
第 3 步: 使用服务器的公钥加密消息并发送到服务器,反之亦然。
第 4 步:然后服务器可以使用其私钥解密消息。
所以我的问题是,
- 如何存储私钥?
- 这种方法有什么缺点?
- 这实际上应该如何实现?
请帮我弄清楚这个概念
【问题讨论】:
-
1.不要这样做,即使是一些最优秀的密码学家也会弄错。 2.如果必须使用e2e加密聊天,请查看Signal。 3. 保持服务器安全非常困难,安全方案使用 HSM,如果 Apple 在设置后销毁管理员密钥。 4. 要了解需要什么,请参阅iOS Security January 2018 iMessage,从第 51 页开始。
-
我投票决定将此问题作为离题结束,因为这与其说是一个编程问题,不如说是一个加密设计和安全问题。也许是 crypto.se?
-
我投票结束这个问题,因为它不是一个编程问题,而是一个密码学和安全问题。到目前为止给出的建议也很糟糕。
标签: encryption cryptography rsa