다음을 통해 공유


CipherMode 열거형

암호화에 사용할 블록 암호화 모드를 지정합니다.

네임스페이스: System.Security.Cryptography
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration CipherMode
‘사용 방법
Dim instance As CipherMode
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum CipherMode
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public enum class CipherMode
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum CipherMode
SerializableAttribute 
ComVisibleAttribute(true) 
public enum CipherMode

멤버

  멤버 이름 설명
Supported by the .NET Compact Framework CBC CBC(Cipher Block Chaning) 모드를 통해 피드백이 형성됩니다. 일반 텍스트 블록이 암호화되기 전에 비트 배타적 OR 연산에 의해 이전 블록의 암호화 텍스트와 결합됩니다. 따라서 일반 텍스트에 여러 개의 동일한 블록이 들어 있어도 각각 다른 암호화 텍스트 블록으로 암호화됩니다. 블록이 암호화되기 전에 비트 배타적 OR 연산에 의해 초기화 벡터에 첫 번째 일반 텍스트 블록이 결합됩니다. 암호화 텍스트 블록의 한 비트라도 손상되면 대응하는 일반 텍스트 블록도 손상됩니다. 또한 손상된 원본 비트와 같은 위치에 있는 다음 블록의 비트도 손상됩니다. 
Supported by the .NET Compact Framework CFB CFB(Cipher Feedback) 모드는 한 번에 전체 블록을 처리하지 않고 일반 텍스트를 조금씩 암호화 텍스트로 처리합니다. 이 모드는 한 블록 길이를 가지며 섹션으로 구분되는 이동 레지스터를 사용합니다. 예를 들어, 블록 크기가 한 번에 1바이트씩 처리되는 8바이트이면 이동 레지스터는 여덟 개의 섹션으로 구분됩니다. 암호화 텍스트에서 하나의 비트가 손상되면, 하나의 일반 텍스트 비트가 손상되고 이동 레지스터도 손상됩니다. 이로 인해 잘못된 비트가 이동 레지스터 밖으로 이동될 때까지 이어지는 일반 텍스트 비트는 손상됩니다. 
Supported by the .NET Compact Framework CTS CTS(Cipher Text Stealing) 모드는 길이 제한 없이 일반 텍스트를 처리하고 일반 텍스트와 동일한 길이를 갖는 암호화 텍스트를 생성합니다. 이 모드는 일반 텍스트의 마지막 두 블록을 제외한 모든 블록에 대해 CBC 모드와 동일하게 작동됩니다. 
Supported by the .NET Compact Framework ECB ECB(Electronic Codebook) 모드는 각 블록을 개별적으로 암호화합니다. 이것은 동일하면서 같은 메시지에 포함되어 있는 일반 텍스트의 블록이나 같은 키로 암호화된 다른 메시지에 있는 일반 텍스트의 블록이 모두 동일한 암호화 텍스트 블록으로 변환됨을 의미합니다. 암호화할 일반 텍스트에 반복 부분이 포함되어 있으면 암호화 텍스트를 한 번에 하나의 블록으로 쉽게 구분할 수 있습니다. 또한 다른 사용자가 몰래 개별 블록을 대체하거나 교환할 수 있습니다. 암호화 텍스트 블록의 한 비트라도 손상되면 대응하는 일반 텍스트 블록 전체가 손상됩니다. 
Supported by the .NET Compact Framework OFB OFB(Output Feedback) 모드는 한 번에 전체 블록을 처리하지 않고 일반 텍스트를 조금씩 암호화 텍스트로 처리합니다. 이 모드는 CFB와 비슷하며 이동 레지스터를 채우는 방식에서만 차이가 있습니다. 암호화 텍스트의 한 비트가 손상되면 일반 텍스트의 해당 비트도 손상됩니다. 그러나 암호화 텍스트에 추가 비트나 누락된 비트가 있으면 그 지점부터 일반 텍스트가 손상됩니다. 

설명

블록 암호화 알고리즘은 한 번에 단일 바이트를 암호화하지 않고 데이터를 블록 단위로 암호화합니다. 가장 일반적인 블록 크기는 8바이트입니다. 각 블록이 엄격하게 처리되므로 블록 암호화는 스트림 암호화보다 더 높은 수준의 보안을 제공합니다. 그러나 블록 암호화 알고리즘은 스트림 암호화보다 느리게 실행됩니다.

블록 암호화는 각 블록에 동일한 암호화 알고리즘을 사용합니다. 이러한 이유로 같은 키 및 알고리즘을 사용하여 암호화할 때 일반 텍스트의 블록은 항상 동일한 암호화 텍스트를 반환합니다. 이러한 동작은 암호화를 해제할 수 있으므로 이전 블록 암호화에서 온 피드백에 기초하여 암호화 프로세스를 수정하는 암호화 모드가 사용됩니다. 이와 같이 수정된 암호화는 단순한 블록 암호화보다 더 높은 수준의 보안을 제공합니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0에서 지원

참고 항목

참조

System.Security.Cryptography 네임스페이스

기타 리소스

암호화 서비스