Jump to content

Аккумулятор (криптография)

В криптографии аккумулятор представляет собой одностороннюю членства хеш-функцию . Это позволяет пользователям подтверждать, что потенциальные кандидаты являются членами определенной группы, не раскрывая отдельных членов группы. Эта концепция была официально представлена ​​Джошем Бенало и Майклом де Маре в 1993 году. [1] [2]

Формальные определения

[ редактировать ]

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

Бенало и де Маре (1993)

[ редактировать ]

Бенало и де Маре определяют одностороннюю хэш-функцию как семейство функций. которые удовлетворяют следующим трем свойствам: [1] [2]

  1. Для всех , можно вычислить вовремя . (Здесь символ «поли» относится к неопределенному, но фиксированному полиному.)
  2. Ни один вероятностный алгоритм с полиномиальным временем не будет при достаточно больших , сопоставьте входы , найди значение такой, что с более чем ничтожной вероятностью.
  3. Для всех , у одного есть . (Функция, удовлетворяющая этому свойству, называется квазикоммутативной .)

(С помощью первых двух свойств восстанавливается нормальное определение криптографической хеш-функции.)

С помощью такой функции можно определить «накопленный хэш» набора. и начальное значение относительно значения быть . Результат не зависит от порядка элементов потому что оно квазикоммутативно. [1] [2]

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

Барич и Пфицманн (1997)

[ редактировать ]

Базовая функциональность квазикоммутативной хеш-функции не сразу вытекает из определения. Чтобы исправить это, Барич и Пфицманн дали несколько более общее определение, которое представляет собой понятие аккумуляторной схемы , состоящей из следующих компонентов: [2] [3]

  1. Gen: вероятностный алгоритм, принимающий два параметра. (параметр безопасности и количество значений, которые можно безопасно накапливать соответственно) и возвращает соответствующий ключ .
  2. Eval: вероятностный алгоритм, принимающий ключ. и накопительный набор , где и возвращая накопленное значение и вспомогательная информация . Мы настаиваем на том, что Eval должен быть детерминированным для .
  3. Острословие: вероятностный алгоритм, принимающий ключ. , значение , накопленное значение из какого-то набора и некоторая вспомогательная информация и возвращает либо свидетель или специальный символ . Мы настаиваем на том, что если , что Вит возвращает свидетеля, и что Вит в противном случае возвращает .
  4. Версия: детерминированный алгоритм, принимающий ключ. , значение , свидетель , и накопленное значение и возвращает значение Да/Нет. Мы настаиваем на том, что если был сгенерирован в результате запуска Wit в кортеже , где были созданы в результате запуска Eval на некоторых , и где был выбран произвольно и был выбран из числа работающих Gen, поэтому Вер всегда возвращал Yes.

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

Камениш и Лысянская (2002)

[ редактировать ]

Можно заметить, что для многих приложений набор накопленных значений будет меняться много раз. Наивно, можно было бы каждый раз полностью переделывать расчет аккумулятора; однако это может быть неэффективно, особенно если наш набор очень велик, а изменение очень мало. Чтобы формализовать эту интуицию, Камениш и Лысянская определили динамическую аккумуляторную схему , состоящую из 4 компонентов обычной аккумуляторной схемы плюс еще три: [2] [4]

  1. Добавить: (возможно, вероятностный) алгоритм, принимающий ключ. , накопленное значение и еще одно значение для накопления и возвращает новое накопленное значение и вспомогательная информация . Мы настаиваем на том, что если был сгенерирован путем накопления некоторого набора , затем должно быть так, как если бы оно было сгенерировано путем накопления набора .
  2. Del: (возможно, вероятностный) алгоритм, принимающий ключ. , накопленное значение и еще одно значение для накопления и возвращает новое накопленное значение и вспомогательная информация . Мы настаиваем на том, что если был сгенерирован путем накопления некоторого набора , затем должно быть так, как если бы оно было сгенерировано путем накопления набора .
  3. Upd: детерминированный алгоритм, принимающий ключ , значение , свидетель , накопленное значение и вспомогательная информация и возвращает нового свидетеля . Мы настаиваем на том, что если был создан Геном, является частью набора , является свидетелем будучи членом , и представляет собой накопленную стоимость для , и был создан путем запуска Add или Del, затем будет свидетелем быть членом нового набора.

Фацио и Николози отмечают, что, поскольку Add, Del и Upd можно моделировать путем повторного запуска Eval и Wit, это определение не добавляет каких-либо принципиально новых функций. [2]

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

В более практичных аккумуляторах используется квазикоммутативная хеш-функция, поэтому размер аккумулятора не увеличивается с увеличением числа членов. Например, Бенало и де Маре предлагают криптографический аккумулятор, вдохновленный RSA : квазикоммутативную функцию. для некоторого составного числа . Они рекомендуют выбирать быть жестким целым числом (т.е. продуктом двух безопасных простых чисел ). [1] Барич и Пфицманн предложили вариант, в котором было ограничено, чтобы быть простым и не более (эта константа очень близка к , но не пропускает информацию о простой факторизации ). [2] [3]

