做了ARM工控板,需要给板做个加密功能,防止别人抄板。
用的加密芯片是AT88SC153,他有两个加密算法,如下:
F1算法:64BIT 用户自定义算法。
F2算法:卡内64BIT 算法(Des 算法的变种,提供C语言和51汇编语言程序)该协议包括卡和读写器CPU的互相认证(ELVA专利),而且认证数据加密传送,可以防止通讯数据被窃取。
现在问题是,我根本没有那个F2算法,也无法把这个加密算法加到我的软件。
不知道那位兄弟有,
如果那位兄弟做过,请帮帮小弟,不胜感激!
QQ:23600193
EMAIL:[email protected]
------解决方案--------------------
认证协议
产出随机数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 认证错误;
AT88SC153和AT88SC1608加密卡简介
ATMEL接触式IC卡及开发实例