RU2376651C2 - Использование изогений для разработки криптосистем - Google Patents

Использование изогений для разработки криптосистем Download PDF

Info

Publication number
RU2376651C2
RU2376651C2 RU2004132057/09A RU2004132057A RU2376651C2 RU 2376651 C2 RU2376651 C2 RU 2376651C2 RU 2004132057/09 A RU2004132057/09 A RU 2004132057/09A RU 2004132057 A RU2004132057 A RU 2004132057A RU 2376651 C2 RU2376651 C2 RU 2376651C2
Authority
RU
Russia
Prior art keywords
isogeny
pairing
computer
elliptic curve
points
Prior art date
Application number
RU2004132057/09A
Other languages
English (en)
Other versions
RU2004132057A (ru
Inventor
Дэвид И. ДЖАО (US)
Дэвид И. ДЖАО
Рамаратнам ВЕНКАТЕСАН (US)
Рамаратнам ВЕНКАТЕСАН
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2004132057A publication Critical patent/RU2004132057A/ru
Application granted granted Critical
Publication of RU2376651C2 publication Critical patent/RU2376651C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3257Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Dental Preparations (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Glass Compositions (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Complex Calculations (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)

Abstract

Изобретение относится к области шифрования с открытым ключом. Технический результат заключается в повышении защищенности криптосистем. Сущность изобретения заключается в том, что изогении абелевых множеств (например, эллиптических кривых, в одномерном случае) используются для обеспечения системы шифрования с открытым ключом. Например, изогении допускают использования множества кривых вместо единственной кривой для обеспечения большей надежности. Данные методы могут быть применены в способах идентификационного шифрования (IBE) и цифровой подписи. Кроме того, изогении могут быть использованы в других приложениях, таких как слепая подпись, иерархических системах и тому подобном. Дополнительно раскрыты решения для генерации изогении. 4 н. и 31 з.п. ф-лы, 6 ил.

Description

РОДСТВЕННЫЕ ПАТЕНТНЫЕ ЗАЯВКИ
Данная заявка испрашивает приоритет предварительной патентной заявки США № 60/517,142 от 3 ноября 2003 г. на "Использование изогений для разработки криптосистем", раскрытие которой включено в данный документ посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
Данное изобретение относится к криптологии, в частности к использованию изогений для разработки криптосистем.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Поскольку цифровая связь становится все более распространенной, потребность в обеспечении защищенности каналов связи становится все более и более важной. Например, современные технологии позволяют пользователю дистанционно обращаться к счетам в банке, медицинским данным и другой частной и конфиденциальной информации.
Криптология широко используется для обеспечения защищенной цифровой связи. Криптология в принципе относится к зашифровыванию (или шифрованию) и расшифровыванию (дешифрованию) сообщений. Шифрование и дешифрование используют некоторую секретную информацию (такую как ключ). В различных методах шифрования единственный ключ или множество ключей могут быть использованы для шифрования и дешифрования.
Одной широко используемой криптосистемой с множественным ключом является система шифрования с открытым ключом. В криптосистеме с открытым ключом отправитель, желающий послать зашифрованное сообщение получателю, получает аутентифицированный (заверенный) открытый ключ для получателя, который генерируется с использованием секретного ключа. Как следует из названия, открытый ключ может быть доступен из общедоступных источников. Кроме того, чтобы избежать попыток взлома криптосистемы с использованием злоумышленником открытого ключа другого человека, часто проводится проверка подлинности открытого ключа. Проверка подлинности открытого ключа может быть реализована при помощи обмена ключами по защищенному каналу, использования защищенного открытого файла, использования защищенного сетевого сервера или использования несетевого сервера и сертификатов.
После получения аутентифицированного (т.е. подлинного) открытого ключа отправитель шифрует исходное сообщение с использованием открытого ключа и генерирует шифротекст. Санкционированный получатель затем использует секретный ключ, чтобы дешифровать шифротекст и извлечь исходное сообщение. Предполагается, что задача расшифровки шифротекста, без доступа к секретному ключу, является нерешаемой. Соответственно, только сторона, имеющая доступ к секретному ключу, может успешно расшифровать шифротекст.
Одним существенным преимуществом систем с открытым ключом над симметричными криптосистемами (например, системами поточного шифрования или блочного шифрования) является то, что при двустороннем обмене информацией только секретный ключ должен храниться в секрете (тогда как в симметричных криптосистемах ключ хранится в секрете обеими сторонами).
Существующие в настоящее время криптосистемы с открытым ключом используют эллиптические кривые определенного рода, построенные на конечных полях. Пара опубликованных значений, выведенных на основании уравнения эллиптической кривой, используется в качестве открытого ключа (включая точки на кривой и соответствующие им открытые ключи, сгенерированные при помощи простого (то есть целочисленного умножения на кривой). Верификация производится с использованием билинейных пар для кривой.
В общем случае считается, что эллиптические кривые обеспечивают криптосистемы с относительно более низкими требованиями к процессу передачи информации по сравнению с традиционными криптосистемами типа РША (шифр Ривеста-Шамира-Адлемана с открытым ключом), поддерживая такой же уровень безопасности.
Проблема современных криптосистем с открытым ключом заключается в том, что не может быть доказана защищенность ни одной из них. В результате защищенность данной криптосистемы с открытым ключом предполагается на основании сложности некоего набора теоретико-числовых проблем.
Соответственно, требуются криптосистемы с открытым ключом, обеспечивающие дополнительную защищенность.
КРАТКОЕ ОПИСАНИЕ
Заявлены способы, позволяющие создать криптосистему с открытым ключом. Более подробно, изогении абелевых множеств (например, эллиптические кривые в одномерном случае) используются для создания криптосистемы с открытым ключом. Например, изогении допускают использование множества кривых вместо единственной кривой для обеспечения большей защищенности. Способы могут быть использованы для цифровой подписи и/или для способов идентификационного шифрования (IBE). Кроме того, изогении могут быть использованы для других приложений, например "слепой" подписи, иерархических систем, и тому подобных. Кроме того, раскрыты решения для формирования изогений.
В одной из описанных реализаций способ включает в себя опубликование открытого ключа, соответствующего изогении. Далее способ включает дешифрование зашифрованного сообщения с использованием ключа дешифрования, соответствующего изогении (например, ее дуальной изогении).
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Детальное описание приводится со ссылками на прилагаемые чертежи. На чертежах самая левая цифра(цифры) ссылочной позиции указывает на чертеж, на котором данная ссылочная позиция встречается впервые. Использование одинаковых ссылочных позиций на разных чертежах указывает на аналогичные или идентичные объекты.
Фиг.1 иллюстрирует примерный способ использования изогений в криптосистеме.
Фиг.2 иллюстрирует примерное отображение изогений между двумя кривыми.
Фиг.3 иллюстрирует примерный способ подписи сообщения с использованием изогений.
Фиг.4 иллюстрирует примерное отображение изогений между множеством кривых.
Фиг.5 иллюстрирует примерный способ идентификационного шифрования (IBE) с использованием изогений.
Фиг.6 иллюстрирует вычислительную среду 600 общего назначения, которая может быть использована для реализации описанных здесь методик.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Дальнейшее обсуждение подразумевает, что читатель знаком с методами криптографии. Для общего введения в криптографию читатель отсылается к кн.: A Menezes, P. van Oorschot, and S. Vanstone, "Handbook of Applied Cryptography", пятое изд. (август 2001), выпущенной издательством CRC Press.
Приведенное ниже раскрытие описывает методы улучшения систем с открытым ключом, основанные на множественных эллиптических кривых (или абелевых множествах, в общем случае). Раскрыты различные методы генерирования изогений (или отображений) между кривыми. Сгенерированные изогении допускают использование множества кривых вместо единственной кривой, для того чтобы обеспечить открытость шифрования. Кроме того, эти методы могут быть применены к относительно коротким цифровым подписям (например, введенным пользователем или посланным по узкополосным каналам связи) и/или к методам идентификационного шифрования (например, допускающим запоминающиеся открытые ключи). Так же короткие подписи могут обеспечить дополнительную эффективность за счет комплексной верификации.
Обзор криптосистем с использованием изогений
Фиг.1 иллюстрирует примерный способ 100 использования изогений в криптосистемах. На стадии 102 генерируются изогении (эллиптических кривых, или абелевых множеств, в более общем случае). Изогении могут быть сгенерированы принимающей стороной или другой стороной (например, доверенной стороной, как описано ниже со ссылкой на Фиг.5). На стадии 102 также могут быть сгенерированы соответствующие дуальные изогении для каждой сгенерированной изогении (как описано ниже). Различные способы генерации изогений рассмотрены подробно в соответствующем разделе. Кроме того, как детально описано ниже со ссылкой на Фиг.3 и 5, сгенерированные изогении используются для получения открытых ключей, и эти открытые ключи опубликовываются (104). Открытые ключи могут быть опубликованы передающей стороной или доверительным центром (см., например, описание Фиг.3 и 5).
Затем передающая сторона шифрует (или подписывает) сообщения при помощи ключа шифрования (106). Зашифрованные сообщения на стадии 106 могут быть верифицированы/дешифрованы принимающей стороной при помощи ключа дешифровки, чтобы определить подлинность шифрования или подписи (108). В одной реализации, для проверки зашифрованных сообщений, используется образование пар по Вейлу (как описано в соответствующем разделе), которое, однако, не является единственным примером образования пар, использующегося для верификации или дешифровки. Например, может быть использован другой метод билинейного и/или невырожденного образования пар, например, по Тейту или квадратичное образование пар.
Обзор изогений
Фиг.2 иллюстрирует примерное отображение изогений 200 между двумя кривыми (например, эллиптическими). Как показано, кривая E1 может отображаться на кривую E2 посредством изогении ϕ (где
Figure 00000001
). Фиг.1 также показывает дуальную изогению
Figure 00000002
(где
Figure 00000003
).
В различных реализациях использования изогений в криптосистемах стараются обеспечить следующие свойства: для данной кривой E1 генерирование пары (ϕ,E2) достаточно эффективно, где
Figure 00000004
- изогения, но для заданной пары (E1, E2) изогенных кривых предполагается, что достаточно трудно построить ненулевую изогению
Figure 00000004
, которая будет много меньше заданной изогении. Таким образом, если разделить глобальный взлом (определяемый как вычисление, позволяющее взломать любое последующее сообщение в полиномиальное время) и поэтапный взлом, то наилучшая из известных в настоящее время атак на криптосистемы на основе изогений требует или существенно большего времени, чем дискретное логарифмирование, в случае глобального взлома и или одного дискретного логарифмирования на одно сообщение в случае простого поэтапного взлома.
Для примера рассмотрим систему лексем, в которой каждому клиенту выдается определенное снабженное подписью сообщение, предоставляющее доступ к определенному сервису (которое может иметь невысокое значение), клиент может зачитать лексему по телефону уполномоченному лицу, и таким образом цифровые подписи могут быть относительно короткими. В таком случае разумно использовать достаточно большие параметры, с тем чтобы сделать взлом отдельного сообщения более затратным чем стоимость предоставляемого сервиса, сохранив при этом, неприемлемо высокими затраты на глобальный взлом.
Подробное описание изогений
Поле k может быть упорядоченно при помощи характеристики p, содержащей q элементов и имеющее алгебраическое замыкание
Figure 00000005
. Пусть E/k есть эллиптическая кривая, определенная по полю k, и E/k есть группа, определенная по k, и k(E) обозначает поле функции эллиптической кривой. Также пусть [n]E или [n] обозначает отображение
Figure 00000006
на E, а E[n] обозначает ядро этого отображения.
Изогения
Figure 00000004
есть непостоянный морфизм, преобразующий нулевой элемент E1 в соответствующий элемент E2. Если такая изогения существует, можно сказать, что E1 и E2 изогенны. Изогения определена по k, если ϕ определяется уравнениями с коэффициентами, принадлежащими k. Также оказывается, что для любой изогении выполняется гомоморфизм групп, то есть
Figure 00000007
для всех
Figure 00000008
, где сложение в левой части есть групповой закон на E1, а сложение в правой части - на E2. Следовательно, ядро ϕ является подгруппой E1.
Пусть
Figure 00000009
обозначает множество изогений от E1 и E2, определенных по k.
Figure 00000010
обозначим, как
Figure 00000009
. Для любой изогении
Figure 00000011
существует дуальная изогения
Figure 00000012
такая, что:
Figure 00000013
и
Figure 00000014
,
где
Figure 00000015
есть степень изогении. Дуальная изогения удовлетворяет стандартным свойствам
Figure 00000016
В одной реализации степень ϕ как конечное отображение может быть в дальнейшем определена как степень расширения k(E1) над прообразом (по ϕ) поля k(E2), где ϕ определена по k. Удобно рассматривать ее в терминах размера ее ядра (предполагая, что расширение поля функции сепарабельно) или при помощи приведенного выше уравнения. Поэтому говорят, что изогения имеет гладкость B-го порядка, если ее степень имеет гладкость B-го порядка (другими словами, простой дивизор для
Figure 00000017
меньше либо равен B). Множество
Figure 00000018
эндоморфизмов эллиптической кривой обозначим
Figure 00000019
; это множество имеет циклическую структуру, задаваемую определением:
Figure 00000020
,
Figure 00000021
.
В общем случае группа
Figure 00000022
является свободным левым
Figure 00000023
и правым
Figure 00000024
модулем кручения. Когда
Figure 00000025
, алгебраическая структура более богата:
Figure 00000026
является циклом (а не просто модулем) без нулевых дивизоров и имеет характеристический ноль.
В одном варианте реализации это может рассматриваться как структура: пусть E есть эллиптическая кривая, определенная по некоторому полю k. Тогда
Figure 00000027
изоморфно или к рангу Z квадратичного мнимого поля, или к максимальному рангу в алгебре кватернионов. Для любых двух эллиптических кривых E1, E2 группа
Figure 00000028
является свободным Z-модулем с рангом, не превышающим 4. Если
Figure 00000027
больше чем Z, можно сказать, что E обладает комплексным умножением. Элемент в
Figure 00000027
, соответствующий фробениусовому эндоморфизму
Figure 00000029
, обозначается π и удовлетворяет характеристическому уравнению
Figure 00000030
. Кондуктор эллиптической кривой с равен
Figure 00000031
.
Образование пар по Вейлу
Образование пар по Вейлу
Figure 00000032
представляет собой билинейное, невырожденное отображение со значениями в группе n-ных корней из единицы в k. В одном варианте реализации образование пар по Вейлу используется для выполнения стадии 108 верификации/дешифрования на Фиг.1. Тем не менее, образование пар по Вейлу не является единственным примером образования пар, которое может быть использовано для верификации или шифрования. Например, может быть использован другой метод билинейного и/или невырожденного образования пар, такой как образование пар по Тейту или квадратичное образование пар. Образование пар по Вейлу удовлетворяет следующему уравнению:
Figure 00000033
, где
Figure 00000034
,
Figure 00000035
,
здесь
Figure 00000036
есть вычисление для образования пар на E1, а
Figure 00000037
- на E2. Заметим, что обе кривые имеют точки кручения n-го порядка, каждая из которых накладывает ограничение на соответствующие порядки групп. Это не создает проблемы, так как по теореме Тейта k(E1) и k(E2) изогенны по k тогда и только тогда, когда две группы точек имеют одинаковый порядок.
При образовании пар по Вейлу оценивается идентичность для всех линейно зависимых входных пар. Следовательно, полезен механизм, позволяющий удостовериться в том, что входные пары не являются скалярными произведениями друг друга. Один из подходов заключается в использовании кривой E2, определенной по конечному полю k, достаточно большому, для того чтобы полная группа
Figure 00000038
точек кручения n-го порядка определялась по k. В этом случае вероятность того, что два случайно выбранных элемента группы
Figure 00000039
линейно зависимы, пренебрежимо мала, порядка 1/n, и таким образом результат образования пар по Вейлу может быть нетривиальным с высокой вероятностью. Приведенное выше уравнение гарантирует, что распределение парных значений на E1 будет соответствовать распределению на E2.
В качестве альтернативы может быть использована модифицированная функция пересчета пар
Figure 00000040
, где λ - любой нескалярный эндоморфизм, такой что P и λ(P) линейно независимы и
Figure 00000041
. Такое отображение λ называется дисторсией или изгибом E.
Формирование изогений
В различных вариантах реализации ряд способов может быть использован для построения изогений высокой степени (например, эллиптических кривых или абелевых множеств в более общем случае) и дуальных к ним, как описано со ссылкой на стадию 102, представленную на Фиг.1. Короткая цифровая подпись или идентификационные (IBE) криптосистемы, описываемые здесь, могут придерживаться соглашения о том, что пары значений
Figure 00000042
опубликовываются в качестве открытого ключа, а оценка дуальной изогении
Figure 00000043
является секретным ключом.
В одном из вариантов реализации формирование может быть кратко описано следующим образом: для любого заданного E существует алгоритм построения изогений
Figure 00000044
, степени n которых распределены случайным образом и являются простым числом с вероятностью
Figure 00000045
; для любой заданной кривой E1 существует алгоритм формирования случайных изогений, имеющих гладкость B-го порядка, из E1 к случайным целям за время
Figure 00000046
; и для заданных E1, E2 и двух линейно независимых изогений в
Figure 00000047
, имеющих взаимно простые степени, существует алгоритм формирования изогений с простыми степенями (как описано ниже для независимых изогений).
Комплексное умножение изогений
Пусть, как и ранее,
Figure 00000048
, и предположим, что E1 обладает комплексным умножением (CM) на мнимый квадратичный порядок OD с дискриминантом
Figure 00000049
. Вероятностный алгоритм для построений такой кривой E1 вместе с эндоморфизмом ϕ над E1 большой простой степени, в полиномиальное по
Figure 00000050
время, может быть описан следующим образом.
1. Вычислить гильбертов полином
Figure 00000051
с дискриминантом D. Пусть K обозначает поле разложения
Figure 00000051
по Q.
2. Выбрать любой корень x полинома
Figure 00000052
и построить эллиптическую кривую E по C, такую, что ее инвариант j равен x. Отметим, что E определена для поля чисел K.
3. Кривая E обладает комплексным умножением на
Figure 00000053
по построению. Используя линейную алгебру q-расширений, найти в явном виде рациональную функцию
Figure 00000054
с коэффициентами из K, соответствующую изогении
Figure 00000055
4. Выбрать случайные целые a и b до тех пор, пока
Figure 00000056
не станет простым числом. В этом случае изогения
Figure 00000057
будет эндоморфизмом E с простой степенью.
5. Выбрать любой простой идеал P поля K и редуцировать коэффициенты E и I по модулю P. Пусть E1 обозначает редукцию E, а ϕ - редукцию
Figure 00000058
Стадии 1-3 данного алгоритма детерминированы и требуют полиномиального по
Figure 00000059
времени. Что касается стадии 4, из теоремы простых чисел в числовом поле следует, что вероятность нахождения
Figure 00000060
, являющегося простым числом, равна
Figure 00000061
, таким образом, для целых чисел a и b мощности n можно ожидать завершения стадии 4 после
Figure 00000062
попыток.
Найденный эндоморфизм ϕ есть эндоморфизм кривой E1 с простой степенью. Изогения ϕ и дуальная к ней
Figure 00000063
могут быть вычислены, если известны числа a и b, с использованием рациональной функции
Figure 00000064
, комплексного умножения и сложения. Такая изогения ϕ может быть названа CM-изогенией.
Модулярные изогении
Для любого простого числа
Figure 00000065
модулярная кривая
Figure 00000066
задает в неявной форме изоморфизм класса изогений
Figure 00000067
степени
Figure 00000065
. А именно существует полиномиальное уравнение
Figure 00000068
для
Figure 00000069
такое, что E1 и E2
Figure 00000065
-изогенны тогда и только тогда, когда
Figure 00000070
.
Используя полином
Figure 00000068
, можно вычислить
Figure 00000065
-изогенную кривую E2 для любой E1 вместе с явным полиномиальным уравнением для степени
Figure 00000065
изогении
Figure 00000071
. Так как модулярный полином симметричен по X и Y, вычисление с обращенными инвариантами j может быть использовано для нахождения дуальной изогении.
На практике лучше не использовать полиномы
Figure 00000072
для реальных вычислений, потому что коэффициенты этих полиномов очень велики. Вместо них могут быть использованы другие эквивалентные полиномиальные модели для
Figure 00000073
с меньшими коэффициентами. Безотносительно к точности, использованной для вычисления модели, изогении, выведенные таким способом, могут называться модулярными изогениями.
Как правило, известные в настоящий момент алгоритмы для вычисления модулярных изогений выполнимы для малых значений
Figure 00000065
. Само по себе использование модулярных изогений малых степеней не сильно увеличивает надежность шифра, так как нарушитель, знающий кривые E1 и E2, может проверить, являются ли они
Figure 00000065
-изогенными для каждого
Figure 00000065
, и восстановить
Figure 00000065
-изогению в случае положительного результата проверки. Тем не менее, можно скомпоновать множество модулярных изогений (например, для разных
Figure 00000065
) в одну изогению ϕ с большой степенью гладкости
Figure 00000074
и использовать ϕ в качестве изогений без раскрытия промежуточных кривых. Нарушитель, способный вычислять
Figure 00000075
в произвольных точках, все еще сможет вывести простые числа
Figure 00000065
при помощи расчета всех точек кручения
Figure 00000065
-го порядка на E1 и проверки, сводятся ли к нулю какие-нибудь из них при применении ϕ. Тем не менее, если предположить, что проблема вычисления дуальных изогений сложна, нарушитель не сможет вычислить значения ϕ в точках по своему выбору. В процессе реализации, для улучшения, можно скомпоновать результирующую изогению или со скалярными изогениями, или с CM-изогениями, для того чтобы ввести большие негладкие множители степени.
Линейно независимые изогении
В одной из реализаций линейно независимые изогении ϕ и ψ задаются на E1 и E2 с взаимно простыми степенями. В результате линейная комбинация
Figure 00000076
имеет степень, задаваемую квадратичной формой
Figure 00000077
с двумя переменными a и b. Заметим, что коэффициенты квадратичной формы - целые числа, так как внешние коэффициенты есть степени ϕ и ψ, а средний коэффициент равен
Figure 00000078
. Так как квадратичная форма является примитивной, она принимает значения, являющиеся простыми числами бесконечно часто, когда a и b изменяются по всем парам
Figure 00000079
. Таким образом, может быть получено множество изогений
Figure 00000080
с большими негладкими (и даже простыми) степенями. Также можно оценить вероятность того, что результирующая степень будет негладкой.
Схемы короткой цифровой подписи с использованием изогений
В возможной реализации описываемые методы могут быть применены к схемам с относительно короткими цифровыми подписями (например, введенными пользователем или посланными по узкополосным каналам связи). Ниже описаны две схемы цифровой подписи, частично базирующиеся на математических свойствах изогений и образовании пар эллиптических кривых.
Цифровая подпись на инвариантах Галуа
Обозначим
Figure 00000081
расширение конечных полей степени n. Возьмем эллиптическую кривую E1, определенную по Fq, вместе с изогенией
Figure 00000082
, определенной по Fq”, где E2 есть эллиптическая кривая, определенная по Fq'. В одной реализации кривая E2 определена для L, а не для подполя от L, тем не менее, возможно использование E2, определенной только для подполя. Однако изогения ϕ может быть неопределенна по любому надлежащему подполю Fq'. Более того, изогения ϕ может генерироваться в соответствии с методами, описанными выше.
Фиг.3 иллюстрирует примерный метод 300 для подписи сообщения с использованием изогений. Метод 300 включает следующие стадии:
Открытый ключ. Взять случайное
Figure 00000083
и опубликовать
Figure 00000084
(302), где
Figure 00000085
. Заметим, что P определено по Fq, но Q не определено по Fq, так как ϕ не определено по Fq.
Секретный ключ. Дуальная изогения
Figure 00000086
к ϕ.
Цифровая подпись. Пусть H есть (открытый) случайный оракул из пространства сообщения на множество точек кручения k-го порядка на E2. Для данного сообщения m вычислить
Figure 00000087
(стадия 304, обеспечивающая подпись при помощи секретного ключа, сгенерированного, как описано выше), где π есть фробениусово отображение мощности q, а сумма обозначает сумму эллиптической кривой на E1. Для удобства обозначим оператор
Figure 00000088
как Tr (от английского слова "trace"). Вывести
Figure 00000089
в качестве подписи. Затем подпись посылается и получается принимающей стороной (306 и 308, соответственно). Заметим, что группа Галуа для Fq'/Fq есть
Figure 00000090
, так что S есть инвариант Галуа, и таким образом определена по Fq.
Проверка. Пусть e1 и e2 обозначают пары по Вейлу на
Figure 00000091
и
Figure 00000092
, соответственно. Для данного открытого ключа
Figure 00000093
и пары
Figure 00000094
сообщение-подпись проверить, выполняется ли соотношение
Figure 00000095
(стадия 310, проверяющая полученную сигнатуру с использованием открытого ключа, сгенерированного как описано выше). Соответственно подлинная подпись удовлетворяет данному уравнению, как следует ниже:
Figure 00000096
Также отображение следа может быть применено к базовому полю, для того чтобы сократить количество точек на эллиптической кривой (или любом абелевом множестве в более общем случае). Другими словами, вывод отображения следа на эллиптические кривые (или абелевых множеств более высокой размерности) может быть использован как способ для укорачивания представления точки по полю расширения с использованием данных по меньшему полю.
Подписание с использованием множественных эллиптических кривых
Другой способ увеличения устойчивости схем, использующих короткую подпись, заключается в применении множественных открытых ключей и сложении результирующих цифровых подписей. Эта модификация может быть использована отдельно или в комбинации с расширением на основе инварианта Галуа, описанного выше.
Со ссылкой на Фиг.4 предположим, что существует семейство изогений
Figure 00000097
и семейство хэш-функций Hi случайного оракула, каждое из которых отображает сообщение m в точку на эллиптической кривой Ei. Аналогично стадиям, обсужденным со ссылкой на Фиг.3:
Открытый ключ. Взять случайное
Figure 00000098
и опубликовать
Figure 00000099
(см., например, 302), где
Figure 00000100
.
Секретный ключ. Семейство изогений ϕi.
Цифровая подпись. Для каждого сообщения m цифровой подписью для m(S) является
Figure 00000101
(см., например, 304). Затем подписанное сообщение отправляется принимающей стороне (см., например, 306).
Проверка. Для данной пары (сообщение, подпись) проверить, выполняется ли соотношение
Figure 00000102
(см., например, стадию 306, описанную со ссылкой на Фиг.3). Для подлинной подписи это уравнение имеет место, так как:
Figure 00000103
.
Предполагается, что такая система по меньшей мере так же надежна, как и система, использующая единственную изогению, так как тот, кто может взломать версию системы, использующую множество изогений, может свести версию, использующую единственную изогению, к множественной, добавлением изогений
Figure 00000104
, по своему усмотрению. Более того, для подобных систем успешная атака на версию системы с множеством изогений требует одновременного взлома всех единичных изогений от ϕ1 до ϕn.
Схема идентификационного шифрования (IBE) с изогениями
Фиг.5 иллюстрирует примерный способ 500 для идентификационного шифрования (IBE) с использованием изогений. Считается, что использование необратимых изогений между эллиптическими кривыми делает схему идентификационного шифрования (IBE) потенциально более надежной, по сравнению с использованием программно реализуемой системы Диффи-Хеллмана (CHD). Схема IBE может быть определена следующим способом.
Отображение в точку: Определим оператор
Figure 00000105
для некоторой кривой E. Более определенно, можно вычислить
Figure 00000106
и использовать полученное значение для определения точки. Можно предположить, что H ведет себя подобно случайному оракулу. В качестве альтернативы, можно поддерживать таблицу точек и хэшировать
Figure 00000107
в случайную последовательность весов, а затем вычислить взвешенную сумму. Также можно предположить, что существуют доверительный центр и конечное множество пользователей с некоторым
Figure 00000108
, при помощи которого можно вычислить соответствующий открытый ключ. Каждый пользователь получает свой секретный ключ после соответствующей идентификации доверительным центром.
Открытый ключ для доверительного центра:
Figure 00000109
,
Figure 00000110
. Соответственно доверительный центр (или другая организация, например, принимающая сторона) обеспечивает и публикует открытые ключи (502). Если используется изгиб λ, можно предположить, что
Figure 00000111
есть скрученный образ некоторой точки α.
Секретный ключ для доверительного центра: Эффективно вычисляемая
Figure 00000112
.
Например, передача зашифрованных данных от Боба к Алисе может быть реализована следующим образом:
Открытый ключ для Алисы:
Figure 00000113
предоставляется, например, посредством функции отображение-в-точку
Figure 00000114
(502) доверительным центром (или другой организацией, например принимающей стороной).
Секретный ключ для Алисы:
Figure 00000115
. Заметим, что атака, направленная на быстрое получение секретного ключа каждого клиента, будет требовать такого же времени, как для глобального взлома системы цифровой подписи (как описано выше). В результате эти системы можно также назвать двухуровневыми системами.
Шифрование, осуществляемое Бобом: Вычислить
Figure 00000116
(стадия 504, которая зашифровывает сообщение при помощи сгенерированного открытого ключа). Пусть сообщение обозначается как m. Выбрать случайное целое r. Послать Алисе пару (506):
Figure 00000117
Дешифрование, осуществляемое Алисой: Пусть зашифрованный текст будет обозначен как
Figure 00000118
. Отправленное зашифрованное сообщение дешифруется (508) с использованием секретного ключа (510), предоставленного доверительным центром (или другой организацией, например принимающей стороной) после соответствующей идентификации. В результате расшифрованный текст есть:
Figure 00000119
Эта схема работает, потому что величина, хэшированная на стадии шифрования, есть:
Figure 00000120
и равна величине, хэшированной на стадии дешифрования. Изогения может быть представлена, как описано ниже (например, с использованием вероятностного подхода, применяющего таблицу записей).
Задание изогений
Если изогения гладкая, то она может быть представлена как композиция изогений малой степени, задаваемых простой программой, представляющей собой вычисление полиномов. Для кривых, определенных по расширениям, представляющим интерес, при реализации достаточно небольшой таблицы пар входных-выходных данных.
Принимая во внимание
Figure 00000121
, может быть рассмотрено конечное расширение поля k, и это расширение может быть задано соответствующим образом. В одной из реализаций изогения определяется ее действием на группу точек в некотором конечном расширении базового поля. Заметим, что две изогении могут совпадать на некоторых расширениях, но при этом отличаться на больших полях. Соответственно, достаточно задать ϕ на наборе генераторов S. Как правило, эта группа циклическая или, как выше,
Figure 00000122
. Считается, что нелегко найти такие генераторы, но возможен случайный выбор S.
Более детально, как абелева группа
Figure 00000123
(напомним: k есть конечная группа, содержащая q элементов) изоморфна к
Figure 00000124
, где
Figure 00000125
,
Figure 00000126
и дополнительно
Figure 00000127
,
Figure 00000128
. Можно вычислить
Figure 00000125
с использованием алгоритма Шуфа, и если факторизация
Figure 00000129
известна, то n может быть получено при помощи рандомизированного полиномиального временного алгоритма. Если
Figure 00000130
и
Figure 00000131
имеют порядок n и m соответственно, они называются ступенчатыми генераторами, исходя из того, что любая точка может быть представлена как
Figure 00000132
, и алгоритм с
Figure 00000133
арифметическими операциями может быть использован для их построения.
Обращаясь к случайным выборкам (Эрдос-Реньи), допустим, что G есть конечная абелева группа, а
Figure 00000134
- случайные элементы G. Существует небольшая константа c такая, что суммы ее подмножества по существу равномерно распределены по G, если
Figure 00000135
. В частности, gi могут генерировать G. Для уменьшения размера таблицы можно использовать усиленные взвешенные суммы подмножества, а не суммы подмножества, когда порядок группы простое число. Это распространяется и на произвольные порядки с небольшой потерей параметров.
Более того, структура E(k) может быть использована для получения более подробной информации. Можно взять случайные точки Pi,
Figure 00000136
и записать их как
Figure 00000137
. Более подробно, можно выразить каждый ступенчатый генератор линейной комбинацией Pi, если матрица
Figure 00000138
обратима по модулю m (заметим, что
Figure 00000139
). В этом случае
Figure 00000140
будет генерировать группу. Заметим, что вероятность (для P1 и P2 одновременно) попасть в группу, сгенерированную
Figure 00000141
, равна
Figure 00000142
. Аналогично вероятность для группы, сгенерированной
Figure 00000143
, равна
Figure 00000144
. Таким образом, любое из этих двух событий не происходит с вероятностью
Figure 00000145
.
Аппаратная реализация
Фиг.6 иллюстрирует вычислительную среду 600 общего назначения, которая может быть использована для реализации описанных здесь методик. Например, вычислительная среда 600 может быть использована для исполнения инструкций, связанных с выполнением задач, обсужденных со ссылкой на предыдущие чертежи. Более того, каждый объект, упомянутый здесь (например, касательно Фиг.1, 3 и 5, такая как доверительная сторона, принимающая сторона, и/или передающая сторона) может иметь доступ к вычислительной среде общего назначения.
Вычислительная среда 600 является только примером вычислительной среды и не претендует на введение каких-либо ограничений в отношении области использования или функциональности компьютера и сетевой архитектуры. Вычислительная среда 600 не должна интерпретироваться, как имеющая какие-либо зависимости или требования по отношению к какой бы ни было комбинации компонентов, представленных в примерной вычислительной среде 600.
Вычислительная среда 600 включает вычислительное устройство общего назначения в форме компьютера 602. Компоненты компьютера 602 могут включать, но не ограничены упомянутыми, один или более процессоров или центральных процессоров 604 (по выбору, включающих криптографический процессор или сопроцессор), системную память 606 и системную шину 608, которая связывает различные системные компоненты, в том числе и процессор 604, с системной памятью 606.
Системная шина 608 представляет собой одну или более из любых типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт, и процессорную или локальную шину, использующую любую из возможных шинных архитектур. В качестве примера подобные архитектуры могут включать шину архитектуры, соответствующей промышленному стандарту (ISA), шину микроканальной архитектуры (MSA), шину архитектуры, соответствующей улучшенному промышленному стандарту (ЕISA), локальную шину с архитектурой ассоциации по стандартам в области видеоэлектроники (VESA), 32-разрядную системную шину с возможностью расширения до 64 разрядов (PCI), также известную как шина расширения.
Компьютер 602, как правило, имеет набор машиночитаемых носителей. Подобный носитель может быть любым имеющимся носителем, доступным для компьютера 602, и включает как энергозависимые, так и энергонезависимые запоминающие среды, съемные и несъемные носители.
Системная память 606 включает в себя машиночитаемый носитель в форме энергозависимой памяти, такой как память 610 с произвольной выборкой (RAM), и/или энергонезависимой памяти, такой как постоянное запоминающее устройство 612 (ROM). Базовая система 614 ввода/вывода (BIOS) содержит базовые операции, помогающие передавать информацию между элементами компьютера 602, например, сохраненную в ROM 612, в процессе старта. RAM 610, как правило, содержит данные и/или программные модули, которые непосредственно доступны и/или над которыми по необходимости производятся операции центральным процессором 604.
Также компьютер 602 может включать другие съемные/несъемные энергозависимые/энергонезависимые компьютерные запоминающие среды. В качестве примера на Фиг.6 показан накопитель 616 на жестких дисках для чтения с и записи на несъемный энергонезависимый магнитный носитель (не показан), накопитель 618 на магнитных дисках для чтения с и записи на съемный энергонезависимый магнитный диск 620 (например, дискету), накопитель 622 на оптических дисках для чтения с и/или записи на съемный энергонезависимый оптический диск 624, такой как CD-ROM, DVD-ROM, или другой оптический носитель. Накопитель 616 на жестких дисках, накопитель 618 на магнитных дисках и накопитель 622 на оптических дисках соединены с системной шиной 608 при помощи одного или нескольких интерфейсов 626 цифровых носителей. Альтернативно накопитель 616 на жестких дисках, накопитель 618 на магнитных дисках и накопитель 622 на оптических дисках могут быть соединены с системной шиной 608 при помощи одного или нескольких интерфейсов (не показаны).
Дисковые накопители и относящиеся к ним машиночитаемые носители обеспечивают энергонезависимое сохранение машиночитаемых инструкций, структур данных, программных модулей и других данных в компьютере 602. Хотя данный пример иллюстрирует накопитель 616 на жестких дисках, накопитель 618 на магнитных дисках и накопитель 622 на оптических дисках принимается во внимание, что другие машиночитаемые носители, способные сохранять доступные компьютеру данные, такие как магнитные кассеты или другие магнитные запоминающие устройства, платы флэш-памяти, CD-ROM, универсальные цифровые диски (DVD) или другие оптические запоминающие устройства, память с произвольной выборкой (RAM), постоянные запоминающие устройства (ROM), электронно-перепрограммируемая постоянная память (EEPROM) и другие также могут быть использованы для реализации примерной вычислительной системы и среды.
Любое количество программных модулей может быть сохранено на жестком диске 616, магнитном диске 620, оптическом диске 624, ROM 612 и/или RAM 610, включая, в качестве примера, операционную систему 625, одну или более прикладную программу 628, другие программные модули 630 и данные 632 программ. Каждая из такой операционной системы 625, одной или более прикладной программы 628, других программных модулей 630 и данных 632 программ (или некоторая их комбинация) может реализовывать все или часть резидентных компонент для поддержки распределенной файловой системы.
Пользователь может вводить команды и информацию в компьютер 602 посредством устройств ввода, таких как клавиатура 634 и координатно-указательное устройство 636 (например, мышь). Другие устройства ввода 638 (не показаны подробно) могут включать микрофон, джойстик, игровую панель, спутниковую антенну, последовательный порт, сканнер и/или тому подобное. Эти и другие устройства ввода соединены с процессором 604 посредством интерфейса 640 ввода/вывода, который связан с системной шиной 608, но могут быть соединены при помощи других интерфейсов и шинных структур, таких как параллельный порт, игровой порт, универсальная последовательная шина (USB).
Монитор 642 или устройство отображения информации другого типа также может соединяться с системной шиной 608 через интерфейс, например видеоадаптер 644. В дополнение к монитору 642 другие периферийные устройства вывода могут включать такие компоненты, как динамики (не показаны), принтер 646, который может быть соединен с компьютером 602 через интерфейс 640 ввода/вывода.
Компьютер 602 может функционировать в сетевой среде посредством логических соединений с одним или более удаленными компьютерами, такими как удаленное вычислительное устройство 648. В качестве примера удаленное вычислительное устройство 648 может быть персональным компьютером, портативным компьютером, сервером, маршрутизатором, сетевым компьютером, одноранговым устройством, общим сетевым узлом, игровой консолью и так далее. Удаленное вычислительное устройство 648 проиллюстрировано как портативный компьютер, который может включать несколько или все элементы и возможности, описанные здесь касательно компьютера 602.
Логические соединения между компьютером 602 и удаленным компьютером изображаются как локальная сеть (LAN) 650 и как глобальная сеть (WAN) 652. Такие сетевые среды широко распространены в офисах, в сетях масштаба предприятия, в корпоративных локальных сетях и Интернете.
При реализации в локальной сетевой среде компьютер 602 соединяется с локальной сетью 650 через сетевой интерфейс или адаптер 654. При реализации в глобальной сетевой среде компьютер 602, как правило, имеет модем 656 или другое средство для установления соединения через глобальную сеть. Модем 656, который может быть внешним или внутренним по отношению к компьютеру 602, может соединяться с системной шиной 608 через интерфейс 640 ввода-вывода или другим подходящим способом. Следует иметь в виду, что описанные сетевые соединения являются примерными и что могут быть применены другие средства для установления канала(ов) связи между компьютерами 602 и 648.
В сетевой среде, например в проиллюстрированной вычислительной среде 600, программные модули, изображенные как относящиеся к компьютеру 602, или их части могут быть сохранены на съемных запоминающих устройствах. Для примера, удаленная прикладная программа 658 располагается в запоминающем устройстве компьютера 648. Для наглядности прикладные и другие исполняемые программные компоненты, такие как операционная система, проиллюстрированы здесь как дискретные блоки, хотя понятно, что такие программы и компоненты располагаются в разное время на разных запоминающих компонентах вычислительного устройства 602 и выполняются процессором(процессорами) данных компьютера.
Различные модули и методы могут быть описаны в данном документе в общем контексте машиноисполняемых инструкций как программные модули, исполняемые одним или более компьютерами или другими устройствами. В общем случае программные модули включают операции, программы, объекты, компоненты, структуры данных, и т.п., которые выполняют определенные задачи или реализуют определенные абстрактные типы данных. Как правило, функциональность программных модулей может свободно комбинироваться или распределяться, как это требуется в различных реализациях.
Реализация этих модулей и методов может быть сохранена или передана через некоторую форму машиночитаемой среды. Машиночитаемой средой может быть любой имеющийся носитель, доступный компьютеру. Для примера, но без ограничения общности, машиночитаемая среда может содержать "компьютерное запоминающее устройство" и "средства связи".
"Компьютерные запоминающие устройства" включают энергозависимые или энергонезависимые, съемные или несъемные носители, реализованные с использованием какого-либо метода или технологии для сохранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные запоминающие устройства включают, но не ограничиваются перечисленным, RAM, ROM, EEPROM, флеш-память или другие технологии памяти, CD-ROM, универсальные цифровые диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитные ленты, запоминающие устройства на магнитных дисках или другие магнитные запоминающие устройства или любой другой носитель, который может быть использован для сохранения желаемой информации и который доступен компьютеру.
"Средства связи", как правило, включают машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как сигнал с несущей частотой или другой механизм передачи. Также "средства связи" включают какую-либо среду передачи информации. Термин "модулированный информационный сигнал" означает сигнал, у которого одна или более характеристик устанавливаются или изменяются так, чтобы зашифровать информацию в сигнале. Для примера, но без ограничения общности, средства связи включают носители информации в виде провода, например проводную сеть или прямое проводное соединение, и беспроводные носители информации, такие как акустические, радиочастотные (РЧ), инфракрасные (ИК), беспроводные высокой точности воспроизведения (например, беспроводная сеть на основе стандарта IEEE 802.11b) (Wi-Fi), сотовые, созданные на основе Bluetooth, и другие беспроводные средства связи. Комбинации любых вышеприведенных средств также попадают под определение машиночитаемых носителей.
ЗАКЛЮЧЕНИЕ
Хотя изобретение описано в терминах, характерных для структурных признаков и действий способа, понятно, что изобретение, определенное нижеследующей формулой изобретения, не обязательно ограничено описанными конкретными признаками и действиями. Напротив, эти конкретные признаки и действия раскрываются как примерные формы реализации заявляемого изобретения. Например, эллиптические кривые, описанные в данном документе, являются одномерным случаем абелевых множеств. Также изогении могут применяться в других приложениях, например с использованием слепой подписи в иерархических системах, и тому подобных. По существу описанные методы могут быть применены к абелевым множествам более высокой размерности.

Claims (35)

1. Способ шифрования сообщений, содержащий:
генерацию изогении, отображающей множество точек от первой эллиптической кривой на вторую эллиптическую кривую;
опубликование открытого ключа, соответствующего изогении;
шифрование сообщения с использованием ключа шифрования, соответствующего изогении; и
дешифрование зашифрованного сообщения при помощи ключа дешифрования, соответствующего изогении,
при этом, по меньшей мере, один из ключа шифрования или ключа дешифрования является секретным ключом, причем секретный ключ является дуальной изогенией к упомянутой изогении.
2. Способ по п.1, в котором изогения генерируется с использованием метода, выбранного из группы, содержащей генерацию при помощи комплексного умножения, модулярную генерацию, линейно независимую генерацию и их комбинации.
3. Способ по п.1, в котором генерация отображает множество точек от первой эллиптической кривой на множество эллиптических кривых.
4. Способ по п.1, в котором дешифрование выполняется при помощи билинейного образования пар.
5. Способ по п.4, в котором билинейное образование пар выбрано из группы, содержащей образование пар по Вейлу, образование пар по Тейту и квадратичное образование пар.
6. Способ по п.1, в котором способ применяется с использованием абелевых множеств.
7. Способ по п.1, в котором способ используется для подписи сообщения.
8. Способ по п.1, в котором способ обеспечивает идентификационное шифрование.
9. Способ по п.1, дополнительно включающий формирование множества модулярных изогений для обеспечения изогении без раскрытия промежуточных кривых.
10. Способ по п.1, дополнительно включающий использование отображения следа на базовое поле для уменьшения количества точек на эллиптической кривой, отображаемых изогенией.
11. Способ по п.1, дополнительно включающий использование отображения следа для уменьшения точек на абелевом множестве.
12. Способ дешифрования сообщений, содержащий: опубликование открытого ключа, соответствующего изогении,
отображающей множество точек от первой эллиптической кривой на вторую эллиптическую кривую; и
дешифрование зашифрованного сообщения при помощи ключа дешифрования, соответствующего изогении,
при этом ключ дешифрования является дуальной изогенией к упомянутой изогении.
13. Способ по п.12, в котором изогения генерируется с использованием методов, выбранных из группы, содержащей генерацию при помощи комплексного умножения, модулярную генерацию, линейно независимую генерацию и их комбинации.
14. Способ по п.12, в котором изогения отображает множество точек от первой эллиптической кривой на множество эллиптических кривых.
15. Способ по п.12, в котором дешифрование выполняется при помощи билинейного образования пар.
16. Способ по п.15, в котором билинейное образование пар выбрано из группы, содержащей образование пар по Вейлу, образование пар по Тейту и квадратичное образование пар.
17. Способ по п.12, в котором способ применяется с использованием абелевых множеств.
18. Способ по п.12, в котором способ используется для подписи сообщения.
19. Способ по п.12, в котором способ обеспечивает идентификационное шифрование.
20. Способ по п.12, дополнительно включающий использование отображения следа на базовое поле для уменьшения количества точек на эллиптической кривой, отображаемых изогенией.
21. Система шифрования сообщений, содержащая: первый процессор;
первую системную память, соединенную с первым процессором, причем первая системная память хранит открытый ключ, соответствующий изогении, отображающей множество точек от первой эллиптической кривой на вторую эллиптическую кривую;
второй процессор;
вторую системную память, соединенную со вторым процессором, причем вторая системная память хранит зашифрованное сообщение и ключ дешифрования, соответствующий изогении, для дешифрования сообщения;
при этом зашифрованное сообщение зашифровано с использованием ключа шифрования, и
при этом, по меньшей мере, один из ключа шифрования или ключа дешифрования является секретным ключом, причем секретный ключ является дуальной изогенией к упомянутой изогении.
22. Система по п.21, в которой изогения отображает множество точек от первой эллиптической кривой на множество эллиптических кривых.
23. Система по п.21, в которой дешифрование выполняется при помощи билинейного образования пар.
24. Способ по п.23, в котором билинейное образование пар выбрано из группы, содержащей образование пар по Вейлу, образование пар по Тейту и квадратичное образование пар.
25. Машиночитаемый носитель, имеющий инструкции, сохраненные на них, которые при исполнении предписывают компьютеру выполнение действий, включающих в себя:
опубликование открытого ключа, соответствующего изогении, отображающей множество точек от первой эллиптической кривой на вторую эллиптическую кривую; и
дешифрование зашифрованного сообщения с использованием ключа дешифрования, соответствующего изогении,
при этом ключ дешифрования является секретным ключом, причем секретный ключ является дуальной изогенией к упомянутой изогении.
26. Машиночитаемый носитель по п.25, причем изогения генерируется с использованием метода, выбранного из группы, содержащей генерацию при помощи комплексного умножения, модулярную генерацию, линейно независимую генерацию и их комбинации.
27. Машиночитаемый носитель по п.25, причем изогения отображает множество точек от первой эллиптической кривой на множество эллиптических кривых.
28. Машиночитаемый носитель по п.25, причем дешифрование выполняется при помощи билинейного образования пар.
29. Машиночитаемый носитель по п.28, причем билинейное образование пар выбирается из группы, содержащей образование пар по Вейлу, образование пар по Тейту и квадратичное образование пар.
30. Машиночитаемый носитель по п.25, причем упомянутые действия выполняются с использованием абелевых множеств.
31. Машиночитаемый носитель по п.25, причем упомянутые действия дополнительно включают применение отображения следа на базовое поле для уменьшения количества точек на эллиптической кривой, отображаемых изогенией.
32. Машиночитаемый носитель по п.25, причем упомянутые действия дополнительно включают формирование множества модулярных изогений для обеспечения изогений без раскрытия промежуточных кривых.
33. Машиночитаемый носитель по п.25, причем упомянутые действия дополнительно включают использование отображения следа для уменьшения точек на абелевом множестве.
34. Машиночитаемый носитель по п.25, причем упомянутые действия используются для подписи сообщения.
35. Машиночитаемый носитель по п.25, причем действия обеспечивают идентификационное шифрование.
RU2004132057/09A 2003-11-03 2004-11-02 Использование изогений для разработки криптосистем RU2376651C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US51714203P 2003-11-03 2003-11-03
US60/517,142 2003-11-03
US10/816,083 US7499544B2 (en) 2003-11-03 2004-03-31 Use of isogenies for design of cryptosystems
US10/816,083 2004-03-31

Publications (2)

Publication Number Publication Date
RU2004132057A RU2004132057A (ru) 2006-04-10
RU2376651C2 true RU2376651C2 (ru) 2009-12-20

Family

ID=34426337

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004132057/09A RU2376651C2 (ru) 2003-11-03 2004-11-02 Использование изогений для разработки криптосистем

Country Status (20)

Country Link
US (1) US7499544B2 (ru)
EP (1) EP1528705B1 (ru)
JP (1) JP4809598B2 (ru)
KR (1) KR101098701B1 (ru)
CN (1) CN100583755C (ru)
AT (1) ATE429098T1 (ru)
AU (1) AU2004218638B2 (ru)
BR (1) BRPI0404122A (ru)
CA (1) CA2483486C (ru)
CO (1) CO5630049A1 (ru)
DE (1) DE602004020565D1 (ru)
HK (1) HK1085585A1 (ru)
IL (1) IL164071A0 (ru)
MX (1) MXPA04010155A (ru)
MY (1) MY165770A (ru)
NO (1) NO20044028L (ru)
NZ (1) NZ535698A (ru)
RU (1) RU2376651C2 (ru)
SG (1) SG111191A1 (ru)
TW (1) TWI360990B (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2494553C2 (ru) * 2011-05-03 2013-09-27 ЗАО Институт инфокоммуникационных технологий Способ защиты информации
RU2541938C1 (ru) * 2013-11-20 2015-02-20 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный политехнический университет" (ФГАОУ ВО "СПбПУ") Способ шифрования с защитой от квантовых атак на основе циклов функций вебера
RU2728519C1 (ru) * 2017-02-28 2020-07-30 Конинклейке Филипс Н.В. Протокол согласования ключей на основе изогении эллиптических кривых

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE546909T1 (de) 2004-11-11 2012-03-15 Certicom Corp Neue falltür-einwegefunktion auf elliptischen kurven und ihre anwendung für asymmetrische verschlüsselung und kürzere signaturen
US7594261B2 (en) * 2005-02-08 2009-09-22 Microsoft Corporation Cryptographic applications of the Cartier pairing
US7702098B2 (en) 2005-03-15 2010-04-20 Microsoft Corporation Elliptic curve point octupling for weighted projective coordinates
US7680268B2 (en) 2005-03-15 2010-03-16 Microsoft Corporation Elliptic curve point octupling using single instruction multiple data processing
US7617397B2 (en) * 2005-04-29 2009-11-10 Microsoft Corporation Systems and methods for generation and validation of isogeny-based signatures
JP4575251B2 (ja) * 2005-07-25 2010-11-04 株式会社東芝 デジタル署名生成装置、デジタル署名検証装置、デジタル署名生成方法、デジタル署名検証方法、デジタル署名生成プログラム及びデジタル署名検証プログラム
CN1980123B (zh) * 2005-11-30 2010-07-21 中国科学院研究生院 基于ibe的pki***的实现方法及其密钥管理装置
US8180047B2 (en) * 2006-01-13 2012-05-15 Microsoft Corporation Trapdoor pairings
US8369518B2 (en) 2007-06-18 2013-02-05 Nec Corporation Electronic data encryption and encrypted data decryption system, and its method
KR101490687B1 (ko) * 2007-08-20 2015-02-06 삼성전자주식회사 홈 네트워크에서 디바이스들이 비밀 정보를 공유하는 방법및 이를 위한 장치
WO2009104260A1 (ja) * 2008-02-20 2009-08-27 三菱電機株式会社 検証装置
US8037327B2 (en) * 2008-03-31 2011-10-11 Agilent Technologies, Inc. System and method for improving dynamic response in a power supply
CN102308326B (zh) * 2008-08-29 2014-08-13 国立大学法人冈山大学 配对运算装置、配对运算方法
US8250367B2 (en) * 2008-09-30 2012-08-21 Microsoft Corporation Cryptographic applications of efficiently evaluating large degree isogenies
US20100100947A1 (en) * 2008-10-21 2010-04-22 Apple Inc. Scheme for authenticating without password exchange
JP5268066B2 (ja) * 2009-01-16 2013-08-21 日本電信電話株式会社 変換演算装置、その方法、プログラム及び記録媒体
US8510558B2 (en) * 2009-02-17 2013-08-13 Alcatel Lucent Identity based authenticated key agreement protocol
CN101800640B (zh) * 2009-11-10 2012-09-05 浙江工业大学 基于Web Service的IBE密钥管理***
US8634563B2 (en) 2010-12-17 2014-01-21 Microsoft Corporation Attribute based encryption using lattices
JP5693206B2 (ja) * 2010-12-22 2015-04-01 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
RU2450457C1 (ru) * 2011-05-20 2012-05-10 Государственное образовательное учреждение высшего профессионального образования Марийский государственный технический университет Способ шифрования
WO2013116916A1 (en) * 2012-02-09 2013-08-15 Irdeto Canada Corporation System and method for generating and protecting cryptographic keys
US10148285B1 (en) 2012-07-25 2018-12-04 Erich Schmitt Abstraction and de-abstraction of a digital data stream
CN104348614B (zh) * 2013-07-24 2019-02-01 腾讯科技(深圳)有限公司 身份合法性验证的方法、装置及服务器
US10795858B1 (en) 2014-02-18 2020-10-06 Erich Schmitt Universal abstraction and de-abstraction of a digital data stream
US20230125560A1 (en) * 2015-12-20 2023-04-27 Peter Lablans Cryptographic Computer Machines with Novel Switching Devices
JP6614979B2 (ja) * 2016-01-15 2019-12-04 三菱電機株式会社 暗号装置、暗号方法及び暗号プログラム
SG11201806784UA (en) 2016-02-23 2018-09-27 Nchain Holdings Ltd System and method for controlling asset-related actions via a blockchain
EP3860037A1 (en) 2016-02-23 2021-08-04 Nchain Holdings Limited Cryptographic method and system for secure extraction of data from a blockchain
AU2017223126B2 (en) 2016-02-23 2022-12-15 nChain Holdings Limited Blockchain-based exchange with tokenisation
MX2018010050A (es) 2016-02-23 2019-01-21 Nchain Holdings Ltd Transacciones turing completas basadas en agente que integran retroalimentacion dentro de un sistema de cadena de bloques.
AU2017223133B2 (en) 2016-02-23 2022-09-08 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
CN109417465B (zh) 2016-02-23 2021-01-15 区块链控股有限公司 区块链执行的智能合约的注册和自动化管理方法
EP3259724B1 (en) 2016-02-23 2021-03-24 Nchain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
WO2017145009A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited A method and system for securing computer software using a distributed hash table and a blockchain
SG10202007907PA (en) 2016-02-23 2020-09-29 Nchain Holdings Ltd Blockchain-implemented method for control and distribution of digital content
GB2560274C (en) * 2016-02-23 2022-06-15 Nchain Holdings Ltd Personal device security using elliptic curve cryptography for secret sharing
CN105915520B (zh) * 2016-04-18 2019-02-12 深圳大学 基于公钥可搜索加密的文件存储、搜索方法及存储***
JP2017212699A (ja) * 2016-05-27 2017-11-30 三菱電機株式会社 暗号化装置、復号装置及び暗号システム
US10673631B2 (en) * 2016-11-07 2020-06-02 Infosec Global Inc. Elliptic curve isogeny-based cryptographic scheme
EP3379766B1 (en) * 2017-03-20 2019-06-26 Huawei Technologies Co., Ltd. A wireless communication device for communication in a wireless communication network
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
CN108536651B (zh) * 2018-04-19 2022-04-05 武汉轻工大学 生成可逆模m矩阵的方法和装置
WO2019208484A1 (ja) * 2018-04-25 2019-10-31 日本電信電話株式会社 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム
CN112805769B (zh) * 2018-10-04 2023-11-07 日本电信电话株式会社 秘密s型函数计算***、装置、方法及记录介质
KR102184189B1 (ko) * 2018-11-19 2020-11-27 주식회사 엔에스에이치씨 꼬인 에드워즈 곡선에 대한 4차 아이소제니 계산 방법
KR102184188B1 (ko) * 2018-11-19 2020-11-27 주식회사 엔에스에이치씨 꼬인 에드워즈 곡선에 대한 3차 아이소제니 계산 방법
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
US11032074B2 (en) * 2019-02-11 2021-06-08 Pqsecure Technologies, Llc Cryptosystem and method using isogeny-based computations to reduce a memory footprint
KR20220012851A (ko) 2019-05-30 2022-02-04 김봉만 대칭 키 암호화/교환을 위한 양자 내성 암호화 및 진보된 암호화 및 키 교환(aeke) 방법
US10880278B1 (en) 2019-10-03 2020-12-29 ISARA Corporation Broadcasting in supersingular isogeny-based cryptosystems
US11509473B2 (en) 2020-07-20 2022-11-22 Pqsecure Technologies, Llc Architecture and method for hybrid isogeny-based cryptosystems
US20240184699A1 (en) * 2021-05-25 2024-06-06 Pqsecure Technologies, Llc An efficient and scalable architecture and method for isogeny-based cryptosystems
CN113254985B (zh) * 2021-07-15 2021-12-21 北京信安世纪科技股份有限公司 数据加密方法、数据处理方法、数据解密方法及电子设备
US11483151B1 (en) * 2021-07-16 2022-10-25 Pqsecure Technologies, Llc Method and system for computing large-degree isogenies with an odd degree
WO2023055582A1 (en) * 2021-09-30 2023-04-06 Visa International Service Association Round optimal oblivious transfers from isogenies
EP4311161A1 (en) * 2022-07-18 2024-01-24 GMV Soluciones Globales Internet, S.A.U. Method and entity for generating a private key in an identity-based cryptosystem without key escrow

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0233239A (ja) * 1988-07-23 1990-02-02 Nintendo Co Ltd 通信制御装置
US5497423A (en) 1993-06-18 1996-03-05 Matsushita Electric Industrial Co., Ltd. Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication
JP2001526416A (ja) 1997-12-05 2001-12-18 シキュアード インフォメイション テクノロジー、 インコーポレイテッド 楕円曲線暗号化演算の最適化用変換方法
CN1235446A (zh) 1998-03-05 1999-11-17 松下电器产业株式会社 椭圆曲线变换装置、利用装置和利用***
EP1112637A1 (en) 1998-09-08 2001-07-04 Citibank, N.A. Elliptic curve cryptosystems for low memory devices
WO2001018772A1 (fr) 1999-09-08 2001-03-15 Hitachi, Ltd. Procede et dispositif d'elaboration de courbes elliptiques, systeme elliptique de cryptage et support d'enregistrement
WO2003017559A2 (en) * 2001-08-13 2003-02-27 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
US7209555B2 (en) * 2001-10-25 2007-04-24 Matsushita Electric Industrial Co., Ltd. Elliptic curve converting device, elliptic curve converting method, elliptic curve utilization device and elliptic curve generating device
US7215780B2 (en) 2001-12-31 2007-05-08 Certicom Corp. Method and apparatus for elliptic curve scalar multiplication

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2494553C2 (ru) * 2011-05-03 2013-09-27 ЗАО Институт инфокоммуникационных технологий Способ защиты информации
RU2541938C1 (ru) * 2013-11-20 2015-02-20 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный политехнический университет" (ФГАОУ ВО "СПбПУ") Способ шифрования с защитой от квантовых атак на основе циклов функций вебера
RU2728519C1 (ru) * 2017-02-28 2020-07-30 Конинклейке Филипс Н.В. Протокол согласования ключей на основе изогении эллиптических кривых

Also Published As

Publication number Publication date
TW200525979A (en) 2005-08-01
JP2005141200A (ja) 2005-06-02
MXPA04010155A (es) 2005-05-17
JP4809598B2 (ja) 2011-11-09
HK1085585A1 (en) 2006-08-25
NZ535698A (en) 2006-02-24
TWI360990B (en) 2012-03-21
CA2483486C (en) 2013-12-24
CA2483486A1 (en) 2005-05-03
CN1614922A (zh) 2005-05-11
US20050094806A1 (en) 2005-05-05
MY165770A (en) 2018-04-23
KR101098701B1 (ko) 2011-12-23
EP1528705A1 (en) 2005-05-04
ATE429098T1 (de) 2009-05-15
AU2004218638B2 (en) 2009-07-30
AU2004218638A1 (en) 2005-05-19
KR20050042441A (ko) 2005-05-09
NO20044028L (no) 2005-05-04
CN100583755C (zh) 2010-01-20
RU2004132057A (ru) 2006-04-10
CO5630049A1 (es) 2006-04-28
SG111191A1 (en) 2005-05-30
US7499544B2 (en) 2009-03-03
IL164071A0 (en) 2005-12-18
DE602004020565D1 (de) 2009-05-28
EP1528705B1 (en) 2009-04-15
BRPI0404122A (pt) 2005-06-21

Similar Documents

Publication Publication Date Title
RU2376651C2 (ru) Использование изогений для разработки криптосистем
US7594261B2 (en) Cryptographic applications of the Cartier pairing
CN106161034B (zh) 使用乘法秘密共享的rsa解密
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
US8300811B2 (en) Method and device for processing data
US8184803B2 (en) Hash functions using elliptic curve cryptography
US7469048B2 (en) Methods for point compression for jacobians of hyperelliptic curves
CN109936456B (zh) 基于私钥池的抗量子计算数字签名方法和***
CN109660338A (zh) 基于对称密钥池的抗量子计算数字签名方法和抗量子计算数字签名***
Kumar et al. An efficient implementation of digital signature algorithm with SRNN public key cryptography
Fanfara et al. Usage of asymmetric encryption algorithms to enhance the security of sensitive data in secure communication
KR20240045231A (ko) 디지털 서명 셰어의 생성
Mohapatra Signcryption schemes with forward secrecy based on elliptic curve cryptography
Wade The Iso-RSA Cryptographic Scheme
KR20240046201A (ko) 디지털 서명들의 생성
CN117837127A (zh) 生成数字签名
Shaw et al. Compact Identity-Based Signature and Puncturable Signature from SQISign
Frimpong et al. Need for Speed: Leveraging the Power of Functional Encryption for Resource-Constrained Devices
Biswal et al. A Novel Blind Signature Scheme Based On Discrete Logarithm Problem With Un-traceability
Rutter Implementation and analysis of the generalised new Mersenne number transforms for encryption
CN116415265A (zh) 加密、加密签名处理、解密方法及相关设备
Kaderali Foundations and applications of cryptology
ZA200407941B (en) Use of isogenies for design of cryptosystems
Muduli et al. A Blind Signature Scheme using Biometric Feature Value
Patel et al. A Novel Method of Encryption using Modified RSA Algorithm and Chinese Remainder Theorem

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20121103