logo
Дискретная математика / ДМиМЛ-1 часть

10.6. Понятие о криптографической защите информации

Шифрование – это кодирование данных с целью их защиты от несанкционированного доступа [26, 36]. Для этого применяют специальные шифры. Область знаний о шифрах и методах их создания и раскрытия называется криптографией (тайнописью). Свойство шифра противостоять раскрытию называется криптостойкостью. Если раскрытие шифра стоит больше, чем сама зашифрованная информация, то шифр считается надежным. Криптография известна с глубокой древности.

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

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

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

Открытый ключ (public key) известен всем, он не зашифрован. Сообщение шифруется с помощью открытого ключа. Для дешифрации же нужен еще и закрытый ключ (private key), который знают только отправитель и получатель. Это как два ключа для двери: один для закрытия – он есть у всех, другой для открытия, который есть только у «хозяина». Чтобы вычислить закрытый ключ, необходимо произвести разложение на множители очень большого числа (более 100 десятичных цифр). Сейчас это требует годы работы суперкомпьютеров! Хотя подбор простого числа в 100 десятичных цифр (для получения открытого ключа) занимает всего лишь минуты.

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