Jump to content

Гомоморфное разделение секретов

В криптографии , гомоморфное разделение секрета — это тип разделения секрета алгоритма в котором секрет шифруется с помощью гомоморфного шифрования . Гомоморфизм — это преобразование одной алгебраической структуры в другую того же типа с сохранением этой структуры. Важно отметить, что для каждого вида манипуляций с исходными данными существует соответствующая манипуляция с преобразованными данными. [1]

Технический [ править ]

Гомоморфное разделение секрета используется для передачи секрета нескольким получателям следующим образом:

  1. Преобразуйте «секрет» с помощью гомоморфизма. Это часто придает секрету форму, которой легко манипулировать или хранить. В частности, может существовать естественный способ «разделить» новую форму, как того требует шаг (2).
  2. Разделите преобразованный секрет на несколько частей, по одной для каждого получателя. Секрет должен быть разделен таким образом, чтобы его можно было восстановить только после объединения всех или большинства частей. (См. раздел «Обмен секретами ».)
  3. Раздайте части секрета каждому из получателей.
  4. Объедините части каждой из получателей, чтобы восстановить преобразованный секрет, возможно, в указанное время.
  5. Обратите гомоморфизм, чтобы восстановить исходный секрет.

Примеры [ править ]

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

Подробно, предположим, что у нас есть выборы с:

  • Два возможных результата: да или нет . Мы представим эти результаты численно +1 и -1 соответственно.
  • Число органов k , которые будут подсчитывать голоса.
  • Число избирателей n , которые подадут голоса.
  1. Заранее каждый орган власти генерирует общедоступный числовой xk ключ .
  2. Каждый избиратель кодирует свой голос в полиноме p n в соответствии со следующими правилами: Полином должен иметь степень k - 1 , его постоянный член должен быть либо +1, либо -1 (что соответствует голосованию «за» или голосованию «нет»), а другие его коэффициенты должны генерироваться случайным образом.
  3. Каждый избиратель вычисляет значение своего полинома p n каждого органа власти по открытому ключу x k .
    • В результате получается k баллов, по одному за каждый авторитет.
    • Эти k точек представляют собой «части» голоса: если вы знаете все точки, вы можете вычислить полином p n (и, следовательно, вы можете выяснить, как проголосовал избиратель). Однако, если вы знаете только некоторые точки, вы не сможете вычислить полином. (Это потому, что вам нужно n точек для определения полинома степени ( n − 1) . Две точки определяют линию, три точки определяют параболу и т. д.)
  4. Избиратель отправляет каждому органу власти значение, полученное с использованием ключа органа власти.
  5. Каждый авторитет собирает ценности, которые он получает. Поскольку каждый орган власти получает только одно значение от каждого избирателя, он не может определить полином какого-либо конкретного избирателя. Более того, он не может предсказать, как изменение представленных материалов повлияет на голосование.
  6. После того как избиратели подали свои голоса, каждый орган k вычисляет и объявляет сумму A k всех полученных им значений.
  7. Имеется k сумм, A k ; когда они объединяются вместе, они определяют уникальный полином P ( x ) – в частности, сумму всех полиномов избирателей: P ( x ) = p 1 ( x ) + p 2 ( x ) + ... + p n ( х ).
    • Постоянный член P ( x ) на самом деле является суммой всех голосов, потому что постоянный член P ( x ) представляет собой сумму постоянных членов отдельного p n .
    • Таким образом, постоянный член P ( x ) дает совокупный результат выборов: если он положительный, больше людей проголосовали за +1, чем за -1; если он отрицательный, за -1 проголосовало больше людей, чем за +1.
Таблица, иллюстрирующая протокол голосования
Иллюстрация протокола голосования. Каждый столбец представляет части голоса конкретного избирателя. Каждая строка представляет собой части, полученные определенным органом власти.

Особенности [ править ]

Этот протокол работает до тех пор, пока не все k органов власти коррумпированы — если бы они были коррумпированы, то они могли бы сотрудничать, чтобы восстановить P ( x ) для каждого избирателя, а также впоследствии изменить результаты голосов.

требуется Для протокола выполнение N > t + 1 полномочий, поэтому, если имеется t + 1 полномочий , N t − 1 полномочий могут быть повреждены, что придает протоколу определенную степень устойчивости.

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

При предположениях о t :

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

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

Уязвимости [ править ]

  • Избиратель не может быть уверен, что его голос был записан правильно.
  • Власти не могут быть уверены, что голоса были законными и равными, например, избиратель может выбрать значение, которое не является допустимым вариантом (т.е. не в {-1, 1}), например -20, 50, что изменит результаты в их пользу.

См. также [ править ]

Ссылки [ править ]

  1. ^ Шенмейкерс, Берри (1999). «Простая публично проверяемая схема обмена секретами и ее применение к электронному голосованию». Достижения криптологии — КРИПТО' 99 . Конспекты лекций по информатике. Том. 1666. стр. 148–164. CiteSeerX   10.1.1.102.9375 . дои : 10.1007/3-540-48405-1_10 . ISBN  978-3-540-66347-8 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d2e4988ed99963aba7dc9623b72cfa12__1688687520
URL1:https://arc.ask3.ru/arc/aa/d2/12/d2e4988ed99963aba7dc9623b72cfa12.html
Заголовок, (Title) документа по адресу, URL1:
Homomorphic secret sharing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)