mimoo / NoiseGo

An implementation of Noise in Go
41 stars 9 forks source link

New cipher and hashes #6

Open logr4y opened 6 years ago

logr4y commented 6 years ago

First of all good job on the implementation so far!

I was wondering if you had plans to extend this library to include AES-GCM as cipher and all the supported hashes by Noise. I'm happy to help, but since it would require some restructuring of the code I'm asking if you had any plan already.

Thanks!

mimoo commented 6 years ago

Thanks!

No plans really, as this is supposed to be a biased implementation of Noise that you can use without configuration. I can see the case for AES-GCM If all of your devices have hardware support for it, but unless this is the case I'll just keep things this way.

That said, if you do have a use case for it, I'd take a look at a PR ;) I'm not sure how I would organize this, it would probably have to be passed as a configuration field.

logr4y commented 6 years ago

I'm writing some network tools to interact with Noise endpoints and clients, so I was looking at a complete implementation of Noise with socket support. I find this library very helpful as all the network plumbing is already implemented, so instead of forking it and complete it solo I thought that I could just contribute to this one so also others can benefit from it.

If you'd rather have this library as a standalone, single cipher/hash implementation just let me know :)

mimoo commented 6 years ago

I see. I still think it’s a good idea to support aes-gcm as long as there is a biased default configuration that uses one of them (that you should be able to override with a field in the Config). So if you want to submit a PR on this go ahead :)