- •Лекция 9
- •Программно-технический комплекс, обеспечивающий дистанционное электронное голосование избирателей
- •Состав системы ДЭГ
- •Назначение элементов
- •Система ДЭГ
- •Ключи в системе ДЭГ РФ
- •Основные протоколы системы ДЭГ
- •Требования безопасности системы ДЭГ
- •Протокол слепой подписи ключа проверки подписи избирателя
- •Принцип слепой подписи на основе КС РША (формирование слепой подписи)
- •Принцип слепой подписи на основе КС РША (проверка подлинности ключа анонимного избирателя)
- •Заполнение бюллетеня
- •Состав транзакции, пересылаемой избирателем в Избирательный ящик
- •БЧ осуществляет следующие проверки:
- •Система ДЭГ
- •Шифрование бюллетеня и его расшифрование для схемы Эль-Гамаля на эллиптической кривой
- •Расшифрование бюллетеня
- •2. Этап. Окончательное расшифрование агрегированной криптограммы учетчиком (в блокчейне)
- •Протокол проверки корректности заполнения
- •Формирование доказательства корректности заполнения бюллетеня
- •Проверка корректности заполнения бюллетеня
- •Пример КС Эль-Гамаля с аддитивным
- •Формирование доказательства корректности заполнения бюллетеня
- •Проверка корректности голосования за кандидата
- •Избиратель неправильно заполнил свой бюллетень
- •Формирование доказательства корректности неправильно заполненного бюллетеня
- •Проверка доказательства неправильно заполненного бюллетеня
- •Протокол проверки корректности заполнения бюллетеня при использовании криптосистемы Эль-Гамаля в поле GF(p)
- •КС Эль-Гамаля с аддитивным гомоморфизмом в системе голосования
- •Шифрование голоса и формирование доказательства
- •Проверка корректности заполнения бюллетеня
- •Проверка корректного бюллетеня
- •Проверка некорректного бюллетеня
- •Доказательство корректности частичного расшифрования бюллетеней
- •Расшифрование бюллетеня
- •Генерация доказательства
- •Разделение ключа дешифрования
- •Доли
- •Примерный порядок распределения долей ключа
- •Церемония восстановления ключа дешифрования
- •Система ДЭГ
- •Протокол обязательства
- •Общая схема обчзательства
- •Протокол обязательства в системе ДЭГ РФ
- •Протокол обязательства (продолжение)
- •Функция сжатия по ГОСТ Р34.11-2012 «Стрибог»
- •SPL преобразование.
Церемония восстановления ключа дешифрования
Восстановление ключа расшифрования производится избирательной комиссией, закрепленной за местом проведения голосования, и начинается в назначенное время после завершения голосования и начала подсчета голосов на компьютере, на котором проводилось формирование ключей и разделение ключа расшифрования.
Этапы:
встреча хранители долей ключа для восстановления ключа; распечатывание компьютера; считывание долей секрета со съемных носителей;
проверка правильности долей;
восстановление ключа расшифрования согласно схеме Шамира; загрузка ключа расшифрования в систему и расшифровка голосов. Поскольку для восстановления ключа достаточно t долей, то из этого количества и предлагается восстанавливать секрет. При этом
используемые для восстановления доли могут определяться посредством рандомизации из числа тех, которые успешно прошли процедуру проверки.
Система ДЭГ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
Протокол обязательства
Протокол обязательства представляет собой криптографическую схему, которая позволяет зафиксировать некоторое значение (сообщение), сохраняя его скрытым для других, с возможностью раскрытия зафиксированного значения в дальнейшем. Сторона, принявшая обязательство, не может изменить значение после отправки. То есть протокол обязательства реализует связывание данных.
Взаимодействие сторон в схеме обязательств происходит в два этапа:
фаза фиксации или передачи («Commit») – определение фиксируемого значения и передача зашифрованного сообщения от отправителя к получателю (обязательство);
фаза раскрытия («Reveal») – раскрытие фиксируемого значения посредством полученного от отправителя ключа и проверка этого значения.
Общая схема обчзательства
А1.Генер. cл. числа
R1. K
2.Формиров.
T=(M,R1,K)
3. Вычисляет хэш-функцию h=h(T)
B
.
4.Передача R1,h
5. Хранит R1,h
5. Раскрывает T=(M,R1,K)
6. Хэширует T h’=h(E)
7. Сравнивает h=h’?
M не изменено
Протокол обязательства в системе ДЭГ РФ
В качестве обязательства используется хэширубщая функция
HMAC GOST R3411_2012_256 с длиной ключа 256 бит (см. Р 50.1.113-2016)
Результатом работы данного алгоритма является значение функции
HMAC(K,T), вычисление которой для данных Т произвольной длины на ключе K длины n бит состоит
1)в формировании байтовой строки K* длины 64 байта
2)выполнении преобразований над K* и данными Т с использованием хэш-функции Н .
Допускаются любые значения длины n из интервала от 256 до 512.
Для формирования ключа K*
при n<512 следует положить строку равной байтовому представлению битовой строки K|А, где
;
при n=512 положить K* равной байтовому представлению K.
Протокол обязательства (продолжение)
Значение HMAC (K,T) определено выражением:
, (1) где в байтовом представлении
,
. Функции Н256 определена в ГОСТ Р 34.11-2012
Длина выхода HMAC равна 32 байтам, длина блока итерационной процедуры функции сжатия для H равна 64 байтам
Функция сжатия по ГОСТ Р34.11-2012 «Стрибог»
Длина хэш-кода: 512 или 256 бит
mi |
Cj |
|
|
|
|
h0=IV |
SPL |
hi |
|
|
|
C1 |
C2 |
|
|
|
C12 |
|
|
IV |
+ SPL |
+ |
SPL |
|
+ |
|
|
|
SPL |
|
|
|
||||
|
|
K1 |
K2 |
|
|
K3 |
K13 |
|
|
|
|
|
|
|
|||
mi |
+ |
SPL |
+ |
SPL |
+ |
+ |
+ + |
hi |
|
|
|||||||
|
|
|
|
|
|
|
|
|
hi-1 |
|
|
|
|
|
|
|
|
SPL преобразование.
Преобразование SPL, составляет основу функции сжатия и включает три последовательно проводимых преобразования: S, P и L.
|
|
|
P |
L |
|
|
|
|
|
Мi |
|
S |
|
|
|
|
|||
|
Пере |
|
Линей |
H |
i |
|
|||
51 |
2 |
Подста |
|
|
|||||
|
упоря- |
ное |
51 |
2 |
|||||
|
|
новки |
дочи |
преоб- |
|
|
|
||
|
|
байт |
|
|
|
|
|||
|
|
вание |
разо |
|
|
|
|
||
|
|
V8 → V8 |
|
|
|
|
|||
|
|
байт |
вание |
|
|
|
|
||
|
|
|
V8 → V8 |
байт |
|
|
|
|
|
|
|
|
|
V64 *A |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
50
