You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Sep 18, 2019. It is now read-only.
The test vectors presently use the following ciphersuite strings:
XSTREAM_X25519_HKDF_SHA256_AES128_SIV
Key Agreement: X25519
KDF: HMAC-SHA-256
Symmetric Cipher: AES-128-SIV
XSTREAM_X25519_HKDF_SHA256_AES128_PMAC_SIV
Key Agreement: X25519
KDF: HMAC-SHA-256
Symmetric Cipher: AES-128-PMAC-SIV
However, none of the existing XSTREAM implementations accept these as arguments, but instead take an AES-SIV versus AES-PMAC-SIV string which is passed directly to Miscreant (where applicable).
For the Rust implementation in particular, it would be nice to have object safe traits for STREAM which allow us to use either STREAM or XSTREAM via a trait object, and in particular to select the stream encryptor type to use based on a string.
The text was updated successfully, but these errors were encountered:
In particular, these constructions could very well be made through a series of Decorator-pattern traits/impls. Stringly-typed parameters in Rust is just.... wrong!
I'd argue that handling strings and converting them to a strongly-typed interface belongs in the frontend - in the commandline parser stage for handling CLI args; in the config file loading stage for handling configurations, etc.
There will certainly be cases where people know they only want one of these, or they have a system based on numeric or UUID identifiers, or other reasons why the particular strings miscreant and/or xstream expect are irrelevant. In those situations, they will have lost static validation of what they're passing for zero gain.
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The test vectors presently use the following ciphersuite strings:
However, none of the existing XSTREAM implementations accept these as arguments, but instead take an
AES-SIV
versusAES-PMAC-SIV
string which is passed directly to Miscreant (where applicable).For the Rust implementation in particular, it would be nice to have object safe traits for STREAM which allow us to use either STREAM or XSTREAM via a trait object, and in particular to select the stream encryptor type to use based on a string.
The text was updated successfully, but these errors were encountered: