Проект "Свободные голосования" http://gplvote.andyhost.ru/forum/ |
|
тайное голосование http://gplvote.andyhost.ru/forum/viewtopic.php?f=20&t=290 |
Страница 1 из 1 |
Автор: | yurial [ 03 дек 2011, 01:26 ] |
Заголовок сообщения: | тайное голосование |
Тайное голосование - голосование в котором невозможно определить выбор голосующего. Алгоритм состоит из 4х частей: 1) Инициирование голосования; 2) Голосование; 3) Синхронизация; 4) Подведение итогов. |
Автор: | yurial [ 03 дек 2011, 01:26 ] |
Заголовок сообщения: | Re: тайное голосование |
Инициирование голосования: 1) Инициатор задает параметры голосования. 2) Распространяет их по сети; TODO: описать параметры. |
Автор: | yurial [ 03 дек 2011, 01:38 ] |
Заголовок сообщения: | Re: тайное голосование |
Голосование: 1) Голосующие генерируют у себя пару ключей для участия в данном голосовании (vote_key), ключи не содержат никакой информации о голосующем; 2) Генерируют пакет "голоса", шифруют используя vote_key.private; 3) Генерируют пакет "участия", который подтверждает, что этот пользователь принял участие в голосовании, подписывают его master_key.private; 4) Распространяют их разными путями. При распространении пакеты подписываются используя transport_key.private так же включается временная отметка (transport_sign). 5) Принимающий пакеты (2) или (3) сохраняет в БД transport_sign (4). 6) Проверяет по транспортной подписи отправителя, что он входит в субъект, иначе игнорирует этот пакет с данными. 7) Если он является членом этого субъекта, удаляет из пакета (2) транспортную подпись отправителя (transport_sign), и создает свою, иначе оставляет пакет данных без изменений. 8) Передает получившиеся данные дальше. Пункты (7) и (8) гарантируют, что без дополнительной информации нельзя определить получили вы пакет от первоисточника или он транзитный. Пункт (5) гарантирует, что если все транспортные подписи будут известны, можно определить первоисточник данных. |
Автор: | yurial [ 03 дек 2011, 01:41 ] |
Заголовок сообщения: | Re: тайное голосование |
Синхронизация (автоматический режим): Во время синхронизации все пакеты голосующих должны достигнуть конечных целей. Пояснение: В первоначальном варианте все "голоса" и "участия" должны получить все "голосующие". На это будет даваться фиксированное время. В более поздних версиях будет разработан более надежный механизм. |
Автор: | yurial [ 03 дек 2011, 01:53 ] |
Заголовок сообщения: | Re: тайное голосование |
Подведение итогов (автоматический режим): Голосование предусматривает 2 варианта итогов: a) Голосование состоялось; b) Голосование не состоялось. Если количество "голосов" соответствует количеству "участий" голосование считается состоявшимся иначе НЕ состоявшимся. (a) Если голосование состоялось: 1) Все голосующие распространяют vote_key.public; 2) Все расшифровывают с помощью vote_key.public зашифрованные голоса; 3) Суммируют расшифрованные голоса - получают результат. (b) Если голосование не состоялось: 1) Распространяют vote_key.id (таким образом открывается владелец ключа); 2) Синхронизируют vote_key.id. 3) Для "голосов" для которых не известен владелец vote_key распространяется transport_sign. 4) Выстраивается цепочка прохождения "голоса", вычисляется первоисточник. 5) Все собираются и запинывают его ногами / Вносят в черный список. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |