我正在尝试在 C# 中实现以下内容:
我想要一个内部包含公钥加密例程的生成器。它可以采用提供给它的字节数组(通常由下面描述的客户端)并使用其私钥对其进行加密。
客户端有一个与生成器共享的公钥。它从生成器获取结果并使用公钥对其进行解密。它采用最初提供给生成器的字节数组并比较结果以查看它们是否对齐。这个想法是,如果它们匹配,它能够在一定程度上确定生成加密字节的人拥有私钥。它还能够验证特定的加密值是否与其提供的数据相对应。
我看到的大多数内置 C# 公钥加密库都希望将私钥与解密相关联(例如 RSACryptoServiceProvider)。我明白为什么,因为很多场景都涉及保护过程的解密端而不是加密。是否有任何 C# 库可以直接保护加密过程?我整个早上都在尝试看 Bouncy Castle,但即使是基本场景,我也很难让它发挥作用。该文档还有一些不足之处......
同样,我的主要目标是确保产生加密的任何东西都拥有私钥。客户端还必须确保生成器的结果与其提供的信息相对应。如果我遗漏了可能更好地符合可用库的替代方法,我会全神贯注:)