Punchscan - Punchscan

Punchscan
Punchscan logo.png
Разработчики)Ричард Карбэк, Дэвид Чаум, Джереми Кларк, Алекс Эссекс, и Стефан Поповенюк.
Стабильный выпуск1.0 (2 ноября 2006 г.) [±]
Предварительный выпуск1.5 (16 июля 2007 г.) [±]
Написано вЯва
Операционная системаКроссплатформенность
Доступно ванглийский
Типсистема подсчета голосов
ЛицензияПересмотрено Лицензия BSD
Интернет сайтhttp://punchscan.org/

Punchscan является оптическое сканирование система подсчета голосов изобретен криптограф Дэвид Чаум. Punchscan разработан для обеспечения целостности, конфиденциальности и прозрачности. Система проверяется избирателями, обеспечивает сквозной (E2E) аудит механизм и выдает бюллетень каждому избирателю. Система получила главный приз на конкурсе 2007 г. Конкурс университетских систем голосования.

В компьютерное программное обеспечение который включает в себя Punchscan Открытый исходный код; то исходный код был выпущен 2 ноября 2006 г. Лицензия BSD.[1] Однако Punchscan не зависит от программного обеспечения; он черпает свою безопасность из криптографический функции вместо того, чтобы полагаться на безопасность программного обеспечения подобно Машины для голосования DRE. По этой причине Punchscan можно запускать на закрытый исходный код операционные системы, подобно Майкрософт Виндоус, и при этом сохранять безусловную целостность.

Команда Punchscan с дополнительными участниками с тех пор разработала Скупость.

Порядок голосования

Помеченный бюллетень Punchscan. Полный бюллетень (вверху), отдельный бюллетень (внизу).

Punchscan бюллетень имеет два слоя бумаги. На верхнем слое значок кандидаты перечислены с символ или же письмо рядом с их именем. Под списком кандидатов есть ряд круглых отверстий в верхнем слое бюллетеня. Внутри отверстий нижнего слоя напечатаны соответствующие символы.

Чтобы проголосовать за кандидата, избиратель должен найти отверстие с символом, соответствующим символу рядом с именем кандидата. Это отверстие отмечено значком Бинго чернильный мазок в стиле, который намеренно больше отверстия. Затем избиратель отделяет бюллетень, выбирает верхний или нижний слой, чтобы оставить его в качестве квитанция, и клочья другой слой. Квитанция сканированный на избирательном участке для табулирование.

Порядок символов рядом с именами кандидатов генерируется случайно для каждого бюллетеня и, следовательно, отличается от бюллетеня к бюллетеню. То же самое и с порядком расположения символов в отверстиях. По этой причине квитанция не содержит достаточно информации, чтобы определить, за какого кандидата был отдан голос. Если оставить верхний слой, порядок прохождения символов через отверстия неизвестен. Если нижний слой сохраняется, порядок символов рядом с именем кандидата неизвестен. Следовательно, избиратель не может кому-либо доказать, как он проголосовал, что мешает покупка голосов или запугивание избирателей.

Процедура подведения итогов

В качестве примера рассмотрим выборы двух кандидатов между Кокс и Пепси, как показано на предыдущей диаграмме. Порядок букв рядом с именами кандидатов может быть следующим: A, затем B, или B, а затем A. Мы будем называть этот порядок , и разреши = 0 для прежнего порядка и = 1 для последнего. Следовательно,

: порядок символов рядом со списком кандидатов,

.

Точно так же мы можем сделать обобщение для других частей бюллетеня:

: порядок символов через отверстия,

.

: какое отверстие отмечено,

.

: результат голосования,

.

Обратите внимание, что порядок имен кандидатов фиксируется во всех бюллетенях. Результат голосования может быть рассчитан напрямую как,

(Уравнение 1)

Однако, когда один слой бюллетеня измельчается, либо или же уничтожен. Поэтому информации для расчета из чека (который сканируется). Для подсчета результатов выборов электронный база данных используется.

