
- •Лекция 9
- •Программно-технический комплекс, обеспечивающий дистанционное электронное голосование избирателей
- •Состав системы ДЭГ
- •Назначение элементов
- •Система ДЭГ
- •Ключи в системе ДЭГ РФ
- •Основные протоколы системы ДЭГ
- •Требования безопасности системы ДЭГ
- •Протокол слепой подписи ключа проверки подписи избирателя
- •Принцип слепой подписи на основе КС РША (формирование слепой подписи)
- •Принцип слепой подписи на основе КС РША (проверка подлинности ключа анонимного избирателя)
- •Заполнение бюллетеня
- •Состав транзакции, пересылаемой избирателем в Избирательный ящик
- •БЧ осуществляет следующие проверки:
- •Система ДЭГ
- •Шифрование бюллетеня и его расшифрование для схемы Эль-Гамаля на эллиптической кривой
- •Расшифрование бюллетеня
- •2. Этап. Окончательное расшифрование агрегированной криптограммы учетчиком (в блокчейне)
- •Протокол проверки корректности заполнения
- •Формирование доказательства корректности заполнения бюллетеня
- •Проверка корректности заполнения бюллетеня
- •Пример КС Эль-Гамаля с аддитивным
- •Формирование доказательства корректности заполнения бюллетеня
- •Проверка корректности голосования за кандидата
- •Избиратель неправильно заполнил свой бюллетень
- •Формирование доказательства корректности неправильно заполненного бюллетеня
- •Проверка доказательства неправильно заполненного бюллетеня
- •Протокол проверки корректности заполнения бюллетеня при использовании криптосистемы Эль-Гамаля в поле GF(p)
- •КС Эль-Гамаля с аддитивным гомоморфизмом в системе голосования
- •Шифрование голоса и формирование доказательства
- •Проверка корректности заполнения бюллетеня
- •Проверка корректного бюллетеня
- •Проверка некорректного бюллетеня
- •Доказательство корректности частичного расшифрования бюллетеней
- •Расшифрование бюллетеня
- •Генерация доказательства
- •Разделение ключа дешифрования
- •Доли
- •Примерный порядок распределения долей ключа
- •Церемония восстановления ключа дешифрования
- •Система ДЭГ
- •Протокол обязательства
- •Общая схема обчзательства
- •Протокол обязательства в системе ДЭГ РФ
- •Протокол обязательства (продолжение)
- •Функция сжатия по ГОСТ Р34.11-2012 «Стрибог»
- •SPL преобразование.

Проверка корректности заполнения бюллетеня
Проверяющий (БЧ), получает u1,u2,t1,t2)
Вычисляет хэш-функцию c = |
|
|
|
|
|
|
|
|
|
|
|
|
|||
Проверяет |
= + |
||||||
|
|
|
|
|
− |
||
сравнения: |
=? + |
||||||
|
? |
|
|
|
|
||
|
|
|
|
|
Выполнение сравнений свидетельствует о корректности заполнения избирателем бюллетеня

Пример КС Эль-Гамаля с аддитивным
гомоморфизмом на ЭК в системе голосования
Пусть на этапе инициализации системы ДЭГ выбраны
параметры криптосхемы Эль-Гамаля на эллиптической кривой: =59,
=17, (
=3,
=9). Эллиптическая кривая является несингулярной и имеет следующие точки:
{(0, 3), (0, 56), (3, 24), (3, 35), (4, 12), (4, 47), (6, 19), (6, 40), (7, 14), (7, 45), (9, 23), (9, 36), (10, 6), (10, 53), (11, 4), (11, 55), (12, 11), (12, 48), (13, 11), (13, 48), (14, 9), (14, 50), (15, 19), (15, 40), (17, 28), (17, 31), (19, 9), (19, 50), (20, 24), (20, 35), (25, 29), (25, 30), (26, 9), (26, 50), (29, 0), (34, 11), (34, 48), (36, 24), (36, 35), (38, 19), (38, 40), (42, 1), (42, 58), (46, 29), (46, 30), (47, 29), (47, 30), (49, 10), (49, 49), (50, 16), (50, 43), (51, 2), (51, 57), (54, 20),
(54, 39), (55, 13), (55, 46), (58, 8), (58, 51) и точка )}.
Выбрав базовую точку |
|
|
генерируются ключи: |
|||||
закрытый ‒ |
и открытый ‒ |
|
|
. |
||||
Параметры |
публикуются в БЧ. |
|||||||
Таблица 1. Правильное заполнение бюллетеня |
||||||||
|
|
|
|
|
|
|
|
|
|
|
Кандидаты |
D1 |
|
D2 |
D3 |
D4 |
|
|
Выбор избирателя |
1 |
|
0 |
0 |
0 |
|
|
|
|
V1 |
|
|
||||
|
|
|
|
|
|
|
|

