So this is as simple as converting the Ed25519 key before ingesting into
libsignal (and vice versa)? From what I understand this wouldn't require
any modifications to libsignal itself, and really only some minor app
changes for implementors. If that's correct, this seems like a great
compromise.

On Sun, May 28, 2017 at 10:53 PM, Remko Tronçon <re...@el-tramo.be> wrote:

> Hi,
>
> I may have a solution to our OMEMO key agreement discussion that satisfies
> all of us.
>
> - We change the Identity keys to be Ed25519 keys instead of Curve25519.
> Current client deployments are by default libsignal-based, and therefore
> have access to Curve25519-to-Ed25519 conversion methods to convert already
> authenticated keys, so they don't have to lose their keys.
> - We change X3DH such that
>    - Sig(PK, M) is EdDSA(PK, M) instead of XEdDSA(PK, M) (PK is now an
> Ed25519 key). Libsignal already comes with an Ed25519 implementation.
>    - DH(IK, ...) becomes DH(Ed2Curve(IK), ...). Ed25519-to-Curve25519 is a
> conversion that is simpler than the other way round, and there are
> liberally licensed implementations. Libsodium has a ref10-based one, so it
> can be dropped in directly into libsignal: https://download.
> libsodium.org/doc/advanced/ed25519-curve25519.html
>
> This drops the dependency on XEdDSA, and has a minimal impact on existing
> libsignal-based implementations. It *does* make the key agreement more
> complicated than the one in Olm (which does simple 3DH), but maybe that's a
> price we're willing to pay?
>
> Remko
>
> _______________________________________________
> Standards mailing list
> Info: https://mail.jabber.org/mailman/listinfo/standards
> Unsubscribe: standards-unsubscr...@xmpp.org
> _______________________________________________
>
>
_______________________________________________
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
_______________________________________________

Reply via email to