认证协议
产出随机数Nc(往往当作卡号)和Ci,计算出Gc=F1(Ks,Nc),把Nc、Ci、Gc写入卡中
卡 Nc Gc Ci 认证协议 读写器 Ks Q0(随机数)
识别码: Nc Ci Ci+1=F2(Gc,Ci,Q0); if(Ci+1==Q1) Ci+2=F2(Gc,C1+1); Ci=Ci+2; //修改Ci 认证正确; else Ci=Ci; 认证错误; Ci (使用读命令) (初始化认证命令) (校验认证命令) (读命令) Gc=F1(Ks,Nc); Q0 Q1=F2(Gc,Ci,Q0); Q1 Q2=F2(Gc,Q1); if(Q2=Ci) 认证正确; else 认证错误;
|