Теоретические сведения

В алгоритме ECES (Elliptic Curve Encryption Scheme) на первом этапе должны быть определены параметры, являющиеся общей открытой информацией, для всех пользователей системы:

· подгруппа точек эллиптической кривой q (в данном примере примем q = р);

· конечное поле GF(q);

· эллиптическая кривая E(GF(q));

· точка Р, координаты которой имеют порядок, что и число р.

Каждый пользователь системы генерирует пару ключей следующим образом:

· выбирает случайное целое число d, 1 < d < р-1

· вычисляет точку О = dP.

При этом секретным ключом пользователя является число d, открытым ключом – точка Q. Обмен конфиденциальной информацией производится в два этапа. Рассмотрим детально процесс обмена информацией между пользователями сети (а точнее между отправителем и получателем В). Методика выполнения пунктов 1-6 подробно описана в предыдущем алгоритме.

Действия отправителя:

1. Выбираем случайным образом число р, с учетом вьшолнения условий: р>3;

2. Выбор коэффициениов эллиптической кривой а и b:

3. Проверяем выполнение условия

 

 

4. Выбираем случайным образом координату X точки эллиптической кривой;

5. Вычисляем значение координаты точки У,

 

;

 

6. Определяем поле Галуа GF(p), а также количество точек на эллиптической кривой p.

7. Выбираем точку Р, координаты которой имеют порядок, что и число p

8. Определяет порядок подгруппы группы точек эллиптической кривой q;

9. После чего отправитель пересылает получателю следующие данные:

· конечное поле GF(q);

· эллиптическую кривая E(GF(q));

· порядок подгруппы группы точек эллиптической кривой q;

· точку Р.

10. Выбираем случайное число КсA - секретный ключ отправителя,

1 < КсА < p-1;

11. Вычисляем точку КоА - открытый ключ отправителя КоА = КсAР;

12. Выбираем случайное число k (2-й секретный ключ отправителя),

1 < k < p-1;

13. Вычисляем точку кР (которая является первой точкой криптограммы);

Действия получателя:

14. Выбираем случайное число КсB - секретный ключ получателя, 1 < КсВ <p - 1;

15. Вычисляем точку КоВ - открытый ключ отправителя КсB = КсB Р;

16. Отправляем получателю свой открытый ключ КoB;

Действия отправителя:

17. Разбиваем исходное сообщение на блоки (символы ASCII (CP Win 1251));

18. Шифруем исходное сообщение в точки эллиптической кривой (вторая часть криптограммы),

 

;


19. Отправляем криптограмму C,

 

;

 

Действия получателя:

20. Получатель получив криптограмму, умножает ее первую часть (первую точку кР) на собственный секретный ключ КсВ и получает результат КсВ(кР);

21. Вычитает полученный результат КсВ(кР) из точек второй части криптограммы в результате чего получает исходное сообщение.

 




Специальный раздел


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: