Тривиальные трансформаторы. XLAT
Табличная подстановка - настолько важная и частая операция, что часто
имплементируется специальной командой ассемблера. Например, в архитектуре
процессора Intel IA-32 ей соответствует инструкция XLT.
История табличной подстановки восходит, пожалуй, к Розетскому камню, хотя ее
практическое использование началось много раньше, по крайней мере, во время
галльской войны (ок. 40 BC) и связано с именем Юлия Цезаря.
Решение многих задач значительно упрощается с использованием табличной
подстановки. Она входит составной частью во многие алгоритмы шифрования и
далее будут подробно рассмотрены две примитивные системы шифрования (код
Цезаря и ROT-13), полностью основанные на циклическом сдвиге (табличной
подстановке).
XLAT - базовая операция в электромеханической шифровальной машине 'Enigma'
("Загадка") - одном из самых охраняемых немецких секретов второй мировой
войны.
Динамическая табличная подстановка была реализована с использованием набора
(трех из пяти) сменных роторов (поворачивающихся после передачи каждого
символа), рефлектора и коммутационной панели. Именно для расшифровки (brute
force) немецких шифротекстов англичанами был сконструирован первый в мире
компьютер ("тикающая бомба").
8-2-5 (Guzis)
|
8-2-5 (Guzis)
|
8-2-6 (Base64)
|
8-2-6 (Base64)
|
8-2-7 (ARJ)
|
8-2-7 (ARJ)
|
Base85
|
Base85
|
Caesar code
|
Caesar code
Великий полководец, Юлий Цезарь (Gaius Julius Caesar) оставил нам не
только юлианский календарь и "Записки о галльской войне" ("De Bello
Gallico", 58-50 BC), но и одну из первых систем шифрования, которая
так и называется "Код Цезаря".
|
EBCDIC
|
EBCDIC
С появлением IBM PC, использующего стандарт ASCII, возникла острая
необходимость переноса текстов с Mainframe на персоналки и, как следствие,
немыслимое число программ перекодировки.
|
EOL
|
EOL
Одна из самых забавных (и нелепых) причин преобразования текстовых форматов.
|
ROT-13
|
ROT-13
Появление E-mail усилило интерес к обфускации почтовых сообщений (пересылаемых
в открытом виде).
|
RLE, SimpleRLE, SuperRLE
|
RLE, SimpleRLE, SuperRLE
|
Russish
|
Russish - это кириллический алфавит, в котором некоторые русские буквы
заменены на (почти не отличимые по начертанию) английские и наоборот, часто
также встречаются замены букв/цифр 0<->O, l<->1 и 3<->З.
|
Translit
|
Translit
Translit в варианте односимвольной замены (XLAT) встречается редко и
малоинтересен как в практическом, так и в теоретическом отношении.
Обычно, это просто маппинг раскладки клавиатуры.
|
© Gazlan 2011 * gazlan@yandex.ru
|