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 was archived by the owner on Sep 18, 2019. It is now read-only.
NOTE: This project has been archived! Please check out the STREAM functionality in JMSE as a spiritual successor
XSTREAM
A public-key encryption system supporting streaming message encryption/decryption.
What is XSTREAM?
XSTREAM (pronounced "extreme!") is a public key encryption system combining
X25519 Elliptic Curve Diffie-Hellman (RFC 7748) with the STREAM construction.
The implementations in this repository are built on top of the
Miscreant misuse-resistant symmetric encryption library, which provides
the AES-SIV and AES-PMAC-SIV algorithms.
XSTREAM is an experimental construction whose design has not yet been
finalized which is still potentially subject to change. It is not yet suitable
to use in production systems.
The design has not yet been thoroughly reviewed and we're presently soliciting
feedback from cryptographers.
Additionally all XSTREAM libraries are v0.1, which is hopefully a sign,
at least for a cryptography library, that you should probably wait before
attempting to use it.
NOTE: As XSTREAM derives a unique symmetric key every time the KDF is
invoked, and also supports an optional salt value passed directly to HKDF,
the N parameter passed to the underlying STREAM construction is fixed to
all-zeroes.
The API is explicitly designed to prevent encrypting more than one message under
the same ephemeral key.
Language Support
XSTREAM libraries are available for the following languages: