- •Лекция 9
- •Принцип слепой подписи на основе КС РША (формирование слепой подписи)
- •Программно-технический комплекс, обеспечивающий дистанционное электронное голосование избирателей
- •Состав системы ДЭГ
- •Назначение элементов
- •Система ДЭГ
- •Ключи в системе ДЭГ РФ
- •Основные протоколы системы ДЭГ
- •Требования безопасности системы ДЭГ
- •Протокол слепой подписи ключа проверки подписи избирателя
- •Принцип слепой подписи на основе КС РША (проверка подлинности ключа анонимного избирателя)
- •Заполнение бюллетеня
- •Состав транзакции, пересылаемой избирателем в Избирательный ящик
- •БЧ осуществляет следующие проверки:
- •Система ДЭГ
- •Шифрование бюллетеня и его расшифрование для схемы Эль-Гамаля на эллиптической кривой
- •Расшифрование бюллетеня
- •2. Этап. Окончательное расшифрование агрегированной криптограммы учетчиком (в блокчейне)
- •Протокол проверки корректности заполнения
- •Формирование доказательства корректности заполнения бюллетеня
- •Проверка корректности заполнения бюллетеня
- •Пример КС Эль-Гамаля с аддитивным
- •Формирование доказательства корректности заполнения бюллетеня
- •Проверка корректности голосования за кандидата
- •Избиратель неправильно заполнил свой бюллетень
- •Формирование доказательства корректности неправильно заполненного бюллетеня
- •Проверка доказательства неправильно заполненного бюллетеня
- •Протокол проверки корректности заполнения бюллетеня при использовании криптосистемы Эль-Гамаля в поле GF(p)
- •КС Эль-Гамаля с аддитивным гомоморфизмом в системе голосования
- •Шифрование голоса и формирование доказательства
- •Проверка корректности заполнения бюллетеня
- •Проверка корректного бюллетеня
- •Проверка некорректного бюллетеня
- •Доказательство корректности частичного расшифрования бюллетеней
- •Расшифрование бюллетеня
- •Генерация доказательства
- •Разделение ключа дешифрования
- •Доли
- •Примерный порядок распределения долей ключа
- •Церемония восстановления ключа дешифрования
- •Система ДЭГ
- •Протокол обязательства
- •Общая схема обчзательства
- •Протокол обязательства в системе ДЭГ РФ
- •Протокол обязательства (продолжение)
- •Функция сжатия по ГОСТ Р34.11-2012 «Стрибог»
- •SPL преобразование.
Принцип слепой подписи на основе КС РША (проверка подлинности ключа анонимного избирателя)
Избиратель
Формирование
транзакции
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избир )))
Избирательный ящик проверяет:
-Корректность формата бюллетеня;
-Корректность подписи регистратора;
-Уникальность транзакции с указанным ключем проверки
ЭП избирателя.
Если какая либо проверка не пройдена, Изб. ящик возвращает избирателю ошибку.
Если проверка пройдена, Изб. ящик добавляет ключ проверки ЭП избирателя в свою базу и направляет транзакцию в БЧ.
БЧ осуществляет следующие проверки:
-корректность формата бюллетеня;
-корректность подписи регистратора
-корректность ЭП избирателя.
-В случае успешных проверок транзакция добавляется в БЧ.
-Избиратель может проверить свою транзакцию в БЧ по своему ключу проверки подписи.
Система ДЭГ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
Списки |
|
Разделение, |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
Регистратор |
|
|
|
избирателей |
|
Сборка sком |
|||||||||||||||||||||
|
|
ЕСИА |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PKbl , SKbl |
|
|
|
|
|
|
|
|
1 |
10 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
аутент |
|
|
|
|
|
|
|
Избирательная |
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
Commitment |
|
|
|
||||||||||||||||||||||||
|
|
|
Qитог4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
комиссия |
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E(bul),Proof |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
Избиратель |
|
|
|
|
Blind sig (PKv) |
PKbl |
|
|
|
|
|
2 |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
6 |
PK , SK |
v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 Qком , sком |
|
|
||||||||||||||||||||||||||||||
|
|
|
v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 Q |
, |
|
|
|
||||
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
Бюллетень(bul) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
итог |
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Voiting ID |
|
|
|
|
|
|
|
|
|
Анонимная |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
зона |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Объявление |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Блокчейн |
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
|
Итогов |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
1 |
Qучет , sучет |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
Избирательный |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
Подсчет итогов |
|
12 |
sком |
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
E(bul) |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
|
|
ящик |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
Расшифрование |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sучет |
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 Этап. Частичное расшифрование в блокчейне
Учетчик проверяет доказательства корректности содержимого хранящихся бюллетеней. Для успешно проверенных бюллетеней зашифрованные голоса по каждому кандидату складываются
R |
r P r P |
C |
|
(M |
rQ |
) M r Q |
|
i |
|
i |
i итог |
итог |
|
|
i |
|
i |
|
|
|
Учетчик частично расшифровывает агрегированную криптограмму (R ,C ) по каждому кандидату, формирует результат
частичного расшифрования |
R sучетчик R |
и доказательство того , что R |
расшифровывался с использованием |
своего закрытого ключа - 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учетчик
Протокол проверки корректности заполнения
бюллетеня при использовании криптографических преобразоаваний на эллиптической кривой
Формирование доказательства корректности заполнения бюллетеня
Избиратель: голосование и формирование доказательства
|
«за» кандидата ‒ = |
«против» кандидата ‒ |
|
||||||||||
Голосует: |
= |
|
|
|
|||||||||
Случайным образом выбирает числа |
|
|
|
|
|
. |
|
|
|
||||
Осуществляет |
= ( ) |
|
|
= ( ) |
|
||||||||
по каждому кандидату |
|
|
|
||||||||||
шифрование бюллетеня |
= ( + ) |
= |
|
||||||||||
(вычисляет): |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
Случайным образом |
|
Случайным образом |
|
|||||||||
Формирует |
, |
; |
|
|
|
, |
|
= |
, , |
||||
доказательство |
|
|
|
|
|
|
|
; |
|||||
|
выбирает числа: |
|
|
|
выбирает числа: |
|
|||||||
корректности |
|
= − |
= |
|
|
||||||||
голосования |
|
= ( − ( − |
|
|
|
|
|
||||||
(вычисляет): |
) |
|
|
|
|
= − |
|||||||
|
|
= |
|
|
|
|
|
|
|
||||
|
|
|
|
= ( − ( |
|
|
|||||||
|
|
= |
|
|
|
− ) |
|
|
|||||
Вычисляет хэш-функцию |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||||
Вычисляет |
|
|
|
|
|
|
|
|
|
|
|
|
|
доказательство: |
|
= − |
= − |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
