Skip to content

guiperry/ASIC-Shield

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASIC-Shield v2.0 - Quantum-Resistant Password Vault

logo

A quantum-resistant authentication system using repurposed Antminer S3 Bitcoin mining hardware with High-Velocity Rolling Salt (HVRS) technology.

Table of Contents

Overview

ASIC-Shield transforms obsolete Bitcoin mining hardware into a secure, quantum-resistant password vault. It uses ASIC hashing chips to implement extreme-iteration Key Derivation Functions (100M-500M iterations), creating a "moving target defense" where authentication challenges rotate faster than quantum computers can attack.

Current Status

Phase: Production Ready (v2.0)

  • Interactive BubbleTea TUI with menu navigation
  • Credential storage and verification
  • Embedded API server and device discovery tools
  • CGMiner API integration for device communication
  • REST API with MCP integration endpoints

Quick Start

# Build all binaries
make build-tui

# Run the interactive TUI
./bin/asic-shield

Features

Interactive TUI

  • Menu-driven interface using BubbleTea
  • Credential management: Store, verify, list, search, delete
  • Device status: View ASIC hardware status
  • Embedded server: Start REST API from within TUI
  • Device discovery: Scan network for Antminer devices

Command-Line Interface

  • Full credential management via CLI
  • Device status and monitoring
  • Network device discovery

REST API Server

  • Credential CRUD operations
  • Password verification endpoint
  • Semantic search
  • MCP integration for 1Password sync
  • Device status endpoint

Security

  • AES-256-GCM encryption at rest
  • SHA3-256 KDF with ASIC acceleration
  • Quantum-resistant HVRS protocol
  • High-velocity salt rotation

Project Structure

asic-shield-poc/
├── bin/                         # Built binaries
│   ├── asic-shield             # Main TUI application
│   ├── asic-shield-server      # REST API server
│   └── device-discover         # Network scanner
├── cmd/
│   ├── asic-shield/           # Main TUI (BubbleTea)
│   ├── asic-shield-server/    # REST API server
│   ├── device-discover/       # Network device scanner
│   ├── asic-monitor/           # ASIC monitoring (MIPS)
│   ├── device-probe/          # Device probe (MIPS)
│   └── ...
├── pkg/                        # Shared libraries
│   ├── driver/                # Device drivers (CGMiner API)
│   ├── kdf/                   # Key derivation engine
│   ├── storage/               # Encrypted storage backend
│   └── vault/                 # Credential manager
├── internal/
│   ├── config/                # Configuration management
│   └── logger/                # Logging utilities
├── scripts/
│   ├── kill-asic-shield.sh   # Stop all processes
│   └── ...
├── docs/                      # Architecture docs
├── Makefile                  # Build automation
└── go.mod                    # Go module

Build Instructions

Prerequisites

  • Go 1.24+
  • Make

Build Commands

# Build everything (TUI + embedded binaries)
make build-tui

# Build just the embedded binaries
make build-embedded

# Build individual binaries
go build -o bin/asic-shield cmd/asic-shield/main.go
go build -o bin/asic-shield-server cmd/asic-shield-server/main.go
go build -o bin/device-discover cmd/device-discover/main.go

# Clean build artifacts
make clean

Output Binaries

Binary Size Purpose
bin/asic-shield ~24MB Main TUI application
bin/asic-shield-server ~9MB REST API server
bin/device-discover ~6MB Network device scanner

Usage

Interactive TUI

./bin/asic-shield

Navigation:

  • Arrow keys (↑/↓) to navigate menu
  • Enter to select
  • Tab to switch form fields
  • Esc to go back
  • q to quit

Menu Options:

  1. Store Credential - Add new username/password
  2. Verify Password - Check if password matches
  3. List Credentials - View all stored credentials
  4. Search Credentials - Search by name/username/target
  5. Delete Credential - Remove a credential
  6. Device Status - View ASIC hardware status
  7. Start Server - Launch REST API server (embedded)
  8. Device Discover - Scan for Antminer devices (embedded)
  9. Exit - Quit application

REST API Server

# Start server (from TUI or CLI)
./bin/asic-shield-server

# Or via TUI menu option
./bin/asic-shield
# Select "Start Server"

API Endpoints:

  • GET /api/v1/health - Health check
  • GET /api/v1/credentials - List credentials
  • POST /api/v1/credentials - Store credential
  • DELETE /api/v1/credentials?username=x - Delete credential
  • POST /api/v1/verify - Verify password
  • GET /api/v1/search?query=x - Search credentials
  • GET /api/v1/device/status - Device status
  • GET /api/v1/mcp/credentials - MCP integration

Default port: 8443

Device Discovery

# Scan default range (192.168.12.0/24)
./bin/device-discover

# Scan custom range
./bin/device-discover 192.168.1.0/24

# Via environment variable
DEVICE_IP_RANGE=192.168.1.0/24 ./bin/device-discover

Kill Script

# Stop all ASIC-Shield processes
./scripts/kill-asic-shield.sh

This stops:

  • Running TUI
  • API server
  • Device discover
  • Processes on port 8443

Architecture

Component Layers

┌─────────────────────────────────────┐
│     Interactive TUI (BubbleTea)     │
├─────────────────────────────────────┤
│        CLI (Cobra) / REST API      │
├─────────────────────────────────────┤
│    Vault Manager (Credentials)     │
├─────────────────────────────────────┤
│   Storage (AES-256-GCM) / KDF     │
├─────────────────────────────────────┤
│   Device Driver (CGMiner API)     │
├─────────────────────────────────────┤
│      Antminer S3 Hardware          │
└─────────────────────────────────────┘

Security Model

  • KDF: SHA3-256 with 100M-500M iterations
  • Encryption: AES-256-GCM for stored credentials
  • HVRS: Salt rotates every 100ms (10 Hz)
  • Quantum Resistance: ~2^48 hashes per target = ~5 min @ 500 GH/s

Data Directory

Binaries are exported to OS-specific app data directories:

OS Location
Linux ~/.local/share/asic-shield/ or $XDG_DATA_HOME/asic-shield
macOS ~/Library/Application Support/asic-shield
Windows %APPDATA%/asic-shield

Hardware

  • Device: Bitmain Antminer S3
  • Controller: Atheros AR9330 (MIPS 24Kc @ 400MHz)
  • RAM: 61MB
  • ASIC: 32x BM1382 chips (~500 GH/s SHA-256)
  • Network: 192.168.12.151:4028 (CGMiner API)
  • SSH: root / keperu100

Development

Running Tests

go test ./...

Adding Dependencies

go get package@version
go mod tidy

Troubleshooting

SSH Connection Issues

ssh -o KexAlgorithms=+diffie-hellman-group14-sha1 \
    -o HostKeyAlgorithms=+ssh-rsa \
    root@192.168.12.151

Device Not Connected

# Check if CGMiner is running on the device
ssh root@192.168.12.151 'pgrep -a cgminer'

# CGMiner must be running for device access
# The API driver connects via port 4028

TUI Won't Start

# Check terminal capabilities
echo $TERM

# Try with dumb terminal if needed
TERM=dumb ./bin/asic-shield

📚 Additional Resources


Last Updated: March 17, 2026 Version: 2.0

About

A Repurposed Mining device provisioning application for Hardware-Accelerated Security Infrastructure

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors