Открытый ключ в криптографии
Традиционно в криптографии отправитель и получатель информации знает и использует один и тот же секретный ключ. Отправитель использует секретный ключ для того, чтобы зашифровать сообщение, а получатель как правило - для расшифровки текста. Подобный метод в области криптографии принято называть секретным ключом или симметричной криптографией. Основной задачей в этом направлении является договориться получателю и отправителю о секретном ключе, так, чтобы о нем больше никто не знал. Если они находятся в разных географических местах, им необходимо доверить подобное дело секретному курьеру, телефонной системе или другим видам средств передачи информации для того, чтобы предотвратить рассекречивание ключа. Любой человек, который подслушал или перехватил ключ при передаче в дальнейшем имеет возможность прочитать, скорректировать и опередить прочтение информации истинного получателя. Процесс создания, передачи и хранения ключей называется ключевым менеджментом. Все криптосистемы функционируют в соответствии с правилами ключевого менеджмента. Поскольку все ключи в секретной криптосистеме должны являться неизвестными для посторонних, такого рода криптография часто сталкивается с определенными трудностями ключевого менеджмента, особенно в открытых системах с большим количеством пользователей.
Эта книга во многом посвящена приложениям арифметики остатков, поскольку именно она является основой современной криптографии и криптосистем с открытым ключом в частности. В связи с этим в данной главе вводятся необходимые основные понятия и техника арифметики остатков.
Идея арифметики остатков по существу очень проста и похожа на «арифметику часов», с которой Вы знакомитесь в детстве. «Арифметика часов» связана с пересчетом времени из 24-часовой системы в 12-часовую и обратно, ведь в сутках 24 часа, а на циферблате их всего 12. Делается это довольно просто. Чтобы перевести значение в 24-часовой системе в 12-часовую, достаточно разделить его на 12. Остаток от деления и будет искомым значением в 12-часовой системе. Например, 13:00 в 24-часовой системе — то же самое, что и один час в 12-часовой, поскольку остаток от деления 13 на 12 равен 1.
Сложение и умножение по модулю N работают почти так же, как арифметические операции над вещественными и целыми числами. В частности, они обладают следующими свойствами.
1. Замкнутость сложения:
![]()
2. Ассоциативность сложения:
Одна из центральных задач арифметики остатков — это решение уравнения
а • х = b (mod N),
т. е. поиск элемента
удовлетворяющего этому равенству.
Линейное уравнение ах = b с вещественными коэффициентами при
всегда
разрешимо. Если же рассматривать его над кольцом целых чисел, то ответ найдется
не всегда. Например, не существует целого числа x, обращающего уравнение 2х = 5
в верное равенство. Случай же кольца вычетов еще более сложный, а потому и
интересный с любой точки зрения. Действительно, существует ровно одно решение
уравнения
Решая уравнение вида
ах = b (mod N),
мы приходим к вопросу о существовании мультипликативного обратного у числа а по модулю N. Иначе говоря, необходимо выяснить, существует ли число с, удовлетворяющее равенству
![]()
Целые числа по простому модулю — не единственный пример конечных полей. Здесь мы разберем еще один, более общий, тип конечных полей, представляющий интерес для криптографии. Упомянутый общий тип полей будет использоваться лишь при обсуждении блочного шифра Rijndael, поточного шифра, основывающегося на регистре сдвига с обратными связями, и при изучении криптосистем, связанных с эллиптической кривой. Поэтому при первом чтении этот параграф можно пропустить.