librustzcash/components/zcash_note_encryption/README.md

1.8 KiB

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.

License

Licensed under either of

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. 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.