ВУЗ:
Составители:
140 м (238, 175)
141 н (238, 576)
142 о (240, 309)
143 п (240, 442)
144 р (243, 87)
145 с (243, 664)
146 т (247, 266)
147 у (247, 485)
148 ф (249, 183)
149 х (249, 568)
150 ц (250, 14)
151 ч (250, 737)
152 ш (251, 245)
153 щ (251, 506)
154 ъ (253, 211)
155 ы (253, 540)
156 ь (256, 121)
157 э (256, 630)
158 ю (257, 293)
159 я (257, 458)
Заметим, что мощность множества точек на этой кривой
N = 727, поэтому при не-
обходимости можно точками закодировать и некоторые специальные знаки (например,
знак интеграла и т.п.), а также целые слова.
2) Пример шифрования.
Пусть выбрана генерирующая точка G = (0, 1). Предположим, пользователь А ре-
шил отправить пользователю B сообщение: строчную латинскую букву «A». В нашем ал-
фавите эта буква кодируется точкой
m
P = (66, 522). Пусть пользователь А выбрал случай-
ное значение
k = 3, а открытым ключом B является точка
B
P = (406, 397), при этом сек-
ретным ключом B является число 45
=
b
n .
Шифрованный текст имеет вид
m
C = {kG,
m
P + k
B
P }.
Находим
kG =
()
1,03 ⋅ .
Для нахождения 3
G используем правила сложения точек эллиптической кривой.
Напомним их:
)(mod
21
2
3
pxxx −−=
λ
)(mod)(
1313
pyxxy
−
−
=
λ
⎪
⎪
⎩
⎪
⎪
⎨
⎧
=
+
≠
−
−
=
.,
2
3
;,
1
2
1
12
12
QPесли
y
ax
QPесли
xx
yy
λ
Вычисляем 2G:
⎟
⎠
⎞
⎜
⎝
⎛
=
+−
≡
−
=
×
−
= 375
2
7511
751mod375
2
1
12
1)0(3
2
λ
751mod18814062500375
2
3
≡=−−=x
23mod93705011)1880(375
3
≡
−
=
−
−
=
y
Итак, мы нашли 2
G = (188, 93). Теперь находим 3G.
751mod368
92
188
193
0188
≡=
−
−
=
λ
751mod561352361880368
2
3
≡=−−=x
751mod419206071)560(368
3
≡
=
−
−
=y
Таким образом, мы нашли точку kG
=
(
)
1,03
⋅
= (56, 419).
Вычисляем
m
P + k
B
P = (66, 552) +
⋅
3 (406, 397) = (301, 734).
В результате:
m
C = {(56, 419), (301, 734)}.
Пользователь B для расшифрования сообщения должен провести следующие вы-
числения:
m
P + k
B
P –
B
n (kG) =
m
P + k (
B
n G) –
B
n (kG) = (301, 734) – ⋅45 (56, 419) = (301,
734) + (175, 559) = (66, 552).
После этого пользователь B по алфавиту определяет открытый буквенный текст:
точке (66, 552) соответствует строчная латинская буква «A».
3) Пример генерации и проверки подписи.
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »