PKCS #5: 基于口令的密码系统规范 版本2.0( 十 )


C.ASN.1模块
为了参考的目的,在以前各节中的ASN.1语法在这里作为ASN.1模块给出 。
--PKCS#5v2.0ASN.1Module
--RevisedMarch25,1999
--Thismodulehasbeencheckedforconformancewiththe
--ASN.1standardbytheOSSASN.1Tools
PKCS5v2-0{iso(1)member-body(2)us(840)rsadsi(113549)
pkcs(1)pkcs-5(5)modules(16)pkcs5v2-0(1)}
DEFINITIONS::=BEGIN
--Basicobjectidentifiers
rsadsiOBJECTIDENTIFIER::={iso(1)member-body(2)us(840)113549}
pkcsOBJECTIDENTIFIER::={rsadsi1}
pkcs-5OBJECTIDENTIFIER::={pkcs5}
--Basictypesandclasses
AlgorithmIdentifier{ALGORITHM-IDENTIFIER:InfoObjectSet}::=
SEQUENCE{
algorithmALGORITHM-IDENTIFIER.&id({InfoObjectSet}),
parametersALGORITHM-IDENTIFIER.&Type({InfoObjectSet}
{@algorithm})OPTIONAL
}
ALGORITHM-IDENTIFIER::=TYPE-IDENTIFIER
--PBKDF2
PBKDF2AlgorithmsALGORITHM-IDENTIFIER::=
{{PBKDF2-paramsIDENTIFIEDBYid-PBKDF2},...}
id-PBKDF2OBJECTIDENTIFIER::={pkcs-512}
algid-hmacWithSHA1AlgorithmIdentifier{{PBKDF2-PRFs}}::=
{algorithmid-hmacWithSHA1,parametersNULL:NULL}
PBKDF2-params::=SEQUENCE{
saltCHOICE{
specifiedOCTETSTRING,
otherSourceAlgorithmIdentifier{{PBKDF2-SaltSources}}
},
iterationCountINTEGER(1..MAX),
keyLengthINTEGER(1..MAX)OPTIONAL,
prfAlgorithmIdentifier{{PBKDF2-PRFs}}DEFAULT
algid-hmacWithSHA1
}
PBKDF2-SaltSourcesALGORITHM-IDENTIFIER::={...}
PBKDF2-PRFsALGORITHM-IDENTIFIER::=
{{NULLIDENTIFIEDBYid-hmacWithSHA1},...}
--PBES1
PBES1AlgorithmsALGORITHM-IDENTIFIER::={
{PBEParameterIDENTIFIEDBYpbeWithMD2AndDES-CBC}
{PBEParameterIDENTIFIEDBYpbeWithMD2AndRC2-CBC}
{PBEParameterIDENTIFIEDBYpbeWithMD5AndDES-CBC}
{PBEParameterIDENTIFIEDBYpbeWithMD5AndRC2-CBC}
{PBEParameterIDENTIFIEDBYpbeWithSHA1AndDES-CBC}
{PBEParameterIDENTIFIEDBYpbeWithSHA1AndRC2-CBC},
...
}
pbeWithMD2AndDES-CBCOBJECTIDENTIFIER::={pkcs-51}
pbeWithMD2AndRC2-CBCOBJECTIDENTIFIER::={pkcs-54}
pbeWithMD5AndDES-CBCOBJECTIDENTIFIER::={pkcs-53}
pbeWithMD5AndRC2-CBCOBJECTIDENTIFIER::={pkcs-56}
pbeWithSHA1AndDES-CBCOBJECTIDENTIFIER::={pkcs-510}
pbeWithSHA1AndRC2-CBCOBJECTIDENTIFIER::={pkcs-511}
PBEParameter::=SEQUENCE{
saltOCTETSTRING(SIZE(8)),
iterationCountINTEGER
}
--PBES2
PBES2AlgorithmsALGORITHM-IDENTIFIER::=
{{PBES2-paramsIDENTIFIEDBYid-PBES2},...}
id-PBES2OBJECTIDENTIFIER::={pkcs-513}
PBES2-params::=SEQUENCE{
keyDerivationFuncAlgorithmIdentifier{{PBES2-KDFs}},
encryptionSchemeAlgorithmIdentifier{{PBES2-Encs}}
}
PBES2-KDFsALGORITHM-IDENTIFIER::=
{{PBKDF2-paramsIDENTIFIEDBYid-PBKDF2},...}
PBES2-EncsALGORITHM-IDENTIFIER::={...}
--PBMAC1
PBMAC1AlgorithmsALGORITHM-IDENTIFIER::=
{{PBMAC1-paramsIDENTIFIEDBYid-PBMAC1},...}
id-PBMAC1OBJECTIDENTIFIER::={pkcs-514}
PBMAC1-params::=SEQUENCE{
keyDerivationFuncAlgorithmIdentifier{{PBMAC1-KDFs}},
messageAuthSchemeAlgorithmIdentifier{{PBMAC1-MACs}}
}
PBMAC1-KDFsALGORITHM-IDENTIFIER::=
{{PBKDF2-paramsIDENTIFIEDBYid-PBKDF2},...}
PBMAC1-MACsALGORITHM-IDENTIFIER::={...}
--Supportingtechniques
digestAlgorithmOBJECTIDENTIFIER::={rsadsi2}
encryptionAlgorithmOBJECTIDENTIFIER::={rsadsi3}
SupportingAlgorithmsALGORITHM-IDENTIFIER::={
{NULLIDENTIFIEDBYid-hmacWithSHA1}
{OCTETSTRING(SIZE(8))IDENTIFIEDBYdesCBC}
{OCTETSTRING(SIZE(8))IDENTIFIEDBYdes-EDE3-CBC}
{RC2-CBC-ParameterIDENTIFIEDBYrc2CBC}
{RC5-CBC-ParametersIDENTIFIEDBYrc5-CBC-PAD},
...
}
id-hmacWithSHA1OBJECTIDENTIFIER::={digestAlgorithm7}
desCBCOBJECTIDENTIFIER::=
{iso(1)identified-organization(3)oiw(14)secsig(3)
algorithms(2)7}--fromOIW
des-EDE3-CBCOBJECTIDENTIFIER::={encryptionAlgorithm7}
rc2CBCOBJECTIDENTIFIER::={encryptionAlgorithm2}