Web Interface Documentation

Browser-based interface for Shamir's Secret Sharing

Web Client Overview

The web interface provides a user-friendly way to split secrets into shares and reconstruct them using a browser. It's built with Flask and includes all the security features of the core library.

Split Secrets

  • Enter text secrets directly
  • Set threshold and total shares
  • Optional verification
  • Download all shares

Combine Shares

  • Paste shares or upload file
  • Hash verification
  • Secure reconstruction
  • Visual verification results

Running the Web Client

1. Prerequisites

Make sure you have Python 3.6+ installed

2. Install Requirements

pip install -r requirements.txt

3. Run the Web Server

python -m client

4. Access the Interface

http://localhost:5000

Open this URL in your web browser

API Endpoints

POST /split

Split a secret into shares.

Parameters:

  • secret: The secret text to split (required)
  • threshold: Minimum shares needed (default: 2)
  • shares: Total shares to generate (default: 3)
  • verify: Verify reconstruction (default: true)

POST /combine

Reconstruct a secret from shares.

Parameters:

  • shares_text: Pasted shares (one per line)
  • shares_file: File containing shares
  • hash: Original hash for verification (optional)

Security Considerations

Important: While the web interface is secure, consider these factors:

  • Secrets are processed server-side - only use trusted instances
  • For maximum security, run locally or on trusted networks
  • Browser caching may store sensitive information
  • Use HTTPS in production environments