Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Статистические атаки на подстановочные и перестановочные шифры, частотный анализ




Конфиденциальность. Классы шифров. Симметричная криптография и криптография с открытым ключом.

 

Конфиденциальность – необходимость предотвращения утечки (разглашения) какой-либо информации (обеспечение невозможности прочтения ее посторонним). Методом достижения конфиденциальности является шифр.

Шифрование – процесс преобразования открытого текста в зашифрованный с помощью ключа шифрования

Расшифровка – процесс преобразования зашифрованного текста в открытый с помощью ключа расщифровки.

 

Классы шифров:

  1. Подстановные
  2. Перестановочные
  3. Аналитические

 

Симметричная криптография: ключи шифровки и расшифровки либо совпадают либо получаются друг из друга простым преобразованием. Подстановочные и перестановочные шифры относятся к симметричным шифрам.

 

Криптографическая система с открытым ключом (или асимметричное шифрование, асимметричный шифр) — система шифрования и/или электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифровки сообщения используется секретный ключ. Очевидно, что в такой схеме не должно быть возможности получить секретный ключ из открытого,

 

6. Подстановочный шифр: понятие S-блока, стойкость к атаке полным перебором, примеры моноалфавитных и полиалфавитных шифров.

 

Шифр подстановки – шифр, где каждый символ (группу символов) открытого текста заменяют на некоторый другой символ (группу символов) для получения зашифрованного текста. В общем случае предполагается, что алфавиты исходного и зашифрованного текста совпадают(из условия следует, что путем назначения однозначного соответствия всегда можно добиться выполнения этого предположения).

 

В классической криптографии различают четыре типа шифра подстановки:

  1. Одноалфавитный шифр подстановки (шифр простой замены) — шифр, при котором каждый символ открытого текста заменяется на некоторый, фиксированный при данном ключе символ того же алфавита.
  2. Однозвучный шифр подстановки похож на одноалфавитный за исключением того, что символ открытого текста может быть заменен одним из нескольких возможных символов.
  3. Полиграммный шифр подстановки заменяет не один символ, а целую группу. Примеры: шифр Плейфера, шифр Хилла.
  4. Многоалфавитный шифр подстановки состоит из нескольких шифров простой замены. Примеры: шифр Виженера, шифр Бофора, одноразовый блокнот.

 

S-блок - это секрет подстановочного фильтра: таблица подстановки, по которой при шифровке символы исходного текста заменяются на символы зашифрованного текста, а при расшифровке наоборот.

 

Стойкость шифра к атакам полным переборам - экспоненциальная.

 

Пример шифра простой замены: Шифр Атбаш

Шифрование происходит заменой первой буквы алфавита на последнюю, второй на предпоследнюю. S-блок шифра Атбаш для английского алфавита:

Исходный алфавит: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Алфавит замены: Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

 

Пример многоалфавитного шифра: Шифр Виженера

В шифре Цезаря каждая буква алфавита сдвигается на несколько строк; например в шифре Цезаря при сдвиге +3, A стало бы D, B стало бы E и так далее. Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига.

 

Для зашифровывания может использоваться таблица алфавитов, называемая tabula recta или квадрат (таблица) Виженера. Она и является S-блоком шифра. Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причём каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря. На каждом этапе шифрования используются различные алфавиты, выбираемые в зависимости от символа ключевого слова. Таким образом каждый символ зашифрованного текста определяется через символ исходного текста (выбирающего столбец в таблице) и символ ключа (выбирающего строку в таблице). В данном шифре секретом может(и должен) быть не сам S-блок, а именно ключ, на котором было проведено шифрование.

 

7. Перестановочный шифр: вектор перестановки, перестановочная матрица P и ее свойства, стойкость к атаке полным перебором, примеры шифров.

 

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

Секретным ключом в подобных шифрах выступает перестановочная матрица P размером n*n, состоящая из нулей и единиц. При этом в кадой строки и каждом столбце может содержаться только одна единица(другими словами P получается путем перестановок строк или столбцов единичной матрицы соответствующего размера). Таким образом, общее число возможных ключей(матриц P) определяется длиной блока n и равно n!.

При дешифрации используется матрица обратной перестановки D, являющаяся обратной к матрице P по умножению, то есть D*P=E, где E — единичная матрица.

Стойкость к атакам полным переборам - n! – экспоненциальная.

 

Пример: пусть n=5, а P имеет вид

