Андрей писал(а):
asn писал(а):
Сгенерить - ничего не мешает, опубликовать он может только 1, хоть свой, хоть чужой, но один, это и есть защита от вбросов.
Что делать остальным если кто-то все-таки опубликовал несколько ключей? Игнорировать их все?
Ну это как бы очевидная техническая ошибка, я думаю самым правильным будет игнорировать голосующего. Присланные им ключи пометить как забракованные, если это чьи-то ключи, а не приславшего, пусть проводят обмены еще раз.
В описании данном Dim, есть один непроговоренный нюанс, если обменов больше одного (что, не запрещено, то схема обменов, не вдаваясь в детали, должна работать так чтобы каждый публиковал ровно 1 ключ.
Кстати если обменов больше одного то, "ухудшение тайности голоса" по сравнению с оригинальной схемой не происходит, хотя я в много кратном обмене необходимости не вижу, при отсутствии спец-софта, кто прислал ключ, неизвестно получателю и при однократном обмене.
Андрей писал(а):
Кстати, тоже минус - в таком случае невозможно переголосование, насколько я понял.
Возможно, почему нет.
Андрей писал(а):
asn писал(а):
Схема не защищена от вбросов.
Защита от чего-то часто подразумевает не то, что этого нельзя сделать, а то, что можно обнаружить злоумышленника и лишить его возможности повторить свои действия. В этом смысле у нас все нормально.
А никто не пытается доказать что предложенная вами схема принципиально неработоспособна. Есть такое понятие простота(красота) решения, вот предложенная вами схема более громоздка, следовательно сложна в реализации. Если из требуемого для нее кода выкинуть процентов 80, то оставшихся 20 хватит для реализации этой более простой. Тем более что между этими схемами каких-то глубоких различий нет, они скажем так, сильно похожи и по реализации и по сути.
Андрей писал(а):
Твоя система делает то-же самое, как я уже писал, но только за счет ухудшения тайности голоса.
Описанное ухудшение тайности голоса, в бОльшой степени надуманное, а так да, делает то же самое.