encryption

Guide secure encryption, key derivation, and TLS patterns in Python, Rust, TypeScript, or Go.

3|1|Updated Dec 3, 2025
One-click install
npx skills add https://github.com/Probably-Group/Dev-AID --skill encryption-probably-group
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: encryption
Source: https://github.com/Probably-Group/Dev-AID/tree/main/.dev-aid/skills/expert/encryption
Command: npx skills add https://github.com/Probably-Group/Dev-AID --skill encryption-probably-group

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents common, high-impact cryptography failures by enforcing modern algorithms, correct nonce usage, safe key derivation, and authenticated encryption practices.

Core Features & Use Cases

  • Modern cryptography enforcement: Avoids broken or risky primitives (e.g., weak hashes, ECB, DES/RC4) and standardizes on AEAD and strong KDFs.
  • Authenticated encryption guidance: Uses AEAD patterns like AES-256-GCM and ChaCha20-Poly1305 to ensure integrity and confidentiality together.
  • Key management and rotation patterns: Covers secure random generation, password-to-key derivation (Argon2id/Scrypt), key rotation structures, and envelope/key versioning strategies.
  • Threat-model-driven safety: Includes anti-patterns and threat scenarios (nonce reuse, auth bypass, weak KDFs, memory disclosure) to guide correct implementation.

Quick Start

Ask the AI to generate encryption and decryption code that uses AES-256-GCM with a fresh random nonce, derives keys with Argon2id (or Scrypt), and supports key rotation via versioned key IDs.

Frequently Asked Questions about encryption

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement AES-256-GCM encryption with secure nonce generation?

To implement AES-256-GCM encryption securely, generate a fresh cryptographically secure random nonce for every encryption operation and combine it with authenticated encryption to ensure data integrity and confidentiality.

What is the best way to derive encryption keys from passwords using Argon2id?

The best way to derive encryption keys from passwords is using Argon2id or Scrypt key derivation functions, which apply computationally intensive hashing to resist brute-force attacks and produce secure cryptographic keys.

How does authenticated encryption prevent common cryptography failures?

Authenticated encryption prevents cryptography failures by combining confidentiality and integrity checks using AEAD patterns like AES-256-GCM, ensuring ciphertext cannot be tampered with without detection.

Can I use this encryption guidance for Python, Rust, TypeScript, and Go implementations?

Yes, this encryption guidance applies to Python, Rust, TypeScript, and Go, providing patterns to integrate secure crypto primitives, constant-time secret comparison, and audited algorithms across these languages.

How do I structure key rotation and versioning for encrypted application data?

Structure key rotation by assigning versioned key IDs to encrypted payloads, enabling envelope encryption strategies that securely transition application data to new keys without exposing plaintext.

Why should I avoid nonce reuse with AES-256-GCM authenticated encryption?

Avoid nonce reuse with AES-256-GCM because repeating a nonce for the same key breaks the cipher's security guarantees, allowing attackers to recover plaintext and forge authentication tags.