PKI несколько открытых ключей - PullRequest
16 голосов
/ 23 июня 2010

Мне интересно, могу ли я иметь несколько открытых ключей для закрытого ключа.

Можно ли это сделать? Если да, то каковы проблемы безопасности!?

Если я генерирую несколько пар ключей на основе одних и тех же начальных значений (без начального вектора), разве ключи не должны быть «совместимыми»?

Ответы [ 4 ]

8 голосов
/ 23 июня 2010

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

Однако, учитывая одну из обычных асимметричных схем, вы можете легко создать такую ​​схему: создать закрытый ключс n открытыми ключами просто сгенерируйте n открытых-закрытых пар ключей в обычной схеме и определите «закрытый ключ», который будет набором закрытых ключей.При подписании просто подпишите все закрытые ключи, при проверке попробуйте проверить одну из подписей.Шифрование - это обычная операция, и расшифровка должна пытаться расшифровать все ключи (один из них должен работать).

4 голосов
/ 23 июня 2010

Это невозможно при стандартных алгоритмах.

Если вы посмотрите, как пары ключей генерируются в RSA, вы сначала выбираете открытый ключ, указав открытый показатель степени, а затем сгенерируйте закрытый ключ.

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

0 голосов
/ 13 июля 2010

Закрытые / открытые ключи имеют отношение 1-1, поэтому невозможно иметь более одного открытого ключа для данного закрытого ключа.

Однако вы можете иметь 3 отдельных сертификата для одного открытогоключ, если это тот тип, который вы ищете.

0 голосов
/ 25 июня 2010

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

Если есть три человека (A, B, C) с вашим открытым ключом, Bи C не может прочитать сообщение, зашифрованное A, но вы (с закрытым ключом) можете.

Если вы хотите иметь возможность отправить сообщение, которое может прочитать только один из A, B или C, онидолжен ли каждый иметь закрытый ключ и поделиться с вами своим открытым ключом.

Похоже, вы хотите относиться к открытым ключам как к закрытым ключам, и это, вероятно, плохой план.

...