Skip to content

Implement Zero-Knowledge Encryption Architecture (Argon2id + AES-256-GCM) #68

@TheKalpeshPawar

Description

@TheKalpeshPawar

Requirements / Acceptance Criteria

  • Key Derivation: Implement Argon2id to derive a 256-bit encryption key from the user's passcode.

  • Salt Generation: Generate a cryptographically secure random salt (minimum 16 bytes) for each vault.

  • Encryption: Use AES-256-GCM for encrypting the passcode records.

  • Initialization Vector (IV): Ensure a unique, random 12-byte IV is generated for every encryption operation.

  • Integrity Verification: Verify the GCM authentication tag during decryption to ensure the data has not been modified.

  • Memory Hygiene: Implement a mechanism to wipe the derived key and master passcode from memory immediately after use.


Technical Specification

  • KDF: Argon2id

    • Recommended Parameters:
      • Iterations: 3
      • Memory: 64 MB
      • Parallelism: 4
    • (Adjust based on target device performance)
  • Cipher: AES-256 (GCM mode)

  • Storage Schema:
    Each record must store the following:

    • Salt
    • IV
    • Ciphertext
    • Authentication Tag

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions