Image

Как протестировать криптосистему на замкнутость?

Введение

23 ноября 1976 года DES или Data Encryption Standart был утверждён правительством США как официальный стандарт шифрования и оставался им до 1980 года. DES является алгоритмом симметричного шифрования, в основе которого лежит сеть Фейстеля. Останавливаться на подробном описании работы DES мы не будем, так как она нас не особо интересует в рамках данной статьи, но почитать подробнее можно, например, тут [1].

Любая криптосистема C характеризуется пятью параметрами: mathcal{K} — множество ключей, mathcal{X} — множество открытых текстов, mathcal{Y} — множество шифртекстов, E — преобразование зашифрования, D — преобразование расшифрования. Пространством сообщений в данном случае является mathcal{M} = {0, 1}^{64}, а множеством ключей mathcal{K} = {0, 1}^{56}, где каждый ключ k отвечает какому-либо обратимому преобразованию T_k. Важно, чтобы DES не был замкнутой криптосистемой. Напомню, что криптосистема называется замкнутой, если для любых трёх ключей i, j, k существуют ключи r, s, такие что T_iT_j(x) = T_r(x), T_iT_j^{-1}T_k(x) = T_s(x)для любого сообщения x. Замкнутость в свою очередь влечёт за собой групповую структуру, в этом случае нет смысла проводить операцию зашифрования больше одного раза, так как это будет эквивалентно какому-то единичному зашифрованию. Такая особенность значительно понижает криптостойкость системы. Также, такая она влечёт уязвимость к атаке с известным открытым текстом, которая в среднем будет требовать 2^{28} шагов.

Является ли DES группой?

В статье [2] было показано, что DES не является группой. Остановимся более подробно на вероятностном тесте MCT(meet-in-the-middle closure test), предложенном в [2] и основанном на атаке meet in the middle, и вычислим вероятность нахождения совпадения.

Теорема: если криптосистема C замкнута, то MCT найдёт совпадения с вероятностью не меньше 1 - e^{frac{-3r^2}{|mathcal{K}|}}, где 2r — количество ключей, выбранных для проведения теста. Если же C произвольная криптосистема, то вероятность совпадения не более frac{|mathcal{K}|^2}{|mathcal{M}|!}.

В чём же суть MCT?

Тест работает следующим образом. На вход поступает эндоморфная (mathcal{X} = mathcal{Y}) криптосистема C, выбирается случайным образом ключ k in mathcal{K} и ищется пара ключей, такая, что T_k = T_aT_b. Если C замкнута, то такая пара с высокой вероятностью будет найдена, в противном случае её найти практически невозможно.

input:

C<mathcal{K}, mathcal{M}, mathcal{M}, T>; l, r — параметры контроля.

begin

  1. Выбираем k in mathcal{K} и p_1, ... ,p_l xleftarrow{text{R}} mathcal{M}. Для i = overline{1, l} вычисляем c_i = T_k(p_i). Пусть p = p_1 и c = c_1.

  2. Для i = overline{1, r} выбираем a_i, b_i in mathcal{K} и вычисляем x_i = T_{a_i}(p) и y_i = T^{-1}_{b_i}(c).

  3. Сортируем по первой компоненте тройки (x_i, a_i, «A») и (y_i, b_i, «B») для i = overline{1, r}.

  4. Для каждого «совпадения» x_i = y_jс 1 leq i, j leq r, если T_k = T_{b_j}T_{a_i}, то return(«Совпадение найдено»). Для проверки, что T_k = T_{b_j}T_{a_i}достаточно проверить, что c_h = T_{b_j}T_{a_i}(p_h) для всех h = overline{1, l}.

  5. return(«Совпадений не найдено»).

end

Доказательство теоремы

Гораздо проще сначала доказать вторую часть утверждения. Предположим, что C замкнута, тогда для любого преобразования T_i существует единственное преобразование T_j, такое, что T_iT_j (x) = T_k(x). Тогда всего возможных пар такого вида не более чем |mathcal{K}|^2, и каждая пара даёт преобразование совпадающее с T_k с вероятностью frac{1}{|mathcal{M}|!}. Значит осталось посчитать вероятность наступления хотя бы одного из событий T_iT_j (x) = T_k(x) .Все события независимы, значит вероятность успеха — их сумма их вероятностей. Т.е. frac{|mathcal{K}|^2}{|mathcal{M}|!}.

Перейдём к групповому шифру. Для подсчёта соответствующей вероятности будем пользоваться идеей парадокса дня рождений [3]. P(«найти совпадения») это тоже самое, что 1 — P(«не найти совпадений»), а вероятность не найти совпадений посчитать гораздо проще.

Пусть X = {x_1, ... , x_r}, Y = {y_1, ... , y_r}, k = |mathcal{K}|. Тогда

P((X cap Y) = varnothing) = (1 - frac{r}{k})(1 - frac{r}{k-1})...(1 - frac{r}{k-r+1})== frac{(k-r)(k-r-1)...(k-2r+1)}{frac{k!}{(k-r)! }} = frac{(k-r)!^2}{k!(k-2r)!}  = p

Попробуем вычислить эту вероятность приближённо.

ln( p )= 2ln((k - r)!) - ln(k!) - ln((k - 2r)!)

Помним, что ln(n!) geq nln(n) - n

ln(p) geq 2(k-r)ln(k-r) - 2(k-r) - kln(k) + k - (k-2r)ln(k-2r) + k - 2r == 2(k-r)ln(k-r) - kln(k) - (k -2r)ln(k-2r)

Используем разложение в ряд Тейлора:

ln(k - r) geq ln(k) - frac{r}{k}

ln(k - 2r) geq ln(k) - frac{2r}{k}

Тогда

ln(p) geq 2(k-r)(ln(k) - frac{r}{k}) - kln(k) - (k - 2r)(lnk - frac{2r}{k}) = frac{-2r^2}{k}

Т.е. P((X cap Y) = varnothing) geq e^{frac{-2r^2}{k}}.

К сожалению, ещё не всё.

P(«не найти совпадений») = P((X cap Y) = varnothing) cdot P(«X без повторов») cdot P(«Y без повторов»).

P(«X без повторов») = P(«Y без повторов») geq e^{frac{-r^2}{2k}}— вот опять пригодился парадокс дней рождений.

Отсюда P(«не найти совпадений») geq e^{frac{-3r^2}{|mathcal{K}|}}.

Тогда вероятность, что MCU найдёт совпаденияgeq 1 - e^{frac{-3r^2}{|mathcal{K}|}}. Теорема доказана.

Литература

  1. https://csrc.nist.gov/files/pubs/fips/46-3/final/docs/fips46-3.pdf

  2. https://link.springer.com/article/10.1007/BF00206323

  3. https://www.jstor.org/stable/27956609

Источник: habr.com

✅ Найденные теги: Как, новости

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых