Научная статья на тему 'ПРОЕКТ СТАНДАРТИЗАЦИИ ПОСТКВАНТОВОЙ ЦИФРОВОЙ ПОДПИСИ'

ПРОЕКТ СТАНДАРТИЗАЦИИ ПОСТКВАНТОВОЙ ЦИФРОВОЙ ПОДПИСИ Текст научной статьи по специальности «Математика»

CC BY
128
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦИФРОВАЯ ПОДПИСЬ / КРИПТОГРАФИЯ НА РЕШЁТКАХ / ПОСТКВАНТОВАЯ КРИПТОГРАФИЯ / ПАРАДИГМА ФИАТA - ШАМИРА / SIGNATURE SCHEME / FIAT-SHAMIR TRANSFORM / LATTICE-BASED CRYPTOGRAPHY / POST-QUANTUM CRYPTOGRAPHY

Аннотация научной статьи по математике, автор научной работы — Киршанова Елена Алексеевна, Колесников Никита Сергеевич, Малыгина Екатерина Сергеевна, Новоселов Семен Александрович

Предлагается цифровая подпись, безопасность которой основана на задачах MLWR и MSIS в алгебраических решётках. Конструкция подписи основана на парадигме Фиата - Шамира. Доказывается безопасность схемы в квантовой модели безопасности и описываются конкретные параметры, при которых схема достигает уровня безопасности в 100 бит. Благодаря модульной структуре решёток, уровень безопасности легко изменить в большую или меньшую стороны. Наше предложение может служить основой проекта по стандартизации постквантовых примитивов на решётках.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Киршанова Елена Алексеевна, Колесников Никита Сергеевич, Малыгина Екатерина Сергеевна, Новоселов Семен Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

POST-QUANTUM SIGNATURE PROPOSAL FOR STANDARDISATION

In this paper, we propose an algebraic lattice-based signature scheme. The design of the proposal follows the Fiat - Shamir paradigm. Our scheme is proved secure in the quantum random oracle model and achieves security against UF - sCMA adversaries. The concrete parameters to instantiate the scheme that achieves 100 bits of security are proposed. Thanks to the algebraic structure of the construction, the scheme is flexible in security levels so that we can achieve trade-offs between speed and security. Our proposal may serve as the basis for a standard of lattice-based schemes.

Текст научной работы на тему «ПРОЕКТ СТАНДАРТИЗАЦИИ ПОСТКВАНТОВОЙ ЦИФРОВОЙ ПОДПИСИ»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

№13 ПРИЛОЖЕНИЕ Сентябрь 2020

Секция 3

МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ

УДК 511.48 DOI 10.17223/2226308X/13/14

ПРОЕКТ СТАНДАРТИЗАЦИИ ПОСТКВАНТОВОЙ ЦИФРОВОЙ ПОДПИСИ

Е. А. Киршанова, Н. С. Колесников, Е. С. Малыгина, С. А. Новоселов

Предлагается цифровая подпись, безопасность которой основана на задачах MLWR и MSIS в алгебраических решётках. Конструкция подписи основана на парадигме Фиата — Шамира. Доказывается безопасность схемы в квантовой модели безопасности и описываются конкретные параметры, при которых схема достигает уровня безопасности в 100 бит. Благодаря модульной структуре решёток, уровень безопасности легко изменить в большую или меньшую стороны. Наше предложение может служить основой проекта по стандартизации постквантовых примитивов на решётках.

Ключевые слова: цифровая подпись, криптография на решётках, постквантовая криптография, парадигма Фиато — Шамира.

Введение

Криптографические примитивы на решётках — одно из самых обещающих направлений современной криптографии не только ввиду стойкости этих примитивов к атакам на квантовом компьютере, но и вследствие большого спектра конструкций (гомоморфное шифрование, электронные голосования, различные типы подписей), а также их надёжности по отношению к классическим атакам. Криптографические конструкции на решётках не только элегантны в теории, но и значимы на практике, поэтому в достаточно скором будущем будут стандартизированы. Пробные версии обмена ключами New Hope уже тестированы в TLS-соединениях для браузера Google Chrome [1]. Процесс стандартизации постквантовых схем доступен по адресу https://csrc.nist.gov/projects/post-quantum-cryptography.

