![](/user_photo/2706_HbeT2.jpg)
- •Теоретико-числовые методы в криптографии
- •Аннотация.
- •Предисловие
- •Введение
- •Глава 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.Литература основная:
- •Дополнительная:
- •Оглавление
7.2. Теорема Поклингтона и доказуемо простые числа общего вида на основании частичного разложения (n—1).
Теорема Сэлфриджа дает четкий критерий для проверки простоты числа n, однако требует знания полного разложения числа (n—1) на простые сомножители. Следующая теорема позволяет ограничиться частичной факторизацией (n—1).
Теорема Поклингтона.
Пусть n=RF+1,
F=- каноническое разложение.
Если
a:
1) an—1≡1(mod
n);
2)
1(mod
n)
.
p≡1(mod
F)
для любого простого p\n.
■
Итак, если разложить
n—1
на два сомножителя n—1=RF,
где F>—1,
то, если для некоторогоa
будут выполнены условия Теоремы
Поклингтона (1) и (2), то n
– простое.
Таким образом, можно значительно сократить количество проверок по сравнению с тестом Миллера.
Замечание.
Если n=RF+1
– нечетное простое число, F>—1,F=
,
НОД(R,F)=1,
то вероятность того, что случайно
выбранное 1<a<n
будет удовлетворять условиям (1), (2)
теоремы Поклингтона, есть
.
Замечание.
Если известно полное разложение n—1, то в качестве F следует брать число, составленное из наибольших делителей n—1 для того, чтобы:
1) сократить число проверок условия (2) для каждого a;
2) уменьшить степени, в которые возводится a на этапе проверки (2);
3) повысить вероятность того, что случайно выбранное a будет удовлетворять условию (2), а значит уменьшить количество перебираемых a.
Пример.
n=4021.
—1<63.
n—1=4020=22·3·5·67. F=67, R=22·3·5=60.
Проверка условий:
a=2.
1) 24020 mod 4021=1.
2)260—1 mod 4021=1451.
НОД(4021,1451)=1.
n=4021 – простое число.
(Заметим, что вероятность того, что наугад выбранное a будет удовлетворять условиям теоремы Поклингтона для данного примера, есть (1—1/67)≈0,985).
7.3. Числа Ферма. Теорема Пепина.
Теорема.
Если число вида p=an+1 – простое, то 1) a – четное;
2) n=2k для некоторого k.
Доказательство:
Четность a очевидна, так как иначе p было бы четным, а значит не простым.
Предположим теперь
m>2
- нечетное число :
n=
m·2k.
Тогда
=an—m—an—2m+…+a3m—a2m+am—a0
Z.
Тогда (am+1)\(an+1), значит p – составное число. Предположение неверно, следовательно верно обратное.
□
Числа Fk=+1
называютсячислами
Ферма.
F0=3, F1=5, F2=17, F3=257, F4=65739 – простые числа. Пьер Ферма выдвигал гипотезу о простоте всех чисел Ферма, но Леонардом Эйлером в 1732 г. была показана составность числа F5.
В настоящее время существует следующий критерий проверки чисел Ферма на простоту:
Теорема Пепина
Fk
– простое число
.
Доказательство:
Пусть Fk – простое число. Тогда по критерию Эйлера для символа Лежандра,
.
В силу простоты, Fk не делится на 3.
Поэтому возможны два случая: Fkmod 3=1 или Fk mod 3=2.
Случай Fk
mod
3=1 невозможен, так как это значило бы,
что
mod
3 = 0, а это не так. Поэтому Fk
mod
3=2, и тогда
□
На основании
теоремы Пепина построен тест Пепина,
проверяющий верность сравнения
.
Тест Пепина детерминированный, состоит
из одной итерации и дает точный ответ
о простоте или составности числа Ферма.
7.4. Числа Мерсенна.
Теорема 1
Если число вида
p=an—1
– простое
1)a
– четное;
2) n – простое.
Доказательство:
Четность а очевидна, так как иначе р было бы четным, а значит, составным.
Допустим, что n
– не простое
n=mk.
Тогда
=ak(m—1)+ak(m—2)+…+ak+1
Z.
Тогда (ak—1)\(an—1), значит р – не простое число. Предположение неверно, значит верно обратное.
□
Простые числа вида Mp=2p—1, где р – простое число, называются числами Мерсенна.
Теорема 2
Число вида Mp=2p—1,
где р>2
– простое число, является простым
в
последовательности, определенной
равенствамиu0=4,
ui+1=(ui2—2)
mod
Mp,
выполняется up—2≡0(mod
Mp).
■
Из Теорем 1 и 2 следует
Тест Лукаса-Лемера для чисел Мерсенна
Вход: Число Мерсенна Mn=2n—1.
Ш.1. Пробными
делениями проверить, имеет ли n
делители между «2» и
.
Если имеет, идти на Выход с сообщением
«Mn
– составное число».
Ш.2. Задать u=4.
Ш.3. n—2 раза вычислить u=(u2—2) mod Mn.
Ш.4. Если u=0, то «Mn – простое число», иначе «Mn – составное число».
Выход.
В настоящее время особое внимание уделяется двойным числам Мерсенна MMp=2Mp –1, например 7=M3=MM2. Алгоритм построения таких чисел следующий: сначала строится сравнительно небольшое простое число Мерсенна Mp, а затем по нему – двойное число Мерсенна MMp, которое проверяется на простоту тестом Лукаса-Лемера минуя первый шаг.
Аналогично строятся тройные и т.д. числа Мерсенна. Например, тройным числом Мерсенна является 127=M7=MMM2.
Не для всех чисел Мерсенна существуют двойные и тройные числа. Например, MM13 не является простым.
Первыми простыми числами Мерсенна являются M2=3, M3=7, M5=31, M7=127, M13=8191, M17, M19, M31.
На данный момент (2007 г.) не доказана конечность или бесконечность количества простых чисел Мерсенна.