Note
一部の情報は、市販される前に大幅に変更される可能性があるプレリリース製品に関連しています。 Microsoft は、ここで提供される情報に関して明示的または黙示的な保証を行いません。 このトピックで説明する複合機能は、Windows Insider Preview のプレリリース バージョンで使用できます。
この構造は、ポスト量子デジタル署名アルゴリズム (PQDSA) のキーをインポートおよびエクスポートするために使用されます。 BCRYPT_PQDSA_KEY_BLOB構造体は、Post-Quantum Digital Signature アルゴリズム (PQDSA) 公開キー (バイト エンコードカプセル化キー) またはメモリ内の秘密キーBLOB のヘッダーとして使用されます。
Syntax
typedef struct _BCRYPT_PQDSA_KEY_BLOB {
ULONG dwMagic;
ULONG cbParameterSet; // Byte size of parameterSet[]
ULONG cbKey; // Byte size of key[]
// WCHAR parameterSet[cbParameterSet / sizeof(WCHAR)]; // Including \0 terminator
// BYTE key[cbKey]; // Key material
} BCRYPT_PQDSA_KEY_BLOB, *PBCRYPT_PQDSA_KEY_BLOB;
Fields
dwMagic
dwMagic フィールドは、使用されているキーの形式を示す 4 バイトの値です。 次の値が定義されています。
| Value | Meaning |
|---|---|
BCRYPT_MLDSA_PUBLIC_MAGIC0x4B505344 |
構造体は公開キーを表します。 |
BCRYPT_MLDSA_PRIVATE_MAGIC0x4B535344 |
この構造体は、展開された秘密キーを表します。 |
BCRYPT_MLDSA_PRIVATE_SEED_MAGIC0x53535344 |
構造体はプライベート シードを表します。 |
BCRYPT_COMPOSITE_MLDSA_PUBLIC_MAGIC0x4B504D43 |
構造体は公開キーを表します。 |
BCRYPT_COMPOSITE_MLDSA_PRIVATE_MAGIC0x4B534D43 |
構造体は秘密キーを表します。 |
cbParameterSet
バッファーの長さ (バイト単位) parameterSet 構造体のすぐ後にあります。 このバッファーには、キーのパラメーター セットを識別する null で終わる Unicode 文字列が含まれています。 現在、次の値がサポートされています。
| parameterSet | Meaning |
|---|---|
BCRYPT_MLDSA_PARAMETER_SET_44L"44" |
ML-DSA-44、セキュリティ カテゴリ 2。 |
BCRYPT_MLDSA_PARAMETER_SET_65L"65" |
ML-DSA-65、セキュリティ カテゴリ 3。 |
BCRYPT_MLDSA_PARAMETER_SET_87L"87" |
ML-DSA-87、セキュリティ カテゴリ 5。 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_44_ECDSA_P256_SHA256L"44-ECDSA-P256-SHA256" |
複合 ML-DSA-44 および ECDSA P256 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P256_SHA512L"65-ECDSA-P256-SHA512" |
複合 ML-DSA-65 および ECDSA P256 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_65_ECDSA_P384_SHA512L"65-ECDSA-P384-SHA512" |
複合 ML-DSA-65 および ECDSA P384 |
BCRYPT_COMPOSITE_MLDSA_PARAMETER_SET_87_ECDSA_P384_SHA512L"87-ECDSA-P384-SHA512" |
複合 ML-DSA-87 および ECDSA P384 |
cbKey
parameterSet に直接続くバッファー キーの長さ (バイト単位)。 このサイズは静的であり、使用中のキーの形式とパラメーターセットによって異なります。
Remarks
Post-Quantum Digital Signature アルゴリズムのコンシューマーは、アルゴリズムでサポートされる操作を実行するために、CNG でサポートされている既存の (非量子) デジタル署名アルゴリズムと同じ BCrypt API のサブセットを使用します。 これらは:
- アルゴリズム ハンドル操作: BCryptOpenAlgorithmProvider、 BCryptCloseAlgorithmProvider
- キー管理: BCryptGenerateKeyPair、 BCryptImportKeyPair、 BCryptExportKey、 BCryptDestroyKey、 BCryptFinalizeKeyPair
- 署名の生成/検証: BCryptSignHash、 BCryptVerifySignature
- プロパティの更新/クエリ: BCryptGetProperty、 BCryptSetProperty
Requirements
| Requirement | Value |
|---|---|
| サポートされる最小クライアント | Windows 11 24H2: ML-DSA のサポートが開始されます。 [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2025: ML-DSA のサポートが開始されます。 [デスクトップ アプリのみ] |
| Header | bcrypt.h |