От: Encryption Co.
Кому: x $* sj4 (что вы)
Ваша миссия, если вы решите ее принять, заключается в создании программы в кратчайшем количестве нажатий клавиш, которые
-
Принимает два параметра имени файла (либо командной строки, либо stdin), первый - это файл, содержащий ключ, а второй - некоторое сообщение. Оба файла будут иметь простой текст.
-
Применяет ключ к сообщению с помощью XOR encryption, перезаписывая файл.
Пример:
Входной файл:
StackOverflow is Cool
Key:
Код Гольф
Hex дамп файла с зашифрованным выходом:
0000000: 101b 0506 4b08 1909 1425 030b 1200 2e1c ....K....%......
0000010: 4c25 2c00 080d 0a L%,....
Для простоты предположим, что файлы могут поместиться в память
Это сообщение будет самошифровать в 5... 4... 3... 2... 1...
#####
#### _\_ ________
##=-[.].]| \ \
#( _\ | |------|
# __| | ||||||||
\ _/ | ||||||||
.--'--'-. | | ____ |
/ __ `|__|[o__o]|
_(____nm_______ /____\____
XOR Шифрование невозможно взломать, если размер ключа больше или равен размеру сообщения, а ключ генерируется непредвзятым случайным процессом. См.: Одноразовая панель. Таким образом, здесь нет "плохого шифрования".