gchq / gchq/CyberChef

Feature request: Implement Series of Classical Ciphers

Open
#2,836 0 comments 0 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

**Is your feature request related to a problem? Please describe.**
Many classical ciphers aren’t supported yet. I was asked to analyze several of them the other day (along with some I people I knew), and it would be really helpful to have them all in one place instead of manually stitching functions together from different sources.

**Describe the solution you'd like**
Here is a list me and my partners compiled that could be supported in the future.
1. Playfair
2. Hill
3. Trifid
4. Four-square
5. Nihilist
6. ADFGX
7. ADFGVX
8. Beaufort
9. Vigenere Autokey
10. Porta
11. Chaocipher
12. Solitaire/Pontifex
13. Homophonic substitution
14. Straddling checkerboard
15. Myszkowski transposition
16. VIC cipher

**Describe alternatives you've considered**
Manually chaining different cipher functions through different webs and sources.

**Additional context**
I am a semi-hobbyist + learner, I do not have much time to explore or implement a solution myself. This is one of my favorite tools that helped me achieved some of my milestones and goals. It would also be great if there is a separate category for Classical Ciphers in this case to help organize and separate known modern cryptography and pre-modern ciphers. Thank you!

Contributor guide

Open the contributing guide

Research direction

No file, test, or entry point is named. Start by reviewing how existing cipher operations are organized, then clarify which of the 16 listed ciphers and whether a separate Classical Ciphers category are in scope. Done means the agreed cipher support and organization are implemented and verified against the project's existing expectations.

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
Active
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.