stringtranslate.com

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

В криптографии разделение доменов — это конструкция , используемая для эффективной реализации нескольких различных функций с использованием только одного базового шаблона. [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]

Использует

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

В практическом смысле разделение доменов может обеспечить «настройку», эквивалент строгой типизации в программировании: оно обеспечивает использование независимых вычислений для разных задач, поэтому злоумышленник, узнавший результат одного вычисления, не получит никакой информации о другом. [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.

Источники

Внешние ссылки