Формирование доказательства корректности заполнения бюллетеня
Избиратель проголосовал «за» за |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
первого кандидата, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Осуществляет шифрование |
|
|
|
Выбирает случайным образом |
|
|
|
|
|
|||||||||||||||||||||||||||
; , |
|
= |
, + |
|
|
= |
, |
+ , + |
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
бюллетеня по каждому кандидату |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(вычисляет): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= ((49, 10), (6, 40)); |
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
Вычисляет доказательство |
, |
|
Вычисляет доказательство для |
|
|
|
|
|
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; , |
|
= |
|
|
|
|
|
|
|
|
|||||||
= − ; |
|
|
|
|
( , ,( , )) |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
корректности голосования): |
|
|
: |
криптограммы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
= ( − ( − ) |
; |
|
|
|
|
= , |
|
|
= , = , = |
|
|
|||||||||||||||||||||||||
|
|
Вычисляет: |
|
|
|
|
|
|||||||||||||||||||||||||||||
= ; |
|
|
|
|
|
|
|
Если |
|
|
|
|
|
|
Случайным образом |
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
, − |
|
|
|
; |
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
выбирает числа: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
= |
|
|
|
|
|
|
|
|
|
|
= , ; |
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
. |
|
|
|
|
|
|
|
|
|
|
= ( , |
|
− |
|
, |
|
− |
, |
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
= |
|
, |
; = |
|
|
|
|
|
|
|
|
||||||||||||||
Вычисляет хэш-функцию |
|
|
|
|
, = |
, ; = |
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
, = |
, . |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
= , , , , , |
: |
|
Вычисляет: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
Вычисляет доказательство: |
|
|
|
|
= − . = ; = − × |
|
|
|||||||||||||||||||||||||||||
|
= − ; . |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||
|
= − |
|
|
|
|
|
= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
Отправляет |
в БЧ |
зашифрованный |
|
Зашифрованный бюллетень: |
|
|
|
|
|
|||||||||||||||||||||||||||
бюллетень и доказательство. |
|
|
( , ), |
= ( , ) |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
= |
, , |
= |
, , |
= , |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
доказательство: |
|
, |
= , |
= , |
= , |
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
, |
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Проверка корректности голосования за кандидата
БЧ
Вычисляет хэш-функцию |
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
c = |
, , , , , |
|
|
-Находит: |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Проверяет сравнения: |
|
( + ) . = ( + |
|
|
|
||||||||||||||||
= |
+ ; |
|
|
|
|||||||||||||||||
|
|
? |
|
|
|
|
; |
) = |
|
|
|
|
|
|
|||||||
= |
|
+ |
|
|
|
|
|
|
|
|
сравнение |
|
|
|
|||||||
|
|
|
? |
|
|
|
-Находит |
|
|
|
= ;= (49, 10) и |
|
+ |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
выполняется: |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
= , |
|
|
|
||||||||||
|
|
|
? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ |
|
||
|
|
|
|
|
выполняется: =? |
|
|||||||||||||||
|
|
. |
|
|
|
|
|
и проверяет, что сравнение |
|
|
|
||||||||||
|
|
− |
; |
|
|
; |
|
|
|
|
|||||||||||
= |
+ |
|
- , |
|
= |
|
, |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
и |
|
|
|
|
= , |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
+ |
|
− = |
|
|
|||||||||
|
|
|
|
|
|
|
|
Вычисляет: |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
, |
; |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
, . |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
, |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
Сравнение выполняется: |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Все сравнения выполнены, следовательно, бюллетень эаполнен правильно

Избиратель неправильно заполнил свой бюллетень
Пусть, избиратель поставил число 2 за кандидата D1.
. Формирование неправильного заполнения бюллетеня
Кандидаты |
D1 |
D2 |
D3 |
D4 |
|
|
|
|
|
Выбор избирателя V1 |
2 |
0 |
0 |
0 |
|
|
|
|
|

Формирование доказательства корректности неправильно заполненного бюллетеня
Избиратель |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
Проголосовал за первого |
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
||||||||||||
кандидата неправильно |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Осуществляет шифрование |
|
|
Находит: |
|
|
|
|
|
|
, ). |
|||||||||||||||||
(вычисляет): |
|
|
|
|
|
= |
|
|
|
= ( , , |
|||||||||||||||||
|
|
|
; |
, |
|
|
, + |
|
|
|
|
|
|
|
|
|
|
||||||||||
бюллетеня по каждому кандидату |
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
Формирует доказательство |
|
|
Вычисляет доказательство |
|
|
||||||||||||||||||||||
|
, |
|
|
|
|
= − |
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
, |
|
= ( , , , ) |
|
|||||||||||||||||
корректности голосования |
|
|
для криптограммы |
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Вычисляет: |
|
|
|
|
|
|
|
|
|
|||||
; |
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; |
|
||||||
(вычисляет): |
|
|
|
|
|
|
|
|
|
|
|
= , , = |
|
|
|
|
|
||||||||||
|
= ( |
− ( − ) |
|
, , = |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
(34, 11), |
= , = , = |
||||||||
= ; |
|
= |
. , , = |
|
|
||||||||||||||||||||||
Вычисляет хэш-функцию |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
: |
|
= . |
|
|
|
|
|
|
|
|
|
|
|
|||
= , , , , , |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Вычисляет доказательство: |
|
|
Вычисляет: |
|
|
|
|
|
|
. |
|
|
|||||||||||||||
− . ; |
= − |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отправляет в БЧ зашифрованный |
Зашифрованный бюллетень: |
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, , |
|
= , |
; |
|
||||||||
бюллетень и доказательство. |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= , , = , , = , , |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Доказательство: |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Проверка доказательства неправильно заполненного бюллетеня
БЧ
Вычисляет хэш-функцию |
|
. |
|
|
|
|
|
|
|
|
||||||||
c = |
, , , , , |
|
-Находит: |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Проверяет сравнения: |
|
( |
+ |
) . = ( + |
|
|
|
|
||||||||||
=? |
+ ; |
10) и |
|
|
||||||||||||||
|
|
|
? |
|
|
|
; |
) = |
|
|
|
|||||||
= |
+ |
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
Сравнение выполняется: |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
+ |
= , |
|
|
||||||
|
|
|
|
|
|
|
|
|
-Находит |
|
|
|
= (49, = ; |
|
|
|||
|
|
|
|
|
|
|
|
|
= |
+ ; |
|
|||||||
|
|
. |
|
|
|
|
|
|
- , = |
|
? |
|
|
|
|
|
||
|
|
|
|
|
|
, |
|
|
|
|||||||||
= |
? |
|
+ |
− |
Сравнение |
выполняется: |
|
|
|
|||||||||
|
|
|
|
; |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
= |
, |
|
|||||
|
|
|
|
|
|
|
+ − = |
|
и |
|||||||||
|
|
|
|
|
|
|
|
|
Вычисляет: |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
, ; |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, . |
|
||
|
|
|
|
|
|
|
|
|
выполняется: , ≠ |
|
||||||||
|
|
|
|
|
|
|
|
|
Видим, что сравнение не |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Не все сравнения выполняются, следовательно, бюллетень заполнен
неправильно
Протокол проверки корректности заполнения бюллетеня при использовании криптосистемы Эль-Гамаля в поле GF(p)

КС Эль-Гамаля с аддитивным гомоморфизмом в системе голосования
Генерация ключей
Генерируется просто число p и элемент g
Выбирается случайное число s, |
0 s p 1 , закрытый ключ |
|
Вычисляется ОНФ |
h gs mod p |
, открытый |
ключ |
. |
|
Шифрование бюллетеня |
|
|
1.Голос избирателя |
m представляется в виде двух чисел |
=1 (ЗА), или = -1 (ПРОТИВ)
2.Выбирается элемент поля G, имеющий порядок q
3.Выбирается случайное число ,
4.Вычисляется
5.Получаем криптограмму - зашифрованный бюллетень.
Виды криптограмм
Если m=1, E(x, y) (g , h G)
Если m=-1, |
E(x, y) (g , h ) |
|
G |
Нужно доказать, что могут быть только два вида криптограмм. То есть, что голосование проведено правильно

Шифрование голоса и формирование доказательства
Выбор избирателя
v=1 v=-1
Выбор параметров Выбор параметров
Шифрование
Шифрование
Формирование доказательства Формирование доказательства
Вычисление хэш-функции