Дискретное логарифмирование на эллиптической кривой — решение уравнения 
  
    
      
        S
        =
        n
        T
        
          
          (
          mod
          
          m
          )
        
      
    
    {\displaystyle S=nT{\pmod {m}}}
  
 относительно 
  
    
      
        n
      
    
    {\displaystyle n}
  
 при известных 
  
    
      
        S
      
    
    {\displaystyle S}
  
 и 
  
    
      
        T
      
    
    {\displaystyle T}
  
, где 
  
    
      
        S
        ,
        T
      
    
    {\displaystyle S,T}
  
 — точки, принадлежащие эллиптической кривой и являющиеся зашифрованным сообщением и начальной точкой соответственно. Иначе говоря — это метод взлома системы безопасности, основанной на данной эллиптической кривой (например российский стандарт ЭП ГОСТ Р 34.10-2012), и нахождения секретного ключа.
 Эллиптическая криптография относится к разряду асимметричной, то есть шифрование происходит с помощью открытого ключа. Впервые этот алгоритм был независимо предложен Нилом Коблицем и Виктором Миллером в 1985 году. Это было обосновано тем, что дискретный логарифм на эллиптической кривой оказался сложнее классического дискретного логарифма на конечном поле. До сих пор не существует быстрых алгоритмов взлома сообщения, зашифрованного с помощью эллиптической кривой, в общем случае. В основном уязвимости таких шифров связаны с рядом недочетов при подборе начальных данных.
 Данный метод основан на сведении дискретного логарифма на эллиптической кривой к дискретному логарифму в конечном поле с некоторым расширением поля, на котором была задана эллиптическая кривая. Это значительно облегчает задачу, так как на данный момент существуют достаточно быстрые субэкспоненциальные алгоритмы решения дискретного логарифма, имеющие сложность 
  
    
      
        O
        
          (
          
            exp
            ⁡
            
              (
              
                c
                
                  
                    (
                    
                      ln
                      ⁡
                      p
                    
                    )
                  
                  
                    k
                  
                
                
                  
                    (
                    
                      ln
                      ⁡
                      ln
                      ⁡
                      p
                    
                    )
                  
                  
                    k
                    −
                    1
                  
                
              
              )
            
          
          )
        
      
    
    {\displaystyle O\left(\exp \left(c\left(\ln p\right)^{k}\left(\ln \ln p\right)^{k-1}\right)\right)}
  
, или 
  
    
      
        ρ
      
    
    {\displaystyle \rho }
  
-алгоритм Полларда со сложностью 
  
    
      
        O
        (
        
          
            π
            p
            
              /
            
            2
          
        
        )
      
    
    {\displaystyle O({\sqrt {\pi p/2}})}
  
, разработанные для конечных полей.
 Пусть 
  
    
      
        E
      
    
    {\displaystyle E}
  
 — эллиптическая кривая, заданная в форме Вейерштрасса, над конечным полем 
  
    
      
        
          F
          
            q
          
        
      
    
    {\displaystyle F_{q}}
  
 порядка 
  
    
      
        q
      
    
    {\displaystyle q}
  
:
 
 Предположим, что коэффициенты 
  
    
      
        
          a
          
            i
          
        
        ∈
        
          F
          
            q
          
        
      
    
    {\displaystyle a_{i}\in F_{q}}
  
 таковы, что кривая не имеет особенностей. Точки кривой 
  
    
      
        E
      
    
    {\displaystyle E}
  
 вместе с бесконечноудаленной точкой 
  
    
      
        
          P
          
            ∞
          
        
      
    
    {\displaystyle P_{\infty }}
  
, которая является нулевым элементом, образуют коммутативную группу, записывающуюся аддитивно, то есть для 
  
    
      
        ∀
        A
        ,
        B
        ∈
        E
        (
        
          F
          
            q
          
        
        )
        ,
        A
        +
        B
        =
        B
        +
        A
        =
        C
        ∈
        E
        (
        
          F
          
            q
          
        
        )
      
    
    {\displaystyle \forall A,B\in E(F_{q}),A+B=B+A=C\in E(F_{q})}
  
. Также известно, что если 
  
    
      
        
          F
          
            q
          
        
      
    
    {\displaystyle F_{q}}
  
 — конечное поле, то порядок такой группы 
  
    
      
        
          N
          
            q
          
        
      
    
    {\displaystyle N_{q}}
  
 по теореме Хассе будет удовлетворять уравнению 
  
    
      
        
          |
        
        
          N
          
            q
          
        
        −
        q
        −
        1
        
          |
        
        ≤
        2
        
          
            q
          
        
      
    
    {\displaystyle |N_{q}-q-1|\leq 2{\sqrt {q}}}
  
