wireapp / proteus

Axolotl Protocol Implementation
GNU General Public License v3.0
421 stars 34 forks source link

Consider switching to `ring` instead of using FFI for ed25519 keys #13

Closed heartsucker closed 7 years ago

heartsucker commented 7 years ago

There might be a reason for the FFI, but I'm opening this as I was just skimming the code and it seemed reasonable.

raphaelrobert commented 7 years ago

We use libsodium throughout the product (also libsodium.js in our web app). Do you see any conceptual advantage with ring?

heartsucker commented 7 years ago

If the assumption is that rust is safer than C and one is trying to minimize C-type errors, ring has a significant more code in rust. sodiumoxide really just looks like bindings alone from my passes at it. ring is also the backend behind rustls and webpki which are two of the biggest rust crypto-consuming libs. ring also has a more long term goal of additional "oxidizing."

raphaelrobert commented 7 years ago

Sure, in a rust-only context this certainly makes sense. libsodium has the advantage of having a nice API and a JS version. That doesn't however mean that we have to always use it going forward. We will keep ring on the list of possible replacements for the future. Thanks for your input!