- •Лекция 1 Математический базис КП
- •Изучено в прошлом семестре (ассиметричные криптосистемы)
- •Планируется изучить в этом семестре
- •Литература по курсу
- •Дополнительная
- •• 1. Математический базис криптопротоколов
- •Малая теорема Ферма
- •Функция Эйлера
- •Теорема Эйлера (обобщение теоремы Ферма)
- •Утверждение 2. (Полезное для анализа стойкости криптосистем с открытым
- •1.2 Решение системы линейных уравнений на основе китайской теореме об остатках
- •Обозначим
- •Пример решения системы уравнений
- •1.3.Цепные дроби
- •Пример цепной дроби
- •Пример подходящих дробей
- •Вычисление цепной дроби
- •• Подходящие дроби можно представить рациональными
- •Применение цепных дробей
- •Применение цепных дробей (продолжение)
- •Квадратичные вычеты. Рассмотрим поле GF(p), где p – простое число, GF(p) состоит из
- •Чтобы определить, является ли элемент a GF p квадратичным вычетом, используются символы Лежандра
- •Нахождение вычетов
- •2.Генерирование простых чисел
- •1. Конструирование простых чисел
- •2. Генерирование случайных простых чисел
- •Ответом на данный вопрос является следующая теорема. Теорема [5]. Пусть П(n) – число
- •Из этой теоремы можно получить аппроксимацию доли нечетных l-разрядных простых чисел в виде
- •Важнейшие тесты по проверке простоты чисел
- •Если n простое, то оно всегда проходит тест (т. е. то, что оно
- •Тест Ферма
- •Тест Миллера–Рабина.
- •Тест проверка квадратным корнем
- •Примеры
- •Тест Миллера-Рабина - комбинация теста Ферма и квадратного корня
- •Идея алгоритма РМ
- •Итог
- •Доказывается [2, 3], что вероятность ошибки при использовании теста Миллера–Рабина аппроксимируется величиной 1/4t
- •Полиномиальный тест AKS
- •Алгоритм AKS
- ••Теорема 2. Пусть натуральное n и простое r таковы, что
- •Комментарий к алгоритму AKS
1.2 Решение системы линейных уравнений на основе китайской теореме об остатках
m1, m2 , , mr |
|
для . |
|
i j |
gcd mi , m j 1 |
|
Пусть числа такие что |
|
|
|
|
|
|
Тогда система уравнений |
x a mod m ; |
|
|
|
||
|
1 |
1 |
|
|
|
|
|
x a2 |
mod m2 |
|
|
|
|
|
; |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(2.6) |
x ar |
mod mr |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
x' |
x" |
имеет целочисленное решение и при этом, если два числа |
и |
различнве |
||||
решения данной системы, то они удовлетворяют сравнению |
|
|
|
x' x'' mod М |
(2.7) |
|
M m1 m2 mr |
|
где |
|
|
|
|
|
Обозначим |
M i M |
. Очевидно, что |
gcd mi , M i 1 |
||
mi |
|
|
, поэтому существует обратный |
||
|
|
-1 |
- |
, |
M i Ni 1mod mi |
элемент Ni к Mi по mod mi, т. е. Mi |
= Ni |
, который может быть |
|||
найден по алгоритму Евклида для нахождения обратных элементов.
Положим теперь
r
x ai Mi N i mod M ( a1M1 N1 a2 M2 N2 ar Mr Nr )mod M
i 1
Данное решение будет решением системы (2.6). Действительно, так как mi делит Mj ,i j , видно, что все слагаемые будут равны нулю по mod mi, за исключением i-го слагаемого.
Тогда получаем |
x ai M i Ni mod mi |
|
, при i = 1, 2, … , r , |
|
, 1 |
и поэтому x = a mod m |
|||
|
|
i |
i |
|
т. е. x – решение системы (2.6).
Пример решения системы уравнений
x 2 mod 3
x 3mod 5x 2 mod 7
1. M 3 5 7 105
2. M1 105 / 3 35, M2 105 / 5 21, M3 105 / 7 15
3. N1 2, N2 1, N3 1,
4. x ( 2 35 2 3 21 1 2 15 1) 23mod 105
Подставляя 23 в систему, убеждаемся в правильности решнеия
1.3.Цепные дроби
• |
Цепная дробь [a0 , a1, , an ] |
|
|
определяется как |
||||||||
|
формальная сумма |
|
|
1 |
|
|
|
|
|
|
|
|
|
a0 |
|
|
|
|
|
|
|
|
|
|
|
|
a1 |
|
|
1 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||||
|
|
a2 |
|
1 |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
a |
|
1 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
n 1 |
|
an |
||||
|
|
|
|
|
|
|
|
|||||
Числа a0 , a1, , ak k=0,1,…..,n называются неполными |
||||||||||||
частными цепной дроби |
|
|
|
|
|
|
|
|
|
|
||
• |
а величины k [ak , ak 1, , an ] |
|
|
|
|
|
|
|
|
|||
k=0,1,…..,n называются полным частными цепной дроби.
• Цепная дробь, полученная отбрасыванием всех элементов после некоторого номера k, называется k- ой подходящей
дробью
[a0 , a1, a2 , ak , ak 1, , an ]
Пример цепной дроби
[ 3, 2,1, 4] 3 |
|
1 |
|
|
|
47 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
13 |
|
|
|
|
|
|
|
|
|
|
|
||
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
1 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Неполные частные имеют вид |
|
|
a 0 3 a 1 2 |
a 2 1 |
|
a |
3 4 |
|||||||||||
полные частные имеют вид |
|
|
|
0 [ 3, 2,1, 4] 3 |
|
1 |
|
|
|
47 |
||||||||
|
|
|
2 |
|
1 |
|
|
13 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
[2,1, 4] 2 |
|
1 |
14 |
|
|
|
|
4 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
1 |
|
|
|
1 |
1 |
5 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
||
2 [1, 4] 1 14 54
3 [4] 4
Пример подходящих дробей
•
0 [ 3] 3
|
1 |
[ 3, 2] 3 1 |
5 |
|
|
|||||
|
2 |
|
2 |
|
|
|||||
|
|
|
|
|
||||||
2 |
[ 3, 2,1] 3 |
|
1 |
|
8 |
|
||||
|
1 |
3 |
|
|||||||
|
|
2 |
|
|
|
|
||||
|
|
1 |
|
|
|
|
|
|||
3 [ 3, 2,1, 4] 3 |
|
|
1 |
|
|
|
47 |
|||
|
|
1 |
|
|
13 |
|||||
|
|
|
2 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
1 1 |
|
|
||||
|
|
|
|
|
4 |
|
|
|
|
|
Вычисление цепной дроби
Достаточно выписать Алгоритм Евклида для чисел P иQ, и взять столбец , полученный при этом целых частных в
качестве неполных частных искомой дроби |
P |
|
173 |
||
173 281 0 173 |
|
|
Q |
281 |
|
|
|
|
|
|
|
281 173 1 108 |
|
|
|
|
|
173 108 1 65 |
P |
173 [0,1,1,1,1,1,1, 21] |
|
|
|
108 65 1 43 |
|
|
|
||
|
|
|
|
||
Q |
281 |
|
|
|
|
65 43 1 22 |
|
|
|
||
|
|
|
|
|
|
43 22 1 421 |
|
|
|
|
|
22 21 1 1
21 1 21 0
• Подходящие дроби можно представить рациональными |
|
|||||||||||||
числами |
Pk |
k=0,1,…..,n . |
|
|
|
|
|
|
||||||
|
P0 |
|
a0 |
|
Qk |
|
P1 |
a0a1 1 |
|
Pk |
|
ak Pk 1 Pk 2 |
|
|
0 |
|
|
|
1 |
k |
|
для |
k 2 |
||||||
Q0 |
|
|
||||||||||||
|
|
|
|
|
||||||||||
|
|
|
Q1 |
Qk |
|
|||||||||
|
1 |
|
|
|
a1 |
|
|
ak Qk 1 Qk 2 |
|
|||||
Свойства:
1. |
P Q |
P |
Q ( 1)n 1 |
|
|
7. |
Если |
a [a0 , a1, , a , ], |
то |
|
|
|
|||||||
|
n n 1 |
n 1 |
n |
|
|
|
|
0 2 2k a 2k 1 3 1 |
|||||||||||
2. |
PnQn 2 Pn 2Qn ( 1) |
n 1 |
an |
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
3. (PnQn ) 1 |
|
|
|
|
|
|
8. |
Если |
a [a0 |
,a1, ,a , ], то |
|
a |
n |
|
|
1 |
|
||
|
|
|
|
|
|
|
|
||||||||||||
4. 1 Q0 Q1 Q2 |
|
|
QnQn 1 1 |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||
5. |
Если P0 1, то P1 |
P2 |
|
|
|
|
|
|
|
|
|
|
|||||||
6. |
n n 1 |
|
( 1)n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QnQn 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Применение цепных дробей
1.Для приближения действительных чисел рациональными с наилучшим приближением.
2.Для сокращения обыкновенных дробей
3.Для решения диофантовых уравнений с двумя неизвестными.
4. Для решения сравнений первой степени ax b(mod m) .
П.1 Любая подходящая дробь |
k |
[a , a |
, , a ], k 0,1, 2 |
|
0 1 |
k |
является наилучшим приближением к действ. числу
a[a0 , a1, , an , ].
Воснове практического применения используется свойство
1 Для нахождения наилучшего
a n n 1 n Q Q
приближения с точностьюn 1 n ∆, рассматриваются знаменатели тех подходящих дробей, для которых
Применение цепных дробей (продолжение)
П.3. Если НОД (a,b)=1, то подходящая дробь может быть
использована для решения диофантового уравнения
ax by d
Целочисленные решения уравнения можно найти как
x ( 1)n 1Q |
, y ( 1)n 1 P |
n 1 |
n 1 |
П.4. Для решения сравнения ax b(mod n) , полагая что (а,n)=1. Разложим n/a в цепную дробь [a0 , a1, , ak ] , тогда
x ( 1)k b Pk (mod n)
есть искомое решение уравнения.
1. 4. Квадратичные вычеты
