Skip to content

Visual Steganography Engine

hughk edited this page Oct 3, 2026 · 1 revision

Visual Steganography Engine

The core innovation of Pin Vault is its Steganographic Matrix Engine. Rather than storing or rendering plain numeric PINs, the system camouflages secret digits into an $M \times N$ two-dimensional grid of colored numeric tiles.


🧩 Matrix Structure

Matrices can be configured from 4Γ—4 up to 8Γ—8 dimensions:

  • Card PINs: Typically 4 to 6 digits on a 5Γ—5 or 6Γ—6 grid.
  • Banking / Password Codes: Up to 12 digits on a 7Γ—7 or 8Γ—8 grid.
  • Dynamic TOTP 2FA: 6 digits on a 6Γ—6 grid.

Each cell in the grid contains:

  • A single numeric digit (0 through 9).
  • A background token color (e.g., Rose, Emerald, Amber, Cyan, Violet).
  • An optional directional indicator (during editing or biometric reveal).

🎨 Secret Path vs. Decoy Lines

To prevent statistical analysis and visual pattern detection by observers:

1. Secret Path

The user designates a specific geometric path and secret color:

  • Linear: Straight line (horizontal row, vertical column, or diagonal).
  • Geometric / Artist: Freeform path (L-shape, zigzag, knight's move, or custom perimeter walk).
  • Secret Digits: Placed sequentially along this path.

2. Linear Decoy Generation (DecoyRandomizer.kt)

If only the secret PIN path possessed identical colors, onlookers would instantly notice the colored line. Pin Vault's decoy generation engine prevents this:

  • Synthesizes multiple false trails (horizontal, vertical, diagonal) of identical colors across the matrix.
  • The secret color is also used for false decoy paths across unoccupied cells, ensuring the secret color is not statistically unique in the grid.
  • Inactive cells are populated with uniform pseudo-random distributions of numbers and colors.
Example 6x6 Matrix (Secret PIN = 1-2-3-4 in Rose on diagonal):
β”Œβ”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”
β”‚ 1*β”‚ 8 β”‚ 4 β”‚ 2 β”‚ 7 β”‚ 0 β”‚  (* = Rose tile: Secret Path)
β”œβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”€
β”‚ 9 β”‚ 2*β”‚ 3 β”‚ 1 β”‚ 4 β”‚ 8 β”‚  (Other cells: Emerald, Cyan,
β”œβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”€   Amber, and Rose decoys)
β”‚ 5 β”‚ 6 β”‚ 3*β”‚ 9 β”‚ 2 β”‚ 1 β”‚
β”œβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”€
β”‚ 0 β”‚ 4 β”‚ 7 β”‚ 4*β”‚ 5 β”‚ 3 β”‚
β”œβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”€
β”‚ 8 β”‚ 1 β”‚ 0 β”‚ 3 β”‚ 6 β”‚ 9 β”‚
β”œβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”Όβ”€β”€β”€β”€
β”‚ 2 β”‚ 5 β”‚ 8 β”‚ 1 β”‚ 4 β”‚ 7 β”‚
β””β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”΄β”€β”€β”€β”˜

πŸ‘οΈ Shoulder-Surfing Defense in Practice

When you glance at your phone screen:

  1. You identify your designated starting point and geometric direction.
  2. You read your 4–6 digits in under 2 seconds.
  3. An observer sees a busy, vibrant matrix with dozens of digits and multiple colored trails, unable to discern which line is real.