Исходное сообщение: message. Дополнив его до размера, кратного 5, получим: messagezzz. Разобьем на блоки: messa и gezzz. Перестановки их будут: aemss и zegzz соответственно. Шифрованное сообщение таким образом имеет вид: aemsszegzz.

 

Статистические атаки – используют статистическую информацию о языке исходного сообщения при его расшифровке.

Частотный анализ – раздел криптоанализа, занимающийся расшифровкой перечисленных шифров на основе статистических свойств языка исходного текста:

  1. Частота встречающихся монограмм(отдельных символов), биграмм(пар букв) и т. п.
  2. Частота появления буквы на первой, второй и т.д. позиции в словах языка.
  3. Частота появления сдвоенных символов
  4. Анализ слов по частоте употребления в тексте слов из определенного числа символов.

Анализ подстановочных шифров оуществляется путем сопоставления частот символов обычных текстов и зашифрованного.(Т. е. если в нормальных текстах буква А - каждая 17-ая, а в зашифрованном тексте буква Ц – каждая 17-ая, то можно предположить, что подстановка заменила А на Ц), аналогично для перестановочных шифров сопоставляется частота появления символов на определенных позициях (буква О с вероятностью в 21% является первой в словах обычного текста, а в зашифрованном она с той же вероятностью является третьей. Можно предположить, что первый символ был переставлен на третью позицию).

 

9. Мера информации: понятие собственной информации и энтропии, энтропия естественного языка, избыточность естественного языка.

Собственная информация символа – это величина обратно пропорциональная вероятности его появления в тексте (чем меньше ожидается символ, тем он более информативен), она обозначается как I и определяется следующим образом:

,

где - вероятность появления символа в тексте, а - собственная информация символа .

 

Информационная энтропия — мера неопределённости или непредсказуемости информации, неопределённость появления какого-либо символа алфавита. При отсутствии информационных потерь численно равна количеству информации на символ передаваемого сообщения.

 

- формула энтропии

В идеальном случае, когда появления всех символов равновероятно энтропия равна:

,

где k – число символов в алфавите. Для любого k:

Если следование символов алфавита не независимо (например, во французском языке после буквы «q» почти всегда следует «u») количество информации, которую несёт последовательность таких символов (а, следовательно, и энтропия), очевидно, меньше. Для учёта таких фактов используется условная энтропия и условная мера информации:

- условная мера информации

- условная энтропия.

 

Взаимная энтропия

Взаимная энтропия или энтропия объединения предназначена для расчёта энтропии взаимосвязанных систем (энтропии совместного появления статистически зависимых сообщений) и обозначается H(AB):

- взаимная мера информации

- взаимная энтропия.

 

Энтропия естественного языка на основе алфавита А, определяется, как:

 

- где N- длина слова.

Устремив N к бесконечности можно получить энтропию языка в целом:

 

Тогда избыточность естественного языка, показывающая избыточность информации в тексте на таком языке, будет определяться как:

       

10. Блочные шифры. Атака созданием кодовой книги. Режим электронной книги, режим сцепления блоков зашифрованного текста: достоинства и недостатки.

 

Блочный шифр – симметричный шифр, выполняющий преобразование над группой бит фиксированной длины (блоком).

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

Но длина самой книги равна 2n, где n -длина блока и уже при длине блока в 50 символов книга будет занимать больше миллиона терабайт, что делает ее хранение практически невозможным.

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

 

Режимы работы блочных шифров:

 

  1. Режим электронной книги:

 

- каждый блок текста шифруется независимо от других, при этом ключ используется один и тот же. Достоинства:

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

Ошибка при шифровании в этом режиме повреждает только один блок, в котором она и была допущена.

 

  1. Режим обратной связи по шифротексту.

 

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

    1. Неуязвимость к атаке по кодовой книге

Недостатки:

a. Только последовательное шифрование

b. Теряется произвольный доступ

c. Ошибка шифрования распространяется на два блока

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

 

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

 

  1. Режим обратной связи по зашифрованному тексту:

Шифрование


Свойства:

    1. Нет произвольного доступа к блокам
    2. Ошибка влияет на два блока
    3. Используется одна и та же функция, как в шифровке, так и в расшифровке

 

  1. Режим обратной связи по выходу:

Шифрование

 

Расшифрование


Свойства:

    1. Произвольный доступ к блокам, если заранее произвести все операции шифрования над вектором инициализации)
    2. Ошибка влияет только на один блок

 

  1. Режим счетчика

Шифрование

В самом простом случае f – это простая операция инкрементирования, таким образом входной вектор на каждой операции шифрования – это просто счетчик с номером текущего блока

