Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Криптографические протоколы - Lection

.pdf
Скачиваний:
37
Добавлен:
17.03.2015
Размер:
533.67 Кб
Скачать

Теорема Хассе

В этом пункте мы докажем основную теорему об оценке числа точек эллиптической кривой теорему Хассе.

Теорема 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| < 2p. Теорема Хассе доказана.

Стандарт ЭЦП ГОСТ 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