#tor #arti

tor-hscrypto

Basic onion service cryptography types used by Aerti

8 releases

0.3.2 Sep 5, 2023
0.3.1 Aug 1, 2023
0.3.0 Jun 30, 2023
0.2.1 Jun 1, 2023
0.1.1 Feb 28, 2023

#1456 in Cryptography

Download history 33/week @ 2023-06-05 42/week @ 2023-06-12 123/week @ 2023-06-19 169/week @ 2023-06-26 247/week @ 2023-07-03 153/week @ 2023-07-10 180/week @ 2023-07-17 145/week @ 2023-07-24 251/week @ 2023-07-31 173/week @ 2023-08-07 204/week @ 2023-08-14 173/week @ 2023-08-21 160/week @ 2023-08-28 332/week @ 2023-09-04 131/week @ 2023-09-11 191/week @ 2023-09-18

833 downloads per month
Used in 19 crates (9 directly)

MIT/Apache

420KB
6.5K SLoC

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


lib.rs:

Dependencies

~11MB
~214K SLoC