Расшифрование


Свойства этого режима аналогичны предыдущем, за исключением того, что обеспечить произвольный доступ легче – для доступа к n-ному блоку не нужно выполнять заранее n операций шифрования, а достаточно n-1 раз выполнить функцию f и 1 раз операцию шифрования.

 

 

12. Параметры блочного шифра: длина блока, длина ключа. Смешивание и рассеивание, линейные и нелинейные преобразования. Понятие итерационного шифра. Понятие алгоритма развертки ключа.

 

Длина блока: n>= 64 бит для исключения атака по кодовой книге

Длина ключа: k>= 64 бит для исключения атаки полным перебором

Для противостояния всем 4 видам атак должны выполняться следующие два действия:

  1. Смешивание – использование смеси линейных и нелинейных преобразований
  2. Рассеивание – каждый бит открытого текста и каждый бит ключа влияют на все биты зашифрованного, чтобы исключить частотный анализ

Линейные преобразования: преобразования, которые позволяют по паре открытый и зашифрованный текст восстановить ключ шифрования.

Нелинейные преобразования не допускают подобного.

 

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

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

eistel и шифр Feistel: достоинства, функция раунда, примеры шифров с параметрами. Эквивалентные ключи: пример.

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

 

Достоинства и недостатки:

Достоинства:

  1. Простота аппаратной реализации на современной электронной базе
  2. Простота программной реализации в силу того, что значительная часть функций поддерживается на аппаратном уровне в современных компьютерах (например, сложение по модулю 2, сложение по модулю 2n, умножение по модулю 2n, и т. д.)
  3. Хорошая изученность алгоритмов на основе сетей Фейстеля

Недостатки:

  1. За один раунд шифруется только половина входного блока

 

 

Параметры шифров на сете Фейстеля:

  1. Длина исходного текста m
  2. Длина ключа к
  3. Кол-во раундов N
  4. Функция раунда
  5. Алгоритм развертки ключа

Пример шифра с переменными значениями параметров: TEA(tiny encryption algorithm)

 

Количество раундов в данном шифре по умолчанию равно 64, но может быть изменено от 16 до 128, хотя т. н. «эффективная диффузия»(смешивание) достигается только за 32 раунда.

 

Эквивалентные ключи – ключи называются эквивалентными, если результаты шифрования любого открытого текста на каждом из них одинаковы, т. е.:

Тот же TEA является и примером криптосистемы с эквивалентными ключами. Дело в том, что на каждом нечетном раунде в нем используются под ключи K0 и K1, а на каждом четном K2 и K3 (по 32 бита каждый), каждый из которых соответствует одной четверти исходного ключа K(128 бит). В силу этого и самой структуры алгоритма получается, что каждый ключи имеет по три ему эквивалентных:

1 ключ K0 K1 K2 K3
2 ключ K0+231 K1+231 K2 K3
3 ключ K0 K1 K2+231 K3+231
4 ключ K0+231 K1+231 K2+231 K3+231

 

 

14. Минимальное число раундов в шифре Feistel. Атаки типа «встреча посередине» и «разделяй и властвуй»: примеры. Слабые ключи и слабые шифрующие функции.

 

Минимальное число раундов в шифвре Feistel напрямую зависит от длины ключа, в силу возможности применения атаки «встречи по середине». Количество раундов должно выбираться таким образом, чтобы данная атака не оказалась легче, чем подбор ключа полным перебором.

 

Атака типа встречи по середине заключается в проведение математических преобразований над результатами на каждом раунде и ключами раундов, чтобы выразить часть ключей друг через друга и результаты раундов. В таком случае подбирать надо только часть ключей раунда, что упрощает атаку полным перебором.. Возможность подобных атак показывает, что количество раундов следует выбирать в зависимости от длины ключа(т.к. атака в любом случае будет проходить по более слабому параметру). Для 64 битного ключа – минимальное кол-во раундов – 4.

Пример:

Пусть сеть состоит из 4 раундов с шифрующей функцией F. Тогда конечный результат можно записать, как:

, где Fk3 – шифрующая функция на ключе k3 и т. д.

Дешифрование в таком случае, если обозначить как F-1 функцию обратную шифрующей, выглядит как:

Поскольку, очевидно что каждый этап дешифрации нейтрализует один этап шифрования, то можно предположить, что:

- т. е. результат первых двух раундов шифрования совпадет с результатом первых двух раундов дешифрации.