В этой работе мы предлагаем схему цифровой подписи, основанную на алгебраических решётках, конструкция которой удовлетворяет следующими основным свойствам:

1) безопасность схемы основана на задачах «в среднем», а именно на задачах LWR (Learning With Rounding) и SIS (Shortest Integer Solution) — классических трудных задачах на решётках, определения которых даны в п. 1);

2) для эффективности схемы используется так называемый модульный вариант задач, а именно module-LWR, module-SIS [2], что не только позволяет уменьшить размеры параметров схемы и время операций, но и даёт возможность легко варьировать уровни безопасности схемы;

3) стойкость схемы доказана в квантовой модели QROM (Quantum Random Oracle Model) для «сильного» атакующего, а именно для атаки вида UF — sCMA; доказательство можно найти в [3];

4) в процессе генерации ключей и подписи вместо нормального распределения используется равномерное распределение из интервала, что уменьшает риск сторонних атак;

5) предлагается конкретный набор параметров схемы с битовой оценкой сложности атак на предложенные параметры (см. п. 3).

Представленная здесь схема основана на парадигме Фиата — Шамира [4, 5] и по идеологии продолжает серию работ, предлагающих конкретные схемы подписи [6-8]. Основное отличие нашей схемы от ранее предложенных заключается в том, что безопасность ключей основана на задаче LWR (а не на задаче LWE (Learning With Errors)). Мы считаем, что такой подход упрощает описание и потенциально ускоряет вычисления.

1. Предварительные сведения 1.1. Обозначения

Будем обозначать Z/qZ кольцо целых по чётному модулю q, результат z mod q представляем в интервале {0,... , q — 1}; R, Rq и Rp — кольца многочленов Z[x]/(xn+1), Z/qZ[x]/(xn+1) и Z/pZ[x]/(xn+1) соответственно. Векторы будем обозначать жирными строчными буквами (например, x), матрицы — прописными (например, A), константы — обычными строчными; I — единичная матрица. Элементы кольца Z[x]/(xn+1) будем понимать как векторы-коэффициенты многочленов. Векторы по умолчанию являются вектор-столбцами. Евклидова (или ¿2) норма вектора x определяется как

||x|| = ||x||2 = fYh х2, а -норма — как ||x|| = max |xj|.

V i i

Многочленам из кольца R ставим в соответствие векторы-коэффициенты длины n, поэтому произведение векторов x • y надо понимать как произведение соответствующих многочленов. Элементу a Е Rq ставим в соответствие матрицу rot(a) Е (Z/qZ)raxra, i-я строка которой — коэффициенты многочлена xi-1 • a. Такая матрица задаёт произведение любого элемента из Rq на многочлен a.

Для конечного множества S запись s ^ S обозначает, что s выбрано в соответствии со случайным равномерным распределением на S. Через S^ обозначим множество векторов длины каждый коэффициент которого взят в соответствии с равномерным распределением из множества {—в,..., в} .

Для любого х Е Q запись Round(х) Е Z означает взятие ближайшего целого, где 1/2 округляется до 1. Для целого х функция MSB(x, d) (соответственно LSB(x, d)) означает взятие d старших (соответственно младших) бит. Все операции распространяются на векторы и матрицы покоэффициентно.

В нашей схеме мы будет использовать два модуля: q = 2V и p = 2м. «Конвертирование» элемента х Е Z/qZ в х' Е Z/pZ происходит по правилу х' = Round(х • p/q). Так как модули — степени двойки, этот же результат можно получить, добавив к х константу h = 2V-M-1 и взяв ^ старших бит: х' = MSB(x + h,^). Такое представление операции Round использовано, например, в [9]. Вектор, каждая координата которого равна h, обозначим h. Для всякого целого w > 0 положим Bw = {x Е R : ||x|| = 1, ||x|| = Vw} С R.

