mcpField
I
implementing-rsa-key-pair-management

implementing-rsa-key-pair-management

github.com/mukul975Security35.2k35 installsUpdated 8w ago
Repository

About implementing-rsa-key-pair-management

A security skill covering RSA key-pair generation, storage, rotation, and validation according to NIST SP 800-57 guidance. It is intended for teams implementing key-management practices, including protected serialization and RSA-PSS signatures.

Key features

  1. 01Generate 2048-, 3072-, and 4096-bit keys
  2. 02Serialize keys as PEM or DER with PKCS#8
  3. 03Protect private keys with passphrases
  4. 04Rotate keys with versioning
  5. 05Extract public components and fingerprints
  6. 06Validate strength and use RSA-PSS

Use cases

  1. 01Set up RSA key management for a system
  2. 02Rotate keys while retaining verification access
  3. 03Protect private keys in storage
  4. 04Sign and verify data with RSA-PSS

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill implementing-rsa-key-pair-management

After installing, type/implementing-rsa-key-pair-managementin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

Details

From the project README

Implementing RSA Key Pair Management

Overview

RSA (Rivest-Shamir-Adleman) is the most widely deployed asymmetric cryptographic algorithm, used for digital signatures, key exchange, and encryption. This skill covers generating, storing, rotating, and managing RSA key pairs following NIST SP 800-57 key management guidelines, including key serialization formats (PEM, DER, PKCS#8), passphrase protection, and key strength validation.

When to Use

  • When deploying or configuring implementing rsa key pair management capabilities in your environment
  • When establishing security controls aligned to compliance requirements
  • When building or improving security architecture for this domain
  • When conducting security assessments that require this implementation

Prerequisites

  • Familiarity with cryptography concepts and tools
  • Access to a test or lab environment for safe execution
  • Python 3.8+ with required dependencies installed
  • Appropriate authorization for any testing activities

Objectives

  • Generate RSA key pairs with appropriate key sizes (2048, 3072, 4096 bits)
  • Serialize keys in PEM and DER formats with PKCS#8
  • Protect private keys with strong passphrase encryption
  • Implement key rotation with versioning
  • Extract public key components and fingerprints
  • Validate key strength and detect weak keys
  • Sign and verify data using RSA-PSS

Key Concepts

RSA Key Sizes and Security Strength
Key Size (bits)Security Strength (bits)Recommended Until
20481122030
3072128Beyond 2030
4096~140Beyond 2030
RSA Padding Schemes
SchemeUse CaseStandard
OAEPEncryptionPKCS#1 v2.2 (RFC 8017)
PSSSignaturesPKCS#1 v2.2 (RFC 8017)
PKCS#1 v1.5Legacy onlyDeprecated for new systems
Key Storage Formats
  • PEM: Base64-encoded with headers, human-readable
  • DER: Binary ASN.1 encoding, compact
  • PKCS#8: Standard for private key encapsulation
  • PKCS#12/PFX: Bundled key + certificate, password-protected

Security Considerations

  • Minimum 3072-bit keys for new deployments (NIST recommendation)
  • Always protect private keys with AES-256-CBC passphrase encryption
  • Use RSA-PSS for signatures (not PKCS#1 v1.5)
  • Use RSA-OAEP for encryption (not PKCS#1 v1.5)
  • Store private keys with restrictive file permissions (0600)
  • Implement key rotation at least annually

Validation Criteria

  • Key generation produces valid RSA key pair
  • Public key can be extracted from private key
  • Private key is protected with passphrase
  • RSA-PSS signature verification succeeds
  • Tampered signature verification fails
  • Key fingerprint is computed correctly
  • Key rotation maintains old key access for verification

Comments

Markdown supported