Научная статья на тему 'Модификация алгоритма Герцеля—Блейхута'

Модификация алгоритма Герцеля—Блейхута Текст научной статьи по специальности «Математика»

CC BY
455
110
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСКРЕТНОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ / DISCRETE FOURIER TRANSFORM / БЫСТРОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ / FAST FOURIER TRANSFORM / СЛОЖНОСТЬ АЛГОРИТМА / ALGORITHM COMPLEXITY / БЫСТРЫЙ АЛГОРИТМ / FAST ALGORITHM / ПОЛУБЫСТРЫЙ АЛГОРИТМ / SEMI-FAST ALGORITHM / КОНЕЧНОЕ ПОЛЕ / FINITE FIELD

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

Рассматриваются классический алгоритм Герцеля—Блейхута вычисления дискретного преобразования Фурье над конечным полем, а также его модификации. Показано, что модифицированный алгоритм относится скорее к классу быстрых алгоритмов вычисления дискретного преобразование Фурье, чем к классу полубыстрых.

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

MODIFICATION OF GOERTZEL-BLAHUT ALGORITHM

The classic Goertzel-Blahut algorithm for computation of discrete Fourier transform over a finite field is considered along with several modifications of the classic algorithm. It is shown that the modified Goertzel—Blahut algorithm is closely related to the fast Fourier transform algorithms rather than to the semi-fast algorithms.

Текст научной работы на тему «Модификация алгоритма Герцеля—Блейхута»

СПИСОК ЛИТЕРАТУРЫ

1. Беззатеев С. В., Литвинов М. Ю., Трояновский Б. К. Использование помехоустойчивых кодов для шифрации видеоинформации // ИУС. 2007. № 5(30). С. 23—26.

2. Koeune F., Quisquater J. J. Side Channel Attacks. Scientific Report. K2Crypt, 2002.

3. Biham E., Shamir A. Differential Cryptanalysis of DES-like Cryptosystems. The Weizmann Institute of Science, Department of Applied Mathematics. July 19, 1990.

4. Dusart P., Letourneux G., Vivolo O. Differential Fault Analysis on AES // Cryptology ePrint Archive. Report 2003/010.

5. Kulikowski K. J., Karpovsky M. G., Taubin A. Robust Codes and Robust, Fault Tolerant Architectures of the Advanced Encryption Standard // J. of System Architecture. 2007. Vol. 53. P. 138—149.

6. Cramer R., Dodis Y., Fehr S., Padr)> C., Wichs D. Detection of Algebraic Manipulation with Applications to Robust Secret Sharing and Fuzzy Extractors // Advances in Cryptology. Eurocrypt Lecture Notes in Computer Science. 2008. Vol. 4965. P. 471—488.

7. Akdemir K. D., Wang Z., Karpovsky M. G., Sunar B. Design of Cryptographic Devices Resilient to Fault Injection Attacks Using Nonlinear Robust Codes // Fault Analysis in Cryptography. 2011.

8. Тужилин М. Э. Почти совершенные нелинейные функции // ПДМ. 2009. № 3. С. 14—20.

9. Kulikowski K., Karpovsky M. G. Robust Correction of Repeating Errors by Nonlinear Codes // Communications. IET. 2011. Vol. 5, N 4. P. 2317—2327.

Сведения об авторе

Максим Олегович Алексеев — аспирант; Санкт-Петербургский государственный университет аэро-

космического приборостроения, кафедра аэрокосмических компьютерных технологий; E-mail: alexeevmo@gmail.com

Рекомендована кафедрой Поступила в редакцию

№ 51 безопасности информационных систем 01.02.13 г.

УДК 621.391

С. В. Федоренко МОДИФИКАЦИЯ АЛГОРИТМА ГЕРЦЕЛЯ—БЛЕЙХУТА

Рассматриваются классический алгоритм Герцеля—Блейхута вычисления дискретного преобразования Фурье над конечным полем, а также его модификации. Показано, что модифицированный алгоритм относится скорее к классу быстрых алгоритмов вычисления дискретного преобразование Фурье, чем к классу полубыстрых.

Ключевые слова: дискретное преобразование Фурье, быстрое преобразование Фурье, сложность алгоритма, быстрый алгоритм, полубыстрый алгоритм, конечное поле.

