Many other systems and languages use something like libsodium for AEAD. libsodium uses XSalsa20Poly1305 and not ChaCha20Poly1305 which means that we cannot easily support communication with these other systems, without introducing a dependency on the libsodium C library, for example on iOS or server-side.
Is the swift-crypto team open to the idea of adding support for XSalsa20 in the _CryptosExtras? Unfortunately, BoringSSL does not provide any APIs for this (but they do for Poly1305). The implementation of xsalsa20 would be written in Swift. However, I was uncertain whether any non-boringSSL APIs were allowed in this library or not.
I'd be happy to help drive the implementation forward!
Many other systems and languages use something like
libsodiumfor AEAD. libsodium usesXSalsa20Poly1305and notChaCha20Poly1305which means that we cannot easily support communication with these other systems, without introducing a dependency on the libsodiumClibrary, for example on iOS or server-side.Is the
swift-cryptoteam open to the idea of adding support forXSalsa20in the_CryptosExtras? Unfortunately, BoringSSL does not provide any APIs for this (but they do for Poly1305). The implementation ofxsalsa20would be written in Swift. However, I was uncertain whether any non-boringSSL APIs were allowed in this library or not.I'd be happy to help drive the implementation forward!