gchq / CyberChef

The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis

Home Page:https://gchq.github.io/CyberChef

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature request: SOSEMANUK, Salsa Variants, ChaCha Variants, HC-256, HC-128, RC5, RC6, TEA, XTEA

stevemk14ebr opened this issue · comments

Is your feature request related to a problem? Please describe.
The ciphers SOSEMANUK, Salsa, ChaCha8, ChaCha12, HC-256, HC-128, RC5, RC6, TEA, XTEA are all currently missing, but are ones I have seen used in malware at one point or another or are otherwise popular.

Describe the solution you'd like
Please consider adding support for these ciphers

Describe alternatives you've considered
Using other tools or creating custom one off decoders is the current workaround

Additional context
ChaCha variants: https://cr.yp.to/chacha.html vary in the internal number of rounds they compute

The Salsa20 directory in version 2008.01.20 of the eSTREAM benchmarking suite includes several implementations of ChaCha8 (and ChaCha12 and ChaCha20): 

Reference
ChaCha8: https://cr.yp.to/streamciphers/timings/estreambench/submissions/salsa20/chacha8/ref/chacha.c
ChaCha12: https://cr.yp.to/streamciphers/timings/estreambench/submissions/salsa20/chacha12/ref/chacha.c
ChaCha20: https://cr.yp.to/streamciphers/timings/estreambench/submissions/salsa20/chacha20/ref/chacha.c
Salsa20: https://cr.yp.to/snuffle/salsa20/ref/salsa20.c

Salsa 20/8 and Salsa 20/12 variants:
https://cr.yp.to/snuffle/812.pdf

I could not find a reference implementation for these variants, but exactly like chacha variants. They only vary in the number of internal rounds. Please also include the variants with differing rounds or make it a parameter which defaults to 20.

SOSEMANUK: https://www.ecrypt.eu.org/stream/e2-sosemanuk.html
TEA: https://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm
XTEA: https://en.wikipedia.org/wiki/XTEA