AesCryptoServiceProvider.IV 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
대칭 알고리즘에 대한 초기화 벡터(IV)를 가져오거나 설정합니다.
public:
virtual property cli::array <System::Byte> ^ IV { cli::array <System::Byte> ^ get(); void set(cli::array <System::Byte> ^ value); };
public override byte[] IV { get; set; }
member this.IV : byte[] with get, set
Public Overrides Property IV As Byte()
속성 값
초기화 벡터입니다.
예외
초기화 벡터를 null
로 설정하려고 한 경우
초기화 벡터를 잘못된 크기로 설정하려고 한 경우
설명
IV 클래스 중 하나의 새 인스턴스를 만들거나 메서드를 수동으로 호출 GenerateIV 할 때마다 속성이 자동으로 새 임의 SymmetricAlgorithm 값으로 설정됩니다. 속성의 IV 크기는 8로 나눈 속성과 BlockSize 동일해야 합니다.
클래스에서 SymmetricAlgorithm 파생되는 클래스는 CBC(암호 블록 체인)라는 체인 모드를 사용하며, 데이터에 대한 암호화 변환을 수행하려면 키와 초기화 벡터가 필요합니다. 클래스 중 SymmetricAlgorithm 하나를 사용하여 암호화된 데이터의 암호를 해독하려면 속성 및 속성을 암호화에 사용된 값과 IV 동일한 값으로 설정 Key 해야 합니다.
지정된 비밀 키 k의 경우 초기화 벡터를 사용하지 않는 간단한 블록 암호화는 일반 텍스트의 동일한 입력 블록을 동일한 암호화 텍스트의 출력 블록으로 암호화합니다. 일반 텍스트 스트림 내에 중복 블록이 있는 경우 암호화 텍스트 스트림 내에 중복 블록이 있습니다. 권한이 없는 사용자가 일반 텍스트 블록의 구조에 대해 알고 있는 경우 해당 정보를 사용하여 알려진 암호 텍스트 블록을 해독하고 키를 복구할 수 있습니다. 이 문제를 해결하기 위해 이전 블록의 정보가 다음 블록을 암호화하는 프로세스에 혼합됩니다. 따라서 두 개의 동일한 일반 텍스트 블록의 출력은 다릅니다. 이 기술은 이전 블록을 사용하여 다음 블록을 암호화하기 때문에 첫 번째 데이터 블록을 암호화하려면 초기화 벡터가 필요합니다.
적용 대상
.NET