А если делать с отбрасыванием предыдущей подписи, тогда для получателя не будет известно чей голос к нему пришел в 10-ый раз от одного из участников. То-ли это он вброс сделал, то-ли это просто через него чужие голоса прошли.
Dim писал(а):
asn писал(а):
В описании данном Dim, есть один непроговоренный нюанс, если обменов больше одного (что, не запрещено, то схема обменов, не вдаваясь в детали, должна работать так чтобы каждый публиковал ровно 1 ключ.
Обменов должно быть более одного. Разослать можно и более одного ключа, но при этом количество ключей в блоке будет больше участников. Что инициирует расследование источников рассылки лишних ключей.
Расследование это зло, любое расследование - это компрометация системы. Субъект голосования - это не круг друзей по интересам, это могут быть совершенно посторонние друг другу люди.
Может быть не расследование, а например такая, процедура:
1)Если свой ключ не нашел, бракую опубликованный, и соответственно по цепочке, все чьи ключи забраковали бракуют опубликованные.
Таким образом выбраковывается весь "граф" ключей, в которых проходили подделки.
2) Заново обмениваюсь с кем угодно, но не с тем кто прислал забракованные ранее ключи.
На этом шаге злоумышленник уже не сможет разослать ключи тем кому слал. Ему нужно будет рассылать тем кто остался, и через небольшое число итераций, он сможет опубликовать только свой собственный ключ - все.
Будет исключение злоумышленника на уровне алгоритма, за конечное число итераций.Число итераций максимально равно = (Количество участников) / (На количество подделанных ключей за итерацию) (навскидку). За подобное число итераций - злоумышленник скомпрометирует себя у каждого участника голосования.