Тогда владея парой C и P, злоумышленник может полным перебором для пары ключей раунда k0 и k1 найти все значения , а для пары ключей раунда k2 и k3 – все значения . Далее ему останется лишь сравнить эти два набора значений и выбрать все случаи, когда они равны, как ключи подозрительные на истинность. Перебор подозрительных ключей даст в результате истинный ключ. Если считать, что каждый ki имеет длину N, то такая атака использует перебор в размере 22N+22N+k, где k- число подозрительных ключей. А полный перебор потребовал бы обработать 24N вариантов

 

 

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

 

 

Пример:

Тогда обозначив правый и левый вход сети Фейстеля, как L и R, получим итерационную систему уравнений:

, где Ki по переменно принимает значения K1 и K2

Выделим подзадачу нахождения последнего бита ключа из последних битов L и R Для отдельных битов двух чисел операция сложения эквивалентна операция сложения по модуля два между ними и битом переноса с прошлых двух битов:

, где N[k] – перенос с k-1-ых на k-тые биты на i-том шаге. Поскольку для последних битов перенос всегда равен нулю для них задача упрощается:

Теперь, если пройти по всей итерационной формуле, получим:

Поскольку и R0, L0(исходный текст) и R64, L64(зашифрованный текст) нам известны, то можно найти и K2[0] и K1[0]. Дальше зная их, можно посчитать бит переноса N[1] на каждом шаге итераций и составить такую же систему для 1-ых битов, найдя из нее K2[1] и K1[1]. Повторять до нахождения всех битов обоих ключей раунда.

 

 

Слабые ключи – такие ключи, что в ходе шифрования исходный текст либо не меняется, либо меняется очень примитивным образом, позволяя более простым преобразованием перейти от зашифрованного текста обратно к исходному

 

 

15. Линейный криптоанализ блочных шифров: пример линейного приближения и вычисления вероятности приближения.

Криптоанализ происходит в два шага:

  1. Построение соотношений между открытым текстом, шифротекстом и ключом, которые справедливы с высокой вероятностью.
  2. Использование этих соотношений вместе с известными парами открытый текст — шифротекст для получения битов ключа.

Пример: пусть шифрующая функция: . Ее таблица истинности для каждого отдельного бита следующая:

A B C F
       
       
       
       
       
       
       
       

 

Таким образом, заданную F можно аппроксимировать выражением с вероятностью (7 из 8 строк таблицы истинности совпадают у F и F’). Вероятность правильности аппроксимации для текста в N бит равна

16. Разностный криптоанализ блочных шифров и атака на основе подобранного зашифрованного текста: пример восстановления ключа.

 

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

Дифференциальный криптоанализ применим для взлома DES и некоторые других шифров, как правило, разработанных ранее начала 90-х. Количество раундов современных шифров (AES и др.) рассчитывалось с учетом обеспечения стойкости, в том числе и к дифференциальному криптоанализу.

 

Основывается на том, что отличиям пары открытых текстов с разной вероятностью соответствуют отличия пар зашифрованных текстов, в зависимости от ключа этапа. Таким образом, если имеется возможность зашифровать достаточное число нужных пар открытых текстов, то по получившимся парам зашифрованных текстов можно с большой долей вероятности установить ключ шифра.

 

Пример:

p, p’ – пара открытых текстов

c, c’ – пара зашифрованных текстов.

- характеристики открытого и зашифрованного текста.

Теперь, если подобрать p и p’ такие, что , то:

Отсюда можно узнать N-1 бит k0. Оставшийся бит теряется из-за сдвига и должен быть восстановлен полным перебором (всех 2-х вариантов!).

 

17. Шифр DES: параметры, общая схема шифрования и дешифрования, функция раунда, алгоритм развертки ключей. Стойкость шифра DES и 3DES (Triple DES).

 

Параметры:

1. Длина текста - 64 бита

2. Длина ключа – 56 бит(+ 8 бит проверки на четность)

3. Кол-во раундов – 16

Схема

 

Функция раунда (слева) и алгоритм развертки ключа(справа)

 

Таким образом DES представляет собой 16-раундную сеть Фейстеля, где функция шифрования включает в себя расширение 32-битного блока до 48-бит, XOR его с 48-битным ключом, затем обратное сжатие результат до 32-бит и перестановку. Кроме того, как видно из общей схемы, сама сеть Фейстеля также обрамлена начальной и конечной перестановкой.