Дэвид Наккеш заметил в 1993 году, что квазикоммутативен для всех констант , обобщая предыдущий криптографический аккумулятор на основе RSA. Наккеш также отметил, что полиномы Диксона квазикоммутативны по степени, но неизвестно, является ли это семейство функций односторонним. [1]

В 1996 году Ниберг сконструировал аккумулятор, который является теоретически безопасным с точки зрения теории случайных чисел в модели оракула . Выбор некоторого верхнего предела количества предметов, которые можно надежно накопить и параметр безопасности, определите константу быть целым числом, кратным (чтобы можно было написать ) и пусть быть некоторой криптографически безопасной хэш-функцией . Выберите ключ как случайный -битовая строка битов. Затем для накопления по схеме Ниберга используйте квазикоммутативную хеш-функцию , где это побитовая операция и это функция, которая интерпретирует свои входные данные как последовательность -битовые битовые строки длины , заменяет каждую битовую строку, состоящую из всех нулей, одним 0, а все остальные битовые строки - на 1 и выводит результат. [2] [5]

Приложения

[ редактировать ]

Хабер и Сторнетта показали в 1990 году, что аккумуляторы можно использовать для временной отметки документов посредством криптографической цепочки. (Эта концепция предвосхищает современное понятие криптографического блокчейна .) [1] [2] [6] Бенало и де Маре в 1991 году предложили альтернативную схему, основанную на разделении времени на раунды. [1] [7]

Бенало и де Маре показали, что аккумуляторы можно использовать для того, чтобы большая группа людей могла узнать друг друга позже (что Фацио и Николози называют ситуацией «депонирования удостоверения личности»). Каждый человек выбирает представляющие свою личность, и группа коллективно выбирает общественный аккумулятор и секрет . Затем группа публикует или сохраняет хэш-функцию и накопленный хэш всех идентификаторов группы относительно секрета. и общественный аккумулятор; одновременно каждый член группы сохраняет как свое значение идентичности, так и значение своей идентичности. и накопленный хэш всех идентификаторов группы, кроме участника . (Если большая группа людей не доверяет друг другу или если аккумулятор имеет криптографический люк, как в случае с аккумулятором на основе RSA, тогда они могут вычислить накопленные хэши путем безопасных многосторонних вычислений .) Чтобы проверить, что заявленный участник действительно позже принадлежал к группе, он представляет свою личность и личный накопленный хэш (или его доказательство с нулевым разглашением ); накапливая личность заявленного члена и сверяя ее с накопленным хешем всей группы, любой может проверить члена группы. [1] [2] Благодаря динамической накопительной схеме впоследствии можно легко добавлять или удалять участников. [2] [4]

Криптографические аккумуляторы также можно использовать для создания других криптографически безопасных структур данных :

  • Барич и Пфицманн показывают, что можно создавать отказоустойчивые сигнатуры только с постоянным пространством, используя свойство сжатия. [2] [3]
  • Гудрич и др. создал эффективный динамический аутентифицированный словарь, не учитывающий размер, (который позволяет ненадежным каталогам давать криптографически проверяемые ответы на запросы членства). [2] [8]
  • Папаманту и др. построил криптографически безопасную хэш-таблицу , функциональность которой может быть проверена при удаленном хранении. [9]

Эта концепция получила новый интерес благодаря Zerocoin дополнению к биткойнам , которое использует криптографические аккумуляторы для устранения отслеживаемых связей в блокчейне биткойнов, что сделает транзакции анонимными и более конфиденциальными. [10] [11] [12] Более конкретно, чтобы отчеканить (создать) Zerocoin, необходимо опубликовать монету и криптографическое обязательство по серийному номеру с секретным случайным значением (которое примут все пользователи, если оно правильно отформатировано); Чтобы потратить (вернуть) Zerocoin, нужно опубликовать серийный номер Zerocoin вместе с неинтерактивным доказательством с нулевым разглашением того, что им известно о каком-то опубликованном обязательстве, которое относится к заявленному серийному номеру, а затем заявить о своей монете (которую все пользователи примут как до тех пор, пока НИЗКП действителен и серийный номер не появился ранее). [10] [11] С момента первоначального предложения Zerocoin на смену ему пришел протокол Zerocash , и в настоящее время он развивается в Zcash , полноценный протокол. [ ласковые слова ] цифровая валюта. [13] [14]

См. также

