Dim писал(а):
IgorK писал(а):
Кстати, из текста ниже следует, что д.б. т.н. "сертификаты" голосующих и нод, в которых присутствует дополнительная информация о владельце ключа - ID по крайней мере.
Хорошо бы расписать поподробнее. Как вариант это могут быть составные сертификаты. Отдельные для персоны, права участия в субъекте, (возможно) участия в голосовании, принадлежности ноды, доверия ноде.
 1. Насколько я понял ранее из общения (м.б. ошибаюсь, в любом случае не слышал другое), ключи в вашей системе "голые". Термин же "сертификат" подразумевает "публичный ключ" + сведения о владельце.
 В любом случае в предложенных мной вариантах работы СГ у голосующего  и у программной точки голосования (узла, ноды - неважно как назвать) должны быть атрибуты (записанные в явном виде в сертификаты и легко оттуда извлекаемые, например). У голосующего - его идентификатор (или атрибуты в другом виде - неважно), однозначно "приписывающий" его к определенной группе голосующих. Примеры групп: мужщина/женщина или УИК_NNN.ТИК_MM.ОИК_ОО.ЦИК. Точку голосования определяем в группу нод по уникальному ID вида NNN.MMM.OOO.PPP.RRR. Другая информация из сертификата в этом описании не используется.
 Исходя из написанного, поясняю фразы из описания
1. ... Человек голосует на ноде ...
  понятно, я думаю. Хорошо, не на ноде а в своей "точке голосования".
2. ... голос вместе с ID группы голосующего и ID ноды подписывается ключом ноды....
  голос - написанный в тексте ответ на вопрос голосования. Например, "да" или "нет".
 ID группы голосующего извлекается из атрибутов голосующего (из сертификата). Например, в виде  1234.4345.54.565.44, где цифры обозначают соответственно номера УИК, ..., ЦИК, в системе которых голосует этот человек.
  Получился текст:  да 1234.4345.54.565.44
 Далее добавляем ID точки голосования (например, 43.777.437.587.32). 
Получился текст - итог:
  да 1234.4345.54.565.44 43.777.437.587.32
Этот тект подписывается ключом точки голосования. Получится, например, так (упрощаю подпись):
  да 1234.4345.54.565.44 43.777.437.587.32
  begin pgp
     валпдвалплавыждавыжэаждвыоавыоалдвыоа
  end pgp 
 В итоге
 ... Получился пакет, в котором указано кто голосовал (т.е. принадлежность к группе), как и на какой ноде голосовал. Отправляем этот пакет в сеть. ...
 Тут "на какой ноде голосовал" не указано, но по цифровой подписи это можно вычислить при необходимости.
 Я, конечно же, привел пример в текстовом виде. В реальности часть этих данных может быть в двоичной форме.
Dim писал(а):
IgorK писал(а):
Человек голосует на ноде, результат 
шифруется ключом ноды .
Мне кажется лучше если подписанный голос передаётся в открытом виде демону на собственную или доверенную ноду. Вне зависимости от типа голосования. Дело в том, что подразумевается несколько автоматических действий и не кошерно запрашивать каждый раз у пользователя подпись. В часности при обнаружении вброса голосов в тайном голосовании инициируется переголосование. Злоумышленник может просто "задолбать" вбросами обычных голосующих. Это несколько усложнит систему, но сделает её проще в использовании.
"результат шифруется ключом ноды"
Софт сам шифрует. Разве требуется участие человека в этом? Или я чего-то недопонимаю? Остальное из фразы давайте пока оставим на "потом".
Вообще, я не дока в криптографии. Когда-то активно использовал PGP в электронной почте, потом, было время, возился с Windows - сетрификатами. Может я чего неправильно написал в принципе в этом отношении?
 Но основная задача текста была уйти от вашей идеи (условно) "кидать в сеть ключи" для чего-то там. Ну и вообще закрепить хоть какой-то вариант на бумаге.