Expand Cut Tags

No cut tags
xaliavschik_lj: (Default)
[personal profile] xaliavschik_lj
Задача показалась мне интересной, вчера и сегодня много думал. Похоже можно обойтись без электронной подписи.

Список зарегистрированных сейчас в таком формате: http://election.cvk2012.org/home/users
Далее в тексте:
D - идентификатор голосующего;
Т - тайное число (пароль);
Z - хэш от идентификатора D и пароля T;
V - выбор голосующего;
K - хэш от выбора V и пароля T;

Надо сделать так. Регистрация. Пользователь задумывает пароль(число) T который известен только ему. При регистрации он получает свой идентификатор D, сразу же вычисляет Z как хэш от D и T, то есть Z = md5(D.T), и сразу же сообщает Z системе. Z должен быть записан как одно из его полей в списке зарегистрированных.

Голосование. При голосовании пользователь сообщает системе свой выбор V, а также хэш K = md5(V.T). В результат голосвания для этого пользователя заносятся V и K.

Далее. Предположим, что подсчитывающий смухлевал и указал другой выбор V для этого пользователя, а не тот который он сделал реально. В таком случае голосующий легко поймает его за руку. Он сообщает всем тайное число T, свой реальный выбор V, и показывает что верны оба равенства Z = md5(D.T), K = md5(V.T). Тот кто подсчитывал и исказил результат, не может сделать то же самое. Голосование объявляется недействительным.

UPD: Если же после голосования голосующий соврал и говорит, что его выбор V был другой, хотя на самом деле нет, тут всё неоднозначно, надо эту ситуацию рассмотреть подробнее.

UPD2: Разумеется, я против масонских голосований, когда "большинство" мне что-то диктует. Просто тут задача интересная.

продолжение здесь

Date: 2012-10-22 06:35 am (UTC)
From: [identity profile] karmat.livejournal.com
Подсчитывающий может испортить оба числа - K и V. Тогда пользователь ничего не сможет доказать.

Date: 2012-10-22 06:37 am (UTC)
From: [identity profile] xaliavschik.livejournal.com
Да, он может испортить и сделать недействительным.
Но он не может подделать нужный ему результат.

Date: 2012-10-22 07:16 am (UTC)
From: [identity profile] xaliavschik.livejournal.com
Если бы дело было только в подтасовках подсчитывающих, тогда бы можно было браковать выборы при наличии нескольких искажённых голосований. Но ведь сам пользователь может намеренно выдать при голосовании неправильные K и V, чтобы потом обвинить подсчитывающего и сорвать выборы. И тут его за руку не схватить. Всё-таки электронная подпись надёжнее - если уж подписал свой выбор, то потом не отвертится.
Edited Date: 2012-10-22 07:17 am (UTC)

Date: 2012-11-07 07:16 pm (UTC)
From: [identity profile] ivan klyushenkov (from livejournal.com)
Следует учесть, что, раскрыв T мы практически раскрываем и V, поскольку V маловариантно и легко подбирается

Date: 2012-11-07 07:31 pm (UTC)
From: [identity profile] xaliavschik.livejournal.com
В этом варианте он и так V сообщает, вместе с K.
K нужно как число для проверки.
Участник посмотрит на свой результат голосования в итоговом списке
и если он не соответствует тому выбору, который он сделал реально,
то он показывает своё тайное число и показывает что равенство K = md5(V.T) не выполняется.

Вообще-то внизу есть ссылка на продолжение: http://xaliavschik.livejournal.com/503803.html
Там вариант алгоритма получше.
Вдобавок, можно сделать два отдельных списка (равных по количеству):
1. Зарегистрированные участники
2. Результаты голосования.
в которых посторонние не смогут найти соответствие кто и как проголосовал.
Но каждый сможет проверить, не искажен ли его выбор и доказать подлог,
если он есть. В общем тут есть над чем подумать.


Date: 2012-11-07 07:39 pm (UTC)
From: [identity profile] xaliavschik.livejournal.com
То что я здесь предложил, решает только проблему
удаления и искажения некоторых результатов.
Но есть ещё проблема выявления фиктивных участников,
которых может сгенерировать подсчитывающая сторона.
Непонятно как её решать.

Edited Date: 2012-11-07 07:40 pm (UTC)

Profile

xaliavschik_lj: (Default)
xaliavschik_lj

January 2026

S M T W T F S
     123
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Page generated Jan. 2nd, 2026 09:14 am
Powered by Dreamwidth Studios