图解PKCS#1——第一部分 基础说明

0. 版本更新说明

版本更新情况简要说明:

  1. V2.2:主要是增加了三个杂凑函数:SHA-224、SHA-512/224、SHA-512/256。

3. 密钥

公钥

(n, e)

私钥

(n, d)

或者(p, q, dP, dQ, qInv),

  1. dP=d mod p-1
  2. dQ=d mod q-1,【即e · dP = 1 mod p–1e · dQ = 1 mod q–1
  3. q* qInv=1 mod p

注解:

dP, dQ,的出现是为了用CRT Cd mod n

因为dP=d mod p-1dQ=d mod q-1,→  CdP=Cd mod pCdQ=Cd mod q

所以计算Cd mod n改为计算同余式组 x=CdP mod px=CdQ mod q,计算出的x即为Cd mod n

4. 数据类型转化

 I2OSP        整数→字符串 (Integer → Octet-String),字符串采用大端表示

OS2IP         字符串→整数 (Octet-String → Integer),字符串采用大端表示

5. 密码算法

5.1 加密解密

5.1.1 加密解密——加密RSAEP

c = me mod n.

5.1.2 加密解密——解密RSADP

  1. 若私钥为(n, d)  

m = cd mod n.

  1. 若私钥为 (p, q, dP, dQ, qInv)

m1 = cdP mod p.

m2 = cdQ mod q.

h = qInv * (m1 m2) mod p.

m = m2 + h q.

(其中q*qInv = 1 (mod p)

5.2签名验证

5.2.1 签名验证——签名RSASP1

  1. 若私钥为(n, d)  

s = md mod n.

  1. 若私钥为(p, q, dP, dQ, qInv)

s1 = mdP mod p.

s2 = mdQ mod q.

h = qInv * (s1s2 ) mod p.

s = s2 + h q.

5.2.2 签名验证——验证RSAVP1

m = se mod n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值