xstream.rb Latest Version Build Status Yard Docs MIT licensed Gitter Chat

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.

More information on XSTREAM is available in the Wiki.

Help and Discussion

Have questions? Want to suggest a feature or change?

Security Notice

Though this library is written by cryptographic professionals, it has not undergone a thorough security audit, and cryptographic professionals are still humans that make mistakes.

Use this library at your own risk.


This library is tested against the following MRI versions:

  • 2.2
  • 2.3
  • 2.4
  • 2.5

Other Ruby versions may work, but are not officially supported.


Add this line to your application's Gemfile:

gem "xstream"

And then execute:

$ bundle

Or install it yourself as:

$ gem install xstream


Please see the XSTREAM Wiki for API documentation.

Yard documentation is also available.

Code of Conduct

We abide by the Contributor Covenant and ask that you do as well.

For more information, please see CODE_OF_CONDUCT.md.


Bug reports and pull requests are welcome on GitHub at https://github.com/miscreant/xstream.


Copyright (c) 2017 The Miscreant Developers.

All XSTREAM libraries are licensed under either of:

at your option.