Skip to main content

A seed plate scanner and parser tool

Project description

SLIP-PLATE - Shamir DEK Plates

SLIP-PLATE is a Python tool designed to split Data Encryption Keys (DEKs) (128/192/256-bit) using Shamir's Secret Sharing and render them as OneKey-style physical plates with built-in checksums.

Installation

You can now install SLIP-PLATE directly from PyPI:

pip install slip-plate

This will automatically install the necessary dependencies (cryptography and pyshamir) and register the slip-plate command in your terminal.

Usage

After installation, you can run the tool from anywhere using the slip-plate command:

slip-plate --dek-size 256 --parts 3 --threshold 2

Arguments

  • --dek-size: Size of the DEK in bits (128, 192, or 256). Default: 256.
  • --parts: Total number of Shamir shares to create. Default: 3.
  • --threshold: Minimum number of shares required to reconstruct the key. Default: 2.

Example Output

The tool generates ANSI-rendered plates for your terminal:

=== KEK Share 1 ===
     2 1     │         │        
     0 0 5 2 │ 1       │        
     4 2 1 5 │ 2 6 3 1 │        
     8 4 2 6 │ 8 4 2 6 │ 8 4 2 1
    ─────────────────────────────
 1 | ○ ● ● ● │ ● ○ ○ ● │ ● ● ○ ○ │
 2 | ○ ○ ● ○ │ ○ ○ ○ ○ │ ○ ○ ● ○ │
...

Security Model

  • Offline Storage: Plates are intended to be generated once and stored physically (e.g., punched into metal).
  • Ephemeral Memory: DEKs are reconstructed from a quorum of shares only during active operations and are not persisted digitally.
  • Unique Nonces: Encryption uses unique nonces per session, embedded in the ciphertext.
  • Minimal Footprint: Designed to ensure no DEK is stored on disk in an unencrypted state.

Development & Testing

If you want to contribute or run tests from the source code:

  1. Clone the repository:
    git clone [https://github.com/avra911/slip-plate.git](https://github.com/avra911/slip-plate.git)
    cd slip-plate
    
  2. Install in editable mode:
    pip install -e .
    
  3. Run tests:
    pip install pytest
    pytest -q
    

Notes and Caveats

  • Research Tool: This is a demo/research tool. Review the code and cryptographic implementations before use in production environments.
  • Physical Security: Treat printed/punched plates as high-security assets.
  • Checksums: The built-in checksum helps detect transcription errors but does not replace proper key management procedures.

Contributions are welcome! Feel free to open a PR or an issue on GitHub.

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

slip_plate-0.1.1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

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

slip_plate-0.1.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file slip_plate-0.1.1.tar.gz.

File metadata

  • Download URL: slip_plate-0.1.1.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for slip_plate-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0f878863536cb9ce7245e6b89b161509d29f8b22a3a3fc69d9d86c16e146ed7c
MD5 6b14a34b09c080d511697a3e71cc64e8
BLAKE2b-256 22dd8ac9c5619e4912f1c72b6fd8ef6c1b5ba131752bb56db5a5d1e9664d0dc7

See more details on using hashes here.

File details

Details for the file slip_plate-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: slip_plate-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for slip_plate-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4e4cc8d2c2db843086329bcc99cb0b710f50c7f9f6dede76ba5491447c9fb237
MD5 edaaaabb728a3e2807a9ef7f47e620f8
BLAKE2b-256 947975f07ce6e59c9d45f721818230984419752fead472156258ae1c83e21055

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