![](/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.Литература основная:
- •Дополнительная:
- •Оглавление
6.4. Нахождение первообразных корней по простому модулю.
В настоящем пункте
будем рассматривать число n,
причем n—1=* - каноническое разложение на простые
сомножители.
Теорема
On(a)=n—1
1)an—1≡1(mod
n);
2)
,
1(mod
n).
Доказательство:
Пусть On(a)=n—1.
Тогда (1) выполняется в силу определения
порядка элемента в группе. Кроме того,
,
1 ≤
<n—1=
On(a),
откуда в силу определения порядка
элемента, выполняется (2).
Пусть теперь выполнены (1) и (2). Покажем, что On(a)=n—1.
В силу (1), On(a)\(n—1).
В силу (2), On(a)
не делит
.
Значит,On(a)=n—1.
□
Результатами только что доказанной теоремы можно пользоваться для нахождения порождающего элемента группы Up, причем проверять стоит только второй пункт, так как первый для простого модуля выполняется автоматически согласно теореме Ферма. Кроме того, можно вывести правило: если a1, a2 не являются порождающими элементами группы Up, то a1a2 также не является порождающим элементом Up. Отсюда делаем вывод о том, что наименьший порождающий элемент группы Up – простое число.
Пример
p=71. p—1=70=2·5·7.
Для того чтобы a
являлся порождающим элементом, необходимо
и достаточно, чтобы выполнялись условия:
a101(mod
n),
a14
1(mod
n),
a35
1(mod
n).
Будем испытывать числа из U71. Вместо ab mod 71 для краткости будем писать ab.
2: 210 =30, 214 =54, 235=1. 2 не является порождающим элементом.
3: 310 =48, 314 =54, 335=1. 3 не является порождающим элементом.
5: 510 = 1. 5 не является порождающим элементом.
7: 710 =45, 714 =54, 735=70. 7 – порождающий элемент.
Итак, наименьший порождающий элемент группы U71 (или первообразный корень по модулю 71) есть 7.
6.5. Существование и количество первообразных корней.
Первообразные корни существуют не для всякого модуля. Действительно, как было показано в Примере 2 п.1, не существует первообразных корней по модулю 8.
Теорема 1
Первообразные
корни по модулю m
существуют
m=2,
4, pα
или 2pα,
где p
– простое нечетное число.
Теорема 2
Количество первообразных корней по модулю m, если они существуют, есть φ(φ(m)).
Пример:
Определить количество первообразных корней по модулю 10.
10 = 2·5=2р. Первообразные корни существуют. Найдем их количество.
φ(φ(10))=φ(4)=2.
Проверим результат. U10={1, 3, 7, 9}
O10(1)=1;
32=9, 33=7, 34=1. O10(3)=4=φ(10). 3 – первообразный корень.
72=9, 73=3, 74=1. O10(7)=4=φ(10). 7 – первообразный корень.
92=1. O10(9)=2.
Действительно, нашлись два первообразных корня по модулю 10.
Теорема 3
Пусть с=φ(m),
q1,
q2,
… , qk
– различные простые делители с.
Тогда g:
(g,m)=1
– первообразный корень по модулю m
не выполняется ни одно из сравнений
,i=1,2,…,k.
■
Теорема, доказанная в предыдущем пункте, является частным случаем данной теоремы при простом n.
6.6. Дискретные логарифмы.
Если g – первообразный корень по модулю m (порождающий элемент Um), то, если γ пробегает полную систему вычетов по модулю φ(m), то gγ пробегает приведенную систему вычетов по модулю m.
Для чисел a: (a,m)=1 введем понятие об индексе, или о дискретном логарифме.
Если a≡gγ (mod m), то γ называется индексом, или дискретным логарифмом числа а по основанию g по модулю m.
В теории чисел принято употреблять слово «индекс» и писать γ=indga, но в криптографии применяют сочетание «дискретный логарифм» и пишут γ=logga. Поскольку на протяжении настоящего пособия не раз встретится упоминание о так называемой задаче дискретного логарифмирования, будем употреблять последний вариант названия и написания. Тем более, что дискретные логарифмы обладают некоторыми свойствами логарифмов непрерывных:
Свойство 1: Дискретный логарифм разнозначен в полной системе вычетов по модулю φ(m).
Свойство 2: loggab…h≡logga+loggb+…+loggh (mod φ(m)).
Свойство 3: loggan≡nlogga(mod φ(m)).
Доказательство этих свойств не представляет сложности и является прямым следствием определений дискретного логарифма и первообразного корня.