1.2. Синтаксис и модели безопасности цифровых подписей

Определение 1. Цифровая подпись — примитив, состоящий из трёх алгоритмов:

— вероятностный алгоритм генерации ключевой пары KeyGen(par), возвращающий

секретный ключ sk и ключ верификации vk;

— вероятностный алгоритм генерации подписи Sign(sk,m), который для сообщения m G M возвращает подпись а;

— детерминированный алгоритм Verify(m, a, vk), который возвращает либо «Accept» (подпись а корректна для (m,vk)), либо «Reject» (подпись а не корректна для (m, vk)).

Цифровая подпись корректна с долей ошибки е, если для всех пар (sk, vk) G G KeyGen(par) и всех сообщений m G M имеем

P [Verify(m, Sign(sk, m), vk) = «Accept»] ^ 1 — е.

1.3. Сложные задачи на решётках Безопасность нашей подписи основывается на двух «сложных в среднем» задачах. Первая — задача Обучения с Округлением (Learning With Rounding (LWR)) [10] — детерминированная версия задачи Обучения с Ошибками (Learning With Errors (LWE)) [11]. В основе безопасности ключей подписи лежит трудность этой модульной версии задачи над фактор-кольцом Rq [2]. Все вычисления производятся в фактор-кольце Rq, матрица A формируется как блочная матрица из k • t элементов из Rq, где каждый блок — матрица rot(a).

Для предлагаемой схемы, в отличие от классических задач LWR и LWE, где матрица A берётся случайным образом из R^^, будем требовать, чтобы хотя бы один

из k • t многочленов был обратим в Rq. Будем обозначать такую матрицу через A. Это требование не влияет на безопасность схемы, поскольку, как минимум, константное число многочленов обратимы в Rq 1. Значит, если атакующий имеет непренебрежимо малую вероятность успеха для A, этот же атакующий имеет непренебрежимо малую вероятность успеха для A ^ Rq.

Определение 2 (задача обучения с округлением (MLWR)). Пусть q ^ p ^ 1, k,t ^ 1 —целые числа. MLWR-распределение для вектора s ^ Rfq есть множество пар

вида ^A, Round ^ -q • A • s^, где A ^ R^. Задача поиска : для заданного произвольным образом большого числа выборок из MLWR-распределения для вектора s ^ Rfq восстановить s. Задача различения распределений : для заданного произвольным обра-

■kxl ^ тук q х Rp

ыми для вектора s ^ Rq.

Обе версии задачи эквивалентны (то есть, имея оракул, решающий одну задачу, можно решить другую за полиномиальное от n время) [12]. В доказательстве безопасности схемы подписи нам понадобится вторая версия. Безопасность подписи основана на задаче нахождения Короткого Целочисленного Решения (Short Integer Solution (SIS) problem) [13]. Нам потребуется модульная версия этой задачи.

Определение 3 (задача нахождения Короткого Целочисленного Решения (MSIS)) Зафиксируем b G N и пусть A ^ R^. Модульная задача нахождения короткого целочисленного решения, параметризованная посредством b > 0, заключается в нахождении «короткого» ненулевого прообраза y ^ Rk+ в решётке, определяемой A, т. е.

_У = 0, [I|A] • y = 0 и ||у||те ^ b.

1 Вероятность обратимости случайного многочлена в Rq, где q — степень двойки, не столь тривиальна (и не столь велика), как в случае простого q. Случайный многочлен a g Rq обратим тогда и только тогда, когда rot(a) —обратимая матрица в Z/qZnxn, что, в свою очередь, верно тогда и только тогда, когда det(rot(a)) —обратимый элемент в Z/qZ. В случае q = 2V имеем |Z*| = 2V-1, а значит, случайный элемент из Z/qZ обратим с вероятностью |Z*|/q = 1/2.

