Premier Solinasa

W matematyce liczba pierwsza Solinasa lub uogólniona liczba pierwsza Mersenne'a jest pierwszą która ma postać , gdzie wielomianem niskiego stopnia o małych współczynnikach całkowitych . Te liczby pierwsze umożliwiają szybkie modułowe algorytmy redukcji i są szeroko stosowane w kryptografii . Noszą one imię Hieronima Solinasa.

Ta klasa liczb obejmuje kilka innych kategorii liczb pierwszych:

Modułowy algorytm redukcji

Niech re { \ ze współczynnikami w że jest liczbą pierwszą Solinasa. Biorąc pod uwagę liczbę znaleźć liczbę zgodną z mod tylko z taką liczbą bitów, jak znaczy z co .

Najpierw reprezentuj w bazie :

Następnie wygeneruj macierz przez krok -by- Displaystyle razy rejestr przesuwny liniowym sprzężeniem zwrotnym przez wielomian zaczynając od rejestru liczb całkowitych , przesuń w prawo o jedną pozycję, wstrzykując po lewej stronie i dodając (pod względem składowym) wartość wyjściową razy wektor na każdym kroku (szczegóły w [1]). niech liczbą całkowitą w na kroku th i że pierwszy wiersz określony przez . Wtedy jeśli oznaczymy przez wektor liczb całkowitych określony wzorem:

,

można łatwo sprawdzić, że:

.

Zatem reprezentuje -bitową liczbę całkowitą przystającą do .

wyborów (ponownie, patrz [1]), algorytm ten obejmuje tylko stosunkowo niewielką liczbę dodawania i odejmowania (i żadnych podziałów!), Więc może być znacznie bardziej wydajny niż naiwna redukcja modułowa fa {\ displaystyle f algorytm ( ).

Przykłady

Cztery z zalecanych liczb pierwszych w dokumencie NIST „Zalecane krzywe eliptyczne do użytku rządu federalnego” to liczby pierwsze Solinasa:

  • p-192
  • p-224
  • p-256
  • p-384

Curve448 wykorzystuje liczbę pierwszą Solinasa

Zobacz też