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§

  • 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§

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