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(Cipher Block Chaining) 모드를 통해 피드백이 형성됩니다.The Cipher Block Chaining (CBC) mode introduces feedback. 일반 텍스트 블록이 암호화되기 전에 비트 배타적 OR 연산에 의해 이전 블록의 암호화 텍스트와 결합됩니다.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. 블록이 암호화되기 전에 비트 배타적 OR 연산에 의해 초기화 벡터에 첫 번째 일반 텍스트 블록이 결합됩니다.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(Cipher Feedback) 모드는 한 번에 전체 블록을 처리하지 않고 일반 텍스트를 조금씩 암호화 텍스트로 처리합니다.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. 예를 들어 블록 크기가 한 번에 1바이트씩 처리되는 8바이트이면 이동 레지스터는 여덟 개의 섹션으로 구분됩니다.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(Cipher Text Stealing) 모드는 길이 제한 없이 일반 텍스트를 처리하고 일반 텍스트와 동일한 길이를 갖는 암호화 텍스트를 생성합니다.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(Electronic Codebook) 모드는 각 블록을 개별적으로 암호화합니다.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(Output Feedback) 모드는 한 번에 전체 블록을 처리하지 않고 일반 텍스트를 조금씩 암호화 텍스트로 처리합니다.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.

적용 대상

추가 정보