Share via


BCRYPT_DSA_PARAMETER_HEADER_V2 구조체(bcrypt.h)

BCRYPT_DSA_PARAMETER_HEADER_V2 구조체는 DSA 키를 생성하기 위한 정보를 포함하는 DSA(디지털 서명 알고리즘) 매개 변수 BLOB의 헤더로 사용됩니다. 이 구조체는 BCryptSetProperty 함수의 BCRYPT_DSA_PARAMETERS 속성과 함께 사용됩니다.

구문

typedef struct _BCRYPT_DSA_PARAMETER_HEADER_V2 {
  ULONG               cbLength;
  ULONG               dwMagic;
  ULONG               cbKeyLength;
  HASHALGORITHM_ENUM  hashAlgorithm;
  DSAFIPSVERSION_ENUM standardVersion;
  ULONG               cbSeedLength;
  ULONG               cbGroupSize;
  UCHAR               Count[4];
} BCRYPT_DSA_PARAMETER_HEADER_V2;

멤버

cbLength

이 구조체의 총 크기(바이트)와 메모리에서 이 구조체 바로 뒤에 오는 버퍼입니다.

dwMagic

키의 매직 값입니다.

이 멤버는 다음 값이어야 합니다.

BCRYPT_DSA_PARAMETERS_MAGIC_V2(0x324d5044)

cbKeyLength

이 구조체가 적용되는 키의 크기(바이트)입니다.

hashAlgorithm

사용할 해시 알고리즘을 지정하는 HASHALGORITHM_ENUM 열거형 값입니다.

standardVersion

적용할 FIPS(Federal Information Processing Standard)를 지정하는 DSAFIPSVERSION_ENUM 열거형 값입니다.

cbSeedLength

소수 q 를 생성하는 데 사용되는 시드의 길이(바이트)입니다.

cbGroupSize

소수 q의 크기입니다. 현재 키가 길이가 1024비트를 초과하면 q 는 32바이트 길이입니다.

Count[4]

시드에서 소수 q를 생성하기 위해 수행된 반복 횟수입니다. 자세한 내용은 NIST 표준 FIPS186-3을 참조하세요.

설명

BCryptSetProperty 호출에서 이 구조를 사용하는 경우 BCryptGenerateKeyPair 호출에서 만든 DSA 키에 대한 매개 변수를 설정하려면(cbKeyLength*8) 이전에 설정된 dwLength와 같아야 합니다.

구조체는 길이가 1024비트이지만 3072비트보다 작거나 같은 DSA 키에 적용됩니다.

이 구조체는 더 큰 버퍼의 헤더로 사용됩니다. DSA 매개 변수 Blob의 연속 메모리 형식은 다음과 같습니다. Seed, q, Modulus 및 Generator는 big-endian 형식입니다.


BCRYPT_DSA_PARAMETER_HEADER_V2
Seed[cbSeedLength]      // Big-endian.
q[cbGroupSize]          // Big-endian.
Modulus[cbKeyLength]    // Big-endian.
Generator[cbKeyLength]  // Big-endian.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
머리글 bcrypt.h

추가 정보

BCryptGenerateKeyPair

BCryptSetProperty

암호화 기본 속성 식별자