Редукція Барретта — алгоритм обчислення лишку за модулем, запропонований Барреттом 1986 року.
Наївний спосіб обчислення виразу полягає в застосуванні ділення з остачею, яке в довгій арифметиці є складною операцією (зазвичай, зводиться до кількох операцій множення та віднімання). Алгоритм Барретта розроблено для оптимізації цієї операції за умов та сталого . У ньому ділення замінено двома множеннями, зсувом та відніманням.
Алгоритм
Попередні обчислення:
- Нехай і — не степінь 2 (обчислення лишку за модулем, який дорівнює степені 2, у двійковій системі є тривіальним).
- Обрати таке, що (найменше таке дорівнює ).
- Обчислимо (це й буде наперед обчислений множник).
Обчислення залишку за модулем:
- Маємо таке, що , залишок від ділення якого на потрібно знайти.
- Обчислюємо
- Якщо , тоді повернути ; інакше — повернути . Цей результат дорівнює .
Доведення правильності
- Оскільки не є степенем 2, то число — не ціле. Отже,
- Множення на
- Ділення на .
- Із того, що випливає, що Тому: .
- Також: і . Разом маємо: .
- Множимо на
- Множимо на .
- Додаємо
- Очевидно, що , оскільки число кратне .
У результаті ми перейшли від у діапазоні до у діапазоні без зміни конгруентності за модулем .
Останній крок простий: необхідно отримати результат у діапазоні .
Застосування
Редукція Барретта застосовується для обчислення залишку за модулем в операціях модульного множення й , які широко застосовуються в системах криптографічного захисту інформації.
Примітки
- Barrett, P. (2006). Implementing the Rivest Shamir and Adleman Public Key Encryption Algorithm on a Standard Digital Signal Processor. Advances in Cryptology — CRYPTO' 86. Lecture Notes in Computer Science. Т. 263. с. 311—323. doi:10.1007/3-540-47721-7_24. ISBN .
- Кабір Лабіб Ахмед (11.06.2022). Метод прискореного модулярного множення для систем криптографічного захисту даних (PDF). Дипломний проєкт. Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського».
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Redukciya Barretta algoritm obchislennya lishku za modulem zaproponovanij Barrettom 1986 roku Nayivnij sposib obchislennya virazu c a mod n displaystyle c a bmod n polyagaye v zastosuvanni dilennya z ostacheyu yake v dovgij arifmetici ye skladnoyu operaciyeyu zazvichaj zvoditsya do kilkoh operacij mnozhennya ta vidnimannya Algoritm Barretta rozrobleno dlya optimizaciyi ciyeyi operaciyi za umov a lt n 2 displaystyle a lt n 2 ta stalogo n displaystyle n U nomu dilennya zamineno dvoma mnozhennyami zsuvom ta vidnimannyam AlgoritmPoperedni obchislennya Nehaj n N n 3 displaystyle n in N n geq 3 i n displaystyle n ne stepin 2 obchislennya lishku za modulem yakij dorivnyuye stepeni 2 u dvijkovij sistemi ye trivialnim Obrati k N displaystyle k in N take sho 2 k gt n displaystyle 2 k gt n najmenshe take k displaystyle k dorivnyuye log 2 n displaystyle left lfloor log 2 n right rfloor Obchislimo r 4 k n displaystyle r left lfloor frac 4 k n right rfloor ce j bude napered obchislenij mnozhnik Obchislennya zalishku za modulem Mayemo x N displaystyle x in N take sho 0 x lt n 2 displaystyle 0 leq x lt n 2 zalishok vid dilennya yakogo na n displaystyle n potribno znajti Obchislyuyemo t x x r 4 k n displaystyle t x left lfloor frac xr 4 k right rfloor n Yaksho t lt n displaystyle t lt n todi povernuti t displaystyle t inakshe povernuti t n displaystyle t n Cej rezultat dorivnyuye x mod n displaystyle x mod n Dovedennya pravilnostiOskilki n displaystyle n ne ye stepenem 2 to chislo 4 k n displaystyle frac 4 k n ne cile Otzhe 4 k n 1 lt r lt 4 k n displaystyle frac 4 k n 1 lt r lt frac 4 k n Mnozhennya na x x 0 x 4 k n 1 x r x 4 k n displaystyle x x geq 0 x frac 4 k n 1 leq xr leq frac x4 k n Dilennya na 4 k x n x 4 k x r 4 k x n displaystyle 4 k frac x n frac x 4 k leq frac xr 4 k leq frac x n Iz togo sho x lt n 2 lt 4 k displaystyle x lt n 2 lt 4 k viplivaye sho x 4 k lt 1 displaystyle frac x 4 k lt 1 Tomu x n 1 lt x r 4 k x n displaystyle frac x n 1 lt frac xr 4 k leq frac x n Takozh x n 2 lt x n 1 displaystyle frac x n 2 lt left lfloor frac x n 1 right rfloor i x n 1 x r 4 k displaystyle left lfloor frac x n 1 right rfloor leq frac xr 4 k Razom mayemo x n 2 lt x n 1 x r 4 k displaystyle frac x n 2 lt left lfloor frac x n 1 right rfloor leq frac xr 4 k Mnozhimo na n n gt 0 x 2 n lt x r 4 k n x displaystyle n n gt 0 x 2n lt left lfloor frac xr 4 k right rfloor n leq x Mnozhimo na 1 x x r 4 k n lt 2 n x displaystyle 1 x leq left lfloor frac xr 4 k right rfloor n lt 2n x Dodayemo x 0 x x r 4 k n lt 2 n displaystyle x 0 leq x left lfloor frac xr 4 k right rfloor n lt 2n Ochevidno sho x x x r 4 k n mod n displaystyle x equiv x left lfloor frac xr 4 k right rfloor n pmod n oskilki chislo x r 4 k n displaystyle left lfloor frac xr 4 k right rfloor n kratne n displaystyle n U rezultati mi perejshli vid x displaystyle x u diapazoni 0 n 2 displaystyle 0 n 2 do t displaystyle t u diapazoni 0 2 n displaystyle 0 2n bez zmini kongruentnosti za modulem n displaystyle n Ostannij krok prostij neobhidno otrimati rezultat u diapazoni 0 n displaystyle 0 n ZastosuvannyaRedukciya Barretta zastosovuyetsya dlya obchislennya zalishku za modulem v operaciyah modulnogo mnozhennya j yaki shiroko zastosovuyutsya v sistemah kriptografichnogo zahistu informaciyi PrimitkiBarrett P 2006 Implementing the Rivest Shamir and Adleman Public Key Encryption Algorithm on a Standard Digital Signal Processor Advances in Cryptology CRYPTO 86 Lecture Notes in Computer Science T 263 s 311 323 doi 10 1007 3 540 47721 7 24 ISBN 978 3 540 18047 0 Kabir Labib Ahmed 11 06 2022 Metod priskorenogo modulyarnogo mnozhennya dlya sistem kriptografichnogo zahistu danih PDF Diplomnij proyekt Nacionalnij tehnichnij universitet Ukrayini Kiyivskij politehnichnij institut imeni Igorya Sikorskogo