Быстрый алгоритм — это вычислительная процедура, которая значительно сокращает число необходимых операций сложения и умножения по сравнению с прямым метод вычисления. Быстрое преобразование Фурье (БПФ) — это метод вычисления n -точечного преобразования, который использует около n log n операций умножения и около n log n операций сложения в поле вычисления преобразования Фурье [1].

Полубыстрый алгоритм — это вычислительная процедура, позволяющая значительно сократить число необходимых операций умножения по сравнению с прямым метод вычисления, не уменьшая число сложений. Полубыстрый алгоритм вычисления преобразования Фурье —

18

С. В. Федоренко

это метод вычисления n -точечного преобразования Фурье, который использует около n log n операций умножения и около n2 операций сложения в поле вычисления преобразования Фурье [1].

Дискретное преобразование Фурье (ДПФ) длины n вектора f = f), i е [0, n -1], n | (q -1), в конечном поле GF(q) есть вектор F = (Fj) ,

n-1

Fj = £ fiaj, j е [0, n -1],

i=0

где a (ядро ДПФ) является элементом порядка n в конечном поле GF(q).

Далее предполагается, что длина n -точечного преобразования Фурье над GF(2m) есть

n-1

n = 2m -1. Произвольный вектор f = f ), i е [0, n -1], свяжем с многочленом f (х) = £ fix1 и

i=0

получим Fj = f (aJ ). Поле вычисления преобразования Фурье есть конечное поле GF (2m), а

a — примитивный элемент поля GF(2m) . Все логарифмы вычисляются по основанию 2.

Алгоритм Герцеля—Блейхута. Рассмотрим модификацию [2, 3] алгоритма для вычисления ДПФ над конечными полями [4, 5].

Алгоритм Герцеля—Блейхута состоит из двух шагов. На первом шаге выполняется деление с остатком многочлена f (х) на каждый минимальный многочлен Mk (х) :

f (х) = Mk (х) qk (х) + rk (х),

< deg rk(х) < deg Mk(х) = mk, k е [0, l -1],

mk -1

где rk (х) = £ rj кх}, l — число двоичных классов сопряженности.

j=0

На втором шаге выполняется вычисление значений rk (х) во всех элементах конечного

поля:

mk -1