Перед выборами создается база данных с набором столбцов как таковых. Каждая строка в базе данных представляет бюллетень, и порядок, в котором бюллетени хранятся в базе данных, следующий: перетасованный (используя криптографический ключ что каждый кандидат может способствовать ). Первый столбец, , имеет перетасованный порядок серийных номеров. содержит псевдослучайный битовый поток генерируется из ключа, и он будет действовать как потоковый шифр. сохранит промежуточный результат. содержит такой бит:

Результат каждого голосования будет храниться в отдельной колонке, , где снова будет изменен порядок голосования. Таким образом содержит номер строки в столбец, в который будет помещен результат.

После того, как выборы пройдут и значения были отсканированы, рассчитывается как:

Результат рассчитывается как

Это эквивалентно уравнению 1,

Столбец результатов публикуется и, учитывая, что бюллетени были перетасованы (дважды), порядок столбца результатов не указывает, какой результат от какого номера бюллетеня. Таким образом, избирательная комиссия не может отследить голоса по серийным номерам.

Обобщенная форма

Для выборов с кандидатов, описанная выше процедура выполняется с использованием по модулю -n уравнений.

Основные процедуры аудита

В бюллетене избирателя не указано, за какого кандидата проголосовал избиратель, и поэтому это не секретная информация. После выборов избирательная комиссия опубликует изображение каждой квитанции в Интернете. Избиратель может найти свой бюллетень, введя серийный номер, и он может проверить, совпадает ли информация, хранящаяся в избирательном органе, с его бюллетенем. Таким образом, избиратель может быть уверен, что его бюллетень был бросить как задумано.

Любой избиратель или заинтересованная сторона может также проверить часть базы данных, чтобы убедиться, что результаты были рассчитаны правильно. Они не могут проверить всю базу данных, иначе они могут связать голоса с порядковыми номерами бюллетеней. Однако половину базы данных можно безопасно проверить без нарушения конфиденциальности. Случайный выбор между открытием или же (этот выбор может быть получен из секретного ключа или из правда случайный источник, например игральная кость[2] или фондовый рынок[3]). Эта процедура позволяет избирателю быть уверенным в том, что комплект всех бюллетеней засчитывается как актер.

Если все бюллетени засчитывается как актер и бросить как задумано, то все бюллетени засчитывается как предполагалось. Следовательно, честность выборов может быть доказана с очень высокой вероятностью.

Дополнительная безопасность

Чтобы еще больше повысить честность выборов Punchscan, можно предпринять несколько дальнейших шагов для защиты от полностью коррумпированной избирательной комиссии.

Несколько баз данных

С , , и в базе данных все генерируются псевдослучайно, можно создать несколько баз данных с разными случайными значениями для этих столбцов. Каждая база данных независима от других, что позволяет открывать и проверять первую половину некоторых баз данных, а также вторую половину других. Каждая база данных должна давать одинаковые окончательные итоги. Таким образом, если избирательный орган внесет изменения в базу данных, чтобы исказить окончательный результат, им придется вмешиваться в каждую из баз данных. Вероятность обнаружения взлома в ходе аудита возрастает с увеличением количества независимых баз данных.

Обязательства

Перед выборами избирательный орган распечатывает бюллетени и создает базы данных. Часть этого процесса создания включает совершение к уникальной информации, содержащейся в каждом бюллетене и в базах данных. Это достигается путем применения криптографического односторонняя функция к информации. Хотя результат этой функции, обязательство, становится достоянием общественности, фактическая информация остается закрытой. Поскольку функция является односторонней, с вычислительной точки зрения невозможно определить информацию о запечатанном бюллетене, учитывая только его публично опубликованное обязательство.

Проверка бюллетеней

Перед выборами изготавливается вдвое больше бюллетеней, чем предназначено для использования на выборах. Половина бюллетеней выбирается случайным образом (или каждый кандидат может выбрать часть бюллетеней) и вскрывается. Строки в базе данных, соответствующие этим выбранным бюллетеням, можно проверить, чтобы убедиться, что расчеты верны и не подделаны. Поскольку избирательный орган не знает априори какие бюллетени будут выбраны, прохождение этого аудита означает, что база данных сформирована правильно с очень высокой вероятностью. Более того, бюллетени можно проверить на соответствие их обязательствам, чтобы с высокой вероятностью убедиться в правильности обязательств по бюллетеням.

Смотрите также

Рекомендации

внешняя ссылка