Мойн Мойн,
Предположим, что есть две пары ключей. (д1,е1)
и (д2,е2)
, куда d1
и d2
являются несвязанными закрытыми ключами и е1
и е2
соответствующие открытые ключи. Представьте, что Алиса знает ни один d1
ни d2
и только Боб d1
, нет d2
. Алиса имеет зашифрованный текст с
в результате шифрования сообщения м
с е1
с помощью РСА. Она не может его расшифровать, потому что не знает d1
. Алиса шифрует с
снова с е2
используя асимметричный шифр (еще предстоит выбрать) и отправляет его Бобу. Боб не может его расшифровать, так как у него нет d2
. Может ли он тогда использовать какой-то алгоритм и d1
создать что-то, что он может послать мне, что может быть расшифровано с помощью d1
и d2
в результате исходное сообщение?
Я хочу, чтобы Алиса и Боб не могли прочитать сообщение, только совместное знание обоих секретных ключей позволило бы им расшифровать его.
Псевдокод:
м
это сообщение
c := RSAEncrypt(m, используя: e1)
Алиса делает:
c2 := AsymEncrypt(c, используя: e2)
Боб делает:
c3 := RSADecryptAlgo(c2, используя: d1)
Я хочу:
m = SomeDecryptionAlgo(c3, используя: d2)
Возможен ли вообще такой сценарий (хотя и довольно странный)? Если да, то знает ли кто-нибудь гуглеобразный термин или алгоритм/ы, которые подходят для моего случая?
заранее спасибо
Изменить: пары ключей не имеют одного и того же модуля