Блочный шифр: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 24:
В 1997 году стал годом начала программы по принятию [[AES (конкурс)|AES]] (Advanced Encryption Standard). Конкурс состоял из трех этапов, окончательным победителем которого стал алгоритм [[Advanced Encryption Standard|RIJNDAEL]], разработанный бельгийцами J. Daemen и V. Rijmen. AES, как и его предшественники, также построен с использованием SP-сети.
 
На сегодняшний день существует множество атак, которым вынужден противостоять блочный шифр, начиная с [[Полный перебор|атаки перебором]], как самой тривиальной.{{sfn|Фомичёв|2003}}
<!----->
{{sfn|Фомичев}}
 
== Определение ==
Блочный шифр состоит из двух парных алгоритмов: [[Шифрование|шифрования]] и [[Расшифрование|расшифрования]].<ref>{{cite book|authors=Cusick, Thomas W. & Stanica, Pantelimon|title=Cryptographic Boolean functions and applications|publisher=Academic Press|year=2009|isbn=9780123748904|pages=158–159|url=http://books.google.com/books?id=OAkhkLSxxxMC&pg=PA158}}</ref> Оба алгоритма можно представить в виде функций. Функция шифрования E ({{lang-en|encryption}} — шифрование) на вход получает блок данных M ({{lang-en|message}} — сообщение) размером n бит и ключ K ({{lang-en|key}} — ключ) размером k бит и на выходе отдает блок шифротекста C ({{lang-en|cipher}} — шифр) размером n бит:
<!----->
<ref>{{cite book|authors=Cusick, Thomas W. & Stanica, Pantelimon|title=Cryptographic Boolean functions and applications|publisher=Academic Press|year=2009|isbn=9780123748904|pages=158–159|url=http://books.google.com/books?id=OAkhkLSxxxMC&pg=PA158}}</ref>
<!----->
Оба алгоритма можно представить в виде функций. Функция шифрования E ({{lang-en|encryption}} — шифрование) на вход получает блок данных M ({{lang-en|message}} — сообщение) размером n бит и ключ K ({{lang-en|key}} — ключ) размером k бит и на выходе отдает блок шифротекста C ({{lang-en|cipher}} — шифр) размером n бит:
 
:<math>E_K(M) := E(K,M) : \{0,1\}^k \times \{0,1\}^n \to \{0,1\}^n.</math>
Строка 58 ⟶ 52 :
{{конец цитаты}}
 
Первопроходцами в разработке блочных шифров стали сотрудники компании [[IBM]] при работе над шифром «[[Lucifer (криптография)|Lucifer]]». {{sfn|Брюс Шнайер|Стандарт ширования DES}} Они спроектировали первые основы, которые стали использоваться при разработке последующих схем. При этом следует учитывать, что новый шифр должен быть не только стойким ко всем известным видам атак, но и достаточно прост в реализации.
 
<!----->
{{sfn|Брюс Шнайер|Стандарт ширования DES}}
<!----->
Они спроектировали первые основы, которые стали использоваться при разработке последующих схем. При этом следует учитывать, что новый шифр должен быть не только стойким ко всем известным видам атак, но и достаточно прост в реализации.
=== Итеративные блочные шифры ===
Большинство блочных шифров являются итеративными. Это означает, что данный шифр преобразует блоки открытого текста ({{lang-en|plaintext}}) постоянной длины в блоки шифротекста ({{lang-en|ciphertext}}) той же длины посредством циклически повторяющихся обратимых функций, известных как раундовые функциии. <ref>{{cite book|author=Junod, Pascal & Canteaut, Anne|title=Advanced Linear Cryptanalysis of Block and Stream Ciphers|publisher=IOS Press|year=2011|isbn=9781607508441|page=2|url=http://books.google.com/books?id=pMnRhjStTZoC&pg=PA2}}</ref> Это связано с простотой и скоростью исполнения как программных, так и аппаратных реализаций. Обычно раундовые функции используют различные ключи, полученные из первоначального ключа:
<!----->
<ref>{{cite book|author=Junod, Pascal & Canteaut, Anne|title=Advanced Linear Cryptanalysis of Block and Stream Ciphers|publisher=IOS Press|year=2011|isbn=9781607508441|page=2|url=http://books.google.com/books?id=pMnRhjStTZoC&pg=PA2}}</ref>
<!----->
Это связано с простотой и скоростью исполнения как программных, так и аппаратных реализаций. Обычно раундовые функции используют различные ключи, полученные из первоначального ключа:
 
: <math>C_i = R_{K_i}(C_{i-1})</math>,
 
где C<sub>i</sub> — значение блока после i-го раунда, C<sub>0</sub> = M — открытый текст, K<sub>i</sub> — ключ, используемый в i-м раунде и полученный из первоначального ключа K.
Строка 289 ⟶ 276 :
}}
* {{source|Q26887236|ref=Габидулин, Кшевецкий, Колыбельников|ref-year=2011}} <!-- Защита информации -->
* {{source|заглавиеQ26896778|ref=Фомичёв|ref-year=2003}} <!-- = "Дискретная математика и криптология. Курс лекций"-->
* {{книга
|автор = В. М. Фомичев
|заглавие = "Дискретная математика и криптология. Курс лекций"
|место = М.
|издательство = ДИАЛОГ-МИФИ
|год = 2003
|страниц = 400
|isbn = 5-86404-185-8
|ref = Фомичев
}}
* {{книга
|автор = С. Г. Баричев, В. В. Гончаров, Р. Е. Серов