一种利用时间戳对Ultralight射频卡的动态RSA加密与识别方法与流程

文档序号:15454992发布日期:2018-09-15 00:52阅读:1038来源:国知局

本发明涉及数据加密领域,尤其涉及一种利用时间戳对ultralight射频卡的动态rsa加密与识别方法。



背景技术:

一次性设备,由于其产量较大,因此需要尽量降低因识别功能而增加的成本,并且要尽量降低开发难度和开发周期。射频卡常用于对设备进行识别,主流的射频卡为m1射频卡、cpu射频卡、ultralight射频卡等。

m1射频卡由于已经存在破解其加密系统的方法,因此在使用时的一般解决方案是通过射频卡全球唯一的id号绑定到某一个卡上,再通过后台的服务器对人员或设备的相关信息进行操作。该方案必须使用到服务器,无疑增加了整个系统的成本和研发周期。cpu射频卡的加密系统比较完善,但其结构比较复杂,相关操作指令厂家也不对外开放,对开发人员来说不友好,开发周期会比较长,同时cpu射频卡本身的售价相对来说比较高。

为了解决上述问题,本发明提出一种利用时间戳对ultralight射频卡的动态rsa加密与识别方法,利用时间戳的加密算法对其进行加密,识别设备使用对应的秘钥进行解密,以此完成一次性设备的识别。

该方案提出的利用时间戳的方法是当今通信领域中加密技术的基础,利用它解决了射频卡数据保密的问题。ultralight射频卡的低成本,也降低了一次性设备的硬件成本。由于rsa算法的资料和程序已经完善,同时ultralight射频卡的资料对外开放,这大大降低了开发人员的开发难度。



技术实现要素:

为了解决上述问题,本发明提出一种利用时间戳对ultralight射频卡的动态rsa加密与识别方法。

具体的,一种利用时间戳对ultralight射频卡的动态rsa加密方法,包含以下步骤:

s11,读取当前的时间,并将当前时间记录为时间戳;

s12,对所述时间戳使用aes进行加密,得到时间戳密文;

s13,对所述时间戳进行特定运算,得到一组符合rsa算法的公钥;

s14,读取ultralight射频卡的id号;

s15,使用s12中的公钥对s13中读取的id号加密,得到id号密文;

s16,将s12中所述时间戳密文和s15中所述id号密文,进行累加和运算,得到crc数据;

s17,将s16中所述的时间戳密文、id号密文和crc数据,写入ultralight射频卡数据区;

s18,加密完成。

优选的,s13中所述特定运算,包含以下步骤:

s131,将读取到的时间戳分解成“年”、“月”、“日”,并分别将其值加1;“年”乘以“日”的结果进行素数判断,如果不是则结果减1,直到为素数,得到素数a;“月”乘以“日”的结果进行素数判断,如果不是则加1,直到为素数,得到素数b;计算c=(a-1)*(b-1),则d为c除以10000的商取整的值加上“日”;计算e=a*b;

s132,如果c为素数,则d和e组成公钥;如果c不是素数,则计算d+1,如果d+1为素数,且c不能整除d+1,则d和e组成公钥,否则继续d+2,直到满足条件;

s133,根据a、b、d的值,rsa算法计算私钥的定义,通过扩展欧几里得算法得到解,作为与s132对应的一组私钥。

优选的,所述判断是否为素数的方法为miller-rabin算法。

同时还公布了一种利用时间戳对ultralight射频卡的动态rsa识别方法,应用于使用前述的一种利用时间戳对ultralight射频卡的动态rsa加密方法所加密后的ultralight射频卡,其包含以下步骤:

s21,读取ultralight射频卡的数据区和id号;

s22,对数据区中的数据进行crc校验,验证数据正确性;

s23,根据时间戳的密文,使用aes进行解密,再利用s13中的特定的运算,计算出加密的公钥;

s24,根据公钥计算出解密的私钥;

