Professional Documents
Culture Documents
DS Chapter
DS Chapter
Алгоритам 0.11 описује процес проширења базе који претвара цео број 𝑋изражен у РНС
бази ℳ ′у 𝑋ℳ ′ РНС репрезентацију друге базе ℳ. Он имплементира (24) у корацима 1-8
да би добио мешовите 𝑈𝑖 цифре 𝑋. У корацима 9 15, (22)се реализује, док се цео збир
рачуна по модулу сваког модула 𝑚𝑖 нове базеℳ
𝑣 𝑎𝑏 + 𝑡𝑁 (2𝑁)2 + 𝑀 ′𝑁 4𝑁
𝑐= = =( + 1) 𝑁 ≤ 2𝑁,
𝑀′ 𝑀′
< 𝑀′ 𝑀′
следи да 4𝑁 ≤ 𝑀′је довољно за 𝑐 < 2𝑁држати када 𝑎, 𝑏 < 2𝑁. Коначно, (37) такође
показује да 2𝑁 ≤ 𝑀је довољно за 𝑐 < 𝑀′и 𝑣 < 𝑀𝑀′. Пошто 𝑣је максимална средња
вредност, све вредности су мање од 𝑀𝑀′[24,46].
ПРНСМММ алгоритам за 𝐺𝐹 (2𝑛 )је илустрован као алгоритам 0.12, док је одговарајући
алгоритам за проширење базе у 𝐺𝐹 (2𝑛 )идентичан алгоритму 0.11. Једина разлика је у
томе што се целобројна сабирања/одузимања и множења замењују полиномима. Опет,
степени улазног и излазног полинома су мањи од 𝑛, што омогућава конструкцију
модуларног алгоритма за експоненцијацију понављањем ПРНСМММ. Проширење базе у
кораку 7 се користи из истог разлога.
за базе ℳи ℳ′, респективно [48]. ДРАМММ и ДБЕ алгоритми заједно са условима (38) и
(39) обезбеђују неопходне услове за Монтгомеријево аритметичко множење са
двоструким пољем.
Унутрашњи производи реда 𝑖се израчунавају паралелно у свакој МАЦ јединици. Сваки
МАЦ затим пропагира свој резултат на следећи МАЦ, тако да на крају последњи даје
MAC (𝐿)цифру 𝑧(𝑖)радикса −2𝑟резултата. Паралелно са овим сумирањем, могу се
формулисати унутрашњи производи следећег реда 𝑖 + 1, пошто сабирач и множилац
ДРАМММ МАЦ јединице могу да раде паралелно.
(𝐿−1)
0 0 𝑊𝐿
0 ⋮(2) ⋮
⋮
⋮ 0
𝑧= 𝑈⊙0 ⊕𝑈⊙ ⊕ 𝑊3 ⊕⋯⊕𝑈⊙ ⊙𝑉
⊙ (2)
𝑈 𝑊
1 2 (1) 3 (1) 𝐿 𝐿
0 𝑊2 𝑊3 (1)
[1] 𝑊
(0) (0) 𝐿
𝐿 = 4, 𝛽 = 4
Слика 9 Дистрибуција задатака у ДРАМММ алгоритму [48]
𝜉
𝐸 𝐹
⏞𝑟 𝑟⏞− 1
⏞𝑟 − 1
𝑑
−1
ℎ
⟨𝑐⟩𝑚𝑖 = ⟨∑ 𝑐 2𝑖 + 2𝑟 𝑐𝑟+𝑖2𝑖⟩ = ⟨⏞𝐸 + 2𝑟 𝐹 ⟩ = ⟨∑ 𝑑 2𝑖 + 𝜇 ∑ 𝑑 2𝑖 ⟩ .
𝑖
∑ 𝑚𝑖 𝑖 𝑖 𝑟+𝑖
𝑖=0 𝑖=0 𝑚𝑖 𝑖=0 𝑖=0
𝑚𝑖
Из (41) је очигледно да
𝑟−1
∑ 𝜉𝑖2𝑖, 𝜉 < 2𝑟 − 𝜇
⟨𝑐⟩𝑚𝑖 = 𝑖=0
𝑟
∑ 𝜉𝑖2𝑖 + 𝜇𝑖, 2𝑟 − 𝜇 < 𝜉 < 2𝑟.
{𝑖=0
1.5.4. Кашњење
Претпоставимо да 𝛽 ≤ 𝐿се паралелне МАЦ јединице користе у стварној имплементацији.
Да бисмо поједноставили дискусију, претпоставља се да 𝛽је вишекратник 𝐿, тј 𝐿 = 𝑘𝛽. То
значи да ће сваки од првих MAC (𝑖), 𝑖 = 1,2, … , 𝛽, дати резултате за 𝑘 − 1више канала.
Изградњом МРЦ-а, ДБЕ процес на слици 9 захтева 2𝐿 − 1циклусе такта у пуном
паралелном случају. Сваки канал 1 ≤ 𝑖 ≤ 𝛽захтева 𝐿циклусе за множење и 𝐿 + 𝑖 −
2циклусе за сабирања, тако да сваки канал има 𝐿 − 1слободне слотове за множење и 𝐿 −
𝑖 + 1слободне прорезе за сабирања (стања мировања на слици 9).
који израчунава све могуће вредности додатних циклуса за све комбинације (𝑖, 𝑗, 𝑙)и у
кораку 6 бирамо 𝑣као максималну заједничку вредност за све MAC(𝑖). За сваку различиту
комбинацију (𝑖, 𝑗, 𝑙)која задовољава 𝛼𝑖𝑗𝑙 < 𝑣, упарујемо одговарајуће јединице све док сви
различити парови јединица на позицијама (𝑗, 𝑙)не буду додељени посебној јединици на
позицији 𝑖. Преосталих 6 корака ДРАМММ-а захтевају 6𝑘циклусе, укупно[48,44]
2. Примена на криптографију елиптичне
криве
У наставку је приказана примена РНСМММ алгоритма на ЕЦЦ. Дизајн користи основе
модула који нуде ефикасну аритметику и разликује се од приступа анализираних раније у
смислу да се наменске компоненте користе за ИО конверзије и БЕ операције. Дизајн
користи једначину (23) за добијање МРС цифара резултата, док се (22) израчунава по
модулу сваког модула нове базе.