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

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
исправление разметки (ВП:РДБ#Bogus file options)
Спасено источников — 1, отмечено мёртвыми — 0. #IABot (v1.5.2)
Строка 108:
=== Шифрование, зависящее от предыдущих блоков ===
[[Файл:EncryptCBC.png|thumb|500px|right|Шифрование в режиме сцепления блоков шифротекста]]
Чтобы преодолеть эти проблемы, были разработаны иные режимы работы<ref name="NIST-modes">{{cite web|title=Block Cipher Modes|publisher=[[NIST]] Computer Security Resource Center|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/index.html|archiveurl=httphttps://www.webcitation.org/6CIlOSiZI?url=http://csrc.nist.gov/groups/ST/toolkit/BCM/index.html|archivedate=2012-11-2019}}</ref>{{sfn|Menezes, van Oorschot, Vanstone|1996|pp=228–233}}, установленные международным стандартом ISO/IEC 10116<ref>[http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38761 ISO/IEC 10116:2006 ''Information technology — Security techniques — Modes of operation for an n-bit block cipher'']</ref> и определеные национальными рекомендациями, такие, как NIST 800-38A<ref name="nist800-38a">{{citation|url=http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf|author=Morris Dworkin|title=Recommendation for Block Cipher Modes of Operation – Methods and Techniques|journal=Special Publication 800-38A|publisher=National Institute of Standards and Technology (NIST)|date=December 2001}}</ref> и [[Федеральное управление по информационной безопасности|BSI]] TR-02102<ref name="BSI-rec">{{citation|title=Kryptographische Verfahren: Empfehlungen und Schlüssellängen|journal=BSI TR-02102|format=Technische Richtlinie|issue=Version 1.0|date=June 20, 2008}}</ref>
 
Общая идея заключается в использовании случайного числа, часто называемого вектором инициализации ({{lang-en|[[:en:Initialization Vector|initialization vector, IV]]}}). В популярном [[Режим шифрования#Cipher Block Chaining (CBC)|режиме сцепления блоков]] ({{lang-en|Cipher Block Chaining, CBC}}) для безопасности IV должен быть случайным или псевдослучайным. После его определения, он складывается при помощи операции исключающее ИЛИ с первым блоком открытого текста. Следующим шагом шифруется результат и получается первый шифроблок, который используем как IV для второго блока и так далее. В [[Режим шифрования#Cipher Feedback (CFB)|режиме обратной связи по шифротексту]] ({{lang-en|Cipher Feedback, CFB}}) непосредственному шифрованию подвергается IV, после чего складывается по модулю два (XOR, исключающее ИЛИ) с первым блоком. Полученный шифроблок используется как IV для дальнейшего шифрования. У режима нет особых преимуществ по сравнению с остальными. В отличие от предыдущих режимов, [[Режим шифрования#Output Feedback (OFB)|режим обратной связи вывода]] ({{lang-en|Output Feedback, OFB}}) циклически шифрует IV, формируя поток ключей, складывающихся с блоками сообщения. Преимуществом режима является полное совпадение операций шифрования и расшифрования. [[Режим шифрования#Counter Mode (CTR)|Режим счетчика]] ({{lang-en|Counter, CTR}}) похож на OFB, но позволяет вести параллельное вычисление шифра: IV объединяется с номером блока без единицы и результат шифруется. Полученный блок складывается с соответствующим блоком сообщения.