![](/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.Литература основная:
- •Дополнительная:
- •Оглавление
§3. Теория сравнений
Будем рассматривать
целые числа в связи с остатками от
деления их на данное целое положительное
m
– модуль.
Если 2 целых числа a
и b
имеют одинаковый остаток от деления
на m,
то говорят, что они называются
равноостаточными
или сравнимыми
по модулю
m,
и пишут a
≡ b
(mod
m),
что равносильно a
= b+mt,
где tZ,
или m\(a–b)
(очевидно)
3.1. Свойства сравнений:
a ≡ b (mod m), b ≡ c (mod m),
a ≡ c(mod m)
a ≡ b (mod m)
b ≡ a(mod m)
a1 ≡ b1 (mod m), a2 ≡ b2 (mod m), … , ak ≡ bk (mod m) =>
a1+…+ak ≡ b1+…bk(mod m)
a+b ≡ c (mod m)
a ≡ c–b(mod m)
a ≡ b (mod m)
a+mt ≡ b+mk(mod m) (t, k
Z)
a ≡ b (mod m), c ≡ d (mod m)
ac ≡ bd(mod m)
a ≡ b (mod m)
ak ≡ bk(mod m)
a ≡ b (mod m)
ak ≡ bk(mod m)
Если a ≡ b (mod m), (a, b) = c, (c, m) = 1
(modm)
a ≡ b (mod m)
ak ≡ bk (mod mk)
a ≡ b (mod m), a = a1d, b = b1d, m = m1d
a1 ≡ b1(mod m1)
a ≡ b (mod m1), a ≡ b(mod m2), …, a ≡ b(mod mk)
a ≡ b (mod НОК(m1,…,mk))
a ≡ b (mod m), d\m
a ≡ b(mod d)
d\a, d\m, a ≡ b(mod m)
d\b
a ≡ b (mod m)
(a, m) = (b, m)
Доказательство данных свойств не представляет сложности и может быть проведено читателем самостоятельно. Найти доказательства этих свойств можно в [5].
3.2. Полная система вычетов.
Совокупность чисел, сравнимых с a по модулю m называется классом чисел по модулю m (или классом эквивалентности). Все числа одного класса имеют вид mt + r при фиксированном r.
При заданном m, r может принимать значения от 0 до m—1, т.е. всего существует m классов чисел по модулю m, и любое целое число попадет в один из классов по модулю m. Таким образом,
Z
= [0]m[1]m
…
[m—1]m,
где [r]m={x
Z:
x≡r(mod
m)}
Любое число класса [r]m называется вычетом по модулю m по отношению ко всем числам того же класса. Число, равное остатку r, называется наименьшим неотрицательным вычетом.
Вычет, наименьший по абсолютной величине, называется абсолютно наименьшим вычетом.
Пример
Возьмем модуль m=5. И пусть a=8. Разделим a на m с остатком:
8=5·1+3.
Остаток r=3.
Значит 8[3]5,
и наименьший неотрицательный вычет
числа 8 по модулю 5 есть 3.
Абсолютно наименьший вычет можно отыскать, вычислив r—m=3—5=—2, и сравнив абсолютные величины |—2| и |3|. |—2|<|3|, значит —2 – абсолютно наименьший вычет числа 8 по модулю 5.
Взяв от каждого класса по одному вычету, получим полную систему вычетов по модулю m. Если все эти числа будут являться наименьшими неотрицательными вычетами по модулю m, то такая система вычетов называется полной системой наименьших неотрицательных вычетов, и обозначается Zm.
{0; 1;…; m—1} = Zm – полная система наименьших неотрицательных вычетов.
{–;…;
0;…;
}
(если m–нечетное
число) ;
{ —,…,—1,
0, 1,…,
}
или {—
,…,
—1, 0, 1,…,
}
(если m
четное число) – полная система абсолютно
наименьших вычетов.
Пример
Если m=11, то полная система наименьших неотрицательных вычетов есть {0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10}, а полная система абсолютно наименьших вычетов – {–5; –4; –3; –2; –1; 0; 1; 2; 3; 4; 5}.
Утверждение 1
Любые m чисел, попарно несравнимые по модулю m, образуют полную систему вычетов по этому модулю.
Доказательство:
Действительно, в силу несравнимости эти числа принадлежат к разным классам, а т.к. их m штук, то в каждый существующий класс попадает ровно одно число.
Утверждение 2
Если (a, m) = 1, и x пробегает полную систему вычетов по модулю m, то ax+b, где b – любое число из Z, тоже пробегает полную систему вычетов по модулю m.
Доказательство:
Чисел ax+b
будет ровно m
штук. Остается доказать, что любые 2
числа ax1+b
и ax2+b
несравнимы по модулю m,
если x1x2(mod
m)
Доказательство
от противного. Предположим, что ax1+b
≡ ax2+b
(mod
m)
в силу 4-го св-ва сравнений, ax1
≡ ax2
(mod
m)
в силу св-ва сравнений №9 и того, что
(a,
m)
= 1, имеем x1
≡ x2(mod
m).
Получили противоречие с тем, что
x1
x2(mod
m).
Следовательно, предположение неверно,
а значит верно обратное. То есть ax1+b
и ax2+b
несравнимы по модулю m,
если x1
x2(mod
m),
что и требовалось доказать.