Скачиваний:
94
Добавлен:
15.06.2014
Размер:
864.25 Кб
Скачать

 

Если

 

 

 

bi = 0(m2 < i

d 1) ,

(5.16)

то

выполняется (5.13), (5.14)

определяет

частное, a

bi

GF (p)(0 i m2 ) , иначе (5.13) не выполняется.

 

5.6. Преобразование в кольце целых чисел по модулю m . Для специального кольца, которое не является полем, и именно кольца целых чисел по модулю составного целого числа m , также мо-

жет быть указан вариант преобразования, аналогичного (5.1).

 

 

Предположим, что m – степень простого числа, например,

 

 

, и что d – делитель (p 1) . Мультипликативная груп-

 

 

па R элементов кольца Rm , взаимно простых с m , остается цик-

 

 

лической и имеет порядок

 

, который делится на d и,

 

 

таким образом, содержит число r

порядка

. Преобразование по-

RFn1

pn m)

следовательности элементов Rm по-прежнему будет определяться

modp(mod= pp,p1)> 2

 

 

 

 

 

 

 

 

 

 

выражением (5.1).

 

 

 

 

 

 

 

 

 

 

Числа ri (0 i

d

1) образуют подгруппу порядка d группы

 

 

Rm , а элементы кольца Rm , сравнимы с единицей по mod p , обра-

 

 

зуют группу порядка p n 1, причем порядки этих подгрупп явля-

 

 

ются взаимно простыми числами. Поэтому они могут пересекаться

 

 

только по единице.

 

 

pα

1 pα t , где d

 

(pi 1)(1i t) и

 

 

Можно также выбрать m =

 

 

 

r имеют порядок

( mod piα i

1

t

 

 

 

t) ) и, следова-

 

 

