xor-encoded vigenere cypher decoder for ru-ru alphabet
| example | ||
| .gitignore | ||
| coder.go | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
| text.go | ||
| top.go | ||
| util.go | ||
xor-vigenere
xor-encoded vigenere cypher decoder for ru-ru alphabet. Decodes uppercase text without white spaces and Ë letter.
Build
Requires go1.19
$ go build .
Usage
Specify input file and wait for result.
$ ./xor-vigenere -i example/cipher.txt -r 2
Cypher text file: example/cipher.txt
Parallel workers: 12 (override with -w flag)
Trying to predict secret key length ... 8 (override with -l flag)
Cypher text sample size to analyze: 2000 (override with -s flag)
Number of letters in permutations: 4 [ОЕАИ] (override with -p flag)
Number of results to show: 2 (override with -r flag)
Analyzing 100% [##################################################] (65536/65536, 36315 keys/s)
Key=АБЫРВАЛГ Sample:ГДЕЖЕВЕСЬМИРВДЕНЬМОЕГОРОЖДЕНИЯГДЕЭЛЕКТРИЧЕСКИЕФО Div:0.145333
Key=АЙЫРВАЛГ Sample:ГМЕЖЕВЕСЬДИРВДЕНЬДОЕГОРОЖМЕНИЯГДЕХЛЕКТРИЧНСКИЕФО Div:0.166576
Execution duration: 1.805705397s
АБЫРВАЛГ is a valid secret key on top.
To receive better (but slower) results use:
- bigger sample size for analyzing cypher text (
-s 0for analyzing whole text) - look through more possible keys (
-rflag) - use more frequently used letters to create more permutations (slows really hard,
-pflag)