Алгори́тм Шу́фа — ефективний алгоритм підрахунку числа точок на еліптичній кривій над скінченним полем. Має застосування в еліптичній криптографії, де важливо знати кількість точок, щоб оцінити складність розв'язання задачі дискретного логарифма в групі точок на еліптичній кривій.
Алгоритм опублікував [en] в 1985 році. Це був теоретичний прорив, бо це перший детермінований алгоритм, який виконується за поліноміальний час, для [en]. До алгоритму Шуфа підходи до підрахунку точок на еліптичних кривих були здебільшого трудомісткими та виконувались за експоненціальний час.
Вступ
Нехай – еліптична крива над скінченним полем , де , – просте число та . Над полем, характеристика якого не дорівнює 2 або 3, еліптична крива може бути задана рівнянням Вейєрштрасса
- ,
де . Множина точок, визначених над , складається з розв'язків , які задовольняють рівняння кривої, та точки на нескінченності . Застосовуючи (груповий закон) на еліптичних кривих до цієї множини отримаємо абелеву групу , у якій буде нейтральним елементом. Кількість точок на еліптичній кривій дорівнює потужності множини . Підхід Шуфа для обчислення потужності використовує теорему Гассе про еліптичні криві разом з китайською теоремою про остачі та [en].
Теорема Гассе
Теорема Гассе стверджує, що якщо є еліптичною кривою над скінченним полем , то задовольняє нерівність
Цей сильний результат, отриманий Гассе в 1934 році, спрощує нашу задачу, звужуючи до скінченного (хоча і великого) набору можливих значень . Позначимо , обчислення значення по модулю буде достатньо для знаходження самого значення , а з нього – значення . Хоча немає прямого ефективного шляху обчислення для довільного , проте можна обчислити для малого простого числа більш ефективно. Виберемо множину різних простих чисел , для яких . Після отримання значень для кожного обчислимо за допомогою китайської теореми про лишки.
Для того, щоб обчислити для простого , використаємо ендоморфізм Фробеніуса та поліноми ділення. Розгляд простих чисел не є проблемою, бо завжди можна вибрати більше просте число, яке займе місце , так щоб добуток вище задовольняв відповідну нерівність.
Ендоморфізм Фробеніуса
Нехай – еліптична крива, визначена над , розглянемо точки на над , де – алгебраїчне замиканням . Тобто ми дозволяємо точки з координатами в . Ендоморфізм Фробеніуса над розширює еліптичну криву відображенням .
Це відображення тотожне на , можна розширити його точкою на нескінченності , що зробить його морфізмом з на себе.
Ендоморфізм Фробеніуса задовольняє квадратне рівняння, пов'язане з потужністю , за наступною теоремою:
|
Тоді для всіх матимемо , де «» – операція додавання точок на еліптичній кривій за груповим законом, а та – множення точок та на скаляри та , відповідно.
Можна спробувати обчислити , і як функції на [en] кривої , а потім шукати значення , яке задовольняє рівняння. Однак, на практиці, коли степені стають занадто великими, такий підхід буде недоцільним.
Ідея Шуфа полягає в тому, щоб провести ці обчислення, обмежуючись точками порядку для різних малих простих чисел . Фіксуючи непарне просте число , переходимо до задачі знаходження , визначеного як , для заданого . Якщо точка знаходиться в підгрупі -кручення , то , де – єдине ціле, таке що та . Зауважимо, що і для будь-якого цілого виконується . Таким чином, матиме такий же порядок як і . Тоді для матимемо при . Таким чином, задача зводиться до розв'язання рівняння
- , де .
Обчислення по простому модулю
Позначимо (пам'ятаємо, що ми працюємо по модулю l).
Скалярний добуток можна обчислити методом подвоїти та додати або використовуючи -ий поліном ділення. Останній підхід дає:
- ,
де – n-ий поліном ділення. Функція залежить тільки від x, позначимо її через .
Розглянемо два випадки: та (тут рівність по модулю ).
Випадок 1:
Використовуючи формулу додавання для групи отримаємо:
У випадку рівності таке обчислення буде неправильним.
Далі можна звузити вибір координати x до двох можливих варіантів, різних за знаком та рівних по модулю. Потім використовуючи y-координату знайдемо який з варіантів має місце.
Покажемо, шо є функцією тільки від . Розглянемо . Замінимо на , тоді отримаємо
Оскільки парне, то така заміна означає, що ми працюємо у факторкільці .
Якщо для деякого , то виконується рівність
для всіх .
Як згадувалося раніше, використовуючи та , можна визначити, яке з двох значень ( або ) працює. Це дає значення . Далі алгоритм Шуфа зберігає значення в змінній для кожного розглянутого простого l.
Випадок 2:
Спочатку припустимо, що . Для точки , що задовольняє це, з характеристичного рівняння отримуємо . А отже, . З цього випливає, що є квадратом по модулю . Нехай . Обчислимо в та перевіримо чи . Якщо це так, то , де знак залежить від y-координати.
Якщо не є квадратом по модулю l або рівність не виконується для жодного , то припущення, що невірне, тому . Характеристичне рівняння дає .
Додатковий випадок:
Якщо згадати, наші початкові міркування опускають випадок . Припускалось, що q непарне та зокрема, тоді і тільки тоді, коли містить елемент порядку 2. За означенням додавання в цій групі будь-який елемент порядку 2 має вигляд . Таким чином тоді і тільки тоді, коли має корінь з тоді і тільки тоді, коли .
Алгоритм
Ввід: 1. Еліптична крива ; 2. Натуральне число , для скінченного поля . Вивід: Число точок E над . Вибираємо множину непарних простих чисел S, яка не містить p, така що Покладемо якщо , інакше . Обчислюємо поліном ділення . Всі обчислення в циклі нижче виконуються в кільці Для виконуємо: Нехай – єдине ціле таке що, and . Обчислюємо , та . Якщо , то Обчислюємо . для виконуємо: якщо , то якщо , то ; інакше . інакше якщо q є квадратом по модулю l, то обчислюємо w, для якого обчислюємо якщо , то інакше якщо , то інакше інакше Використовуємо китайську теорему про остачі для обчислення t по модулю N з рівнянь , де . Виводимо .
Складність
Більшість обчислень припадає на та для кожного простого , тобто на обчислення , , , для кожного простого . Ці обчислення включають піднесення до степені та потребують множень. Степінь дорівнює , тобто . За теоремою про розподіл простих чисел існує близько простих чисел розміру , це дає , маємо . Таким чином, множення в кільці потребує множень , що в свою чергу потребує бітових операцій. Загалом, кількість бітових операцій для кожного простого дорівнює . Оскільки обчислення необхідно провести для простих чисел, то повна складність алгоритму Шуфа дорівнює . Використання швидких операцій з поліномами та цілочисельної арифметики скорочує цей час до . Тут означає зі знехтуваними логарифмічним множниками.
Модифікація алгоритму Шуфа
У 1990-х роках [en], а за ним [en], вдосконалили алгоритм Шуфа через обмеження множини простих чисел , розглянутої раніше, до простих чисел певного виду. Просте число називається простим числом Елкіса, якщо характеристичне рівняння розкладається над , а прості числа Аткіна – це прості числа, які не є простими Елкіса. Аткін показав як комбінувати інформацію, отриману з простих чисел Аткіна, з інформацією, отриманою з простих чисел Елкіса, щоб отримати більш ефективний алгоритм, який отримав назву алгоритм Шуфа — Елкіса — Аткіна. Перша задача, яку потрібно вирішити, – чи є задане просте число простим Аткіна, чи простим Елкіса. Для цього використовуються модулярні поліноми, які виникають при вивченні модулярних форм та інтерпретації еліптичних кривих над полем комплексних чисел як решіток. Після того, як визначимо, у якому випадку перебуваємо, замість того, щоб використовувати поліноми ділення, ми зможемо працювати з поліномами, які мають нижчий степінь, ніж відповідні поліноми ділення: замість . Для ефективної реалізації використовуються ймовірнісні алгоритми знаходження коренів, що робить алгоритм алгоритмом Лас-Вегаса, а не детермінованим алгоритмом.
При евристичному припущенні, що приблизно половина простих чисел, які не перевищують , є простими числами Елкіса, це дає більш ефективний алгоритм ніж алгоритм Шуфа з очікуваним часом роботи при використанні звичайної арифметики та при використанні швидкої арифметики. Хоч це евристичне припущення вірне для багатьох еліптичних кривих, але невідомо чи воно виконується в загальному випадку, навіть при істинності узагальненої гіпотези Рімана.
Джерела
- R. Schoof: Elliptic Curves over Finite Fields and the Computation of Square Roots mod p. Math. Comp., 44(170):483–494, 1985. Available at http://www.mat.uniroma2.it/~schoof/ctpts.pdf [ 4 березня 2021 у Wayback Machine.]
- R. Schoof: Counting Points on Elliptic Curves over Finite Fields. J. Theor. Nombres Bordeaux 7:219–254, 1995. Available at http://www.mat.uniroma2.it/~schoof/ctg.pdf [ 27 січня 2021 у Wayback Machine.]
- G. Musiker: Schoof's Algorithm for Counting Points on . Available at http://www.math.umn.edu/~musiker/schoof.pdf [ 3 березня 2016 у Wayback Machine.]
- V. Müller: Die Berechnung der Punktanzahl von elliptischen kurven über endlichen Primkörpern. Master's Thesis. Universität des Saarlandes, Saarbrücken, 1991. Available at http://lecturer.ukdw.ac.id/vmueller/publications.php [ 28 липня 2020 у Wayback Machine.]
- A. Enge: Elliptic Curves and their Applications to Cryptography: An Introduction. Kluwer Academic Publishers, Dordrecht, 1999.
- L. C. Washington: Elliptic Curves: Number Theory and Cryptography, 2nd Ed. Chapman & Hall/CRC, New York, 2008.
- Н. Коблиц: Курс теории чисел и криптографии, Научное издательство «ТВП», 2001
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Algori tm Shu fa efektivnij algoritm pidrahunku chisla tochok na eliptichnij krivij nad skinchennim polem Maye zastosuvannya v eliptichnij kriptografiyi de vazhlivo znati kilkist tochok shob ociniti skladnist rozv yazannya zadachi diskretnogo logarifma v grupi tochok na eliptichnij krivij Algoritm opublikuvav en v 1985 roci Ce buv teoretichnij proriv bo ce pershij determinovanij algoritm yakij vikonuyetsya za polinomialnij chas dlya en Do algoritmu Shufa pidhodi do pidrahunku tochok na eliptichnih krivih buli zdebilshogo trudomistkimi ta vikonuvalis za eksponencialnij chas VstupNehaj E displaystyle E eliptichna kriva nad skinchennim polem Fq displaystyle mathbb F q de q pn displaystyle q p n p displaystyle p proste chislo ta n N displaystyle n in mathbb N Nad polem harakteristika yakogo ne dorivnyuye 2 abo 3 eliptichna kriva mozhe buti zadana rivnyannyam Vejyershtrassa y2 x3 Ax B displaystyle y 2 x 3 Ax B de A B Fq displaystyle A B in mathbb F q Mnozhina tochok viznachenih nad Fq displaystyle mathbb F q skladayetsya z rozv yazkiv x y Fq2 displaystyle x y in mathbb F q 2 yaki zadovolnyayut rivnyannya krivoyi ta tochki na neskinchennosti O displaystyle O Zastosovuyuchi grupovij zakon na eliptichnih krivih do ciyeyi mnozhini otrimayemo abelevu grupu E Fq displaystyle E mathbb F q u yakij O displaystyle O bude nejtralnim elementom Kilkist tochok na eliptichnij krivij dorivnyuye potuzhnosti mnozhini E Fq displaystyle E mathbb F q Pidhid Shufa dlya obchislennya potuzhnosti E Fq displaystyle E mathbb F q vikoristovuye teoremu Gasse pro eliptichni krivi razom z kitajskoyu teoremoyu pro ostachi ta en Teorema GasseDokladnishe Teorema Gasse pro eliptichni krivi Teorema Gasse stverdzhuye sho yaksho E Fq displaystyle E mathbb F q ye eliptichnoyu krivoyu nad skinchennim polem Fq displaystyle mathbb F q to E Fq displaystyle E mathbb F q zadovolnyaye nerivnist q 1 E Fq 2q displaystyle mid q 1 E mathbb F q mid leq 2 sqrt q Cej silnij rezultat otrimanij Gasse v 1934 roci sproshuye nashu zadachu zvuzhuyuchi do skinchennogo hocha i velikogo naboru mozhlivih znachen E Fq displaystyle E mathbb F q Poznachimo t q 1 E Fq displaystyle t q 1 E mathbb F q obchislennya znachennya t displaystyle t po modulyu N gt 4q displaystyle N gt 4 sqrt q bude dostatno dlya znahodzhennya samogo znachennya t displaystyle t a z nogo znachennya E Fq displaystyle E mathbb F q Hocha nemaye pryamogo efektivnogo shlyahu obchislennya t modN displaystyle t pmod N dlya dovilnogo N displaystyle N prote mozhna obchisliti t modl displaystyle t pmod l dlya malogo prostogo chisla l displaystyle l bilsh efektivno Viberemo mnozhinu riznih prostih chisel S l1 l2 lr displaystyle S l 1 l 2 l r dlya yakih li N gt 4q displaystyle prod l i N gt 4 sqrt q Pislya otrimannya znachen t modli displaystyle t pmod l i dlya kozhnogo li S displaystyle l i in S obchislimo t modN displaystyle t pmod N za dopomogoyu kitajskoyi teoremi pro lishki Dlya togo shob obchisliti t modl displaystyle t pmod l dlya prostogo l p displaystyle l neq p vikoristayemo endomorfizm Frobeniusa ϕ displaystyle phi ta polinomi dilennya Rozglyad prostih chisel l p displaystyle l neq p ne ye problemoyu bo zavzhdi mozhna vibrati bilshe proste chislo yake zajme misce p displaystyle p tak shob dobutok vishe zadovolnyav vidpovidnu nerivnist Endomorfizm FrobeniusaNehaj E displaystyle E eliptichna kriva viznachena nad Fq displaystyle mathbb F q rozglyanemo tochki na E displaystyle E nad F q displaystyle bar mathbb F q de F q displaystyle bar mathbb F q algebrayichne zamikannyam Fq displaystyle mathbb F q Tobto mi dozvolyayemo tochki z koordinatami v F q displaystyle bar mathbb F q Endomorfizm Frobeniusa F q displaystyle bar mathbb F q nad Fq displaystyle mathbb F q rozshiryuye eliptichnu krivu vidobrazhennyam ϕ x y xq yq displaystyle phi x y mapsto x q y q Ce vidobrazhennya totozhne na E Fq displaystyle E mathbb F q mozhna rozshiriti jogo tochkoyu na neskinchennosti O displaystyle O sho zrobit jogo morfizmom z E F q displaystyle E bar mathbb F q na sebe Endomorfizm Frobeniusa zadovolnyaye kvadratne rivnyannya pov yazane z potuzhnistyu E Fq displaystyle E mathbb F q za nastupnoyu teoremoyu Teorema Endomorfizm Frobeniusa zadanij vidobrazhennyam ϕ displaystyle phi zadovolnyaye harakteristichne rivnyannya ϕ2 tϕ q 0 displaystyle phi 2 t phi q 0 de t q 1 E Fq displaystyle t q 1 E mathbb F q Todi dlya vsih P x y E displaystyle P x y in E matimemo xq2 yq2 q x y t xq yq displaystyle x q 2 y q 2 q x y t x q y q de displaystyle operaciya dodavannya tochok na eliptichnij krivij za grupovim zakonom a q x y displaystyle q x y ta t xq yq displaystyle t x q y q mnozhennya tochok x y displaystyle x y ta xq yq displaystyle x q y q na skalyari q displaystyle q ta t displaystyle t vidpovidno Mozhna sprobuvati obchisliti xq2 yq2 displaystyle x q 2 y q 2 xq yq displaystyle x q y q i q x y displaystyle q x y yak funkciyi na en Fq x y y2 x3 Ax B displaystyle mathbb F q x y y 2 x 3 Ax B krivoyi E displaystyle E a potim shukati znachennya t displaystyle t yake zadovolnyaye rivnyannya Odnak na praktici koli stepeni stayut zanadto velikimi takij pidhid bude nedocilnim Ideya Shufa polyagaye v tomu shob provesti ci obchislennya obmezhuyuchis tochkami poryadku l displaystyle l dlya riznih malih prostih chisel l displaystyle l Fiksuyuchi neparne proste chislo l displaystyle l perehodimo do zadachi znahodzhennya tl displaystyle t l viznachenogo yak t modl displaystyle t pmod l dlya zadanogo l 2 p displaystyle l neq 2 p Yaksho tochka x y displaystyle x y znahoditsya v pidgrupi l displaystyle l kruchennya E l P E Fq lP O displaystyle E l P in E bar mathbb F q mid lP O to qP q P displaystyle qP bar q P de q displaystyle bar q yedine cile take sho q q modl displaystyle q equiv bar q pmod l ta q lt l 2 displaystyle mid bar q mid lt l 2 Zauvazhimo sho ϕ O O displaystyle phi O O i dlya bud yakogo cilogo r displaystyle r vikonuyetsya rϕ P ϕ rP displaystyle r phi P phi rP Takim chinom ϕ P displaystyle phi P matime takij zhe poryadok yak i P displaystyle P Todi dlya x y E l displaystyle x y in E l matimemo t xq yq t xq yq displaystyle t x q y q bar t x q y q pri t t modl displaystyle t equiv bar t pmod l Takim chinom zadacha zvoditsya do rozv yazannya rivnyannya xq2 yq2 q x y t xq yq displaystyle x q 2 y q 2 bar q x y equiv bar t x q y q de q t l 1 2 l 1 2 displaystyle bar q bar t in l 1 2 l 1 2 Obchislennya po prostomu modulyuPoznachimo X x y Y x y xq2 yq2 q x y displaystyle X x y Y x y x q 2 y q 2 bar q x y pam yatayemo sho mi pracyuyemo po modulyu l Skalyarnij dobutok q x y displaystyle bar q x y mozhna obchisliti metodom podvoyiti ta dodati abo vikoristovuyuchi q displaystyle bar q ij polinom dilennya Ostannij pidhid daye q x y xq yq x psq 1psq 1psq 2 ps2q 2psq 4 displaystyle bar q x y x bar q y bar q left x frac psi bar q 1 psi bar q 1 psi bar q 2 frac psi 2 bar q 2 psi bar q 4 right de psn displaystyle psi n n ij polinom dilennya Funkciya yq y displaystyle y bar q y zalezhit tilki vid x poznachimo yiyi cherez 8 x displaystyle theta x Rozglyanemo dva vipadki xq2 yq2 q x y displaystyle x q 2 y q 2 neq pm bar q x y ta xq2 yq2 q x y displaystyle x q 2 y q 2 pm bar q x y tut rivnist po modulyu psl displaystyle psi l Vipadok 1 xq2 yq2 q x y displaystyle x q 2 y q 2 neq pm bar q x y Vikoristovuyuchi formulu dodavannya dlya grupi E Fq displaystyle E mathbb F q otrimayemo X x y yq2 yq xq2 xq 2 xq2 xq displaystyle X x y left frac y q 2 y bar q x q 2 x bar q right 2 x q 2 x bar q U vipadku rivnosti take obchislennya bude nepravilnim Dali mozhna zvuziti vibir koordinati x do dvoh mozhlivih variantiv riznih za znakom ta rivnih po modulyu Potim vikoristovuyuchi y koordinatu znajdemo yakij z variantiv maye misce Pokazhemo sho X displaystyle X ye funkciyeyu tilki vid x displaystyle x Rozglyanemo yq2 yq 2 y2 yq2 1 yq y 2 displaystyle y q 2 y bar q 2 y 2 y q 2 1 y bar q y 2 Zaminimo y2 displaystyle y 2 na x3 Ax B displaystyle x 3 Ax B todi otrimayemo x3 Ax B x3 Ax B q2 12 8 x displaystyle x 3 Ax B x 3 Ax B frac q 2 1 2 theta x Oskilki q2 1 displaystyle q 2 1 parne to taka zamina oznachaye sho mi pracyuyemo u faktorkilci Fq x y y2 x3 Ax B displaystyle mathbb F q x y y 2 x 3 Ax B Yaksho X xt qmodpsl x displaystyle X equiv x bar t q bmod psi l x dlya deyakogo t 0 l 1 2 displaystyle bar t in 0 l 1 2 to vikonuyetsya rivnist ϕ2 P t ϕ P q P O displaystyle phi 2 P mp bar t phi P bar q P O dlya vsih P E l displaystyle P in E l Yak zgaduvalosya ranishe vikoristovuyuchi Y displaystyle Y ta yt q displaystyle y bar t q mozhna viznachiti yake z dvoh znachen t displaystyle bar t t displaystyle bar t abo t displaystyle bar t pracyuye Ce daye znachennya t t modl displaystyle t equiv bar t pmod l Dali algoritm Shufa zberigaye znachennya t modl displaystyle bar t pmod l v zminnij tl displaystyle t l dlya kozhnogo rozglyanutogo prostogo l Vipadok 2 xq2 yq2 q x y displaystyle x q 2 y q 2 neq pm bar q x y Spochatku pripustimo sho xq2 yq2 q x y displaystyle x q 2 y q 2 bar q x y Dlya tochki P E Fq displaystyle P in E mathbb F q sho zadovolnyaye ce z harakteristichnogo rivnyannya otrimuyemo t ϕ P 2q P displaystyle bar t phi P 2 bar q P A otzhe t 2q P 2q 2P modl displaystyle bar t 2 bar q P equiv 2q 2 P pmod l Z cogo viplivaye sho q displaystyle q ye kvadratom po modulyu l displaystyle l Nehaj q w2 modl displaystyle q equiv w 2 pmod l Obchislimo wϕ x y displaystyle w phi x y v Fq x y y2 x3 Ax B psl displaystyle mathbb F q x y y 2 x 3 Ax B psi l ta perevirimo chi q x y wϕ x y displaystyle bar q x y w phi x y Yaksho ce tak to tl 2w modl displaystyle t l pm 2w pmod l de znak zalezhit vid y koordinati Yaksho q displaystyle q ne ye kvadratom po modulyu l abo rivnist ne vikonuyetsya dlya zhodnogo w displaystyle w to pripushennya sho xq2 yq2 q x y displaystyle x q 2 y q 2 bar q x y nevirne tomu xq2 yq2 q x y displaystyle x q 2 y q 2 bar q x y Harakteristichne rivnyannya daye tl 0 displaystyle t l 0 Dodatkovij vipadok l 2 displaystyle l 2 Yaksho zgadati nashi pochatkovi mirkuvannya opuskayut vipadok l 2 displaystyle l 2 Pripuskalos sho q neparne ta zokrema t2 0 mod2 displaystyle t 2 equiv 0 pmod 2 todi i tilki todi koli E Fq displaystyle E mathbb F q mistit element poryadku 2 Za oznachennyam dodavannya v cij grupi bud yakij element poryadku 2 maye viglyad x0 0 displaystyle x 0 0 Takim chinom t2 0 mod2 displaystyle t 2 equiv 0 pmod 2 todi i tilki todi koli x3 Ax B displaystyle x 3 Ax B maye korin z Fq displaystyle mathbb F q todi i tilki todi koli NSD xq x x3 Ax B 1 displaystyle text NSD x q x x 3 Ax B neq 1 AlgoritmVvid 1 Eliptichna kriva E y2 x3 Ax B displaystyle E y 2 x 3 Ax B 2 Naturalne chislo q pb b N displaystyle q p b b in mathbb N dlya skinchennogo polya Fq displaystyle F q Vivid Chislo tochok E nad Fq displaystyle F q Vibirayemo mnozhinu neparnih prostih chisel S yaka ne mistit p taka sho N l Sl gt 4q displaystyle N prod l in S l gt 4 sqrt q Poklademo t2 0 displaystyle t 2 0 yaksho NSD xq x x3 Ax B 1 displaystyle text NSD x q x x 3 Ax B neq 1 inakshe t2 1 displaystyle t 2 1 Obchislyuyemo polinom dilennya psl displaystyle psi l Vsi obchislennya v cikli nizhche vikonuyutsya v kilci Fq x y y2 x3 Ax B psl displaystyle mathbb F q x y y 2 x 3 Ax B psi l Dlya l S displaystyle l in S vikonuyemo Nehaj q displaystyle bar q yedine cile take sho q q modl displaystyle q equiv bar q pmod l and q lt l 2 displaystyle mid bar q mid lt l 2 Obchislyuyemo xq yq displaystyle x q y q xq2 yq2 displaystyle x q 2 y q 2 ta xq yq displaystyle x bar q y bar q Yaksho xq2 xq displaystyle x q 2 neq x bar q to Obchislyuyemo X Y displaystyle X Y dlya 1 t l 1 2 displaystyle 1 leq bar t leq l 1 2 vikonuyemo yaksho X xt q displaystyle X x bar t q to yaksho Y yt q displaystyle Y y bar t q to tl t displaystyle t l bar t inakshe tl t displaystyle t l bar t inakshe yaksho q ye kvadratom po modulyu l to obchislyuyemo w dlya yakogo q w2 modl displaystyle q equiv w 2 pmod l obchislyuyemo w xq yq displaystyle w x q y q yaksho w xq yq xq2 yq2 displaystyle w x q y q x q 2 y q 2 to tl 2w displaystyle t l 2w inakshe yaksho w xq yq xq2 yq2 displaystyle w x q y q x q 2 y q 2 to tl 2w displaystyle t l 2w inakshe tl 0 displaystyle t l 0 inakshe tl 0 displaystyle t l 0 Vikoristovuyemo kitajsku teoremu pro ostachi dlya obchislennya t po modulyu N z rivnyan t tl modl displaystyle t equiv t l pmod l de l S displaystyle l in S Vivodimo q 1 t displaystyle q 1 t SkladnistBilshist obchislen pripadaye na ϕ P displaystyle phi P ta ϕ2 P displaystyle phi 2 P dlya kozhnogo prostogo l displaystyle l tobto na obchislennya xq displaystyle x q yq displaystyle y q xq2 displaystyle x q 2 yq2 displaystyle y q 2 dlya kozhnogo prostogo l displaystyle l Ci obchislennya vklyuchayut pidnesennya do stepeni R Fq x y y2 x3 Ax B psl displaystyle R mathbb F q x y y 2 x 3 Ax B psi l ta potrebuyut O log q displaystyle O log q mnozhen Stepin psl displaystyle psi l dorivnyuye l2 12 displaystyle frac l 2 1 2 tobto O l2 displaystyle O l 2 Za teoremoyu pro rozpodil prostih chisel isnuye blizko O log q displaystyle O log q prostih chisel rozmiru O log q displaystyle O log q ce daye l O log q displaystyle l O log q mayemo O l2 O log2 q displaystyle O l 2 O log 2 q Takim chinom mnozhennya v kilci R displaystyle R potrebuye O log4 q displaystyle O log 4 q mnozhen Fq displaystyle mathbb F q sho v svoyu chergu potrebuye O log2 q displaystyle O log 2 q bitovih operacij Zagalom kilkist bitovih operacij dlya kozhnogo prostogo l displaystyle l dorivnyuye O log7 q displaystyle O log 7 q Oskilki obchislennya neobhidno provesti dlya O log q displaystyle O log q prostih chisel to povna skladnist algoritmu Shufa dorivnyuye O log8 q displaystyle O log 8 q Vikoristannya shvidkih operacij z polinomami ta cilochiselnoyi arifmetiki skorochuye cej chas do O log5 q displaystyle tilde O log 5 q Tut O displaystyle tilde O oznachaye O displaystyle O zi znehtuvanimi logarifmichnim mnozhnikami Modifikaciya algoritmu ShufaDokladnishe Algoritm Shufa Elkisa Atkina U 1990 h rokah en a za nim en vdoskonalili algoritm Shufa cherez obmezhennya mnozhini prostih chisel S l1 ls displaystyle S l 1 ldots l s rozglyanutoyi ranishe do prostih chisel pevnogo vidu Proste chislo l displaystyle l nazivayetsya prostim chislom Elkisa yaksho harakteristichne rivnyannya ϕ2 tϕ q 0 displaystyle phi 2 t phi q 0 rozkladayetsya nad Fl displaystyle mathbb F l a prosti chisla Atkina ce prosti chisla yaki ne ye prostimi Elkisa Atkin pokazav yak kombinuvati informaciyu otrimanu z prostih chisel Atkina z informaciyeyu otrimanoyu z prostih chisel Elkisa shob otrimati bilsh efektivnij algoritm yakij otrimav nazvu algoritm Shufa Elkisa Atkina Persha zadacha yaku potribno virishiti chi ye zadane proste chislo prostim Atkina chi prostim Elkisa Dlya cogo vikoristovuyutsya modulyarni polinomi yaki vinikayut pri vivchenni modulyarnih form ta interpretaciyi eliptichnih krivih nad polem kompleksnih chisel yak reshitok Pislya togo yak viznachimo u yakomu vipadku perebuvayemo zamist togo shob vikoristovuvati polinomi dilennya mi zmozhemo pracyuvati z polinomami yaki mayut nizhchij stepin nizh vidpovidni polinomi dilennya O l displaystyle O l zamist O l2 displaystyle O l 2 Dlya efektivnoyi realizaciyi vikoristovuyutsya jmovirnisni algoritmi znahodzhennya koreniv sho robit algoritm algoritmom Las Vegasa a ne determinovanim algoritmom Pri evristichnomu pripushenni sho priblizno polovina prostih chisel yaki ne perevishuyut O log q displaystyle O log q ye prostimi chislami Elkisa ce daye bilsh efektivnij algoritm nizh algoritm Shufa z ochikuvanim chasom roboti O log6 q displaystyle O log 6 q pri vikoristanni zvichajnoyi arifmetiki ta O log4 q displaystyle tilde O log 4 q pri vikoristanni shvidkoyi arifmetiki Hoch ce evristichne pripushennya virne dlya bagatoh eliptichnih krivih ale nevidomo chi vono vikonuyetsya v zagalnomu vipadku navit pri istinnosti uzagalnenoyi gipotezi Rimana DzherelaR Schoof Elliptic Curves over Finite Fields and the Computation of Square Roots mod p Math Comp 44 170 483 494 1985 Available at http www mat uniroma2 it schoof ctpts pdf 4 bereznya 2021 u Wayback Machine R Schoof Counting Points on Elliptic Curves over Finite Fields J Theor Nombres Bordeaux 7 219 254 1995 Available at http www mat uniroma2 it schoof ctg pdf 27 sichnya 2021 u Wayback Machine G Musiker Schoof s Algorithm for Counting Points on E Fq displaystyle E mathbb F q Available at http www math umn edu musiker schoof pdf 3 bereznya 2016 u Wayback Machine V Muller Die Berechnung der Punktanzahl von elliptischen kurven uber endlichen Primkorpern Master s Thesis Universitat des Saarlandes Saarbrucken 1991 Available at http lecturer ukdw ac id vmueller publications php 28 lipnya 2020 u Wayback Machine A Enge Elliptic Curves and their Applications to Cryptography An Introduction Kluwer Academic Publishers Dordrecht 1999 L C Washington Elliptic Curves Number Theory and Cryptography 2nd Ed Chapman amp Hall CRC New York 2008 N Koblic Kurs teorii chisel i kriptografii Nauchnoe izdatelstvo TVP 2001