125 Кібербезпека / 5 Курс / 5.2_Методи побудови і аналізу криптосистем / Література / пiдручник
.pdf
Покynатель
1
'( |
|
|
|
'( |
|
|
|
|
|
у |
|
|
||||
1'\ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ва |
х |
В21 |
|
|
Х ... |
Х |
н; |
= |
|
В1 |
|
|
|||
|
... |
... |
... |
|
|
|
0 . 0 |
... ... |
... |
|
... |
|
|
|
||
|
|
|
|
|
|
|
|
|||||||||
|
... |
... |
... |
|
|
|
... |
"0 |
" .. |
... |
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
... |
... |
|
|
|
.,. |
... |
... |
... |
|
., . |
|
|
|
|
|
•• 0 |
|
|
|
|
|
1 |
|
||||||||
|
В11<. |
|
B2k |
|
|
|
|
|
Bnk |
|
|
Bk |
|
е.опредвление |
||
|
|
|
|
|
|
|
|
|
|
|||||||
|
Х |
|
|
Х |
о .. |
Х |
= |
|
|
победитепя |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
публичных |
|
|
|
«Доска объявпенпй» |
|
|
|
|
|
|
торгов |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
.11 |
':itj |
~ |
~ ~ |
. |
j ::.... ':~,;,. |
-.~·~·~~~~-..~·:~~~:;J.:;~t.' ~ I-~'~.~· |
1";, <':..- |
|
|
|||||
V·,',:·,';··}')I,':':"" |
; |
|
|
|
|
|
|
|
|
|
|
|
||||
Рис. 4.17. Выполнение протокола публичных торгов в СХеА1е электронного аукциона MB-share
1. Создание кодов и депонирование ценовых предложений:
для каждого j выбираются случайные элементы поля ~I.j'
ха -4- О |
... |
ra • |
|
m j |
..,.. |
и случаиное число |
|
ценовое предложение Ьа депонируется у продавца (аукционаго
ра), для чего покупатель а пересылает ему[ Н (Ьа +ra ) , r(l J, где
Н- криптографическая хеш-функция.
2.Разделение кодов:
для каждого i и для каждого j покупателем а формируется вели-
+; |
~ +; |
, |
если Ьа ~ j , |
|
чина Ьaj |
по следующему правилу: г:b(/j |
= Y |
||
|
|
aj |
|
|
;=1
n
И Lb;; = о в противном случае.
;=1
280 Запечников С. В. Криптографическиепротоколы и их примененив
для каждого j величины Ь,;' покупатель а рассылает Ь(;; всем ос
тальным покупателям i,i;j:. а;
покупатель а получает от других покупателей ь;п (для каждого
j, для всех i;f;. а), отправленные ими на предыдущем шаге про
токола.
3. Передача по кольцу:
~b""" ;) ка г: /II)
для всех j покупатель а вычисляет величину 11-1Вaj= g ;:1
И отправляет ее покупателю с номером s(a);
после получения r Ви покупатель с номером а вычисляет
r_IBij = (,BijJ"l" .Если r>l, он посылаетэтувеличинуучастнику
s(a), в противном случае публикует Ви=оВи на «доске объявле
ний» (в открытом общедоступном справочнике);
для каждого j, используя опубликованные Ви, вычисляются
11
Bj = ПВij'
1=1
4.Определение победителя торгов. Цена продажи лота равна
р/ -1' где /' == min.{j : Вj = о}. Онадоступнавсемучастникампуб-
личных торгов. Победивший покупатель проходит аутентификацию у продавца (аукционатора), пересылая ему Га ПО защищенному кана
лу связи.
Передача данных по кольцу требует п дополнительных пересы лок сообщений, поэтому число раундов протокола оценивается как О(n), но общее количество сообщений по-прежнему оценивается как О(n), а суммарных объем передаваемых данных O(nk).
Благодаря вычислительной сложности задачи дискретного лога рифмирования и маскирующему умножению протокол обеспечивает полную конфиденциальность покупателей, Действительно, предпо ложим худший случай: n-l покупателей объединились против ос тавшегося единственногопокупателя(присвоимему номер 1) и пы таются узнать его ценовое предложение. Объединившихся покупа-
4, КРllllmографU'Iескuе протоколы в :JЛeKmpOJlllOli KO.ll.llepIIUU It в дOКYJlIel1m00бороmе 283
ТУПНЫМ. ДЛЯ определенности каждый отдельно взятый случай при менения схемы электронных выборов (т. е. каждый сеанс основного протокола этой схемы) будем называть электронным голосованием.
Схема электронных выборов должна удовлетворять следующим очевидным требованиям:
1) гопосовать на выборах могут только авторизованные избира-
тели;
2)никто не может проголосовать на выборах более одного раз~;
3)голос каждого отдельного избирателя хранится в секрете;
4)никто не может дублировать гопоса других избирателей;
5)итоги выборов должны быть подведены корректно;
6)справедливость выполнения условия 5 может быть проверена публично;
7)схема должна быть робастной, т. е. коррект~ю работать в ус
ловиях) когда некоторые из его участников оказываются злоумыш
ленниками;
8) должно быть невозможно принуждать избирателей к разгла
шению своего голоса.
Обычно в схемах электронных выборов бывает нежелательно вовлекать всех избирателей V; в процесс подсчета голосов. Мы предполагаем, что) кроме избирателей, в криптосхеме участвует 11 государственных избирательных комиссий С], "', С,,) их задача за
ключаетсяв сборе голосови подведенииитоговголосований. Одно из простых решений этой задачи - схема электронных
выборов Мепи». Каждая избирательная комиссия С, публикует от крытый ключ Pi некоторой схемы открытого шифрования, а соответ ствующий ему секретный ключ Sj сохраняет у себя в тайне. Чтобы отдать свой голос Vj, каждый избирательV"ВЫ.биr~ет случайное чис
ло Г)"ивычисляетфункцию Ер (Е |
Pl |
(...Е |
v" 1 . )1' - |
У +1 ., гдеЕ- ал- |
|
J |
|
Р" GJ |
J ~ _ |
/1 . ) |
|
горитм зашифровкивыбранной схемы открытого шифрования.Ве- личины У/нl,}' j = 1,т избиратели рассылают в центры подсчета го
лосов. Все избирательные комиссии С, по очереди (В порядке от С; ло С1) выполняют с поданными голосами избирателей следующие
действия. Для каждого Yi+l,j комиссияС; выбираетслучайноечисло
qij и рассылает всем остальным комиссиям величину
284 Занечников С. В. Криптографическиепротоколы 1110; примененив
Уц' = ЕPl Yi+ 1.Р Qj.j |
• |
НОВЫЙ индекс - j' вычисляетсякакслучайная |
перестановка п; |
на |
множестве целых чисел {1,2, ...,1l}, т. е. |
j'=п; (j) . Каждая С; хранит свою перестановку в секрете. В итоге
мы имеем:
YI.j = Ер,(ЕР2( ••Ер"(YII+I,j,QIl,j)··Q2.jhl,j)·
С этого момента начинается этап проверки. Он состоит из двух циклов расшифровки полученных величин в ПОРЯдке от С} к С; Расшифрованные величины опубликовываются, а итог выборов под-
водится как суммы всех Vj~ j =l,m, отсортированныхкак голоса
«за» или «против».
Требования 1 и 2 в ЭТОЙ схеме очевидным образом удовлетворя ются. Требование 3 тоже удовлетворяется: даже если какие-либо го
лоса разглашаются, невозможно установить связь между голосом и
подавшим его избирателем. Чтобы восстановить эту связь, нужно знать все случайные перестановки n;. Требование 4 здесь не удов-
летворяется, так как избиратель Vt легко может копировать голос избирателя V2 , опубликовывая ту же самую двоичную строку шиф ртекста. Условия 5 и 6 удовлетворяются благодаря использованию случайных строк: в первом цикле расшифровки каждая комиссия проверяет, что выбранные ею случайные строки появляются в рас шифрованных текстах. Это дает ей уверенность в том, что все ее шифртексты были подсчитаны. Точно так же в конце второго цикла расшифровки каждый избиратель видит свою случайную строку Jj, что дает ему уверенность в том, что его личный голос был подсчи тан. Чтобы снизить вероятность повтора случайных строк, их длина должна быть достаточно большой. Заметим: для того) чтобы прове рить корректность подведения итогов выборов, необходима коопе рация всех избирателей - это отрицательное свойство протокола, особенно заметное в условиях большого количества избирателей. Условие 7 более сложно и требует дополнительного обсуждения. Если мы беспокоимся о возможности утраты секретности голосов из-за некорректного поведения участников протокола, то с ЭТОЙ точ ки зрения протокол просто идеален. В самом деле, даже если n-l из бирательныхкомиссий скооперируются,они не смогут узнать, кто
4. Криnтографическuе протоколы в :JденmрОllllOii КО.lLмерЦllII 11вдОIl.УJ"еnmообороmе 285 именно из избирателей какой голос подал. Для этого нужно было бы знать все случайные перестановки 1С;, для чего потребовалось бы
скомпрометировать все избирательные комиссии. Однако подобная схема крайне ненадежна: если хотя бы одна избирательная комиссия перестанет функционировать, вся система выборов выходит из строя
итребуется проводить повторные выборы. Условие 8 в этой схеме вообще не удовлетворяется: избирателя могут принудить разгласить
исвой голос Vj, И случайное число 1} Если же он попытается обма нуть, ложь будет обнаружена, так как заявленная величина не будет
соответствовать шифртексту YII+I,j'
Более эффективна и надежна схема электронных выборов Сгаmег - Franklin - Schoenmakers - Уuпс, основанная на идее Бе нало (J. Benaloh, 1987). Эта схема, в отличие от предыдущей, удов летворяет требованию 4, т. е. делает невозможным копирование чу жих голосов. Она не требует кооперации всех избирателей для пуб личной проверки итогов выборов, предлагая более эффективное решение, удовлетворяющее требованию 6. Кроме того, эта схема яв ляется робастной: мы можем зафиксировать порог t и, если число скомпрометированных избирательных комиссий не превысит порога t, схема все же будет позволять корректно подсчитывать итоги голо сования и сохранять секретность каждого отдельного голоса. Тем не менее схема по-прежнему не удовлетворяет требованию 8, т. е. до пускает контроль над волей избирателей.
Вспомогательным средством построения этой схемы электрон ного голосования является гомоморфная схема депонирования со общений. Вообще схемой депонирования сообщений называется та кая криптосхема, которая позволяет преобразовать и хранить какое либо сообщение (в простейшем случае - 1 бит) таким образом, что бы само исходное сообщение невозможно было впоследствии изме нить в зависимости от каких-либо внешних обстоятельств. С другой стороны, сторонний наблюдатель не должен иметь возможность уз нать содержание этого сообщения до определенного момента вре мени. Такую схему условно можно назвать электронным сейфом. Приведем простейший пример реализации схемы депонирования. Один участник схемы А хочет депонировать величину х у другого участника схемы В. ДЛЯ этого А пересылает В величину у = Н(х), где
286 ЗапечниковС. В. Криптографическиепротоколы ищ; применение
Н(х) - хеш-функция с трудно-обнаруживаемыми коллизиями. В не может извлечь х из у, так как функция Н однонаправленная. Чтобы «открыть» депонированную величину, А пересылает В саму величи ну х, и он проверяет, что Н(х) =у. Но А не может найти такое х' :;I!: Х, чтобы Н (х') = у, следовательно, не может обмануть В. Можно по
строить и другие примеры схем депонирования сообщений. Пример гомоморфной схемы депонирования сообщений, осно
ванный на функции дискретного логарифмирования, построен Пе дерсеном. Эта схема базируется на той же идее, что и схема прове ряемого разделения секрета Педерсена, рассмотренная в под разд. 1.5. Пусть р - простое число вида р = kq+l и пусть g, h - два элемента подгруппы порядка q. Мы предполагаем, что никто не уме ет вычислять дискретные логарифмы по основаниям g и h. Чтобы депонировать сообщение тЕ {1, 2,..., q}, необходимо вычислить
функцию Ба(т)= g аhlll , где аЕ Zq - случайное число. Чтобы «от
крыть» депонированную величину, необходимо знать а и m. Эта схема обладает свойством гомоморфизма относительно операций
сложения и умножения, так как
В ( |
)В |
( |
) = |
g |
111hlll l• |
g |
{/2.J..~1II2 = |
g |
III+lI2 ·hlll l +lII |
2. =В |
(т +m ) |
{/I 1111 |
"2 |
m2 |
|
|
|
|
|
{/I+(12 I 2' |
Далее такую (+, х) -гомоморфную схему депонирования сооб
щений будем обозначать символом Е.
ДЛЯ простоты рассмотрим сначала схе.му электронных выборов с одной избирательной комиссией, а потом обобщим ее на случай, ко гда итоги голосований подводятся несколькими комиссиями. Итак, пусть С - избирательная комиссия, Е - выбранная ею гомоморфная схема депонирования сообщений.
Протокол голосования. Предположим, что голоса «за» и «против» выражаются символами «-1» и «1». Каждый избиратель Vj де-
понирует свой голос V j E {- 1;1} , опубликовывая Б(jJ(Vj) для вы
бранной им случайной величины аj'Vj также посылает в зашифро
ванном виде в избирательную комиссию величины аj и Vj .
4. Крll1lJJшграф!l'IеСКllепротоколы в :J.Г1еЮJ1РОl/JlOii KO.~I.Mepl/lIl1 11в доку..~lеJJmообороmе 287
Теперь избиратель должен доказать, что его голос подан кор ректно, т. е. что он представляет собой величину «-1» либо «1». Для этого каждый избиратель должен выполнить с избирательной ко- миссией протокол доказательства знания Vj с нулевымразглашени-
ем знания.
Для гомоморфнойсхемы депонированияПедерсена,основанной на функции дискретногологарифмирования,протоколголосования оказываетсяочень эффективным.Для удобства представленияпро токол приводится В табл. 4.10 и 4.11 для двух случаев: когда голос Vj =1 и когда Vj = -1, хотя по форме они ничем не отличаются.Ин-
дексы j для простоты везде опущены. Далее мы будем обозначать
. этот протокол Proof(Biv)).
Таблица 4.10. Протокол голосования для v = 1
v |
с |
1 а, 'i,d1, W2 Е ZIJ - случайное число,
|
е, (v) = я"ь . |
|
|
|
|
|
(;(1 |
=g'i(Ба (v)lz)-dJ |
, |
|
|
|
|
(;(2 |
= gW2 |
|
|
|
|
|
|
[Ва(v),CXL,CX2 ] |
~ |
|
|
||
|
|
|
|
|
|
|
2 |
|
|
|
~ |
с Е Zq - случайное число |
|
|
|
|
|
|
|
|
3 |
г, =c-dJ , |
|
|
|
|
|
|
r2 = W2 +ad2 |
|
|
|
|
|
|
|
|
|
|
||
|
[dl' d2 , Ji '1'2] |
|
-7 |
|
|
|
4 |
|
|
|
|
'! |
|
|
|
|
|
|
а, +d2 =c , |
|
|
|
|
|
|
? |
|
|
|
|
|
|
g Ij =(;(\ (Ба (11 ) /1 )'/! , |
|
|
|
|
|
|
g,,'l- =а.2 -в |
"(У) |
|
|
|
|
|
'1 - J' |
|
288 Запечников С. В. Криптографическиепротоколы и их примененив
Таблица 4.11. Протокол голосования для v =-1
|
v |
с |
1 а, Г2•d2 , W1 Е Zq- случайное число,
в,(v) :=L,
/1
а! =g'V',
|
a,,=g2 --в.нГ' |
|
||||
|
- |
,[ |
/1 |
|
|
|
|
[BIJ (v),a1, Ct2 ] |
|||||
|
|
|
-7 |
|
|
|
2 |
|
|
|
|
с Е Zq- случайное число |
|
|
|
|
~ |
|
|
|
|
|
|
|
|
|
|
3 |
d1 :=c-d2 , |
|
|
|
|
|
|
1j := w, +ad, |
|
|
|
|
|
|
[d, •а,'1j • '2] |
|
-7 |
|
|
|
4 |
|
|
|
|
'} |
|
|
|
|
|
|
d, +d2 =с. |
|
|
|
|
|
|
|
|
|
|
|
|
|
g'i ~al(BIJ (v)h)'J, , |
|
|
|
|
|
|
в: ~a{B.~V)]'" |
|
|
|
|
|
|
|
|
Протокол подсчета голосов. В конце предыдущего протокола
для каждого Vj стала известна величина Вп) (Vj). Центр опублико-
вывает итог голосования Т =LVj 'и дополнительно величину
j
А =Laj • Каждый может проверить, что итог корректен, выполняя
j
следующую операцию:
Вл(Т)=П»; (Vj ) ,
j
ЧТО должно выполняться для любого правильно подсчитанного Т вследствие свойства гомоморфизма схемы Е.
