Redukcja Pohliga-Hellmana

Wikipedia:Weryfikowalność
Ten artykuł należy dopracować:
od 2010-08 → zweryfikować treść i dodać przypisy,
→ poprawić styl – powinien być encyklopedyczny.

Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Redukcja Pohliga-Hellmana jest metodą obliczania logarytmu dyskretnego w ciele skończonym GF(p) wymyśloną przez Stephena Pohliga i Martina Hellmana.

Jeżeli mamy ciało skończone o p {\displaystyle p} elementach, rząd jego grupy multiplikatywnej wynosi p 1. {\displaystyle p-1.} Szukamy takiego x , {\displaystyle x,} że: g x = h , {\displaystyle g^{x}=h,} gdzie g {\displaystyle g} jest generatorem grupy multiplikatywnej tego ciała, a h {\displaystyle h} elementem tego ciała.

KROK 1: Redukujemy DLP (ang. discrete logarithm problem) do analogicznego zagadnienia w grupach rzędu p a {\displaystyle p^{a}}

| G | = | F p | = p 1 = p 1 α 1 p 2 α 2 p n α n . {\displaystyle |G|=|F_{p}^{*}|=p-1=p_{1}^{\alpha _{1}}\cdot p_{2}^{\alpha _{2}}\cdot \ldots \cdot p_{n}^{\alpha _{n}}.}

Dla każdego p i {\displaystyle p_{i}} obliczamy:

r i = | G | p i α i . {\displaystyle r_{i}={\frac {|G|}{p_{i}^{\alpha _{i}}}}.}

Z kongruencji:

( g x ) r i h r i ( mod p ) {\displaystyle (g^{x})^{r_{i}}\equiv h^{r_{i}}{\pmod {p}}}

możemy łatwo otrzymać układ kongruencji:

x x i ( mod p i α i ) {\displaystyle x\equiv x_{i}{\pmod {p_{i}^{\alpha _{i}}}}}

(poszczególne x i {\displaystyle x_{i}} można otrzymać jako x i = x mod p α i {\displaystyle x_{i}=x\mod p^{\alpha _{i}}} ),

które następnie możemy rozwiązać przy pomocy chińskiego twierdzenia o resztach.

KROK 2: Jeżeli w rozkładzie p 1 {\displaystyle p-1} występuje jakaś duża potęga liczby pierwszej q α , {\displaystyle q^{\alpha },} redukujemy DLP w grupie rzędu q α {\displaystyle q^{\alpha }} do kilku problemów w grupach rzędu q : {\displaystyle q{:}}

Przyjmijmy q := p i {\displaystyle q:=p_{i}} i

a := g r i ( mod p ) {\displaystyle a:=g^{r_{i}}{\pmod {p}}}

oraz

b := h r i ( mod p ) . {\displaystyle b:=h^{r_{i}}{\pmod {p}}.}

Wówczas:

a m 0 + m 1 q + + m α 1 q α 1 b ( mod p ) . {\displaystyle a^{m_{0}+m_{1}q+\ldots +m_{\alpha -1}q^{\alpha -1}}\equiv b{\pmod {p}}.}

Podnosząc obie strony kongruencji do potęgi q α 1 , {\displaystyle q^{\alpha -1},} możemy obliczyć m 0 , {\displaystyle m_{0},} następnie znów zapisujemy kongruencję:

a m 1 q + + m α 1 q α 1 b a m 0 ( mod p ) {\displaystyle a^{m_{1}q+\ldots +m_{\alpha -1}q^{\alpha -1}}\equiv ba^{-m_{0}}{\pmod {p}}}

i podnosząc obie strony do potęgi q α 2 , {\displaystyle q^{\alpha -2},} otrzymamy m 1 {\displaystyle m_{1}} itd.

Mając wszystkie m i , {\displaystyle m_{i},} otrzymamy:

x m 0 + m 1 q + + m α 1 q α 1 ( mod q α ) . {\displaystyle x\equiv m_{0}+m_{1}q+\ldots +m_{\alpha -1}q^{\alpha -1}{\pmod {q^{\alpha }}}.}

Redukcja P-H pozwala na szybkie rozwiązanie DLP, o ile p 1 {\displaystyle p-1} ma w rozkładzie na czynniki pierwsze małe liczby pierwsze. Stąd jeżeli kryptosystem oparty na zagadnieniu logarytmu dyskretnego ma być bezpieczny, jeżeli opiera się na grupach G F ( p ) , {\displaystyle GF(p),} to p 1 {\displaystyle p-1} musi mieć w rozkładzie na czynniki pierwsze co najmniej jedną dużą liczbę pierwszą. Stąd często obiera się jako p {\displaystyle p} liczbę postaci 2 q + 1 , {\displaystyle 2q+1,} gdzie zarówno p , {\displaystyle p,} jak i q {\displaystyle q} są pierwsze. p , {\displaystyle p,} które posiadają taką własność, nazywa się liczbami pierwszymi Sophie Germain.