Win32 API 日本語リファレンス
ホームSecurity.Cryptography › CRYPT_ALGORITHM_IDENTIFIER

CRYPT_ALGORITHM_IDENTIFIER

構造体
サイズx64: 24 バイト / x86: 12 バイト

サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。

フィールド

フィールドサイズx64x86説明
pszObjIdLPSTR8/4+0+0

アルゴリズムの OID です。このメンバーには、次のいずれかの値を指定できます。この一覧は代表的なものにすぎません。新しいアルゴリズムはさまざまなユーザーによって定義され続けています。

意味
szOID_RSA
"1.2.840.113549"
RSA 非対称暗号化アルゴリズム ファミリのルート オブジェクト識別子です。RSA は、このアルゴリズムを考案した数学者 Ron Rivest、Adi Shamir、Leonard Adleman の頭文字です。暗号化または署名に使用できる、広く普及した非対称アルゴリズムです。
szOID_PKCS
"1.2.840.113549.1"
公開鍵暗号方式 (非対称暗号方式) を定義する標準群である PKCS (Public Key Cryptography Standards) のルート オブジェクト識別子です。
szOID_RSA_HASH
"1.2.840.113549.2"
署名の前にハッシュ アルゴリズムでコンテンツをハッシュする RSA 署名 (暗号化) アルゴリズムです。
szOID_RSA_ENCRYPT
"1.2.840.113549.3"
RSA 暗号化アルゴリズムです。
szOID_PKCS_1
"1.2.840.113549.1.1"
PKCS#1 は、RSA Laboratories が公開した最初の Public Key Cryptography Standard (PKCS) です。PKCS#1 標準は、RSA アルゴリズムで使用される暗号化と復号の特性を定義します。
szOID_PKCS_2
"1.2.840.113549.1.2"
PKCS#2 は、メッセージ ダイジェストの RSA 暗号化を扱っていた Public Key Cryptography Standard (PKCS) です。現在は PKCS#1 に統合されています。
szOID_PKCS_3
"1.2.840.113549.1.3"
PKCS#3 は、Diffie-Hellman 鍵合意プロトコルを定義する Public Key Cryptography Standard (PKCS) です。
szOID_PKCS_4
"1.2.840.113549.1.4"
PKCS#4 は、RSA 鍵の構文を定義していた Public Key Cryptography Standard (PKCS) です。現在は PKCS#1 に統合されています。
szOID_PKCS_5
"1.2.840.113549.1.5"
PKCS#5 は、パスワードベースの暗号方式の実装に関する推奨事項を示す Public Key Cryptography Standard (PKCS) です。鍵導出関数、暗号化方式、メッセージ認証方式、および ASN.1 構文構造を扱います。
szOID_PKCS_6
"1.2.840.113549.1.6"
PKCS#6 は、拡張証明書情報の構文を規定する Public Key Cryptography Standard (PKCS) です。拡張証明書情報とは、X.509 証明書で公開鍵が証明されるエンティティに関する追加情報を提供する属性の集合です。
szOID_PKCS_7
"1.2.840.113549.1.7"
PKCS#7 は、暗号方式を適用できるコンテンツの一般的な種類を規定する Public Key Cryptography Standard (PKCS) です。これには、データ、署名付きデータ、エンベロープ データ、署名付きエンベロープ データ、ダイジェスト データ、および暗号化データが含まれます。
szOID_PKCS_8
"1.2.840.113549.1.8"
PKCS#8 は、ASN.1 の PrivateKeyInfo 型における秘密鍵情報の構文を定義する Public Key Cryptography Standard (PKCS) です。
szOID_PKCS_9
"1.2.840.113549.1.9"
PKCS#8 は、PKCS#6 拡張証明書、PKCS#7 デジタル署名付きメッセージ、PKCS#8 秘密鍵情報、および PKCS#10 証明書署名要求で使用する属性の型を定義する Public Key Cryptography Standard (PKCS) です。
szOID_PKCS_10
"1.2.840.113549.1.10"
PKCS#10 は、証明書要求の構文を規定する Public Key Cryptography Standard (PKCS) です。
szOID_PKCS_12
"1.2.840.113549.1.12"
PKCS#12 は、秘密鍵や証明書などの個人 ID 情報を転送するために使用される個人情報交換 (PFX) 形式を規定する Public Key Cryptography Standard (PKCS) です。
szOID_RSA_MD2
"1.2.840.113549.2.2"
署名の前にメッセージの内容をハッシュする MD2 メッセージ ダイジェスト アルゴリズムと組み合わせた RSA アルゴリズムです。
szOID_RSA_MD4
"1.2.840.113549.2.4"
署名の前にメッセージの内容をハッシュする MD4 メッセージ ダイジェスト アルゴリズムと組み合わせた RSA アルゴリズムです。
szOID_RSA_MD5
"1.2.840.113549.2.5"
署名の前にメッセージの内容をハッシュする MD5 メッセージ ダイジェスト アルゴリズムと組み合わせた RSA アルゴリズムです。
szOID_RSA_RSA
"1.2.840.113549.1.1.1"
コンテンツの暗号化と署名の両方に RSA を使用します。
szOID_RSA_MD2RSA
"1.2.840.113549.1.1.2"
コンテンツの暗号化と、MD2 メッセージ ダイジェスト アルゴリズムで作成されたコンテンツのハッシュへの署名に RSA を使用します。
szOID_RSA_MD4RSA
"1.2.840.113549.1.1.3"
コンテンツの暗号化と、MD4 メッセージ ダイジェスト アルゴリズムで作成されたコンテンツのハッシュへの署名に RSA を使用します。
szOID_RSA_MD5RSA
"1.2.840.113549.1.1.4"
コンテンツの暗号化と、MD5 メッセージ ダイジェスト アルゴリズムで作成されたコンテンツのハッシュへの署名に RSA を使用します。
szOID_RSA_SHA1RSA
"1.2.840.113549.1.1.5"
コンテンツの暗号化と、Secure Hashing Algorithm (SHA) アルゴリズムで作成されたコンテンツのハッシュへの署名に RSA を使用します。
szOID_RSA_SETOAEP_RSA
"1.2.840.113549.1.1.6"
Optimal Asymmetric Encryption Padding (OAEP) エンコードを使用する RSA です。
szOID_RSAES_OAEP
"1.2.840.113549.1.1.7"
Optimal Asymmetric Encryption Padding (OAEP) と RSAEP 暗号化プリミティブを組み合わせた公開鍵暗号化方式です。RSAES-OAEP は平文を入力として受け取り、OAEP を使用してエンコード済みメッセージに変換し、その結果に対して RSA 公開鍵を用いて RSAEP を適用します。
szOID_RSA_MGF1
"1.2.840.113549.1.1.8"
マスク生成関数 (MGF1) を使用する RSA アルゴリズムです
szOID_RSA_PSPECIFIED
"1.2.840.113549.1.1.9"
RSA アルゴリズムです。
szOID_RSA_SSA_PSS
"1.2.840.113549.1.1.10"
確率的署名方式 (PSS) を使用する RSA アルゴリズムです。
szOID_RSA_SHA256RSA
1.2.840.113549.1.1.11
コンテンツの暗号化と、Secure Hashing Algorithm 256 (SHA256) アルゴリズムで作成されたハッシュへの署名に RSA を使用します。
szOID_RSA_SHA384RSA
1.2.840.113549.1.1.12
コンテンツの暗号化と、Secure Hashing Algorithm 384 (SHA384) アルゴリズムで作成されたハッシュへの署名に RSA を使用します。
szOID_RSA_SHA512RSA
1.2.840.113549.1.1.13
コンテンツの暗号化と、Secure Hashing Algorithm 512 (SHA512) アルゴリズムで作成されたハッシュへの署名に RSA を使用します。
szOID_RSA_DH
"1.2.840.113549.1.3.1"
Diffie-Hellman 鍵交換アルゴリズムと組み合わせた RSA アルゴリズムです。
szOID_RSA_data
"1.2.840.113549.1.7.1"
PKCS#7 の ASN.1 Data 型に適用される RSA です。
szOID_RSA_signedData
"1.2.840.113549.1.7.2"
PKCS#7 の ASN.1 SignedData 型に適用される RSA です。
szOID_RSA_envelopedData
"1.2.840.113549.1.7.3"
PKCS#7 の ASN.1 EnvelopedData 型に適用される RSA です。
szOID_RSA_signEnvData
"1.2.840.113549.1.7.4"
PKCS#7 の ASN.1 SignedAndEnvelopedData 型に適用される RSA です。
szOID_RSA_digestedData
"1.2.840.113549.1.7.5"
PKCS#7 の ASN.1 DigestedData 型に適用される RSA です。
szOID_RSA_hashedData
"1.2.840.113549.1.7.5"
ハッシュ済みデータに適用される RSA アルゴリズムです。
szOID_RSA_encryptedData
"1.2.840.113549.1.7.6"
PKCS#7 の ASN.1 EncryptedData 型に適用される RSA です。
szOID_RSA_emailAddr
"1.2.840.113549.1.9.1"
ASN.1 の電子メール アドレスに適用される RSA です。
szOID_RSA_unstructName
"1.2.840.113549.1.9.2"
ASN.1 の非構造化名に適用される RSA です。
szOID_RSA_contentType
"1.2.840.113549.1.9.3"
ASN.1 のコンテンツ タイプ値に適用される RSA です。
szOID_RSA_messageDigest
"1.2.840.113549.1.9.4"
メッセージ ダイジェストに適用される RSA です。
szOID_RSA_signingTime
"1.2.840.113549.1.9.5"
署名の日時の値に適用される RSA です
szOID_RSA_counterSign
"1.2.840.113549.1.9.6"
副署名 (カウンター署名) に適用される RSA です。
szOID_RSA_challengePwd
"1.2.840.113549.1.9.7"
チャレンジ パスワードに適用される RSA です。
szOID_RSA_unstructAddr
"1.2.840.113549.1.9.8"
非構造化アドレスに適用される RSA です。
szOID_RSA_extCertAttrs
"1.2.840.113549.1.9.9"
証明書の属性に適用される RSA です。
szOID_RSA_certExtensions
"1.2.840.113549.1.9.14"
証明書の拡張に適用される RSA です。
szOID_RSA_SMIMECapabilities
"1.2.840.113549.1.9.15"
Multipurpose Internet Mail Extensions (MIME) に適用される RSA です
szOID_RSA_preferSignedData
"1.2.840.113549.1.9.15.1"
SMIME の preferSignedData 機能設定に適用される RSA です。
szOID_TIMESTAMP_TOKEN
"1.2.840.113549.1.9.16.1.4"
タイムスタンプのオブジェクト識別子です。
szOID_RFC3161_counterSign
"1.3.6.1.4.1.311.3.3.1"
署名に対する副署名です。
szOID_RSA_SMIMEalg
"1.2.840.113549.1.9.16.3"
Multipurpose Internet Mail Extensions (MIME) アルゴリズムに適用される RSA です。SMIME は、電子メール受信者の復号機能を送信者に通知し、送信者が双方でサポートされる最も安全なアルゴリズムを選択できるようにします。
szOID_RSA_SMIMEalgESDH
"1.2.840.113549.1.9.16.3.5"
指定された SMIME ESDH アルゴリズムに適用される RSA です。
szOID_RSA_SMIMEalgCMS3DESwrap
"1.2.840.113549.1.9.16.3.6"
SMIME アルゴリズムに適用される RSA です。鍵のラップにはトリプル DES が使用されます。
szOID_RSA_SMIMEalgCMSRC2wrap
"1.2.840.113549.1.9.16.3.7"
SMIME アルゴリズムに適用される RSA です。鍵のラップには RC2 が使用されます。
szOID_RSA_RC2CBC
"1.2.840.113549.3.2"
暗号ブロック連鎖 (CBC) 動作モードと組み合わせた Rivest Cipher (RC2) ブロック暗号アルゴリズムを使用する RSA です。
szOID_RSA_RC4
"1.2.840.113549.3.4"
暗号ブロック連鎖 (CBC) 動作モードと組み合わせた Rivest Cipher (RC4) ブロック暗号アルゴリズムを使用する RSA です。
szOID_RSA_DES_EDE3_CBC
"1.2.840.113549.3.7"
暗号ブロック連鎖 (CBC) 動作モードと組み合わせたトリプル Data Encryption Standard (DES) アルゴリズムを使用する RSA です。暗号化操作は encrypt-decrypt-encrypt の順で実行されます。
szOID_RSA_RC5_CBCPad
"1.2.840.113549.3.9"
暗号ブロック連鎖パッド動作モードと組み合わせた Rivest Cipher (RC5) ブロック暗号アルゴリズムを使用する RSA です
szOID_ANSI_x942
"1.2.840.10046"
ANSI X942 標準のルート オブジェクト識別子です。
szOID_ANSI_x942_DH
"1.2.840.10046.2.1"
Diffie-Hellman 鍵交換アルゴリズムです。
szOID_X957
"1.2.840.10040"
X957 標準のルート オブジェクト識別子です。
szOID_X957_DSA
"1.2.840.10040.4.1"
Digital Signature Algorithm (DSA) です。
szOID_X957_SHA1DSA
"1.2.840.10040.4.3"
Secure Hashing Algorithm (SHA) アルゴリズムと組み合わせた Digital Signature Algorithm (DSA) です。
szOID_ECC_PUBLIC_KEY
"1.2.840.10045.2.1"
楕円曲線公開鍵暗号方式です。
szOID_ECC_CURVE_P256
"1.2.840.10045.3.1.7"
256 ビットの楕円曲線です。
szOID_ECC_CURVE_P384
"1.3.132.0.34"
384 ビットの楕円曲線です。
szOID_ECC_CURVE_P521
"1.3.132.0.35"
512 ビットの楕円曲線です。
szOID_ECDSA_SHA1
"1.2.840.10045.4.1"
Secure Hashing Algorithm (SHA) アルゴリズムと組み合わせた楕円曲線 Digital Signature Algorithm (DSA) です。
szOID_ECDSA_SPECIFIED
"1.2.840.10045.4.3"
楕円曲線 Digital Signature Algorithm (DSA) です。
szOID_ECDSA_SHA256
"1.2.840.10045.4.3.2"
Secure Hashing Algorithm (SHA256) アルゴリズムと組み合わせた楕円曲線 Digital Signature Algorithm (DSA) です。
szOID_ECDSA_SHA384
"1.2.840.10045.4.3.3"
Secure Hashing Algorithm (SHA384) アルゴリズムと組み合わせた楕円曲線 Digital Signature Algorithm (DSA) です。
szOID_ECDSA_SHA512
"1.2.840.10045.4.3.4"
Secure Hashing Algorithm (SHA512) アルゴリズムと組み合わせた楕円曲線 Digital Signature Algorithm (DSA) です。
szOID_NO_HASH
"1.3.6.1.4.1.311.73.1"
ハッシュ アルゴリズムを使用しないことを示す OID です。
szOID_PREHASH
"1.3.6.1.4.1.311.73.2"
署名対象のバイト列が事前にハッシュ済みであることを示す OID です。
szOID_NIST_AES128_CBC
"2.16.840.1.101.3.4.1.2"
暗号ブロック連鎖 (CBC) 動作モードを使用する 128 ビットの Advanced Encryption Standard (AES) アルゴリズムです。
szOID_NIST_AES192_CBC
"2.16.840.1.101.3.4.1.22"
暗号ブロック連鎖 (CBC) 動作モードを使用する 192 ビットの Advanced Encryption Standard (AES) アルゴリズムです。
szOID_NIST_AES256_CBC
"2.16.840.1.101.3.4.1.42"
暗号ブロック連鎖 (CBC) 動作モードを使用する 256 ビットの Advanced Encryption Standard (AES) アルゴリズムです。
szOID_NIST_AES128_WRAP
"2.16.840.1.101.3.4.1.5"
鍵のラップに使用される 128 ビットの Advanced Encryption Standard (AES) アルゴリズムです。
szOID_NIST_AES192_WRAP
"2.16.840.1.101.3.4.1.25"
鍵のラップに使用される 192 ビットの Advanced Encryption Standard (AES) アルゴリズムです。
szOID_NIST_AES256_WRAP
"2.16.840.1.101.3.4.1.45"
鍵のラップに使用される 256 ビットの Advanced Encryption Standard (AES) アルゴリズムです。
szOID_DATA STRUCTURE
"1.2.840.10040.4.3"
未指定のデータ構造です。
szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF
"1.3.133.16.840.63.0.2"
シングル パスの SHA1 鍵導出です。
szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF
"1.3.132.1.11.1"
シングル パスの SHA256 鍵導出です。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP:  この OID はサポートされていません。

szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF
"1.3.132.1.11.2"
シングル パスの SHA384 鍵導出です。

Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP:  この OID はサポートされていません。

szOID_DS
"2.5"
エンベロープ署名です。
szOID_DSALG
"2.5.8"
エンベロープ デジタル署名アルゴリズムです。
szOID_DSALG_CRPT
"2.5.8.1"
暗号化されたコンテンツに適用されるデジタル署名アルゴリズムです。
szOID_DSALG_HASH
"2.5.8.2"
ハッシュされたコンテンツに適用されるデジタル署名アルゴリズムです。
szOID_DSALG_SIGN
"2.5.8.3"
署名に適用されるデジタル署名アルゴリズムです。
szOID_DSALG_RSA
"2.5.8.1.1"
RSA で暗号化または署名されたコンテンツに適用されるエンベロープ デジタル署名アルゴリズムです。
szOID_OIW
"1.3.14"
NIST OSE Implementors' Workshop (OIW) のルート オブジェクト識別子です。
szOID_OIWSEC
"1.3.14.3.2"
NIST OSE Implementors' Workshop (OIW) Security 標準のルート オブジェクト識別子です。
szOID_OIWSEC_md4RSA
"1.3.14.3.2.2"
Message Digest (MD4) アルゴリズムで作成されたハッシュに適用される NIST OSE Implementors' Workshop (OIW) Security の RSA アルゴリズムです。
szOID_OIWSEC_md5RSA
"1.3.14.3.2.3"
Message Digest (MD5) アルゴリズムで作成されたハッシュに適用される NIST OSE Implementors' Workshop (OIW) Security の RSA アルゴリズムです。
szOID_OIWSEC_md4RSA2
"1.3.14.3.2.4"
Message Digest (MD5) アルゴリズムで作成されたハッシュに適用される NIST OSE Implementors' Workshop (OIW) Security の RSA2 アルゴリズムです。
szOID_OIWSEC_desECB
"1.3.14.3.2.6"
電子コードブック (ECB) 動作モードと組み合わせた NIST OSE Implementors' Workshop (OIW) Security の Data Encryption Standard (DES) アルゴリズムです。
szOID_OIWSEC_desCBC
"1.3.14.3.2.7"
暗号ブロック連鎖 (CBC) 動作モードと組み合わせた NIST OSE Implementors' Workshop (OIW) Security の Data Encryption Standard (DES) アルゴリズムです。
szOID_OIWSEC_desOFB
"1.3.14.3.2.8"
暗号ブロック連鎖 (CBC) 動作モードと組み合わせた Data Encryption Standard (DES) アルゴリズムです。
szOID_OIWSEC_desCFB
"1.3.14.3.2.9"
出力フィードバック (OFB) 動作モードと組み合わせた NIST OSE Implementors' Workshop (OIW) Security の Data Encryption Standard (DES) アルゴリズムです。
szOID_OIWSEC_desMAC
"1.3.14.3.2.10"
プリイメージと鍵の両方をハッシュするメッセージ認証コード (MAC) と組み合わせた NIST OSE Implementors' Workshop (OIW) Security の Data Encryption Standard (DES) アルゴリズムです。
szOID_OIWSEC_rsaSign
"1.3.14.3.2.11"
NIST OSE Implementors' Workshop (OIW) Security の RSA 署名アルゴリズムです。
szOID_OIWSEC_dsa
"1.3.14.3.2.12"
NIST OSE Implementors' Workshop (OIW) Security の Digital Signature Algorithm (DSA) です。
szOID_OIWSEC_shaDSA
"1.3.14.3.2.13"
メッセージの内容のハッシュに Secure Hashing Algorithm (SHA) を使用する NIST OSE Implementors' Workshop (OIW) Security の Digital Signature Algorithm (DSA) です。
szOID_OIWSEC_mdc2RSA
"1.3.14.3.2.14"
Modification Detection Code 2 (MDC2) または Meyer-Schilling ハッシュ関数を使用する NIST OSE Implementors' Workshop (OIW) Security の RSA アルゴリズムです。
szOID_OIWSEC_shaRSA
"1.3.14.3.2.15"
Secure Hashing Algorithm (SHA) と組み合わせた NIST OSE Implementors' Workshop (OIW) Security の RSA アルゴリズムです。
szOID_OIWSEC_dhCommMod
"1.3.14.3.2.16"
NIST OSE Implementors' Workshop (OIW) Security の Diffie-Hellman 鍵交換アルゴリズムです。
szOID_OIWSEC_desEDE
"1.3.14.3.2.17"
encrypt-decrypt-encrypt (EDE) 多重暗号化動作モードと組み合わせた NIST OSE Implementors' Workshop (OIW) Security の Data Encryption Standard (DES) アルゴリズムです。
szOID_OIWSEC_sha
"1.3.14.3.2.18"
NIST OSE Implementors' Workshop (OIW) Security の Secure Hashing Algorithm (SHA) です。
szOID_OIWSEC_mdc2
"1.3.14.3.2.19"
NIST OSE Implementors' Workshop (OIW) Security の Modification Detection Code 2 (MDC2) または Meyer-Schilling ハッシュ関数です。
szOID_OIWSEC_dsaComm
"1.3.14.3.2.20"
NIST OSE Implementors' Workshop (OIW) Security の Digital Signature Algorithm (DSA) です。
szOID_OIWSEC_dsaCommSHA
"1.3.14.3.2.21"
Secure Hashing Algorithm (SHA) と組み合わせた NIST OSE Implementors' Workshop (OIW) Security の Digital Signature Algorithm (DSA) です。
szOID_OIWSEC_rsaXchg
"1.3.14.3.2.22"
NIST OSE Implementors' Workshop (OIW) Security の RSA アルゴリズムです。
szOID_OIWSEC_keyHashSeal
"1.3.14.3.2.23"
NIST OSE Implementors' Workshop (OIW) Security のハッシュ アルゴリズムです。
szOID_OIWSEC_md2RSASign
"1.3.14.3.2.24"
Message Digest (MD2) ハッシュ アルゴリズムと組み合わせた NIST OSE Implementors' Workshop (OIW) Security の RSA アルゴリズムです。
szOID_OIWSEC_md5RSASign
"1.3.14.3.2.25"
Message Digest (MD5) ハッシュ アルゴリズムと組み合わせた NIST OSE Implementors' Workshop (OIW) Security の RSA アルゴリズムです。
szOID_OIWSEC_sha1
"1.3.14.3.2.26"
NIST OSE Implementors' Workshop (OIW) Security の Secure Hashing (SHA1) アルゴリズムです。
szOID_OIWSEC_dsaSHA1
"1.3.14.3.2.27"
Secure Hashing Algorithm 1 (SHA1) を使用する NIST OSE Implementors' Workshop (OIW) Security の Digital Signature Algorithm (DSA) です。
szOID_OIWSEC_dsaCommSHA1
"1.3.14.3.2.28"
Secure Hashing Algorithm 1 (SHA1) を使用する NIST OSE Implementors' Workshop (OIW) Security の Digital Signature Algorithm (DSA) です。
szOID_OIWSEC_sha1RSASign
"1.3.14.3.2.29"
Secure Hashing Algorithm 1 (SHA1) を使用する NIST OSE Implementors' Workshop (OIW) Security の RSA アルゴリズムです。
szOID_OIWDIR
"1.3.14.7.2"
NIST OSE Implementors' Workshop (OIW) Directory のルート オブジェクト識別子です。
szOID_OIWDIR_CRPT
"1.3.14.7.2.1"
NIST OSE Implementors' Workshop (OIW) Directory の汎用暗号化アルゴリズムです。
szOID_OIWDIR_HASH
"1.3.14.7.2.2"
NIST OSE Implementors' Workshop (OIW) Directory の汎用ハッシュ アルゴリズムです。
szOID_OIWDIR_SIGN
"1.3.14.7.2.3"
NIST OSE Implementors' Workshop (OIW) Directory の汎用署名アルゴリズムです。
szOID_OIWDIR_md2
"1.3.14.7.2.2.1"
NIST OSE Implementors' Workshop (OIW) Directory の Message digest (MD2) アルゴリズムです。
szOID_OIWDIR_md2RSA
"1.3.14.7.2.3.1"
Message digest (MD2) ハッシュ アルゴリズムと組み合わせた NIST OSE Implementors' Workshop (OIW) Directory の RSA アルゴリズムです。
szOID_INFOSEC
"2.16.840.1.101.2.1"
INFOSEC のオブジェクト識別子のルートです。
szOID_INFOSEC_sdnsSignature
"2.16.840.1.101.2.1.1.1"
署名アルゴリズムです。
szOID_INFOSEC_mosaicSignature
"2.16.840.1.101.2.1.1.2"
署名アルゴリズムです。
szOID_INFOSEC_sdnsConfidentiality
"2.16.840.1.101.2.1.1.3"
暗号化アルゴリズムです。
szOID_INFOSEC_mosaicConfidentiality
"2.16.840.1.101.2.1.1.4"
暗号化アルゴリズムです。
szOID_INFOSEC_sdnsIntegrity
"2.16.840.1.101.2.1.1.5"
署名アルゴリズムです。
szOID_INFOSEC_mosaicIntegrity
"2.16.840.1.101.2.1.1.6"
署名アルゴリズムです。
szOID_INFOSEC_sdnsTokenProtection
"2.16.840.1.101.2.1.1.7"
Secure Data Network System のトークン暗号化です。
szOID_INFOSEC_mosaicTokenProtection
"2.16.840.1.101.2.1.1.8"
Mosaic のトークン暗号化です。
szOID_INFOSEC_sdnsKeyManagement
"2.16.840.1.101.2.1.1.9"
Secure Data Network System の鍵管理です。
szOID_INFOSEC_mosaicKeyManagement
"2.16.840.1.101.2.1.1.10"
Mosaic の鍵管理です。
szOID_INFOSEC_sdnsKMandSig
"2.16.840.1.101.2.1.1.11"
Secure Data Network System の鍵管理と署名です。
szOID_INFOSEC_mosaicKMandSig
"2.16.840.1.101.2.1.1.12"
Mosaic の鍵管理と署名です。
szOID_INFOSEC_SuiteASignature
"2.16.840.1.101.2.1.1.13"
National Security Agency (NSA) Suite A 暗号方式の署名アルゴリズムです。
szOID_INFOSEC_SuiteAConfidentiality
"2.16.840.1.101.2.1.1.14"
National Security Agency (NSA) Suite A 暗号方式の暗号化アルゴリズムです。
szOID_INFOSEC_SuiteAIntegrity
"2.16.840.1.101.2.1.1.15"
National Security Agency (NSA) Suite A 暗号方式の署名アルゴリズムです。
szOID_INFOSEC_SuiteATokenProtection
"2.16.840.1.101.2.1.1.16"
National Security Agency (NSA) Suite A 暗号方式のセキュリティ トークン暗号化です。
szOID_INFOSEC_SuiteAKeyManagement
"2.16.840.1.101.2.1.1.17"
National Security Agency (NSA) Suite A 暗号方式のセキュリティ鍵管理です。
szOID_INFOSEC_SuiteAKMandSig
"2.16.840.1.101.2.1.1.18"
National Security Agency (NSA) Suite A 暗号方式の鍵管理と署名です。
szOID_INFOSEC_mosaicUpdatedSig
"2.16.840.1.101.2.1.1.19"
Mosaic の更新された署名です。
szOID_INFOSEC_mosaicKMandUpdSig
"2.16.840.1.101.2.1.1.20"
Mosaic の鍵管理と更新された署名です。
szOID_INFOSEC_mosaicUpdatedInteg
"2.16.840.1.101.2.1.1.21"
Mosaic の更新された署名です。
szOID_NIST_sha256
"2.16.840.1.101.3.4.2.1"
256 ビットの鍵を使用するセキュア ハッシュ アルゴリズム (SHA) です。
szOID_NIST_sha384
"2.16.840.1.101.3.4.2.2"
384 ビットの鍵を使用するセキュア ハッシュ アルゴリズム (SHA) です。
szOID_NIST_sha512
"2.16.840.1.101.3.4.2.3"
512 ビットの鍵を使用するセキュア ハッシュ アルゴリズム (SHA) です。
szOID_NIST_shake128
"2.16.840.1.101.3.4.2.11"
128 ビットの鍵を使用するセキュア ハッシュ アルゴリズム KECCAK (SHAKE) です。
szOID_NIST_shake256
"2.16.840.1.101.3.4.2.12"
256 ビットの鍵を使用するセキュア ハッシュ アルゴリズム KECCAK (SHAKE) です。
szOID_NIST_ml_dsa_44
"2.16.840.1.101.3.4.3.17"
128 ビットの格子を使用する「Pure」Module-Lattice-Based Digital Signature Algorithm (ML-DSA) です。
szOID_NIST_ml_dsa_65
"2.16.840.1.101.3.4.3.18"
192 ビットの格子を使用する「Pure」Module-Lattice-Based Digital Signature Algorithm (ML-DSA) です。
szOID_NIST_ml_dsa_87
"2.16.840.1.101.3.4.3.19"
256 ビットの格子を使用する「Pure」Module-Lattice-Based Digital Signature Algorithm (ML-DSA) です。
szOID_NIST_hash_ml_dsa_44_with_sha512
"2.16.840.1.101.3.4.3.32"
128 ビットの格子を使用する「Pre-Hash」Module-Lattice-Based Digital Signature Algorithm (ML-DSA) です。
szOID_NIST_hash_ml_dsa_65_with_sha512
"2.16.840.1.101.3.4.3.33"
192 ビットの格子を使用する「Pre-Hash」Module-Lattice-Based Digital Signature Algorithm (ML-DSA) です。
szOID_NIST_hash_ml_dsa_87_with_sha512
"2.16.840.1.101.3.4.3.34"
256 ビットの格子を使用する「Pre-Hash」Module-Lattice-Based Digital Signature Algorithm (ML-DSA) です。
szOID_MLDSA44_ECDSA_P256_SHA256
"1.3.6.1.5.5.7.6.40"
Module-Lattice-Based Digital Signature Algorithm (ML-DSA) のパラメーター セット 44 と、SHA-256 ハッシュ アルゴリズムを使用する Elliptic Curve Digital Signature Algorithm (ECDSA) p256 を組み合わせた複合アルゴリズムです。
szOID_MLDSA65_ECDSA_P256_SHA512
"1.3.6.1.5.5.7.6.45"
Module-Lattice-Based Digital Signature Algorithm (ML-DSA) のパラメーター セット 65 と、SHA-512 ハッシュ アルゴリズムを使用する Elliptic Curve Digital Signature Algorithm (ECDSA) p256 を組み合わせた複合アルゴリズムです。
szOID_MLDSA65_ECDSA_P384_SHA512
"1.3.6.1.5.5.7.6.46"
Module-Lattice-Based Digital Signature Algorithm (ML-DSA) のパラメーター セット 65 と、SHA-512 ハッシュ アルゴリズムを使用する Elliptic Curve Digital Signature Algorithm (ECDSA) p384 を組み合わせた複合アルゴリズムです。
szOID_MLDSA87_ECDSA_P384_SHA512
"1.3.6.1.5.5.7.6.49"
Module-Lattice-Based Digital Signature Algorithm (ML-DSA) のパラメーター セット 87 と、SHA-512 ハッシュ アルゴリズムを使用する Elliptic Curve Digital Signature Algorithm (ECDSA) p384 を組み合わせた複合アルゴリズムです。
szOID_PKIX_NO_SIGNATURE
"1.3.6.1.5.5.7.6.2"
署名なしです。
szOID_NIST_ml_kem_512
"2.16.840.1.101.3.4.4.1"
NIST のパラメーター セット 512 を使用する Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM) です。
szOID_NIST_ml_kem_768
"2.16.840.1.101.3.4.4.2"
NIST のパラメーター セット 768 を使用する Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM) です。
szOID_NIST_ml_kem_1024
"2.16.840.1.101.3.4.4.3"
NIST のパラメーター セット 1024 を使用する Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM) です。
szOID_MLKEM768_X25519_SHA3_256
"1.3.6.1.5.5.7.6.58"
Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM) 768 と、SHA3 256 ビット ハッシュ アルゴリズムを使用する Curve 25519 を組み合わせた複合アルゴリズムです。
szOID_MLKEM768_ECDH_P256_SHA3_256
"1.3.6.1.5.5.7.6.59"
Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM) 768 と、SHA3 256 ビット ハッシュ アルゴリズムを使用する楕円曲線 Diffie-Hellman P256 を組み合わせた複合アルゴリズムです。
szOID_MLKEM1024_ECDH_P384_SHA3_256
"1.3.6.1.5.5.7.6.63"
Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM) 1024 と、SHA3 256 ビット ハッシュ アルゴリズムを使用する楕円曲線 Diffie-Hellman P384 を組み合わせた複合アルゴリズムです。
szOID_RSA_SSA_PSS
"1.2.840.113549.1.1.10"
付録付き RSA 署名方式 (RSASSA) と確率的署名方式 (PSS) です。
szOID_ECDSA_SPECIFIED
"1.2.840.10045.4.3"
楕円曲線デジタル署名アルゴリズム (ECDSA) です。
ParametersCRYPT_INTEGER_BLOB16/8+8+4

