tequel-rs 0.4.5

An authenticated simetric encrypt engine (AEAD), robust and caotic.
Documentation
# Tequel


![Crates.io Version](https://img.shields.io/crates/v/tequel-rs?style=flat-square&color=orange)
![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)
![Rust](https://img.shields.io/badge/rust-v1.70%2B-black?style=flat-square&logo=rust)

*A authenticated simetric encrypt engine (AEAD), robust and caotic built in Rust.*

**Tequel 0.4.0 High-Performance AEAD:** Certified Entropy of 7.99985 and Avalanche Stability over 112M iterations. Use for research, high-speed obfuscation, and experimental secure storage. Formal side-channel audit pending.

*By Gabriel Xavier : ]*

## Summary


- [Tequel]#tequel
  - [Summary]#summary
  - [πŸ“Š Performance Benchmarks]#-performance-benchmarks
    - [Latency \& Throughput](#latency--throughput)
    - [Parallel Stress Test]#parallel-stress-test
  - [πŸ“Š Stress and Safety report (v0.3.0 - v0.4.0)]#-stress-and-safety-report-v030---v040
    - [**1. Colision Test (Avalanche Test)**]#1-colision-test-avalanche-test
    - [**2.** **Entropy Analize (Shannon Entropy)**]#2-entropy-analize-shannon-entropy
    - [**3. Memory Forensic Resistance (Zeroize Memory)**]#3-memory-forensic-resistance-zeroize-memory
  - [βš™οΈ What does **Tequel** do?]#️-what-does-tequel-do
  - [πŸ“₯ How to Install and Use]#-how-to-install-and-use
  - [⁉️ Guide]#️-guide
  - [Why the name 'Tequel'?]#why-the-name-tequel
  - [License]#license


## πŸ“Š Performance Benchmarks


Verified using `criterion.rs` on an optimized release build.

### Latency & Throughput

| Operation | Data Size | Result |
| :--- | :--- | :--- |
| **Encryption Latency** | 1 KB | **105.5 Β΅s** |
| **Stable Throughput** | 1 MB | **9.31 MiB/s** |
| **Stable Throughput** | 5 MB | **8.83 MiB/s** |

### Parallel Stress Test

* **Scenario:** 100 concurrent chunks (10KB each)
* **Total Time:** **25.42 ms**
* **Conclusion:** Tequel scales linearly with CPU cores, making it ideal for multi-threaded applications.


## πŸ“Š Stress and Safety report (v0.3.0 - v0.4.0)

A Tequel v0.4.0 was submitted strict tests to ensure your robustness:

### **1. Colision Test (Avalanche Test)**


Using a stress script to compare hashes of millions of unique inputs:

Result: **110.600.000+ iterations** with none colision found.

**Status: βœ… Approved** for use in identification and integrity systems.

### **2.** **Entropy Analize (Shannon Entropy)**


We measured an imprevisibility of generated bytes to ensure that hash be indistinguishable of pure random noise.

Obtained entropy: **7.999885 bits/byte** (MΓ‘ximo teΓ³rico: **8.0**).

**Status: πŸ† Excellent.** The result reaches **TEQUEL** a statistical threshold of algorithms as **SHA-256** and **AES** in terms of cargo distribution.

### **3. Memory Forensic Resistance (Zeroize Memory)**


To prevent sensitive data from lingering in RAM after processing, **TEQUEL v0.4.0** implements active memory cleaning.

- **Mechanism:** Integration with the `zeroize` framework to ensure that `Keys` and `Salts`, and `Plaintext` buffers are overwritten with zeros immediately after the object is dropped.

- **Protection**: Mitigates **Cold Boot Attacks** and memory dump forensics, ensuring that cryptographic secrets "evaporate" from the system's memory as soon as the operation is completed.

**Status:** **πŸ”’ Hardened.** Memory lifecycle is now strictly managed by Rust's ownership system combined with volatile memory wiping. 



## βš™οΈ What does **Tequel** do?


- **Confidentiality**: Leverages XOR operations, Modular-Arithmetics, an Bitwise Wrapping with internal constants to "mask" and secure data.
- **Integrity (MAC)**: Implements Message Authentication Codes to validade if data was tampered with before attempting decryption.
- **Salting:** Dynamically generates salts to ensure that the same input always produces unique, non-deterministic ciphertexts.
- **Encrypt-then-MAC (EtM) Architecture**: Follows the industry-standard EtM approach for superior security, ensuring that integrity is verified before any cryptographic processing.

## πŸ“₯ How to Install and Use


1. Install with **Cargo**
```
cargo install tequel-rs
```

2. Add in your `cargo.toml`'s project

```toml
[dependencies]
tequel-rs = "0.4.5"
```

3. Use in your project

```rust
use tequel_rs::hash::TequelHash;

fn main() {
    let mut teq = TequelHash::new()
        .with_salt("your_secret_key")
        .with_iteration(32);

    let hash = teq.dt_hash_string("data");
    println!("hash: {}", hash);
}
```

## ⁉️ Guide


Welcome to Tequel's Guide, here you will understand how each function of Tequel works.

- [Tequel RNG]./docs/Core/RNG.md β€” Low-level random number generation.
- [Tequel Hash]./docs/Core/Hashing.md <br> β€” Deterministic and non-deterministic hashing.
- [Tequel Encryption]./docs/Core/Encryption.md <br> β€” Authenticated encryption flow.

## Why the name 'Tequel'?


"Tequel" is a biblical reference from the *Book of Daniel*.

"Mene, Mene, **Tequel**, Parsim" β€” Daniel 5:25-28

This is a mysterious Aramaic phrase written by a divine hand on the wall during the Babylonian King Belshazzar's feast.

The prophet Daniel interpreted the message, which announced the end of Belshazzar's reign: *God* had numbered the kingdom, weighed the king, and divided the empire between the Medes and Persians. The kingdom fell that very night.

**TEQUEL** means "Weighed" or "Heavy." I chose this name because:

**The Mystery:** The message was "decrypted" by Daniel, a perfect metaphor for an encryption library.

**The Weight:** It represents the "heavy" security and robustness that Tequel provides to your data.

## License


**MIT License** - free to use, modify and integrate.