Agent Skill
2/7/2026cryptography-handling-skill
Instructions for securely encrypting and decrypting data.
B
basilgregory
12GitHub Stars
2Views
npx skills add basilgregory/axkeystore
SKILL.md
| Name | cryptography-handling-skill |
| Description | Instructions for securely encrypting and decrypting data. |
name: Cryptography Handling Skill description: Instructions for securely encrypting and decrypting data.
Cryptography Handling Skill
This skill defines how to handle encryption for the AxKeyStore before data is sent to GitHub.
Philosophy
The cloud (GitHub) is untrusted. All data must be encrypted at rest (locally before upload) and in transit (via HTTPS).
Implementation Details
Master Password
- The user must provide a master password or passphrase to unlock the keystore.
- Key Derivation: Use
Argon2idorPBKDF2to derive a symmetric encryption key from the user's password + salt.
Encryption Schema
- Algorithm: XChaCha20-Poly1305 or AES-256-GCM.
- Library: Use the
agecrate (for file encryption) orring/sodiumoxidefor low-level primitives. - Structure:
{ "salt": "random_salt_for_kdf", "nonce": "random_nonce", "ciphertext": "base64_encoded_encrypted_data" }
Decryption Flow
- Read the JSON blob from GitHub.
- Extract
salt,nonce, andciphertext. - Prompt user for Master Password.
- Derive Key using Salt + Password.
- Decrypt
ciphertextusing Key + Nonce.
Dependencies
argon2(for KDF)chacha20poly1305oraes-gcm(for encryption)rand(for generating salt/nonce)
Skills Info
Original Name:cryptography-handling-skillAuthor:basilgregory
Download