зом большого числа выборок из х Д^ определить, являются ли они равномерно распределёнными или МЬШИ,-рашределёнными для вектора б ^ Д^.

Для доказательства безопасности схемы потребуется вариант задачи SIS, так называемый SelfTargetSIS, предложенный в [14]. В этой же работе описана редукция от SIS к SelfTargetSIS.

Определение 4 (задача SelfTargetSIS). Пусть H : {0,1}* ^ Bw — криптографическая хэш-функция. Зададим случайным образом A ^ R*1 и доступ к квантовому случайному оракулу H(-). Для исходного сообщения M G {0,1}* задача SelfTargetSIS сводится к нахождению

y =[r, c]T, где 0 ^ ||у||те ^ y, H([A|I] ■ y, M) = c.

2. Описание схемы

Цифровая подпись (алгоритмы 1-3) зависит от следующих параметров: q = 2V, p = 2м, v > Используется криптографическая хэш-функция H : {0,1}* ^ Bw [7]. Параметры отвечают за размерности ключей; s, y задают интервалы для коэффициентов многочленов в процессе генерации ключей или подписи; d, в отвечают за корректность и безопасность схемы. Подпись формируется для сообщений M G {0,1}*. Конкретные значения параметров заданы в п. 3.

Алгоритм 1. Генерация ключей

Вход: £ > k > 1, q>p, s. Выход: A, t. 1: A ^ Rj**; 2: s ^ Sf;

3: t := Round ^p ■ As^J . // ||t - As||œ ^ 2V-M

4: Вернуть sk = s, vk = (A, t).

Алгоритм 2. Генерация подписи

Вход: q = 2V, p = 2м, t > 1, M, A, t, s, d, H, в, Y, w. Выход: (z, c). 1: У ^ SY-i;

2: c := H (MSB(A • y,d),M);

3: z := y + sc;

4: w := Az — t • 2V-M • c;

5: Если (||LSB(w, v — d)||^ ^ 2v-d — w • 2V-м+1) или (||z||^ ^ y — в), то

restart. 6: Вернуть (z, c).

Алгоритм 3. Проверка подписи

Вход: M, z, c, A, t, d, H, в, 7-

Выход: «Accept» или «Reject».

w := Az - t ■ 2V-M ■ c;

c' := H(MSB(w,d)),M);

Если c' = c и ||z||^ ^ 7 — в, то

Вернуть «Accept», иначе

Вернуть «Reject».

2.1. Корректность Поскольку w = А ■ z — 1 ■ ■ с, z = у + б ■ с и 1 = Роып^ — ■ Аб ), то

V? )

w = А ■ (у + б ■ с) — с ■ ■ Роып^— ■ А^ = Ау + Абс — с ■ 2^ ■ Роып^— ■ Аб

Согласно введённым обозначениям, Роып^ — ■ Аб ) = МБВ(Аб + Ь, где Ь — вектор,

)

каждая координата которого равна к = 2^ м 1. Тогда

