Comments 46
Врятли эту систему воплотят в жизнь. А как же сотни нефти, которые пилят на каждых выборах?
-3
Эта система не решит, а только усугубит проблему голосования в армии, студентов, и прочих зависимых категорий граждан. Кроме того упростит покупку бюллетеней.
-3
А может и наоборот. Так опаньки — и «извините, товарищ командир, но я уже дома проголосовал… Эх, знал бы, что команда будет..»
0
Будет так: «Всем проголосовать за партию N. Иначе… После выборов проверю за кого голосовали. Голосовать можно дома»
Нужно усложнять проверку за кого голосовали
Нужно усложнять проверку за кого голосовали
0
Так в том-то и дело, что в этой схеме нельзя проверить, за кого тот или иной человек проголосовал. Идентификатор бюллетеня знает только избиратель, а в общем списке на сайте найти тот или иной чужой идентификатор, который устроит начальство, не составит большого труда.
+10
Вряд ли:
Шаг 1. Заинтересованный человек раздаёт своим подневольным заранее сгенерированные идентификаторы (как вариант — после волеизъявления собираются чеки с генерированными идентификаторами).
Шаг 2. После выборов смотрится: идентификатор присутствует и с «правильным» голосом => пряник, в противном случае => кнут. Наблюдатели при этом вообще ничего не знают.
Шаг 1. Заинтересованный человек раздаёт своим подневольным заранее сгенерированные идентификаторы (как вариант — после волеизъявления собираются чеки с генерированными идентификаторами).
Шаг 2. После выборов смотрится: идентификатор присутствует и с «правильным» голосом => пряник, в противном случае => кнут. Наблюдатели при этом вообще ничего не знают.
0
Если голосующий находится в окружении Абсолютного Зла, его проконтроллируют так или иначе — силой принудят голосовать в присутствие проверяльщика или хитростью подстроят возможность голосовать только на терминале, где сниффится ввод-вывод. Ну и терморектальные способы тоже никто не отменял.
+1
Нужно возможность проверки ограничить каким-либо временным интервалом.
Или после оглашения результатов: «Все кто хочет, может проверить здесь»
Или после оглашения результатов: «Все кто хочет, может проверить здесь»
+2
Что значит дома? Кто ж его отпустит. Да и «2 наряда вне очереди, и минус отпуск за непредусмотрительность».
+3
В случае, если человек находится под давлением, у него могут заранее попросить сказать его уникальную идентифицирующую строчку чтобы потом проверить за кого он проголосовал. Я сам прикидывал возможности построения подобных онлайновых и оффлайновых схем голосования, но решения этой проблемы не вижу. ((
+1
Я предполагал, что строчка генерируется на лету. Голосуешь — оно хеширует, например, координаты мышки + дату/время, получает строчку, а потом пожалуйте, «ваш голос принят, ваша строчка такая-то, не забудьте проверить нашу честность».
+1
Ну значит потом попросят предъявить, для сверки. Можно, наверное, попросить у кого-нибудь «правильную», чтобы показать её, но кому надо так рисковать? Обычно давят серьёзными проблемами (например, отчислением)
+1
Ну если так рассуждать, то от давления вообще лекарства нет, ну абсолютно никакого. При любой схеме, при любой системе можно сделать снизу: приставить пистолет к виску избирателя и заставить его проголосовать как угодно и можно сделать сверху: выйти и зачитать на голубом глазу «правильные» цифры несмотря на цифры системы. Все, что между, можно охватить.
+5
как решение — для каждого пользователя будут генерится свои «псевдоссылки» для проверки на все партии в списке
+5
И как же можно принудить снизу, если голосование тайное? По нынешней схеме, только с реально имеющими рычаги воздействия независимыми наблюдателями + контроль того, что избиратель входит без заполненных бюллетеней и выходит без них?
0
Генерировать 3 уникальных строки. Одна истинная для проверки. Две других — при попытке проверки… ну допустим делают невозможной проверку для всех трёх строк.
0
Для того, чтобы любой желающий мог пересчитать результаты выборов, надо делать не просто возможность по ссылке проверить голос, а давать возможность скачать полный архив голосов в виде таблицы идентификатор — кому отдан голос. В эту таблицу добавлять фиктивные идентификаторы недопустимо т.к. станет невозможной проверка правильности подсчета голосов.
0
Когда уже после голосования изменяются его результаты; когда на возражения наблюдателей, мол у нас есть протоколы и в них другие цифры, нужные люди не находят причин для разбирательств; когда президент страны говорит, что не считает многочисленные видео доказательством нарушений на выборах — ИМХО тут совсем не в подписях проблема.
+17
Нет, все же не зря я написал топик в раздел «Криптография», а не «Электронное правительство». Важен сам механизм создания слепой подписи, голосования могут происходить в сетях по любому поводу, будь то хоть проект «демократия 2» (кстати, они не связаны требованиями к алгоритмам, могут для слепой подписи использовать тот же RSA, там кстати не нужно четыре маскирующих множителя, хватает вроде и одного), хоть работодатель хочет узнать мнение у своих сотрудников по поводу чего-нибудь там и подозревает, что некий сотрудник или сотрудники не захотят говорить искренне, если не уверены в своей анонимности. Ну и конечно передача информации, куда без нее? Применений же куча.
+1
Достаточно хорошенько прижать Боба, и анонимности большой привет.
0
>>Таким образом, валидатор не знал нашего сообщения (откуда он знает, на сколько изначально сообщение умножили? На
>>два? А может на минус два?), но из его подписи нашего замаскированного сообщения мы восстановили истинную подпись для
>>нашего секретного сообщения.
Боб, как и Цезарь — не владеют полной информацией, следовательно не могут нарушить анонимность
>>два? А может на минус два?), но из его подписи нашего замаскированного сообщения мы восстановили истинную подпись для
>>нашего секретного сообщения.
Боб, как и Цезарь — не владеют полной информацией, следовательно не могут нарушить анонимность
+1
>> А тот, кто считает наш бюллетень, не должен знать нашу личность
А ему и не нужно знать. Ничего. Кроме указанного «победителя». Вы же не собираетесь слепо доверять счетчику? А проверить его — возможности нет.
А ему и не нужно знать. Ничего. Кроме указанного «победителя». Вы же не собираетесь слепо доверять счетчику? А проверить его — возможности нет.
+1
Очень интересная статья. Однако, вы забыли упомянуть, что проблему давления на избирателя ваша система все же не решает. Хотя таким образом большинство схем жульничества становятся бесполезными, а давить на всех — на это никаких денег не хватит.
+3
Схему можно немного упростить.
1. Избиратель заходит на публичный сайт анон.госуслуги.вру и получает анонимный бюллетень. Это некая структура, имеющая ID и уникальный открытый ключ. Секретный ключ хранится на госуслугах. Но кому конкретно бюллетень выдан — неизвестно, и в-общем любой плохиш может получить хоть и тысячу этих бюллетеней.
2. Избиратель заполняет структуру и шифрует открытым ключом всё, кроме ID. Получается что-то вроде серийного номера. С этим номером он идёт — хочет, в УИК к тетеньке, хочет — к нотариусу, хочет — в свой банк, телефонную компанию и т.п. В-общем, в любое место, где могут однозначно удостоверить его личность и готовы принимать голоса.
3. УИК, банк или кто там еще лезет в базу избирателей и ставит там пометку, что Пупкин В.В. голосует у меня. Если такая пометка уже есть — УИК говорит, что вы мол уже проголосовали там-то и там-то, разбирайтесь что за ботва. Вот форма подачи жалобы. Если всё хорошо, то у избирателя принимают его номер, зашифрованную часть номера (не содержащую ID бюллетеня) подписывают ЭЦП УИК-а и кидают «в урну» — некое хранилище, отсортированное по random().
4. В 20:00 из урны вытаскиваются все номера в случайном порядке и пачкой отправляются в избирком. Там их расшифровывают и считают. От номеров откусывают первую часть, содержащую ID, и вместе с подписью УИКа и закрытым ключом выкладывают в сеть. Любой желающий может их расшифровать и проверить правильность подсчета голосов. Также вывешиваются списки проголосовавших на каждом УИКе, люди могут проверить факт, место и время своего голосования.
Способов махинаций таким образом два:
— голосование на уике за мертвых душ, однозначно проверяется потсфактум;
— принуждение к «правильному» голосованию подчиненных руководством.
Для того чтобы наказать мошенников, в обоих случаях нужны а) смелые, которые заявят о нарушении в суде и б) нормально функционирующая судебная система.
Пункт а) в наличии имеется, а без пункта б) любая система лишена смысла.
1. Избиратель заходит на публичный сайт анон.госуслуги.вру и получает анонимный бюллетень. Это некая структура, имеющая ID и уникальный открытый ключ. Секретный ключ хранится на госуслугах. Но кому конкретно бюллетень выдан — неизвестно, и в-общем любой плохиш может получить хоть и тысячу этих бюллетеней.
2. Избиратель заполняет структуру и шифрует открытым ключом всё, кроме ID. Получается что-то вроде серийного номера. С этим номером он идёт — хочет, в УИК к тетеньке, хочет — к нотариусу, хочет — в свой банк, телефонную компанию и т.п. В-общем, в любое место, где могут однозначно удостоверить его личность и готовы принимать голоса.
3. УИК, банк или кто там еще лезет в базу избирателей и ставит там пометку, что Пупкин В.В. голосует у меня. Если такая пометка уже есть — УИК говорит, что вы мол уже проголосовали там-то и там-то, разбирайтесь что за ботва. Вот форма подачи жалобы. Если всё хорошо, то у избирателя принимают его номер, зашифрованную часть номера (не содержащую ID бюллетеня) подписывают ЭЦП УИК-а и кидают «в урну» — некое хранилище, отсортированное по random().
4. В 20:00 из урны вытаскиваются все номера в случайном порядке и пачкой отправляются в избирком. Там их расшифровывают и считают. От номеров откусывают первую часть, содержащую ID, и вместе с подписью УИКа и закрытым ключом выкладывают в сеть. Любой желающий может их расшифровать и проверить правильность подсчета голосов. Также вывешиваются списки проголосовавших на каждом УИКе, люди могут проверить факт, место и время своего голосования.
Способов махинаций таким образом два:
— голосование на уике за мертвых душ, однозначно проверяется потсфактум;
— принуждение к «правильному» голосованию подчиненных руководством.
Для того чтобы наказать мошенников, в обоих случаях нужны а) смелые, которые заявят о нарушении в суде и б) нормально функционирующая судебная система.
Пункт а) в наличии имеется, а без пункта б) любая система лишена смысла.
+1
Проблема на третьем шаге. Банк или кто-то там, кто идентифицирует избирателя, берет у него зашифрованную часть бюллетеня и записывает рядом с фамилией избирателя. Приходит дядя из госуслуг с пачкой закрытых ключей, расшифровывает и получает сопоставление: фамилия-голос. А разгадка проста: нельзя, чтобы у валидатора и счетчика через руки проходила одна и та же информация, в этом и весь смысл топика.
+5
Никто не будет мучатся ни с какими проблемами :) Предположим что введена самая крутая супер-пупер система голосования. Обеспечивающая анонимность, прозрачность и прочие плюшки. После оглашения результатов (ЕдРос — 146%) Медведев скажет, что он считает, будто претензии по фальсификации выборов являются провокацией и на них не стоит обращать внимания.
0
вы такой жёлтый. Президент не сказал, что не верит в фальсфикации, а сказал, что некоторые ролики столь низкого качества, что разобраться что там на самом деле ему не представляется возможным: отличить постановочное шоу и реальные нарушения.
По-моему мнению там вообще качество большинства роликов хуже даже чем с 0.3 многовесельной камеры снято и доказательной базы не несут.
Не стоит перевирать слова и создавать панику.
По-моему мнению там вообще качество большинства роликов хуже даже чем с 0.3 многовесельной камеры снято и доказательной базы не несут.
Не стоит перевирать слова и создавать панику.
+2
> Избиратель добавляет к хешу бюллетеня маскирующий множитель
> Избиратель извлекает из подписи маскирующий множитель и получает корректную подпись для своего оригинального хеша
Эти шаги распишите подробно пожалуйста. С примерами желательно.
> Избиратель извлекает из подписи маскирующий множитель и получает корректную подпись для своего оригинального хеша
Эти шаги распишите подробно пожалуйста. С примерами желательно.
+1
Хех. В двух словах могу показать на основе алгоритма RSA:
Знаем, да, как подпись проходит? S(M) = M^d mod n, а проверка P(M) = M^e mod n, (d,n) — приватный ключ, (e,n) — публичный.
Берем число r, взаимно простое с n, вычисляем M' = M*r^e mod n, (r^e mod n как раз «маскирующий множитель»), валидатор подписывает, S(M') = M'^d mod n = (M*r^e mod n)^d mod n = (кручу-верчу, обмануть хочу или модульная арифметика) = (M^d*r^(e*d))mod n = (M^d*r^((e*d)mod n)) = (M^d*r)mod n, т.к. по правилам RSA e*d mod n = 1. Далее извлекаем: (M^d*r mod n)/r = M^d mod n, что нам и было нужно.
С ГОСТом посложнее задача, там целых четыре множителя, алгоритм и программа вверху есть.
Знаем, да, как подпись проходит? S(M) = M^d mod n, а проверка P(M) = M^e mod n, (d,n) — приватный ключ, (e,n) — публичный.
Берем число r, взаимно простое с n, вычисляем M' = M*r^e mod n, (r^e mod n как раз «маскирующий множитель»), валидатор подписывает, S(M') = M'^d mod n = (M*r^e mod n)^d mod n = (кручу-верчу, обмануть хочу или модульная арифметика) = (M^d*r^(e*d))mod n = (M^d*r^((e*d)mod n)) = (M^d*r)mod n, т.к. по правилам RSA e*d mod n = 1. Далее извлекаем: (M^d*r mod n)/r = M^d mod n, что нам и было нужно.
С ГОСТом посложнее задача, там целых четыре множителя, алгоритм и программа вверху есть.
+2
thunderquack, браво, вот ведь реальный конструктив. В отличие от негодований телеx… ну, вы поняли;)
0
Насчет жесткого давления, есть идея, конструктивная или нет пока не знаю сам… Если пытаться решить проблему вышепоставленных лиц (старшины, работодателя, etc.), то, вам на суд, предлагаю попробовать использовать такую схему:
Ключ выдается не на (лицо), а на кортеж (лицо, партия). В качестве «голоса» отсылается кортеж+(число 0 или 1). 0 — липовое голосование, 1 — реальное. Засчитываются естественно реальные голоса, а в публичных списках «по партиям» видно только (лицо), скажем первая половина отосланного сообщения.
В таком случае почти все смогут проверить, не ушел ли их голос за другую партия, кроме подневольных, для которых это в любом случае минимальный «урон» — они увидят свой ключ в списке за другую партию, но шеф не будет знать реальный он или липовый.
Ключ выдается не на (лицо), а на кортеж (лицо, партия). В качестве «голоса» отсылается кортеж+(число 0 или 1). 0 — липовое голосование, 1 — реальное. Засчитываются естественно реальные голоса, а в публичных списках «по партиям» видно только (лицо), скажем первая половина отосланного сообщения.
В таком случае почти все смогут проверить, не ушел ли их голос за другую партия, кроме подневольных, для которых это в любом случае минимальный «урон» — они увидят свой ключ в списке за другую партию, но шеф не будет знать реальный он или липовый.
+1
И главный минус:
Роль наблюдателей в такого рода выборах сводятся к двум местам: наблюдение за валидатором, чтобы он не раздавал подписи к замаскированным хешам, подписанными абы кем, и наблюдение за счетчиком, чтобы он не накручивался при получении бюллетеней, подписанных некорректно.Т.е. наблюдение практически абсолютно нереализуемо.
0
Возможно вы будете удивлены, но именно такой механизм тайных голосований используется в нашей распределенной системе голосований проекта «Свободные голосования». :) Конкретно он описан вот здесь — ru.gplvote.org/details.html#secvote
Отрадно что несколько человек пришли к одной идее. :)
Отрадно что несколько человек пришли к одной идее. :)
0
Насколько я понял из описания, тайна голосования обеспечивается маскированием хеша бюллетеня.
Было бы неплохо привести описание маскирования/демаскирования более подробно (криптостойкость, откуда математические выкладки и пр.).
Или данные преобразования соответсвуют какому-либо криптоалгоритму?
Было бы неплохо привести описание маскирования/демаскирования более подробно (криптостойкость, откуда математические выкладки и пр.).
Или данные преобразования соответсвуют какому-либо криптоалгоритму?
0
У вас же все перед глазами, берете формулы из презентации, вставляете друг в друга, берете стандарт и алгоритм проверки ЭЦП, вставляете это хозяйство туда, используете модульную арифметику, упрощаете, и наблюдаете, как маскирующие множители друг с другом сокращаются, а у вас получается корректная ЭЦП. По поводу криптоанализа ГОСТ 34.10-2001 можете посмотреть вот здесь.
0
Спасибо за полезную статью, буду на неё ссылаться.
Приглашаю к участию в разработке платформы на моей площадке.
Приглашаю к участию в разработке платформы на моей площадке.
0
Слепая подпись на основе ГОСТ 34.10-2001
Все это применимо и для ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012
0
Sign up to leave a comment.
Слепая подпись на основе ГОСТ 34.10-2001