基于类型的PIN处理API分析
1. PIN验证API概述
PIN验证API在安全系统中起着关键作用,用于验证用户输入的PIN是否正确。在这个案例中,有两种PIN相关的数据:一种是通过PIN推导密钥pdk从公共数据偏移量(offset)、验证数据(vdata)和十进制表(dectab)推导得出的PIN;另一种是以密钥k加密的形式存在的加密PIN块(EPB)。这两个密钥预先加载在硬件安全模块(HSM)中,不会暴露给不可信的外部环境。
以下是API的代码实现:
PIN V(PAN, EPB, len, offset, vdata, dectab) {
x1 := encpdk(vdata);
x2 := left(len, x1 );
x3 := decimalize(dectab, x2 );
x4 := sum mod10(x3 , offset);
x5 := deck(EPB);
x6 := fcheck(x5 );
if (x6 =⊥) then return(′′format wrong′′);
if (x4 = x6 ) then return(′′P IN correct′′);
else return(′′P IN wrong′′)
}
其工作流程如下:
1. 用户PIN推导 :
- 使用PIN推导密钥pdk对验证数据vdata进行加密,得到x1。
- 取x1的前len个十六进制数字,得到x2。
- 通过十进制表dec
超级会员免费看
订阅专栏 解锁全文
1161

被折叠的 条评论
为什么被折叠?



