- •Теоретико-числовые методы в криптографии
- •Аннотация.
- •Предисловие
- •Введение
- •Глава 1. Основы теории чисел. §1. Теория делимости.
- •1.1. Основные понятия и теоремы.
- •1.2. Наибольший общий делитель.
- •1.3 Нок (наименьшее общее кратное)
- •1.4. Простые числа
- •Решето Эратосфена
- •1.5. Единственность разложения на простые сомножители.
- •1.6. Асимптотический закон распределения простых чисел.
- •§2. Функция Эйлера.
- •2.1. Мультипликативные функции.
- •2.2. Функция Эйлера.
- •§3. Теория сравнений
- •3.1. Свойства сравнений:
- •3.2. Полная система вычетов.
- •3.3. Приведенная система вычетов
- •3.4. Обратный элемент.
- •3.5. Алгебраические структуры на целых числах.
- •3.6. Теоремы Эйлера и Ферма. Тест Ферма на простоту.
- •Тест Ферма на простоту
- •3.7. Применение теоремы Эйлера в rsa:
- •§4. Сравнения с одним неизвестным
- •4.1. Сравнения первой степени.
- •4.2. Система сравнений первой степени. Китайская теорема об остатках.
- •4.3. Применения китайской теоремы об остатках.
- •4.4. Сравнения любой степени по простому модулю.
- •4.5. Сравнения любой степени по составному модулю.
- •§5. Теория квадратичных вычетов
- •5.1. Квадратичные вычеты по простому модулю.
- •5.2. Символ Лежандра. Символ Якоби.
- •Свойства символа Лежандра:
- •Свойства символа Якоби:
- •5.3. Тест на простоту Соловея-Штрассена.
- •Тест Соловея-Штрассена:
- •5.4. Решение квадратичных сравнений по простому модулю.
- •5.5. Квадратичные сравнения по составному модулю.
- •5.6. Тест на простоту Миллера-Рабина.
- •5.7. Связь задач извлечения квадратных корней и факторизации по модулю rsa. Криптосистема Рабина.
- •5.8. Квадраты и псевдоквадраты.
- •5.9. Числа Блюма.
- •§6. Первообразные корни и индексы. Порождающий элемент и дискретный логарифм.
- •6.1. Основные понятия и теоремы.
- •6.2. Существование первообразных корней по модулю p.
- •6.3. Первообразные корни по модулям pα, 2pα.
- •6.4. Нахождение первообразных корней по простому модулю.
- •6.5. Существование и количество первообразных корней.
- •6.6. Дискретные логарифмы.
- •6.7. Проблема Диффи-Хеллмана.
- •6.8. Условная стойкость шифра Эль Гамаля.
- •§7. Построение доказуемо простых чисел общего и специального вида.
- •7.1. Теорема Сэлфриджа и доказуемо простые числа общего вида на основании полного разложения (n—1).
- •7.2. Теорема Поклингтона и доказуемо простые числа общего вида на основании частичного разложения (n—1).
- •7.3. Числа Ферма. Теорема Пепина.
- •7.4. Числа Мерсенна.
- •7.5. Теорема Диемитко и процедура генерации простых чисел заданной длины гост р 34.10-94.
- •Глава 2. Алгебраические основы теории чисел.
- •§1. Основные понятия алгебры.
- •1.1. Начальные понятия.
- •1.2. Делимость в кольцах.
- •1.3. Деление с остатком.
- •1.4. Основная теорема арифметики.
- •§2. Конечные поля и неприводимые многочлены.
- •§3. Кольца многочленов.
- •3.1. Кольца многочленов.
- •3.2. Кольцо многочленов Zp[X].
- •3.3. Конечные поля многочленов.
- •Глава 3. Алгоритмы в криптографии и криптоанализе. §1. Элементы теории сложности.
- •§2. Алгоритмы факторизации.
- •2.1. Метод пробных делений.
- •2.2. Метод Ферма.
- •2.3. Метод квадратичного решета.
- •2.6. Методы случайных квадратов.
- •§3. Алгоритмы дискретного логарифмирования.
- •3.1. Метод прямого поиска.
- •3.2. Шаг младенца – шаг великана.
- •3.4. Алгоритм Полига-Хеллмана.
- •3.5. Алгоритм исчисления порядка (index-calculus algorithm).
- •Задачи и упражнения.
- •Упражнения к Главе 2.
- •Ответы к упражнениям.
- •1. Пояснительная записка
- •1.1. Цели и задачи дисциплины
- •1.2. Требования к уровню освоения содержания дисциплины
- •2. Объем дисциплины и виды учебной работы
- •3. Тематический план изучения дисциплины
- •4. Содержание разделов дисциплины
- •6. Вопросы к экзаменам
- •7.Литература основная:
- •Дополнительная:
- •Оглавление
1.2. Делимость в кольцах.
Неформально говоря, в полугруппе можно только умножать (или прибавлять). В группе можно умножать и делить (или прибавлять и вычитать). В кольце можно прибавлять, вычитать и умножать. В поле можно прибавлять и вычитать, умножать и делить.
Когда в поле рациональных чисел мы говорим, что «делим число 2 на число 3», то это является вольным изложением более правильного выражения «умножаем число 2 на число обратное по умножению к числу 3». Почему нельзя делить на 0? Поскольку, 0a=0, то 0 не имеет обратного по умножению и поэтому делить не на что.
В то же время, в кольце целых чисел, хотя число 3 и не имеет обратного по умножению, число 3 делит число 6. И здесь понятие делимости имеет уже несколько иной смысл, чем в предыдущем абзаце.
Определение. Элемент а кольца К делит элемент b кольца K, если существует элемент c кольца K, такой что b=ac. Точнее делит слева, т.к. кольцо может быть некоммутативным. Если b=ca, то а делит элемент b справа.
Обратим внимание, что в этом определении наличие обратного элемента у элемента «а» не предполагается.
Поскольку 0a=0, то по этому определению получается, что 0 делит 0. Получается лингвистическое противоречие. Ноль делит ноль, но ноль на ноль не делится!
В дальнейшем мы будем иметь дело только с коммутативными кольцами, то правую и левую делимость мы различать не будем. Если элемент a делит элемент b, то это обозначается a/b.
Свойства делимости. Пусть К – кольцо, a,b,c – его элементы.
1. Если a/b, a/c, то a/(b+c), a/(b-c).
2. Если a/b, то для любого с из К a/(bc).
3. Если a/b, b/c, то a/c.
4. Если , то
Доказательство.
1. По определению делимости найдутся b1, c1 , принадлежащие К, такие, что b=ab1, c=ac1, поэтому , следовательно, элемента делит элемент . Кроме определения делимости здесь использовалась дистрибутивность.
2. Так как b=ab1, то bc=(ab1)c=a(b1c) в силу ассоциативности умножения.
3. Если b=ab1, c=bc1, то c=bc1=(ab1)с1=a(b1с1) опять использовалась ассоциативность умножения.
4. Последнее свойство следует из свойств 1 и 2.
□
Третье свойство обычно называют транзитивностью. Кроме транзитивности среди свойств бинарных отношений, а делимость – это бинарное отношение, популярны рефлексивность и симметричность.
Чтобы выяснить, когда эти свойства имеют место, нам потребуется еще ряд определений.
Определение. Элемент a кольца К называется обратимым (или единицей), если существует элемент b, принадлежащий кольцу К, такой что, ab=1, где 1 – нейтральный элемент по умножению.
Теорема.
Множество К* обратимых элементов кольца К является группой относительно операции умножения.
Доказательство очевидно. □
Определение. Элемент a≠0 кольца К называется делителем нуля, если существует элемент b≠0 кольца К, такой, что ab=0.
Упражнение. Проверить, что кольца вычетов по составному модулю и кольца матриц Mn(K), при n >1, имеют делители нуля.
Благодаря тому печальному для потребителей обстоятельству, что кольца матриц имеют делители нуля, многие математики имеют работу. Причина в том, что решение систем линейных уравнений над кольцами с делителями нуля очень хлопотное дело и каждое кольцо требует отдельного исследования.
Пример 1.
Рассмотрим кольцо Z8 и два уравнения с коэффициентами в этом кольце: 4x=0 и x2+x+1=0. Как легко проверить первое уравнение имеет четыре решения – 0, 2, 4, 6, а второе ни одного. □
Определение. Элементы a и b кольца К называются ассоциированными, если a\b и b\a.
Исследуем подробнее ассоциированные элементы. Если a\b и b\a, то одновременно выполняются два равенства b=ab1, a=ba1. Следовательно, . Таким образом,b(1—a1b1) = 0, и a(1—b1a1)=0. Если кольцо К не имеет делителей нуля, то получается, что
a1b1=1. То есть ассоциированные элементы отличаются друг от друга на обратимый элемент. Например, в кольце целых чисел группа обратимых элементов состоит из двух элементов Z*={1, -1}, поэтому ассоциированными элементами будут, например, 3 и -3, 5 и -5.
Фундаментальную роль в алгебре и теории чисел, а также в криптографии, играют простые элементы кольца. В случае кольца целых чисел – простые числа.
Определение. Элемент p кольца К без делителей нуля называется простым, если он делится только на обратимые элементы и на ассоциированные с ним.
Если ограничится только натуральными числами, то определение простого элемента будет звучать так: «простой элемент делится только на себя и на единицу», поскольку среди натуральных чисел обратимым элементом является только 1.
У колец без делителей нуля есть одного замечательное свойство.
Основное свойство колец без делителей нуля.
Пусть К – кольцо без делителей нуля и a≠0, тогда из равенства ab=ac следует, что b=c.
Доказательство.
Из равенства ab=ac следует, что a(b—c)=0. Так как элемент а ненулевой, то b–c=0, т.е. b=c.
□
Обратим внимание, что данное свойство означает логическое сокращение, а не умножение на элемент, обратный к элементу «а». Кстати, такого обратного может и не существовать.