Научная статья на тему 'Вычисления в конечных полях малой размерности'

Вычисления в конечных полях малой размерности Текст научной статьи по специальности «Математика»

CC BY
789
83
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОНЕЧНЫЕ ПОЛЯ ГАЛУА

Аннотация научной статьи по математике, автор научной работы — Савельев Борис Александрович, Бобрышева Галина Владимировна

В статье предложен алгоритм вычисления операций умножения, деления и сложения для конечных полей Галуа. Алгоритм позволяет упростить вычисления для полей небольшой размерности за счет исключения операции логарифмирования.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Вычисления в конечных полях малой размерности»

УДК 681.32.512

Б. А. Савельев, Г. В. Бобрышева

ВЫЧИСЛЕНИЯ В КОНЕЧНЫХ ПОЛЯХ МАЛОЙ РАЗМЕРНОСТИ

В статье предложен алгоритм вычисления операций умножения, деления и сложения для конечных полей Галуа. Алгоритм позволяет упростить вычисления для полей небольшой размерности за счет исключения операции логарифмирования .

Процессы вычислений для систем помехоустойчивой и криптографиче-

степень расширения поля; р - характеристика поля. При этом элементы поля могут быть представлены в полиномиальном или нормальном базисах.

Вычислительные устройства (ВУ) элементов в полиномиальном базисе имеют меньшую сложность [1-3], однако ВУ элементов нормального базиса имеют более регулярную структуру [3-5]. Процессы оптимизации вычислений продолжают быть актуальными в современной теории помехоустойчивой и криптографической защиты информации. Один из методов упрощения

т

вычислений для полей 0Е(2 ) анализируется ниже.

Перемножаемые элементы в нормальном базисе можно представить в виде полиномов от фиктивной переменной х:

Набор базисных элементов позволяет получить все элементы конечного поля в соответствующем базисе. Кроме того, базис позволяет перейти от одного представления элементов поля к другому. Например, чтобы перейти к

Введение

