Skip to main content

О терминологии. Или почему «кошка» (которая изначально «лиса») не всегда «прыгает».

Cat fuel drive charge ExchEngine USDT USD but sell wire

О терминологии. Или почему «кошка» (которая изначально «лиса») не всегда «прыгает».

Если вы когда-нибудь читали описание криптоалгоритмов (например, классическую сеть Хорста Фейстеля), а потом открывали учебник по высшей алгебре, у вас могло возникнуть ощущение легкого когнитивного диссонанса. Слова одни и те же, но значат они разное. Давайте внесем ясность, используя иронию и классическую фразу "The quick brown fox jumps over the lazy dog".

1. Substitution (Замена): "Кошка вместо лисы"

В инженерном смысле (в тех же S-блоках) Substitution — это когда мы берем один объект и подменяем его другим по таблице или формуле.

Пример: Мы решили, что "fox" теперь всегда будет "cat".

Фраза превращается в: "The quick brown cat jumps over...". Объект подменили, но он остался на том же месте. Математик, глядя на это, скажет: "Это функция f(x) = y". И если эта замена уникальна (без коллизий), он назовет её перестановкой элементов множества. Вот тут и зарыта собака (ленивая).

2. Permutation (Перестановка): "Прыжок через собаку"

Для инженера Permutation (P-блок) — это изменение позиции. Мы не меняем буквы, мы меняем их местами.

Пример: "Fox jumps" превращается в "Jumps fox".

В классических шифрах P-блок просто перепутывает биты местами. Но для математика "перестановка" — это свойство самой функции замены. Если вы заменили 1 на 5, а 5 на 1 — это уже перестановка множества, даже если цифра стоит на том же месте в байте.

3. Инволюция: Зеркальный мир Фейстеля

Вспомним Хорста Фейстеля. Его гениальная сеть превращает любую "кривую" функцию в инволюцию. Инволюция — это высшая форма взаимности: если f(x) = y, то f(y) = x.

Важное отличие:
  • Сеть Фейстеля: Является инволюцией по своей структуре. Вам не нужен отдельный алгоритм для расшифровки — вы просто прогоняете данные назад через те же блоки. "Кошка прыгнула через собаку" — и тем же движением вернулась обратно.
  • AES (Rijndael): Не является инволюцией. Его S-блоки "однонаправленные". Если 1 превращается в 5, то 5 может превратиться в 9. Чтобы расшифровать AES, вам нужны совершенно другие таблицы и обратные операции. Кошка прыгнула, но обратно её нужно тащить за хвост другим способом.

Чтобы окончательно понять, как "кошка" совершает свой трюк, посмотрите на схему одного раунда ячейки Фейстеля:

       Входной блок (64/128 бит)
      __________ | __________
     |                       |
 [Левая часть L]       [Правая часть R]
     |                       |
     |                ( Копирование )-------+
     |                       |              |
     |                [  Функция f  ] <--- [Ключ K]
     |                (Substitution)        |
     |                       |              |
  ( XOR ) <----------- [Результат f]        |
     |                                      |
     v                                      v
 [Новая правая R']      [Новая левая L']
      \                     /
       \       Прыжок      /
        \  (Permutation)  /
         \      / \      /
          \    /   \    /
           \  /     \  /
            \/       \/
            /\       /\
           /  \     /  \
          /    \   /    \
    [Выход L]         [Выход R]
    

Обратите внимание: Функция f может быть любым сложным алгоритмом. Благодаря тому, что изменения вносятся только в одну половину, а затем стороны меняются местами, структура остается инволюционной.

Итог

Когда мы обсуждали многочлены Диксона или Ривеста, мы искали такие механизмы Замены (Substitution), которые математически являются идеальными Перестановками (Permutation).

Криптография — это искусство превращать простые "прыжки кошки" в нечитаемый хаос, сохраняя при этом возможность одним изящным движением вернуть "лису" на её законное место.

Иногда Fox становится Cat, но мы всё равно знаем, что это Fox. 🦊 🙂 😼


Comments

Читаемое и почитаемое

Алгебраическая невидимость: Как нуль-полиномы создают «квантовый» камуфляж ключей.

Алгебраическая невидимость: Как нуль-полиномы создают «квантовый» камуфляж ключей. В нашем цикле исследований мы прошли путь от структуры простого числа до глобальных различий между полями Галуа и кольцами вычетов. Мы обнаружили, что мир 2 n (основа всей компьютерной логики) обладает фундаментальной "неоднозначностью". Пришло время превратить эту особенность в инструмент высшего порядка — алгебраический камуфляж . Проблема уникальности: Почему поле Галуа — это "стеклянный дом" В классической алгебре полей (например, в поле простого числа P ) между набором точек и описывающим их полиномом существует жесткая связь "один к одному". Это обеспечивается интерполяцией Лагранжа. В таком мире секретов нет: открытый ключ (распределение) полностью выдает структуру приватного ключа (коэффициенты полинома). Но в кольце Z 2 n правила игры меняются. Здесь на сцену выходят "математические призраки" — нуль-полиномы . Математика тишин...

Словарик

Словарик, толмач с рептилоидного на русский :) Составлено аффтаром для лучшей усвояемости и усваиваемости текстов . Абузик  ( Абуза ) --> от abuse, претензия, жалоба на что-либо злопихательское. Банан  --> Binance биржа. Банный лист --> от ban и list, список забаненных. Баня --> от ban, блокировка, запрет чего-либо. Беня  --> бенефициар. Биток  ( Биточек ,  Бетховен ,  Битховен ) --> Биткоин, BTC. Бок  --> BoC, Bank of Cyprus. Бубит  --> Bybit биржа. Буй  --> от buy, покупка, купить. Бутить  ( Забутить ) --> от boot, reboot, грузить, загрузить, перезагрузить какое-либо устройство, например компьютер. Ваер  ( Вайер ) --> от wire (bank wire transfer) банковский перевод (в электронной форме, "по проводу"). Варежка  ( Ваережка ) --> см Ваер (Вайер). Вечнозеленый  --> см Нынеголубой. Втыкатель  --> участник рынка, инвестор из ширнармасс, не относящийся к инсайдерам (админам и тем...

Многочлены Диксона: Как перемешать алфавит без коллизий.

Многочлены Диксона: Как перемешать алфавит без коллизий. Представьте, что мы пишем свой шифр. У нас есть алфавит. Для удобства работы с криптографией возьмем алфавит, размер (мощность) которого равен простому числу . Пусть это будет p = 7. Наш алфавит: числа от 0 до 6. Нам нужна функция замены f(x). Если мы возьмем что-то простое, вроде f(x) = x^2 mod 7, нас ждет катастрофа: 2^2 mod 7 = 4 5^2 mod 7 = 4 Коллизия! И двойка, и пятерка превратились в четверку. При расшифровке мы не сможем узнать исходное число. Нам нужна формула, которая работает как идеальная биекция (1:1), где каждому входу соответствует уникальный выход. На сцену выходит Леонард Диксон В начале XX века математик Леонард Юджин Диксон описал семейство многочленов, которые при определенных условиях становятся перестановочными многочленами (Permutation Polynomials) над конечными полями. Это именно то, что нам нужно: они перемешивают данные, математически гарантируя от...