我知道可以工作,但是我正在寻找公钥身份验证。
我正在尝试使用SSH.NET和公钥建立一个连接。
在Git终端中,我可以使用我的公钥连接和运行命令,但是当我尝试使用SSH.NET连接到同一台主机时,我会得到一个异常。
以下是我试图连接的方式:
using (var client = new SshClient("host.name.com", port, "username"))
{
client.Connect(); // exception thrown here
}
我也尝试过这条路线:
var authMethod = new PrivateKey
据我所知,公钥不公开私钥。这不是问题所在。
问题是:给定一个EC公钥,可以导出不同的、但看似合理的、实用的私钥来匹配公钥吗?
换言之:
在基本算术中,如果您知道a x b = c,并且知道任何两个变量,那么您可以计算第三个变量。但是在ECC中,我们有一个公钥q、一个众所周知的点G和一个私有数字d。公钥由CreateBasePointMultiplier().Multiply(parameters.G,q= ECPoint d);从私钥派生而来。我必须假定Multiply是一种特殊的乘法形式,因此了解q和G并不会导致了解d。也许它实际上是在有限的域上循环多次,或者类似的事情。但是,是否可以选择不