Feature request: Add age encryption/decryption support
- Dominant language
- JavaScript
- Stars
- 35.8k
- Forks
- 4.1k
- Avg merge
- 2d 26m
- Merged PRs (30d)
- 33
Description
Currently CyberChef supports PGP key generation, data encryption/decryption, and signatures/verification. However, there is a [strong argument for moving away from PGP](https://latacora.micro.blog/2019/07/16/the-pgp-problem.html) of which many security experts and cryptographers agree.
[age-encryption](https://age-encryption.org/) is designed first to only support encryption and decryption, so signing and verification have to be handled separately. So you would only have recipes for "Generate age Key Pair", "age Encrypt", and "age Decrypt". The formal specification is found at https://age-encryption.org/v1.
However, it's also designed with little-to-no footguns, making it difficult to misuse (unlike PGP), and no cipher agility (also unlike PGP). It can also use SSH keys natively for encryption and decryption, as everyone already has those installed on their system if using SSH. There is also work to [implement an age plugin to work with SoloKeys as recipients](https://twitter.com/FiloSottile/status/1354219044266774530).
Anyway, I don't actually have a need for this. Just thought it might be worth looking into.
Contributor guide
Research direction
Start by reviewing CyberChef's existing PGP key-generation and encryption/decryption operations, then read the age-encryption specification at age-encryption.org/v1. Done would mean deciding how to add the proposed Generate age Key Pair, age Encrypt, and age Decrypt recipes, including their key and recipient handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- cryptography
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100