[ редактировать ]
  1. ^ Jump up to: а б с д и ж г час Бенало, Джош; де Маре, Майкл (1994). «Односторонние накопители: децентрализованная альтернатива цифровым подписям» (PDF) . Достижения в криптологии — EUROCRYPT '93 . Конспекты лекций по информатике. Том. 765. стр. 274–285. дои : 10.1007/3-540-48285-7_24 . ISBN  978-3-540-57600-6 . Проверено 3 мая 2021 г.
  2. ^ Jump up to: а б с д и ж г час я дж к л м н тот Фасио, Нелли; Николози, Антонио (2002). «Криптографические аккумуляторы: определения, конструкции и приложения» (PDF) . Архивировано (PDF) из оригинала 3 июня 2006 г. Проверено 30 января 2021 г.
  3. ^ Jump up to: а б с Барич, Нико; Пфицманн, Биргит (1997). «Бесконфликтные аккумуляторы и схемы отказоустойчивой сигнатуры без деревьев». В Фуми, Уолтер (ред.). Достижения в криптологии — EUROCRYPT '97 . Конспекты лекций по информатике. Том. 1233. Берлин, Гейдельберг: Springer. стр. 480–494. дои : 10.1007/3-540-69053-0_33 . ISBN  978-3-540-69053-5 .
  4. ^ Jump up to: а б Камениш, Ян; Лысянская, Анна (2002). «Динамические аккумуляторы и применение для эффективного отзыва анонимных учетных данных». В Юнг, Моти (ред.). Достижения криптологии — КРИПТО 2002 . Конспекты лекций по информатике. Том. 2442. Берлин, Гейдельберг: Springer. стр. 61–76. дои : 10.1007/3-540-45708-9_5 . ISBN  978-3-540-45708-4 .
  5. ^ Нюберг, Кайса (1996). «Быстрое накопительное хеширование». В Гольманне, Дитер (ред.). Быстрое программное шифрование . Конспекты лекций по информатике. Том. 1039. Берлин, Гейдельберг: Springer. стр. 83–87. дои : 10.1007/3-540-60865-6_45 . ISBN  978-3-540-49652-6 .
  6. ^ Хабер, Стюарт; Сторнетта, В. Скотт (1991). «Как поставить временную метку цифровому документу». В Менезесе, Альфред Дж.; Ванстон, Скотт А. (ред.). Достижения криптологии — CRYPT0' 90 . Конспекты лекций по информатике. Том. 537. Берлин, Гейдельберг: Шпрингер. стр. 437–455. дои : 10.1007/3-540-38424-3_32 . ISBN  978-3-540-38424-3 .
  7. ^ Бенало, Дж.; де Маре, М. (август 1991 г.). «Эффективная отметка времени вещания» . Майкрософт . CiteSeerX   10.1.1.38.9199 . МСР-ТР 91-1.
  8. ^ Гудрич, Майкл Т.; Тамассия, Роберто; Хасич, Ясминка (11 ноября 2001 г.). «Эффективный динамический и распределенный криптографический аккумулятор» (PDF) . Информационная безопасность . Конспекты лекций по информатике. Том. 2433. стр. 372–388. дои : 10.1007/3-540-45811-5_29 . ISBN  978-3-540-44270-7 . Архивировано из оригинала 13 марта 2003 года.
  9. ^ Папаманту, Харалампос; Тамассия, Роберто; Триандопулос, Никос (18 августа 2009 г.). «Криптографические аккумуляторы для аутентифицированных хеш-таблиц». Архив электронной печати по криптологии . CiteSeerX   10.1.1.214.7737 .
  10. ^ Jump up to: а б Ян, Майерс; Гарман, Кристина; Грин, Мэтью; Рубин, Авиэль Д. (2013). «Zerocoin: анонимное распространение электронных денег из биткойнов» (PDF) . Симпозиум IEEE 2013 по безопасности и конфиденциальности . стр. 397–411. дои : 10.1109/СП.2013.34 . ISBN  978-0-7695-4977-4 . S2CID   9194314 . Проверено 3 мая 2021 г.
  11. ^ Jump up to: а б Грин, Мэтью (11 апреля 2013 г.). «Zerocoin: делаем Биткойн анонимным» . Несколько мыслей о криптографической инженерии . Архивировано из оригинала 21 мая 2014 года . Проверено 3 мая 2021 г.
  12. ^ Zerocoin: анонимно распределенные электронные деньги из биткойнов. Архивировано 8 февраля 2014 г. в Wayback Machine.
  13. ^ «Проект Zerocoin» . Zerocoin.org . Проверено 4 мая 2021 г.
  14. ^ «Цифровая валюта, защищающая конфиденциальность | Zcash» . Zcash . Проверено 4 мая 2021 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c749a19ce612168e8d4c7d543b007311__1688816700
URL1:https://arc.ask3.ru/arc/aa/c7/11/c749a19ce612168e8d4c7d543b007311.html
Заголовок, (Title) документа по адресу, URL1:
Accumulator (cryptography) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)