エンコードされた、アルゴリズム固有のパラメーターを提供する BLOB です。多くの場合、パラメーターはありません。その場合は、Parameters BLOB の cbData メンバーに 0 を設定することで示します。

次のアルゴリズムには、指定されたエンコード済みパラメーターがあります。詳細については、 Constants for CryptEncodeObject and CryptDecodeObject を参照してください。

意味
szOID_OIWSEC_dsa
CERT_DSS_PARAMETERS 構造体です。
szOID_RSA_RC2CBC
CRYPT_RC2_CBC_PARAMETERS 構造体です。
szOID_OIWSEC_desCBC
オクテット文字列形式の初期化ベクターを格納する CRYPT_DATA_BLOB です。
szOID_RSA_DES_EDE3_CBC
オクテット文字列形式の初期化ベクターを格納する CRYPT_DATA_BLOB です。
szOID_RSA_RC4
オクテット文字列形式の初期化ベクターを格納する CRYPT_DATA_BLOB です。
szOID_RSA_SSA_PSS
CRYPT_RSA_SSA_PSS_PARAMETERS 構造体です。
szOID_ECDSA_SPECIFIED
CRYPT_ALGORITHM_IDENTIFIER 構造体です。

公式ドキュメント

CRYPT_ALGORITHM_IDENTIFIER 構造体は、秘密鍵の暗号化に使用するアルゴリズムを指定します。この構造体には、アルゴリズムのオブジェクト識別子 (OID) と、そのアルゴリズムに必要なパラメーターが含まれます。その CRYPT_OBJID_BLOB に格納されるパラメーターはエンコードされています。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