для каждого i(1i

 

 

тельно, также имеют порядок

 

.

 

 

 

 

 

 

5.7. Практические методы выполнения преобразования.

 

 

1. Случай F = GF(p) . Простейший метод состоит в представ-

 

 

лении элементов поля

целыми числами 0,1, (p 1) и в выпол-

 

 

нении операций сложения и умножения с последующим приведе-

 

 

нием по mod p . В другом варианте, когда

p не слишком велико,

 

 

умножение по

можно заменить сложениями по mod(p 1)

 

 

и операциями поиска по таблице при помощи заранее построен-

 

 

ных таблиц степеней первообразного корня w(mod p) . Этот прием

 

 

хорошо известен и реализован в6вычислительных1

машинах, рабо-

 

 

тающих в системе «классов вычетов».

 

 

 

 

 

 

Удобно выбрать r

(порядка

в F ) в виде r wd(mod p) ,

 

 

где d d = p 1. Один из методов нахождения первообразного кор-

6. ПРИМЕНЕНИЕ КОНЕЧНЫХ ПОЛЕЙ ДЛЯВЫЧИСЛЕНИЯСВЕРТОК

6.1. Преобразование Рейдера. Рейдер ввел преобразование

вида

 

A

d 1

 

2nk modb ,

 

(6.1)

 

¦a

n

 

 

k

 

n= 0

 

 

 

 

 

 

 

 

 

 

где

b есть любое простое число Мерсенна b =

2 p 1

при

p =

2,3,5,7,13,17,19,31,61

либо число Ферма b = 1+

2(2m )

при

m =

0,1,2,3,4.

 

 

 

 

 

 

Свертка двух конечных последовательностей в этом случае может быть получена как обратное преобразование произведения их прямых преобразований.

Основным преимуществом преобразования Рейдера является возможность выполнения умножений на степени 2 как циклические поразрядные сдвиги. Это преимущество не исключает трудностей вычисления результата по модулю b и ограничений, которые связывают длину кодового слова, длину последовательности d и возможность разложения d на множители, а также ограничений, которые возникают при любом из двух выборов b .

Известно, что преобразования, аналогичные преобразованию Фурье, могут быть определены в поле Галуа, причем эти преобразования обладают свойством циклических сверток. Сложение и умножение в GF(q 2 ) , когда полином x2 + 1 является неприводимым над GF(q) , совпадают с операциями, выполняемыми с комплексными числами.

Преобразования над конечным полем GF(q 2 ) могут быть использованы для вычисления свертки двух d -точечных последовательностей комплексных чисел. Если q является простым числом

62

q

d 2n GF(q )

Мерсенна, то арифметические операции, выполняемые при вычислении преобразования, включают сложение по модулю , операцию дополнения и циклическую перестановку разрядов кодового слова.

Преимущество этого преобразования над перед обычным ДПФ комплексных чисел заключается в том, что при достаточно больших q можно использовать это преобразование над для образования последовательности комплексных чисел an в по-следовательность Ak в GF(q 2 ) , для которой обратное пре-

образование в точности дает исходную последовательность комплексных чисел an . Следовательно, такие операции, как фильтрация и свертка, могут выполняться с помощью такого преобразования последовательности комплексных чисел без ошибок округле-

ния.

Если q является простым числом Мерсенна, то для реализации необходимых преобразований может быть использован алгоритм БПФ.

6.2. Преобразование Фурье над конечным полем. Пусть представляет поле Галуа; q – простое число, a целое число, которое делит q n 1. Пусть также элемент r GF(q n ) по-

рождает циклическую подгруппу d элементов Gd = (r,r 2 , ,r d 1 ) в мультипликативной группе GF(q n ) . Тогда преобразование Фурье над подгруппой Gd может быть определено следующим образом:

A

d 1

 

r kn ,0

k

d

1,

(6.2)

¦a

n

k

n= 0

 

 

 

 

 

 

 

 

 

 

 

 

где d делит q n 1 и an

GF(q n ),0

n

d

1.

 

Чтобы построить обратное преобразование, предварительно

63

заметим, что все элементы Gd удовлетворяют уравнению xd

1= 0 .

Однако поскольку xd 1=

0 раскладывается на множители в виде

xd 1=

d 1

d 1

 

(x 1)¦ xk , то получаем: ¦ x k = 0, при x 1, x Gd GF(qn );

 

k = 0

k = 0

 

 

d 1

 

(6.3)

 

¦ xk = (d ), при x = 1,

 

k = 0

 

 

где (d ) означает вычет d

по модулю простого числа q .

 

Эта формула была получена Поллардом и еще раньше Ридом и Соломоном. С помощью (6.3) можно получить дискретную «дель- та»-функцию, необходимую для построения преобразования, обратного (6.2).

Рассмотрим сумму

по всем элементам мультипликативной

подгруппы Gd :

 

 

 

 

 

 

 

 

 

d 1

 

d 1

 

 

 

 

¦ xn = ¦(r k )n =

¦(r n )k .

 

 

 

 

x Gd

k = 0

 

k = 0

 

По форме это совпадает с (6.3), а r n является элементом Gd .

Поэтому имеем:

 

 

 

 

 

 

 

 

-0, n

0mod d

 

 

 

 

d 1

°

 

 

 

 

¦ xn

°

0mod d; при n 0modd ,

(6.4)

 

= ¦(r n )k =

®(d ),n

 

x

Gd

k = 0

°

 

 

 

 

 

 

 

°(d )δ d (n),

 

 

 

 

 

 

¯

 

 

 

где

дельта-функция: δ d (n) =

0 , при n 0mod d ,

,

при n

0modd .

 

 

 

 

 

Так как

 

является ненулевым элементом поля GF(q n ) , то

в поле GF(q n )

существует также обратный элемент (d )1 . Умно-

жая Ak

на (d )1 r km и суммируя по k при k = 0,1, , d

1, соглас-

но (6.2) и (6.4) получаем:

64

(d)1

d 1

(d)1

d 1d 1

 

r kn r km =

(d)1

d 1

 

d 1

= (d)1

d 1

 

δ

 

(n m) = a

.

¦ A r km =

¦ ¦a

n

¦a

n

(¦ r k (nm)

(d )¦a

n

d

 

k

 

k = 0n= 0

 

 

n= 0

k = 0

 

n= 0

 

 

m

 

k = 0

 

 

 

 

 

 

 

 

 

 

 

Таким образом, имеем:

Ak =

am =

d 1

 

¦an r kn ,

k = 0

(6.5)

(d)1

d 1

¦ A r km ,

 

k

 

k = 0

где d делит q n 1, am

и Ak

являются элементами GF(q n ) , r

образующий элемент подгруппы

из d элементов мультиплика-

тивной группы GF(q n ) .

 

 

 

Чтобы доказать свойство циклической свертки пары преобра-

зований (6.5), положим

Ak =

d 1

d 1

¦an r kn , Bk = ¦bn r kn ,Ck = Ak Bk , тогда

 

 

n= 0

n= 0

согласно (6.5) обратное преобразование C , при k = 0,1, ,d 1 есть

k

GCdp - =n An / B

kFd (q k) k

где

c p = (d)1

d 1

 

d 1

¦Ck r kp =

¦anb( p

 

k = 0

 

n= 0

(p n) означает вычет

 

по модулю

n) , (6.6)

.

Если an и bn принадлежат полю GF(q) , то есть являются целыми числами по модулю простого q , то свертка (6.6), являющаяся обратным преобразованием , будет также принадлежать GF(q) .

Следовательно, если можно найти такое r GF(q n ) , для которого умножения на степени r являлись бы простыми операциями при аппаратурной или программной реализации, то свертка в могла бы иметь практическую ценность при вычислении

сверток последовательностей целых чисел.

Ограничимся рассмотрением случая n = 2 . Рейдер показал, что двоичные арифметические операции легко выполняются, если в каче-

65

стве b выбрать простые числа Мерсенна или Ферма.Рассмотрим случай, когда b является простым числом Мерсенна. Если сравнение

x2 ≡ − 1mod q

(6.7)

не имеет решений, то принято говорить, что

1 является квадра-

тичным невычетом. Согласно теореме Эйлера это эквивалентно соотношению

 

 

 

 

 

 

 

 

,

 

где

§

a

·

представляет собой символ Лежандра, определяемый как

¨

¸

 

 

 

 

¨

 

¸

 

 

 

 

 

 

 

© q

¹

 

 

 

 

§

a

·

= +

1

, если a является квадратичным вычетом по модулю q ;

¨

¸

 

¨

 

¸

© q

¹

 

 

 

 

 

 

 

 

 

 

 

 

 

, если a не является квадратичным вычетом по модулю q .

 

 

 

Пусть

является квадратичным невычетом по модулю и

(6.7) не имеет решений в

. Тогда полином p(x) =

x2 + 1 не-

приводим в GF(q) . Корень уравнения

 

 

 

 

 

 

 

 

p(x) =

x2 + 1= 0,

(6.8)

который мы обозначим ˆi , существует и может быть найден в рас-

ширенном поле

.

 

 

 

 

 

 

GF(q 2 ) представляет собой множество:

 

 

где ˆi

 

GF( q 2

) = {a + ˆib

 

a,b GF( q )}

,

(6.9)

 

 

является корнем уравнения

 

(6.8), удовлетворяющим соотно-

шению:

 

 

 

 

 

 

 

 

 

,

 

(6.10)

где

1(q 1) mod q .

 

 

 

 

 

 

Если

не

имеет решений в

поле GF(q) , то

ˆi GF( q 2 ) играет ту же роль в конечном поле GF(q) , что

1 = i

66

tGα* p1+ 1 2

2 Fd (q )

вполе рациональных чисел.

Вприложениях, касающихся ЦОС, радиолокации и систем связи, нас будут интересовать свертки комплексных чисел. В поле

GF(q 2 ) , где q является простым числом Ферма, такая конструк-

ция невозможна.

Если является квадратичным невычетом по модулю , то

свертка (6.6) комплексных чисел может быть вычислена с помощью

преобразований вида (6.5) над полем Галуа

, где an и bn

принадлежат полю GF(q 2 ) .

 

 

Если an ,bn GF(q 2 ) при n = 0,1, , d

1, то преобразования

определяются как: A

=

d 1

r kn ,

 

¦a

 

k

 

n

 

 

Bk

=

n= 0

 

(6.11)

¦bn r kn ,k = 0,1, ,d 1,

 

 

d 1

 

 

 

 

n= 0

 

 

где r – образующий элемент подгруппы

из d элементов муль-

типликативной группы GF(q 2 ) .

Тогда, вычисляя обратное к пре-

образованию Ck

= Ak Bk при k =

0,1, ,d 1, получаем:

 

 

cn = (d)1

d 1

 

(6.12)

 

¦Ck r kn ,

 

где cn GF(q 2 )

 

k = 0

 

 

и d делит q 2

1.

 

 

Если q является простым числом Мерсенна, то порядок

мультипликативной группы с образующим элементом

поля

раскладывается на множители следующим образом:

t = (2 p 1)2 1= 2 p+ 1 (2 p1 1).

 

 

 

Так как t имеет множитель, равный

, то обычный алго-

ритм БПФ может быть использован для вычисления d =

2 p+ 1 то-

67

чечных преобразований. Если d = 2k ,1≤

k p + 1, и α

является пер-

вообразным элементом

, то образующий элемент мульти-

пликативной подгруппы Gd

порядка d

равен r = α

2p + 1k (2p 1 1) .

Можно отметить важное свойство поля Галуа GF(q2 ) , которым не обладает поле комплексных рациональных чисел. Если

x = a + ˆib GF( q 2 ) , то x ≠ 0 ,

 

x q2 1 = ( a + ˆib )q2 1 = 1.

(6.13)

Это частный случай общего тождества x qn 1 = 1 для всех нену-

левых x GF(q n ) .

6.3. Алгоритм нахождения первообразных элементов в

GF(q 2 ) . Если требуется вычислить преобразование над GF(q 2 ) 2 p+ 1 точечной последовательности комплексных чисел, an GF(q 2 ) в соответствии с (6.2), то необходимо найти первооб-

разный элемент в G2p+ 1 поля GF(q 2 ) . Для этого нужно учитывать

следующие теоремы.

 

Теорема 6.1. Если q является простым числом Мерсенна,

, где 1

k

p + 1, то r = a +

ˆib есть первообразный элемент

в подгруппе

Gd

поля GF(q 2 )

тогда и только тогда, когда

r d / 2 1mod q .

 

 

Доказательство. Если r d 1mod q , то r d / 2 ≡ ± 1mod q . Соглас-

но предположению r имеет порядок , так что r d / 2 1mod q . По-

этому

r

d / 2

= ( a +

ˆ

d / 2

≡ − 1mod q

.

(6.14)

 

ib )

 

 

 

68

Предположим, что d не является наименьшим положительным числом, для которого это справедливо. Тогда существует

l =

2n < d,n <

k , для которого r l

1mod q .

 

 

Пусть t =

(d,l) есть наибольший общий делитель

и l . Тог-

да

для

некоторых

x

и

и

 

 

 

 

.

 

 

Так как t < d , делит

. Поэтому r d / 2 1mod q , что про-

тиворечит (6.14).

 

 

 

Теорема 6.2. Для простых чисел Мерсенна, q > 3, первым квадратичным невычетом по модулю q в последовательности

является 3.

Доказательство. Рассмотрим последовательность

1,2,3, ,q 1. Будем последовательно проверять все числа последовательности до тех пор, пока не обнаружим первый квадратич-

 

 

 

ный невычет.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1d,x2%,+3,ly =+,qE

1

d x

l y

 

 

 

x

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yt

=

dx ly

=

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

r

r

=

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Единица является квадратичным вычетом. Далее имеем:

 

 

 

 

 

 

 

 

§

 

2

·

= (

1)

((2p 1)2

1) / 8

= (

1)

(2p +

1 (2p1

1) / 8

= 1,

 

 

 

 

 

 

 

 

 

¨

 

 

 

¸

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

©

1¹

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и 2 является квадратичным вычетом. Согласно квадратичному за-

 

 

 

кону взаимности имеем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

§

 

 

 

3

·

 

§

 

p

 

 

·

 

 

 

(31) / 2

 

§ 1

·

.

 

 

 

 

 

 

 

 

 

 

¨ (2

 

1)mod3¸

 

 

 

 

 

 

 

 

 

¨

 

 

 

 

¸ =

¨

 

 

 

 

 

¸ × (

1)

 

 

=

¨

 

¸(1)

 

 

 

 

 

 

 

2

p

1

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

©

 

¹

 

©

 

 

 

¹

 

 

 

 

 

 

© 3

¹

 

 

 

 

 

 

 

§ 1 ·

 

 

 

 

 

 

 

 

 

 

 

§

 

3

·

 

 

 

 

 

 

 

 

 

 

Однако ¨

 

 

¸

= 1, таким образом, ¨

 

 

 

 

¸ = −

1.

 

 

 

 

 

 

 

 

© 3¹

 

 

 

 

 

 

 

 

 

 

 

© 2 p 1

¹

 

 

 

 

 

 

 

 

 

 

Чтобы найти первообразный элемент в G2p + 1 поля GF(q 2 ) ,

 

 

 

можно воспользоваться следующей процедурой. Предположим, что

 

 

 

элемент r = a +

 

iˆb имеет порядок 2 p+ 1 в GF(q 2 ) . Тогда ( a + ˆib )2 p

раскладывается на множители вида:

69

 

 

 

 

 

 

 

 

 

 

( a +

ˆ

 

2 p

 

=

 

 

( a +

 

 

ˆ

 

 

 

 

 

 

 

ˆ

 

2 p

1

.

 

 

 

 

 

(6.15)

 

 

 

 

 

 

 

 

 

 

ib )

 

 

 

 

 

 

 

 

ib )( a +

 

ib )

 

 

 

 

 

 

 

 

 

 

 

 

Согласно теореме о биноме получаем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

p

 

 

§

2

p

1

·

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

 

§

2

p

·

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

p

.1

ˆ

 

2

 

1

= a

2

 

1

+

¨

 

 

¸

2

 

11

×

 

ˆ

 

 

 

 

 

+

¨

 

1

¸

2

 

1

r

×

ˆ

r

+

 

ˆ

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( a + ib )

 

 

 

 

 

 

¨

 

1

 

¸a

 

 

 

 

 

 

( ib ) +

 

 

 

¨

 

r

 

¸a

 

 

 

 

 

 

( ib )

 

 

 

+ ( ib )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

©

 

 

¹

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

©

 

¹

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Но биномиальные коэффициенты:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

§

2 p 1

·

 

 

(2 p

1)(2 p

 

11)(2 p

 

1

2) (2 p

1

k + 1)

 

 

 

 

 

 

 

 

 

 

 

¨

 

 

 

 

 

¸

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

¨

 

 

 

k

 

¸

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2 3 k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

©

 

 

 

 

¹

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

при 1

 

k 2 p

 

2

все делятся на

2 p

1, так как

 

 

2 p 1 – простое

число.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следовательно,

 

( a +

 

ˆ

 

 

2 p

 

 

( a +

 

ˆ

 

 

 

 

 

+

 

ˆ 2 p

1

b )mod q .

 

 

 

ib )

 

 

 

 

 

 

ib )( a

 

 

i

 

 

 

 

 

 

ˆ 2 p 1

 

=

ˆ

 

1)

( 2 p 2 ) / 2

=

 

1, поэтому (6.15) приобретает сле-

Однако i

 

 

 

 

i(

 

 

 

 

 

 

 

 

 

 

дующий вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( a +

ˆ

 

 

 

2 p

 

 

( a

2

+

 

b

2

)mod q .

 

 

 

 

 

 

 

 

 

(6.16)

 

 

 

 

 

 

 

 

 

 

 

 

ib )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из теоремы 6.1 следует, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ˆ

 

 

2 p

 

a

2

+

 

 

b

2

≡ − 1mod q

 

.

 

 

 

 

 

 

(6.17)

 

 

 

 

 

 

 

 

 

 

( a + ib )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть

 

X

a 2 mod 2 p

1,

 

а Y

b2 mod 2 p

1. Тогда (6.17)

можно

записать как:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X +

1Y mod q .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(6.18)

 

В (6.18)

 

 

 

согласно определению является квадратичным

вычетом. Для Y имеем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

однако

§

1

·

=

¨

¸

 

¨

q

¸

 

 

©

¹

 

§

·

 

§

b

2

·

 

§

1

·§

b

2

·

 

§

1

·

,

¨

Y

¸

=

¨

 

¸

=

¨

¸¨

 

¸

=

¨

¸

 

 

 

 

 

 

 

 

 

¨

¸

 

¨

 

q

 

¸

 

¨

q

¸¨

 

q

¸

 

¨

 

q

¸

 

© q ¹

 

©

 

 

¹

 

©

¹©

 

¹

 

©

 

¹

 

(1)((2p 11) / 2)

=

(1)2p1 1 = −

1 .

 

 

 

 

 

 

 

 

 

70

Соседние файлы в папке ТЧП с флешки вовы