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


在AlgorithmIdentifier中同该OID相关联的参数域应有类型OCTETSTRING(SIZE(8)),指定
CBC模式的初始向量 。
B.2.2DES-EDE3-CBC-Pad
DES-EDE3-CBC-Pad是CBC模式下的三密钥的三重DES,用RFC1423的填充操作 。
DES-EDE3-CBC-Pad有一个24字节的加密密钥和一个八字节初始向量 。密钥被看作是三个
八字节密钥的串联,每一个是一56位DES密钥的64位编码,忽略奇偶校验位 。
对象标识符des-EDE3-CBC标识DES-EDE3-CBC-Pad加密方法:
des-EDE3-CBCOBJECTIDENTIFIER::={encryptionAlgorithm7}
在AlgorithmIdentifier中同该OID相关联的参数域应有类型OCTETSTRING(SIZE(8)),指定
CBC模式的初始向量 。
注重:没有填充的DES-EDE3-CBC的OID在ANSIX9.52[1]给出;这里给出的OID由于指明
了填充而更可取 。
B.2.3RC2-CBC-Pad
RC2-CBC-Pad是CBC模式下的RC2(tm)加密方法[21],使用RFC1423填充操作 。
RC2-CBC-Pad
有一个从1到128字节的可变的密钥长度;一个从1到1024位的单独的“有效密钥位”参
数,它不依靠于密钥长度限制有效搜索空间;和一个八字节的初始向量 。
对象标识符rc2CBC标识RC2-CBC-Pad加密方法:
rc2CBCOBJECTIDENTIFIER::={encryptionAlgorithm2}
在AlgorithmIdentifier中同该OID相关联的参数域应具有类型RC2-CBC-Parameter:
RC2-CBC-Parameter::=SEQUENCE{
rc2ParameterVersionINTEGEROPTIONAL,
ivOCTETSTRING(SIZE(8))}
类型RC2-CBCParameter的域有以下含义:
- rc2ParameterVersion是RC2的“有效密钥位”的一个RSASecurityInc.所有的编码 。定
义了以下编码:
EffectiveKeyBitsEncoding
40160
64120
12858
b>=256b
假如rc2ParameterVersion域被忽略,缺省的“有效密钥位”是32 。(这是为了同某些很老的
实现向后兼容 。)
- iv是八字节的初始向量
B.2.4RC5-CBC-Pad
RC5-CBC-Pad是CBC模式下的RC5(tm)加密算法[20],并使用RFC1423填充操作的推广 。
该方法完整的定义在[2].RC5-CBC-Pad有一个从0到256字节的可变的密钥长度,支持64
位和128位的块大小 。对于前者,它有一个8字节的初始向量;对于后者,有一个16字节
的初始向量 。RC5-CBC-Pad在加密操作中也有一个从8到127的可变数目的“轮次” 。
注重,填充操作的推广是这样的 。对64位块大小的RC5,填充串在RFC1423中定义 。对
128位块大小的RC5,填充串由16-(Mmod16)个字节组成,每个字节的值是16-(Mmod
16) 。
对象标识符rc5-CBC-PAD[2]标识RC5-CBC-Pad加密方法:
rc5-CBC-PADOBJECTIDENTIFIER::={encryptionAlgorithm9}
在AlgorithmIdentifier中同该OID相关联的参数域应有类型RC5-CBC-Parameters:
RC5-CBC-Parameters::=SEQUENCE{
versionINTEGER{v1-0(16)}(v1-0),
roundsINTEGER(8..127),
blockSizeInBitsINTEGER(64128),
ivOCTETSTRINGOPTIONAL}
类型RC5-CBC-Parameters的域有以下含义:
version是算法的版本,应为v1-0 。
rounds是加密操作的轮次数,应在8与127之间 。
blockSizeInBits是块大小的位数,应为64或128 。
iv是初始向量,对64位RC5是一个8字节串,对128位RC5是一个16字节串 。缺省是一
包含内容为0长度适当的字节串 。
B.3消息认证方法
PBMAC1(7.1节)的消息认证方法的一个例子是HMAC-SHA-1 。
B.3.1HMAC-SHA-1
HMAC-SHA-1是基于SHA-1散列函数[18]的HMAC消息消息认证方法[7] 。HMAC-SHA-1
有可变的密钥长度和一20字节(160位)消息认证码 。
对象标识符id-hmacWithSHA1(见附录B.1.1)标识HMAC-SHA-1消息认证方法 。(伪随机
函数和消息认证方法的对象标识符是相同的,可通过上下文区分 。)该标识符预期在对象集
合PBMAC1-Macs中应用(附录A.5) 。