Задание
Реализация протокола «слепой» подписи на базе системы анонимного голосования. Необходимо разработать программу, в которой разделить серверную и клиентскую часть (хотя бы логически). Данная программа должна на основе выбора пользователя по некоторому голосованию (допустим, пусть будет один вопрос с вариантами ответов {Да, Нет, Воздержался}) формировать бюллетень при помощи алгоритма слепого подписывания, после чего передавать этот бюллетень на сервер, который будет осуществлять проверку корректности бюллетеня. Программа должна быть наглядной, а так же выводить все необходимые для работы системы числа.
Функционал программы
Например:
- Создание сервера
- Получение голосов избирателей
- Проверка голосов избирателей
- Шифрование голосов избирателей
Фрагмент программного кода
rnd = random.getrandbits(512) v = voting_options[choice] n = rnd << 512 | v r = lab2.get_coprime_numbers(server.N) h = my_sha(n) _h = h * lab1.my_fast_pow(r, server.d, server.N) % server.N
Скриншот архива с проектом
Пояснения по запуску программы
Откройте и запустите файл lab5.py
Mihail