C# 使用预先存在的RSA SSH密钥解密C中的文本#

C# 使用预先存在的RSA SSH密钥解密C中的文本#,c#,encryption,rsa,bouncycastle,openssh,C#,Encryption,Rsa,Bouncycastle,Openssh,我有一对RSA公钥/私钥,它们是由Linux计算机中的“ssh-keygen”命令生成的。Linux计算机中有一个Ruby应用程序,它使用这个公钥加密字符串,我想使用这个私钥在Windows C#/.Net应用程序中解密字符串。我看了一眼有弹性的城堡图书馆,但没有成功。任何例子或提示都会有所帮助。谢谢 是否有理由使用ssh密钥 任何RSA密钥都足够了。您需要提取RSA密钥来加密任何内容。若密钥不是RSA,那个么就不能加密任何东西,因为DSA是一种只有签名的算法。公钥有RFC:它并不完全是您所需要

我有一对RSA公钥/私钥,它们是由Linux计算机中的“ssh-keygen”命令生成的。Linux计算机中有一个Ruby应用程序,它使用这个公钥加密字符串,我想使用这个私钥在Windows C#/.Net应用程序中解密字符串。我看了一眼有弹性的城堡图书馆,但没有成功。任何例子或提示都会有所帮助。谢谢

是否有理由使用ssh密钥

任何RSA密钥都足够了。您需要提取RSA密钥来加密任何内容。若密钥不是RSA,那个么就不能加密任何东西,因为DSA是一种只有签名的算法。公钥有RFC:它并不完全是您所需要的。但可能会帮助您了解如何提取每个部分。它应该只有base64编码的二进制块

你可以试试油灰的来源
keygen可以生成和转换这些密钥。所以,若你们找到了它提取RSA密钥的地方。然后使用任何加密库使用密钥和数据计算RSA。使用正确的键,您将获得输入数据+填充。取决于ruby程序使用的是公钥还是私钥。希望这能有所帮助。

因为我更喜欢使用开放标准。我的Ruby代码()在两种方式(加密和解密)下都能完美工作。我希望我的C#/.Net code也能得到同样的结果。SSH中的RSA密钥仅用于对数据进行签名以验证身份,而不是加密会话数据,甚至交换会话密钥。使用它们加密数据并不完全是一种最佳做法。