.
 Пусть 
  
    
      
        E
        (
        
          F
          
            
              q
              ′
            
          
        
        )
      
    
    {\displaystyle E(F_{q'})}
  
 — подгруппа точек 
  
    
      
        E
      
    
    {\displaystyle E}
  
, определённых над 
  
    
      
        
          F
          
            
              q
              ′
            
          
        
        ⊇
        
          F
          
            q
          
        
      
    
    {\displaystyle F_{q'}\supseteq F_{q}}
  
. Следовательно, 
  
    
      
        E
        (
        
          F
          
            
              q
              ′
            
          
        
        )
      
    
    {\displaystyle E(F_{q'})}
  
 — конечная коммутативная группа. Возьмем точку 
  
    
      
        P
        ∈
        E
        (
        
          F
          
            q
          
        
        )
      
    
    {\displaystyle P\in E(F_{q})}
  
, порождающую циклическую группу порядка 
  
    
      
        m
      
    
    {\displaystyle m}
  
. То есть 
  
    
      
        
          |
        
        ⟨
        P
        ⟩
        
          |
        
        =
        m
      
    
    {\displaystyle |\langle P\rangle |=m}
  
.
 Задача вычисления дискретных логарифмов в 
  
    
      
        ⟨
        P
        ⟩
      
    
    {\displaystyle \langle P\rangle }
  
 заключается в следующем. Для данной точки 
  
    
      
        Q
        ∈
        ⟨
        P
        ⟩
      
    
    {\displaystyle Q\in \langle P\rangle }
  
 найти 
  
    
      
        n
        
          
          (
          mod
          
          m
          )
        
      
    
    {\displaystyle n{\pmod {m}}}
  
 такое, что 
  
    
      
        n
        P
        =
        Q
      
    
    {\displaystyle nP=Q}
  
.
 Задача вычисления дискретных логарифмов в конечном поле 
  
    
      
        
          F
          
            q
          
        
      
    
    {\displaystyle F_{q}}
  
 заключается в следующем. Пусть 
  
    
      
        α
      
    
    {\displaystyle \alpha }
  
 — примитивный элемент поля 
  
    
      
        
          F
          
            q
          
        
      
    
    {\displaystyle F_{q}}
  
. Для данного ненулевого 
  
    
      
        β
      
    
    {\displaystyle \beta }
  
 найти 
  
    
      
        n
        
          
          (
          mod
          
          (
          q
          −
          1
          )
          )
        
      
    
    {\displaystyle n{\pmod {(q-1)}}}
  
 такое, что 
  
    
      
        
          α
          
            n
          
        
        =
        β
      
    
    {\displaystyle \alpha ^{n}=\beta }
  
.
 Пусть НОК
  
    
      
        (
        m
        ,
        q
        )
        =
        1
      
    
    {\displaystyle (m,q)=1}
  
 и расширение поля 
  
    
      
        
          F
          
            
              q
              ′
            
          
        
        ⊇
        
          F
          
            q
          
        
      
    
    {\displaystyle F_{q'}\supseteq F_{q}}
  
 такое, что 
  
    
      
        E
        (
        
          F
          
            
              q
              ′
            
          
        
        )
      
    
    {\displaystyle E(F_{q'})}
  
 содержит подгруппу кручения 
  
    
      
        E
        [
        m
        ]
      
    
    {\displaystyle E[m]}
  
, изоморфную 
  
    
      
        
          Z
        
        
          /
        
        m
        ×
        
          Z
        
        
          /
        
        m
      
    
    {\displaystyle \mathbb {Z} /m\times \mathbb {Z} /m}
  
, то есть 
  
    
      
        E
        [
        m
        ]
        =
        {
        P
        ,
        T
        ∈
        E
        (
        
          F
          
            
              q
              ′
            
          
        
        )
        :
        m
        P
        =
        0
        ,
        m
        T
        =
        0
        }
      
    
    {\displaystyle E[m]=\{P,T\in E(F_{q'}):mP=0,mT=0\}}
  
. Известно, что такое расширение существует. Из этого следует, что 
  
    
      
        
          q
          ′
        
        =
        
          q
          
            k
          
        
      
    
    {\displaystyle q'=q^{k}}
  
 для некоторого 
  
    
      
        k
        ⩾
        1
      
    
    {\displaystyle k\geqslant 1}
  
. В этом случае будет выполняться следующая теорема, позволяющая перейти к дискретному логарифму в расширенном конечном поле:
 Пусть задана точка 
  
    
      
        T
        ∈
        E
        (
        
          F
          
            
              q
              ′
            
          
        
        )
      
    
    {\displaystyle T\in E(F_{q'})}
  
 такая, что 
  
    
      
        ⟨
        P
        ,
        T
        ⟩
        =
        E
        [
        m
        ]
      
    
    {\displaystyle \langle P,T\rangle =E[m]}
  
. Тогда сложность вычисления дискретных логарифмов в группе 
  
    
      
        ⟨
        P
        ⟩
      
    
    {\displaystyle \langle P\rangle }
  
 не больше сложности вычисления дискретных логарифмов в 
  
    
      
        
          F
          
            
              q
              ′
            
          
        
      
    
    {\displaystyle F_{q'}}
  
.
 Чтобы воспользоваться данной теоремой, необходимо знать степень 
  
    
      
        k
      
    
    {\displaystyle k}
  
 расширения поля 
  
    
      
        
          F
          
            
              q
              ′
            
          
        
      
    
    {\displaystyle F_{q'}}
  
 над 
  
    
      
        
          F
          
            q
          
        
      
    
    {\displaystyle F_{q}}
  
 и точку 
  
    
      
        T
      
    
    {\displaystyle T}
  
, для которой 
  
    
      
        ⟨
        P
        ,
        T
        ⟩
        =
        E
        [
        m
        ]
      
    
    {\displaystyle \langle P,T\rangle =E[m]}
  
.
 Для суперсингулярной кривой 
  
    
      
        E
      
    
    {\displaystyle E}
  
, 
  
    
      
        k
      
    
    {\displaystyle k}
  
 и 
  
    
      
        T
      
    
    {\displaystyle T}
  
 легко находятся, при этом 
  
    
      
        k
        ≤
        6
      
    
    {\displaystyle k\leq 6}
  
. Это было установлено Альфредом Менезесом, Окамото Тацуаки и Скоттом Ванстоуном в 1993 году. В своей статье они описали вероятностный алгоритм вычисления вспомогательной точки 
  
    
      
        T
      
    
    {\displaystyle T}
  
, среднее время работы которого ограничено полиномом от 
  
    
      
        log
        ⁡
        
          
            q
            ′
          
        
      
    
    {\displaystyle \log {q'}}
  
.
 Пусть 
  
    
      
        G
      
    
    {\displaystyle G}
  
 — максимальная подгруппа 
  
    
      
        E
        (
        
          F
          
            
              q
              ′
            
          
        
        )
      
    
    {\displaystyle E(F_{q'})}
  
, порядок элементов которой является произведением простых множителей 
  
    
      
        m
      
    
    {\displaystyle m}
  
. Таким образом, 
  
    
      
        E
        [
        m
        ]
        ⊆
        G
      
    
    {\displaystyle E[m]\subseteq G}
  
 и 
  
    
      
        G
        =
        
          Z
        
        
          /
        
        
          m
          
            1
          
        
        ×
        
          Z
        
        
          /
        
        
          m
          
            2
          
        
      
    
    {\displaystyle G=\mathbb {Z} /m_{1}\times \mathbb {Z} /m_{2}}
  
, где 
  
    
      
        m
      
    
    {\displaystyle m}
  
 делит 
  
    
      
        
          m
          
            1
          
        
      
    
    {\displaystyle m_{1}}
  
 и 
  
    
      
        
          m
          
            2
          
        
      
    
    {\displaystyle m_{2}}
  
. При этом 
  
    
      
        
          m
          
            1
          
        
        ≠
        
          m
          
            2
          
        
      
    
    {\displaystyle m_{1}\neq m_{2}}
  
 (в случае 
  
    
      
        
          m
          
            1
          
        
        =
        
          m
          
            2
          
        
      
    
    {\displaystyle m_{1}=m_{2}}
  
, под нахождение точки 
  
    
      
        T
      
    
    {\displaystyle T}
  
 можно адаптировать метод для суперсингулярных кривых). Пусть 
  
    
      
        l
      
    
    {\displaystyle l}
  
 — минимальное натуральное число, для которого выполняется 
  
    
      
        
          q
          
            l
          
        
        ≡
        1
        
          
          (
          mod
          
          m
          )
        
      
    
    {\displaystyle q^{l}\equiv 1{\pmod {m}}}
  
.
 Пусть НОК
  
    
      
        (
        m
        ,
        q
        −
        1
        )
        =
        1
      
    
    {\displaystyle (m,q-1)=1}
  
. Тогда 
  
    
      
        k
        =
        l
      
    
    {\displaystyle k=l}
  
 и если известно разложение 
  
    
      
        m
      
    
    {\displaystyle m}
  
 на простые множители, то имеется вероятностный алгоритм вычисления точки 
  
    
      
        T
        ∈
        E
        (
        
          F
          
            
              q
              ′
            
          
        
        )
      
    
    {\displaystyle T\in E(F_{q'})}
  
, для которой 
  
    
      
        ⟨
        P
        ,
        T
        ⟩
        =
        E
        [
        m
        ]
      
    
    {\displaystyle \langle P,T\rangle =E[m]}
  
. Среднее время работы алгоритма равно 
  
    
      
        O
        (
        l
        o
        
          g
          
            c
          
        
        
          
            q
            ′
          
        
        )
      
    
    {\displaystyle O(log^{c}{q'})}
  
 операций в поле 
  
    
      
        
          F
          
            
              q
              ′
            
          
        
      
    
    {\displaystyle F_{q'}}
  
 для некоторой постоянной 
  
    
      
        c
      
    
    {\displaystyle c}
  
 и 
  
    
      
        m
        →
        ∞
      
    
    {\displaystyle m\rightarrow \infty }
  
.
 В случаях, когда НОК
  
    
      
        (
        m
        ,
        q
        −
        1
        )
        ≠
        1
      
    
    {\displaystyle (m,q-1)\neq 1}
  
, алгоритм работает слишком медленно, либо не работает вовсе.