Криптографические протоколы - Lection
.pdfТеорема Хассе
В этом пункте мы докажем основную теорему об оценке числа точек эллиптической кривой теорему Хассе.
Теорема 6 (Хассе). Если 4a3 + 27b2 6= 0 (mod p), то число решений N сравнения
y2 = x3 + ax + b (mod p) |
(1) |
||||||
удовлетворяет неравенству |
|
|
|
< 2√ |
|
|
|
| |
|
− |
| |
|
|
|
|
|
N |
|
p |
p. |
|
Параметризация
Введём параметр t и вместо (1) будем рассматривать уравнение
y2 |
x3 |
+ ax + b |
|
||
= |
|
|
. |
(2) |
|
t3 |
|
||||
|
|
+ at + b |
|
Решения этого уравнения будем искать в области рациональных функций над Zp, то есть если (x0; y0) решение (2), то это означает, что
x0 = |
P1(t) |
, |
y0 = |
P2(t) |
, где Pi, Qi Zp[x]. |
Q1(t) |
Q2(t) |
Уравнение (2) имеет четыре решения:
p−1
(t; ±1) , tp; ± t3 + at + b 2 .
Для первой пары точек проверка этого факта очевидна. Справедливость проверки второй пары следует из того, что
(A + B)p ≡ Ap + Bp (mod p),
и a, b Zp ap ≡ a (mod p), bp ≡ b (mod p).
Определим операцию “сложения” решений аналогично операции сложения точек эллиптической кривой. Пусть (x1; y1) и (x2; y2) некоторые решения. Найдём сначала промежуточное решение (x; y), где y = λx + d, λ = (y2 − y1)/(x2 − x1), d = y1 − λx1, x1 6= x2. Подставим y в (2) и получим
x3 + ax + b − (λ(x − x1) + y1)2 t3 + at + b = 0.
Так как два корня x1 и x2 этого уравнения известны, то по теореме Виета находим третий корень из соотношения x1 + x2 + x03 = λ2 (t3 + at + b) .
Таким образом, получаем:
x30 = |
x2 |
− x1 |
2 |
+ at + b) − x1 − x2, |
||
(t3 |
||||||
|
|
y2 |
y1 |
|
|
|
|
|
|
− |
|
|
y30 = λ(x3 − x1) + y1.
21
Из симметрии (2) относительно x следует, что (x3; y3) = (x03, −y30 ) также будет решением. Это решение мы и будем считать “суммой” решений (x1, y1) и (x2, y2).
Итак,
|
x3 |
(x1; y1) + (x2; y2) = (x3; y3), |
(3) |
||||||||||||||||
|
= x2 |
− x1 |
(t3 |
+ at + b) − x1 − x2, |
(4) |
||||||||||||||
|
|
|
|
|
|
y2 |
|
y1 |
|
2 |
|
|
|
|
|
|
|
||
где |
|
|
|
y2 |
|
− |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
y1 |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
3 |
= |
|
|
− |
|
|
(x |
1 − |
x |
) |
− |
y |
. |
|
|||
|
x2 |
− x1 |
|
||||||||||||||||
|
|
|
|
|
|
3 |
|
1 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если x1 = x2, y1 = y2, |
то положим |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
λ = |
|
|
3x12 + a |
|
|
|
|
|
||||||
|
|
|
|
|
2y1 (t3 + at + b) |
|
|
|
и будем искать промежуточное решение (x; y) |
при условии, что x и y удовлетворяют |
||||||||||||
уравнению |
|
|
y = λ(x − x1) + y1. |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
||||||
Как и выше находим сначала по теореме Виета x3, |
а затем y3. Окончательно по- |
||||||||||||
лучим: |
|
|
|
|
|
|
|
|
|
|
|
|
|
x3 = |
(3x12 + a)2 |
− 2x1, |
|
|
|
|
|||||||
4 (x12 + ax1 + b) |
|
|
|
(5) |
|||||||||
|
|
|
|
2 |
|
|
|
|
|
|
|
||
|
|
|
3x |
1 |
+ a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
y |
3 |
= |
|
|
|
(x |
1 − |
x |
) |
− |
y |
. |
|
2y1 (t3 + at + b) |
|||||||||||||
|
|
|
3 |
|
1 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Можно показать, что множество решений уравнения |
(2) с введённой операцией |
сложения точек и дополненное бесконечно удалённой точкой Θ является группой.
Построение последовательности решений ξ = {(xn; yn)} |
||
Положим (x0 |
; y0) = |
tp; (t3 + at + b)(p−1)/2 . Если решение (xn; yn) определено, то по- |
ложим |
|
|
|
|
(xn+1; yn+1) = (xn; yn) + (t; 1) , |
|
|
(xn−1; yn−1) = (xn; yn) + (t; −1) . |
Первое из этих равенств позволяет продолжать последовательность решений вправо, а второе влево. Если в процессе построения последовательности {(xn; yn)} вправо получим, что (xn; yn) = (t; −1) , то вместо (xn+1; yn+1) проставляем в последовательность символ ?, полагаем (xn+2; yn+2) = (t; 1) и двигаемся вправо далее. Аналогично, если при движении влево получим решение (xn; yn) = (t; 1) , то вместо (xn−1; yn−1) проставляем в последовательность символ ?, полагаем (xn−2; yn−2) = (t; −1) и двигаемся далее.
Таким образом, получим вполне определённую последовательность {ξi}, состоящую
из решений уравнения (2) и, возможно, содержащую символы ? |
: |
|
|
|
|
|||
. . . , ξ−n, ξ−n+1, . . . , ξ−1, ξ0, ξ1, . . . , ξn, ξn+1 . . . , |
где ξn = |
(x |
|
; y |
|
) , n |
Z |
, |
?. n |
|
n |
|
|
22
Построение последовательности d = {dn}
Для любого n, если ξn = (xn; yn) решение сравнения (2), то xn всегда можно представить в виде xn = Pn(t)/Qn(t), где gcd (Pn(t), Qn(t)) = 1 и старший коэффициент многочлена Pn(t) равен 1. Определим последовательность d = {dn} следующим образом:
0, если xn не определено, dn = deg Pn в остальных случаях.
Леммы
Лемма 1.
Для любого n Z, при котором элемент ξn последовательности {ξi} определён, выполняется неравенство
deg Pn > deg Qn, |
(6) |
где ξn = (xn; yn), xn(t) = Pn(t)/Qn(t).
Доказательство.
Будем рассматривать xn(t) и yn(t) как функции, определённые на множестве R. Тогда неравенство (6) равносильно условию
xn ∞= lim xn = ∞. (7)
t→∞
Если n = 0, то (7) выполняется, поскольку
p−1
(x0; y0) = tp; t3 + at + b 2 .
Пусть (7) справедливо для некоторого n > 0 и элемент ξn+1 отличен от ?, то есть ξn+1 = (xn+1; yn+1) и ξn+1 является решением уравнения (7). Тогда
|
|
|
|
2 |
|
|
xn3+1 |
+ axn+1 + b |
|
|
|
|
|
|
|
||
|
|
|
yn+1 |
= |
|
|
, |
|
|
|
|
|
|
(8) |
|||
|
|
|
t3 |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
+ at + b |
|
|
|
|
|
|
|
||
где xn+1 = Pn+1/Qn+1, yn+1 = Sn+1/Tn+1. Поэтому если yn+1 |
∞ |
6= 0, то xn+1 |
|
∞= ∞. |
|||||||||||||
Предположим, что yn+1 |
|
∞ |
= 0. Из (8) следует, что |
xn+1 |
|
6 ∞ |
|
правилам |
|||||||||
|
|
|
∞= c = |
. По |
|||||||||||||
|
|
|
{ |
ξi |
} |
имеем: |
|
|
|
|
|
|
|||||
построения последовательности |
|
|
|
|
|
|
|
|
(xn+1; yn+1) = (xn; yn) + (t; 1).
Отсюда получаем:
yn+1 |
= |
t |
−xn |
(t − xn+1) − 1. |
|
|
1 |
yn |
|
−
Так как по предположению yn+1 ∞= 0, то
t |
−xn |
|
(t − xn+1) ∞= 1. |
|
1 |
yn |
|
||
|
|
− |
|
|
|
|
|
|
|
23
Поскольку xn+1 ∞= c, то из последнего соотношения следует
1 |
− xtn |
1 − |
t |
|
∞= |
|
1 |
− xtn |
|
= 1 |
(9) |
1 |
yn |
|
xn+1 |
|
|
1 |
yn |
|
|
||
|
− |
|
|
|
|
− |
∞ |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
По индуктивному предположению xn ∞= ∞, а значит yn ∞6= 0. Поэтому возможны следующие случаи.
A. yn ∞= ∞. Из (9) получаем
|
|
|
|
1 n −xn |
= 1, |
|||||
|
|
|
1 |
1 |
|
|
|
|||
|
|
|
yn − tyn |
|
||||||
|
|
|
|
y |
|
|
|
∞ |
||
|
|
|
|
|
|
|
|
|
|
|
и, следовательно, |
xn |
|
= 1. Но тогда |
|
|
|
|
|
||
tyn |
|
|
|
|
|
|||||
|
|
∞ |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
yn2t2 |
|
= |
t2 (xn3 + axn + b) |
|
= |
xn2 |
(t3 + at + b) xn2 |
||||
|
∞ |
|
∞ |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 + a2 |
+ b3 |
|
|
xn |
|
2 |
|
= 1. |
||||||||
|
xn |
|
3 |
+ a |
|
xn |
|
12 |
|
+ b3 |
|
|
|||||
|
t |
|
|
t |
|
|
t |
|
t |
|
t |
|
|
|
t |
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
∞ |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Из этого соотношения вытекает, что |
xn |
∞= 1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xn |
|
|
|
|
|
|
|
|
∞ |
6 |
|
|
|
|
|
|
(9) немедленно |
|
|
|
|
|
|
|
∞ |
6 ∞ |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
||||||||||||||||||
B. yn |
|
|
= d = 0. В этом случае из |
следует, что |
|
|
= ε = |
. |
|||||||||||||||||||||||||||
|
|
|
|
|
по предположению индукции xn |
|
∞ |
= |
|
∞ |
, |
|
|
|
6 |
|
|
|
|
|
|||||||||||||||
Так как |
|
|
|
|
|
то ε = 0. Таким образом, если |
|||||||||||||||||||||||||||||
|
|
∞6 ∞ |
|
|
|
∞ |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
t |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
xn+1 |
|
= |
|
|
, то |
xn |
|
= ε = 0. Так как по правилу |
сложения точек |
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
yn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
xn+1 = −t − xn |
+ |
t |
− |
|
|
t3 |
+ at + b , |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
xn |
|
|
|
|
|
|
|
|||||||||||||||||
то с учётом (9) |
получим |
|
|
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
1 − xtn |
|
|
|
|
|
|
|
|
|
# |
= −ε 6= 0. |
|
|
|||||||||||||||||||||
|
|
|
|
|
|
0 = |
|
nt+1 |
|
= "−1 − tn + |
|
|
2 |
|
1 + t2 + b |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
x |
|
|
|
∞ |
|
yn |
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
x |
1 |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∞ |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пришли к противоречию. Следовательно, xn+1 ∞= ∞ и deg |
Pn+1 > deg Qn+1. |
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Аналогично проводится доказательство при n < 0.
Лемма 2 (Основная).
Для любого n Z справедливо равенство
dn−1 + dn+1 = 2dn + 2.
Доказательство.
Рассмотрим три произвольных элемента ξn−1, ξn, ξn+1 последовательности {ξi}. Возможны следующие случаи.
24
1. ξn = ?, ξn−1 = (t; −1), ξn+1 = (t; 1).
Согласно правилам построения последовательности {ξi} будем иметь:
|
|
|
|
|
|
|
|
|
xn−1 = t, dn−1 = 1, dn = 0, xn+1 = t, dn+1 = 1. |
|
|
|
|
|
|||||||||||||||||||||||||||||
Поэтому утверждение леммы в этом случае справедливо. |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||
2. ξn−1 = ?. Тогда (xn; yn) = (t; 1), |
|
(xn+1; yn+1) = (xn; yn) + (t; 1) = (t; 1) + (t; 1). |
|||||||||||||||||||||||||||||||||||||||||
Отсюда на основе правила сложения точек получим |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
x |
|
|
= |
− |
2t + |
|
(3t2 + a)2 |
|
|
= |
|
(t2 − a2)2 − 8bt |
, |
gcd 3t2 + a, t3 + at + b |
= 1. |
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
n+1 |
|
|
|
|
|
4 (t3 + at + b) |
|
|
4 (t3 + at + b) |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
Таким образом, dn+1 = 4, |
dn = 1, dn−1 = 0 и утверждение леммы справедливо. |
||||||||||||||||||||||||||||||||||||||||||
3. ξn+1 = ?. Для этого случая будем иметь (xn; yn) = (t; −1), |
(xn−1; yn−1) = (t; −1)+ |
||||||||||||||||||||||||||||||||||||||||||
+(t; −1). Следовательно, также как и в случае 2, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
n−1 |
= |
(t2 − a)2 − 8bt |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 (t3 + at + b) |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Поэтому dn−1 = 4, |
dn = 1, |
dn+1 = 0, и утверждение леммы справедливо. |
|
|
|
|
|||||||||||||||||||||||||||||||||||||
4. Основной случай. ξk 6= ?, |
k = n − 1, n, n + 1, |
n Z. |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
Пусть ξk = (xk; yk), |
xk = |
Pk |
, gcd (Pk, Qk) = 1, и согласно Лемме 1 deg Pk > deg Qk. |
||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Qk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Напомним, что xn |
|
и yn являются решением уравнения (2), то есть |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
xn3 + axn + b Pn3 + aPnQn2 + bQn3 |
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
yn = |
|
|
= |
|
|
|
|
|
|
. |
|
|
|
|
(10) |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
t3 + at + b |
|
|
Q3 |
(t3 + at + b) |
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Замечание. Из (10) следует, что |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
yn2Qn4 t3 + at + b 2 = Qn Pn3 + aPnQn2 + bQn3 t3 + at + b Zp[t]. |
|
|
|
|
|
|||||||||||||||||||||||||||||||||
Читателю предоставляется доказать в качестве упражнения, что отсюда имеем: |
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ynQn2 t3 + at + b Zp[t]. |
|
|
|
|
|
|
|
|
(11) |
|||||||||||||||||||
Далее, используя правила сложения точек, получим: |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
(yn + 1)2 (t3 + at + b) |
|
tQn + Pn |
(yn + 1)2 (t3 + at + b) Q2 |
|||||||||||||||||||||||||||||
xn−1 = −t − xn + |
|
|
|
|
|
= |
− |
|
|
|
|
+ |
|
|
|
|
|
|
|
n |
. |
||||||||||||||||||||||
|
|
(xn − t)2 |
|
|
|
Qn |
|
|
|
|
|
(tQn − Pn)2 |
|
|
|||||||||||||||||||||||||||||
После приведения к общему знаменателю получим: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
x |
n−1 |
|
= |
− (tQn + Pn) (tQn − Pn) + (yn + 1)2 (t3 + at + b) Qn3 |
. |
|
|
(12) |
||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Qn (tQn − Pn)2 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Если в (12) раскрыть скобки и использовать соотношение (10), |
то придём к следующей |
||||||||||||||||||||||||||||||||||||||||||
формуле: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
n−1 |
= |
(Pn + tQn) (Pn + aQn) + 2bQn2 + 2ynQn2 (t3 + at + b) |
= |
R |
|
= |
|
Pn−1 |
, |
|||||||||||||||||||||||||||||||||
|
(tQn − Pn)2 |
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
(tQn − Pn)2 |
|
|
|
|
|
|
|
|
|
|
|
Qn−1 |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(120) |
25
где Pn−1 = R/D1, Qn−1 = (tQn − Pn)2 /D1, D1 = gcd R, (tQn − Pn)2 .
Эти действия корректны, так как из замечания следует, что R Zp[t]. Аналогично для xn+1 имеем:
xn+1 = −t − xn + yn − 1 2 t3 + at + b . xn − t
Проведя соответствующие замены и преобразования, получим:
|
|
|
xn+1 |
= |
− (tQn + Pn) (tQn − Pn) + (yn − 1)2 (t3 + at + b) Qn3 |
. |
||
|
|
|
|
|
Qn (tQn − Pn)2 |
|
|
|
x |
|
= |
(Pn + tQn) (Pn + aQn) + 2bQn2 − 2ynQn2 (t3 + at + b) |
= |
S |
|||
n−1 |
|
(tQn − Pn)2 |
||||||
|
|
|
|
(tQn − Pn)2 |
|
где Pn+1 = S/D2, Qn+1 = (tQn − Pn)2 /D2, D2 = gcd S, (tQn − Pn)2 .
Из (120) и (130) после элементарных преобразований проучим
(13)
=Pn+1 ,
Qn+1
(130)
x |
n−1· |
x |
n+1 |
= |
Pn−1Pn+1 |
= |
(tPn − aQn)2 − 4bQn (tQn + Pn) |
. |
(14) |
|
|
|
Qn−1Qn+1 |
(tQn − Pn)2 |
|
||||||
Разложим многочлен H(t) = (tQn − pn)2 |
на неприводимые (над Zp ) множители: |
|||||||||
|
|
|
H(t) = f1r1 f2r2 · · · fkrk , |
(fi, fj) = 1, при i 6= j. |
|
|||||
Из (120) и (130) следует, что |
|
|
|
|
|
|||||
Qn−1 = f1α1 f2α2 · · · fkαk , |
Qn+1 = f1β1 f2β2 · · · fkβk , 0 ≤ αi, βi ≤ ri. |
(15) |
Замечание. Будем говорить, что многочлен fr строго делит многочлен G (обо-
значение: fr k G ), если fr | G, но fr+1 - G. |
|
|
||||
Если мы покажем, что для любого fr = firi, i = |
|
выполняется условие |
||||
1, k |
||||||
|
|
|
fr k Qn−1Qn+1, |
(16) |
||
то с учётом (15) |
отсюда будет следовать, что |
|
|
|||
|
cQn−1Qn+1 = (tQn − Pn)2 , c Zp. |
|||||
Но тогда (14) |
можно переписать следующим образом: |
|||||
|
Pn−1Pn+1 |
= |
(tPn − aQn)2 − 4bQn (tQn + Pn) |
. |
||
|
Qn−1Qn+1 |
cQn−1Qn+1 |
|
|
Отсюда следует справедливость равенства
cPn−1Pn+1 = (tPn − aQn)2 − 4bQn (tQn + Pn) ,
26
которое с учётом Леммы 1 и даёт требуемый результат: |
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
deg Pn−1 + deg Pn+1 = 2 + deg Pn. |
||||||||||
Для доказательства выполнения условия (16) |
рассмотрим следующие случаи: |
||||||||||||||||||
I. f | R, но f - S. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Из (120) и (130) следует |
|
|
|
|
|
|
|
|
|
||||||||||
|
Pn−1 |
|
Pn−1 |
|
|
|
|
|
|
|
|
|
|||||||
xn−1 = |
|
|
= |
|
|
, где gcd (f, Pn−1) = 1, H1 | H, gcd (H1, f) = 1, 0 ≤ σ < r; |
|||||||||||||
Qn−1 |
fσH1 |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
Pn+1 |
|
Pn+1 |
, где H2 | H, gcd (H2, f) = 1. |
|||||||
|
|
|
|
|
xn+1 = |
|
= |
|
|
|
|||||||||
|
|
|
|
|
Qn+1 |
frH2 |
|||||||||||||
Отсюда получаем |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
x |
|
x |
|
= |
Pn−1Pn+1 |
= |
M |
|
= |
M |
, |
gcd (H |
, f) = 1, i = 1, 2, 3. |
||||||
n−1 |
|
fr+σH1H2 |
|
|
|||||||||||||||
|
|
|
|
n+1 |
|
|
|
H frH3 |
i |
|
Но последнее соотношение справедливо только в случае, когда σ = 0. Следовательно, fr k Qn−1Qn+1.
II. f - R, но f | S.
Этот случай рассматривается полностью аналогично случаю I.
III. f | R и f | S.
Из (12) и (13) следует, что
f | (1 + yn)2 t3 + at + b Q3n, f | (1 − yn)2 t3 + at + b Q3n.
(Под делимостью здесь понимается делимость соответствующего числителя рациональной функции.)
Поэтому
|
|
|
|
f | (1 + yn) t3 + at + b Qn3 , и f | (1 − yn)2 t3 + at + b Qn3 |
|
|
||||||||||||||||||||||
и, следовательно, |
|
|
|
|
|
|
|
f | 2Qn3 |
t3 + at + b |
|
|
|
|
|
|
|
|
|||||||||||
|
|
f |
|
Q |
t |
|
P |
, |
|
|
|
. |
|
|
|
|
f |
|
(17) |
|||||||||
|
|
| |
− |
|
|
Q |
, P |
|
|
= 1, |
|
|
(17) |
|
|
|
| |
t3 + at + b. |
||||||||||
Так как |
|
n |
|
n |
|
а gcd ( |
|
n |
|
n) |
|
3 |
то из |
|
|
|
получим, что |
|
|
|||||||||
По условию теоремы Хассе, многочлен t |
+ at + b |
не имеет кратных корней (так как |
||||||||||||||||||||||||||
его дискриминант не равен нулю), следовательно, f k t3 + at + b. |
|
|
|
|||||||||||||||||||||||||
Далее возможны следующие случаи. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
A. f - yn ± 1. |
|
|
|
|
с учётом того, что f k (tQn − Pn) |
2 |
следует, что |
|
f k R и f k S. |
|||||||||||||||||||
Тогда из (12) и (13) |
|
|
||||||||||||||||||||||||||
Поэтому |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pn−1 |
|
|
|
|
|
|
Pn+1 |
|
|
|
|
r |
|
|
|
|
|
|
|
|
2 |
|
|
|
|
||
xn−1 = |
fr−1H1 |
, xn+1 |
= |
fr−1H2 |
, H = f |
|
|
+ H3 = (tQn |
− Pn) |
; gcd (Hi, f) = 1, i = 1, 2, 3. |
||||||||||||||||||
Таким образом, согласно (14) |
получим |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
xn−1·xn+1 = |
|
Pn−1Pn+1 |
= |
M |
. |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
f2r−2H1H2 |
|
frH3 |
|
|
|
|
27
Последнее соотношение возможно тогда и только тогда, когда 2r |
− |
2 = r |
или r = 2. |
|||||||||||||||||||||||||||||||||||||||||||
Следовательно, Qn−1Qn+1 = f2H1H2 |
и f2 k Qn−1Qn+1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
B. f | yn + 1, |
f - yn − 1 (случай |
|
3f - yn + 1, f | yn − 1 рассматривается аналогично). |
|||||||||||||||||||||||||||||||||||||||||||
Из (12) с учётом того, что f k t |
|
+ at + b и f - Qn |
вытекает, что |
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
f k S, f2l+1 k (yn + 1)2 t3 + at + b Qn3 . |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
С другой стороны, поскольку f - yn − 1, то |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
2 |
|
|
|
|
2 |
|
2 |
|
|
|
2 |
|
|
|
|
xn3 + axn + b |
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||
f2l k |
(yn − 1) (yn + 1) |
|
= yn − 1 |
|
|
|
= 1 − |
|
|
|
|
|
|
|
= |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
t3 + at + b |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
(x − xn)2 (t2 + txn + xn2 + a) |
|
(18) |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(t3 + at + b)2 |
|
|
|
|
|
||||
Так как f | t − xn = (tQn − Pn) /Qn, то |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
f |
t2 + txn + xn2 + a |
3t2 |
+ a = txn |
|
|
xn2 |
|
|
2t2 = (xn |
|
t) (xn + 2t) . |
|
|
||||||||||||||||||||||||||||||
|
|
|
|
| |
|
|
|
|
|
3 |
− |
|
|
|
|
|
|
|
− |
|
|
|
− |
2 |
|
|
|
− |
|
|
|
|
|
|
|
|
||||||||||
Отсюда, поскольку f |
k |
t + at + b, |
|
|
получим, что f |
- |
3t |
|
+ a. Это следует из того, что |
|||||||||||||||||||||||||||||||||||||
t = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
+ 27b |
2 |
= 0. |
||||
± |
− |
a/3 не является корнем многочлена |
|
+ at + b с условием 4a |
|
|
||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|||||||
Поэтому из (18) вытекает, что f |
- |
|
t |
+ txn + xn |
+ a. Тогда из (17) немедленно следует, |
|||||||||||||||||||||||||||||||||||||||||
что |
|
p |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
f2m−2 k 1 − yn2 |
|
|
2 , где 2m = r (fr k (Qnt − Pn)2). |
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
Таким образом, 2m − 2 = 2l, |
|
l = m − 1 и f2m−1 k (yn + 1)2 (t3 + at + b) Qn3 . Тогда |
||||||||||||||||||||||||||||||||||||||||||||
из (12) следует, что f2m−1 k R. Поэтому (с учётом (17) ) будем иметь: |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
x |
|
|
= |
|
|
Pn−1 |
|
, |
x |
|
|
|
= |
|
Pn+1 |
, |
|
|
gcd (H |
, f) = 1, i = 1, 2. |
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
n−1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
f2m−1H1 |
|
|
|
n+1 |
|
|
fH2 |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Отсюда получаем, что |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
xn−1·xn+1 = |
Pn−1Pn+1 |
|
|
|
Pn−1Pn+1 |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
f2mH1H2 |
|
= |
Qn−1Qn+1 |
. |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
Последнее соотношение означает, что f2m = fr k Qn−1Qn+1 |
и основная лемма пол- |
|||||||||||||||||||||||||||||||||||||||||||||
ностью доказана. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лемма 3.
Для любого целого n справедливо соотношение
dn = n2 − (d−1 − d0 − 1)n + d0 = n2 − (N − p)n + p.
Доказательство.
При n = −1 имеем
1 − (d−1 − d0 − 1)(−1) + d0 = 1 + d−1 − d0 − 1 + d0 = d−1.
28
При n = 0 имеем
0 − (d−1 − d0 − 1)·0 + d0 = d0.
Предположим, что лемма верна для n и n + 1 и докажем её для индекса n + 2. По основной лемме имеем
dn + dn+2 = 2dn+1 + 2
или
dn+2 = 2dn+1 − dn + 2.
Используя индуктивное предположение, получим:
dn+2 = 2 (n + 1)2 − (d−1 − d0 − 1)(n + 1) + d0 − n2 + (d−1 − d0 − 1)n − d0 + 2 =
=2(n + 1)2 − n2 + 2 − (d−1 − d0 − 1)(n + 2) + d0 = n2 + 4n + 4 − (d−1 − d0 − 1)(n + 2) + d0 =
=(n + 2)2 − (d−1 − d0 − 1)(n + 2) + d0.
Аналогично проводится доказательство “в другую сторону”.
d−n−2 + d−n = 2d−n−1 + 2
d−n = n2 − (d−1 − d0 − 1)(−n) + d0
d−n−2 = 2 (n + 1)2 − (d−1 − d0 − 1)(−n − 1) + d0 − n2 + (d−1 − d0 − 1)(−n) − d0 + 2 = = 2(n + 1)2 − n2 + 2 − (d−1 − d0 − 1)(−n − 2) + d0 = (n + 2)2 − (d−1 − d0 − 1)(−n − 1).
Доказательство теоремы Хассе
Доказательство. Из определения dn и Леммы 3 следует, что квадратный трёхчлен (относительно n ) dn = n2 − (N − p)n + p удовлетворяет соотношениям
dn > 2 n Z, |
( ) |
|dn| + |dn+1| 6= 0 n Z. |
( ) |
Покажем, что дискриминант D = (N − p)2 − 4p этого квадратного трёхчлена не положителен. Допустим противное, то есть пусть D > 0. Тогда трёхчлен имеет два различных корня α и β. Возможны следующие варианты расположения α и β относительно n и n + 1 :
a) α = n, β = n + 1 − γ, 0 < γ < 1.
Тогда по теореме Виета: α + β = 2n + 1 − γ 6 Z. Противоречие с тем, что α + β =
N− p Z.
b)α = n + δ, β = n + 1, 0 < δ < 1.
По теореме Виета: α + β = 2n + 1 + δ 6 Z.
29
c) α = n + δ, β = n + 1 − γ, δ = γ.
По теореме Виета: αβ = (n + δ)(n + 1 − δ) = n2 + n + δ(1 − δ) 6 Z.
d) α = n + δ, β = n + 1 − γ, 12 > δ > γ > 0.
По теореме Виета: α + β = 2n + 1 + δ − γ 6 Z.
Таким образом, получаем, что (N − p)2 − 4p 6 0, то есть |N − p| < 2√p. Теорема Хассе доказана.
Стандарт ЭЦП ГОСТ P.34.10-2001
1.Предварительные условия и соглашения
1)Участники информационного взаимодействия устанавливают по взаимному соглашению процедуру генерации ключей (подписи и проверки).
2)В процедурах формирования и проверки подписи используется хэш-функция
ГОСТ Р.34.11.
3)Общедоступные параметры ЭЦП и требования к ним:
• |
p простое число модуль вычисления; p > 2255. |
||||
• |
Эллиптическая кривая y2 = x3 + ax + b (mod p) над полем Fp, задавае- |
||||
|
мая коэффициентами a и b. Коэффициенты a и b должны удовлетворять |
||||
|
следующему условию: |
||||
|
|
|
|
4a3 |
|
|
123 |
|
|
6≡0, 123 (mod p). |
|
|
4a3 + 27b2 |
||||
• |
m порядок группы Ep(a, b), m = nq, 2254 < q < 2256, m 6= p; pt 6≡1 |
||||
|
(mod q) для всех t = |
|
|
||
|
1, B, B > 31. |
•Точка P = (xp; yp) Ep(a, b), qP = Θ, то есть P элемент группы Ep(a, b) порядка q.
4)Личные ключи участников:
•d R Zq секретный ключ подписи.
•Точка Q = dP, Q = (xq; yq) открытый ключ (ключ проверки подписи).
2.Алгоритм процедуры формирования подписи Вход: сообщение M.
2.1Вычислить H = h(M), e = H (mod q).
2.2Если e = 0, то положить e = 1.
2.3Выбрать k R Zq−1 сеансовый секретный ключ.
30