Skip to main content

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.

Project description

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.

DOI PyPI Tests Coverage HF Space Python License


What this is

ASIC-RAG-CHIMERA is a software research artifact. It consists of:

  1. 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.
  2. 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.
  3. 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 LafuenteGitHub @Agnuxo1

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asic_rag_chimera-1.0.0.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asic_rag_chimera-1.0.0-py3-none-any.whl (45.0 kB view details)

Uploaded Python 3

File details

Details for the file asic_rag_chimera-1.0.0.tar.gz.

File metadata

  • Download URL: asic_rag_chimera-1.0.0.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for asic_rag_chimera-1.0.0.tar.gz
Algorithm Hash digest
SHA256 199841c3c379788c2d25c50e356c114ae5313306f38cf6417d74b91b98e04a70
MD5 3f7128444b87f59740ee47009a9ccb61
BLAKE2b-256 8502825d217f788ea73a6cfa1e23a4644626ed2f17bc00063ffca464794376ca

See more details on using hashes here.

File details

Details for the file asic_rag_chimera-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for asic_rag_chimera-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae5e3387437288b00f81084ec9722145df4b8637f52f1503c03372a016649e09
MD5 a422714b86ddbd287749e008460975dc
BLAKE2b-256 a156a77cf8031bd344b1833ee57bd8f62eb41c77ed584e4403ef50cad4357193

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page