Распределение ключа для конференции и секретная широковещательная передача
Алиса хочет передать сообщение M сразу нескольким получателям. Однако она совсем не хочет, чтобы кто угодно смог прочесть его. В действительности, ей нужно, чтобы только получатели из определенного подмножества могли правильно раскрыть M. У всех остальных должна получиться чепуха.
Алиса может использовать для каждого получателя отличный ключ (секретный или открытый). Она шифрует сообщение каким-нибудь случайным ключом K. Затем она шифрует копию Kкаждым из ключей выбранных получателей сообщения. Наконец она широковещательно посылает зашифрованное сообщение, а затем все зашифрованные K. Слушающий передачу Боб либо пытается расшифровать все K своим секретным ключом, пытаясь найти правильный, либо, если Алиса не забыла перечислить получателей своего сообщения, он ищет свое имя, сопровождаемое зашифрованным ключом. Также будет работать и ранее рассмотренная криптография с несколькими ключами.
Другой способ предлагается в [352]. Сначала каждый из получателей договаривается с Алисой об общем для них двоих ключе, который длиннее любого возможного шифрованного сообщения. Все эти ключи должны быть взаимно простыми. Она шифрует сообщение случайным ключом K. Затем она вычисляет одно целое число R, которое по модулю секретного ключа конгруэнтно K, если этот секретный ключ предполагается использовать для расшифровки сообщения, и конгруэнтно нулю в противном случае.
Например, если Алиса хочет, чтобы секрет получили Боб, Кэрол и Эллен, но не Дэйв и Фрэнк, она шифрует сообщение ключом Kи затем вычисляет такое R, что
R º K (mod KB)
R º K (mod KC)
R º 0(mod KD)
R º K (mod KE)
R º 0(mod KF)
Это простая алгебраическая проблема, которая легко может быть решена Алисой. Когда это сообщение будет принято получателями, они вычислят значение полученного ключа по модулю их секретного ключа. Те, кому предназначалось это сообщение, в результате вычисления получат нужный ключ. В противном случае результатом будет 0.
Еще один, третий, путь, использующий пороговую схему (см. раздел 3.7), предлагается в [141]. Как и в других способах каждый потенциальный получатель получает секретный ключ. Этот ключ является тенью в еще не созданной пороговой схеме. Алиса сохраняет ряд секретных ключей для себя, внося некоторую непредсказуемость в систему. Пусть всего существует k возможных получателей. Тогда для широковещательной передачи M Алиса шифрует Mключом Kи делает следующее.
(1) Алиса выбирает случайное число j. Это число призвано замаскировать количество получателей сообщения. Оно не должно быть слишком большим и даже может равняться нулю.
(2) Алиса создает пороговую схему (k+ j+ 1, 2k+ j+ 1), в которой:
K- это секрет.
Секретные ключи адресатов сообщения служат тенями.
Секретные ключи пользователей, которых нет среди получателей сообщения, не являются тенями.
jтеней выбираются случайным образом, не совпадая ни с одним секретным ключом.
(3) Алиса широковещательно передает k+ jслучайно выбранных теней, ни одна из которых не совпадает с тенями этапа (2).
(4) Каждый из слушателей, принявших широковещательное сообщение, добавляет свою тень к полученным k+ jтеням. Если добавление своей тени позволяет пользователю вычислить секрет, то ему удалось открыть ключ. В противном случае - не удалось.
Другой подход можно найти в [885, 886, 1194]. И еще один - в [1000].
Дата добавления: 2021-01-26; просмотров: 331;