Развертка ключа производится в два этапа:

  1. Из исходного ключа конструируются два вектора С0 и D0 – каждый равный по размеру половину ключа(без учетов 8 битов контроля нечетности), но получаемые сложной перестановкой из его битов.
  2. Каждый из векторов С и D циклически сдвигается влево на три бита, после чего из объединенного вектора CD сжимающей перестановкой получается очередной ключ раунда.

Криптостойскость DES:

  1. Нелинейность преобразований в DES средствами только S-блоков, и использование слабых S-блоков позволяет осуществлять контроль за шифрованной перепиской.
  2. Из-за небольшого числа возможных ключей (всего ), появляется возможность их полного перебора на быстродействующей вычислительной технике за реальное время. В 1998 году Electronic Frontier Foundation используя специальный компьютер DES-Cracker, удалось взломать DES за 3 дня.

 

3DES – улучшение DES:

Ключ длиной в 168 бит (3*56). Алгоритм реализуется, как троекратное применение DES на основе трех частей полной ключа:

- шифрование

- расшифровка

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

3DES лишен уязвимости к полному перебору, т. к. число возможных ключей теперь лишь несколько меньше, чем 2168(меньше из-за ограничение на неповторимость частей). Однако, второй нарекание к криптостойкости сохраняется.

 

18. Шифр ГОСТ 28147-89: параметры, общая схема шифрования и дешифрования, функция раунда, алгоритм развертки ключей, использование шифра в РФ.

 

Параметры:

1. Длина текста - 64 бита

2. Длина ключа – 256 бит

3. Кол-во раундов – 32

Функция раунда

Алгоритм развертки ключа: делится на 8 частей по 32 бита, которые используются в функциях раунда в следующем порядке: 1..8,1..8,1..8,8..1.

При расшифровке ключи следует подавать в тот же алгоритм в обратном порядке.

 

19. Операция над элементами множества. Группа и абелева группа: определение, порядок, примеры.

 

Группа – множество элементов с заданной над ними бинарной операцией (принимающей два аргумента и возвращающей один результат)

Операция должна быть:

  1. Замкнутой (принимает элементы множествава и возвращает элемент того же множества)
  2. Ассоциативной(неважно в каком порядке выполняются операции – справа налево или слева направо: (а*б)*с=а*(б*с))
  3. Существует нейтральный элемент, такой что а*е=е*а=а
  4. Для любого элемента существует обратный элемент: а*а-1

Абелева группа требует также

  1. Коммутативность: а*б=б*а

Примером абелевой группы является множество целых чисел с заданной на них операцией сложения

  1. Операция замкнута – сумма двух целых чисел – целое число
  2. Операция сложения ассоциативна
  3. Нейтральный элемент – ноль
  4. Обратный элемент к числу – это оно же с противоположным знаком
  5. Операция сложения коммутативна.

Пример некоммутативной группы: группа из всех матриц перестановок с числом столбцов больше 2-х. Например:

Операцией в данном случае будет объединение(произведение) перестановок. Так, например:

  1. Операции замкнуты. Любая перестановка из трех элементов входит в множество и последовательные две перестановки всегда дадут некую объединенную перестановку.
  2. Операция ассоциативна.
  3. Нейтральный элемент:
  4. Обратный элемент существует для каждой матрицы, а именно - обратны друг другу, а каждая оставшаяся перестановка обратна самой себе.
  5. Операция НЕ коммутативна, так: , а не

20. Операции над элементами множества. Кольцо и коммутативное кольцо: определение, примеры коммутативных и некоммутативных колец.

Кольцо – множество элементов с заданными над ними двумя операциями. Первая операция должна образовывать с множеством Абелеву группу. Для второй должны выполняться:

  1. Замкнутость: принимает элементы множества и возвращает элемент того же множества
  2. Ассоциативность (неважно в каком порядке выполняются операции – справа налево или слева направо: (а*б)*с=а*(б*с))
  3. Дистрибутивность с первой операцией ((a+b)*c=a*c+b*c)

Если выполняется еще и

  1. Коммутативность: а*б=б*а,

то это коммутативное кольцо

Примеры:

Коммутативное кольцо: множество целых чисел с операциями сложения и умножения:

  1. Про сложение см. выше
  2. Умножение целых чисел – замкнуто
  3. Умножение целых чисел - ассоциативно
  4. Умножение целых чисел дистрибутивно по отношению к сложению
  5. Умножение целых чисел – коммутативно