ской защиты информации осуществляются в конечных полях 0¥(рт"), где т -

Алгоритм вычислений в конечных полях

т-1

т-1

(1)

1=0

і=0

а элементы в полиномиальном базисе:

т-1

т-1

(2)

і=0

і=0

Здесь аі, Ьі є {0, 1, ..., р - 1}.

Нормальный базис можно записать в виде

соответственно, полиномиальный базис:

т

где а - примитивный элемент поля 0Е(2 ).

элементам нормального базиса от полиномиального, можно использовать выражение

Фн = ф 'Тн, (3)

где фн - элементы нормального базиса; Тн - базисный набор элементов нормального базиса; ф - элементы полиномиального базиса.

В теории компьютерных сетей важное значение имеют параметры сложности и быстродействия основных математических операций [2, 3, 5]. В полях с малой размерностью поля (m = 8, 16) широкое распространение получили табличные методы расчетов на основе постоянных запоминающих устройств [6-8].

Так, в работе [6] операции умножения и деления элементов полей а и а! заменяются более простыми операциями сложения и вычитания показателей i и j. Для указанных целей используют операции логарифмирования и антилогарифмирования. Так, если элементы

А = а! и В = а,

то

m

loga А • B = i • loga + j • loga = (i + j) mod (2 - 1), (4)

и операция деления

А/В = aW = a1 ! и

m

loga А/В = i • loga - j • loga = (i - j) mod (2 - 1). (5)

Для реализации вычислений в полях GF(2m) в [7] используют блоки

памяти логарифмов и антилогарифмов и модульный корректор по модулю 2m - 1.

Блок антилогарифмов вычисляет

aloga (loga А • B) = а +! или

aloga (loga А/B) = а ! (6)

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

m

GF(2m).

В авторском свидетельстве [7] дополнительно в устройство вычисления добавлена операция сложения по модулю 2, расширяющая функциональные возможности по вычислениям. Чтобы упростить вычислительное устройство и одновременно расширить функциональные возможности, предлагается исключить операцию логарифмирования (т.е. таблицу соответствия элементов конечного поля и показателей степеней примитивного элемента поля.

Обычно в вычислительных средствах информация представляется в коде ASCII (двоично-десятичном коде). Поэтому, чтобы исключить часть преобразований и эффективно применить существующие интегральные схемы,

целесообразно проводить вычисления в десятичной арифметике. Поскольку

i

имеется однозначное соответствие между элементом конечного поля а и его показателями, то умножение элементов ai и aj целесообразно проводить по

формулам (4), (5) в двоично-десятичном коде как сложение и вычитание показателей i и j.

Для сложения элементов поля GF(2m) используется функция Зеха [9], по которой сумма

г^ ../ .л ^ ^ ../ - к г - г)

а

© а = ai (1 © a7 i) = а • а

(7)

где Z(j - i) = Log (1 © a7 i) - логарифм Зеха,

Z(! - «).

а “ ' = (1 © а г) - функция Зеха. (8)

Для иллюстрации приведенных выше теоретических сведений приведем примеры выполнения операций умножения, деления и сложения по мо-

8

дулю 2. Предположим, элементы поля GF(2 ) представлены в нормальном базисе и сгенерированы с помощью порождающего полинома g(x) = X8 + X1 + + X6 + X + 1 (таблица 1). В таблице 1 элементы поля представлены в порядке возрастания степеней примитивного элемента а, т.е.

20 21 2^

у = а2 +а2 +... + а2 .

Таблица 1

8 8 7 6

Элементы нормального базиса поля GF(2 ), g(х) = х + х + х + х +1

0 - 1 1 1 1 1 1 1 1 86 - 1 0 1 0 1 1 0 0 171 - 0 0 1 0 1 1 0 0

1 - 1 0 0 0 0 0 0 0 87 - 0 0 0 1 0 1 1 0 172 - 0 1 0 1 0 1 1 0

2 - 0 1 0 0 0 0 0 0 88 - 0 0 0 0 1 1 1 0 173 - 0 0 0 1 1 0 0 1

3 - 0 0 0 1 0 1 1 1 89 - 0 0 1 0 1 0 1 1 174 - 0 0 0 0 1 0 1 1

4 - 0 0 1 0 0 0 0 0 90 - 0 1 0 0 0 0 1 0 175 - 1 0 1 0 0 1 0 0

5 - 1 1 1 0 0 1 1 0 91 - 1 0 0 0 1 1 0 0 176 - 0 0 0 0 0 1 1 1

6 - 1 0 0 0 1 0 0 1 92 - 1 1 1 1 0 0 0 0 178 - 1 0 0 1 0 1 0 1

7 - 1 1 1 0 0 1 0 0 93 - 1 0 0 0 0 1 0 1 177 - 0 0 0 1 0 1 0 0

8 - 0 0 0 1 0 0 0 0 94 - 1 1 0 0 1 1 1 1 179 - 1 1 1 1 1 0 1 1

9 - 0 0 1 1 0 1 0 0 95 - 0 1 0 1 0 0 1 0 180 - 0 0 1 0 0 0 0 1

10 - 0 1 1 1 0 0 1 1 96 - 1 0 1 1 1 0 0 0 181 - 1 1 0 0 1 0 0 0

11 - 0 1 1 1 0 0 0 0 97 - 1 0 0 0 0 0 1 1 182 - 0 1 0 0 0 1 1 0

12 - 1 1 0 0 0 1 0 1 98 - 1 1 1 1 0 1 0 1 183 - 0 0 1 0 1 1 0 1

13 - 1 1 0 1 1 0 0 0 99 - 0 0 0 0 1 0 1 0 184 - 0 1 1 1 1 0 0 0

14 - 0 1 1 1 0 0 1 0 100 - 1 0 0 0 1 0 1 0 186 - 1 1 0 0 0 0 1 0

15 - 0 1 0 1 1 1 1 0 101 - 1 1 0 0 1 0 1 0 185 - 1 1 0 1 0 1 0 0

16 - 0 0 0 0 1 0 0 0 102 - 1 1 0 1 1 1 0 1 187 - 1 1 0 0 1 1 0 0

17 - 0 0 0 1 0 0 0 0 103 - 1 1 1 1 1 1 0 1 188 - 1 1 1 0 0 1 1 1

18 - 0 0 0 1 1 0 1 0 104 - 0 0 0 1 1 0 1 1 189 - 1 0 1 0 0 1 0 1

19 - 1 0 1 1 1 1 1 0 105 - 1 0 0 1 0 0 0 0 190 - 0 0 1 0 1 0 0 1

20 - 1 0 1 1 1 0 0 1 106 - 0 1 1 1 0 1 0 0 191 - 1 1 0 1 1 0 0 1

21 - 1 0 1 0 1 1 0 1 107 - 0 1 1 0 0 1 0 0 192 - 0 1 0 1 1 1 0 0

22 - 0 0 1 1 1 0 0 0 108 - 0 1 0 1 0 0 0 0 193 - 1 0 0 1 0 0 1 1

23 - 1 1 0 0 0 0 1 1 109 - 0 0 1 0 0 0 1 1 194 - 1 1 0 0 0 0 0 1

24 - 1 1 1 0 0 0 1 0 110 - 0 1 0 1 0 0 1 1 195 - 0 1 1 1 1 0 0 1

25 - 0 0 1 0 1 0 1 0 111 - 1 0 0 1 0 1 1 0 196 - 1 1 1 1 1 0 1 0

26 - 0 1 1 0 1 1 0 0 112 - 0 1 0 0 1 1 1 0 197 - 0 0 0 0 1 1 1 1

27 - 0 1 0 0 0 0 0 1 113 - 0 0 1 1 1 1 0 0 198 - 0 0 0 0 0 1 0 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

28 - 0 0 1 1 1 0 0 1 114 - 0 1 1 0 0 0 1 0 199 - 1 0 0 0 1 1 1 1

29 - 1 1 1 0 1 1 0 1 115 - 0 1 1 0 1 0 1 0 200 - 0 1 0 0 0 1 0 1

30 - 0 0 1 0 1 1 1 1 116 - 0 1 1 1 1 0 1 1 201 - 1 0 0 1 1 0 0 0

31 - 1 1 1 0 0 0 1 1 117 - 0 1 1 0 0 0 0 1 202 - 0 1 1 0 0 1 0 1

32 - 0 0 0 0 0 1 0 0 118 - 1 1 0 1 1 1 1 1 203 - 0 1 1 1 1 1 1 0

33 - 1 0 1 0 0 0 0 1 119 - 0 1 1 0 0 1 1 0 204 - 1 1 1 0 1 1 1 0

34 - 1 0 0 0 1 0 0 0 120 - 1 1 0 0 1 0 1 1 205 - 1 0 0 1 1 0 1 0

35 - 0 1 0 1 0 0 0 1 121 - 1 1 1 1 0 0 1 1 206 - 1 1 1 1 1 1 1 0

36 - 0 0 0 0 1 1 0 1 122 - 0 0 1 1 0 0 0 0 207 - 1 0 1 0 1 1 1 0

37 - 1 0 0 1 1 1 1 0 123 - 1 1 0 1 0 0 1 0 208 - 1 0 0 0 1 1 0 1

38 - 0 1 0 1 1 1 1 1 124 - 1 1 1 1 1 0 0 0 209 - 1 1 0 1 1 1 1 0

39 - 0 0 1 0 0 1 1 0 125 - 1 0 0 1 0 1 0 0 211 - 0 0 0 0 0 1 1 0

40 - 1 1 0 1 1 1 0 0 126 - 1 1 0 1 0 1 0 1 210 - 0 1 0 0 1 0 0 0

41 - 1 1 0 1 0 0 1 1 127 - 1 1 1 0 1 1 0 0 212 - 0 0 1 1 1 0 1 0

42 - 1 1 0 1 0 1 1 0 128 - 0 0 0 0 0 0 0 1 213 - 0 1 0 1 1 0 0 0

43 - 0 1 0 1 1 0 0 1 129 - 0 0 1 0 1 1 1 0 214 - 0 0 1 1 0 0 1 0

44 - 0 0 0 1 1 1 0 0 130 - 1 1 0 0 1 1 0 1 215 - 0 1 0 0 1 0 0 1

45 - 1 0 0 0 0 1 0 0 131 - 1 1 0 0 1 0 0 1 216 - 0 0 1 0 1 0 0 0

46 - 1 1 1 0 0 0 0 1 132 - 0 1 1 0 1 0 0 0 217 - 1 1 1 1 0 1 1 1

47 - 1 0 0 1 1 1 1 1 133 - 1 1 1 0 0 0 0 0 218 - 1 0 0 1 0 0 0 1

48 - 0 1 1 1 0 0 0 1 134 - 1 0 1 1 0 0 0 1 219 - 0 1 0 1 1 0 1 0

49 - 1 1 1 0 1 0 1 1 135 - 1 0 1 1 1 1 0 0 220 - 1 0 1 0 1 0 0 1

50 - 0 0 0 1 0 1 0 1 136 - 0 0 1 0 0 0 1 0 221 - 1 0 0 1 1 0 0 1

51 - 1 0 1 1 1 0 1 1 137 - 0 1 1 1 1 1 0 1 222 - 0 1 0 0 1 0 1 1

52 - 0 0 1 1 0 1 1 0 138 - 0 1 0 1 1 0 1 1 223 - 1 0 1 1 0 0 1 1

53 - 1 1 1 0 1 0 0 0 139 - 1 0 0 0 0 1 1 1 224 - 0 0 1 0 0 1 1 1

54 - 1 0 1 0 0 0 0 0 140 - 0 1 0 1 0 1 0 0 225 - 1 1 1 1 0 0 1 0

55 - 1 0 1 0 0 1 1 0 141 - 1 0 0 0 0 0 1 0 226 - 0 0 0 1 1 1 1 0

56 - 1 0 0 1 1 1 0 0 142 - 1 1 0 1 1 0 1 1 227 - 0 0 0 1 1 1 1 1

57 - 1 1 0 0 0 1 0 0 143 - 1 1 0 0 0 1 1 1 228 - 0 0 1 1 0 0 0 1

58 - 1 1 1 1 0 1 1 0 144 - 0 1 0 0 0 0 1 1 229 - 1 1 1 1 1 1 0 0

59 - 1 0 1 1 1 1 1 1 145 - 1 0 1 0 0 0 1 0 230 - 0 0 1 1 0 1 0 1

60 - 1 0 0 1 0 1 1 1 146 - 0 0 1 1 1 1 0 1 231 - 0 1 0 1 1 1 0 1

61 - 0 1 1 0 0 0 0 0 147 - 0 1 0 0 1 1 0 0 232 - 1 0 1 1 1 1 0 1

62 - 1 1 1 1 0 0 0 1 148 - 1 0 1 0 0 1 1 1 233 - 0 0 0 0 1 1 0 0

63 - 1 0 1 0 1 0 1 1 149 - 1 0 1 1 0 0 1 0 234 - 1 0 1 1 0 0 0 0

64 - 0 0 0 0 0 0 1 0 150 - 0 0 0 0 1 0 0 1 235 - 1 0 0 1 0 0 1 0

65 - 1 0 0 1 1 0 1 1 151 - 0 0 1 1 1 1 1 1 236 - 1 1 1 0 1 1 1 1

66 - 1 1 0 1 0 0 0 0 152 - 1 1 0 1 0 1 1 1 237 - 1 0 1 1 0 1 0 0

67 - 0 1 1 0 0 0 1 1 153 - 0 1 1 1 0 1 1 1 238 - 0 0 1 1 0 0 1 1

68 - 0 1 0 0 0 1 0 0 154 - 1 1 0 1 0 0 0 1 239 - 0 1 1 0 0 1 1 1

69 - 1 0 1 1 0 1 1 0 155 - 0 1 0 0 1 1 0 1 240 - 1 1 1 0 0 1 0 1

70 - 1 0 1 0 1 0 0 0 156 - 1 0 0 0 1 0 0 1 241 - 0 0 1 1 1 1 1 0

71 - 1 0 1 1 0 1 1 1 157 - 0 1 1 1 1 1 1 1 242 - 1 1 1 1 1 0 0 1

72 - 1 0 0 0 0 1 1 0 158 - 1 1 0 0 0 0 0 0 243 - 1 0 1 1 1 0 1 0

73 - 0 1 1 1 1 0 1 0 159 - 0 1 0 1 0 1 1 1 244 - 0 0 0 1 1 0 0 0

74 - 0 1 0 0 1 1 1 1 160 - 0 0 1 1 0 1 1 1 245 - 0 0 1 0 0 1 0 1

75 - 0 0 0 1 0 0 1 0 161 - 1 1 0 0 0 1 1 0 246 - 0 1 1 0 1 0 0 1

76 - 1 0 1 0 1 1 1 1 162 - 0 1 1 0 1 1 0 1 247 - 1 1 0 0 1 1 1 0

77 - 1 0 1 0 0 0 1 1 163 - 0 1 1 0 1 1 1 1 248 - 0 1 1 1 1 1 0 0

78 79 - 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 164 165 - 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 249 250 - 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 0

Окончание табл. 1

80 - 0 1 1 0 1 1 1 0 I 166 - 0 1 0 0 0 1 1 1 I 251 - 1 0 0 1 1 1 0 1 I

81 - 1 1 0 1 1 0 1 0 167 - - 0 0 0 0 0 0 1 1 252 - 1 1 1 0 1 0 1 0

82 - 1 1 1 0 1 0 0 1 168 - 1 0 1 1 0 1 0 1 253 - 0 0 1 1 1 0 1 1

83 - 1 0 0 0 1 1 1 0 169 - 0 0 0 1 1 1 0 1 254 - 0 1 1 1 0 1 1 0

84 - - 0 1 1 0 1 0 1 1 170 - 1 0 1 0 1 0 1 0 255 - 1 1 1 1 1 1 1 1

85 - - 0 1 0 1 0 1 0 1

Примечание. В таблице 1 десятичные числа являются степенью а .

Структурная схема вычислительного устройства приведена на рисунке 1. На рисунке 1 схема контроля управляет процессами вычислений. По входу «Опер» задается вид операции: умножение, деление или сложение а! © а!.

Рис. 1 Вычислительное устройство в поле Галуа

Предположим, что на вход вычислительного устройства (рис. 1) для умножения последовательно подаются элементы, представленные в коде

8

ЛБСП, и они являются степенью элементов поля ОГ(2 ) у и ф в двоичнодесятичном коде. Если один из элементов или оба равны 0, то блок 1 (схема контроля на 0) выдает на выход устройства нулевую комбинацию. В противном случае они последовательно поступают на блок 3 (сумматор-вычитатель) через коммутатор 2.

Предположим,

у = 100010112 = 20910 ^ а6;

23

ф = 110000112 = 19510 ^ а .

8

После сложения и приведения по модулю 2 - 1 = 255 получим

220

у + ф = ¥с = 100010112 + 0000112 = 101010012 = 14910 ^ а .

Если необходимо произвести деление у /ф, то оно заменяется на вычитание, т.е.

у - ф = ¥в = 100010112 - 110000112 = 011100002 = 1410 ^ а11.

8

Для поля 0¥(2 ), элементы которого в нормальном базисе представлены в таблице 1, по формуле (8) рассчитаем элементы функции Зеха. Результаты расчетов представлены в таблице 2.

Таблица 2

8

Логарифм от функции Зеха для поля Галуа ОГ(2 )

255 - 0 1 - 157 2 - 59 3 - 53

68 - 51 69 - 215 70 - 159 71 - 210

72 - 195 73 - 93 74 - 234 75 - 29

44 - 31 45 - 116 46 - 226 47 - 62

76 - 108 77 - 192 78 - 127 79 - 203

80 - 218 81 - 245 82 - 87 83 - 48

84 - 125 85 - 170 86 - 110 87 - 82

88 - 62 89 - 185 90 - 232 91 - 10

92 - 197 93 - 73 94 - 122 95 - 21

96 - 166 97 - 248 98 - 99 99 - 98

100 - 249 101 - 230 102 - 136 103 - 64

104 - 7 105 - 163 106 - 6 107 - 65

108 - 76 109 - 40 110 - 86 111 - 246

112 - 134 113 - 23 114 - 251 115 - 178

116 - 45 117 - 37 118 - 4 119 - 221

120 - 9 121 - 233 122 - 94 123 - 183

4 - 118 5 - 173 6 - 106 7 - 104

56 - 67 57 - 253 58 - 150 59 - 2

124 - 176 125 - 84 126 - 25 127 - 78

128 - 206 129 - 154 130 - 214 131 - 52

48 - 83 49 - 177 50 - 252 51 - 68

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

132 - 60 133 - 227 134 - 112 135 - 144

136 - 102 137 - 141 138 - 175 139 - 184

140 - 63 141 - 137 142 - 165 143 - 22

144 - 135 145 - 231 146 - 186 147 - 223

148 - 213 149 - 155 150 - 58 151 - 158

40 - 109 41 - 171 42 - 190 43 - 55

152 - 216 153 - 34 154 - 129 155 - 149

156 - 254 157 - 1 158 - 151 159 - 70

160 - 181 161 - 28 162 - 235 163 - 105

164 - 174 165 - 142 166 - 96 167 - 229

64 - 103 65 - 107 66 - 30 67 - 56

168 - 250 169 - 24 170 - 85 171 - 41

172 - 220 173 - 5 174 - 164 175 - 138

176 - 124 177 - 49 178 - 115 179 - 32

180 - 209 181 - 160 182 - 20 183 - 123

52 - 131 53 - 3 54 - 38 55 - 43

184 - 139 185 - 89 186 - 146 187 - 238

188 - 244 189 - 219 190 - 42 191 - 39

28 - 161 29 - 75 30 - 66 31 - 44

60 - 132 61 - 47 62 - 88 63 - 140

192 - 77 193 - 26 194 - 241 195 - 72

24 - 169 25 - 126 26 - 193 27 - 19

196 - 198 197 - 92 198 - 196 199 - 11

Окончание табл. 2

200 - 243 201 - 239 202 - 205 203 - 79

20 - 182 21 - 95 22 - 143 23 - 113

204 - 17 205 - 202 206 - 128 207 - 35

208 - 14 209 - 180 210 - 71 211 - 242

32 - 179 33 - 15 34 - 153 35 - 207

212 - 12 213 - 148 214 - 130 215 - 69

216 - 152 217 - 16 218 - 80 219 - 189

220 - 172 221 - 119 222 - 237 223 - 147

12 - 212 13 - 224 14 - 208 15 - 33

224 - 13 225 - 36 226 - 46 227 - 133

228 - 247 229 - 167 230 - 101 231 - 145

232 - 90 233 - 121 234 - 74 235 - 162

16 - 217 17 - 204 18 - 240 19 - 27

236 - 8 237 - 222 238 - 187 239 - 201

240 - 18 241 - 194 242 - 211 243 - 200

8 - 236 9 - 120 10 - 91 11 - 199

244 - 188 245 - 81 246 - 111 247 - 228

248 - 97 249 - 100 250 - 168 251 - 114

252 - 50 253 - 57 254 - 156 255 - 0

36 - 225 37 - 117 38 - 54 39 - 191

Примечание. В таблице 2 слева приведены показатели степени поля Галуа, а справа - показатели степени Х(] -1) функции Зеха.