#include <windows.h>

// CRYPT_INTEGER_BLOB  (x64 16 / x86 8 バイト)
typedef struct CRYPT_INTEGER_BLOB {
    DWORD cbData;
    BYTE* pbData;
} CRYPT_INTEGER_BLOB;

// CRYPT_ALGORITHM_IDENTIFIER  (x64 24 / x86 12 バイト)
typedef struct CRYPT_ALGORITHM_IDENTIFIER {
    LPSTR pszObjId;
    CRYPT_INTEGER_BLOB Parameters;
} CRYPT_ALGORITHM_IDENTIFIER;
using System;
using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct CRYPT_INTEGER_BLOB
{
    public uint cbData;
    public IntPtr pbData;
}

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct CRYPT_ALGORITHM_IDENTIFIER
{
    public IntPtr pszObjId;
    public CRYPT_INTEGER_BLOB Parameters;
}
Imports System.Runtime.InteropServices

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure CRYPT_INTEGER_BLOB
    Public cbData As UInteger
    Public pbData As IntPtr
End Structure

<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)>
Public Structure CRYPT_ALGORITHM_IDENTIFIER
    Public pszObjId As IntPtr
    Public Parameters As CRYPT_INTEGER_BLOB
End Structure
import ctypes
from ctypes import wintypes

