Oh, so, I recently had opportunity to play around with this some, a bit over the past week. My initial questions were along the lines of:
1. What's the point? In end-to-end encryption situations usually the concern is around data storage (perhaps), but for just sending messages typically TLS is enough (or seems it, anyway, from my perspective as a non-security engineer)
2. The codebase seems to have separate C, Rust, and Elixir versions. Are they interchangeable, or do they serve different purposes?
Of these I only have rough answers. For the first, it seems like this solves the problem where, say, a single TLS connection isn't enough to get the data all the way to where it's needed (perhaps you need to go over bluetooth, or do multiple steps of HTTP, etc).
And for the second, well, I'm not sure. I think the C implementation might be equivalent, and be being replaced by the Rust one?
1. What's the point? In end-to-end encryption situations usually the concern is around data storage (perhaps), but for just sending messages typically TLS is enough (or seems it, anyway, from my perspective as a non-security engineer)
2. The codebase seems to have separate C, Rust, and Elixir versions. Are they interchangeable, or do they serve different purposes?
Of these I only have rough answers. For the first, it seems like this solves the problem where, say, a single TLS connection isn't enough to get the data all the way to where it's needed (perhaps you need to go over bluetooth, or do multiple steps of HTTP, etc).
And for the second, well, I'm not sure. I think the C implementation might be equivalent, and be being replaced by the Rust one?