bcgit / pc-dart

Pointy Castle - Dart Derived Bouncy Castle APIs
MIT License
237 stars 122 forks source link

Is there any plan support EdDSA? #43

Closed Tougee closed 1 year ago

Tougee commented 4 years ago

Hi, thanks for the cool library.

In view of the increasing popularity of EdDSA, Is there any plan support it?

AKushWarrior commented 4 years ago

@Tougee There is no plan of that sort currently, though I can give it a shot at some point.

I know it's secure with a smaller key size than RSA. Do you have evidence of its "increasing popularity"? I'd be looking for standards that have adopted it or other cryptographic libraries (similar to this one - think Crypto++ or BouncyCastle) that have it.

AKushWarrior commented 4 years ago

I just checked - bouncycastle does not support EDDSA, but does support ECDSA. Like most everyone else, I'm very inclined to trust Bernstein on cryptographic matters, but this algorithm is young and hasn't gotten much in the way of standardization. I don't know if this can become a priority.

Tougee commented 4 years ago

Thanks for your reply, what you said makes sense. The reason why I ask is because I have a requirement to use EdDSA to sign JWT. I hope you can give me some suggestions on how to implement EdDSA on my own fork.

Tougee commented 4 years ago

I implemented a basic EdDSA based on this library. I know this is very imperfect. If you are free, I hope you can quickly review and give some suggestions to help me improve it, thank you!

https://github.com/Tougee/pc-dart/pull/1/files

crossle commented 3 years ago

@Tougee There is no plan of that sort currently, though I can give it a shot at some point.

I know it's secure with a smaller key size than RSA. Do you have evidence of its "increasing popularity"? I'd be looking for standards that have adopted it or other cryptographic libraries (similar to this one - think Crypto++ or BouncyCastle) that have it.

Ed25519 now very popular on the blockchain, small signature, more efficient.

nblum37 commented 3 years ago

Thanks for the library!

I would also look for EdDSA (ed25519) support. As far as I see it, it's fast, secure, and the popularity is continuously increasing (https://safecurves.cr.yp.to/index.html). "Bigger" packages like cryptography support ed25519 already as well.

Tougee commented 3 years ago

Thanks for the library!

I would also look for EdDSA (ed25519) support. As far as I see it, it's fast, secure, and the popularity is continuously increasing (https://safecurves.cr.yp.to/index.html). "Bigger" packages like cryptography support ed25519 already as well.

You can try a "Smaller" package https://github.com/tougee/ed25519 which is ported from Golang.

Ephenodrom commented 1 year ago

187