F = f (aa') = rk (ai) = £ r} kaij,

j=0

i е [0, n -1],

где элемент a1 — корень минимального многочлена Mk (х).

Алгоритм Герцеля—Блейхута принадлежит к классу полубыстрых и имеет сложность порядка n log n операций умножения и порядка n2 операций сложения над элементами поля GF (2m ) [2].

Модификация первого шага алгоритма Герцеля—Блейхута. В работе [6] предложен способ улучшения первого шага алгоритма Герцеля—Блейхута, в ней показано, что асимптотическая сложность этого шага составляет O(n (log n) log log n) операций над элементами поля GF (2m ).

Построим дерево делителей. На самом нижнем уровне находятся l минимальных многочленов. Предположим, что l есть степень числа 2, иначе дополним множество минимальных многочленов до степени числа 2 фиктивными многочленами, равными единице. На следующем уровне располагаются l /2 произведений пар минимальных многочленов. Далее на

каждом уровне располагаются произведения пар многочленов из предыдущего уровня.

2т -1

В корне дерева находится двучлен x -1. Алгоритм состоит в последовательном вычислении остатков от деления, начиная с исходного многочлена f (x), на все делители из каждого уровня дерева сверху вниз. Известно, например [7], что сложность деления многочлена степени 2s на многочлен степени s имеет порядок D( s) = O (s log s log log s) операций. Из очевидного неравенства pD(s / p) < D(s) следует, что для каждого уровня дерева сложность вычисления всех остатков от делений не превышает D(n). Число уровней в дереве делителей ( n Л

есть log l = O log — I = O(log n) . Тогда общее число операций имеет порядок

I m J

D(n) log l = O(n (log n) log log n) . Заметим, что приведенная оценка сложности алгоритма явно завышена.

Модификация второго шага алгоритма Герцеля—Блейхута. Предложим вариант улучшения второго шага алгоритма Герцеля—Блейхута. Из работ [8, 9] следует, что второй шаг алгоритма можно свести к вычислению l m -точечных циклических сверток. Конструктивный метод построения циклических сверток для длин m = 2l, i > 0, имеющий сложность

порядка 2 m log m операций умножения и m log m операций сложения, введен автором настоящей статьи. Таким образом, верхняя оценка асимптотической сложности второго шага

2 (n 2 Л

алгоритма имеет порядок O(l m ) = O — m I = O(n log n) операций сложения и умножения

Im J

над элементами поля GF (2m ).

Заключение. В работе показано, что модификация алгоритма Герцеля—Блейхута с общей сложностью порядка O(n (log n)2 log log n) операций над элементами поля GF(2m) относится скорее к классу быстрых алгоритмов вычисления ДПФ, чем к классу полубыстрых алгоритмов.

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

СПИСОК ЛИТЕРАТУРЫ

1. Blahut R. E. Algebraic Codes on Lines, Planes, and Curves: An Engineering Approach. Cambridge, UK: Cambridge University Press, 2008. 543 р.

2. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986. 576 с.

3. Blahut R. E. Fast Algorithms for Signal Processing. Cambridge, UK: Cambridge University Press, 2010. 453 р.

4. Goertzel G. An algorithm for the evaluation of finite trigonometric series // The American Mathematical Monthly. 1958. Vol. 65, N 1. P. 34—35.

5. Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов. М.: Мир, 1989. 448 с.

6. Trifonov P. On the additive complexity of the cyclotomic FFT algorithm // Proc. of the IEEE Information Theory Workshop. Lausanne, Switzerland, 2012. Р. 537—541.

7. von zur Gathen J., Gerhard J. Modern computer algebra. Cambridge, UK: Cambridge University Press, 1999.

8. Трифонов П. В., Федоренко С. В. Метод быстрого вычисления преобразования Фурье над конечным полем // Проблемы передачи информации. 2003. Т. 39, № 3. С. 3—10.

9. Fedorenko S. V. The discrete Fourier transform over a finite field with reduced multiplicative complexity // Proc. of the IEEE Intern. Symp. on Information Theory. St. Petersburg, 2011. P. 1200—1204.

20

А. И. Акмалходжаев, А. В. Козлов

Сведения об авторе

Сергей Валентинович Федоренко — д-р техн. наук, профессор; Санкт-Петербургский государственный

университет аэрокосмического приборостроения, кафедра безопасности информационных систем; E-mail: sfedorenko@ieee.org

Рекомендована кафедрой Поступила в редакцию

№ 51 безопасности информационных систем 0l.02.13 г.

УДК 621.391

А. И. Акмалходжаев, А. В. Козлов НОВЫЙ АЛГОРИТМ СПИСОЧНОГО ДЕКОДИРОВАНИЯ ТУРБОКОДОВ

Рассматривается метод параллельного списочного турбодекодирования, в рамках которого предложен оконный списочный декодер сверточного кода с мягким выходом. Предложенный алгоритм позволяет добиться выигрыша на словах не только малой, но и большой длины.

Ключевые слова: турбокоды, турбодекодирование, списочное декодирование.

Введение. Декодирование турбокода — это итеративный процесс, в ходе которого два декодера сверточного кода с мягким выходом обмениваются значениями оценок внешних вероятностей [1—3]. Обычно достаточно 8—10 итераций для того, чтобы изменения оценок декодированных символов стали незначительными, дальнейшее итерирование декодера практически не приводит к уменьшению вероятности ошибки. Одним из способов снижения вероятности ошибки является использование списочного декодирования.

В настоящей работе рассматривается новый метод списочного декодирования турбоко-дов, основанный на списочном декодере сверточного кода с мягким выходом. Каждый мягкий выход является последовательностью априорных вероятностей, которые подаются на вход независимых турбодекодеров (рис. 1). Предложенный метод обеспечивает сходимость разных декодеров к различным кодовым словам, из которых затем выбирается подходящее. Список декодированных слов с мягкими решениями может быть сгенерирован с использованием первого, второго или обоих сверточных кодов.

Рис. 1

Впервые подход с использованием списочного декодирования с мягким выходом был рассмотрен в работе [4], в рамках этого подхода был предложен алгоритм декодирования сверточного кода. Однако его использование давало выигрыш лишь на малых длинах, в то время как на больших длинах выигрыш был незначителен. Предложенный в настоящей рабо-

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