Математические
модели криптографии
А. Е. Жуков, председатель совета Окончание. Начало см. в № 5’2011.
Ассоциации «РусКрипто»
Поточные шифры няется во времени. Заметим, что в от- f2 , ѕ, таких, что для всех t 1
Поточные шифры являются важ- личие от поточного шифра, преоб- функция ft : K % At – 1 Z, тогда
нейшими криптографическими при- разование, которому подвергаются очередной знак ключевого потока
митивами, обеспечивающими кон- информационные блоки при блоч- kt = ft(k, x1, ѕ, xt – 1);
фиденциальность информации. При ном шифровании, во времени не ме- ● E(kt, ) и D(kt, ) – семейство пре-
аппаратной реализации поточные няется. образований шифрования и рас-
шифры, как правило, быстрее блоч- Общая структура поточного шифрования в общем случае за-
ных и могут быть реализованы бо- шифра: поточный шифр задается висящих от значения kt :
лее простыми микросхемами. По- следующими элементами (рис. 5): E(kt, ) : A B’, D(kt, ) : B’ A,
точные шифры в наибольшей сте- ● A – конечный алфавит, элементы при этом yt = E(kt, xt) и xt = D(kt , xt),
пени подходят для приложений, в ко- которого являются знаками от- то есть при фиксированном kt пре-
торых время работы является кри- крытого текста (plaintext), откры- образования E и D являются вза-
тическим параметром, или для уст- тый текст представляется в виде имнообратными.
ройств, работающих при сущест- конечной последовательности x1, Большинство поточных шифров
венных ограничениях (по скорости, x2, ѕ, xn где xt A; относится к одному из двух классов:
по площади микросхемы, по энер- ● B’ – конечный алфавит, элементы синхронным поточным шифрам
гопотреблению и т. д.). Поточные которого являются знаками ши- и самосинхронизирующимся поточ-
шифры широко используются в те- фртекста (ciphertext), шифртекст ным шифрам. Однако разновидно-
лекоммуникациях. Особенно удоб- представляется в виде конечной сти поточных шифров не ограничи-
но использование поточных шифров последовательности y1, y2, ѕ, yn ваются двумя этими классами (на-
в системах мобильной связи, требу- той же длины, что и соответству- пример, алгоритм Helix не относит-
ющих от криптографических при- ющий открытый текст, при этом ся ни к одному из этих классов)
митивов высокой скорости работы, yt B’; У синхронного поточного шифра
минимальных размеров реализую- ● Z – конечный алфавит, элементы (synchronous stream cipher) генератор
щих их микросхем, ограничений по которого являются знаками клю- ключевого потока является конеч-
потребляемой энергии и электро- чевого потока (key stream, running ным автономным автоматом, рабо-
снабжению. key) k1, k2, ѕ, kn , kt Z; та которого определяется только зна-
Поточным шифром (stream cipher) ● K – множество секретных ключей чением секретного ключа k и, воз-
называется симметричный шифр, всей системы; мощность множес- можно, значением несекретной син-
который обрабатывает открытый тва K, как правило, весьма велика, хропосылки IV (IV – initial vector) и не
текст отдельными символами (ра- но в то же время K Z n; зависит от знаков открытого текста
нее – побитно, затем – побайтно, ● k – секретный ключ системы, k K, или шифртекста (рис. 6).
в последнее время – бинарными сло- с помощью которого определяет- Непременным условием коррект-
вами длиной 32, 64 или 128 битов), ся ключевой поток k1, k2, ѕ; ной работы синхронного поточного
причем преобразование, которому ● RKG = { f1, f2 , ѕ} – генератор клю- шифра является обязательная син-
подвергаются последовательные зна- чевого потока (running key genera- хронизация генераторов ключевого
ки открытого текста, все время изме- tor, RKG) – семейство функций f1, потока на передающем и приемном
Комбинационная часть (combin- ● Динамические массивы памяти ющих в качестве управляющей ча-
ing part) напрямую участвует в вы- (dynamic memory array). В самом сти счетчики, могут служить алго-
работке знаков выходной последова- общем виде динамическим масси- ритмы NLS, Rabbit. Ясно, что обес-
тельности и отвечает за ее сложность вом памяти будем называть такой печение криптостойкости в случае
и непредсказуемость, сохраняя при массив ячеек памяти, в котором использования счетчиков цели-
этом все хорошие свойства, обеспе- заполнение конкретной ячейки па- ком ложится на комбинационную
ченные работой управляющей части. мяти в следующий момент време- часть, в качестве которой необхо-
ни определяется некоторой функ- димо выбирать какую-либо одно-
Строение управляющей части цией g (функция обновления) от за- направленную функцию. В роли
Ниже приведем список узлов, полнений всех ячеек массива в пре- таковой выступает хэш-функция
наиболее часто встречающихся дыдущий момент времени (рис. 9). (алгоритмы Phelix, Salsa20/12) или
в схемах управляющей части со- Все конструкции, рассмотренные даже целиком блочный шифр (ал-
временных поточных шифров. выше, могут быть описаны как ди- горитм LEX или алгоритм ГОСТ
● Регистры сдвига с линейной об- намические массивы памяти с весь- 28147-89 в режиме гаммирования).
ратной связью (linear feedback shift ма простыми функциями обнов-
register – LFSR) – наиболее распро- ления. В данный же раздел мы Строение комбинационной части
страненные узлы управляющей ча- включаем алгоритмы поточного Конструкции, используемые в ка-
сти современных поточных шиф- шифрования, использующие ди- честве комбинационной части алго-
ров. Чрезвычайно распространены намические массивы общего вида: ритмов поточного шифрования, так-
ввиду давно разработанной мате- HC128, Mir1, Hermes8, Mosquito, же весьма разнообразны.
матической теории, позволяющей TSC-3, Phelix, Rabbit, Polar Bear, ● Нелинейные функции (nonlinear
строить LFSR с заранее намечен- Py, Salsa20/12, Edon80. function) – наиболее старая и наибо-
ными свойствами. Используются лее распространенная конструк-
в огромном количестве алгорит- ция (используются в алгоритмах
мов поточного шифрования. В чис- ABC, Decim, Grain, MICKEY-128,
ле последних разработок – алго- WG).
ритмы ABC, Decim, Grain, MICK- ● Прореживание последовательно-
EY-128, Polar Bear, SOSEMANUK, сти, выработанной управляющей
Sfinks, WG, Yamb, ZK-Crypt. частью (Decimating of the interme-
● Регистры сдвига с управляемым diate sequence) – алгоритмы ABC,
движением (jump controlled LFSR). Decim, Grain, Sfinks, Polar Bear,
В числе последних разработок – MICKEY-128, WG, SOSEMANUK,
алгоритм Pomaranch. Yamb.
Рис. 9
● Регистры сдвига с обратной свя- ● Конечные автоматы (finite-state
зью по переносу (feedback with car- Особо следует отметить разно- machine). Для улучшения свойств
ry shift register – FCSR). Для них, так видность динамических массивов па- последовательности, выработан-
же как и для регистров сдвига с уп- мяти, называемую клеточными авто- ной управляющей частью, можно
равляемым движением, существу- матами (cellular automata). Клеточ- использовать конечные автоматы
ет разработанная математическая ные автоматы используются в кон- (алгоритм Pomaranch).
теория. В числе последних разра- струкции управляющей части алго- ● Как уже упоминалось выше, в ка-
боток, использующих FCSR, – ал- ритма MAG. честве комбинационной части мо-
горитм F-FCSR-H. ● Счетчики (counter). Очень важ- гут использоваться как отдельные
● Регистры сдвига с нелинейной об- ным типом управляющей части, узлы блочных шифров (алгорит-
ратной связью (nonlinear feedback хотя и весьма простым, являются мы Phelix, Salsa20/12, Hermes8), так
shift register – NFSR). Хотя общая счетчики. Помимо простоты реа- и целиком блочные шифры (ал-
теория регистров сдвига с нелиней- лизации счетчики обладают весь- горитм LEX или алгоритм ГОСТ
ной обратной связью в настоящее ма важным свойством, позволя- 28147-89 в режиме гаммирования).
время не разработана, многочис- ющим использовать их при ши-
ленные исследования в этом на- фровании больших массивов дан-
правлении позволяют в ряде слу- ных (например, баз данных). Такая Примитивы
чаев получить достаточно точные конструкция управляющей час- с открытым ключом
оценки необходимых параметров. ти позволяет непосредственно рас- Из многочисленных примитивов
В последнее время интерес к ис- шифровывать отдельные произ- с открытым ключом ограничимся
пользованию в конструкции уп- вольно расположенные части за- рассмотрением асимметричных ал-
равляющей части существенно воз- шифрованного массива данных, горитмов шифрования и тех «прак-
рос (см. алгоритмы Achterbahn, а не производить расшифрование тических» однонаправленных функ-
Dragon, Grain, MICKEY-128, NLS, массива с его начала, как это при- ций, которые в них применяются.
SSS, Trivium, CryptMT-Fubuki, ходится делать в других случаях. Асимметричный шифр является
VEST). Примерами алгоритмов, использу- по сути дела однонаправленной под-
Найти: натуральное x такое, что ● Проблема Диффи–Хеллмана (Dif- ● Задача расшифрования Эль-Га-
y = g x. fie–Hellman Problem – DHP) маля (ElGamal Decryption Problem –
Заметим, что если порядок груп- Параметры: группа G, элемент EGDP)
пы G известен, нахождение наимень- g G. Параметры: простое число p, об-
шего значения дискретного логариф- Вход: два случайно выбранных разующий элемент g группы Zp*.
ма и нахождение любого его значе- элемента x и y из подгруппы, порож- Вход: шифртекст (u, v) и откры-
ния – задачи эквивалентные. денной элементом g G. тый ключ p = (p, g, e).
● Задача дискретного логарифми- Найти: элемент k = g ab, где Задача: найти x такой, что суще-
рования в группе, для которой a = logg x, b = logg y. ствует r для которого выполняются
известна факторизация порядка Если DHP представляет собой равенства u = g r modp и v = xermod p.
(Discrete Logarithm with Known Or- сложную задачу, k является секрет- ● Задача восстановления ключа
der Factorization Problem – DLKOFP) ным. Очевидно, если мы можем ре- Эль-Гамаля (ElGamal Key Recovery
Параметры: циклическая группа шать DLP, то мы можем решить Problem – EGKRP)
G порожденная образующим эле- и DHP, найдя параметр a как реше- Параметры: простое число p, об-
ментом g, порядок группы G и его ние задачи DLP для величины x, а за- разующий элемент g группы Zp*.
разложение на простые сомножители. тем вычислив k = y a. Таким образом, Вход: открытый ключ e = (p, g, e).
Вход: элемент y G. решение DHP сводится к решению Задача: найти целое d такое, что
Найти: натуральное x такое, что DLP. Последнее означает, что если e = g d modp.
y = g x. задача DHP трудна, то трудной ока- Заметим, что имея возможность
В качестве примера рассмотрим зывается и задача DLP применитель- дешифровывать сообщения (то есть
циклическую группу G, порожден- но к циклической подгруппе, порож- решая задачу EGDP) мы можем вы-
ную элементом g Zn*. Если ϕ(n) денной элементом g. В настоящее числить vu–dmod p из u и v. Отсюда
является неизвестным, то в общем время задача DHP считается труд- следует, что мы в состоянии найти
случае вычислительно трудно най- ной для группы g Zp*, где p – боль- ud как v/x. Очевидно, что задача на-
ти порядок элемента g. Также вы- шое простое число. хождения ud из u и g d эквивалент-
числительно трудно проверить, ле- ● Задача определимости Диффи– на проблеме Диффи–Хеллмана для
жит заданный элемент y Zn*в груп- Хеллмана (Decisional Diffie-Hell- группы G = Zp*.
пе G или нет. Если все-таки y G, man Problem – DDHP) Задачи, которые приведены вы-
вычислительно трудно найти хотя Параметры: группа G, элемент ше, соотносятся следующим обра-
бы одно натуральное x такое, что g G. зом (рис. 11).
y = g xmod n. Вход: тройка (x, y, z) элементов из
Во многих случаях для решения циклической подгруппы, порожден-
этих задач мы можем применить ал- ной элементом g. Поиск новых «практических»
горитмы факторизации. Так, напри- Задача: определить, выполняет- однонаправленных функций
мер, если порядок G известен и из- ся равенство z = x log g y или нет. Вплоть до самого последнего вре-
вестна его факторизация (то есть Очевидно, что DDHP сводится мени «технологическая база» крип-
мы имеем дело с задачей DLKOFP), к DHP. Считается, что эта задача так- тографии с открытым ключом про-
и при этом число G является B- же является трудной для большой должала оставаться чрезвычайно
гладким, мы можем применить про- циклической подгруппы, порожден- бедной. В подавляющем большин-
стой алгоритм, требующий порядка ной элементом g, g G = Zp*, где p – стве случаев это, как было сказано
O(B1/2) арифметических операций. большое простое число. выше, или задача факторизации
Протокол Диффи–Хеллмана (Dif- Наиболее известным алгорит- больших чисел, или задача дискрет-
fie–Hellman Key Agreement Protocol) мом шифрования, базирующимся ного логарифмирования в поле боль-
[2] был исторически первым при- на функции дискретного экспонен- шого порядка. Таким образом, в ос-
митивом асимметричной крипто- цирования, является алгоритм шиф- новании стойкости таких систем ле-
графии, опубликованным в откры- рования Эль-Гамаля (ElGamal Encryp- жит вычислительная трудность ре-
той литературе. Сам протокол обще- tion Algorithm) [3], который мы так- шения некоторой задачи для алгеб-
известен и мы его приводить не бу- же не приводим в силу его общеиз- раической системы с элементами чис-
дем. Его криптостойкость опирает- вестности. С оценкой его криптостой- ловой природы. Учитывая тот факт,
ся на сложность решения проблемы кости связаны следующие «практиче- что числа как наиболее древние ма-
Диффи–Хеллмана. ские» трудные задачи. тематические объекты давно изуча-
ются, не удивительны большие до-
стижения в разработке алгоритмов
для решения этих задач.
Эти тенденции нашли свое отра-
жение в публикации NIST (Нацио-
нального института стандартов и тех-
нологий США) [11], посвященной
Рис. 11 анализу сравнительной стойкости
1 «…после почти тридцати лет существования криптографии с открытым ключом все еще нет доказательства существования
фундамента теории – однонаправленных функций с лазейкой». Дж. Месси, январь 2002 года.
Рис. 15
Поэтому для получения обратимой 5. Hiltgen A. P. Cryptographically Relevant Contri-
схемы необходимо добавить в нее butions to Combinatorial Complexity Theory. ETH
дополнительные элементы, которые Series in Information Processing, vol. 3 (1993).
будут удалять «мусор». В отличии 6. Lai X. On the Design and Security of Block
от предыдущих подходов, когда рас- Ciphers. ETH Series in Information Processing,
сматривались две отдельные схемы – vol. 1. Hartung-Gorre Verlag Konstanz, 1992.
Рис. 14. Элемент CCNOT для f и для f –1, при новом подходе 7. Menezes A. J., van Oorschot P. C., Vanston S. A.
они связаны внутри одной схемы Handbook of Applied Cryptography. CRC, NY,
ские элементы [12], примерами кото- и являются подсхемами одной и той 1997.
рых могут служить такие элементы же схемы, построенной из обрати- 8. Rivest R. L., Shamir A., Adleman L. M. A Me-
как NOT, CNOT (Controlled NOT), мых логических элементов обрати- thod for Obtaining Digital Signatures and Public-
CCNOT (Controlled Controlled NOT) мой схемы для обратимого преобра- Key Cryptosystem. Communications of the ACM,
(рис. 12–14). зования f. Проанализировав полу- vol. 21 (1978), pp. 120–126.
С помощью этих элементов мож- ченные схемы из обратимых эле- 9. Rueppel R. A., Analysis and Design of Stream
но построить минимальную схему, ментов, можно выдвинуть следую- Ciphers, Springer-Verlag, Berlin, 1986.
реализующую данное преобразова- щую гипотезу о структуре вычисли- 10. SP 800-22. A Statistical Test Suite for Ran-
ние. Для удобства изображения схем тельно асимметричных преобразо- dom and Pseudorandom number generators for
и получения обратной схемы будем ваний [17]. cryptographic applications. NIST Special Publi-
располагать элементы на параллель- Возможно, схемы из обратимых cations 800-22, last revisions 2001.
ных горизонтальных линиях (про- элементов для асимметричных пре- 11. SP 800-131. Recommendation for the Transi-
водниках), на которые подаются вход- образований имеют общую струк- tioning of Cryptographic Algorithms and Key Sizes.
ные переменные. К схеме возможно туру, которая показана на рис. 15. NIST Special Publications 800-131 (draft), 2010.
добавление дополнительных линий, У таких схем есть некоторое «общее 12. Toffoli M. Bicontinuous Extensions of Invert-
на которые подается логический 0, тело», а также подсхемы, отвечаю- ible Combinatorial Functions. Math. Syst. Theory,
и играющих роль «памяти» [16]. щие за удаление «мусора» прямого vol. 14 (1981), pp. 13–23.
Однако в общем случае эта схе- и обратного преобразований. Из-за 13. Vaudenay S. A classical introduction to mod-
ма не будет обратимой. Дело в том, различия сложности подсхем удале- ern cryptography. Applications for Communica-
что в процессе вычисления нашего ния «мусора» и возникает различие tions Security. Springer, NY, 2006.
преобразования на выходе схемы по- в сложности прямого и обратного 14. Шеннон К. Э. Теория связи в секретных си-
является не только значение нашей преобразований. ■ стемах. В кн.: Шеннон К.Э. Работы по теории
функции f, но и некоторая информа- информации и кибернетике. – М.: И.Л., 1963.
ция (за счет дополнительных линий), ЛИТЕРАТУРА 15. Жуков А. Е. Криптография с открытым
полученная в процессе вычисления 1. Boppana R. B., Lagarias J. C. One-way functions ключом и нечисловые алгебраические системы.
и называемая вычислительным му- and circuit complexity. Information and Computa- Безопасность информационных технологий,
сором или просто мусором (garbage). tion, v. 74 (1987), pp. 226–240. 2003, вып. 1.
Без знания этой информации, а толь- 2. Diffie W., Hellman M. E. New Directions in 16. Жуков А. Е. Схемы из обратимых логиче-
ко по значению функции f, соответ- Cryptography. IEEE Transactions on Information ских элементов: Один подход к изучению од-
ствующий прообраз получить не- Theory, vol. IT-22 (1976), pp. 644–654. нонаправленности. Труды III Международной
возможно. При попытке непосред- 3. ElGamal T. A Public-Key Cryptosystem and a конференции «Информационные системы
ственного обращения с использо- Signature Scheme Based on Discrete Logarithms. и технологии» (IST’2006), Минск, 2006.
ванием такой схемы помимо обра- IEEE Transactions on Information Theory, vol. 17. Жуков А. Е. Вычислительно асимметрич-
за требуется подать и этот «мусор» IT-31 (1985), pp. 469–472. ные преобразования и схемы из обратимых
(с криптографической точки зре- 4. Hiltgen A. P. Constructions of feebly-one-way элементов. Труды Восьмого Международного
ния играющий роль «лазейки»), ко- families of permutations. AUSCRYPT’92, LNCS симпозиума «Интеллектуальные системы»
торый в общем случае неизвестен. v.718 (1993), pp. 422–434. (INTELS–2008), М., 2008.