- •Система дистанционного электронного голосования (ДЭГ) России
- •Программно-технический комплекс, обеспечивающий дистанционное электронное голосование избирателей
- •Состав системы ДЭГ
- •Назначение элементов
- •Система ДЭГ
- •Ключи в системе ДЭГ РФ
- •Основные протоколы системы ДЭГ
- •Требования безопасности системы ДЭГ
- •Протокол слепой подписи ключа проверки подписи избирателя
- •Принцип слепой подписи на основе КС РША (формирование слепой подписи)
- •(проверка подлинности ключа анонимного избирателя)
- •Заполнение бюллетеня
- •Состав транзакции, пересылаемой избирателем в Избирательный ящик
- •БЧ осуществляет следующие проверки: -корректность формата бюллетеня; -корректность подписи регистратора -корректность ЭП избирателя.
- •Система ДЭГ
- •Шифрование бюллетеня и его расшифрование для схемы Эль-Гамаля на эллиптической кривой
- •Расшифрование бюллетеня
- •2. Этап. Окончательное расшифрование агрегированной криптограммы учетчиком (в блокчейне)
- •Протокол проверки корректности заполнения
- •Формирование доказательства корректности заполнения бюллетеня
- •Проверка корректности заполнения бюллетеня
- •Лекция Протоколы разделения секрета
- •1. Протокол «разделения секрета (данных)»
- •Простейшая схема разделения секретов –
- •Пороговая схема
- •Схема разделения секрета на основе интерполяции полиномов над конечными полями (схема Шамира)
- •Пусть основной секрет k GF всегда возможно для любого Пусть
- •Затем ki
- •Если же число теней оказывается менее m, то они не будут содержать никакой
- •Предположим, что числа 2 и 10 оказались случайно выбранными
- •Произведя все вычисления по модулю 17, получаем
- •Имеется множество различных обобщений [14] для пороговых схем разделения секретов, например:
- •(n,m)-cхема разделения секрета Асмуса-Блума
- •Затем доверенный центр выбирает случайное число r и вычисляет число M’
- •Восстановление секрета
- •Теперь попробуем восстановить исходный секрет, имея на руках доли числа долей 1,2,3 участнков
- •Проверяемое разделение секрета
- •Разделение секрета (схема Фельдмана)
- •Протокол проверяемого разделения секрета Фельдмана
- •Пример протокола Фельдмана
- •Номер участника 3
- •Стойкость протокола Фельдмана
- •Протокол проверяемого разделения секрета Педерсена
- •Пример протокола Педерсена
- •Оценка стойкости
- •Примерный порядок распределения долей ключа
(проверка подлинности ключа анонимного избирателя)
Избиратель
Формирование
транзакции
SigSKv (T ),T
От регистратора
Передача транзакции
(T E(bul),Proof (E),PKv ,u), SigSKv T
Подтверждение или отказ принятия транзакции
Пояснение
ur 1s r 1 (r e h)d hd
ue (hd )e h
Блокчейн
е=PKbl--
ключ проверки подписи
Проверка подписи открытого клоча избирателя PKv
h H (PKv )
Вычисляет
h ue
сравнивает
h h?
Заполнение бюллетеня
КАНДИДАТЫ
A1 |
A2 |
. . . |
Ak-1 |
Ak |
|
|
|
|
|
m=0 (за) |
m=0 (за) |
m=0 (за) |
m=0 (за) |
m=0 (за) |
m=1 |
m=1 |
m=1 |
m=1 |
m=1 |
(против) |
(против) |
(против) |
(против) |
(против) |
|
|
|
|
|
Избиратель голосует за каждого кандидата, выбирая число m=0 или m=1. Шифрует каждое выбранное число по схеме Эль-Гамаля. Для каждого кандида формируется отдельная криптограмма E(Qитог,mi)=(Ri, Ci )
Подсчет итогов – агрегация (сложение) криптограмм, поданных за
каждого кандидата |
N |
N |
|
(Ri ,Ci ) ( Rij , Cij ) |
|
|
j |
j |
Здесь i – кандидат, j - избиратель.
Состав транзакции, пересылаемой избирателем в Избирательный ящик
T E(bul), Proof , PKизбир , Sigskbl (h(PKизбир )),
SigSKизб (E(bul), Proof , PKизбир , Sigskbl (h(PKизбир )))
Избирательный ящик проверяет: -Корректность формата бюллетеня; -Корректность подписи регистратора;
-Уникальность транзакции с указанным ключем проверки ЭП избирателя.
Если какая либо проверка не пройдена, Изб. ящик возвращает избирателю ошибку.
Если проверка пройдена, Изб. ящик добавляет ключ проверки ЭП избирателя в свою базу и направляет транзакцию в БЧ.
БЧ осуществляет следующие проверки: -корректность формата бюллетеня; -корректность подписи регистратора -корректность ЭП избирателя.
-В случае успешных проверок транзакция добавляется в БЧ.
-Избиратель может проверить свою транзакцию в БЧ по своему ключу проверки подписи.
Система ДЭГ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Регистрато |
|
|||||||||||||||||
|
|
ЕСИА |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рPKbl , SKbl |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
аутент5 |
|
|
2 |
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
Commitment |
||||||||||||||||||||||||||||
|
|
Qитог4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
E(bul),Proof |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Избирател |
Blind sig (PKv) PKbl |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
6 ь |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
PKv , SKv 8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
Бюллетень(b ul) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Анонимна |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
Voiting ID |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
я зона |
|
|
Блокчейн |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
1 Qучет , sучет |
||||||||||||||||||||
|
|
Избирательны |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11Подсчет |
|
||||||||||||||||||||||||||||||||||||||||||||
|
|
й ящик |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E(bul) |
13итогов |
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sучет |
s |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Расшифрован |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ие |
ком |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
Списки |
Разделение, |
|
избирателей |
Сборка sком |
||
|
|
||
|
|
1 |
10 |
Избирательна
я комиссия
2
1 Qком , sком
3 Qитог ,
Объявление 
Итогов
14 


















