Skip to content

hovertank3d/enigma16

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

enigma16

enigma16 is a cipher based on enigma machine algorithm. it differs in alphabet size and rotor... rotations. here, the letter is a 4bit data nibble, hence it could be used for anything that can be encoded as bytes. the "key" is just a nibble pairs, so 0xA input may be mapped to 0x2 rotor input, and vice versa. key may be generated using -g(generate) flag.

please don't take it seriously. enigma was cracked 100 years ago. this project made purely for fun and to make a joke about mlp porn in readme file

usage example

$ cat > test << EOF
naked ponies online free download
nyaa dot si
EOF

# -h flag tells e16 to output data as plaintext hex
$ cat test | e16 ce6af528793b0d14 -h > test.e16

$ cat test.e16 
6775941c7c164f573e03e5e825749a947495a3e119ab80a8fec7389612b922ccd821fd0a4f3126c5dced131dccf4

# -x flags tells e16 that input is plantext hex
$ cat test.e16 | e16 ce6af528793b0d14 -x
naked ponies online free download
nyaa dot si

verifying

simplest way to verify & rebuild e16 is to encrypt and decrypt e16 source file, and send it to the compiler.

$ cat e16.c | e16 | e16 | gcc -o e16 -x c -

About

enigma-based cipher for arbitrary data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published