class CRYPT_INTEGER_BLOB(ctypes.Structure):
    _fields_ = [
        ("cbData", wintypes.DWORD),
        ("pbData", ctypes.c_void_p),
    ]

class CRYPT_ALGORITHM_IDENTIFIER(ctypes.Structure):
    _fields_ = [
        ("pszObjId", ctypes.c_void_p),
        ("Parameters", CRYPT_INTEGER_BLOB),
    ]
#[repr(C)]
pub struct CRYPT_INTEGER_BLOB {
    pub cbData: u32,
    pub pbData: *mut core::ffi::c_void,
}

#[repr(C)]
pub struct CRYPT_ALGORITHM_IDENTIFIER {
    pub pszObjId: *mut core::ffi::c_void,
    pub Parameters: CRYPT_INTEGER_BLOB,
}
import "golang.org/x/sys/windows"

type CRYPT_INTEGER_BLOB struct {
	cbData uint32
	pbData uintptr
}

type CRYPT_ALGORITHM_IDENTIFIER struct {
	pszObjId uintptr
	Parameters CRYPT_INTEGER_BLOB
}
type
  CRYPT_INTEGER_BLOB = record
    cbData: DWORD;
    pbData: Pointer;
  end;

  CRYPT_ALGORITHM_IDENTIFIER = record
    pszObjId: Pointer;
    Parameters: CRYPT_INTEGER_BLOB;
  end;
