- •Лекция Криптографические протоколы часть 3 Протоколы электронного голосования
- •1.Понятие электронного голосования типы систем электронного голосования
- •Электронное голосование – голосование с помощью электронных устройств, без применения бумажных бюллетеней
- •Преимущества электронного голосования
- •Состав системы электронного голосования
- •Основные понятия об дистанционном электронном голосовании
- •Требования к системе голосования
- •Основная проблема электронного голосования
- •Виды систем электронного голосования
- •2. Гомоморфные системы электронного голосования
- •Гомоморфная система голосования на основе схемы Пэйе
- •Генерирование ключа ИК
- •Шифрование голоса
- •Работа сервера голосования
- •Расшифрование
- •Пример системы ДЭГ на основе схемы Пэйе
- •Пример заполнения бюллетеня избирателями
- •Генерация ключей
- •Результаты шифрования голосов
- •Агрегирование криптограмм на сервере
- •Дешифрование и подсчет голосов
- •Выводы
- ••целостность: после того, как избиратель сделал свой выбор, зашфрованный бюллетень сохраняется в файл
- ••Благодаря гомоморфному свойству отпадает необходимость расшифрования комиссией каждого голоса для объявления результата, что
- •3.Система ДЭГ на основе Микс-сетей
- •MIX сеть
- •Отправитель и микс-сервер используют криптографическую систему с открытым ключом для генерации своей пары
- •После, получения зашифрованного сообщения микс-сервер, использует свой секретный ключ s и расшифровывает его.
- •Цель перемешивания сообщения состоит в том, чтобы было невозможным для посторонних лиц установление
- •MIX- сеть с маскированием
- •2. После ремаскирования криптограмм от каждого избирателя, пришедших к этому моменту голосования на
- •4. Система электронного голосования на основе слепой подписи
- •Основные этапы протокола
- •Основные этапы протокола
- •3. Каждый избиратель, находит в списке легитимных избирателей свою фамилию и соответствующий ей
- •Идентификационный номер I нужен для того, чтобы ИК знала, что данный избиратель имеет
- •Слепая подпись идентификационного номера
- •Маскировка индивидуального номера
- •Для того чтобы найти значение ИН по маскированному номеру, ИК должна перебрать всевозможные
- •Шифрование маскированного номера ИК
- •Расшифрование маскированного идентификатора
- •Подписание маскированного идентификатора
- •Демаскирование подписанного идентификатора
- •Вывод из п. 4-7
- •Голосование
- •Передача ключа дешифрования от избирателя в ИК
- •Дешифрование голоса избирателя
- •Системы электронного голосования используются в 23 странах мира
- •3.Протокол поручительства информации или Протокол обязательства
- •Поручительство (способ 1)
- •Поручительство (способ 2)
MIX- сеть с маскированием
Пусть в системе голосования используется шифрование по схеме Эль-Гамаля в числовом поле GF(p).
s- закрытый ключ дешифрования (находится в ИК). h gs mod p - Открытый ключ шифрования бюллетеня находится у каждого избирателя.
Шифрование: |
Ei (C1,C2 ) (gri , mi hri ) |
Число ri обеспечивает |
Дешифрование: |
mi gri ( s)mi hri |
рандомизацию криптограммы |
|
Процедура голосования
1.Пусть несколько избирателей послали свои зашифрованные
иподписанные бюллетени на первый сервер. Сервер выполняет процедуру ремаскирования криптограмм от каждого пользователя
Eis1 (gri gr1,mi hri hr1) (gri r1, mi hri r1 )
где r1 – случайное число, вырабатываемое первым сервером.
2. После ремаскирования криптограмм от каждого избирателя, пришедших к этому моменту голосования на сервер, они в случайном порядке передаются на выходы сервера (перемешиваются по выходам) и передаются на второй сервер и т.д.
3. Избирательная комиссия получает криптограмму от избирателя,
прошедшую t серверов в виде E |
(gri r1 ... rt , m hri r1 ... rt ) |
is1 |
i |
и дешифрует ее с помощью своего секретного ключа. |
|
Случайные числаri , r1, r2...., rt |
на процесс дешифрования |
не влияют, однако не позволяют отслеживать пути передачи |
|
криптограмм от сервера к серверу. |
|
Система обеспечивает анонимность голосования, если в системе Будет хотя бы один «честный» сервер.
4. Система электронного голосования на основе слепой подписи
Состав системы:
-Избиратели;
-Избирательная комиссия;
-Общедоступный сайт в Интернет (доска объявлений, блокчейн)
Инициализация протокола
-ИК составляет список легитимных участников голосования и помещает его на общедоступном сайте;
-ИК генерирует пару ключей dик, eикnик, (закрытый /открытый
ключ по схеме РША) и публикует открытый ключ на общедоступном сайте в Интернете;
- каждый избиратель генерирует свою пару ключей: dи; nи, eи
(закрытый/открытый ключ) и публикует открытый ключ на общедоступном сайте в Интернете.
Основные этапы протокола
1) ИК публикует список всех правомочных избирателей, а также свой открытый ключ;
2)все избиратели генерируют свои ключи и делают открытые ключи общедоступными;
3)избиратель, желающий принять участие в голосовании, генерирует свой идентификационный номер I (ИН);
4)избиратель маскирует свой идентификационный номер и отправляет в избирательную комиссию маскированный ИН, зашифрованный дополнительно ключом избирателя;
5)ИК расшифровывает полученное сообщение;
6)ИК подписывает «вслепую» маскированный ИН;
7)избиратель демаскирует подписанный ИН;
8)избиратель создает бюллетень с результатом своего голосования, зашифровывает его и отправляет в ИК по анонимному каналу;
9)ИК публикует полученное шифрованное сообщение;
10)избиратель отправляет по анонимному каналу ключ для расшифровки сообщения;
11)ИК дешифрует сообщение и публикует результаты голосования.
Основные этапы протокола
ИЗБИРАТЕЛЬ |
2 |
|
1 |
|
|
|
|
|
Публикация |
|
Публикация |
|
открытого ключа |
|
открытого ключа |
|
|
|
и списка |
|
|
|
легитимных |
|
3 |
|
избирателей |
|
Генерирование |
|
|
|
Идентификационн |
|
|
|
ого номера |
|
|
|
4 |
Маскированный ИН |
5 |
|
Создание |
Дешифрование |
|
|
|
||
|
Маскированного |
|
|
|
ИН |
|
|
|
7 |
Подписанный |
6 |
|
Демаскирование |
|
Подписание |
|
подписанного ИН |
|
маскированного |
|
|
|
ИН |
|
8 |
Зашифрованный |
9 |
|
Публикация |
||
|
Голосование |
||
|
|
||
|
|
полученных |
|
|
Создание ключей |
Анонимный канал |
|
|
зашифрованных |
||
|
|
|
|
|
|
|
бюллетеней |
|
10 |
Ключ для |
Расшифровка |
|
|
||
|
|
|
|
|
|
Анонимный канал |
бюллетеней. |
|
|
Подсчёт голосов. |
|
|
|
|
Публикация |
|
|
|
результатов |
3. Каждый избиратель, находит в списке легитимных избирателей свою фамилию и соответствующий ей номер и генерирует случайной идентификацией номер I, который представляет собой цепочку цифр длиной l. Длина I выбирается таким образом, чтобы вероятность случайного выбора одного и того же идентификатора I у двух и более избирателей была бы пренебрежимо малой.
Этот ИН должен быть уникальным, чтобы ИК, получив впоследствии бюллетень с ним, была бы убеждена, что избиратель является одним из тех, кто имеет право на голосование. Однако ни ИК, ни кто-либо другой не должны знать, какой номер I имеется у данного избирателя, поскольку в противном случае результат голосования данного избирателя стал бы им известен.
Идентификационный номер I нужен для того, чтобы ИК знала, что данный избиратель имеет право на голос. В данном протоколе идентификационный номер I создает избиратель и дает ИК подписать его. Подписанный идентификационный номер – это более чем достаточный признак права на голосование.
Проблема заключается в том, что ИК не должна знать какой идентификационный номер она подписала, хотя должна быть уверена, что обладателем этого ИН является легитимный избиратель.
Эту проблему решает процедура слепой подписи.
Слепая подпись идентификационного номера
•Понятие слепой подписи введено Дэвидом Чаумом в 1982 году и представляет собой криптографический метод, в котором сообщение m человека A подписывается другим лицом B (органом подписи), так что B не получает никакой информации о сообщении m.
•В данном протоколе предлагаемая схема обеспечивает тайну голосования и индивидуальную проверку избирателя следующим образом:
Маскировка индивидуального номера
4.Избиратель маскирует сгенерированный им идентификаци- онный номер I, подготавливая его для последующей «слепой» подписи со стороны ИК. Для этого идентификационный номер I умножается на маскирующий множитель (число) m. Однако так как этот множитель нужно будет в дальнейшем «сократить», этот множитель заранее возводится в степень открытого ключа ИК – eик.
Im m |
eик(9) |
I modnик |
где eик, nик – открытый ключ ИК, считанный избирателем с
общедоступного сайта; m – случайно сгенерированное целое число из диапазона (1, 2, …, nик – 1), которое является взаимно
простым с nик, т. е. выполняется условие gcd(m, nик) = 1.
Для того чтобы найти значение ИН по маскированному номеру, ИК должна перебрать всевозможные m. Однако поскольку nик является очень большим числом, время для
нахождения правильного I оказывается нереализуемым. Посторонний наблюдатель, также как ИК, не знает маскирующего множителя и, значит, не сможет узнать истинное значение I.