s25,根据s24中解密的私钥计算出id号,并判断是否与s21中读取到的id号相一致;如果一致,转s26;不一致,提示错误信息,转s27;

s26,标记该一次性设备已经被识别;

s27,识别结束。

优选的,s26中所述的标记是在ultralight射频卡的数据区内写入特定的数据。

本发明的有益效果在于:该方案提出的加密算法在密码领域中有深厚的技术基础,利用它解决了射频卡数据保密的问题。ultralight射频卡的低成本,也降低了一次性设备的硬件成本。由于目前各种加密算法的资料和程序已经完善,加之ultralight射频卡的资料对外开放,这大大降低了开发人员的开发难度。同时,该利用时间戳技术提高了ultralight射频卡的破解难度和安全性。

附图说明

图1是本发明的步骤流程图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。

本发明提出一种利用时间戳对ultralight射频卡的动态rsa加密方法。

具体的,包含以下步骤:

s11,读取当前的时间,并将当前时间记录为时间戳;

s12,对所述时间戳使用aes进行加密,得到时间戳密文;此处对称加密算法的密钥与时间戳是对应的,其对应关系是一对一对应或一对多对应。比如说,在加密要求较低的情况下,该对称密钥可以为n天变化一次,即根据时间戳的时间,时间在n天之内,均采用同一密钥。而且此密钥可以提前获知,不通过实时的获取,以减少系统复杂度和提高读取效率。

s13,对所述时间戳进行特定运算,得到一个符合rsa算法的公钥;

s14,读取ultralight射频卡的id号;

s15,使用s12中的公钥对s13中读取的id号加密,得到id号密文;

s16,将s12中所述时间戳密文和s15中所述id号密文,进行累加和运算,得到crc数据;

s17,将s16中所述的时间戳密文、id号密文和crc数据,写入ultralight射频卡数据区;

s18,加密完成。

优选的,s13中所述特定运算,包含以下步骤:

s131,将读取到的时间戳分解成“年”、“月”、“日”,并分别将其值加1,因此可知:其中年为一个4位整数,“月”的取值范围为2至13,“日”的取值范围为2至32。“年”乘以“日”的结果进行素数判断,如果不是则结果减1,直到为素数,得到素数a;“月”乘以“日”的结果进行素数判断,如果不是则加1,直到为素数,得到素数b;计算c=(a-1)*(b-1),则d为c除以10000的商取整的值加上“日”;计算e=a*b;

s132,如果c为素数,则d和e组成公钥;如果c不是素数,则计算d+1,如果d+1为素数,且c不能整除d+1,则d和e组成公钥,否则继续d+2,d+3....,直到满足条件;

s133,根据a、b、d的值,rsa算法计算私钥的定义,通过扩展欧几里得算法得到解,作为与s132对应的一组私钥。

优选的,所述判断是否为素数的方法为miller-rabin算法。考虑算法的复杂程度,也可以选用素数的定义就行判定。

同时还公布了一种利用时间戳对ultralight射频卡的动态rsa识别方法,应用于使用前述的一种利用时间戳对ultralight射频卡的动态rsa加密方法所加密后的ultralight射频卡,其包含以下步骤:概括地说,该识别的方法为前述的加密方法的逆用:

s21,读取ultralight射频卡的数据区和id号;

s22,对数据区中的数据进行crc校验,验证数据正确性;

s23,根据时间戳的密文,使用aes进行解密,再利用s13中的特定的运算,计算出加密的公钥;

s24,根据公钥计算出解密的私钥;此处为公知算法;

s25,根据s24中解密的私钥计算出id号,并判断是否与s21中读取到的id号相一致;如果一致,转s26;不一致,提示错误信息,转s27;

s26,标记该一次性设备已经被识别;此处所述的标记是在ultralight射频卡的数据区内写入特定的数据,比如在ultralight射频卡的第三页写入标记数据;

s27,识别结束。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、rom、ram等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1