Схема Бломса - Bloms scheme - Wikipedia

Схема Блома симметричный порог обмен ключами протокол в криптография. Схема была предложена шведским криптографом Рольфом Бломом в серии статей в начале 1980-х годов.[1][2]

Доверенная сторона предоставляет каждому участнику секретный ключ и открытый идентификатор, что позволяет любым двум участникам независимо создавать общий ключ для связи. Однако, если злоумышленник может скомпрометировать ключи как минимум k пользователей, он может нарушить схему и восстановить каждый общий ключ. Схема Блома - это форма порог секретного обмена.

Схема Блома в настоящее время используется HDCP (Только версия 1.x) схема защиты от копирования для генерации общих ключей для источников и приемников контента высокой четкости, таких как HD DVD игроки и телевизоры высокой четкости.[3]

Протокол

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

Настройка протокола

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

Например:

Вставка нового участника

Новые пользователи Алиса и Боб хотят присоединиться к группе обмена ключами. Трент выбирает публичные идентификаторы для каждого из них; то есть k-элементные векторы:

.

Например:

Затем Трент вычисляет их закрытые ключи:

С помощью как описано выше:

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

Вычисление общего ключа между Алисой и Бобом

Теперь Алиса и Боб хотят общаться друг с другом. У Алисы есть идентификатор Боба и ее закрытый ключ .

Она вычисляет общий ключ , куда обозначает матрица транспонировать. Боб делает то же самое, используя свой закрытый ключ и ее идентификатор, давая тот же результат:

Каждый из них сгенерирует свой общий ключ следующим образом:

Сопротивление атаке

Чтобы гарантировать, что по крайней мере k ключей должны быть скомпрометированы до того, как каждый общий ключ может быть вычислен злоумышленником, идентификаторы должны быть k-линейно независимыми: все наборы из k случайно выбранных идентификаторов пользователей должны быть линейно независимыми. В противном случае группа злоумышленников может вычислить ключ любого другого члена, идентификатор которого линейно зависит от их идентификатора. Чтобы гарантировать это свойство, идентификаторы должны предпочтительно выбираться из матрицы кодов MDS (кодовая матрица с исправлением ошибок с максимальным разделением расстояний). Строки MDS-Matrix будут идентификаторами пользователей. Матрица MDS-кода может быть выбрана на практике с использованием кодовой матрицы Исправление ошибок Рида – Соломона код (этот код исправления ошибок требует только легко понятной математики и может быть вычислен очень быстро).[4]

Рекомендации

  1. ^ Блом, Рольф. Распространение непубличных ключей. В Proc. CRYPTO 82, страницы 231–236, Нью-Йорк, 1983. Plenum Press
  2. ^ Блом, Рольф. «Оптимальный класс систем генерации симметричных ключей», Отчет LiTH-ISY-I-0641, Университет Линчёпинга, 1984 г. [1]
  3. ^ Кросби, Скотт; Гольдберг, Ян; Джонсон, Роберт; Песня, Рассвет; Вагнер, Дэвид (2002). Криптоанализ системы защиты широкополосного цифрового контента. Безопасность и конфиденциальность в управлении цифровыми правами. DRM 2001. Конспект лекций по информатике. Конспект лекций по информатике. 2320. С. 192–200. CiteSeerX  10.1.1.10.9307. Дои:10.1007/3-540-47870-1_12. ISBN  978-3-540-43677-5.
  4. ^ Менезеш, А.; Пол К. ван Оршот & Скотт А. Ванстон (1996). Справочник по прикладной криптографии. CRC Press. ISBN  978-0-8493-8523-0.