# Tequel



*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)
- [๐ 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)
## ๐ 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.0"
```
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.