RX ENCODER

AETHRIX INTERNAL TOOL  ·  v1.7.0
только буквы A-Z, регистр не важен
TRANSFORMATION LOG — клик по этапу выбирает его для COPY
должен совпадать с ключом, которым кодировали
TRANSFORMATION LOG — клик по этапу выбирает его для COPY
Частотный анализ (Index of Coincidence + chi-squared). Работает надёжно от ~40-50 букв шифротекста; на коротких сообщениях (типа "AETHRIX") статистики физически не хватает — предупредим отдельно. Сейчас настроен под латиницу/английские частоты.
Base32/Base64/Base64URL уже есть во вкладке ENCODER (там честная RFC-реализация с группировкой бит — она даёт другой результат, чем просто "число в другой системе счисления"). Здесь — универсальный конвертер текст↔число для всех остальных систем. Для нестандартных баз (3,4,11,12,24,26,45,52,85,91,94,95) используется единый сгенерированный алфавит: что этим инструментом закодировано — им же и раскодируется, но не всегда совпадает с экзотическими сторонними реализациями с тем же названием.
TRANSFORMATION LOG
То же частотное дешифрование, что и в DECODER, только применяется к твоей собственной цепочке: сначала отменяет все шаги ПОСЛЕ Vigenère (в порядке декодирования), подбирает ключ на этом промежуточном тексте, затем доигрывает оставшиеся шаги. Нужно ~40-50 латинских букв шифротекста для надёжного результата.
🚀 С ЧЕГО НАЧАТЬ (для новых людей)
Весь инструмент — про то, чтобы превращать текст во что-то другое и обратно. Вкладки слева сгруппированы по смыслу:

1. Основное — ENCODER/DECODER (главный шифр на секретном ключе) и CUSTOM CHAIN (свой набор шагов).
2. Текстовые шифры — Morse, Alpha, Pigpen и другие: превращают текст в другой алфавит/символы, без секретного ключа.
3. Аудио — Spectrogram: прячет текст/картинку в звуковой файл.
4. Коды / Языки — «сырые» преобразования (системы счисления, кодировки байт, веб-форматы), без секретности, просто перевод формы записи.

Быстрый пример: откройте ENCODER → впишите сообщение → нажмите ENCODE → получите закодированную строку → скопируйте её кнопкой COPY → откройте DECODER на другом устройстве (или здесь же) → вставьте строку → нажмите DECODE. Ключ Vigenère должен совпадать на обеих сторонах, иначе текст не восстановится.

