.... Предварительные замечания. После Второй мировой
войны с появлением компьютеров и развитием телекоммуникаций
в основном стали использоваться алгоритмы шифрования, в которых
сам метод не является секретным, сообщение может быть успешно
дешифровано, только если известен сам ключ шифрования. В на-
стоящее время разработаны специальные стандарты шифрования
в системах, где отправитель и получатель сообщений пользуются од-
ним и тем же ключом шифрования (симметричные шифросистемы).
В США с по год действовал стандарт DES (Data Encryption
Standard), с года действовал стандарт AES (Advanced Encryption
Standard). В России применяется стандарт ГОСТ -.
Но задача, как сообщить друг другу секретный ключ, чтобы о нем
не узнали посторонние, стала еще более актуальной. Эта проблема
была решена с помощью методов асимметричной криптографии
(шифрования с открытым ключом). На практике оба типа алго-
ритмов часто используются вместе. Алгоритм с открытым ключом
используется для того, чтобы передать созданный секретный ключ,
который используется отправителем для шифрования, а получателем
для расшифрования сообщений. Шифрование с открытым ключом
позволило не только решить проблему обмена секретными ключами,
но и проблему проверки подлинности документов, проблему удосто-
верения подлинности подписи и многие другие. О них и пойдет речь
в дальнейшем.
Для нематематиков это может показаться удивительным, но не-
смотря на все многообразие самых хитроумных способов шифрова-
ния и дешифрования, которые на протяжении веков были разработа-
12
1. Основные понятия и математическая формализация
ны самыми изощренными умами, в основе математического описа-
ния любого из них лежит всего одно математическое понятие — поня-
тие «односторонней функции» или ее более усложненный вариант —
«односторонняя функция с секретом». Уже отсюда ясна важность этих
понятий в современной математической криптографии.
Однако прежде чем перейти к формальному описанию этих по-
нятий, играющих фундаментальную роль в современной криптогра-
фии, необходимо сделать одно замечание. Функции, используемые
в криптографии, — это обычные числовые функции, те функции,
аргументами которых являются числа и результатом применения
которых также являются числа. Поскольку эти функции использу-
ются для преобразования текстов, прежде, чем их применить, нужно
буквенно-цифровой текст преобразовать в число. Для этого использу-
ется простейший стандартный процесс, называемый перекодировкой.
Он состоит в посимвольной замене букв и других символов, содержа-
щихся в тексте (например, знаков препинания) на соответствующие
им цифры.
Например, для текста на английском языке обычно применяется
следующая стандартная перекодировка: a = 01, b = 02, …, z = 26,
пробел = 00, и т. д. Полученные цифры записываются друг за другом
и результат рассматривается как одно целое число, эквивалентное
исходному тексту. Например, текст «baza» будет рассматриваться как
число 02012601.
Всюду в дальнейшем, когда будет говориться, что та или иная
арифметическая операция производится над некоторым текстом, име-
ется в виду, что сначала этот текст стандартным образом перекодиру-
ется, а затем соответствующая операция производится над получив-
шимся в результате перекодировки числом.
В результате перекодировки получаются достаточно большие це-
лые числа, содержащие, быть может, несколько сотен десятичных зна-
ков. С этими числами приходится производить различные арифмети-
ческие операции: перемножать, делить, возводить в степень. И хо-
тя компьютеры не умеют напрямую производить операции с подоб-
ными большими числами, разработаны специальные компьютерные
программы, созданы даже специализированные языки программиро-
вания, которые с успехом справляются с подобными вычислениями.
И наконец, последнее замечание. Очень длинные тексты могут
быть разбиты на блоки стандартной длины, а затем процесс пере-
кодирования и последующего шифрования может быть применен
к каждому получившемуся блоку текста по отдельности. В некоторых
случаях к текстам произвольной длины предварительно может быть
1.3. Математическая формализация
13
применена специальная операция, «сжимающая» их до требуемой
в дальнейших преобразованиях длины. Эта операция называется
хешированием. Разработаны и широко применяются различные алго-
ритмы хеширования текстов, но их обсуждение выходит за пределы
настоящего курса. Можно только добавить, что в США с года
действует стандарт функции хеширования SHS (secure hash standart),
в России применяется стандарт ГОСТ Р .-.
Достарыңызбен бөлісу: |