Протокол идентификации на основе функции спаривания, устойчивый к имперсонификации и совместимый с режимом моментальной электронной цифровой подписи (МЭЦП), представлен в этой публикации. Протокол использует общедоступные ключи доказывающего и проверяющего. Как следствие, отсутствует анонимность, так как для упомянутых ключей выпущены сертификаты, которые в том числе включают персональные данные их владельцев. Предлагаемая публикация содержит описание и анализ новых протоколов анонимной идентификации для групп. Настоящая публикация состоит из разделов с описанием протоколов анонимной групповой идентификации для двух различных сценариев, анализом криптостойкости ключей и устойчивости к имперсонификации, оценкой количества передаваемой информации, а также оптимизации вычислений и ресурса памяти. В завершение конкретизируются выводы и формулируется заключение. Разъяснения относительно исчезающе малой вероятности (сокращённо и.м.в.), булевской переменной и устройстве сертификатов общедоступных ключей, приводятся в опубликованной ранее статье. В фундаментальной работе [RST'01] рассматривается следующая практическая задача. Некоторая сторона , например, член кабинета министров (КМ), намеревается опубликовать компрометирующую информацию о действиях премьер-министра. С этой целью  обращается к  — журналисту независимого издания, например. При этом необходимо, с одной стороны, гарантировать анонимность источника, но убедиться в достоверности информации, — с другой. С точки зрения  достоверной считается та информация, которую предоставил член КМ. Разберём возможные варианты.  не может передать  сообщение, заверенное электронной цифровой подписью (ЭЦП), так как проверка подписи приведёт к деанонимизации, поскольку персональные данные  будут указаны в сертификате общедоступного ключа,  при помощи которого осуществляется проверка. Хотя такой способ безусловно убедит  в том, что информация исходит от члена КМ. Если  воспользуется услугами анонимайзера, то из переданного сообщения будут удалены все идентификаторы, так или иначе указывающие на конкретного отправителя. Следовательно,  не сможет убедиться в том, что информация исходит от члена КМ. В [RST'01] предложено решение, в котором каждый член КМ способен сформировать ЭЦП при помощи своего персонального секретного ключа, но проверить эту ЭЦП возможно только при помощи персональных общедоступных ключей всех членов КМ, включая самого заверителя. В результате  убеждается сам и может убедить третью сторону, что информация исходит от КМ, но при этом  остаётся неизвестным. Мы предлагаем решение сформулированной выше задачи посредством протокола анонимной идентификации для групп. Преимущество решения в том, что помимо анонимной идентификации,  может передать информацию конфиденциально, воспользовавшись защищённым туннелем передачи данных. Туннель (виртуальный) доступен по построению, поскольку  и   способны независимо сформировать общий сессионный секретный ключ по факту успешной идентификации. Конфиденциальность гарантируется применением симметричной криптографической схемы. Протокол анонимной групповой идентификации также позволяет убедить третью сторону в том, что полученная информация исходит от члена КМ. Это следует из того, что все общедоступные ключи, задействованные в проверке доказательства, принадлежат членам КМ, что легко проверяется по персональным данным из сертификатов этих ключей. Анонимность опирается на простой принцип, который можно сформулировать следующим образом: «достоверно известно, что один из группы, но неизвестно, кто именно». Применение протокола анонимной групповой идентификации логически обосновано в контексте решения широкого спектра практических задач, для которых существенна совместимость с режимом МЭЦП. Некоторые сценарии описаны здесь. Смысловое содержание используемых ниже параметров, таких как       объясняется в Приложение A. В целях упрощения изложения мы опускаем подробности, связанные с проверкой потенциальных участников на соответствие критериям включения в группу, а также последующей регистрацией тех, кто им удовлетворяет. В дальнейшем будем исходить из предположения, что такая группа успешно сформирована. Для участников, представленных множеством нумераторов  доверенная сторона формирует набор долговременных общедоступных ключей  набор персональных секретных ключей участников  а также групповой общедоступный ключ     если  то выбирает другое    если  то переходит к 3.  если  то выбирает другое   если  то переходит к 5.   если  то переходит к 5.     Секретный ключ  доставляется -му участнику способом, исключающим утечку, например, при помощи  из этой публикации. Для каждого общедоступного ключа из  выпускается отдельный сертификат с указанием персональных данных владельца. Кроме этого, выпускается единый сертификат для  который устанавливает связь компонентов этого набора с ключами из  Подготовка   завершается удалением     из локальной долговременной секретной памяти стороны  В совокупности выпускается и обслуживается  сертификат. Рассмотрим протокол анонимной идентификации для случая, когда  не принадлежит к группе зарегистрированных участников и  отличен от общедоступных ключей из  Предположим, что  владеет парой ключей  где  Для  выпущен сертификат   имеет доступ к  и знает  Пусть в роли  выступает -й участник,   Сообщения протокола:    Действия сторон.  доказывает  что знает секретный ключ  такой, что  и  В ходе доказательства   и  не раскрываются. Для этого выполняются следующие действия:  считывает актуальный сертификат  и проверяет ЭЦП доверенной стороны  Если  то сессия завершается. Если  то выбирает   вычисляет   проверяет условие  Если  то выбирает новое  и заново выполняет необходимые вычисления и проверки.  считывает актуальный сертификат  и проверяет ЭЦП доверенной стороны  Если  то сессия завершается. Если  то выбирает   и вычисляет   Если  то выбирает новое  и заново выполняет необходимые вычисления и проверки.  проверяет целостность, подлинность и актуальность общедоступных ключей    при помощи соответствующих сертификатов, если  актуальность не подтверждена или  то текущая сессия завершается. Проверяет условие  если выполняется, то для   вычисляет  как  где в противном случае сессия завершается;  проверяет целостность, подлинность и актуальность общедоступных ключей   при помощи соответствующих сертификатов, если  актуальность не подтверждена или  то текущая сессия завершается. Проверяет условие  если не выполняется, то сессия завершается. Если выполняется, то вычисляет Затем проверяет  Если равно, то доказательство принимается, и отвергается в противном случае. В случае успешного завершения этапа идентификации стороны независимо формируют общий сессионный секретный ключ в соответствии со следующими правилами:  вычисляет   вычисляет  Теперь рассмотрим вариант протокола, когда  принадлежит группе зарегистрированных участников. Тогда  владеет парой ключей  где  и   Для  выпущен сертификат  Сообщения протокола:    Действия сторон.  доказывает  что знает секретный ключ  такой, что  и  В ходе доказательства   и  не раскрываются. Для этого выполняются следующие действия:  считывает актуальный сертификат  и проверяет ЭЦП доверенной стороны  Если  то сессия завершается. Если  то выбирает   вычисляет   проверяет условие  Если  то выбирает новое  и заново выполняет необходимые вычисления и проверки.  считывает актуальный сертификат  и проверяет ЭЦП доверенной стороны  Если  то сессия завершается. Если  то вычисляет  выбирает  и затем вычисляет    Если  то выбирает новое  и заново выполняет необходимые вычисления и проверки.  проверяет целостность, подлинность и актуальность общедоступных ключей    при помощи соответствующих сертификатов, если  актуальность не подтверждена или  то текущая сессия завершается. Проверяет условие  если выполняется, то для   вычисляет  как  где в противном случае сессия завершается;  проверяет целостность, подлинность и актуальность общедоступных ключей   при помощи соответствующих сертификатов, если  актуальность не подтверждена или  то текущая сессия завершается. Проверяет условие  если не выполняется, то сессия завершается. Если выполняется, то вычисляет Затем проверяет  Если равно, то доказательство принимается, и отвергается в противном случае. В случае успешного завершения этапа идентификации стороны независимо формируют общий сессионный секретный ключ в соответствии со следующими правилами:  вычисляет   вычисляет  Идея в том, что для общедоступного ключа  выполняется маскировка при помощи  тогда как  в случае секретного ключа  такая маскировка выполняется при помощи  где  и  по построению. Это означает, что трудоёмкость раскрытия всех  при известном решении ECDLP/DLP для общедоступного ключа из  а также известном секретном ключе из  не ниже трудоёмкости отыскания решения ECDLP/DLP. Рассмотрим частный случай. Предположим, что известны  и  — решение ECDLP/DLP при условии  или  Тогда    и   Следовательно, если известны  и  то для раскрытия всех   достаточно найти  Атакующий располагает дополнительными возможностями. Пусть известны  и  такие, что    Мотивация атакующего заключается в том, что при известном  и  (при  квадратный корень вычисляется однократно) можно раскрыть  при помощи итеративного метода извлечения квадратного корня по алгоритму Tonelli-Shanks асимптотической трудоёмкости   [C'06] (раздел 11.1.5). Например, при известном   и  В общем случае неизвестно, как вычислить корень произвольной степени в  Алгоритмы силовой атаки для некоторых   представлены в Приложении C. Лобовая атака (Алгоритм 1) не оптимальна, так как в среднем потребуется выполнить  опробований, где  Предположим, что задано число  такое, что  и известно каноническое разложение   — различные простые,  которое можно получить при помощи факторизации  например, методом   или иным известным методом [I'11]. Пусть задано множество  Если все  известны, то справедливо представление:    Пронумеруем простые числа из  натуральными числами от  до  и перейдём к множеству  Оценим трудоёмкость оптимизированной силовой атаки (Алгоритм 2). В атаке задействована вспомогательная последовательность     Вес Хэмминга  изменяется в диапазоне от  до  и количество опробований ограничено сверху величиной                                                                                     В среднем для отыскания    потребуется выполнить  опробований. Предположим, что  и   Напомним, что по построению  и тогда возможны следующие варианты:       Обозначим через  количество простых чисел в диапазоне  Согласно оценке Чебышева:   Следовательно,  Общеизвестно, что   но в (1) суммируется около половины всех возможных биномиальных коэффициентов и поэтому  Следовательно,  При  мощность множества  не поддаётся регулированию. В результате  может быть невелико и трудоёмкость силовой атаки, а именно количество опробований  не обеспечит необходимого уровня криптостойкости. Для исправления положения поступим следующим образом. Пусть на этапе подготовки доверенная сторона  случайно выбирает  различных простых чисел из диапазона  и формирует множество  Проверка на простоту выполняется при помощи теста из [AKS'04]. Например, если  то  Затем  формирует случайную двоичную последовательность  веса Хэмминга  где  и для заданного  вычисляет:  Теперь трудоёмкость рассмотренной выше силовой атаки ограничена сверху гарантированной величиной  и   В общем виде   где   — некоторая функция, которая по модулю стремится к нулю, но при этом может принимать как отрицательные, так и положительные значения. При  получаем  Например, для обеспечения -битного уровня криптостойкости и выше следует выбрать  Отыскание  при условии  по трудоёмкости эквивалентно известной -полной задаче Subset Product [GJ'79] (SP14, c. 224) или, по-другому, Произведение Размеров [GJ'82] (МР 14, с. 283). -полнота доказана сведением к этой задаче другой -полной задачи, известной как Точное Покрытие 3-Множествами [GJ'82] (ТП-3, с. 73). Заметим, что MP 14 — задача с числовыми параметрами и -полнота не исключает решения этой задачи при помощи алгоритма псевдополиномиальной временной трудоёмкости при условии  [GJ'82] (раздел 4.2 на с. 117, комментарий к MP 14 на с. 283), которая зависит от  и  Очевидно, что существование алгоритма такой трудоёмкости предоставляет атакующему дополнительные возможности. Однако, этот недостаток устраняется, если  выбирает  простых чисел из диапазона  а величина  такова, что позволяет компенсировать снижение криптостойкости по причине существования  алгоритма псевдополиномиальной трудоёмкости. Величина  ограничена снизу уровнем криптостойкости. Тогда сторона  может выбрать сколь угодно большое  при соблюдении заданного уровня криптостойкости как необходимого условия. Множество  формируется однократно на этапе подготовки и его мощность, а также разрядность простых чисел в него входящих, не влияет на рабочие характеристики протокола идентификации. Количество простых в упомянутом диапазоне по порядку величины не отличается от  При -битной криптостойкости разрядность простых чисел будет варьироваться от  до  бит. Алгоритм Гровера [G'96] позволяет отыскать  при условии  за  опробований на квантовом компьютере с  кубитами. Если силовая атака на квантовом компьютере представляется реалистичной, то следует выбирать величину  так, чтобы компенсировать снижение криптостойкости в результате применения алгоритма Гровера. Например, уровень криптостойкости от  бит включительно и выше обеспечивается при  В [S'97] показано, что на квантовом компьютере трудоёмкость таких трудноразрешимых задач как факторизация, DLP, а также ECDLP по причине существования билинейного отображения  ограничена некоторым полиномом от размера входа.  Отметим, что множество  предназначено исключительно для получения   на основании которых затем вычисляются   По завершении всех необходимых вычислений сторона  удаляет  из локальной долговременной памяти. Отметим, что в основу протокола анонимной групповой идентификации легли идеи работы [BGW'05].  Разъясним содержательную часть. Обратим внимание на поведение функции  которая присутствует в показателе степени  при вычислении  и  а также  и  Функция  непрерывна и для анализа достаточно предъявить Таблицу 1 значений для некоторых нумераторов из целочисленного интервала   Пусть   и  Из Таблицы 1 следует, что  располагается на главной диагонали и удовлетворяет условию  По построению  и поэтому  Поскольку в  отсутствует -й нумератор, но с другой стороны, в  присутствует нумератор  то:   В  неубывающий порядок нумераторов выбран в целях упрощения объяснений. Отметим, что протокол инвариантен относительно такого порядка. Кроме этого, протокол корректно работает с подмножеством  Асимптотическая оценка количества таких подмножеств —   Причём наборы нумераторов в этих подмножествах могут как пересекаться, так и нет. Предположим  и  Имеется некоторое подмножество  такое, что  Пусть  тогда  Следовательно,                       Предположим, что атакующему известно  и  — решение ECDLP/DLP при условии  или  Тогда в  атакующий от лица  вычисляет  как  Кроме этого,  вычисляет  как   где В свою очередь  вычисляет Следовательно,  и  с и.м.в. Для того, чтобы обмануть проверяющего, атакующий должен раскрыть  и  тогда  и  Для   и  вычисляются как  и ,  соответственно, где  вычисляет Следовательно,  и  с и.м.в. Для того, чтобы обмануть проверяющего, атакующий должен раскрыть  и  тогда  и  Напомним, что для раскрытия  и  необходимо отыскать решение конкретной -полной задачи при условии известных  и  Пусть фиктивный проверяющий  владеет парой ключей  Рассмотрим потенциальные риски, связанные с имперсонификацией проверяющего, а именно замены  на  Для имперсонификации проверяющего необходимо отыскать решение ECDLP/DLP при условии   или  Тогда   Связь между ECDLP и DLP объясняется в Приложении A. Предположим, что упомянутое выше решение ECDLP/DLP не известно. Однако, атакующий имеет доступ к  и способен вместо  навязать  а также вместо   навязать некоторое  при этом  и  c и.м.в. Тогда  вычисляет  как   где  вычисляет  и  Очевидно, что  и  с и.м.в. Допустим, что атакующий навязывает  но при этом отсутствует подмена  тогда   	 Если финальную проверку выполняет  то  с и.м.в. Если такую проверку выполняет тот, кто знает  например  то  Однако, несмотря на то, что доказательство принимается  имперсонификации не происходит, так как отсутствует подмена  Далее  вычисляет  и  вычисляет  Следовательно,  с и.м.в.  не сможет раскрыть сессионный секретный ключ, так как для этого надо знать  Однако,  знает  и может вычислить  но поскольку  с и.м.в., то  с и.м.в. Предположим  — решение ECDLP/DLP при условии  или  Тогда  но для вычисления  где  с и.м.в., необходимо знать  и  однако, как показано выше, для их раскрытия необходимо решить конкретную -полную задачу при условии известных  и  В свете представленного разъяснения дальнейшие рассуждения относительно имперсонификации не имеют смысла. Если применяется компактное представление, то  для доставки     в  а также     в  потребуется передать  бит, где  — разрядность двоичного представления серийных номеров сертификатов  и  а  — степень вложения  Объяснения относительно степени вложения представлены в Приложении A. Если задействовано некоторое случайное подмножество  то необходимо уведомить  о нумераторах, входящих в это подмножество. Для этого  должен дополнительно передать  бит информации, где Когда передаётся  бит, то нумераторы из  соответствуют позициям, на которых расположены единицы. С другой стороны, разумно оценивать количество информации, необходимое для передачи только сообщений протокола, поскольку для большинства практических приложений, несмотря на то, что  должен знать, какие нумераторы входят в  и, следовательно, каким-то образом получить соответствующую информацию, это подмножество либо зафиксировано, либо медленно изменяется с течением времени. Следовательно, информацию о нумераторах достаточно передать однократно. При оценке можно пренебречь количеством информации, которое нужно передать для модификации такого медленно меняющегося подмножества. В ряде практических приложений  фиксируется. Например, когда некоторые наборы общедоступных ключей, при помощи которых осуществляется проверка, закрепляются за отдельными структурными подразделениями корпорации или госучреждения. В этом случае не нужно каждый раз сообщать нумераторы из   так как набор необходимых общедоступных ключей определён заранее. Если зафиксировать  то можно заблаговременно подтвердить подлинность, целостность и актуальность общедоступных ключей   при помощи соответствующих сертификатов, а затем вычислить и опубликовать точку: Тогда -й доказывающий заранее вычисляет точку: и сохраняет в локальной долговременной секретной памяти.  Если предположить, что инициируется  то в случае -го доказывающего  вычисляет  и  вычисляет  Оптимизация актуальна как для  так и  Если  всегда принадлежит группе зарегистрированных участников и инициируется  то возможна оптимизация, которая опирается на следующее обоснование. Степень вложения  а также характеристика поля  определяют трудоёмкость DLP в  При фиксированном  чем больше  тем выше трудоёмкость отдельного спаривания, а также различных арифметических операций в  включая дискретное экспоненциирование и мультипликативное обращение. Поскольку для  субэкспоненциальная трудоёмкость отыскания решения DLP не является критической, то разумно снизить трудоёмкость арифметических операций, а также сократить ресурс памяти за счёт использования малых значений  В отношении криптостойкости ключей,  и  предположительно согласуются с основным императивом  где обоснование криптостойкости заключается в доказательстве того, что атака на криптосистему состоит в отыскании решения некоторой задачи гипотетически трудноразрешимой на квантовом компьютере. -полные задачи при условии  в полной мере отвечают этому положению. Поскольку решение ECDLP/DLP для произвольного общедоступного ключа из  не позволяет раскрыть соответствующий секретный ключ по причине специальных приёмов маскировки, мы предположили, что кроме решения  также известен секретный ключ  Показано, что даже при таких допущениях для раскрытия всех остальных секретных ключей необходимо отыскать решение конкретной -полной задачи. Подчеркнем, что выбор чисел   ограничен. Таких чисел мало, например, если положить  то доступны числа из набора  Расширение этого набора маловероятно, так как группы с числом участников  и более редко встречаются на практике. Следовательно, возможности атакующего также ограничены. Следует отметить, что  допускает имперсонификацию при известном решении ECDLP/DLP. Это объясняется тем, что ключи проверяющего, секретный и общедоступный, не имеют дополнительной маскировки, в отличие от ключей, которые задействованы в   Протоколы анонимной групповой идентификации, описанные и проанализированные в настоящей статье, выигрышно отличаются высокой криптостойкостью от схожего по функциональности протокола из этой публикации, поскольку его криптостойкость определяется исключительно трудоёмкостью отыскания решения ECDLP/DLP. Сконструированы и исследованы МЭЦП-совместимые протоколы анонимной идентификации для групп. Показано, что криптостойкость ключей определяется трудоёмкостью отыскания решения конкретной -полной задачи. Скачать статью в pdf-формате [RST'01] Rivest, Ronald L., Shamir, A., Tauman, Y. "How to leak a secret: Theory and applications of ring signatures." In  LNCS 3895, (2001) 164-186. [C'06] Cohen, H., Frey, G., Avanzi, R., Doche, C., Lange, T., Nguyen, K., Vercauteren, F.  Chapman and Hall/CRC, 2006. [AKS'04] Agrawal, M., Kayal, N., Saxena, N. "PRIMES is in P."  v.160, (2004) 781-793. [I'11] Ишмухаметов Ш. Т. Методы факторизации натуральных чисел: учебное пособие. — Казань: Казан. ун-т, 2011. 200 с. [GJ'79] Garey, M. R.  and  Johnson, D. S. A Guide to the Theory of -Completeness. W. H. Freeman&Co., New York, NY, 1979. [GJ'82] Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. 416 с. [G'96] Grover, L. "A fast quantum mechanical algorithm for database search." Proceedings of  (1996) 212-219. https://arxiv.org/abs/quant-ph/9605043. [S'97] Shor, Peter W. "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer."  v.26, 5, (1997) 1484-1509. [BGW'05] Boneh, D., Gentry, C. and Waters, B.  "Collusion Resistant Broadcast Encryption With Short Ciphertexts and Private Keys." In  LNCS 3621, (2005) 258-275.  ENCRY Official