Добавлен: 22.11.2023
Просмотров: 57
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
а) тогда и только тогда, когда ;
б)
в)
г)
Подмножество M кольца R называется подкольцом, если оно само является кольцом при тех эе операциях сложения и умножения, которые определены в кольце R.
Так, кольцо четных чисел является подкольцом кольца целых чисел, а последнее в свою очередь - подкольцом кольца рациональных чисел.
При выяснении того, является ли данное множество кольца подкольцом, нет надобности проверять справедливость всех свойств кольца. Большинство из них автоматически переходит с кольца на любое его подмножество. Удобнее всего пользоваться для этого такой теоремой:
Теорема 4. Для того чтобы непустое подмножество M кольца R было его подкольцом, необходимо и достаточно, чтобы сумма, разность и произведение любых двух элементов из M снова принадлежали M.
Все теоремы из раздела Кольца, выведенные для колец, остаются верными, в частности, для полей.
Как всякое кольцо, поле является группой относительно операции сложения. Все элементы поля, не равные нулю, образуют группу относительно операции умножения. Группа по сложению всех элементов поля называется аддитивной, а группа по умножению всех его элементов, отличных от нуля, - мультипликативной группой поля. Поле вполне определяется заданием двух этих групп, заданием произведений нуля на все элементы и требованием дистрибутивного закона для любых его элементов, включая нуль. Отсюда уже следует, что произведение любого элемента на нуль равно нулю.
Из свойств мультипликативной группы следует, что в поле существует единица, т. е. такой элемент e, что для любого
.
Теорема 5. Поле не имеет делителя нуля, т. е. если ab = 0, то либо a = 0, либо b = 0.
Теорема 6. Всякое конечное кольцо без делителей нуля, содержащее более одного элемента, является полем.
Теорема 7. (Свойства частного)
а) Если , то , тогда и только тогда, когда б) Если , то ;
в) Если , то ;
г) Если , то .
Существуют поля, содержащие элементы a ≠ 0 такие, что na = 0 при целом n, отличном от нуля. Так, в поле из двух элементов 0 и e имеем: 2e = e + e = 0. Справедливо утверждение:
Теорема 8. Для любого поля P имеет место один из двух случаев:
а) для любого элемента a ≠ 0 и любого целого числа n ≠ 0 кратное na также отлично от нуля;
б) существует единственное простое число p такое, что pa = 0 для любого элемента a. (Под простым числом понимается натуральное число, отличное от 1 и не делящееся ни на какое натуральное число, кроме 1 и самого себя)
Характеристикой поля P называется число 0, если na ≠ 0 для любого элемента a ≠ 0 и любого целого числа n ≠ 0 и простое число p такое, что pa = 0 для любого элемента a в противном случае. Так как для числа 1 и любого целого n будет n · 1 = n, то все числовые поля имеют характеристику 0.
1.3 Конечное поле
Конечное поле или поле Галуа - поле, состоящее из конечного числа элементов. Конечное поле обычно обозначается
или GF(q), где q - число элементов поля.
Свойства:
Характеристика конечного поля является простым числом;
Число элементов любого конечного поля есть его характеристика в натуральной степени
;
Для каждого простого числа p и натурального n существует конечное поле из элементов, единственное с точностью до изоморфизма. Это поле изоморфно полю разложения многочлена
;
Мультипликативная группа конечного поля является циклической группой порядка ;
o В частности, в конечном поле всегда существует примитивный элемент , порядок которого равен , то есть и для
;
o Любой ненулевой элемент является некоторой степенью примитивного элемента
;
Поле содержит в себе в качестве подполя
тогда и только тогда, когда является делителем .
Построение поля
где p - простое число, n - натуральное число, начинается с построения его простого подполя (которое совпадает со всем полем при n=1).
Простое поле строится как кольцо вычетов по модулю p, которое в виду простоты не имеет делителей нуля и является полем.
Элементы - числа . Операции проводятся как с обычными целыми числами с приведением результата по модулю p;
Поле при n>1 строится как факторкольцо
где - неприводимый многочлен степени n над полем .
Таким образом, для построения поля из элементов достаточно отыскать многочлен степени n, неприводимый над полем ;
Элементами поля K являются все многочлены степени меньшей n с коэффициентами из . Арифметические операции (сложение и умножение) проводятся по модулю многочлена , то есть, результат соответствующей операции - это остаток от деления на
с приведением коэффициентов по модулю p.
Для алгоримта AES (Rijndael) были разработаны собственные неприводимые полиномы в поле , а также операции сложения и умножения, рассмотренные в следующих разделах.
2. Основные определения и процедуры алгоритма
.1 Ключ шифра
является симметричным алгоритмом шифрования с ключем. Ключ может иметь длину 128, 192 и 256 бит. Алгоритмы с ключем длиной 128, 192 и 256 бит обозначаются соответственно как AES-128, AES-192, AES-256.
2.2 Блоки данных
Алгоритм AES оперирует блоками по 16 байт, представленными матрицами 4х4. В процессе обработки блоки в промежуточных состояниях обозначаются как “текущие”.
2.3 Ключи раундов
Алгоритм AES (AES-128, AES192, AES-256) расширяет ключ шифра и получает 10, 12 или 14 ключей раундов. Каждый ключ раунда имеет длину 128 бит. Алгоритм получения ключа раунда называется “расширением ключа” (KeyExpansion).
2.4 AddRoundKey
AddRoundKey(ref byte[,] state, byte[,] Key, int round) является 128-битным преобразованием, которое заключается в побитовой операции XOR двух аргументов state и Key, которые выступают в качестве “текущего” блока и ключа раунда. Операция XOR применяется для каждого байта state.
алгоритм key expansion кольцо
2.5 SubBytes и InvSubBytes
SubBytes - это 8-битное преобразование, которое определяется как аффинная функция , где A - двоичная матрица 8х8, а b - 8-битный вектор, как показано на рисунке 1.
Рисунок 1 - Преобразование SubBytes
Здесь обозначает инверсию над полем Галуа (конечным полем) , которое определяется полиномом (для краткости 0x11b).SubBytes является обратным преобразованием по отношению к SubBytes и определяется как