Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CurveCP support #47

Closed
tarcieri opened this issue Mar 14, 2013 · 10 comments
Closed

CurveCP support #47

tarcieri opened this issue Mar 14, 2013 · 10 comments

Comments

@tarcieri
Copy link
Contributor

I would personally like to build a Ruby binding to CurveCP. The question is: does this belong in RbNaCl, or a separate gem?

CurveCP is an experimental "alpha quality" library. I've opened an issue about it on Sodium I'd suggest reviewing:

jedisct1/libsodium#22 (comment)

If we were to add CurveCP support to RbNaCl, I'd suggest making it an optional feature, like:

require 'rbnacl/curvecp'

or perhaps

require 'rbnacl/extremely_dangerous_warning_warning_warning/curvecp'

The documentation would need to make it extremely clear that this is a power-user feature. Perhaps something like this?

DANGER: EXPERIMENTAL

To really answer the question of whether this belongs in RbNaCl or not: CurveCP is the "Networking" portion of the Networking and Cryptography library. Without it, I don't feel the library is complete ;)

@jedisct1
Copy link
Contributor

NaCl is the Networking and Cryptography library, but both parts can easily be dissociated. I'm wondering whether doing that in Sodium wouldn't be a good thing: Sodium would be the crypto part, and another project (Chloride?) having Sodium as a dependency would handle the networking part. This would make it easier to work on both parts independently.

@tarcieri
Copy link
Contributor Author

@jedisct1 +1 for Chloride!

@tarcieri
Copy link
Contributor Author

Funny thing though, this makes libsodium (Na) the cryptography library and libchloride (Cl) the cryptography library ;) Of course that meshes well with (N)aCl being the cryptography library and (C)urveCP being the networking component o_O

@jedisct1
Copy link
Contributor

Well, it's probably too late to rename the crypto library. The C can stand for Communications and we can find something else for N.
OK, I'm gonna split the project next weekend.

@tarcieri
Copy link
Contributor Author

Haha, definitely not saying you should rename the project! I was actually saying... in a weird way... it all works out. Sodium (Na) => NaCl, Chloride (Cl) => CurveCP

@tarcieri
Copy link
Contributor Author

Whenever libchloride materializes, opinions on this?

I think I'd like to put this in RbNaCl if possible (I mean, it is the "Na" part of NaCl) but not require it by default. To use it, you would have to do something like:

require 'rbnacl/curvecp'

(and, of course, have libchloride installed)

@namelessjon
Copy link
Contributor

👍 for looking at it when libchloride is out, 👍 also for it not being pulled in by default.

@tarcieri
Copy link
Contributor Author

tarcieri commented Apr 7, 2013

After talking with @jedisct1 I think this probably belongs in a separate gem

@tarcieri tarcieri closed this as completed Apr 7, 2013
@paddor
Copy link
Contributor

paddor commented Nov 5, 2014

@tarcieri Have you made any progress on this? I'd love to experiment with CurveCP using Ruby.

@tarcieri
Copy link
Contributor Author

tarcieri commented Nov 5, 2014

@paddor no

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants