Рейтинг:0

Есть ли способ изменить существующую пару ключей RSA, чтобы сохранить функциональность?

флаг br

У меня есть существующая пара ключей RSA, как «получить» другую пару ключей на основе существующей, чтобы функция расшифровки шифрования оставалась, но исходный ключ не взаимозаменяем с «модифицированным»/«производным» ключом?

fgrieu avatar
флаг ng
Под _"функция расшифровки шифрования остается"_ вы имеете в виду, что мы можем расшифровать с помощью нового закрытого ключа то, что было зашифровано с помощью старого открытого ключа? Или что мы можем расшифровать новым закрытым ключом то, что было зашифровано новым открытым ключом? В последнем случае, что плохого в том, чтобы сгенерировать новую пару ключей с нуля и, возможно, сертифицировать новый открытый ключ с помощью подписи RSA, используя старый закрытый ключ?
Felix avatar
флаг br
«мы можем расшифровать с помощью нового закрытого ключа то, что было зашифровано с помощью нового открытого ключа», например, если у меня нет хорошего источника энтропии или вычислительных способностей
poncho avatar
флаг my
Если у вас достаточно вычислительных возможностей для поиска новых простых чисел, это легко (загрузить закрытый ключ в drbg в качестве начального числа и использовать его для поиска новых простых чисел). Если вы этого не сделаете, вы в значительной степени застряли с модулем, который у вас уже есть, и это (как отмечает fgrieu) не дает вам PFS.
Рейтинг:0
флаг ng

Один из методов, который делает то, что просят, - это повернуть открытый ключ $(п,е)$ в $(п,е')$ с $е'=е^2$, и закрытый ключ $(n,e,d,p,q,d_p,d_q,q_\text{inv})$ к $(n,e',d',p,q,d_p',d_q',q_\text{inv})$ [или же $(н,д)$ к $(п,д')$ ] с $ д '= д ^ 2 $ или же $d'=d^2\bmod\имя_оператора{lcm}(p-1,q-1)$, $d_p'=d_p^2\bmod(p-1)$, и $d_q'=d_q^2\bmod(q-1)$.

Это не рекомендуется. В частности, в случае утечки старого приватного ключа (в том числе в будущем) произойдет утечка и нового. А шифрование требует почти в два раза больше времени. Кроме того, есть странные свойства (например, двойное шифрование/дешифрование RSA по учебнику со старой парой ключей эквивалентно шифрованию/дешифрованию RSA по учебнику с новым).

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

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

Ответить или комментировать

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