在 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();

Ps。我想对 UDP 连接上的 server/client 通信使用 RSA 加密。据我所知,SHA1PKCS1(由 RSACryptoServiceProvider 支持)对于 RSA 填充来说不够安全和快速。

多亏了“总统詹姆斯·K·波尔克”的评论,我才意识到虽然碰撞 SHA-1 的抵抗力(如 https://eprint.iacr.org/2006/223.pdf 中所述),可以安全地用作 RSA.

中的 OAEP

但现在我对有关在 Unity3D 中将 SHA256 用作 OAEP 的其他问题感兴趣。