Crate hashx

Source
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
HashXBuilder
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§

CompilerError
Details about a compiler error
Error
Errors that could occur while building a hash function
Runtime
Effective HashX runtime for a constructed program
RuntimeOption
Option for selecting a HashX runtime
RuntimeProgram 🔒
Combination of Runtime and the actual program info used by that runtime