gpt4 book ai didi

web-applications - 使用随机生成的 key 进行加密和解密?

转载 作者:行者123 更新时间:2023-12-02 04:09:15 26 4
gpt4 key购买 nike

我是一名 j2me 程序员。我的项目与通过 HTTP 方法向服务器发送数据有关。我使用 Bouncy CaSTLe(三重 DES)加密 j2me 端的数据。我还维护服务器端编码。

然后在服务器端接收到的数据被解密并存储在数据库中。

在这里,我假设 key 在编码本身中是静态的。在服务器端和 j2me 端我使用相同的键值。

但是这里有一个基于需求的问题: key 是随机生成的,用户不知道。

在这种情况下,如果在 j2me 部分使用一些 key 加密数据,那么服务器如何在不知道 key 的情况下解密?

或者有任何其他机制,所以请帮助解决问题。

谢谢并恭祝安康,
西瓦库玛

最佳答案

有几种方法可以实现您的目标。

一种方法是使用某种形式的 key 交换/协议(protocol)协议(protocol),例如Diffie-Hellman 风格的 key 交换(参见 http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)。当您处于 J2ME 环境中时,您可能希望使用使用椭圆曲线的最新实现,因为它们对您的硬件要求更温和。

实现目标的另一种方法是使用公钥证书实现安全 key 传输协议(protocol),但我不建议您发明自己的安全协议(protocol),而是使用专为这些情况设计的 SSL/TLS。

根据您的要求,您需要在其服务器认证(“单向 SSL”)或相互认证的形式(“双向 SSL”)中使用 SSL。请查阅有关正确设置 SSL 的 Web 服务器文档。

一旦设置好服务器,就可以像当前一样在客户端上创建对称加密 key ,然后使用新设置的 TLS 连接将加密 key 发送到服务器。

Diffie-Hellman 解决方案的优势在于它不一定涉及证书,但要安全地使用它,您需要实现某种形式的 key 派生函数(参见 http://csrc.nist.gov/publications/fips/fips186-3/fips_186-3.pdf),这又是非常重要的。因此,我建议使用第二种方法,即使这意味着更多的配置开销。

关于web-applications - 使用随机生成的 key 进行加密和解密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6067575/

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