Схема Блома

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Схема Блома — в криптографии, схема распределения ключей.

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

Надёжность схемы напрямую зависит от размера секретной матрицы, используемой в схеме. Для восстановления секретной матрицы (точнее, любой выполняющей аналогичную функцию) необходимо иметь число ключей, равное количеству строк матрицы.

Схема используется в протоколе HDCP в целях защиты видео от копирования.

Описание протокола[править | править вики-текст]

Инициализация[править | править вики-текст]

Доверенная сторона выбирает симметричную матрицу над конечным полем .

Добавление участника[править | править вики-текст]

Когда новый участник хочет присоединиться к группе, доверенная сторона выбирает для него новый открытый ключ, который представляет собой вектор (столбец) размера . Далее доверенная сторона вычисляет закрытый ключ :

Открытый и закрытый ключ сообщаются участнику по надёжному каналу без прослушивания.

Установление сессии[править | править вики-текст]

Если два участника хотят установить между собой секретный канал, они посылают друг другу по открытому каналу свои открытые ключи. Далее каждый из них умножает свой закрытый ключ на открытый ключ другой стороны. Если  — открытый и закрытый ключ одной стороны,  — ключи другой стороны, то:

В результате у них получится одно и тоже число (это следует из симметричности матрицы ), которое и будет использоваться как общий сеансовый ключ.

Надёжность схемы[править | править вики-текст]

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

Пример[править | править вики-текст]

Инициализация

Доверенный центр выбирает размер конечного поля и секретную матрицу:

Алиса и Боб выбирают себе идентификаторы (также могут выдаваться доверенным центром):

Доверенный центр вычисляет Алисе и Бобу закрытые ключи:

Вычисление общего секретного ключа

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

Литература[править | править вики-текст]