ASIC-RAG-CHIMERA
GPU simulation of a SHA-256 hash engine inspired by Bitcoin mining ASICs, wired into a RAG pipeline. Pure software; no real ASIC hardware required.
What this is
ASIC-RAG-CHIMERA is a software research artifact. It consists of:
- A GPU-accelerated SHA-256 hash engine implemented in PyTorch that simulates the kind of bulk hashing a Bitcoin-style ASIC would do. It runs on a normal CUDA GPU (or CPU fallback). It is a software simulation, not an ASIC.
- A cryptographic RAG pipeline that indexes documents by SHA-256 tags instead of plaintext embeddings, encrypts blocks with AES-256-GCM, and verifies integrity with a Merkle tree.
- A demonstration workflow with synthetic patient records illustrating how the pipeline could be configured for privacy-sensitive data (see
ASIC-RAG-HEALTH_Validation/). The data is fabricated. This is not a clinical tool and must not be used for medical decision making.
What this is NOT
- Not real ASIC hardware. There is no silicon, no Verilog tape-out, no FPGA bitstream. The "ASIC" in the name refers to the architectural inspiration for the GPU simulator module (
asic_simulator/). - Not a medical device. The health demo uses synthetic records and is illustrative only.
- Not a Bitcoin miner. The SHA-256 engine is used for content-addressed indexing, not proof-of-work.
Installation
pip install asic-rag-chimera
Optional extras:
pip install "asic-rag-chimera[gpu]" # Ensure PyTorch with CUDA is available
pip install "asic-rag-chimera[wandb]" # Experiment tracking
pip install "asic-rag-chimera[dev]" # Tests, build, twine
From source:
git clone https://github.com/Agnuxo1/ASIC-RAG-CHIMERA.git
cd ASIC-RAG-CHIMERA
pip install -e ".[dev]"
Quick start
import os
from asic_simulator import GPUHashEngine, IndexManager, KeyGenerator
from rag_system import DocumentProcessor, QueryEngine
hash_engine = GPUHashEngine()
index_manager = IndexManager()
key_generator = KeyGenerator(master_key=os.urandom(32))
processor = DocumentProcessor()
blocks = processor.create_blocks("Your document content here")
query_engine = QueryEngine(index_manager, hash_engine)
results = query_engine.search("your query", max_results=5)
Or use the integrated facade:
from asic_rag_chimera import ASICRAGSystem
system = ASICRAGSystem(storage_path="./data", master_key=os.urandom(32))
system.ingest("document.txt")
result = system.query("What is the revenue?")
Architecture
┌──────────────┐ text ┌─────────────┐ tag hashes ┌────────────────────┐
│ User query │────────────▶│ LLM (GPU) │─────────────────▶│ GPU SHA-256 engine │
└──────────────┘ └─────────────┘ │ (asic_simulator) │
▲ └──────────┬─────────┘
│ decrypted blocks │ hash lookup
▼ ▼
┌────────────────────────────────────────────────────┐
│ Encrypted block storage (LMDB / AES-256-GCM) │
│ Merkle tree integrity proofs │
└────────────────────────────────────────────────────┘
Running tests and coverage
pytest tests/ -v # 53/53 tests pass
pytest tests/ --cov=asic_simulator --cov=rag_system --cov=asic_rag_chimera --cov-report=term --cov-report=xml
Measured line coverage on the core packages is 57% (1658 statements, 706 missed), written to coverage.xml. Previous READMEs claimed "100%" — that was never measured. The 53 tests all pass; they simply don't exercise every branch of keyword_extractor, query_engine, key_generator, etc.
Security model
| Attack vector | Traditional RAG | ASIC-RAG-CHIMERA |
|---|---|---|
| Disk theft | Plaintext exposure | Encrypted blocks |
| Embedding inversion | Partial recovery | N/A (no embeddings stored) |
| Index enumeration | Knowledge graph exposed | Opaque SHA-256 tags |
| Key capture | Permanent access | 30-second TTL session keys |
| Data tampering | Undetected | Merkle proof verification |
Claims above describe the design. This is a research prototype, not an audited product.
Repository layout
asic_simulator/ GPU SHA-256 engine + tag index + key generator
rag_system/ Document processor, block storage, query engine
asic_rag_chimera.py Integrated facade (ASICRAGSystem)
tests/ 53 pytest tests
benchmarks/ Microbenchmarks for hash and search latency
archive/ Historical artefacts (PDFs, HTML, duplicate dirs) — not shipped
huggingface_space/ HF Space demo app
Citation
@software{angulo_asic_rag_chimera_2026,
author = {Angulo de Lafuente, Francisco},
title = {ASIC-RAG-CHIMERA: GPU Simulation of a SHA-256 Hash Engine for Cryptographic RAG},
year = {2026},
version = {1.0.0},
doi = {10.5281/zenodo.17872052},
url = {https://github.com/Agnuxo1/ASIC-RAG-CHIMERA}
}
See CITATION.cff.
Author
Francisco Angulo de Lafuente — GitHub @Agnuxo1
License
MIT — see LICENSE.
Metadata
Release files for asic-rag-chimera 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| asic_rag_chimera-1.0.0.tar.gz | 46.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| asic_rag_chimera-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 91.3 kB
Release files / asic_rag_chimera-1.0.0.tar.gz
| Download URL | asic_rag_chimera-1.0.0.tar.gz |
|---|---|
| Size | 46.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
199841c3c379788c2d25c50e356c114ae5313306f38cf6417d74b91b98e04a70
|
|
BLAKE2b-256 checksum How to use checksums |
8502825d217f788ea73a6cfa1e23a4644626ed2f17bc00063ffca464794376ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / asic_rag_chimera-1.0.0-py3-none-any.whl
| Download URL | asic_rag_chimera-1.0.0-py3-none-any.whl |
|---|---|
| Size | 45.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae5e3387437288b00f81084ec9722145df4b8637f52f1503c03372a016649e09
|
|
BLAKE2b-256 checksum How to use checksums |
a156a77cf8031bd344b1833ee57bd8f62eb41c77ed584e4403ef50cad4357193
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|