Реализация самокорректирующихся кодов на основе интерполяционных формул. Система независимых векторов
:
линейно независимая система
Задача интерполирования: заданы значения нечет. функции
…;
в точках ; ;; …; (узлы, локаторы)
(все различны).
Найти :
:
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 пусть -натуральное число,
ZZp =
Z
-процедура на прогр. языке.
-целая часть числа
Компьютерная реализация.
-32-битн. цел. числа.
если , то существ. инверсный вычет:
Процедура мультипликативного инвертирования осуществляется с помощью алгоритма Евклида.
?
2. - составное число
, ;
Имеем с одной стороны кольцо вычетов по мод. ???:
элементные операц. в диапазоне
Организация вычислений в диапазоне возможна двумя путями:
посредством представления чисел из позиционным кодом по какому-либо основанию и реализация алгоритма операций в позицион. системе счисления.
Зам.: для больших чисел вычисления осуществляется в режиме многократной точности, при этом мы систематически должны следить и учитывать переполнения из младших разрядов в старшие.
представление чисел из в непозиционной системе счисления и реализация арифметических операций в модулярной арифметике
В основе модулярной арифметики лежит китайская теорема об остатках.
Китайская теорема об остатках.
Если элементн. модули попарно взаимно простые, т.е.
, то любое число
из диапазона , где единствен. образом представлено системой остатков : , где , ; при этом модульные операции кольца представляются параллельно по модулям , , т.е.
если
Док-во: рассмотрим сумму
,
=
(1)
Какова связь между и
Равенство (1) возьмем по
2)
Вывод: если попарно взаимно-простые, то
С переходом к модулярному представлению чисел приобрели возможность распараллеливать арифметические операции элементным модулям, но при этом мы потеряли представление о порядке чисел - непозиционное счисление.
Полиадическое позиционное представление чисел
число единственным образом представимо в форме:
, где
- цифры полиадического представления
Лекция №14
полиадический код числа
в частном случае, при , то получаем ичную систему.
,
общее число состояний
модулярный код
необходимо перевести в полиадический :
1)
вычитаем
домножили на
-алгоритм
…………
перевод в 2ый код
Модулярный код с избыточным основанием обладает свойством арифметической самокоррекцией.
Приложение модулярной арифметики к криптографии.
симметричные шифры
шифры с открытыми ключами
применение протоколов
Простая задача