ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2015 Математические методы криптографии №4(30)
УДК 519.719.2
ОБ ОДНОЙ СХЕМЕ ГИБРИДНОГО ШИФРОВАНИЯ
А. Ю. Нестеренко*, А. В. Пугачев**
* Национальный исследовательский университет «Высшая школа экономики»,
**Московский государственный университет информационных технологий, радиотехники
и электроники, г. Москва, Россия
Предлагается гибридная схема шифрования, которая базируется на схеме асимметричного шифрования Эль-Гамаля и использует предварительно распределённые секретные ключи для защиты от навязывания сообщений. Стойкость схемы основывается на высокой трудоёмкости решения задачи дискретного логарифмирования в группе точек эллиптической кривой. Основная особенность предлагаемой схемы заключается в том, что шифруемое сообщение не представляется в виде точки эллиптической кривой, что позволяет зашифровывать длинные сообщения. Приводится обоснование стойкости предложенной схемы, а также описание её возможных модификаций, направленных на выполнение дополнительных криптографических свойств, например аутентификации отправителя сообщения. Приводятся также результаты практической реализации схемы.
Ключевые слова: асимметричное шифрование, схема Эль-Гамаля, эллиптические кривые, аутентификация отправителя сообщений.
DOI 10.17223/20710410/30/5
A NEW HYBRID ENCRYPTION SCHEME
A. Yu. Nesterenko*, A. V. Pugachev**
* National Research University Higher School of Economics,
**Moscow State University of Information Technologies, Radio Engineering and Electronics,
Moscow, Russia
E-mail: nesterenko_a_y@mail.ru, a_pugachev@mirea.ru
A new hybrid encryption scheme based on ElGamal asymmetric encryption scheme with distributed secret keys is presented. The keys are used for defence against unauthorised intrusion of encrypted messages. The security of the scheme is based on elliptic curve discrete logarithm problem. The main feature of the scheme is the fact that plain message is not represented as a point of elliptic curve, hence, we can encrypt a long messages. We validate the cryptographic properties of the scheme and give some examples of its practical evaluations.
Keywords: asymmetric encryption, authentication, ElGamal scheme, elliptic
curves.
Введение
В настоящее время известно много схем асимметричного шифрования, позволяющих обеспечить процесс передачи зашифрованного сообщения от одного абонента
Об одной схеме гибридного шифрования
57
к другому. К таким схемам можно отнести схемы RSA, Эль-Гамаля, Рабина, Голдвас-сер — Микали и т. д. [1, гл. 8]. Стойкость каждой из перечисленных схем основывается на трудоёмкости решения некоторой теоретико-числовой задачи, например разложения больших чисел на множители или дискретного логарифмирования.
Основным недостатком асимметричных схем шифрования является тот факт, что они позволяют эффективно зашифровывать и расшифровывать только сообщения малой длины, например криптографические ключи. В связи с этим для шифрования длинных сообщений применяются так называемые «гибридные» схемы, в которых сообщение шифруется при помощи симметричного алгоритма шифрования, а ключ — при помощи асимметричной схемы [2].
В настоящей работе предлагается новый вариант схемы гибридного шифрования, основывающийся на схеме асимметричного шифрования Эль-Гамаля и использующий предварительно распределённые секретные ключи для защиты от навязывания сообщений. Кроме того, представлены несколько модификаций схемы, позволяющих её участникам:
— эффективно зашифровывать сообщения большой длины;
— использовать цифровую подпись для аутентификации отправителя сообщений.
В п. 1 приводится подробное описание предложенного нового варианта схемы асимметричного шифрования, определяется ключевая система, а также процедуры зашифрования и расшифрования сообщений. В п. 2 дан краткий анализ предложенной схемы: определены возможности нарушителя и перечень целей компрометации; рассмотрены основные атаки и показано, что при выполнении ряда предположений схема является стойкой.
В п. 3 приведены несколько модификаций предложенной схемы. Каждая модификация позволяет обеспечить дополнительные криптографические свойства, например обеспечить аутентификацию отправителя сообщений или увеличить длину шифруемого сообщения. В заключение приводятся результаты практической реализации схемы с конкретными значениями параметров и используемыми криптографическими примитивами.
1. Описание базовой схемы
1.1. П а р а м е т р ы с х е м ы и е ё к л ю ч е в а я с и с т е м а
1) Пусть p > 3 — простое число. Рассмотрим эллиптическую кривую E, заданную над конечным простым полем Fp сравнением
y2 = x3 + ax + b (mod p), (1)
где a,b E Fp удовлетворяют условию 4a3 + 27b2 = 0 (mod p).
2) Рассмотрим простое число q > 2, делящее порядок группы точек эллиптической кривой E, и выберем точку P = (xp,yp) E E, которая порождает циклическую подгруппу (P) С E порядка q.
3) Рассмотрим целое число т, такое, что p < т < 2p2. Каждое сообщение s будем представлять в виде вычета по модулю т: s E Zm.
4) Введём два простых отображения
f : Fp х Fp ^ Zm, h : Fp x FP x FP ^ Zm
которые будут использованы при зашифровании и расшифровании сообщений. В п. 1.3 мы дадим корректное определение этих отображений.
58
А. Ю. Нестеренко, А. В. Пугачев
5) Пусть r — натуральное число. Будем использовать отображение
mac : Fq х Zm — Zr,
позволяющее вычислить код целостности или, другими словами, имитовставку сообщения s Е Zm, зависящую от некоторого секретного ключа из Fq. В качестве такого отображения может выступать алгоритм HMAC [3] или отечественный алгоритм выработки имитовставки [4].
6) Для генерации ключа, используемого при выработке имитовставки, будем использовать функцию выработки ключа
kdf : Fp х E —— Fq.
Примером функции выработки ключа может служить алгоритм, описанный в рекомендациях [5].
Далее будем считать, что все перечисленные параметры (целые числа p, a, b, q, m, r; точка эллиптической кривой P = (xp,yp); отображения f, h, mac() и kdf()) известны как отправителю и получателю сообщения, так и нарушителю.
Теперь рассмотрим ключевую систему. Абонент Б, являющийся получателем сообщений, должен обладать следующими параметрами:
1) секретным ключом d — целым числом, удовлетворяющим неравенствам 0<d<q;
2) открытым ключом Y — точкой эллиптической кривой E, заданной парой координат (ху, уу) и определяемой равенством
Y = [d]P = P + ••• + P .
d раз
Кроме того, будем считать, что абоненты А и Б обладают общим долговременным секретным ключом S — точкой эллиптической кривой E, заданной парой своих координат (xs,ys) и удовлетворяющей сравнению (1). Дополнительно будем считать, что координата xs выбрана таким образом, что величина (axs + b)2 + 4bxS является квадратичным невычетом по модулю p.
1.2. П р о ц е д у р ы з а ш и ф р о в а н и я и р а с ш и ф р о в а н и я
Для зашифрования сообщения s Е Zm абонент А (отправитель сообщения) выполняет следующие шаги:
1) Вычисляет случайное целое число k, удовлетворяющее неравенствам 0 < k < q.
2) Вычисляет точку U = [k]Y, U = (xu ,Уи), эллиптической кривой E и определяет а, в Е Fp, где
_ Уи - ys , д ^
а =-------- (mod p),
xu — xs
p _ ysxu — xsУи , , ч
p =------------ (mod p).
xu — xs
3) Вычисляет точку W = [k]P, W = (xW,yW), и определяет
t = f (a,yu)s + h(a,p,yu) (mod m).
(2)
(3)
4) Определяет ключ du = kdf(xu, S). Затем вычисляет код целостности mac(du, s) и формирует сообщение
M = t||(xw,yw)|| mac(du, s).
(4)
Сообщение M является шифртекстом, который отправляется абоненту Б.
Об одной схеме гибридного шифрования
59
Легко видеть, что длина открытого текста s равна log2 m бит, а длина соответствующего ему шифртекста M равна log2 m + 2 log2 p + log2 r бит.
В случае, когда преобразования f и h имеют вид
f (a,yu) = a (mod m), h(a,/3,yu) = в (mod m),
предложенный способ зашифрования сообщения s имеет красивую геометрическую интерпретацию. Действительно, рассмотрим координаты точек S, U эллиптической кривой E как пары целых неотрицательных чисел. Расположим эти точки на действительной плоскости и проведём через них прямую линию. Рассмотрим открытый текст s как целое неотрицательное число, определяющее абсциссу некоторой точки T на данной прямой. Тогда шифртекст t есть ордината точки T, взятая по модулю m (рис. 1).
Рис. 1. Геометрическая интерпретация в простейшем случае
Поскольку абонент А при зашифровании сообщения s выбирает значение к случайным образом, вырабатываемая им точка U = [k]P, а следовательно, и прямая t = f (a,yu)s + h(a,e,yU) также являются случайными.
Для расшифрования полученного сообщения M абонент Б представляет его в виде тройки t £ Zm, W = (xw ,yw) £ E и кода целостности £ £ Zr. Далее абонент Б выполняет следующие шаги:
1) Проверяет, что точка W принадлежит эллиптической кривой E. В противном случае сообщение t не принимается.
2) Вычисляет точку U = [d]W, где U = (xu ,yu).
3) Используя сравнения (2), вычисляет значения a, в £ и определяет открытый текст s сравнением
s = (t - h(a, в, yu))f-1(a,yu) (mod m). (5)
4) Вычисляет ключ du = kdf(xu, S) и код целостности mac(du, s). Если mac(du, s) = £, то сообщение принимается и считается корректно расшифрованным. В противном случае сообщение не принимается.
1.3. Некоторые замечания о выборе параметров схемы
Сделаем несколько замечаний по выбору параметров схемы, влияющих как на корректность её работы, так и на её эксплуатационные качества.
60
А. Ю. Нестеренко, А. В. Пугачев
Выбор долговременного ключа S
Для корректной работы предложенной схемы асимметричного шифрования должно выполняться условие
U = ±S. (6)
В противном случае выполнено сравнение xs = Xu (mod p), и величины а, в G Fp, удовлетворяющие равенствам (2), не могут быть корректно определены.
Выполнение условия (6) может быть обеспечено двумя способами. В первом случае можно выбрать эллиптическую кривую E таким образом, чтобы порядок её группы |E| удовлетворял равенству
|E| = cqq^
где qi > 2 — некоторое большое простое число и qi = q; c ^ 1 — произвольное натуральное число. Тогда, выбирая в качестве S точку порядка q1, получим, что для любого целого k, такого, что 0 < k < q, выполнено условие
S = ±U = ±[k]P.
Во втором случае, когда порядок кривой E удовлетворяет равенству |E| = cq для некоторого натурального числа c ^ 1, можно модифицировать процедуру зашифрования сообщения s и проверять выполнение условия U = ±S на первом шаге алгоритма зашифрования. В случае невыполнения этого условия необходимо выбрать новое значение k.
Следует отметить, что если k выбирается случайно равновероятно из интервала 0 < k < q, то вероятность получить равенство U = ±S мала и равна 2/(q — 1).
Выбор значения параметра m и отображений f и h
Отметим, что выполнение условия U = ±S влечёт за собой выполнение условия yS = yU. В этом случае из (2) следует, что а = 0 (mod p). Аналогично, для величины в выполнено следующее утверждение.
Лемма 1. Пусть величина в G Fp определена сравнением (2). Пусть x-координата точки S = (xs ,ys) G E удовлетворяет условию
((axs + b)2 + 4bxS V p
где есть символ Лежандра. Тогда в = 0 (mod p).
Доказательство. Из (2) следует, что выполнение условия в = 0 (mod p) эквивалентно выполнению сравнения
ysXu = Уиxs (mod p). (7)
В силу выбора параметров схемы порядки точек U и S больше двух, поэтому их y-координаты отличны от нуля. Далее, если одна из x-координат, скажем Xu, сравнима с нулем по модулю p, то из (7) следует, что и вторая x-координата xs также сравнима с нулем, что невозможно в силу (6). Таким образом, выполнение сравнения в = 0 (mod p) влечёт за собой сравнение
Уи = — xU (mod p), xs = 0 (mod p).
Об одной схеме гибридного шифрования
61
Поскольку (xu ,yu) G E, из последнего сравнения следует, что величина Хи должна являться корнем многочлена
р(х) = х3
yS
Xs
2
x2 + ax + b
по модулю простого числа р. Легко проверить, что p(xs) = 0 (mod р); тогда можно записать сравнение
p(x)
(х — xS ) ( Х
2
(axs + b) Х2
xS
b
x-----
xs
(mod р)
(8)
В силу утверждения леммы, многочлен второй степени, входящий в произведение в правой части сравнения (8), не имеет корней в поле Fp, поскольку его дискриминант
D =
axS + b
x2
xS
: 4b _ (axS + b)2 + 4bxS
+ = 4
xs xS
является квадратичным невычетом по модулю р.
2
(mod p)
Теперь можно дать точное определение введённых ранее отображений f и h. Ввиду того, что значение f (a,yu) G Zm должно быть обратимо по модулю т, отображения f и h должны зависеть от значений параметра т, задающего длину шифруемого сообщения s.
Рассмотрим несколько вариантов.
1) Пусть m есть простое число или m = pip2 есть произведение двух нечётных простых чисел, для которых выполнены неравенства р < р1 < р2. Поскольку вырабатываемая в алгоритме зашифрования величина а удовлетворяет соотношению a = 0 (mod р), можно определить
f (a,yu) = ayu (mod m). (9)
Порядок точки U равен q, поэтому yu = 0 (mod р),
0 < ayu < т, (а, т) = 1.
Следовательно, значение f (a,yu) = ayu обратимо по модулю т. Поскольку должно выполняться неравенство т = р1р2 < 2р2, можно предъявить следующие оценки на величины р1, р2. Определим действительные величины у1, у2 неравенством р^ < р+ръ, где i = 1, 2, и будем считать, что выполнено неравенство
0 <71 <72 < 1 — logp 3. (10)
Тогда, учитывая, что из (10) следует неравенство 1 + р2 > 2p2l получим
т = р1р2 < р2 + р(р71 + р72) + р71+72 < р2 + 2р1+72 + р272 < р2 + 3р1-1о§р 3 = 2р2.
2) Пусть т = 2n для некоторого натурального n и т > 4р +1. Тогда можно определить
f (a,yu) = 2(а + yu) + 1 (mod т). (11)
Поскольку 0 < а < р, 0 < yu < р, то получаем, что выполнено неравенство 1 < < f (a,yu) < 4р + 1 < т; значение f (a,yu) нечётно, следовательно, f (a,yu) обратимо по модулю т.
62
А. Ю. Нестеренко, А. В. Пугачев
Легко видеть, что отображение h действует в (3) как аддитивная маска. Следовательно, можно определить
h(a,e,yu) = f-1(а, yu)в (mod m).
Отметим, что из леммы 1 вытекает, что значение h(a, в,Уи) отлично от нуля.
2. Краткий анализ предложенной схемы
Далее рассмотрим несколько атак на предложенную схему асимметричного шифрования и покажем, что при некоторых допущениях схема может считаться стойкой. Будем считать, что у желающего скомпрометировать схему нарушителя могут быть следующие цели:
— определение секретного ключа абонента Б;
— дешифрование переданного сообщения;
— навязывание абоненту Б ложного сообщения.
Предполагаем, что нарушитель обладает открытыми параметрами схемы, может перехватывать все передаваемые сообщения и проводить так называемый «пассивный» анализ. Более того, предполагаем, что нарушитель может активно воздействовать на канал связи и использовать абонента Б в качестве «оракула» для расшифрования специально подобранных сообщений [6]. Данные возможности нарушителя в англоязычной литературе принято называть возможностями, используемыми при проведении CCA и CCA2 атак.
Будем считать, что нарушитель может получать расшифрованные сообщения только в том случае, если сообщение расшифровано абонентом Б корректно, в частности, содержит корректный код целостности. Кроме того, упростим задачу нарушителю и будем предполагать, что ему известны координаты точки S, рассматривавшейся ранее как долговременный ключ.
2.1. Сведение задачи определения секретного ключа к задаче дискретного логарифмирования
Легко видеть, что сложность определения секретного ключа d абонента Б основывается на трудоёмкости решения задачи дискретного логарифмирования в группе точек эллиптической кривой E. Действительно, поскольку нарушителю известны все открытые параметры схемы, в частности точка P порядка q и открытый ключ Y абонента Б, то секретный ключ может быть найден из уравнения
Y = [d]P, d е Z*.
Аналогично, если нарушителю каким-либо образом удалось определить точку U, используемую для зашифрования и расшифрования сообщений, то он может найти секретный ключ d из уравнения
U = [d]W, d е Zq.
Известно, что решение задачи дискретного логарифмирования в группе точек эллиптической кривой, определённой над конечным простым полем Fp, является сложной задачей, трудоёмкость которой оценивается величиной O(^/q) [7, 8]. Это не позволяет, при больших значениях q, на практике найти значение d.
2.2. Сведение к задаче Диффи — Хеллмана
Перейдём к рассмотрению вопросов о дешифровании передаваемого сообщения. Предположим, что нарушитель умеет находить решение задачи Диффи — Хеллмана
Об одной схеме гибридного шифрования
63
в группе точек эллиптической кривой E. Другими словами, по заданным точкам P, W = [k]P, Y = [d]P, P,W,Y Е E, нарушитель может определить точку U Е E, удовлетворяющую равенству
U = [kd]P.
Поскольку мы предполагаем, что нарушителю известна точка S, он может воспользоваться сравнениями (2), определить значения а, в Е Fp и расшифровать передаваемое сообщение с использованием сравнения (5). Таким образом, нарушитель, который умеет решать задачу Диффи — Хеллмана в группе точек эллиптической кривой E, может дешифровывать передаваемые сообщения. Следует отметить, что в настоящее время задача Диффи — Хеллмана в группе точек эллиптической кривой считается трудноразрешимой, а наиболее эффективный способ её решения заключается в сведении к задаче дискретного логарифмирования [8].
В случае, когда нарушитель умеет решать задачу Диффи — Хеллмана, но не знает точного значения координат точки S, он может предложить атаку для их определения. Действительно, пусть l ^ 2 — натуральное число, тогда, воспользовавшись абонентом Б как «оракулом» расшифрования, нарушитель может получить значения открытых текстов si,... ,si Е Zm для некоторых произвольных корректно расшифрованных абонентом Б шифртекстов M1,... , Mi вида (4). После этого нарушитель может составить систему уравнений
ai —
< Pi —
—5------ (mod p),
XUi — xs
Vs xu, — xs Vu,
xU — xS
(mod p),
(12)
ti — f (ai, Vu, )si + h(ai,pi,VUi) (mod m), i = !,...,l.
Данная система состоит из 3l уравнений и зависит от 2l + 2 неизвестных а1,... ,а1, в1,... , в1 ,xs ,vs (значения xUl,..., xU;, yui,... ,vu известны нарушителю). В силу построения решение системы (12) существует, следовательно, нарушитель может найти это решение и определить неизвестные ему значения xs ,Vs.
2.3. П о н я т и е р а з о в о г о к л ю ч а
Можно считать, что величина к Е Z*, вырабатываемая на первом шаге алгоритма зашифрования, является разовым ключом, поскольку её раскрытие приводит к эффективному дешифрованию.
Действительно, пусть M = t\\W|| mac(dU, s) —шифртекст, выработанный под сообщением s Е Zm с использованием величины к. Тогда нарушитель, зная величину к и открытый ключ Y абонента Б, может вычислить точку U = [k]Y. Далее, используя (2) и зная долговременный ключ S, нарушитель может определить параметры а, в Е Fp и расшифровать передаваемое сообщение с использованием сравнения (5).
Добавим, что если нарушитель имеет доступ к l ^ 2 различным разовым ключам к1,... ,ki, а также может использовать абонента Б в качестве «оракула» расшифрования, вычисляющего по шифртекстам M1, ..., Mi, выработанным с использованием указанных разовых ключей, соответствующие корректно расшифрованные открытые тексты si, . . . , si, то он может определить точное значение долговременного ключа S. Для этого нарушителю достаточно решить систему сравнений (12).
2.4. Атака при шифровании на одинаковых разовых ключах
Рассмотрим ситуацию, при которой нарушитель перехватывает l ^ 2 шифртекстов Mi, . . . , Mi, выработанных с использованием одного и того же неизвестного нарушите-
64
А. Ю. Нестеренко, А. В. Пугачев
Г13)
лю разового ключа k. Для этого нарушителю достаточно отобрать из множества всех перехваченных шифртекстов те, у которых совпадают координаты точки W.
В этом случае, если нарушитель может использовать абонента Б как «оракула» для корректного расшифрования двух открытых текстов, скажем si и s2, он может при l ^ 3 эффективно дешифровать оставшиеся сообщения s3,... , si.
Действительно, параметры a,f G Fp, определяемые равенствами (2) при одинаковых значениях k G Z*, точка U и, следовательно, значения f(a,yu), h(a,f,yu) одинаковы для всех перехваченных сообщений Mi,...,Mi. Тогда значения f(а,уи), h(a, f,yu) могут быть эффективно вычислены нарушителем. Пусть ti ,t2 G Zm — фрагменты шифртекстов Mi и M2 соответственно. Тогда нарушитель может решить систему сравнений
ti = f (а,уи)si + h(a,f,yu) (mod m), h = f (a,yu)s2 + h(a,e,yu) (mod m)
относительно неизвестных значений f (a,yu) и h(a,f,yu), после чего воспользоваться равенствами (5) и дешифровать открытые тексты s3,... ,si.
2.5. Атака на основе адаптивно подобранных шифртекстов
Известно [9], что классическая схема Эль-Гамаля является уязвимой относительно атаки с адаптивно подобранным шифртекстом. Рассмотрим возможность применения данной атаки к нашей схеме.
Будем считать, что нарушитель хочет дешифровать шифртекст
M = t\\(xw,yw)|| mac(du, s)
и определить сообщение s. Для этого он пользуется абонентом Б как «оракулом» расшифрования и направляет ему на расшифрование два шифртекста специального вида
Mi = 0\\(xw,yw)\\ mac(du, s), M2 = 1\\(xw,yw)\\ mac(du, s).
Легко видеть, что шифртексты M, Mi, M2 выработаны с одним и тем же значением разового ключа k. Используя рассуждения выше и соответствующие шифртекстам Mi и M2 открытые тексты si, s2, нарушитель может определить значения величин f (а, yu) и h(a,e,yu) из равенств (13):
1
f (а, yu) = —1— (mod m), h(a,e,yu) = ——— (mod m). (14)
s2 — si si — s2
Теперь величина s определяется из сравнения (3). Отметим, что для проведения атаки значения ti и t2 могут принимать произвольные отличные друг от друга значения. Значения ti = 0 и t2 = 1 выбраны для минимизации формул (14).
Однако возможность осуществления приведённой атаки возникает только в том случае, когда абонент Б при расшифровании шифртекстов Mi , M2 не проверяет код целостности сообщения. Действительно, направляемый в шифртекстах Mi , M2 код целостности mac(du, s) соответствует сообщению s и для корректного расшифрования должен изменяться при замене фрагмента t на ti или t2. Таким образом, данная атака осуществима нарушителем в одном из двух случаев:
1) Для двух произвольных отличных друг от друга заранее заданных значений t0,ti нарушитель может вычислить значения
si = (ti - h(a,e,yu))f-i(a,yu)
mac(du, s^), si = (ti - h(a,e,yu))f i(a,yu) (mod m), при неизвестных значениях f (a,yu), h(a,f3,yu) и ключа du.
i = 1, 2,
Об одной схеме гибридного шифрования
65
2) Для двух произвольных отличных друг от друга заранее заданных значений ф,£2 нарушитель может определить два значения ti и t2, такие, что
mac(du, si) = ф, Si = (ti - h(a,e,yu))f-1(a,yu) (mod m), i = 1,2,
при неизвестных значениях f (a,yu), Н(а,в,Уи) и ключа du.
Если для функции mac перечисленные предположения не выполняются, то предложенная схема может считаться стойкой относительно атаки с адаптивно подобранными шифртекстами (CCA2).
2.6. Использование геометрических особенностей схемы
для её компрометации
Легко заметить, что предложенная схема обладает одной геометрической особенностью, которая может быть использована нарушителем для достижения целей компрометации. Действительно, из закона сложения на эллиптической кривой E вытекает, что в простейшем случае, когда f (a,yu) = a (mod m) и h(a,/3,yu) = в (mod m), прямая t = as + в, используемая для зашифрования сообщения s, содержит в себе не только точки U, S Е E, но и точку — (U + S) Е E (здесь, как и ранее, мы рассматриваем координаты точек как целые неотрицательные числа). Геометрически это изображено на рис. 2.
Рис. 2. Точки U, S и -(U + S) на эллиптической кривой E
Этот факт позволяет выразить значения параметров a и в через координаты точек U и —(S + U). Более того, если S, U Е (P), то и —(S + U) Е (P), следовательно, найдется целое число k0, такое, что 0 < k0 < q и — (U + S) = [k0]P. Если выполнено условие S = [—2]U, то k0 = k и получаем, что в схеме существуют два различных значения k,k0, для которых будет выработано одно и то же значение параметров a и в.
Согласно (9) и (11), значение функции f (a,yu) зависит не только от a, но и от x-координаты точки U, следовательно, значения f (a, yu) и f (a, y-(u+S)), выработанные для точек U и — (U + S) соответственно, различаются.
2.7. Навязывание сообщений
Высказанное ранее предположение о том, что нарушителю известен долговременный ключ S, позволяет предъявить простой алгоритм подделки передаваемого сообще-
66
А. Ю. Нестеренко, А. В. Пугачев
ния. Действительно, для любого открытого текста si Е Zm, si ф s (mod m), нарушитель может воспользоваться алгоритмом зашифрования и сформировать шифртекст
Mi = ti||(xw,yw)|| mac(du, si),
который будет корректно расшифрован абонентом Б.
Поскольку du = kdf(xu, S) и вычисление кода целостности mac(du, si) невозможно без знания долговременного ключа S, то навязывание абоненту Б ложного сообщения возможно только в двух случаях:
1) при компрометации долговременного ключа S;
2) если для заданных значений s и mac(du, s) нарушитель может определить секретный ключ du.
Для навязывания ложного сообщения при наличии второй уязвимости может быть применён вариант изложенной ранее атаки на одинаковых разовых ключах. Используя абонента Б в качестве «оракула расшифрования», нарушитель может получить для двух перехваченных шифртекстов Mi, M2, выработанных на одном и том же разовом ключе k, соответствующие им открытые тексты si, s2. Решая систему сравнений (13), нарушитель может найти значения f (a,yu) и h(a, fi,tyu).
Теперь, используя уязвимость функции mac(), нарушитель может определить секретный ключ du, на котором был выработан код целостности сообщений si ,s2, и вычислить корректный шифртекст для произвольного сообщения s. Заметим, что в таком шифртексте будет присутствовать точка W, содержащаяся также в сообщениях Mi, M2.
Легко заметить, что данная атака невозможна, если в распоряжении нарушителя не имеется двух шифртекстов Mi, M2, выработанных на одном и том же разовом ключе.
Суммируем изложенные результаты в виде следующей теоремы.
Теорема 1. Предложенная схема асимметричного шифрования может считаться стойкой относительно угроз раскрытия секретного ключа, дешифрования и навязывания сообщений в случае, когда выполнены следующие условия:
1) для нарушителя являются трудоёмкими задачи дискретного логарифмирования и Диффи — Хеллмана в группе точек эллиптической кривой E;
2) долговременный ключ S не известен нарушителю;
3) каждое сообщение шифруется с помощью уникального разового ключа k;
4) для функции выработки кода целостности mac() нарушитель не может решить задач, поставленных в п. 2.5 и 2.7;
5) расшифрованные сообщения, для которых неверен код целостности, не являются доступными нарушителю.
3. Обобщения базовой схемы
Изложенная базовая схема допускает несколько различных модификаций, позволяющих изменить её функциональные особенности без изменения стойкости. Далее рассмотрим несколько вариантов, приведя, для краткости, лишь алгоритм зашифрования сообщений.
3.1. Вариант с зашифрованием кода целостности
Передаваемый абоненту Б шифртекст M содержит в себе три составляющих: зашифрованное сообщение t, точку эллиптической кривой W и код целостности открытого текста s. При этом код целостности может рассматриваться как некоторая информация о передаваемом сообщении. Эта информация может привести к появлению
Об одной схеме гибридного шифрования
67
атак на функцию выработки кода целостности с целью определения сообщения s по его коду целостности.
Для предотвращения подобного рода атак схема может быть модифицирована следующим образом. Определим целое число cm равенством
Cm = |Ь§2 т\ - R0g2 г] .
Будем шифровать сообщения s Е Z2cm. Для этого абонент А выполняет сначала шаги 1, 2 базовой схемы (см. п. 1.1), затем следующие шаги:
3) Определяет ключ dj = kdf(xj, S), затем вычисляет код целостности mac(dj, s) и формирует сообщение s' = s|| mac(dj, s).
4) Вычисляет точку W = [k]P, W = (xw, yw), определяет
t = f (a,yj)s' + h(a,e,yj) (mod m)
и направляет абоненту Б шифртекст M = t||(xw,yw).
В данном варианте схемы шифрования длина открытого текста s равна cm бит, а длина соответствующего ему шифртекста M равна log2 m + 2 log2 p бит.
Легко видеть, что мы зашифровываем код целостности сообщения вместе с самим сообщением. Это позволяет скрыть от нарушителя информацию об открытом тексте s. Взамен мы уменьшаем размер открытого текста на [log2 r] бит.
3.2. Вариант с аутентификацией отправителя
Изложенная базовая схема, в общем случае, не обеспечивает аутентификацию отправляющего сообщения абонента А. Действительно, точка S может являться долговременным ключом, известным нескольким абонентам, скажем Ai,... , Aj, отправляющим сообщения абоненту Б. В этом случае абонент Б не может произвести различия между абонентами A1,... , Aj. Кроме того, это позволяет им навязывать от имени друг друга сообщения абоненту Б.
В случае, когда подобная ситуация является недопустимой, можно воспользоваться механизмом аутентификации отправляемых сообщений на основе цифровой подписи. Идея схемы асимметричного шифрования с аутентификацией отправителя была ранее высказана первым автором в [10].
Для реализации механизма аутентификации отправителя сообщения абонент А должен обладать парой персональных ключей — открытым ключом вл и секретным ключом dA цифровой подписи. Для выработки и проверки цифровой подписи может быть использована схема, регламентируемая национальным стандартом РФ ГОСТ Р 34.10-2012 [11].
В связи с использованием механизма цифровой подписи алгоритмы mac() и kdf() не используются. Кроме того, мы можем считать точку S общеизвестным открытым параметром схемы.
Как и для базовой схемы, будем считать, что абонент А зашифровывает сообщение s Е Zm. Для зашифрования абонент А выполняет шаги 1-3 базовой схемы (см. п. 1.1), а последний шаг выполняется следующим образом:
4) С использованием секретного ключа цифровой подписи dA абонент А вычисляет цифровую подпись sign(dA, s) под сообщением s и формирует сообщение
M = t||(xw,yw)|| sign(dA, s).
Сообщение M является шифртекстом, который отправляется абоненту Б.
68
А. Ю. Нестеренко, А. В. Пугачев
Длина открытого текста s равна log2 m бит, а длина соответствующего ему шифртекста M равна log2 m + 2 log2 p + z бит, где z — размер цифровой подписи.
При получении шифртекста абонент Б должен расшифровать сообщение s и, используя открытый ключ вл абонента А, проверить цифровую подпись. Если подпись верна, то абонент Б принимает решение о корректном расшифровании сообщения s.
В заключение отметим, что при неизвестном нарушителю значении S схема с аутентификацией отправителя сообщения может быть модифицирована для передачи цифровой подписи в зашифрованном виде так, как это было сделано в предыдущем пункте.
3.3. Вариант с шифрованием длинных сообщений
Изложенная базовая схема, а также два её варианта предназначены для шифрования сообщений короткой длины. Следующий вариант позволяет зашифровывать более длинные сообщения. Для его реализации отправитель и получатель сообщения, помимо определённых в п. 1.1 открытых параметров, должны иметь отображение д : F* ^ F*, которое также может быть известно нарушителю.
Пусть абонент А хочет зашифровать сообщение, представленное в виде конечной последовательности si,... , si Е Zm при l ^ 2. Для его зашифрования абонент выполняет следующие шаги:
1. Вычисляет случайное целое число k0, удовлетворяющее неравенствам 0<k0<q.
2. Вычисляет точку W = [k0]P, где W = (xw, yw).
3. Для всех индексов i от 1 до l:
а) вычисляет значение ki = g(ki-1) Е F*;
б) вычисляет точку Ui = [ki]Y, Ui = (хщ ,yui) и, используя (2), определяет параметры а, в Е Fp;
в) определяет t = f (а, yVi)si + h(a, в, yui) (mod m).
4. Определяет ключ du = kdf(xUx ,S), затем вычисляет код целостности mac(du, s1|| ■ ■ ■ ||si) и формирует сообщение
M = ti|| ■ ■ ■ ||ti||(xw,yw)|| mac(du, si|| ■ ■ ■ ||si).
Сообщение M является шифртекстом, который отправляется абоненту Б.
В данном варианте длина открытого текста s равна l log2 m бит, а длина соответствующего ему шифртекста M равна l log2 m + 2 log2 p + log2 r бит.
Легко видеть, что этот вариант схемы асимметричного шифрования представляет собой последовательность из l зашифрований в соответствии с базовой схемой; мы лишь минимизировали объём передаваемых данных за счёт использования отображения д, порождающего последовательность разовых ключей.
Надо добавить, что допустимый объём данных, зашифровываемый изложенным вариантом схемы, существенно зависит от свойств отображения д. Поскольку оно действует на конечном множестве из q — 1 элементов, то оно порождает циклические последовательности разовых ключей, что, как говорилось в п. 2.4, является небезопасным.
Пусть т — минимальная длина цикла последовательности, порождаемой отображением д, а А — минимальная длина подхода к циклу. Тогда для каждого уникального значения k количество блоков открытого текста l должно удовлетворять неравенству
l < А + т.
3.4. В а р и а н т с о с л у ч а й н ы м м н о г о ч л е н о м
Базовая схема асимметричного шифрования допускает ещё одно обобщение, использующее геометрические особенности схемы и позволяющее зашифровывать более
Об одной схеме гибридного шифрования
69
длинные сообщения. Действительно, в базовой схеме для зашифрования используется случайная прямая, задаваемая сравнением (3). Однако можно использовать для зашифрования случайный многочлен некоторой заранее фиксированной степени l.
Рассмотрим этот процесс более детально. Будем считать, что абонентам А и Б известна не одна общая точка S, а некоторый набор точек Si,... , Si G E, для которых выполнено условие
Si = [±]Sj, 1 ^ i < j ^ l, l ^ 2.
Будем предполагать, что данный набор точек является известным не только абонентам, участвующим в передаче сообщения, но и нарушителю.
Будем считать, что абонент А, как и в схеме, описанной в п. 3.2, обладает парой персональных ключей — открытым ключом и секретным ключом цифровой подпи-
си. Тогда для зашифрования последовательности сообщений s1,... , si G Zm абонент А выполняет следующие шаги:
1) Вычисляет случайное целое число k, удовлетворяющее неравенствам 0 < k < q.
2) Вычисляет точку Si+j. = [k]Y эллиптической кривой E. Если найдётся индекс i G {1,..., l}, такой, что Si+j. = [±]Si, то абонент возвращается на шаг 1.
3) Строит интерполяционный многочлен [12]
i+i x — Xs .
g(x) = Eys\ П---------- (mod m), degg(x) = ^ g(x) G Zm[x].
i=1 j=i xSi XSj
Если коэффициент при старшем мономе многочлена g(x) не взаимно прост с модулем m, то абонент возвращается на шаг 1.
4) Для каждого i = 1,... , l вычисляет произвольный вычет ti G Zm, удовлетворяющий сравнению
g(ti) = si (mod m).
5) Вычисляет точку W = [k]P, где W = (xw , yw).
6) Используя свой секретный ключ d,A, вычисляет цифровую подпись sign(dA, s11|
• • • ||si) и формирует сообщение
M = ti|| • • • ||ti||(xw,yw)|| sign(dA,si|| • • • ||si).
Сообщение M является шифртекстом, который отправляется абоненту Б.
Длина открытого текста равна l log2 m бит, а длина соответствующего ему шифртекста M равна l log2 m + 2 log2 p + z бит, где z — размер цифровой подписи.
Легко видеть, что на 3-м шаге алгоритма зашифрования абонент А вычисляет случайный многочлен g(x) G Zm[x] степени l, коэффициенты которого определяются по l + 1 точкам эллиптической кривой E. При этом, как и в базовой схеме, открытый текст si есть абсцисса некоторой точки, принадлежащей многочлену g(x), а шифртекст ti — ордината этой точки.
Основная алгоритмическая сложность при реализации данной схемы на практике заключается в вычислении на 4-м шаге алгоритма зашифрования значений шифртекстов t1,... , ti — корней многочленов вида g(x) — si G Zm[x], i = 1,... , l. Для нахождения корней можно использовать вероятностный алгоритм [13, § 6.6].
4. Результаты практической реализации
Для оценки возможности эффективной реализации предложенной базовой схемы написана программа на языке С+—+. Эксперименты проводились на персональной ЭВМ
70
А. Ю. Нестеренко, А. В. Пугачев
с процессором AMD A6-3410MX с тактовой частотой 1,6 МГц. Результаты вычислений сведены в таблицу.
Размер p 512 1024 2048 4096 8192
Величина n 1024 2048 4096 8192 16384
Скорость, байт/с 5418 1809 628 204 80
Размеры простых чисел p приведены в битах, параметр n определяет длину блока шифруемых данных m = 2n, скорость зашифрования — среднее значение объёма информации (в байтах), зашифрованной в течение одной секунды.
Из приведённых результатов видно, что максимальная скорость шифрования предложенной базовой схемой существенно ниже скорости шифрования симметричными алгоритмами шифрования. Кроме того, увеличение длины блока шифруемых данных приводит к снижению скорости шифрования.
ЛИТЕРАТУРА
1. Menezes A. J., van Oorschot P. C., and Vanstone S. A. Handbook of Applied Cryptography. CRC Press, 1996. 816 p.
2. ISO/IEC 18033-2:2006. Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers. 2006.
3. ISO/IEC 9797-2:2011. Information technology - Security techniques - Message Authentication Codes (MACs) - Part 2: Mechanisms using a dedicated hash-function.
2011.
4. ГОСТ Р 34.13-2015. Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров. М.: Стандартинформ, 2015.
5. Рекомендации по стандартизации. Использование криптографических алгоритмов, сопутствующих применению стандартов ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012. М.: Технический комитет 26 «Криптографическая защита информации», 2014.
6. BellareM., DesaiA., Pointcheval D., and Rogaway P. Relations among notions of security for public-key encryption schemes // Crypto’98. LNCS. 1998. V. 1462. P.26-46.
7. Nesterenko A. Yu. Cycle detection algorithms and their applications // J. Math. Sci. 2012. V. 182. No. 4. P.518-526.
8. Blake I., Seroussi G., and Smart N. Elliptic Curves in Cryptography. Cambridge University Press, 1999.
9. Mao W. Modern Cryptography: Theory and Practice. Prentice Hall PTR, 2003. 648 p.
10. Аносов В.Д., Нестеренко А. Ю. Схема асимметричного шифрования, основанная на отечественных криптографических примитивах // Материалы IX Междунар. конф. «Интеллектуальные системы и компьютерные науки» (23-27 окт. 2006 г.). Т. 1. Ч. 1. М.: МГУ,
2006. C. 45-47.
11. ГОСТ Р 34.10-2012. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи. М.: Стан-дартинформ, 2013.
12. Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. Численные методы. М.: Наука, 1987.
13. Василенко О. Н. Теоретико-числовые алгоритмы в криптографии. М.: МЦНМО, 2003. 328 с.
REFERENCES
1. Menezes A. J., van Oorschot P. C., and Vanstone S. A. Handbook of Applied Cryptography. CRC Press, 1996. 816 p.
Об одной схеме гибридного шифрования
71
2. ISO/IEC 18033-2:2006. Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers. 2006.
3. ISO/IEC 9797-2:2011. Information technology - Security techniques - Message Authentication Codes (MACs) - Part 2: Mechanisms using a dedicated hash-function.
2011.
4. GOST R 34.13-2015. Informatsionnaya tekhnologiya. Kriptograficheskaya zashchita informatsii. Rezhimy raboty blochnykh shifrov [Information technology. Cryptographic protection of information. Operating modes of block ciphers]. Moscow, Standartinform, 2015. (in Russian)
5. Rekomendatsii po standartizatsii. Ispol’zovanie kriptograficheskikh algoritmov, soputstvuyushchikh primeneniyu standartov GOST R 34.10-2012 i GOST R 34.11-2012 [Recommendations for standardization. The use of cryptographic algorithms, concomitant use of GOST R 34.10-2012 and GOST R 34.11-2012]. Moscow, Technical Committee 26, 2014. (in Russian)
6. BellareM., DesaiA., Pointcheval D., and Rogaway P. Relations among notions of security for public-key encryption schemes. Crypto’98, LNCS, 1998, vol. 1462, pp. 26-46.
7. Nesterenko A. Yu. Cycle detection algorithms and their applications. J. Math. Sci., 2012, vol. 182, no. 4, pp. 518-526.
8. Blake I., Seroussi G., and Smart N. Elliptic Curves in Cryptography. Cambridge University Press, 1999.
9. Mao W. Modern Cryptography: Theory and Practice. Prentice Hall PTR, 2003. 648 p.
10. Anosov V. D., Nesterenko A. Yu. Skhema asimmetrichnogo shifrovaniya, osnovannaya na otechestvennykh kriptograficheskikh primitivakh [Asymmetric encryption scheme based on domestic cryptographic primitives]. Proc. IX Mezhdunar. konf. «Intellektual’nye sistemy i komp’yuternye nauki», vol. 1, part1. Moscow, MSU Publ., 2006, pp. 45-47. (in Russian)
11. GOST R 34.10-2012. Informatsionnaya tekhnologiya. Kriptograficheskaya zashchita informatsii. Protsessy formirovaniya i proverki elektronnoy tsifrovoy podpisi [Information technology. Cryptographic protection of information. The formation and checking of digital signature]. Moscow, Standartinform, 2013. (in Russian)
12. Bakhvalov N. S., Zhidkov N. P., Kobel'kov G. M. Chislennye metody [Numerical Methods]. Moscow, Nauka Publ., 1987. (in Russian)
13. Vasilenko O. N. Teoretiko-chislovye algoritmy v kriptografii [Number-Theoretical Algorithms in Cryptography]. Moscow, MCCME Publ., 2003. 328p. (in Russian)