Вычисление преобразований Фурье-Галуа в редуцированных бинарных системах счисления
Автор: Чернов Владимир Михайлович
Журнал: Компьютерная оптика @computer-optics
Рубрика: Численные методы и анализ данных
Статья в выпуске: 3 т.42, 2018 года.
Бесплатный доступ
В работе предлагается новый метод вычисления преобразований Фурье-Галуа (теоретико-числовых преобразований), являющихся модулярным аналогом дискретного преобразования Фурье. Ряд специфических проблем, связанных с вычислением преобразований в конечном поле, удаётся решить с помощью представления элементов этих полей в «экзотических» системах счисления, являющихся редукциями канонических систем счисления И. Катаи при отображении соответствующего кольца целых квадратичного поля в поле классов вычетов по простому модулю. Подробно исследуется случай бинарных редуцированных систем счисления. Доказывается, что такие системы счисления существуют для любого простого числа.
Преобразования фурье-галуа, конечные поля, канонические и редуцированные системы счисления
Короткий адрес: https://sciup.org/140228753
IDR: 140228753 | DOI: 10.18287/2412-6179-2018-42-3-495-500
Текст научной статьи Вычисление преобразований Фурье-Галуа в редуцированных бинарных системах счисления
Основной объект исследования работы – преобразования Фурье–Галуа (синонимы: теоретико-числовые преобразования, ТЧП) [1, 2], являющиеся модулярной версией дискретного преобразования Фурье в конечном поле (mod p ):
N - 1
xˆ(m) = ∑ x(n)ωmn , n=0
ω N ≡ 1(mod p ), (1)
x ( n ) ∈ Z , m = 0,1,...N - 1.
Считалось, что такие преобразования были введены в [3] в 1972, пока не было обнаружено, что такое преобразование было использовано Штрассеном и Шёнхаге в работе по умножению больших целых чисел [4] в 1966 году (заметим, что их приоритет иногда оспаривается также с упоминанием работ Фараджие-ва и Цыпкина 1965-1966 гг. См., например, [5]).
Преобразования (1) обладают рядом полезных свойств, главное из которых – отсутствие вычислительной погрешности, что, например, для задач, возникающих в криптографии, является принципиальным. Пик популярности исследований ТЧП приходился на 90-е годы, причём эти исследования не ограничивались только теоретическими. Наряду с ними проводились и аппаратные разработки [6].
Следует отметить, что, в отличие от традиционного «комплексного» дискретного преобразования Фурье (ДПФ), его модулярная версия (1) обладает рядом специфических недостатков, затрудняющих его вычисление:
-
• операции (mod p ) не являются «элементарными» компьютерными операциями;
-
• длина преобразования и простое число p связаны соотношением делимости N | ( p – 1);
-
• зачастую делители числа ( p – 1) таковы, что вычисление (1) исключает дополнительную алгоритмическую поддержку за счёт применения модулярных аналогов быстрых алгоритмов ДПФ.
В ряде случаев удаётся выбрать параметры преобразования (в частности, простое число p ), при которых перечисленные выше вычислительные недостатки проявляются в минимальной степени.
Наиболее известны в этом контексте простые числа Ферма p = 2 B + 1, B = 2 k , простые числа Мерсенна p = 2 k – 1, по модулю которых в соответствующих конечных полях относительно просто реализуются арифметические операции при представлении элементов этих полей в бинарной арифметике со множеством цифр Λ = {0, 1} [1, 2]. Менее известны простые числа Голомба [7] p = 3 ⋅ 2 k + 1 и Люка p = 5 ⋅ 2 k + 1, для которых также возможна не очень сложная реализация операций в бинарной системе счисления, и вообще для простых чисел p = 2 n – 2 m + 1 [5]. Естественно, что для этих чисел наиболее эффективная реализация в двоичной {0,1}-арифметике будет при ω ≡ 2(mod p ) , когда умножения на степени ω сводятся к регистровым сдвигам.
Замечание. К сожалению, достаточно общие утверждения о мультипликативных порядках элементов ω ≡ 2(mod p ) , то есть о возможных длинах преобразования (1), известны только в простейших случаях. В общем случае эта задача сводится к вычислительно сложной задаче дискретного логарифмирования.
Рассмотрение в преобразовании (1) вместо простых p составных модулей mod m добавляет к отмеченным трудностям необходимость учёта возможных делителей нуля фактор-кольца Z / m Z . Эта проблема решается, как правило, с помощью распараллеливания вычислений по модулям, равным делителям числа m .
В работах [8 – 10] идея распараллеливания реализуется также в сочетании с представлением элементов кольца Z / m Z в подходящей системе счисления.
Необходимые теоретические сведения и обозначения
Пусть Z ( d )– кольцо целых квадратичных чисел поля Q ( d ), то есть чисел z = a + b^d ; a , b e Q с условиями:
Norm( z ) = a 2 - b 2 d e Z , Tr ( z ) = 2 a e Z .
Как известно [13],
Z ( ^/ d ) = { z = a + bid } =
J { z : a , b e Z при d * 1(mod4) } ;
[ { z : a , b e Z , a = b (mod2) при d ^ 1(mod4) } .
Согласно [14], элемент ae Z ( d ) называется основанием канонической системы счисления в Z ( d ),если любой элемент z этого кольца представим в виде
k ( z ) )
z=E zka k, zkeЛ. (2)
k = 0
Числа z k , допуская некоторую методологическую вольность, будем называть цифрами , множество Л - цифровым алфавитом, а пару ( a , Л ) - системой счисления в кольце Z ( d ). Если
Л = { 0,1,..., |Norm( a )| - 1 } , (3)
то система счисления называется канонической системой счисления. Исчерпывающее описание канонических систем счисления для мнимых квадратичных полей получено в [13].
В работе [14] было предложено обобщение понятия канонической системы счисления: допускался цифровой алфавит Л , являющийся конечным подмножеством множества Z ( d ). Такие системы счисления, следуя [14], будем называть квазиканониче-скими системами счисления.
Как легко следует из ограничений классификационных теорем работы [13], бинарные канонические системы счисления существуют только в кольцах
Z ( i ), Z ( i 2), Z ( i 7). (4)
В [14] показано, что в этих кольцах и только в них существуют и квазиканонические системы счисления. Определить цифры z k разложения (2) можно с помощью рекуррентного процесса [15], [10], но для рассматриваемых колец Z ( d ) лучше воспользоваться алгоритмом деления по норме на элемент a [12]. Такой алгоритм реализуем лишь для пяти значений d ≤ 0, а именно: d = –1, –2, –3, –7, –11, то есть и для рассматриваемых колец (4).
Пусть далее для данного простого p число d является квадратичным вычетом (mod p) [17], то есть существуют решения сравнения y2 ^ d (mod p). (5)
Пусть n - одно из решений сравнения (5), рассмотрим гомоморфизм
Ф : z = a + b4d ^ a + n b (mod p ), (6) так как элемент в правой части (6) принадлежит конечному полю F p , то есть ф - отображение Z (T d ) ^ F p .
Отображение ф редукция (mod p ), очевидным образом индуцирует преобразование представления (1) с новыми параметрами: цифрами ф ( z k ) и основанием Ф ( a ) = g. Такие представления будем называть представлениями в редуцированных системах счисления.
В настоящей работе рассматриваются только бинарные редуцированные системы счисления (то есть с двухэлементными цифровыми множествами Л ).
Свяжем с элементом кольца F p его код – вектор цифр:
-
^ = - g 0 + 5 1 g 1 + ^ 2 g 2 + ... ^ (U 5 1 , ^ --- ) . (7)
Операции над представлениями элементов (2) индуцируют соответствующие им правила преобразований кодов. Отметим, что при такой интерпретации цифры ^ k при реализации операций играют не роль чисел, а являются исключительно «идентификаторами состояния соответствующего триггера».
Конечные поля, для которых существуют бинарные редуцированные системы счисления
Рассмотрим подробнее те из колец целых квадратичных чисел Z ( d ), для которых выполняются условия:
-
(a) число ( d ) является квадратичным вычетом (mod p ),
-
(b) в кольце Z ( d ) существуют бинарные ква-зиканонические системы счисления.
Колец Z ( d ) с условием (b) немного: Z ( i ), Z ( i 2), Z ( i 7). Исследуем, при каких простых p каждое из перечисленных колец удовлетворяет условию (a).
Случай поля Z p ( i ) = F p . Как следует из работы [13] о канонических системах счисления в мнимых квадратичных полях и её обобщений [16] на «квази-канонические» системы счисления, в кольце целых элементов Z ( i ) существуют ровно 8 бинарных «ква-зиканонических» систем счисления, а именно системы счисления с основаниями a = a ± = -1 ± i и множествами Л цифр
{ 0,1 } , { 0, i } , { 0, - 1 } , { 0, - i } .
В табл. 1 указаны правила инверсии знака, переноса в старший разряд(ы) для четырех из восьми бинарных систем счисления.
Табл. 1. Арифметические операции в квазиканонических системах счисления кольца целых квадратичных Z (i)
Система счисления { a , Л } |
Преобразование выражений, возникающих при реализации арифметических операций |
a = - 1 + i , Л = { 0, i } |
i = i a + i , 432 - 1 = i a + 1 a + 1 a + 1 , 2 i = i a 3 + i a 2 |
a = - 1 + i , Л = { 0, - 1 } |
( - 1 ) 2 = 1 = = ( - 1) a 4 + ( - 1) a 3 + ( - 1) a 2 + ( - 1), - 2 = ( - 1 ) a 3 + ( - 1 ) a 2 |
a = - 1 + i , Л = { 0, - i } |
( - i ) 2 = - 1 = = ( - i ) a 2 + ( - i ) a + ( - i ) , i = ( - i ) a 4 + ( - i ) a 3 + + (- i )a 2 + (- i ) , 2 i = ( - i ) a 3 + ( - i ) a 2 |
a = - 1 + i , л = { 0,1 } |
12 = 1, - 1 = 1 ^a 4 + 1 ^a 3 + 1 ^a 2 + 1, 2 = 1 ^a 3 + 1 ^a 2 |
От редуцированного (mod p ) кольца Z p ( i ) потребуем, чтобы элемент (–1) являлся квадратичным вычетом (mod p ). Хорошо известно (например, [17]), что это условие выполняется для всех простых чисел вида p = 4 k + 1 (так называемых «пифагоровых простых»):
5,13,17,29,37,41,53,61,73,89,97,101,109, ^ ,
Так как возможная длина N преобразования (1) связана c (mod p ) соотношением делимости N | ( p – 1), то для p = 13 возможные длины преобразований N = 2,3,4, 6,12, причём элемент a = 4 имеет мультипликативный порядок, равный 12.
Заметим, что в отличие от классических систем счисления в кольце целых рациональных чисел Z один и тот же элемент кольца классов вычетов (mod p ) может иметь несколько (бинарных) представлений в системе счисления с основанием a .
Пример 2. Пусть p = 5, i = 2 (mod5), a = -1 -i = 2 (mod5),Л = {0,1}.
Свяжем с элементом кольца S p ( i ) его код – вектор цифр:
x = x 0 a 0 + x 1 a 1 + x 2 a 2 + ... ^ ( x 0 , x 1 , x 2,... ) .
Тогда при выбранных выше параметрах имеем:
0 o ( 0,0,0 ) о ( 1,0,1 ) ,
-
1 о ( 1,0,0, ) o ( 0,1,1 ) ,
-
2 o ( 0,1,0 ) ^ ( 1,1,1 ) ,
-
3 ^ ( 1,1,0 ) ,
-
4 o ( 0,0,1 ) .
то есть членов последовательности А00144 по классификации [18].
В этом случае «редуцированная» (mod p ) табл. 1 получается формальной заменой основания системы счисления и «цифр» на соответствующие элементы, а именно образы при каноническом отображении редукции Z( i ) ^ Z p ( i ) (« приведение (mod p ) » ) .
Пример 1 . Пусть p = 13, n — решение сравнения П 2 ^ -1 ^ p - 1(mod p ).
В рассматриваемом случае указанное сравнение имеет два решения n + = 5, П - = 8(mod 13).
Далее, при
П = 5(mod13), Л={0,i} ={0,5}, a = -1 + i = -1 + 5 = 4(mod13).
Случай поля Z p ( i V2) = F p . Как показано в работе [14], в кольце целых квадратичных чисел Z ( i 2) существуют ровно четыре бинарные квазиканонические системы счисления: системы счисления с основаниями a = ± i V2 и множествами цифр Л + = {0,1}, Л {0,-1}.
Так как требуется, чтобы в редуцированном (mod p ) кольце элемент (–2) был квадратичным вычетом (mod p ), то, вычисляя символ Лежандра [17],
-2
-1
p
p
p
p -1/
= ( - 1) /2
■(-1)
- 1
нетрудно убедиться, правая часть последнего равенства равна (+1) при всех простых p с условием p2 + 4p - 5 ^ 0(mod16),
соответствующие соотношения правого столбца табл. 1 примут вид:
52 = 5 ■ 41 + 5 ■ 40
8 = 5 ■ 44 + 5 ■ 43 + 5 ■ 42 + 5 ■ 4 0
2 ■ 5 = 5 ■ 43 + 5 ■ 42
( mod13 ) .
Отметим, что в соотношениях (8) коэффициенты 5 ^ i (mod 13) при реализации операций играют не роль чисел, а являются исключительно идентификаторами состояния соответствующего триггера.
что, очевидно, выполняется для простых вида p = 8 k + 1 или p = 8 k + 3, k e Z , то есть для простых чисел - членов последовательности A004625 и членов последовательности A007520 по классификации энциклопедии [18].
Пример 3. Пусть p = 11, n — решение сравнения П 2 ^ -2 ^ p - 2(mod p ).
В рассматриваемом случае указанное сравнение имеет два решения n + ^ 3, П - = 8(mod 11).
Далее, при
П ^ 3 (mod11), Л = {0,1}, a = i ^ = 3( mod11)
соответствующие соотношения правого столбца табл. 2 примут вид:
10 2 = 1
- 1 = 10 = 1 -а 2 + 1
2 = 1 -а 4 + 1 -а 2 = 1 - 81 + 1 - 9
- ( mod11 ) .
Табл. 2. Арифметические операции в квазиканонических системах счисления кольца целых квадратичных Z ( i 2)
Система счисления { а , Л } |
Преобразование выражений, возникающих при реализации арифметических операций |
{ i V2, { 0,1 } } |
12 = 1, - 1 = 1 -а 2 + 1, 2 = 1 -а 4 + 1 -а 2 |
{ i V2, { 0, - 1 } } |
( - 1 ) 2 = 1, 1 = ( - 1) -а 2 + ( - 1), 2 = ( - 1) -а 2 |
Случай поля Z p ( i VX) = F p . Так как (—7) = 1(mod4), то Z ( i V7 ) = | a + 2^ ; a , b е Z ; a = b (mod2) | .
Тем не менее, для определения множества простых, для которых существуют редуцированные бинарные системы счисления, удовлетворяющие требованию (a), определим простые, для которых число (–7) является квадратичным вычетом (mod p ).
Вычисляя символ Лежандра с использованием квадратичного закона взаимности, имеем p-y
I —1 = 1 — II -I = (-1) /2 -I - I =I pJ I p JIp J Ip J
=(-1) p -x (_n м p -x )f p ъг p j ( ) 17 j 17 j .
Нетрудно видеть, что квадратичными вычетами (mod 7) являются элементы 1,2,4(mod 7).
Таким образом, при p = 1,2,4(mod 7) справедливо соотношение Z p ( i V7) = F p и в поле F p существуют бинарные системы счисления – редукции (mod p ) ква-зиканонических систем счисления в Z ( i 7) .
Табл. 3. Арифметические операции в квазиканонических системах счисления кольца целых квадратичных Z ( i 7)
Система счисления { а , Л } |
Преобразование выражений, возникающих при реализации арифметических операций |
{-Y^ , { 0,1 ) } |
12 = 1, - 1 = 1 -а + 1 - а + 1 2 = 1 -а 3 + 1 -а |
{-Ц^ , { 0, - 1 ! |
2 = ( - 1 ) а 3 + ( - 1 ) а , 1 = ( - 1 ) а 2 + ( - 1 ) а + ( - 1 ) |
Пример 4. Пусть p = 11, n — решение сравнения П 2 ^ -7 ^ p - 7(mod p ).
В рассматриваемом случае указанное сравнение имеет два решения n + ^ 2, n - ^ 9(mod 11). Далее, при
П ^ 2 (mod11), Л = {0,1}, 2-1 ^ 6 (mod11), а = 2-1 (-1 - i 41 ) = 7 (mod11), соответствующие соотношения правого столбца табл. 3 примут вид:
2 = 1-а3 + 1-а= 1-63 +1-6 1
!- (mod11).
-
-1 = 1-а2 + 1-а +1 = 1-62 +1-6 +1-60
Таким образом, суммируя полученные результаты о полях Z p ( i4d ) при d = 1, 2, 7, получаем основное утверждение работы.
Утверждение . Для любого простого p существует по крайней мере одна из бинарных редуцированных систем счисления в Z p .
Заключение
Отметим, что сфера приложения рассматриваемого подхода, по мнению автора, не ограничивается приложениями к вычислению теоретико-числовых преобразований для их последующего использования в алгоритмах умножения больших целых чисел, при решении криптографических задач и т.п.
Действительно, реальные вычисления при численном решении любой прикладной задачи производятся не над полями действительных или комплексных чисел, а над некоторым множеством их рациональных аппроксимаций, причем происхождение обрабатываемых данных и возможности используемых вычислительных средств выделяют во множестве рациональных чисел конечное подмножество – некую «рабочую зону». После соответствующего масштабирования элементы этого множества можно считать целыми числами и, более того, вычетами по достаточно большому модулю [19].
Таким образом, рассмотренные «экзотические» системы счисления – бинарные редуцированные системы счисления в определенной мере представляют альтернативу традиционной «битовой» системе счисления.
Отметим также, что разработанная методика применима не только для построения бинарных редуцированных систем. Вопрос о целесообразности таких исследований с ориентацией на приложения зависит от характеристик существующих или перспективных вычислительных устройств.
По крайней мере, представляются интересными и реалистичными исследования тернарных редуцированных систем счисления, например, с «уравновешенным» цифровым алфавитом Л = {-1,0,1}, или каких-либо иных с возможностью простых реализаций базовых арифметических операций.
Работа выполнена при поддержке РФФИ (проект №16-41-630676_р_а) и в рамках госзадания по теме № 0026-2018-0106.
Список литературы Вычисление преобразований Фурье-Галуа в редуцированных бинарных системах счисления
- Нуссбаумер, Г. Быстрое преобразование Фурье и алгоритмы вычисления свёрток/Г. Нуссбаумер; пер. с англ. -М.: Радио и связь, 1985. -248 с.
- Блейхут, Р. Быстрые алгоритмы цифровой обработки сигналов/Р. Блейхут; пер с англ. -М: Мир, 1989. -448 с.
- Rader, C.M. Discrete convolution via Mersenne transforms/C.M. Rader//IEEE Transactions on Computers. -1972. -Vol. C-21, Issue 12. -P. 1269-1273. - DOI: 10.1109/T-C.1972.223497
- Schönhage, A. Schnelle Multiplikation großer Zahlen/A. Schönhage, V. Strassen//Computing. -1966. -Vol. 7, Issue 3-4. -P. 281-292. - DOI: 10.1007/BF02242355
- Вариченко, Л.В. Абстрактные алгебраические системы и цифровая обработка сигналов/Л.В. Вариченко, В.Г. Лабунец, М.А. Раков. -Киев: Наукова думка, 1986. -247 с.
- Alfredson, L.-I. VLSI architectures and arithmetic operations with application to the Fermat number transform/L.-I. Alfredson. -Linköping, Sweden: Linköping University, 1996. -296 p. -ISBN: 91-7871-694-2.
- Golomb, S.W. Properties of the sequence 3∙2n+1/S.W. Golomb//Mathematics of Computation. -1976. -Vol. 30, Issue 135. -P. 657-663. - DOI: 10.1090/S0025-5718-1976-0404129-8
- Chernov, V.M. Fast algorithm for "error-free" convolution computation using Mersenne-Lucas codes/V.M. Chernov//Chaos, Solitons and Fractals. -2006. -Vol. 29, Issue 2. -P. 372-380. - DOI: 10.1016/j.chaos.2005.08.081
- Чернов, В.М. Квазипараллельный алгоритм безошибочного вычисления свёртки в редуцированных кодах Мерсенна-Люка/В.М. Чернов//Компьютерная оптика. -2015. -Т. 39, № 2. -С. 241-248. - DOI: 10.18287/0134-2452-2015-39-2-241-248
- Чернов, В.М. Арифметические методы синтеза быстрых алгоритмов дискретных ортогональных преобразований/В.М. Чернов. -М.: Физматлит, 2007. -264 с. -ISBN: 5-9221-0940-6.
- Koblitz, N. Algebraic aspects of cryptography/N. Koblitz. -Berlin, Heidelberg: Springer-Verlag, 1998. -206 p. -ISBN: 978-3-540-63446-1.
- Боревич, З.И. Теория чисел/З.И. Боревич, И.Р. Шафаревич. -3-е изд. -М.: Наука, 1985. -504 с.
- Kátai, I. Canonical number systems in imaginary quadratic fields/I. Kátai, B. Kovács//Acta Mathematica Hungarica. -1981. -Vol. 37, Issues 1-3. -P. 159-164. - DOI: 10.1007/BF01904880
- Богданов, П.С. Классификация бинарных квазиканонических систем счисления в мнимых квадратичных полях/П.С. Богданов, В.М. Чернов//Компьютерная оптика. -2013. -Т. 37, № 3. -С. 391-400.
- Thuswardner, J. Elementary properties of canonical number systems in quadratic fields/J. Thuswaldner. -In: Application of Fibonacci numbers/ed. by G.E. Bergum, A. N. Philippou, A.F. Horadam. -Dordrecht: Springer, 1998. -P. 405-414. - DOI: 10.1007/978-94-011-5020-0_45
- Богданов, П.С. О сходимости некоторых алгоритмов бинарной и тернарной машинной арифметики для вычислений в мнимых квадратичных полях/П.С. Богданов//Компьютерная оптика. -2015. -Т. 39, № 2. -С. 249-254. - DOI: 10.18287/0134-2452-2015-39-2-249-254
- Айерлэнд, К. Классическое введение в современную теорию чисел/К. Айерлэнд, М. Роузен; пер. с англ. -М.: Мир, 1987. -415 с.
- The on-line encyclopedia of Integer Sequences® (OEIS®) . -URL: https://oeis.org/(дата обращения 10.04.2018 г.).
- Грегори, Р. Безошибочные вычисления. Методы и приложения/Р. Грегори, Е. Кришнамурти; пер. с англ. -М.: Мир, 1988. -207 с. -ISBN: 5-03-001145-5.