Предмет: Информатика, автор: LyanaD

Помогите, пожалуйста с заданием.

Постройте криптографический протокол (аутентификации), обеспечивающий абсолютно честные выборы.

Требования к протоколу:
а) конфидециальность данных
б) каждый избиратель может убедиться, что его голос засчитан правильно
в) каждый избиратель должен быть уверен, что его голос не может никто узнать ( за кого он голосовал)
г) обеспечить каждого избирателя только 1 голосом (у 1 человека не должно быть несколько голосов)
д) обеспечить возможность голосования только зарегистрированных пользователей

Подсказка: должны быть 2 доверенные стороны (и они не могут между собой договариваться), то есть, 1-ая - от действющей власти, 2 - от оппозиции.

Буду очень благодарна!

Ответы

Автор ответа: Jozephjr
0
Для прозрачности и верного подсчёта голосов необходимо создать пул голосов (пункт б).
Для обеспечения конфиденциальности следует использовать однонаправленную функцию. Например, хэш-функцию от личных данных голосующего и его личного ключа, чтобы потом невозможно было отследить его голос по его личным данным.(пункт в). По хэшу невозможно узнать личные данные.
Поскольку хэш-функция однонаправленная, каждый избиратель может использовать эту функцию и получить свой бюллетень (пункт а).
Вторым полем должна быть некоторая переменная, которая обозначает, за кого голосовал человек (например, 1 - власти, 2 - оппозиция, 0 - не явился). Это пункт г.
Пункт д обеспечивается составлением списка перед выборами. Данные хранятся опять же по хэшу для обеспечения конфиденциальности.

Таким образом, получаем алгоритм:
По списку избирателей создаём хэши и записываем их в первое поле. Во второе поле вносится значение по умолчанию = 0.
При явке избиратель получает свой хэш по личным данным, и в соответствии с ним находит своё поле. Во второе поле вносит 1 или 2.
Если такой избиратель не найден, поле не может быть заполнено.

Проверить избиратель может так же. получает хэш по своим данным и собственному ключу. По результату проверяет соответствие.
Приложения:
Автор ответа: LyanaD
0
спаассииибооо большоооееее!!!!! а графически все же никак это как-нибудь представить? хоть примитивно. там, по-моему что-то с F1 F2 что-то и тд
Автор ответа: LyanaD
0
я вообще не бум-бум, даже примерно не представляю, как должна выглядеть эта схема :(
Автор ответа: Jozephjr
0
Тут я, наверное, не помощник. Но что-нибудь накидаю. Я вообще в шоке, что сейчас такое в школе дают. 3-й курс универа с профилем на информатику больше похоже. И если ты не против, я кое-что подкорректирую в ответе.
Автор ответа: LyanaD
0
спасиииибо!! жду тогда ;)
Автор ответа: LyanaD
0
ты студент какого-то технического вуза?
Похожие вопросы