Некоммутативное кольцо: множество квадратных матриц с операциями сложения и умножения:

  1. Сложение матриц – замкнуто, ассоциативно, коммутативно, нейтральный элемент – матрица из нулей, обратный элемент – матрица с обратными знаками элементов
  2. Умножение квадратных матриц – замкнуто
  3. Умножение квадратных матриц - ассоциативно
  4. Умножение квадратных матриц дистрибутивно по отношению к их сложению
  5. Умножение матриц НЕ коммутативно. И в случае квадратных тоже.

 

21. Поле и простое конечное поле: определение, связь с кольцом, примеры.

Поле – множество элементов с заданными над ними двумя операциями. Первая операция должна образовывать с множеством Абелеву группу. Для второй должны выполняться:

  1. Замкнутость
  2. Без нейтрального элемента по первой множество образует с ней также Абелеву группу
  3. Дистрибутивность с первой операцией((a+b)*c=a*c+b*c)

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

Следствие: любое поле на двух операциях, это всегда коммутативное кольцо на них же.

 

Пример: множество рациональных чисел.

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

Простое конечное поле – это поле, содержащее конечное множество элементов и при этом любое подмножество этого множества не образует поле с этими же двумя операциями.

Пример простоты: множество вещественных чисел с операциями сложения и умножения – это не простое поле, т. к. из него можно выделить подмножество рациональных чисел, которые также будут полем на операциях сложения и умножения. А вот из самого множества рациональных чисел выделить подмножество уже нельзя, следовательно это простое поле.

Пример простого конечного поля: множество целых чисел от 0 до N-1 c операциями сложения и умножения по модулю N, где N- простое число. Например {0,1,2} и +mod(3) и *mod(3).

 

22. Расширение простого конечного поля: примитивный элемент и примитивный многочлен, операция деления, пример.

Алгебраическое расширение поля – это также поле, содержащее исходное поле в качестве подполя и при этом все элементы, входящего в него множества являются корнями из многочленов с коэффициентами взятыми из множества исходного поля.

 

Примитивный элемент конечного поля GF(pm)(т. е. поля содержащего pm элементов) – элемент, который при возведении в степень pm-1 становится равен 1, но не равен 1 при любой степень 0< и < pm-1. Другими словами, возводя его в последовательные степени по очереди будут получаться все элементы поля кроме 0, при этом 1 будет получена последней.

 

Примитивный многочлен - минимальный многочлен примитивного элемента(многочлен который не раскладывается на произведение многочленов низшей степени)

 

Основываясь на том, что любое двоичное число можно представить в качестве многочлена, использую биты как коэффициенты. И все эти многочлены могут быть получены путем возведения примитивного многочлена в некую степень, то деление может быть заменено на домножение на число, соответствующее многочлену полученному путем возведения примитивного элемента в степень = (pm-1 – k, где k степень многочлена, соответствующего делителю)(домножение на обратное).

Пример: поле содержащее 8 элементов:

    нет
    a07
  a a1
  a2 a2
  a+1 a3
  a2+1 a4
  a2+a a5
  a2+a+1 a6

 

Тогда деление будет осуществлять следующим образом:

 

23. Шифр AES (Rijndael): параметры, общая схема шифрования и дешифрования, подстановка, сдвиг, смешивание, смешивание с ключом, особенности использования.

 

Параметры:

  1. Длина текста - 128 бит
  2. Длина ключа – 128/192/256 бит
  3. Кол-во раундов – 10/12/14

Схема:

S:=AddRoundKey(S,k0)

For i:=1 to 9 do

S:=Subbytes(S)

S:=ShiftRows(S)

S:=MixColumns(S);

S:=AddRoundKey(S,ki)

Endfor;

S:=Subbytes(S)

S:=ShiftRows(S)

S:=AddRoundKey(S,kn)

Дешифровка осуществляется путем выполнения операций в обратном порядке

 

Ф-ции:

  1. Subbytes(S) – преобразует каждый входной байт х в y=Ax-1+b – где x-1 обратный элемент по GF(28) – это операция подстановки
  2. ShiftRows(S) – 16 байт записываются в виде матрицы 4*4, где каждая строка побитно сдвигается влево на свой номер(нумерация с нуля) – это операция сдвига
  3. В процедуре MixColumns, четыре байта каждой колонки State смешиваются, используя для этого обратимую линейную трансформацию. Она обрабатывает состояния по колонкам, трактуя каждую из них как полином четвёртой степени. Над этими полиномами производится умножение в GF (28) по модулю x 4 + 1 на фиксированный многочлен c (x) = 3 x 3 + x 2 + x + 2 – это операциям смешивание
  4. AddRoundKey(S,k) производит побитный S xor K – это операция смешивания с ключом

 




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 3451; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.201 сек.