Теперь с помощью полученной таблицы 2 произведем сложение по модулю 2 элементов поля Галуа:

ау = а © а! .

Возьмем, например, а! = а235 = 100100102, а = а10 = 011100112;

ау = 100100102 © 011100112 = 111000012 = а46; і - і 10 - 235 - 225 30 ПП1П1111

а = а = а = а = 001011112,

а2(! -і) = 1 © а30 = 110100002 = а66,

у 235 66 46

т.е. а = а • а = а .

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

При выполнении операций умножения элементов поля Галуа А = а и В = а! показатели і и ! в двоично-десятичной форме последовательно подаются на схему 1 контроля 0, и если одна из степеней і, ! или обе равны 0, то на выход блока выдачи 5 поступает последовательность, состоящая из одних 0. Если і Ф 0 и ! Ф 0, то они проходят через коммутатор 2 на сумматор-вычитатель 3, где осуществляется сложение і + ! по модулю 2т - 1. Приведение по модулю производится путем обратной связи с выхода сумматора-вычитателя 3 на его вход. Сигнал обратной связи устанавливает его в 1. Результат сложения поступает на выход устройства через блок выдачи 5.

Вычитание показателей i - j при делении а! на а/ происходит аналогично сложению. При этом сумматор-вычитатель работает на вычитание по модулю 2m - 1. В качестве этого блока используется универсальное устройство на основе выпускаемой промышленностью микросхемы, работающей на сложение и вычитание.

