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_KEYEXCHANGE 및 AT_SIGNATURE 주요 사양에 사용되는 ALG_IDs 다음과 같습니다.
- CALG_RSA_KEYXAT_KEYEXCHANGE 사용됩니다.
- CALG_RSA_SIGNAT_SIGNATURE 사용됩니다.
Microsoft 기본 DSS 및 Diffie-Hellman 암호화 공급자의 경우 AT_KEYEXCHANGE 및 AT_SIGNATURE 주요 사양에 사용되는 ALG_IDs 다음과 같습니다.
- CALG_DH_SFAT_KEYEXCHANGE 사용됩니다.
- CALG_DSS_SIGNAT_SIGNATURE 사용됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 |
Windows Server 2003 [데스크톱 앱만 해당] |
헤더 |
|
추가 정보