Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
10_Kriptoprotkoly_sistemy_DEG_RF_Avtosokhranenny.pptx
Скачиваний:
5
Добавлен:
25.06.2024
Размер:
989.89 Кб
Скачать

Проверка корректности заполнения бюллетеня

Проверяющий (БЧ), получает 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

Выбор параметров Выбор параметров

Шифрование

Шифрование

Формирование доказательства Формирование доказательства

Вычисление хэш-функции

Соседние файлы в предмете Криптографические протоколы