在 Unity3D 中使用 OAEP 和 SHA256 哈希算法进行 RSA 加密
RSA encryption using OAEP with SHA256 hash algorithm in Unity3D
我想使用 RSA
加密和 SHA256
填充,但我发现 RSACryptoServiceProvider
不支持 OaepSHA256
作为填充,一些用户建议使用 RSACng
这是 RSA
算法的新实现,以支持更多像 SHA256
作为填充的东西。
问题是我在启动 RSACng
时遇到了这个错误(我猜 unity 还没有实现 RSACng
):NotImplementedException: The method or operation is not implemented.
启动代码:rsa = new RSACng();
- 我的代码或知识有问题吗?
- 在Unity3D中还有其他方法可以使用
RSACng
吗?
- 在 Unity3D 中是否有任何其他方法可以使用 SHA256 作为 RSA 加密的填充?
Ps。我想对 UDP 连接上的 server/client 通信使用 RSA
加密。据我所知,SHA1
和 PKCS1
(由 RSACryptoServiceProvider
支持)对于 RSA
填充来说不够安全和快速。
多亏了“总统詹姆斯·K·波尔克”的评论,我才意识到虽然碰撞
SHA-1 的抵抗力(如 https://eprint.iacr.org/2006/223.pdf 中所述),可以安全地用作 RSA
.
中的 OAEP
但现在我对有关在 Unity3D
中将 SHA256
用作 OAEP
的其他问题感兴趣。
我想使用 RSA
加密和 SHA256
填充,但我发现 RSACryptoServiceProvider
不支持 OaepSHA256
作为填充,一些用户建议使用 RSACng
这是 RSA
算法的新实现,以支持更多像 SHA256
作为填充的东西。
问题是我在启动 RSACng
时遇到了这个错误(我猜 unity 还没有实现 RSACng
):NotImplementedException: The method or operation is not implemented.
启动代码:rsa = new RSACng();
- 我的代码或知识有问题吗?
- 在Unity3D中还有其他方法可以使用
RSACng
吗? - 在 Unity3D 中是否有任何其他方法可以使用 SHA256 作为 RSA 加密的填充?
Ps。我想对 UDP 连接上的 server/client 通信使用 RSA
加密。据我所知,SHA1
和 PKCS1
(由 RSACryptoServiceProvider
支持)对于 RSA
填充来说不够安全和快速。
多亏了“总统詹姆斯·K·波尔克”的评论,我才意识到虽然碰撞
SHA-1 的抵抗力(如 https://eprint.iacr.org/2006/223.pdf 中所述),可以安全地用作 RSA
.
OAEP
但现在我对有关在 Unity3D
中将 SHA256
用作 OAEP
的其他问题感兴趣。