gchq / gchq/CyberChef

Feature request: Add age encryption/decryption support

Open
#1,173 0 comments 3 reactions 0 assignees View on GitHub
feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.