12 sком
(bul,) |
Qитог H (Qучет |
|
Qком )Qком H (Qком |
Qучет )Qучетчик |
|
||||
|
|
|
|
|
Commit H (MAC(Kcom ,СНИЛС,VotigngID)
Шифрование бюллетеня и его расшифрование для схемы Эль-Гамаля на эллиптической кривой
Генерирование ключей :
Задается ЭК согласно стандарту Гост Р 34.10-2012
Выбирается случайное число |
d Zq-ключ расшифрования |
|
Вычисляется открытый ключ: точка ЭК |
, где Р - базовая |
|
|
|
Q dP |
точка порядка q.
Шифрование (избиратель)
M mP |
m – голос избирателя |
r Zq |
R rP первая часть криптограммы |
C M rQ вторая часть криптограммы |
|
Расшифрование (идея) |
|
M C dR M rQ drP M r( dP dP ) M O M |
|
Далее находится m из уравнения : M mP путем перебора возможных значе (от нуля до общего количества участников ДЭГ)
Расшифрование бюллетеня
1 Этап. Частичное расшифрование в блокчейне
Учетчик проверяет доказательства корректности содержимого хранящихся бюллетеней. Для успешно проверенных
бюллетеней зашифрованные голоса по каждому кандидату складываются
|
|
C |
i |
(M rQ |
) M r Q |
R |
i |
|
i i итог |
итог |
|
r P r P |
|
|
i
Учетчик частично расшифровывает агрегированную криптограмму (R ,C ) по каждому кандидату, формирует результат частичного расшифрования
и доказательство того , что своего закрытого ключа - sучетчик.
Учетчик публикует транзакцию с R’ и доказательством
2. Этап. Окончательное расшифрование агрегированной криптограммы учетчиком (в блокчейне)
Учетчик получает от ИК восстановленный из долей ключ расшифрования sком после его
сборки и выполняет полное расшифрование
M C H (Qучет Qком ) sком R H (Qком Qучет ) R
C H (Q |
учет |
|
Q ) s R H (Q |
|
Q |
учет |
) s |
учетчик |
R |
||||||||||||||
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|
|
ком |
ком |
ком |
|
|
|
|
|
|
|
|
||||||||||
C (H (Q |
учет |
|
Q ) s Pr H (Q |
|
|
Q |
учет |
) s |
учетчик |
Pr ) |
|||||||||||||
|
|
|
|||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
|
ком |
ком |
ком |
|
|
|
|
|
|
|
|
|
|||||||||
C (H (Q |
учет |
|
Q )Q r H (Q |
|
|
Q |
учет |
) Q |
учетчик |
r ) |
|||||||||||||
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|
|
ком |
ком |
ком |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C Qитог r M
Qитог H (Qучет Qком )Qком H (Qком Qучет )Qучетчик
Протокол проверки корректности заполнения
бюллетеня при использовании криптографических преобразоаваний на эллиптической кривой
Формирование доказательства корректности заполнения бюллетеня
Избиратель: голосование и формирование доказательства
|
«за» кандидата ‒ = |
«против» кандидата ‒ |
|
||||||||||
Голосует: |
= |
|
|
|
|||||||||
Случайным образом выбирает числа |
|
|
|
|
|
. |
|
|
|
||||
Осуществляет |
= ( ) |
|
|
= ( ) |
|
||||||||
по каждому кандидату |
|
|
|
||||||||||
шифрование бюллетеня |
= ( + ) |
= |
|
||||||||||
(вычисляет): |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
Случайным образом |
|
Случайным образом |
|
|||||||||
Формирует |
, |
; |
|
|
|
, |
|
= |
, , |
||||
доказательство |
|
|
|
|
|
|
|
; |
|||||
|
выбирает числа: |
|
|
|
выбирает числа: |
|
|||||||
корректности |
|
= − |
= |
|
|
||||||||
голосования |
|
= ( − ( − |
|
|
|
|
|
||||||
(вычисляет): |
) |
|
|
|
|
= − |
|||||||
|
|
= |
|
|
|
|
|
|
|
||||
|
|
|
|
= ( − ( |
|
|
|||||||
|
|
= |
|
|
|
− ) |
|
|
|||||
Вычисляет хэш-функцию |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||||
Вычисляет |
|
|
|
|
|
|
|
|
|
|
|
|
|
доказательство: |
|
= − |
= − |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
