我正在用Java构建服务器应用程序,该服务器应用程序使用AS3在Flash中构建客户端。 as3crypto 库需要RSA key 的模数才能进行加密,因此我考虑将 key 的模数从服务器传递到客户端。在不加密 key 的情况下这样做安全吗?

最佳答案

首先,SSL/TLS将是一个更好的选择,因为它已经是一个健壮的(TLS 1.1)协议(protocol),并且还不是组成部分。其次,通过模量是可以的。至少应该如此。如果正确使用RSA,则您的Modulus应该由两个素数组成,每个素数的长度至少为1024位。您只需要非常小心自己通过的内容即可。 RSA(公共(public)加密系统) key 有两个部分。一公一私。在RSA中,您只能通过开放 channel 传递素数的乘积(这完全不提供身份验证)。不是指数。您无法加密模数,因为那样一来您就必须破解第二个包络,并且仍然会达到模数,这只会将问题转移到知道外部模数上。

我必须承认,使用TLS层会使您更加安全。使用已经存在的东西,如果您确实想拥有自己的协议(protocol),可以,可以安全地传递Modulus。 (在大多数情况下。尽管在密码学中,永远不能保证任何协议(protocol)都是健壮的)

关于java - 在不加密的情况下通过Java套接字连接传递RSA key 的模数是否安全?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8051742/

10-11 04:24