ameten писал(а):
Думаю, у нас действительно разные взгляды на величину рисков. Я считаю, что, если есть риск подделки голосования и есть риск раскрытия тайны голосования, то они равны единице, то есть реализуются почти наверное. Если есть озможность подделать голосование, то оно будет идеально достоверным с вероятностью 0. Если есть возможность раскрыть тайну голосования без желания госолующего, это не будет сделано тоже с вероятностью 0.
В моем варианте подделать результаты голосования и снаружи системы
и изнутри системы, например, сисадминами или даже ркуоводством, практически равны нулю. Шансы открыть результаты голосования снаружи системы тоже практически равны нулю. При том что есть мизерный шанс открыть результаты голосования изнутри системы.
В вашем случае я вижу только одну гарантию - невозможность ни снаружи системы, ни изнутри нее открыть результаты голосования. И все. Без обеспечения каких либо гарантий честности голосования.
ameten писал(а):
Андрей писал(а):
3. Запись расшифровывается ключем пользователя, но пользователь утверждает что он голосовал не так как записано в данной записи;
Здесь все просто. Или пользователь врет, или его ключ скомпрометирован.
Т.е. в этом случае мы верим пользователю, отменяем результат его голосования и что? Делаем ему новый ключ? А как мы проверим что он не пользуется старым если оба эти ключа закрыты?
Набирается толпа пользователей которая решила похоронить систему и она ее хоронит. Можно даже не начинать.
ameten писал(а):
Андрей писал(а):
1. Использовать "левый" ключ и показать что ни одна из записей голосования им не расшифровывается. Из этого делается вывод что его голос учли по другому и зашифровали другим ключем;
2. В той-же ситуации пользователь просто вообще не принимал участие в голосовании. Его ключем не расшифровывается ни одна запись и на основании этого делается вывод тот-же что и в п.1;
Вы не прокомментировали вот эти пункты.
ameten писал(а):
Андрей писал(а):
Я не увидел ни в одном из ваших постов никаких гарантий от того что в список результатом нельзя будет влить поддельные голоса. Значит это требует, как минимум, дополнительного, отдельного пояснения.
Давайте сохраним информацию о том, что пользователь принимал участие в голосовании, пусть пользователь подпишет Уникальный Серийный Номер Голосования. Сохраним это отдельно. Это приближает мою схему к тому, что предлагаете вы.
Хорошо. Пусть так. Добавим в вашу систему второй список - "список голосующих" с подписями голосующих. Но остаются вышеприведенные вопросы.