const CRYPT_INTEGER_BLOB = extern struct {
    cbData: u32,
    pbData: ?*anyopaque,
};

const CRYPT_ALGORITHM_IDENTIFIER = extern struct {
    pszObjId: ?*anyopaque,
    Parameters: CRYPT_INTEGER_BLOB,
};
type
  CRYPT_INTEGER_BLOB {.bycopy.} = object
    cbData: uint32
    pbData: pointer

  CRYPT_ALGORITHM_IDENTIFIER {.bycopy.} = object
    pszObjId: pointer
    Parameters: CRYPT_INTEGER_BLOB
struct CRYPT_INTEGER_BLOB
{
    uint cbData;
    void* pbData;
}

struct CRYPT_ALGORITHM_IDENTIFIER
{
    void* pszObjId;
    CRYPT_INTEGER_BLOB Parameters;
}

HSP用 定義

HSP3.7/3.8 は構造体機能が無いため4byte整数配列(dim)+peek/poke で操作(32/64bitでサイズ・位置が異なる場合はタブで分割)。IronHSP は NSTRUCT(#defstruct/stdim/->)で32/64bit共通。

; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x86 レイアウト)
; CRYPT_ALGORITHM_IDENTIFIER サイズ: 12 バイト(x86)
dim st, 3    ; 4byte整数×3(構造体サイズ 12 / 4 切り上げ)
; pszObjId : LPSTR (+0, 4byte)  st.0 = 値  /  値 = st.0   (lpoke/lpeek も可)
; Parameters : CRYPT_INTEGER_BLOB (+4, 8byte)  varptr(st)+4 を基点に操作(8byte:入れ子/配列)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; HSP3.7/3.8 は構造体機能が無いため、4byte整数の配列変数で操作します。(x64 レイアウト)
; CRYPT_ALGORITHM_IDENTIFIER サイズ: 24 バイト(x64)
dim st, 6    ; 4byte整数×6(構造体サイズ 24 / 4 切り上げ)
; pszObjId : LPSTR (+0, 8byte)  qpoke st,0,値 / qpeek(st,0)  ※IronHSPのみ。3.7/3.8は lpoke st,0,下位 : lpoke st,4,上位
; Parameters : CRYPT_INTEGER_BLOB (+8, 16byte)  varptr(st)+8 を基点に操作(16byte:入れ子/配列)
; ※4byte境界の整数は添字 st.N(N=オフセット/4)で読み書き可。それ以外は peek/poke 系を使用。
; IronHSP は NSTRUCT(構造体)をサポート。32bit/64bit どちらでも同じコードで動作します。
; ※GUID・入れ子構造体はデフォルト型でないため、依存する #defstruct を先に定義(下記に同梱)。
#defstruct global CRYPT_INTEGER_BLOB
    #field int cbData
    #field intptr pbData
#endstruct

#defstruct global CRYPT_ALGORITHM_IDENTIFIER
    #field intptr pszObjId
    #field CRYPT_INTEGER_BLOB Parameters
#endstruct

stdim st, CRYPT_ALGORITHM_IDENTIFIER        ; NSTRUCT 変数を確保