librustzcash/components/zcash_note_encryption/README.md

41 lines
1.8 KiB
Markdown
Raw Normal View History

# zcash_note_encryption
This crate implements the [in-band secret distribution scheme] for the Sapling and
Orchard protocols. It provides reusable methods that implement common note encryption
and trial decryption logic, and enforce protocol-agnostic verification requirements.
Protocol-specific logic is handled via the `Domain` trait. Implementations of this
trait are provided in the [`zcash_primitives`] (for Sapling) and [`orchard`] crates;
users with their own existing types can similarly implement the trait themselves.
[in-band secret distribution scheme]: https://zips.z.cash/protocol/protocol.pdf#saplingandorchardinband
[`zcash_primitives`]: https://crates.io/crates/zcash_primitives
[`orchard`]: https://crates.io/crates/orchard
## License
Licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
Downstream code forks should note that 'zcash_note_encryption' depends on the
'orchard' crate, which is licensed under the
[Bootstrap Open Source License](https://github.com/zcash/orchard/blob/main/LICENSE-BOSL).
A license exception is provided allowing some derived works that are linked or
combined with the 'orchard' crate to be copied or distributed under the original
licenses (in this case MIT / Apache 2.0), provided that the included portions of
the 'orchard' code remain subject to BOSL.
See https://github.com/zcash/orchard/blob/main/COPYING for details of which
derived works can make use of this exception.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally
submitted for inclusion in the work by you, as defined in the Apache-2.0
license, shall be dual licensed as above, without any additional terms or
conditions.