CipherMode CipherMode CipherMode CipherMode Enum

Определение

Задает режим блочного шифра для использования при шифровании.Specifies the block cipher mode to use for encryption.

public enum class CipherMode
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum CipherMode
type CipherMode = 
Public Enum CipherMode
Наследование
Атрибуты

Поля

CBC CBC CBC CBC 1

Режим сцепления блоков шифра (CBC) реализует обратную связь.The Cipher Block Chaining (CBC) mode introduces feedback. Перед шифрованием каждого блока открытого текста он объединяется с зашифрованным текстом предыдущего блока с помощью побитовой операции "исключающего ИЛИ".Before each plain text block is encrypted, it is combined with the cipher text of the previous block by a bitwise exclusive OR operation. При этом даже в случае, если открытый текст содержит большое количество идентичных блоков, при их шифровании будут получены различные блоки зашифрованного текста.This ensures that even if the plain text contains many identical blocks, they will each encrypt to a different cipher text block. Перед шифрованием первого блока открытого текста с ним с помощью побитовой операции "исключающего ИЛИ" объединяется вектор инициализации.The initialization vector is combined with the first plain text block by a bitwise exclusive OR operation before the block is encrypted. При искажении отдельного бита блока зашифрованного текста будет искажен и соответствующий блок открытого текста.If a single bit of the cipher text block is mangled, the corresponding plain text block will also be mangled. Кроме того, будет изменен и бит следующего блока, находящийся в том же месте, что и исходный измененный бит.In addition, a bit in the subsequent block, in the same position as the original mangled bit, will be mangled.

CFB CFB CFB CFB 4

Режим обратной связи по шифру ( CFB ) вместо преобразования всего блока преобразует в шифрованный текст небольшие фрагменты открытого текста.The Cipher Feedback (CFB) mode processes small increments of plain text into cipher text, instead of processing an entire block at a time. Этот режим использует регистр сдвига длиной в один блок, разделенный на секции.This mode uses a shift register that is one block in length and is divided into sections. Например, при размере блока восемь байт и побайтовой обработке регистр сдвига разделяется на восемь секций.For example, if the block size is 8 bytes, with one byte processed at a time, the shift register is divided into eight sections. При искажении бита в зашифрованном тексте искажается бит открытого текста и разрушается регистр сдвига.If a bit in the cipher text is mangled, one plain text bit is mangled and the shift register is corrupted. Это приводит к искажению нескольких следующих фрагментов открытого текста до тех пор, пока поврежденный бит не выйдет за пределы регистра сдвига.This results in the next several plain text increments being mangled until the bad bit is shifted out of the shift register. Размер порции данных обратной связи по умолчанию может зависеть от алгоритма, но обычно равняется 8 битам или числу битов в блоке.The default feedback size can vary by algorithm, but is typically either 8 bits or the number of bits of the block size. Количество битов данных обратной связи можно изменять с помощью свойства FeedbackSize.You can alter the number of feedback bits by using the FeedbackSize property. Алгоритмы, поддерживающие CFB, используют это свойство для настройки обратной связи.Algorithms that support CFB use this property to set the feedback.

CTS CTS CTS CTS 5

Режим захвата зашифрованного текста ( CTS ) обрабатывает открытый текст любой длины и создает зашифрованный текст, длина которого совпадает с длиной открытого текста.The Cipher Text Stealing (CTS) mode handles any length of plain text and produces cipher text whose length matches the plain text length. В этом режиме все блоки, кроме двух последних боков открытого текста, обрабатываются так же, как в режиме CBC.This mode behaves like the CBC mode for all but the last two blocks of the plain text.

ECB ECB ECB ECB 2

В режиме электронной кодовой книги (ECB) каждый блок зашифровывается отдельно.The Electronic Codebook (ECB) mode encrypts each block individually. Любые блоки открытого текста, которые идентичны и содержатся в одном и том же сообщении или в разных сообщениях, зашифрованных одним и тем же ключом, преобразуются в идентичные текстовые блоки шифра.Any blocks of plain text that are identical and in the same message, or that are in a different message encrypted with the same key, will be transformed into identical cipher text blocks. Важно. Этот режим не рекомендуется, потому что при его использовании возникает возможность успешного применения различных эксплойтов.Important: This mode is not recommended because it opens the door for multiple security exploits. Если шифруемый открытый текст содержит значительное число повторов, нарушение шифрованного текста возможно в одном блоке, но не в нескольких блоках одновременно.If the plain text to be encrypted contains substantial repetition, it is feasible for the cipher text to be broken one block at a time. Также возможно использовать анализ блоков, чтобы определить ключ шифрования.It is also possible to use block analysis to determine the encryption key. Кроме того, активный злоумышленник может незаметно подменять и переставлять местами отдельные блоки, что позволяет свободно сохранять и вставлять блоки в поток в других местах.Also, an active adversary can substitute and exchange individual blocks without detection, which allows blocks to be saved and inserted into the stream at other points without detection.

OFB OFB OFB OFB 3

В режиме выходной обратной связи ( OFB ) вместо преобразования всего блока в шифрованный текст преобразуются небольшие фрагменты открытого текста.The Output Feedback (OFB) mode processes small increments of plain text into cipher text instead of processing an entire block at a time. Этот режим похож на режим CFB. Единственное отличие заключается в способе заполнения регистра сдвига.This mode is similar to CFB; the only difference between the two modes is the way that the shift register is filled. При искажении бита в зашифрованном тексте будет искажен и соответствующий бит открытого текста.If a bit in the cipher text is mangled, the corresponding bit of plain text will be mangled. Однако если имеются дополнительные биты из зашифрованного текста или их не хватает, открытый текст будет искажен, начиная с этого места.However, if there are extra or missing bits from the cipher text, the plain text will be mangled from that point on.

Комментарии

Блочные алгоритмы шифрования шифруют данные в блочных блоках, а не в одном байте за раз.Block cipher algorithms encrypt data in block units, rather than a single byte at a time. Наиболее распространенный размер блока — 8 байт.The most common block size is 8 bytes. Так как каждый блок обрабатывается интенсивно, блочные шифры обеспечивают более высокий уровень безопасности, чем потоковые шифры.Because each block is heavily processed, block ciphers provide a higher level of security than stream ciphers. Однако алгоритмы блочного шифрования обычно выполняются медленнее, чем потоковые шифры.However, block cipher algorithms tend to execute more slowly than stream ciphers.

Блочные шифры используют один и тот же алгоритм шифрования для каждого блока.Block ciphers use the same encryption algorithm for each block. В связи с этим блок обычного текста всегда будет возвращать один и тот же зашифрованный текст при шифровании с помощью того же ключа и алгоритма.Because of this, a block of plain text will always return the same cipher text when encrypted with the same key and algorithm. Так как это поведение можно использовать для взлома шифра, вводятся режимы шифра, которые изменяют процесс шифрования на основе отзывов предыдущих блочных алгоритмов.Because this behavior can be used to crack a cipher, cipher modes are introduced that modify the encryption process based on feedback from earlier block encryptions. Полученное шифрование обеспечивает более высокий уровень безопасности, чем простое блочное шифрование.The resulting encryption provides a higher level of security than a simple block encryption.

Применяется к

Дополнительно