Violet (2019-03-10)
Text scrambler.
Violet scrambles text by shuffling all characters and using ANSI
escape sequences to record their positions. To scramble a file:
./violet original.txt > scrambled.txt
To scramble a file, and watch how the characters are shuffled,
assuming that the original file fits in your terminal window:
./violet original.txt | ruby violet.c
To unscramble a file:
./violet < scrambled.txt > plaintext.txt
Another way to unscramble the same file, assuming that original file
fits in your terminal window:
cat scrambled.txt
To scramble a file to multiple layers:
./violet original.txt layer1.txt layer2.txt ...
To reassemble the layers:
cat layer1.txt layer2.txt ... | ./violet
One possible application is to scramble a file into multiple layers,
and then unscramble each layer separately and print them on
transparencies. This is a form of visual cryptography.
Violet won the "Most in need of transparency" award in IOCCC 2019.
Based on Violet Evergarden from the series "Violet Evergarden".
--
omoikane@uguu.org - http://uguu.org/