Атаки на эллиптические кривые
Скачать 191.67 Kb.
|
Реализация математического аппарата эллиптической кривойНаряду с фундаментальными алгебраическими аспектами эллиптических кривых особое внимание уделяется вопросам эффективной реализации базовых операций основанных на них криптографических протоколов с учетом особенностей и возможностей компьютера. [10] По существу, речь идет о расширении его функциональных возможностей позволяющем эффективную реализацию операций в конечных полях и в группах точек эллиптических кривых. Это расширение допускает как чисто программные, так и технические, па основе синтеза логических схем. решения. Я использовал все возможности достижения высокой скорости выполне- ния операции, как чисто программные, так и принципиально алгоритмические. Приемы первого рода - программными «трюками», они позволяют повышать скорость выполнения операций «в разы», то есть уменьшают константу в оценке сложности операции. К таким «трюкам» относится, например, табулирование некоторых операции над байтами (умножение, возведение в квадрат, подсчет числа единиц, вычисление частного от деления на многочлен 1+х,метод ускорения приведения по модулю неприводимого «малочлена» и другие). Разработка велась на VB, для того чтобы сохранить универсальность и сравнимость реализации алгебраических преобразовании. Приемы второго рода базируются на выдающихся научных открытиях в Формирование ключей алгоритма Эль-ГамаляСекретным ключом может являться любое натуральное число x. Для определения открытого ключа вычисляется число у по формуле (3.1): у = 𝑔𝑥(𝑚𝑜𝑑 𝑝) (3.1) Группа чисел (p,g,y) – открытый ключ. Шифрование Сообщение в этой системе представляется как элемент m. Для его шифрования поступают следующим образом: 1. Генерируют случайный ключ k – взаимнопростой с p – 1, что 1 ≤ k ≤ p – 1; 2. Вычисляют 𝐶1 = 𝑔𝑘(𝑚𝑜𝑑 𝑝); 3. Находят С2 = 𝑚 × 𝑦𝑘(𝑚𝑜𝑑 𝑝); 4. Выдают получившийся шифротекст в виде пары С = (C1,С2). Заметим, что при каждом шифровании применяется свой кратковременный ключ. Поэтому, шифруя одно сообщение дважды, мы получаем разные шифротексты. Дешифрование Чтобы расшифровать пару данных С = (C1,C2), производят следующие преобразования: (𝐶2/𝐶1𝑥)(𝑚𝑜𝑑 𝑝) = ((𝑚 × 𝑦𝑘)/𝑔𝑘𝑥) (𝑚𝑜𝑑 𝑝) = (𝑚 × 𝑔𝑘𝑥)/𝑔𝑘𝑥 = 𝑚. (3.2) Формула (3.2) является доказательством того, что преобразование является верным. Достоинства системы Эль-Гамаль: Каждый пользователь системы должен выбрать случайное число и сделать не сложное вычисление, которая требует, чтобы каждый пользователь системы находил два больших простых числа, что является сложной вычислительной задачей. Каждый раз при шифровании используем свой кратковременный ключ. При заданном уровне стойкости алгоритма целые числа, участвующие в вычислениях, имеют запись на 25% короче, что уменьшает сложность вычислений почти в два раза и позволяет заметно сократить объем используемой памяти.[9] |