
Реферат / 1(1)
.pdf
Перед тем как приступить к разъяснению причин, по которым эти требования оказываются сложными для выполнения, давайте попытаемся представить их в некотором более удобном виде. Эти требования сводятся к необходимости нахождения некоторой односторонней функции с лазейкой 3. Односторонней функцией называется функция, отобра-
жающая свои аргументы в некоторый диапазон значений так, что каждое значение функции имеет уникальное обратное значение, при этом значения функции вычислить легко, а обратные – практически невозможно.
Y =f(X), |
вычисляется легко |
X =f−1(Y ), |
практически не поддается вычислению |
В общем случае термин "легко вычислимый" означает, что проблема решается за полиномиальное время, рассматриваемое как функция длины вводимого значения. Так, если длина вводимого значения равна n битов, то время, требуемое для вычисления функции пропорционально na, где a является фиксированной константой. Такие алгоритмы называются алгоритмами, принадлежащими классу P. Термин "практически невычислимый" обозначает более размытое понятие. В общем случае можно сказать, что функция является практически невычислимой, если усилия по ее вычислению возрастают быстрее, чем полиномиальная функция от длины вводимого значения. Например, если вводимое значение имеет длину n битов и время, требуемое для вычисления функции, пропорционально 2n, то такая функция считается практически невычислимой. К сожалению, для каждого конкретного алгоритма очень непросто выяснить, отражает ли этот алгоритм указанную степень сложности. К тому же в определении обычного понятия вычислительной сложности алгоритма рассматриваются оценки сложности либо в наихудшем случае, либо в среднем. Для криптографии эти оценки бесполезны, криптография требует практической невычислимости обратной функции почти для любого вводимого значения, а не для наихудшего или среднего случая.
Вернемся к определению односторонней функции с лазейкой – такая функция предполагается легко вычислимой в одном направлении и практически невычислимой в другом в отсутствии дополнительной информации. При наличии дополнительной информации обратная функция может быть вычислена за полиномиальное время. Подводя итог, можно сказать так: односторонние функции с лазейкой являются такими обратимыми функциями fk, для которых
Y =fk(X), |
вычисляется легко если известны k и X |
X =fk−1(Y ), |
вычисляется легко если известны k и Y |
X =fk−1(Y ), |
практически не поддается вычислению, |
|
если Y –известно, а k –нет. |
Таким образом, для разработки практически применимой схемы шифрования с открытым ключом требуется найти подходящую одностороннюю функцию с лазейкой.
3Не следует путать понятие односторонней функции с понятием односторонней функции хэширования – последняя предполагает в качестве аргумента произвольно большое поле данных и переводит его в некоторое фиксированное множество выводимых данных. Такие функции используются для аутентификации.
82
7.5Криптоанализ схем шифрования с открытым ключом
Как и в случае традиционного шифрования, схема шифрования с открытым ключом уязвима с точки зрения анализа с перебором всех ключей. И контрмеры здесь те же – использование длинных ключей. Однако в данном случае имеются и другие варианты защиты. Криптосистемы с открытым ключом зависят от некоторой обратимой математической функции со специальными свойствами. Сложность вычисления такого рода функций может зависеть не линейно от числа битов в ключе, а расти более быстро. Поэтому длина ключа должна быть достаточно большой для того, чтобы сделать анализ с перебором всех ключей практически невыполнимым, но достаточно малой для того, чтобы на практике можно было использовать операции шифрования и дешифрования. Предлагаемые для использования на практике длины ключей, конечно же, обеспечивают практическую неэффективность анализа с перебором всех ключей, но при этом скорость шифрования/дешифрования оказывается слишком медленной для того, чтобы соответствующие алгоритмы можно было рекомендовать для универсального применения. Поэтому, как уже упоминалось выше, шифрование с открытым ключом в настоящее время ограничивается областями управления ключами и приложениями цифровой подписи.
Другой формой атаки является попытка найти способ вычисления личного ключа по известному открытому ключу. На сегодняшний день нет математического доказательства невозможности такой формы атаки ни для одного алгоритма шифрования с открытым ключом. С этой точки зрения любой конкретный алгоритм данного типа, включая широко распространенный алгоритм RSA, оказывается не внушающим доверия. А история криптографии показывает, Что проблема, которая кажется неразрешимой, может оказаться вполне разрешимой, если посмотреть на нее с некоторой другой, совершенно новой точки зрения.
Наконец, существует форма атаки, применимая только к системам с открытым ключом. Эта форма, по существу, является формой анализа с вероятным текстом сообщения. Предположим, например, что должно быть отправлено сообщение, состоящее исключительно из 56-битового ключа DES. Противник может зашифровать все возможные ключи, используя открытый ключ, что позволит ему дешифровать подобное сообщение с помощью простого сравнения образцов с передаваемым шифрованным текстом. В данном случае не имеет значения, насколько велика длина ключа схемы шифрования с открытым ключом – анализ сводится к простому перебору 56-битовых ключей. Возможности такого рода анализа можно воспрепятствовать присоединением к таким простым сообщениям случайных битов.
83