在客户端 - 服务器环境中使用AES加密

时间:2016-10-26 01:27:15

标签: c# network-programming cryptography aes

我目前正致力于客户端 - 服务器应用程序。我有一些数据,我想加密客户端和解密服务器端。

我有加密/解密部分找到并正常工作。我的问题在于Key和Salt。在将它们通过网络发送到服务器之前,它们都是在运行时随机生成的。

我的问题是:

  • 如果Key和Salt是随机的,如何让服务器解密数据?

我目前的解决方案是使用加密数据发送密钥和盐。

  • 但是,这是否会使我保护数据的努力无效?
  • 我应该"隐藏"数据中的关键和盐? (追加到最后/开头)

Client server AES encryption

该帖子上的人建议联系服务器让他知道我们想要发送安全消息。然后他生成一把钥匙并发回给你。是不是有点太多"对于一个你希望所有东西都尽可能包装的游戏网络?

通常会做什么?

感谢。

1 个答案:

答案 0 :(得分:3)

看起来你不小心绊倒了自己的加密。哦,哦。不用担心,只需自己动手,删除所有加密代码,然后使用SSLStream

为什么?

  1. TLS是多年来工作,研究和分析的结果,这些人在加密方面比你和我放在一起的时间要好得多,十亿次

    <。

    < / LI>
  2. 与编写自己的自定义解决方案相比,它会更快,更少痛苦。如果您没有使用AES的身份验证模式,您需要实施Diffie-Hellman,RSA / DSA签名,AES,HMAC或两者的组合,并且最重要的是,您需要注意填充神谕,前瞻性以及其他一大堆东西。

  3. 除了笑话,你永远不应该推出自己的加密。依靠久经考验的技术。

相关问题