Crates.io | tor-hscrypto |
lib.rs | tor-hscrypto |
version | 0.24.0 |
source | src |
created_at | 2023-02-01 17:02:55.322945 |
updated_at | 2024-10-31 14:07:37.73708 |
description | Basic onion service cryptography types used by Aerti |
homepage | https://gitlab.torproject.org/tpo/core/arti/-/wikis/home |
repository | https://gitlab.torproject.org/tpo/core/arti.git/ |
max_upload_size | |
id | 773954 |
size | 111,516 |
tor-hscrypto
: Basic cryptography used by onion services
This crate is part of Arti, a project to implement Tor in Rust.
Onion services and the clients that connect to them need a few cryptographic operations not used by the rest of Tor. These include:
.onion
addresses.This crate implements those operations, along with a set of wrapper types to keep us from getting confused about the numerous keys and nonces used for the onion services.
memquota-memcost
-- implement tor_memquota::HasMemoryCost
for many types.
(Does not actually force compiling in memory quota tracking;
that's memquota
in tor-memquota
and higher-level crates.)
ope
-- support for Order Preserving Encryption
full
-- Enable all features above.
Note that the APIs enabled by these features are NOT covered by semantic versioning1 guarantees: we might break them or remove them between patch versions.
pow-v1
-- Tor Hidden Services Proof of Work (v1
scheme only)
pow-full
-- Tor Hidden Services Proof of Work
(metafeature, enables all non-experimental schemes: currently, implies only pow-v1
).
experimental
: Enable all the above experimental features.
MIT OR Apache-2.0
When the pow
feature is used, we link with LGPL licensed dependencies.
Remember, semantic versioning is what makes various cargo
features work reliably. To be explicit: if you want cargo update
to only make safe changes, then you cannot enable these
features. ↩