w = Ау + Абс — с ■ 2^ ■ МБВ(Аб + Ь,^,) = Ау + Абс — с (Аб + Ь + ЬБВ(Аб + Ь, V — .

Раскрывая скобки, окончательно получаем

w = Ау — с (Ь + 1_БВ(Аб + Ь, V — , (1)

где ||с (Ь + 1_БВ(Аб + Ь, V — < , поскольку с е Бт и ||LSB(AБ,v — <

< Рассматривая LSB(w,v — d) в алгоритме 2 на шаге 5 и учитывая ошибку

с (Ь + LSB(AБ + Ь, V — ^)), получаем, что при — d)||те > 2У-Л — ад ■ 2^+1

алгоритм отклоняет значение w.

Так как с (Ь + LSB(AБ + Ь, V — —малый вектор ошибки, то из равенства (1) очевидно, что MSB(w,d) = MSB(Ay,d). Следовательно, вычисление с' на шаге 2 алгоритма 3 совпадает со значением вектора с на шаге 2 алгоритма 2.

2.2. О числе итераций в процедуре Б^п В процессе вычисления подписи алгоритм 2 на шаге 5 проверяет, попадают ли коэффициенты вектора z в интервал { — (7 — в — 1),... ,7 — в — 1}. Для фиксированного ключа б вероятность этого события зависит от ||у^, выбранного на шаге 1. Вычислим эту вероятность.

Пусть z = у + V такой, что z е £^-/3-1. Обозначим в = ||сб|^. Так как ||б|^ ^ в и с е , то в < ^з. Отсюда ^ в. Для каждого коэффициента vi вектора V

соответствующий коэффициент zi лежит в интервале { — (7 — в — 1),... ,7 — в — 1}. Поскольку у = z — V, то у е Б^ -1 и соответствующий коэффициент у г лежит в интер-

вале { — (y — 1),..., 7 — 1}. Следовательно,

Ve-1

sY-e-iL/27—2в—nв У ( впА

pi= ONL <Y—Ч1 — и ex4—VJ

Алгоритм 2 на шаге 5 также проверяет, когда коэффициенты вектора ЬБВ^, V — не попадают в интервал { — (2^-Л—т•2^-м+1 — 1),... , 2и-Л—— 1}. Вероятность этого события, очевидно, зависит от малого вектора ошибки с (Ь + 1БВ(Ав + Ь, V — который возникает при упрощении выражения w = А • ъ — 1 • • с на шаге 4. Вычислим эту вероятность.

Как показано выше, каждый коэффициент вектора ошибки с (Ь + 1БВ(Ав+Ь, V— лежит в интервале { — (т • 2и-^+1 — 1),... , т • 2^-м+1 — 1}. Для каждого такого коэффициента соответствующий коэффициент вектора ЬБВ^, V — попадает в интервал { —(2^-Л — 1),... , 21,-Л — 1}. Учитывая (эвристически) равномерный характер распределений, в итоге получаем

Р2 = [I LSB(w, V — ^ < — т • -+1] = -^-] =

1 — 7^+1-7 ~ ехР —

2v—d+1 _ 1 / V 2^-d+l — 1

Таким образом, ожидаемое число повторений функции Sign алгоритма 2 равно

Е[#итераций] = (pi ■ p2)-1.

3. Атаки и выбор параметров

Безопасность нашей схемы подписи основана на двух классических задачах на решётках— MLWR и MSIS. Будем определять конкретные параметры схемы, основываясь на сложности атак на эти задачи.

Мы работаем с модульными решётками, определёнными над кольцом целых цик-лотомического расширения, а именно R = Z[x]/(x256 + 1), то есть выбираем n = 256. Такое n позволяет осуществлять быструю арифметику в R. Основные параметры, определяющие сложность задач MLWR и MSIS, — это k (задаёт ранг решёток) и i (задаёт размер секретного вектора s).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Решение задачи MLWR сводится к нахождению короткого вектора в q-арной решётке ранга d

Лmlwr = {x е Zd : [rot(A) 1111] x = 0 mod q},

где d ^ n(i + k) + 1. Мы используем знак так как оптимальная атака может не использовать некоторые строки матрицы [rot(A) 1111]. Нужный вектор x е ЛмLWR — это Xshort = [rot(s)| - 1iow| - 1], где tiow = As - 1 и ||1iow|^ ^ 2V-M. Это «короткий» вектор в решётке ЛмLWE, так как он значительно короче \fdq1/nk — границы Минковского для

^LWR.

Это классическая «примальная» атака на LWR, сложность которой зависит от времени работы алгоритма BKZ для нахождения вектора длины ||xshort||. Оценить конкретное время работы BKZ — нетривиальная задача. Для получения значения 104 в таблице — консервативной оценки времени работы BKZ для решения задачи LWR — мы опирались на работу [15] и программный код [16]. Мы не приводим оценку для так называемой «дуальной» атаки на LWR, так как «примальный» метод для наших параметров оказался значительно эффективнее.

Рассмотрим теперь сложность задачи MSIS (так как задача SelfTargetSIS сводится к MSIS и для наших параметров атаки именно на MSIS работают эффективнее, определяющим фактором является сложность MSIS). Наиболее эффективная из всех известных атак на MSIS — нахождение короткого вектора в решётке

Лмж = {x е Zd : [rot(A) 11] x = 0 mod q}.

В отличие от атаки на MLWR, оптимальный алгоритм для задачи MSIS может опустить некоторые столбцы матрицы [rot(A) 11]. Решением задачи MSIS считается короткий вектор x G Лмэш с нормой ||х||те ^ max{2v-d+1,2(7 — в)}. Для параметров, приведённых в таблице, эти два значения примерно совпадают. Для получения конкретной сложности атаки MSIS мы пользовались стратегией [7, Appendix C]; скрипт, с помощью которого можно получить таблицу, доступен по ссылке https: //crypto-kantiana.com/elena.kirshanova/\#research.

Предлагаемые параметры цифровой подписи и их уровень безопасности

n k e V s d Y Е[#итераций] MSIS (BKZ-b) MLWR (BKZ-b)

256 3 4 23 19 4 3 1048096 8 93 (320) 104 (357)

В таблице последние два параметра — 93 (соотв. 104) — соответствуют битовой сложности атаки на MSIS с оптимальным размером блока в алгоритме BKZ, равному 320 (соотв. MLWR с оптимальным размером блока 357). В обоих вычислениях полагаем (консервативно), что сложность нахождения короткого вектора в решётке размерности d равна 20'292d, что асимптотически соответствует сложности алгоритма просеивания.

ЛИТЕРАТУРА

1. AlkimE., Ducas L., Poppelmann T., and Schwabe P. Post-quantum key exchange: A new hope // USENIX Conf. Security Symposium. 2016. P. 327-343.

2. Adeline L. and Stehle S. Worst-case to average-case reductions for module lattices // Des. Codes Cryptography. 2015. V.75. No.3. P. 565-599.

3. Kirshanova E., Kolesnikov N., Malygina E., and Novoselov S. Проект стандартизации постквантовой цифровой подписи (полная версия). https://crypto-kantiana.com/main_ papers/main_Signature.pdf.

4. Fiat A. and Shamir A. How to prove yourself: Practical solutions to identification and signature problems // CRYPTO'86. LNCS. 1987. V.263. P. 186-194.

5. Lyubashevsky V. Fiat — Shamir with aborts: Applications to lattice and factoring-based signatures // ASIACRYPT'2009. LNCS. 2009. V. 5912. P. 598-616.

6. Bai S. and Galbraith S. D. An improved compression technique for signatures based on learning with errors // Topics in Cryptology — CT-RSA 2014. LNCS. 2014. V. 8366. P. 28-47.

7. Ducas L., Kiltz E., Lepoint T., et al. CRYSTALS-Dilithium: A lattice-based digital signature scheme // IACR Trans. Cryptographic Hardware and Embedded Systems. 2018. No. 1. P. 238268.

8. Alkim E., Bindel N., Buchmann J., et al. Revisiting TESLA in the quantum random oracle model // PQCrypto 2017. LNCS. 2017. V. 10346. P. 143-162.

9. D'Anvers J.-P., Karmakar A., Roy S.S., and Vercauteren F. Saber: Module-LWR based key exchange, CPA-secure encryption and CCA-secure KEM // Progress in Cryptology — AFRICACRYPT 2018. Springer, 2018. P. 282-305.

10. Banerjee A, Peikert C., and Rosen A. Pseudorandom functions and lattices // Ann. Intern. Conf. Theory and Appl. of Cryptographic Techniques. Springer, 2012. P. 719-737.

11. Regev O. On lattices, learning with errors, random linear codes, and cryptography //J. ACM. 2005. V. 56. No. 6. P. 84-93.

12. Bogdanov A., Guo S., Masny D., et al. On the hardness of learning with rounding over small modulus // Theory of Cryptography. LNCS. 2016. V.9562. P. 209-224.

13. Ajtai M. Generating hard instances of lattice problems (extended abstract) // Proc. 28th Ann. ACM Symp. Theory Computing. 1996. P. 99-108.

14. Kiltz E., Lyubashevsky V., and Schaffner C., A concrete treatment of Fiat — Shamir signatures in the quantum random-oracle model // Adv. Cryptology — EUROCRYPT 2018. Springer, 2018. P. 552-586.

15. Albrecht M. R., Gopfert F., Virdia F., and Wunderer T. Revisiting the expected cost of solving uSVP and applications to LWE // ASIACRYPT 2017. LNCS. 2017. V. 10624. P. 297-322.

16. Albrecht M. R., Curtis B. R., Deo A., et al. Estimate all the {LWE, NTRU} schemes! // SCN 2018. LNCS. 2018. V. 11035. P. 351-367.

УДК 512.64, 519.21, 519.72 DOI 10.17223/2226308X/13/15

КОНСТРУКЦИИ НЕЭНДОМОРФНЫХ СОВЕРШЕННЫХ ШИФРОВ

Н. В. Медведева, С. С. Титов

Исследуются совершенные по Шеннону (абсолютно стойкие к атаке по шифр-тексту) шифры. Получены достаточные условия того, что таблицы зашифрования неэндоморфных (эндоморфных) совершенных шифров не содержат латинских прямоугольников (квадратов). Приведён пример таких конструкций.

Ключевые слова: совершенные шифры, эндоморфные шифры, неэндоморфные шифры.

Рассмотрим вероятностную модель Sb шифра [1]. Пусть X, Y — конечные множества соответственно шифрвеличин и шифробозначений, с которыми оперирует некоторый шифр замены, K — множество ключей, причём |X| = A, |Y| = |K| = п, где А > 1, ^ ^ A. Это означает, что открытые и шифрованные тексты представляются словами (¿-граммами, t ^ 1) в алфавитах X и Y соответственно. Согласно [2, 3], под шифром Sb будем понимать совокупность множеств правил зашифрования и правил расшифрования с заданными распределениями вероятностей на множествах открытых текстов и ключей. Шифры, для которых апостериорные вероятности открытых текстов совпадают с их априорными вероятностями, называются совершенными.

Описание эндоморфных (А = с минимально возможным числом ключей (|K| = = |Y|) совершенных шифров даёт теорема Шеннона, таблица зашифрования таких шифров — это латинский квадрат из равновероятных подстановок зашифрования [1].

Для неэндоморфных (А < минимальных совершенных шифров характерно большое многообразие таблиц зашифрования: они не сводятся только к латинским прямоугольникам размера ^ х А [4]. Для А = 2, например, таблицы зашифрования могут быть составлены и из неравновероятных инъекций. Однако если все ключи равновероятны, то данный совершенный шифр является выпуклой оболочкой латинских прямоугольников, содержащихся в его таблице зашифрования, согласно аналогу теоремы Биркгофа [5]. Если А > 2, то, даже для равновероятных инъекций зашифрования, неэндоморфный совершенный шифр может не содержать в своей таблице зашифрования латинских прямоугольников ^ х А [6].

Таким образом, при ^ > А возникает естественная задача описания минимальных по включению (т. е. шифров, содержащих минимально возможное множество ключей зашифрования с ненулевыми вероятностями) совершенных шифров, не сводящихся к латинским прямоугольникам размера ^ х А, которые можно рассматривать как непосредственное обобщение теоремы Шеннона. Данную задачу можно трактовать как задачу описания выпуклого полиэдра, соответствующего совершенным шифрам, через нахождение его вершин [5].

i Надоели баннеры? Вы всегда можете отключить рекламу.