
Реализация самокорректирующихся кодов на основе интерполяционных формул. Система независимых векторов
:
линейно независимая система
Задача
интерполирования: заданы значения
нечет. функции
…;
в
точках ;
;
;
…;
(узлы, локаторы)
(все
различны).
Найти
:
:
C+-код ((
) – код)
задаются
произвольно локаторы :
?????????
n|Fq|
С–система называется системой Маркова,
если любое подмножество множества
является
Чебышевским.
Если
С -система является Марковской, то ,
на
которых базис
является
Марковским.
Пусть
-символы
сообщения
,
тогда вектор
является кодовым вектором кода С+,
если выполн. условие:
,
,
где
Т.е. линейное преобразование вида
-кодовое
пространство
(min)
вес
-по
крайне мере имеет k-1
корней =>
по
крайней мере имеет k-1
нулей. Для
того чтобы код
обнаруживая
и исправляя
-кратные
ошибки требуется, чтобы
(min)
-код
явл.
кодом с max
кодовым расстоянием
Пусть
задан код
,
любые
локаторов
этого кода м.б. приняты за информационные
(следует из марковости системы).
код
(
-код)
заданы
локаторы
базис
(марковский)
Вектор
является
кодовым вектором кода
,
если
,
,
где
,
где
,
kk
,
где
называется
проверочной матрицей
-
а соответствующий ей код С++ называется систематическим.
Оба
кода С+
и
С++является
эквивалентными, т.к. произведены одной
и той же интерполяционной функцией
Важное
замечание: все коды
с max
кодовым расстоянием эквивалентные
кодам С+
и С++
м.б.
получены след. Матричным преобразованием:
,
где матрица Т-любая
невырожд. ,
а
Р-подстановочно-перестановочная,
-
в каждом столбце и каждой строке имеет
ровно один оператор взоимно-однозначно
отображающий
Лекция №12
Типы кодов в интерполяционной трактовке.
Коды Рида-Соломона. (RS-коды)
-поле
(
,
-простое,
)
-
различные локаторы
базис:
(С-система Марковская)
Определитель
Вондермонда :
det
-интерполяционный
полином в форме Лаграгранжа
фундаментальный полином Лагранжа:
!
?,
!
?
,
построили
фундаментальный полином Лагранжа.
Свойства интерпол. полиномов:
1)
если степень,(степень
),
то
2)
число корней любого интерполяционного
многочлена
не превышает
Код
RS-типа
С++
(-код
-
информационных сигналов; (
)
-избыточн. (контр.).
Кодовый
вектор кода С++
:
Если
-последовательность
информационных символов,
то кодов векторов имеет вид:
где
,
d(C++)=
-обнаруживает
и исправляет t-кратные
ошибки.
Процесс
кодирования
RS++
,
Процесс декодирования
имеем
переданный по каналу вектор
,
если в
ой
позиции не произошла ошибка
,
если в
ой
ой
позиции произошла ошибка –
такие
позиции м.б. не более, чем
Комбинаторный
алгоритм обнаружения и исправления
ошибок – в систематическом RS-коде
любые символов
м.б. приняты за информационные.
Разложим
по степеням
:
…
выделяя из этой системы любые
уравнений получим невырожденную систему, которые единственным образом определяют коэффициенты
В
свете указан. свойства кодовых слов
RS()
алгоритм обнаружения и исправления
ошибок м.б. построен следующим образом:
выбираем произвольно конфигурацию локаторов состоящих из t позиций и “выбрасываем” все компоненты полученного
каналу-выходного вектора
по этим позициям.
в оставшихся позициях мы назначаем k информацион., а остальные считаем избыточными.
по этим информационным символам вычисляем интерполяционный многочлен Лагранжа, вычисляем его значения в принятых избыточных локаторах.
если вычисленные значения интерполяционного многочленана построен на предыдущем шаге в отмеченных избыточных локаторах совпадают с соответствующими компонентами выходного вектора на этих локаторах, то в числе t выброшенных позициях может находится t-кратная ошибка, а в оставшихся ошибок нет.
если выполнен предикат (условие) 4 шага, то выходной вектор в целом восстанавливается интерполяционным многочленом Лагранжа, получен. на предыдущем шаге, в выброшенных позициях.
Иначе переходим к шагу 1.
БЧХ-коды.
Базис: такой же как и в RS-коде, отличие в формировании узлов (локаторов)
,
-примитивный
элемент поля
циклический код
3. Коды ???
,
-элементы
отличные от принятых
локаторов
4. Коды Гоппы и их обобщение
Пусть
функция
не имеет корней в поле
Базис:
выбор функции при
спец. выборе
получаются
коды Гоппы и их обобщение.
Как эти коды могут использоваться для защиты от НСД одновременно выполняя функцию самокоррекции от ошибок?
пусть
-
порождающая матрица
Выполним важное замечание (на прошлой лекции)
допустимо
эквивалентное преобразование матрицы
G
в матрицу
-перест-подст.
матр.
-невырожд.
матр.
Будем
использовать матрицу как
криптографическую матрицу – в роли
матрицы
могут
избираться, например, матрица Холла или
другие случайно формируемые матрицы,
легко обратимые. В роли матрицы
могут
избираться любые случайно перестановленные
матрицы где в позициях, в которых стоит
“1”, используется любой оператор
(например циклический сдвиг по ключу),
отображающий Fq
->
Fq
.
Ключевой
материал образуют матрицы и
Лекция №13
Модулярные вычисления.
1.
элементные операции –вычисления в Z
пусть
-натуральное
число,
Z
Zp
=
Z
-процедура
на прогр. языке.
-целая
часть числа
Компьютерная реализация.
-32-битн.
цел. числа.
если
,
то существ. инверсный вычет:
Процедура мультипликативного инвертирования осуществляется с помощью алгоритма Евклида.
?
2.
-
составное число
,
;
Имеем с одной стороны кольцо вычетов по мод. ???:
элементные
операц. в диапазоне
Организация
вычислений в диапазоне
возможна двумя путями:
посредством представления чисел из
позиционным кодом по какому-либо основанию и реализация алгоритма операций в позицион. системе счисления.
Зам.: для больших чисел вычисления осуществляется в режиме многократной точности, при этом мы систематически должны следить и учитывать переполнения из младших разрядов в старшие.
представление чисел из
в непозиционной системе счисления и реализация арифметических операций в модулярной арифметике
В основе модулярной арифметики лежит китайская теорема об остатках.
Китайская теорема об остатках.
Если
элементн. модули
попарно взаимно простые, т.е.
,
то любое число
из
диапазона ,
где
единствен.
образом представлено системой остатков
:
,
где
,
;
при этом модульные операции кольца
представляются
параллельно по модулям
,
,
т.е.
если
Док-во:
рассмотрим сумму
,
=
(1)
Какова
связь между
и
Равенство
(1) возьмем по
2)
Вывод:
если попарно
взаимно-простые, то
С переходом к модулярному представлению чисел приобрели возможность распараллеливать арифметические операции элементным модулям, но при этом мы потеряли представление о порядке чисел - непозиционное счисление.
Полиадическое
позиционное представление чисел
число
единственным
образом представимо в форме:
,
где
-
цифры полиадического представления
Лекция №14
полиадический
код числа
в
частном случае, при ,
то получаем
ичную
систему.
,
общее
число состояний
модулярный
код
необходимо перевести в полиадический :
1)
вычитаем
домножили
на
-алгоритм
…………
перевод
в 2ый
код
Модулярный код с избыточным основанием обладает свойством арифметической самокоррекцией.
Приложение модулярной арифметики к криптографии.
симметричные шифры
шифры с открытыми ключами
применение протоколов
Простая задача