Введение в криптографию
Общие понятия
Как уже отмечалось ранее, криптография играет одну из главных ролей в развитии технологий и стандартов ЭК. В используемых протоколах ЭК решаются типовые для различных областей техники задачи защиты информации от несанкционированного доступа, к числу которых относятся:
- обеспечение целостности информации (невозможность для третьей стороны, расположенной между участниками информационного обмена, модифицировать передаваемую информацию таким образом, чтобы принимающая сторона этого не заметила);
- обеспечение конфиденциальности информации (невозможность для третьей стороны получить информацию, содержащуюся в передаваемых сообщениях);
- аутентификация источника информации (подтверждение того, что передающая сторона является тем, за кого она себя выдает); остальную часть этого пункта нужно вычеркнуть то есть невозможность для третьей стороны присвоить себе авторство какого-либо сообщения);
- нотаризация информации (невозможность отказаться от авторства сообщения). (далее…)
Краткий обзор симметричных алгоритмов шифрования
Обзор начнем с самого популярного в мире симметричного алгоритма шифрования — алгоритма DES (Data Encryption Standard).
Алгоритм DES был разработан фирмой IBM и в 1977 г. принят Национальным институтом стандартов и технологий (National Institute of Standards and Technology) в качестве стандарта Правительства США для шифрования информации категории «less-than-top-secret» (ниже, чем высшей категории секретности). С тех пор он повторно сертифицировался в качестве такого стандарта каждые 5 лет вплоть до 1993 г. В 1998 г. Национальный институт стандартов и технологий США отказался сертифицировать DES, что было связано с тем, что уровень развития вычислительной техники сделал возможным вскрытие DES относительно дешевыми средствами. (далее…)
Краткий обзор асимметричных алгоритмов шифрования
Большинство современных асимметричных алгоритмов базируется на сложности решения следующих математических задач:
- Задача факторизации (разложения на множители) большого числа: умножение двух больших чисел является полиномиальной от размеров сомножителей по сложности задачей. При этом обратная задача — разложения на сомножители — является чрезвычайно трудоемкой, так, для разложения на множители числа длиной 200 цифр требуется не менее 1024 арифметических операций, что с вычислительной точки зрения является нереализуемой задачей. На сложности решения задачи факторизации основан алгоритм RSA.
- Задача нахождения дискретного логарифма. С точки зрения вычислительной сложности достаточно легко выполнить операцию возведения в степень в конечном поле, но для решения обратной задачи — поиска дискретного логарифма — потребуется практически полный перебор элементов поля; на сложности решения задачи логарифмирования основаны алгоритмы DSA, EGSA, Diffie-Hellman.
- Сложность декодирования в некоторых кодах, исправляющих ошибки, велика: достаточно легко получить кодовое слово (перемножить матрицы), но по кодовому слову найти базовое — задача вычислительно трудная. Этот метод редко используется на практике (известна криптосистема МсЕНесе, использующая коды Гоппа). (далее…)
Методы оценки криптостойкости
Остановимся теперь на оценке криптостойкости сегодняшних криптографических алгоритмов. Начнем с описания модели вскрытия секретного ключа.
Закон Мура, в соответствии с которым вычислительная производительность микропроцессоров увеличивается в 2 раза каждые 18 месяцев или, что то же самое, в 100 раз каждые 10 лет. Сегодня типовой компьютер (Pentium based PC), подключенный к Интернету, имеет производительность около 100 MIPS (под 1 MIPS понимается производительность старого компьютера DEC VAX 11/780). Следовательно, средняя производительность PC в 2010 г. будет составлять 10 000 MIPS. (далее…)
Системы управления ключами
С появлением большого числа криптосистем, основанных на использовании принятых в мире стандартов шифрования, встала новая не менее важная проблема, связанная с тем, что для обмена зашифрованными сообщениями между двумя участниками криптосистемы необходимо, чтобы обоим участникам обмена были заранее доставлены тщательно сохраняемые в секрете ключи для зашифрования и расшифрования сообщений.
Эта проблема становится тем более сложной, чем больше удаленных друг от друга пользователей желают обмениваться между собою зашифрованными сообщениями. Так, для сети из N пользователей необходимо иметь одновременно в действии N*(N-1)/2 различных ключей. Тогда уже при N=1000 количество необходимых ключей будет близко к полумиллиону. Поскольку из соображений безопасности секретные ключи для шифрования должны меняться как можно чаще, то изготовление, упаковка и рассылка их с надежными курьерами из некоего абсолютно надежного центра (как это привычно делают в действующих системах «закрытой связи») становится задачей совершенно нереальной. (далее…)