Crate xynth

Source
Expand description

Xynth hashing algorithm, that runs large program on virtual VLIW (128 bit) CPU machine. Program code depends on input data. Xynth is developed for the same purpose, as RandomX - to avoid processing algo on GPU and ASIC.

§Examples

use xynth::XynthVM;
fn main() {
   let mut m: XynthVM = XynthVM::new();
   let a;
   let b;
   unsafe {
       a = m.hash(&1i32.to_le_bytes(), xynth::HashLength::H256, None);
       b = m.hash(&2i32.to_le_bytes(), xynth::HashLength::H256, None);
   }
   assert!(a != b)
}

Structs§

XynthVM
VM, that proccessing 32 MiB random executable virtual code on 1 thread and uses 224 MiB as RAM. VM contains 6 registers: 2 for integer, 2 for float, 2 for AES integer data.

Enums§

HashLength
Length of hash in bits. 128b = 16 bytes. Length does not affect on perfomance, BUT on output result.