top of page
                                    Лабораторная работа №7
   Тема: Выполнение операций с точками эллиптической кривой
Цель Работы: зашифровать открытый текст на эллиптических кривых

Теоретическая часть:

Большинство продуктов и стандартов, в которых для шифрования и проверки подлинности применяются методы криптографии с открытым ключом, базируется на алго- ритме RSA. Однако число битов ключа, необходимое для надежной защиты данных при использовании RSA за последние годы резко возросло, что обусловило соответствующий рост загрузки систем, использующих RSA. Криптография на основе эллиптических кривых (ECC – Elliptic Curve Cryptography) – появившийся сравнительно недавно подход, способный конкурировать с RSA. Привлекательность подхода на основе эллиптических кривых в сравнении с RSA заключается в том, что с использованием эллиптических кривых обеспечивается эквива- лентный уровень защиты при значительно меньшем числе разрядов, вследствие чего уменьшается загрузка процессора. В то же время, хотя теория криптографии с использо- ванием эллиптических кривых у всех на слуху уже в течение достаточно долгого времени, только недавно начали появляться продукты, представляющие интерес для криптоанализа на предмет наличия соответствующих слабых мест. Таким образом, степень доверия к ме- тодам криптографии с использованием эллиптических кривых еще не настолько высока, как степень доверия к RSA. Операция сложения в криптографии на основе эллиптических кривых является аналогом операции умножения по модулю простого числа в RSA, а многократное повтор ное сложение – аналогом возведения в степень. Чтобы построить криптографическую систему, используя эллиптические кривые, нужно найти «трудную проблему», соответствующую разложению на множители произведения двух простых чисел или дискретному логарифмированию.

Пример шифрования

Пусть выбрана генерирующая точка G = (0,1). Предположим, пользователь А решил отправить пользователю B сообщение: строчную латинскую букву «A». В нашем алфавите эта буква кодируется точкой Pm = (66, 522). Пусть пользователь А выбрал случайное значение k = 3, а открытым ключом B является точка PB=(406, 397), при этом секретным ключом B является число nb = 45 .

Шифрованный текст имеет вид Cm = {kG, Pm + kPB}.

Находим kG = 3×(0,1).

Для нахождения 3G используем правила сложения точек эллиптической кривой. Напомним их:

Вычисляем 2G:

 

Итак, мы нашли 2G = (188, 93). Теперь находим 3G:

Таким образом, мы нашли точку kG = 3· (0, 1) = (56, 419).

Вычисляем Pm + kPB = (66, 552) + 3·(406, 397) = (301, 734).

В результате: Cm = {(56, 419), (301, 734)}.

Пользователь B для расшифрования сообщения должен провести следующие вычисления:

После этого пользователь B по алфавиту определяет открытый буквенный текст: точке (66, 552) соответствует строчная латинская буква «A».

Алфавит представляет собой множество символов языка открытых текстов и соответствующих им текстов эллиптической кривой над конечным полем.

Для заданий лабораторной работы выбрана кривая E751( -1,1), т.е. y2=x3-x+1 (mod 751). Предлагается следующий (один из возможных) алфавит, приведенный в таблице.

Таблица. Алфавит точек эллиптической кривой для выполнения лабораторных работ

Заметим, что мощность множества точек на этой кривой N = 727, поэтому при необходимости можно точками закодировать и некоторые специальные знаки (например, знак интеграла и т.п.), а также целые слова.

Варианты заданий

bottom of page