Как отмечено выше, сложение по модулю 2 осуществляется на основе функции Зеха по формулам (7), (8) с помощью таблицы 2. Вначале вычисляется разность показателей i в двоично-десятичном коде в сумматоре-вычитателе 3. Предварительно по формуле (8) составляется таблица соответ-

8

ствия функции Z(j - i) показателям элементов поля GF(2 ), представленным в таблице 1. Таблица значений функции Z(j - i) записывается в постоянное ЗУ блока памяти логарифма Зеха 4. При подаче с выхода сумматора-вычитателя 3 на адресный вход блока 4 разности (i - j) на выходе блока 4 будет получено значение показателя Z(j - i). Это значение подается на вход сумматора-вычитателя 3 для сложения с показателем j. Полученная на выходе блока 3 сумма Z(j - i) + j выдается через блок выдачи 5 на выход вычислительного устройства.

В случае сложения по модулю 2 двух одинаковых элементов поля а Є а 1 = 0. Это состояние контролируется схемой 5 контроля 0 и а Є а 1 = 0, которая при сложении по модулю 2 осуществляет поразрядное сравнение i с j и при их равенстве на выход блока 5 выдается нулевая последовательность.

При операции деления aг I aг = а показатель 0 с выхода сумматора-вычитателя поступает на блок памяти логарифма Зеха 4, с выхода которого схема контроля через блок 5 выдает элемент поля 11111111.

