Разделение доменов

Криптографическая техника

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

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

РО1(x) := РО("РО1" || x)
РО2(х) := РО("РО2" || х)

где «RO1» и «RO2» — это строки, представляющие уникальные DST, а || — оператор конкатенации . [3] Если базовая функция RO безопасна (например, это криптографический хэш ), RO1 и RO2 статистически независимы . [1] Первоначально этот метод был предложен [4] Белларом и Рогауэем в 1993 году. [5]

Использует

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

  • предоставление независимых RO для протоколов; [6]
  • расширение выходного размера RO (например, путем многократного использования RO (пронумерованных от 1 до L), каждый раз используя представление числа оракула как DST. Этот метод называется «режимом счетчика» из-за его сходства с режимом счетчика блочного шифра ; [7]
  • «ключевая» оракул, используя ключ шифрования в качестве DST. [8]

В практическом смысле разделение доменов может обеспечить «настройку», эквивалент строгой типизации в программировании: оно обеспечивает использование независимых вычислений для разных задач, поэтому злоумышленник, узнавший результат одного вычисления, не получит никакой информации о другом. [9]

Виды функций

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

Хэш-функции

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

Разделение доменов используется в реализации некоторых хэш-функций для создания нескольких различных функций из одной и той же конструкции. [11] Например, в SHA-3 разделение доменов гарантирует, что функции с разными именами (например, SHA3-512 или SHAKE128 ) являются независимыми. [9]

Симметричные шифры и MAC

Безопасность симметричных шифров и MAC критически зависит от того, чтобы ключ не использовался для других целей. Если приложению требуется несколько ключей, но у него есть только один источник материала для ключа, оно обычно использует функцию деривации ключа для создания ключей. KDF обычно могут создавать выходные данные произвольной длины, поэтому их можно использовать для создания любого количества ключей. [12]

Кроме того, как и хэш-функции, некоторые симметричные шифры и MAC используют внутреннее разделение доменов. [13]

Подписи

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

Ссылки

  1. ^ abc Hampiholi et al. 2015, стр. 317.
  2. ^ Келси, Чанг и Перлнер 2016, стр. 3.
  3. ^ Фас-Эрнандес и др. 2023 год, Разделение доменов.
  4. ^ Белларе, Бернштейн и Тессаро 2016, с. 566.
  5. ^ Беллар и Рогауэй 1993.
  6. ^ Миттельбах и Фишлин 2021, с. 357.
  7. ^ Миттельбах и Фишлин 2021, с. 358.
  8. ^ Миттельбах и Фишлин 2021, с. 359.
  9. ^ ab Kelsey, Chang & Perlner 2016, стр. 1.
  10. ^ Гансинг, Альдо; Меннинк, Барт (10 апреля 2020 г.). «Сворачиваемость хэшей деревьев». PQCrypto 2020: Постквантовая криптография . doi :10.1007/978-3-030-44223-1_28.
  11. ^ Бертони, Гвидо; Дэмен, Джоан; Хофферт, Сет; Питерс, Майкл; Ван Аш, Жиль; Ван Кир, Ронни; Вигье, Бенуа (2023). «ТурбоШЕЙК».
  12. ^ Вонг, Дэвид (19 октября 2021 г.). Криптография в реальном мире . Саймон и Шустер. ISBN 9781638350842.
  13. ^ Омассон, Жан-Филипп; Йованович, Филипп; Невес, Самуэль. "NORX: Параллельная и масштабируемая AEAD". Computer Security - ESORICS 2014 . doi :10.1007/978-3-319-11212-1_2.
  14. ^ Блум, Эрика; Кац, Джонатан; Лосс, Джулиан (22 ноября 2019 г.). «Синхронный консенсус с оптимальными асинхронными гарантиями отката». TCC 2019: Теория криптографии . doi :10.1007/978-3-030-36030-6_6.

Источники

  • Белларе, Михир; Рогауэй, Филлип (1993). Случайные оракулы практичны: парадигма проектирования эффективных протоколов (PDF) . ACM Press. doi :10.1145/168588.168596. ISBN 978-0-89791-629-5.
  • Белларе, Михир; Бернстайн, Дэниел Дж.; Тессаро, Стефано (2016). «Функции хэширования на основе PRF: AMAC и его многопользовательская безопасность». Достижения в криптологии – EUROCRYPT 2016. Том 9665. Берлин, Гейдельберг: Springer Berlin Heidelberg. doi : 10.1007/978-3-662-49890-3_22. ISBN 978-3-662-49889-7.
  • Фаз-Эрнандес, А.; Скотт, С.; Салливан, Н.; Вахби, Р.С.; Вуд, Калифорния (август 2023 г.). «RFC 9380: Хеширование в эллиптические кривые». Серия RFC. 2.2.5. Разделение доменов. ISSN  2070-1721.
  • Hampiholi, Brinda; Alpár, Gergely; van den Broek, Fabian; Jacobs, Bart (2015). «Towards Practical Attribute-Based Signatures». Безопасность, конфиденциальность и прикладная криптографическая инженерия . Том 9354. Cham: Springer International Publishing. С.  310–328 . doi :10.1007/978-3-319-24126-5_18. ISBN 978-3-319-24125-8.
  • Kelsey, John; Chang, Shu-jen; Perlner, Ray (2016). "NIST SP 800-185: SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash, and ParallelHash". Центр ресурсов компьютерной безопасности NIST . NIST . Получено 6 мая 2024 г. .
  • Миттельбах, Арно; Фишлин, Марк (2021). Теория хэш-функций и случайных оракулов: подход к современной криптографии. Информационная безопасность и криптография. Springer International Publishing. ISBN 978-3-030-63287-8. Получено 2023-06-22 .
Взято с "https://en.wikipedia.org/w/index.php?title=Domain_separation&oldid=1268614259"