Aimeast / FxSsh

FxSsh is a lightweight SSH server side application as SSH reinforcement of GitCandy.
MIT License
133 stars 56 forks source link

Elliptic Curve cryptography #28

Open tomnvc opened 4 years ago

tomnvc commented 4 years ago

Hello,

Nice lib, but it really needs upgrade in compatibility (ECC)!! And when you guys do implement it, please use bouncy castle lib not a CNG from net core as CNG is not available on linux only on windows platform. i don't mind little dependency as long as it works on every platform :)

Aimeast commented 4 years ago

Hi, can you explain what issue of CNG(ECDiffieHellmanCng Class) occurred on Linux? Do you know how fix it officially? Does Microsoft have any plan to fix it? Thank you!

tomnvc commented 4 years ago

Thing is there are no problems with it. ECDSA is implemented in Cryptography next generation (hence Cng) and it depends on native windows implementation.

https://www.nuget.org/packages/System.Security.Cryptography.Cng/

Bouncy Castle has c# version for Elliptic Curve Cryptography thus it works across any platform. The one uses it how ever is very different...

Take a note that there are few bouncy castle packages available, but only one is official and i think it is this one: https://www.nuget.org/packages/Portable.BouncyCastle/

Aimeast commented 4 years ago

OK. I think two steps may to go

  1. Implement ECC via CNG
  2. Make a new version with BouncyCastle. CNG & BouncyCastle coexist

this issue focus on step 1

ThatWileyGuy commented 11 months ago

I've been playing around with this and I've quickly found that documentation for BouncyCastle is nonexistent. I also see that System.Security.Cryptography can also be backed by OpenSSL. Does that not work on Linux?

Aimeast commented 10 months ago

For zero dependencies, I don't know if the Linux system is supported now, and I haven't paid attention to the encryption function of the new .net version. At least in previous years it was not supported.

For BouncyCastle, Yes, it is supported, but I'd like zero dependencies.