Заключение

Таким образом, предложенный алгоритм вычислений в конечных полях Галуа GF(2m) позволяет обойтись без логарифмирования, что уменьшает объем вычислительных операций. Его целесообразно применять при небольшой степени расширения поля GF(2) (m = 8.. .16).

Список литературы

1. Wang, C. C. VLSI architecturer for computing Multiplications and inverses in GF(2m) I C. C. Wang, T. K. Truong, H. M. Shao [et al.] II IEEE Trans. - 1985. -С. 17-34.

2. Савельев, Б. А. Повышение быстродействия коррекции искажений в системах хранения информации I Б. А. Савельев II Качество информации : тез. докл. III Всерос. научн. техн. конф. - М. : МИИТ, 1992. - С. 64.

3. Mastrovito Edoardo D. VLSI Architectures for Computations in Galois Fields I Mastrovito Edoardo D. II Linkoping Sweden. - 1991. - С. 15-25.

4. Савельев, Б. А. Теоретические основы вычислений в полиномиальном базисе I Б. А. Савельев II Вычислительные системы и информационные технологии : меж-вуз. сб. науч. тр. - Вып. 3 (29) I под ред. В. И. Волчихина. - Пенза : Изд-во Пенз. гос. ун-та., 2005. - С.18-28.

5. А. с. 1.635.193 СССР, MKM, GO6F 15I31. Вычислительное устройство в поле Галуа GF(2n) I Б. А. Савельев, В. А. Зиновьев, А. В. Толов, А. М. Дудкин, Б. А. Ми-гунов. - 1991, Бюл. изоб. № 10.

6. Заявка 60-14434, Япония, МКИ 3 О 06 Б 11/10. Арифметическое устройство для действий на элементами конечного поля / Норихисе Сирота ; заявл. 30.12.83 ; опубл. 31.07.85.

7. А. с. 1.753.470 СССР, МКИ4, 006Б 7/49. Устройство для вычисления в поле Галуа ОБ(2п) / А. В. Толов, Б. А. Савельев, Н. Б. Залялов, С. Н. Комраков, Н. И. Басманова. - 1992, Бюл. изоб. № 29.

8. Савельев, Б. А. Вычисления в конечных полях с помощью ПЗУ / Б. А. Савельев // Информационные процессы и системы : межвуз. сб. науч. тр. - Вып. 1. - Пенза : Изд-во Пенз. гос. ун-та, 2000. - С. 45-54.

9. Вильямс, Мак. Теория кодов, исправляющих ошибки / Мак. Вильямс, Дж. Слоэн. - М. : Мир, 1979. - 744 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.