다음을 통해 공유


ALG_ID

ALG_ID 데이터 형식은 알고리즘 식별자를 지정합니다. 이 데이터 형식의 매개 변수는 CryptoAPI의 대부분의 함수에 전달됩니다.

typedef unsigned int ALG_ID;

다음 표에서는 현재 정의된 알고리즘 식별자를 나열합니다. 사용자 지정 CSP( 암호화 서비스 공급자 )의 작성자는 새 값을 정의할 수 있습니다. 또한 AT_KEYEXCHANGE 및 AT_SIGNATURE 주요 사양에 대해 사용자 지정 CSP에서 사용하는 ALG_ID 공급자에 따라 다릅니다. 현재 매핑은 테이블을 따릅니다.

ID 설명
CALG_3DES 0x00006603 삼중 DES 암호화 알고리즘.
CALG_3DES_112 0x00006609 유효 키 길이가 112비트인 2키 삼중 DES 암호화
CALG_AES 0x00006611 AES(Advanced Encryption Standard). 이 알고리즘은 Microsoft AES 암호화 공급자에서 지원됩니다.
CALG_AES_128 0x0000660e 128비트 AES. 이 알고리즘은 Microsoft AES 암호화 공급자에서 지원됩니다.
CALG_AES_192 0x0000660f 192비트 AES. 이 알고리즘은 Microsoft AES 암호화 공급자에서 지원됩니다.
CALG_AES_256 0x00006610 256비트 AES. 이 알고리즘은 Microsoft AES 암호화 공급자에서 지원됩니다.
CALG_AGREEDKEY_ANY 0x0000aa03 Diffie-Hellman에서 동의한 키의 핸들에 대한 임시 알고리즘 식별자입니다.
CALG_CYLINK_MEK 0x0000660c 패리티 비트와 0 키 비트가 있는 40비트 DES 키를 만들어 키 길이를 64비트로 만드는 알고리즘입니다. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_DES 0x00006601 DES 암호화 알고리즘.
CALG_DESX 0x00006604 DESX 암호화 알고리즘.
CALG_DH_EPHEM 0x0000aa02 임시 키 교환 알고리즘을 Diffie-Hellman.
CALG_DH_SF 0x0000aa01 Diffie-Hellman 키 교환 알고리즘을 저장하고 전달합니다.
CALG_DSS_SIGN 0x00002200 DSA 공개 키 서명 알고리즘입니다.
CALG_ECDH 0x0000aa05 타원 곡선 Diffie-Hellman 키 교환 알고리즘입니다. 참고: 이 알고리즘은 암호화 API: Next Generation을 통해서만 지원됩니다.
Windows Server 2003 및 Windows XP: 이 알고리즘은 지원되지 않습니다.
CALG_ECDH_EPHEM 0x0000ae06 키 교환 알고리즘을 Diffie-Hellman 임시 타원 곡선입니다. 참고: 이 알고리즘은 암호화 API: Next Generation을 통해서만 지원됩니다.
Windows Server 2003 및 Windows XP: 이 알고리즘은 지원되지 않습니다.
CALG_ECDSA 0x00002203 타원 곡선 디지털 서명 알고리즘입니다. 참고: 이 알고리즘은 암호화 API: Next Generation을 통해서만 지원됩니다.
Windows Server 2003 및 Windows XP: 이 알고리즘은 지원되지 않습니다.
CALG_ECMQV 0x0000a001 MQV(타원 곡선 Menezes, Qu 및 Vanstone) 키 교환 알고리즘입니다. 이 알고리즘은 지원되지 않습니다.
CALG_HASH_REPLACE_OWF 0x0000800b 단방향 함수 해시 알고리즘입니다.
CALG_HUGHES_MD5 0x0000a003 Hughes MD5 해시 알고리즘.
CALG_HMAC 0x00008009 HMAC 키 해시 알고리즘. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_KEA_KEYX 0x0000aa04 KEA FORTEZZA(키 교환 알고리즘). 이 알고리즘은 지원되지 않습니다.
CALG_MAC 0x00008005 MAC 키 해시 알고리즘. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_MD2 0x00008001 MD2 해시 알고리즘입니다. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_MD4 0x00008002 MD4 해시 알고리즘입니다.
CALG_MD5 0x00008003 MD5 해시 알고리즘입니다. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_NO_SIGN 0x00002000 서명 알고리즘이 없습니다.
CALG_OID_INFO_CNG_ONLY 0xffffffff 알고리즘은 CNG에서만 구현됩니다. IS_SPECIAL_OID_INFO_ALGID 매크로를 사용하여 암호화 알고리즘이 CNG 함수를 통해서만 지원되는지 여부를 확인할 수 있습니다.
CALG_OID_INFO_PARAMETERS 0xfffffffe 알고리즘은 인코딩된 매개 변수에 정의됩니다. 알고리즘은 CNG를 사용하는 경우에만 지원됩니다. IS_SPECIAL_OID_INFO_ALGID 매크로를 사용하여 암호화 알고리즘이 CNG 함수를 통해서만 지원되는지 여부를 확인할 수 있습니다.
CALG_PCT1_MASTER 0x00004c04 Schannel.dll 운영 시스템에서 사용됩니다. 이 ALG_ID 애플리케이션에서 사용하면 안 됩니다.
CALG_RC2 0x00006602 RC2 블록 암호화 알고리즘. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_RC4 0x00006801 RC4 스트림 암호화 알고리즘. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_RC5 0x0000660d RC5 블록 암호화 알고리즘.
CALG_RSA_KEYX 0x0000a400 RSA 공개 키 교환 알고리즘. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_RSA_SIGN 0x00002400 RSA 공개 키 서명 알고리즘. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_SCHANNEL_ENC_KEY 0x00004c07 Schannel.dll 운영 시스템에서 사용됩니다. 이 ALG_ID 애플리케이션에서 사용하면 안 됩니다.
CALG_SCHANNEL_MAC_KEY 0x00004c03 Schannel.dll 운영 시스템에서 사용됩니다. 이 ALG_ID 애플리케이션에서 사용하면 안 됩니다.
CALG_SCHANNEL_MASTER_HASH 0x00004c02 Schannel.dll 운영 시스템에서 사용됩니다. 이 ALG_ID 애플리케이션에서 사용하면 안 됩니다.
CALG_SEAL 0x00006802 SEAL 암호화 알고리즘. 이 알고리즘은 지원되지 않습니다.
CALG_SHA 0x00008004 SHA 해시 알고리즘입니다. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_SHA1 0x00008004 CALG_SHA 동일합니다. 이 알고리즘은 Microsoft 기본 암호화 공급자에서 지원됩니다.
CALG_SHA_256 0x0000800c 256비트 SHA 해시 알고리즘. 이 알고리즘은 Microsoft 고급 RSA 및 AES 암호화 공급자에서 지원됩니다. WINDOWS XP SP3: 이 알고리즘은 Microsoft 고급 RSA 및 AES 암호화 공급자(프로토타입)에서 지원됩니다.
WINDOWS XP SP2, Windows XP SP1 및 Windows XP: 이 알고리즘은 지원되지 않습니다.
CALG_SHA_384 0x0000800d 384비트 SHA 해시 알고리즘. 이 알고리즘은 Microsoft 고급 RSA 및 AES 암호화 공급자에서 지원됩니다. WINDOWS XP SP3: 이 알고리즘은 Microsoft 고급 RSA 및 AES 암호화 공급자(프로토타입)에서 지원됩니다.
WINDOWS XP SP2, Windows XP SP1 및 Windows XP: 이 알고리즘은 지원되지 않습니다.
CALG_SHA_512 0x0000800e 512비트 SHA 해시 알고리즘. 이 알고리즘은 Microsoft 고급 RSA 및 AES 암호화 공급자에서 지원됩니다. WINDOWS XP SP3: 이 알고리즘은 Microsoft 고급 RSA 및 AES 암호화 공급자(프로토타입)에서 지원됩니다.
WINDOWS XP SP2, Windows XP SP1 및 Windows XP: 이 알고리즘은 지원되지 않습니다.
CALG_SKIPJACK 0x0000660a Skipjack 블록 암호화 알고리즘(FORTEZZA). 이 알고리즘은 지원되지 않습니다.
CALG_SSL2_MASTER 0x00004c05 Schannel.dll 운영 시스템에서 사용됩니다. 이 ALG_ID 애플리케이션에서 사용하면 안 됩니다.
CALG_SSL3_MASTER 0x00004c01 Schannel.dll 운영 시스템에서 사용됩니다. 이 ALG_ID 애플리케이션에서 사용하면 안 됩니다.
CALG_SSL3_SHAMD5 0x00008008 Schannel.dll 운영 시스템에서 사용됩니다. 이 ALG_ID 애플리케이션에서 사용하면 안 됩니다.
CALG_TEK 0x0000660b TEK(FORTEZZA). 이 알고리즘은 지원되지 않습니다.
CALG_TLS1_MASTER 0x00004c06 Schannel.dll 운영 시스템에서 사용됩니다. 이 ALG_ID 애플리케이션에서 사용하면 안 됩니다.
CALG_TLS1PRF 0x0000800a Schannel.dll 운영 시스템에서 사용됩니다. 이 ALG_ID 애플리케이션에서 사용하면 안 됩니다.

 

Microsoft 기본 암호화 공급자, Microsoft 강력한 암호화 공급자Microsoft 고급 암호화 공급자의 경우 AT_KEYEXCHANGEAT_SIGNATURE 주요 사양에 사용되는 ALG_IDs 다음과 같습니다.

  • CALG_RSA_KEYXAT_KEYEXCHANGE 사용됩니다.
  • CALG_RSA_SIGNAT_SIGNATURE 사용됩니다.

Microsoft 기본 DSS 및 Diffie-Hellman 암호화 공급자의 경우 AT_KEYEXCHANGEAT_SIGNATURE 주요 사양에 사용되는 ALG_IDs 다음과 같습니다.

  • CALG_DH_SFAT_KEYEXCHANGE 사용됩니다.
  • CALG_DSS_SIGNAT_SIGNATURE 사용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
헤더
Wincrypt.h

추가 정보

암호화 함수

CRYPT_ALGORITHM_IDENTIFIER

CryptFindOIDInfo