В этой статье мы разберем детали реализации криптографического протокола системы дистанционного электронного голосования.
Применение криптографических механизмов и алгоритмов на различных этапах избирательного процесса дает системе дистанционного голосования необходимые свойства. Давайте разберемся подробнее и рассмотрим этапы проведения голосования, описанные в
обзорной статье.
Инициализация системы. На этапе инициализации голосования выполняются следующие криптографические операции:
Выработка ключевой пары валидатора для выдачи и проверки слепой подписи, как наиболее стойкий и рекомендуемый академическим сообществом для процедуры анонимизации в системах электронного голосования. В настоящий момент системой поддерживается алгоритмы слепой подписи на эллиптических кривых и на базе алгоритма шифрования RSA. В проводимом голосовании использовался алгоритм выдачи и проверки слепой подписи на базе алгоритма шифрования RSA с длиной ключа 4096 бит.
Выработка общего открытого ключа шифрования. Для большей безопасности в процессе выработки ключа используется сразу два криптографических алгоритма: протокол DKG Pedersen 91 распределенной выработки ключа и протокол разделения ключа Шамира. Выработка ключа осуществляется как участниками, обладающими техническими средствами, позволяющими контролировать непосредственно ноды сети и сервера подсчета, так и участниками, которые являются хранителями ключей, записанных на внешние носители. Итогом работы двух этих алгоритмов является общий открытый ключ шифрования бюллетеней. Далее мы более подробно рассмотрим процедуру выработки этого ключа.
Читать дальше →Источник: Хабрахабр