Если непонятно, что делает конкретная кнопка или вкладка — ищите её название ниже по списку, почти для всего есть отдельное объяснение.
Что вообще делает ENCODER / DECODER?
Это одна фиксированная цепочка из 8 шагов: Reverse → Vigenère → HEX → Reverse → Base64 → Reverse → Base32 → Reverse. Каждый шаг обратим, поэтому DECODER умеет пройти её в обратную сторону и вернуть исходный текст.
Reverse
Просто переворачивает строку задом наперёд. Само по себе ничего не «шифрует», но ломает узнаваемые паттерны (например, окончание Base64 с «=» оказывается в начале), из-за чего строку сложнее опознать на глаз.
Vigenère (ключ)
Классический полиалфавитный шифр: каждая буква сдвигается по алфавиту на величину, заданную соответствующей буквой ключа (A=0, B=1 ... Z=25), ключ повторяется по кругу. Цифры, пробелы и знаки препинания не шифруются и не тратят позицию в ключе. В поле ключа считаются только буквы A-Z — если вписать «GREGORY12», цифры «12» будут проигнорированы и останется просто «GREGORY». Это сделано специально (см. вопрос ниже), а не баг.
Почему в ключе Vigenère игнорируются цифры?
Классический Vigenère определён только для 26 букв латинского алфавита — сдвиг по цифре просто не имеет смысла в этой схеме. Чтобы ENCODE и DECODE всегда давали одинаковый, предсказуемый результат при одном и том же ключе, поле ключа очищается до букв A-Z ещё до того, как ключ используется. Подсказка под полем («только буквы A-Z, регистр не важен») — это как раз про это правило.
HEX (Base16)
Каждый байт текста (в кодировке UTF-8) записывается как два шестнадцатеричных символа (0-9, A-F). Например, байт 72 (буква «H») превращается в «48».
Base64
Берёт данные по 3 байта (24 бита) и режет на 4 куска по 6 бит, каждый кусок превращается в один из 64 символов (A-Z, a-z, 0-9, +, /). Если байтов не хватает до кратности 3 — в конце добавляется «=» как заполнитель.
Base32
То же самое, что Base64, но данные режутся на куски по 5 бит и используется алфавит только из заглавных букв A-Z и цифр 2-7 (без 0, 1, 8, 9 — они специально исключены, чтобы не путать с буквами O, I, B, S на слух и на глаз). Заполнитель — тоже «=».
Почему DECODER иногда сам угадывает, с какого этапа расшифровывать?
Если вставить не финальную строку, а, например, просто кусок в Base64 или HEX — DECODER смотрит на набор символов (только буквы+цифры2-7 — похоже на Base32; только 0-9A-F — похоже на HEX; и т.д.), пробует все разумные варианты продолжения цепочки и выбирает тот результат, который больше всего похож на читаемый текст. Можно и не гадать, а выбрать этап вручную в выпадающем списке над кнопкой DECODE.
CORRUPT
Чисто косметическая кнопка: случайно заменяет 2-3 символа в результате на «глитч»-символы (%, ~, ±, ‡, ░ и т.п.). Никакой информации это не портит специально для сокрытия — это просто визуальный эффект «повреждённого сигнала». Если результат после CORRUPT выглядит нечитаемым месивом — это ожидаемо, просто нажмите ENCODE заново.
SPECTROGRAM (TEXT → AUDIO)
Текст рисуется как картинка на canvas (белые буквы на чёрном фоне), затем для каждой строки пикселей создаётся отдельный тон постоянной частоты, чья громкость меняется во времени по яркости этой строки. Все тона складываются вместе через Web Audio и сохраняются в WAV. Если потом открыть файл в любой программе-анализаторе спектра (или на вкладке AUDIO → IMAGE здесь же), вы увидите исходную картинку/текст в виде спектрограммы — ровно так же, как это делают музыканты вроде Aphex Twin, прячущие изображения в звуке.
SPECTROGRAM (AUDIO → IMAGE)
Обратная операция: любой загруженный WAV/аудио-файл раскладывается на частоты через собственную реализацию FFT (без библиотек), и результат рисуется как цветная картинка в палитре «inferno» (чёрный → фиолетовый → красный → оранжевый → жёлтый, по громкости) — время по горизонтали, частота по вертикали. Так можно «прочитать» спрятанное сообщение из чужого аудиофайла, а не только из тех, что сделаны этим инструментом.
MORSE
Международная азбука Морзе: буквы/цифры/пунктуация превращаются в точки и тире, буквы разделяются пробелом, слова — «/». Есть кнопка PLAY, которая реально пропищит сообщение тоном 600 Гц с правильными длительностями (точка=1 единица, тире=3, пауза между буквами=3, между словами=7).
ALPHA
Фонетический алфавит НАТО (Alfa, Bravo, Charlie...) — так по рации проговаривают буквы, чтобы их не перепутали на слух. ENCODE превращает текст в последовательность таких слов, DECODE — собирает слова обратно в буквы.
PIGPEN
Старый «масонский» шифр: алфавит раскладывается по клеткам решётки и диагоналям, и каждой букве соответствует кусок этой решётки определённой формы. Здесь буквы кодируются условными текстовыми метками, а на canvas рисуется символьный вид, который увидел бы человек с бумагой, плюс отдельная картинка-ключ A-Z для расшифровки вручную.
NUMBERS STATION
Имитация «цифровых радиостанций» — коротковолновых передач, читающих группы цифр вслух (для агентурной связи времён Холодной войны и позже). Текст превращается в группы по 5 цифр, а кнопка «ПРОЧИТАТЬ ВСЛУХ» использует синтез речи браузера, чтобы озвучить их монотонным голосом.
BAUDOT / RTTY
Baudot — 5-битный код, предшественник ASCII, использовавшийся в телетайпах и до сих пор используется в любительском радио как RTTY (Radio Teletype). Текст превращается в 5-битные группы, а PLAY RTTY TONE выдаёт реальный двухтональный FSK-сигнал, каким его передают по радио.
ZALGO
«Демонический» текст-глитч: поверх обычных букв добавляются комбинирующие Unicode-символы (диакритика), которые визуально «взрываются» вверх/вниз/сквозь строку. DECODE убирает все эти комбинирующие символы и возвращает чистый текст. Три уровня интенсивности — просто разное количество добавленных символов на букву.
Почему интерфейс на английском?
Это стилистическое решение — терминальная эстетика в духе старых военных/хакерских консолей обычно ассоциируется с английскими капслок-надписями (ENCODE, DECODE, STEP 1...). Пояснения и подсказки при этом уже написаны по-русски, включая эту вкладку. Если хотите — можно попросить перевести названия кнопок и вкладок тоже.
Всё это работает офлайн?
Да. Это один HTML-файл без внешних библиотек и без сети — все шифры, FFT, WAV-кодирование и синтез аудио написаны с нуля и выполняются прямо в браузере. Единственное, для чего действительно нужен браузер с современным Web Audio / Web Speech API — это генерация звука и озвучка Numbers Station.
CUSTOM CHAIN
Здесь можно самому собрать цепочку из доступных операций (Reverse, ROT13, Atbash, Vigenère, HEX, Base64, Base32) в любом порядке и любом количестве — не только фиксированные 8 шагов из ENCODER. ENCODE прогоняет их в выбранном порядке, DECODE — в обратном, каждую операцию её же обратной (для Reverse/ROT13/Atbash обратная операция — она же сама, т.к. применить их дважды подряд = вернуть исходный текст).
Что означает кнопка «COMPRESSED» рядом с Download WAV?
WAV — самый совместимый, но самый тяжёлый формат (без сжатия). Кнопка «COMPRESSED» использует встроенный в браузер MediaRecorder, чтобы дополнительно сохранить тот же звук в WebM/Opus (Chrome, Firefox) или MP4/AAC (Safari) — это компактнее и обычно принимается мессенджерами лучше, чем WAV. Настоящий MP3-энкодер в браузере без сторонних библиотек написать нельзя, поэтому используется то сжатие, которое браузер поддерживает нативно.
РАЗДЕЛ «КОДЫ / ЯЗЫКИ» — зачем он и как им пользоваться
Это отдельная вкладка на 5 под-разделов для «сырых» преобразований данных — в отличие от ENCODER/DECODER, здесь нет цепочки и нет секретного ключа (кроме Vigenère в основной вкладке), это просто перевод текста из одной формы записи в другую и обратно. Полезно, когда нужно, например, узнать, как та или иная строка выглядит в другой системе счисления или кодировке, а не спрятать сообщение.
BASE-N — что это и зачем столько систем счисления
Текст переводится в одно большое число (через его UTF-8-байты), а затем это число записывается в выбранной системе счисления — как перевод «255» в двоичную даёт «11111111». Base16 — это то же самое, что HEX в ENCODER. Base2, Base8, Base10 — привычные двоичная/восьмеричная/десятичная. Остальные (Base36, Base58, Base62 и т.д.) — просто более «плотные» системы с бо́льшим алфавитом символов, они компактнее, но результат нельзя произнести вслух или без ошибок переписать от руки — такие форматы используют, например, в коротких ссылках или биткоин-адресах (Base58). Base32/Base64/Base64URL сюда специально не включены — они уже в ENCODER, и там другой алгоритм (группировка по 5/6 бит, а не «число в системе счисления»), поэтому смешивать их под одним названием было бы путаницей — результат получился бы разный при одинаковом входе.
CHARSETS — что это и когда это вообще нужно
Это про то, как именно буквы превращаются в байты — одна и та же буква «А» может быть записана разными наборами байт в зависимости от кодировки (UTF-8, Windows-1251, KOI8-R и т.д.). ENCODE показывает, как ваш текст выглядит в байтах (в виде HEX) в выбранной кодировке; DECODE — наоборот, превращает HEX-байты обратно в текст по правилам этой кодировки. На практике полезно, если, например, вам попался «текст» вида «D0 90 D0 91» и нужно понять, что это была кириллица в UTF-8, или наоборот — сделать вид старой убитой кодировки для антуража. Кодировки, у которых написано «только DECODE» (Shift-JIS, GBK и т.д.) — многобайтовые азиатские кодировки, у них нет надёжного способа закодировать в них произвольный текст без огромной таблицы, поэтому доступно только чтение готовых HEX-байт.
WEB / DATA — что за форматы и откуда они
Это форматы не для секретности, а для технической передачи данных, которые придумали задолго до современных мессенджеров:
• URL/Percent Encoding — то, что происходит с адресом сайта, когда в нём есть пробелы или кириллица (пробел → %20 и т.д.) — этим по сей день пользуется каждый браузер.
• HTML Entities — то, как в HTML-коде страницы записываются спецсимволы вроде «&» или «<», чтобы браузер не спутал их с разметкой.
• Quoted-Printable и UUEncode/XXEncode — древние форматы из 80-90х для пересылки не-ASCII текста и файлов по email, когда почтовые серверы понимали только 7-битный ASCII.
• yEnc — более новый (2001) аналог UUEncode для групп Usenet, компактнее за счёт того, что почти не «раздувает» размер данных.
Практической ценности для секретности почти нет — это просто редкие форматы для антуража «старого интернета» или чтобы разобрать что-то реальное в этом формате.
NUMBERS (представления чисел) — что показывают все эти строки
Вводите обычное целое число (можно отрицательное) — вкладка сразу показывает, как оно выглядит в разных «системах записи чисел», которые изучают в программировании и электронике:
• Two's/One's Complement, Sign-Magnitude — три разных способа, которыми компьютеры исторически представляли отрицательные числа в двоичном виде (Two's Complement — тот, что используют почти все современные процессоры).
• Gray Code — двоичный код, где соседние числа отличаются ровно на 1 бит (используется в датчиках положения, чтобы избежать «дребезга» при переключении).
• Excess-3 — старый способ кодировать десятичные цифры в 4-битных группах (BCD), применялся в ранних калькуляторах.
Разрядность (4/8/16/32/64 бит) ограничивает, какое максимальное число влезет — если число слишком большое для выбранной разрядности, будет ошибка.
GREEK — почему только 24 буквы на 26
Работает как ALPHA (NATO), только именами букв греческого алфавита (Alpha, Beta, Gamma...) вместо Alfa/Bravo/Charlie. В греческом алфавите 24 буквы, а в латинском — 26, поэтому для Y и Z переиспользованы Alpha/Beta с цифрой «2» (Alpha2, Beta2) — иначе бы две разные латинские буквы кодировались одинаково и расшифровка стала бы неоднозначной.