Crate tor_hscrypto
source ·Expand description
§tor-hscrypto
tor-hscrypto
: Basic cryptography used by onion services
§Overview
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:
- A set of key-blinding operations to derive short-term public keys from long-term public keys.
- An ad-hoc SHA3-based message authentication code.
- Operations to encode and decode public keys as
.onion
addresses. - A set of operations to divide time into different “periods”. These periods are used as inputs to the DHT-style hash ring, and to the key-blinding operations.
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.
License: MIT OR Apache-2.0
Modules§
- ope
ope
A simple order-preserving encryption function. - Mid-level cryptographic operations used in the onion service protocol.
- Key type wrappers of various kinds used in onion services.
- Manipulate time periods (as used in the onion service system)
Structs§
- An opaque value
RENDEZVOUS_COOKIE
used at a rendezvous point to match clients and services. - Counts which revision of an onion service descriptor is which, within a given time period.
- A value to identify an onion service during a given period. (
N_hs_subcred
)
Constants§
- Default number of introduction points a service should establish
- Maximum number of introduction points a service should establish and we should tolerate