tequel-rs 0.8.2

A high-performance, Dual-Wide SIMD cryptographic engine and hash function, built in pure Rust for modern x86_64 architectures.
Documentation

Tequel (TQL-11)

Crates.io Version License Rust

A high-performance, Dual-Wide SIMD cryptographic engine and hash function, built in pure Rust for modern x86_64 architectures.

Tequel 0.8.0: The Dual-Wide & Entropy Update. Featuring a redesigned AVX2 core, the TQL-11 engine now processes 64-byte chunks per iteration, delivering a near-perfect 50.14% Avalanche Effect and scaling to ~970 MiB/s in parallel environments.

By Gabriel "dotxav" Xavier (@G4brielXavier)

🔬 Internal Architecture: TQL-11 (Dual-Wide SIMD)

Tequel is powered by the TQL-11, a custom ARX (Addition-Rotation-XOR) primitive engineered for high-density bit diffusion.

  • Dual-Wide Execution: Processes two 32-byte YMM blocks simultaneously (ymm1 and ymm2) using interleaved state mapping to maximize CPU pipeline throughput.
  • Asymmetric Index Shifting: Offsets the internal state indices between parallel blocks to prevent bit-pattern alignment and maximize chaos.
  • Zero-Allocation Hex Engine: Optimized hexadecimal serialization using static lookup tables, bypassing the overhead of standard string formatting.
  • Register-Aware Design: Carefully tuned to utilize 14 of the 16 available YMM registers, eliminating "Register Spilling" and keeping all operations within the L1 Cache.

🌪️ The Physics of Chaos: Strict Avalanche Criterion (SAC)

Tequel (TQL-11) was engineered to achieve near-perfect bit diffusion. In our latest stress tests, the algorithm reached a 50.14% Strict Avalanche Criterion (SAC).

This means that flipping a single bit in the input results in an average change of 50.14% of the output bits, making the hash statistically indistinguishable from a random oracle. By leveraging a Vectorized Chaos Engine optimized for AVX2/SIMD, Tequel ensures that data integrity is maintained at wire-speed (~970 MiB/s) without sacrificing diffusion quality. This is critical for Digital Product Passports (DPP) and high-frequency IoT environments where even a 1-bit tampering must be immediately detectable.

📊 Performance Benchmarks (v0.8.0)

Algorithm Throughput (MB/s) Avalanche (SAC) CPU Usage Primary Use-Case
SHA-256 ~380 MB/s 50.01% High High-Security / Crypto
xxHash (XXH3) ~25,000+ MB/s 48.20% Ultra-Low Checksums / HashMaps
Tequel (TQL-11) ~970 MB/s 50.14% Medium-Low Industrial IoT / DPP

Note: Benchmarks conducted in --release mode. Throughput may vary based on hardware SIMD support.

Verified using criterion.rs on target-cpu=native.

Operation Implementation Result (v0.7.0) Result (v0.8.0) Improvement
Single-Core Throughput Scalar/SIMD 10.38 MiB/s 11.10 MiB/s +7.2%
Multi-Core Throughput Rayon Parallel ~120 MiB/s ~970 MiB/s +708%
Avalanche (SAC) Bit-diff 51.04% 50.14% Optimal
Serialization Hex Output format! macro Zero-Alloc Table O(1) Latency

🛡️ Statistical Rigor

1. Strict Avalanche Criterion (SAC)

The TQL-11 primitive ensures that any single-bit change in the input cascades into a complete transformation of the state.

  • Result: 50.14% (Ideal statistical randomness).
  • Interleaving: Uses a constant bit-twist (0x517CC1B7) to ensure unique entropy paths for parallel data blocks.

2. Shannon Entropy

  • Result: 7.999991 bits/byte. The output is statistically indistinguishable from white noise, making it a robust candidate for Key Derivation Functions (KDF).

⚙️ Core Features

  • AVX2 Optimized: Native 256-bit SIMD intrinsics for maximum hardware utilization.
  • Scalable: Built-in support for parallel processing via Rayon.
  • Low Latency: Designed for CLI tools (like Emet) where startup time and execution speed are critical.
  • Minimalist: Zero external dependencies (other than SIMD crates), keeping the binary small and secure.

📥 Installation

Add to your Cargo.toml:

[dependencies]

tequel-rs = "0.8.2"

Usage

High-Performance Hashing

use tequel_rs::hash::TequelHash;

fn main() {
    let mut teq = TequelHash::new();
    let data = b"data_to_hash";
    
    // Returns a 384-bit (96 chars) hex string
    let hash = teq.tqlhash(data);
    println!("TQL-11 Hash: {}", hash);
}

Parallel Stress Testing (Rayon)

use rayon::prelude::*;
use tequel_rs::hash::TequelHash;

fn main() {
    let chunks: Vec<Vec<u8>> = vec![vec![0u8; 1024 * 1024]; 64]; // 64MB of data
    
    chunks.par_iter().for_each(|chunk| {
        let mut teq = TequelHash::new();
        let _ = teq.tqlhash(chunk);
    });
}

Why the name 'Tequel'?

"Tequel" is a reference from the Book of Daniel: "Mene, Mene, Tequel, Parsim".

TEQUEL means "Weighed". It represents a judgment where data is weighed and its integrity verified. In this library, it stands for the cryptographic weight and the balance between speed and chaos—data secured by Tequel is weighed and found impenetrable.

License

MIT License - Build the future, keep it open.