PKCS#5研究——第三部分 基于口令的消息认证方案

192 篇文章 62 订阅
11 篇文章 9 订阅

仅有一个基于口令的消息认证方案PBMAC1,如下表。

表5.1 基于口令的加密方案PBES1和PBES2对比

hLen为HASH函数的输出长度)

项目

PBMAC1.

使用的PBKDF

PBKDF2

使用的密码算法

HMAC

(底层HASH使用SHA1和SHA2)

使用

推荐

7.1 PBMAC1

7.1.1 PBMAC1 generation

函数:C = PBMAC1-Generate (M, P, S, c dkLen)

功能:基于口令的加密方案PBES1的加密算法

输入参数:

  1. M:消息。
  2. P:口令,任意长度的字符串(通常为ASCII 或UTF-8字符)。
  3. S:盐值,8字节。无需保密,增加密文多变性。
  4. c:迭代次数,越大越好,建议不小于1000。
  5. dkLen:导出密钥的字节长度。

内部参数:

  1. MAC:HMAC-SHA1或HMAC-SHA2。

返回数据:

  1. T:消息检验码。

执行步骤:

步骤1:生成导出密钥,DK = PBKDF:2 (P, S, c, dkLen)。

步骤2:生成消息检验码T = MAC(DK, M)。

步骤3:输出消息检验码T

7.1.2 PBMAC1 verification

函数:C = PBMAC1-Verify (M, P, S, c, dkLen, T)

功能:基于口令的加密方案PBES1的加密算法

输入参数:

  1. M:消息。
  2. P:口令,任意长度的字符串(通常为ASCII 或UTF-8字符)。
  3. S:盐值,8字节。无需保密,增加密文多变性。
  4. c:迭代次数,越大越好,建议不小于1000。
  5. dkLen:导出密钥的字节长度。
  6. T:消息检验码。

内部参数:

  1. MAC:HMAC-SHA1或HMAC-SHA2。

返回数据:

  1. ret:TRUE为验证通过,FALSE为验证失败。

执行步骤:

步骤1:生成导出密钥,DK = PBKDF2 (P, S, c, dkLen)。

步骤2:生成消息检验码T1= MAC(DK, M)。

步骤3:比较T1和T,两者相同则返回ret = TRUE,否则返回ret = FALSE。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值