跳到主要内容

3. 算法标识符 (Algorithm Identifiers)

AlgorithmIdentifier 类型在 [RFC5912] 中定义如下:

 AlgorithmIdentifier{ALGORITHM-TYPE, ALGORITHM-TYPE:AlgorithmSet} ::=
SEQUENCE {
algorithm ALGORITHM-TYPE.&id({AlgorithmSet}),
parameters ALGORITHM-TYPE.
&Params({AlgorithmSet}{@algorithm}) OPTIONAL
}

NOTE: 上述语法来自 [RFC5912], 并与 2021 ASN.1 语法 [X680] 兼容.关于 1988 ASN.1 语法, 参见 [RFC5280].

AlgorithmIdentifier 中各字段含义如下:

  • algorithm 通过 OID 标识密码算法.

  • parameters 是可选字段, 表示 algorithm 字段中算法标识符的关联参数.

ML-KEM public key 的 AlgorithmIdentifier 必须根据安全级别使用下列 NIST [CSOR] 中的某一个 id-alg-ml-kem OID.ML-KEM public key 的 AlgorithmIdentifier 的 parameters 字段必须不存在.

nistAlgorithms OBJECT IDENTIFIER ::= { joint-iso-ccitt(2)
country(16) us(840) organization(1) gov(101) csor(3)
nistAlgorithm(4) }

kems OBJECT IDENTIFIER ::= { nistAlgorithms 4 }

id-alg-ml-kem-512 OBJECT IDENTIFIER ::= { kems 1 }

id-alg-ml-kem-768 OBJECT IDENTIFIER ::= { kems 2 }

id-alg-ml-kem-1024 OBJECT IDENTIFIER ::= { kems 3 }