Expand description
§hashx
hashx
: Rust reimplementation of tevador’s HashX ASIC-resistant hash function
This is an ASIC-resistant hash function designed by tevador as a lightweight variant of RandomX’s SuperscalarHash, optimized for Tor’s client puzzle use case. Check out tevador’s dev log for more information.
This is for Tor client puzzle support in Arti. (#889)
Modules§
- compiler 🔒
- Architecture-specific compiled implementations for HashX
- constraints 🔒
- Constraints that affect program generation
- err 🔒
- Error types for the
hashx
crate - generator 🔒
- Pseudorandom generator for hash programs and parts thereof
- program 🔒
- Define the internal hash program representation used by HashX.
- rand 🔒
- Pseudorandom number utilities for HashX’s program generator
- register 🔒
- Define HashX’s register file, and how it’s created and digested.
- scheduler 🔒
- Scheduling model for program generation
- siphash 🔒
- HashX-flavored SipHash implementation
Structs§
- HashX
- Pre-built hash program that can be rapidly computed with different inputs
- HashX
Builder - Builder for creating
HashX
instances with custom settings - SipRand
- HashX-style random number generator built on SipHash1,3
- SipState
- Internal state of one SipHash instance
Enums§
- Compiler
Error - Details about a compiler error
- Error
- Errors that could occur while building a hash function
- Runtime
- Effective HashX runtime for a constructed program
- Runtime
Option - Option for selecting a HashX runtime
- Runtime
Program 🔒 - Combination of
Runtime
and the actual program info used by that runtime