对USBKey验证、读取、加密、解密的方法

文档序号:7822090阅读:1847来源:国知局
对USB Key验证、读取、加密、解密的方法
【专利摘要】本发明提供了一种对USB Key验证、读取、加密、解密的方法,其中,对USB Key验证的方法包括:获取用户输入计算机的指令信息和USB Key中的预设指令信息;比较指令信息与预设指令信息,在指令信息与预设指令信息相同时,读取与计算机连接的USB Key中的身份字段的数据和USB Key的序列号;根据身份字段的数据和序列号,构造Trivium算法的第一密钥,采用第一密钥获取所述Trivium算法中的输出字段的数据;比较输出字段的数据与身份字段的数据,在输出字段的数据与身份字段的数据相同时,则身份验证通过。通过本发明提供的一种对USB Key验证、读取、加密、解密的方法,能够有效地保证USB Key的安全性,同时通过Trivium算法可以保证USB Key里面的内容不被篡改和USB Key里面的内容不被伪造。
【专利说明】对USB Key验证、读取、加密、解密的方法

【技术领域】
[0001] 本发明设及数据的加密和解密的【技术领域】,尤其设及一种对USB Key验证、读取、 加密、解密的方法。

【背景技术】
[0002] Trivium算法是基于硬件的同步流密码的算法,是一种高安全性、高效性和可变性 的流密码加密算法,能够简单快速的在硬件上实现。
[0003] U 盾化niversal Serial Bus Key,简称 USB Key)是 USB 接 口硬件设备的一种, USB其具有内置的单片机和智能卡巧片,具有一定的存储空间,可W存储用户的私钥和数字 证书,利用USB Key内置的公钥算法对用户进行身份的验证,因为用户的私钥存储于密码锁 中,因此不能被读出,W此来确保用户身份验证的安全性。
[0004] 在市场中多数的USB Key产品中只能导入证书和内部生成的公私密钥对,但是在 现实的环境中,USB Key中需要导入一些特定的内容,比如说自己的会话密钥,此时,对USB Key中的内容的安全性不能只能通过硬件机制来保护,同时还需要软件来保护USB Key中 的内容的不可篡改性和不可伪造性。


【发明内容】

[0005] 针对现有技术中的缺陷,本发明提供一种对USB Key验证、读取、加密、解密的方 法,能够有效地保证USB Ifey的安全性,同时通过Trivium算法可W保证USB Ifey里面的内 容不被篡改和USB Key里面的内容不被伪造。
[0006] 第一方面,本发明提供一种USB K巧验证方法,包括:
[0007] 获取用户输入计算机的指令信息和USB Key中的预设指令信息;
[000引比较所述指令信息与所述预设指令信息,在所述指令信息与所述预设指令信息相 同时,读取与所述计算机连接的USB Key中的身份字段的数据和所述USB Key的序列号;
[0009] 根据所述身份字段的数据和所述序列号,构造Trivium算法的第一密钥,采用所 述第一密钥获取所述Trivium算法中的输出字段的数据;
[0010] 比较所述输出字段的数据与所述身份字段的数据,在所述输出字段的数据与所述 身份字段的数据相同时,则身份验证通过。
[0011] 进一步地,所述身份字段的数据长度为20位,所述USB Key序列号的长度为16 位;
[0012] 所述根据所述身份字段的数据和所述序列号,构造Trivium算法的第一密钥,采 用所述第一密钥获取所述Trivium算法中的输出字段的数据,包括:
[0013] 根据所述身份字段的数据中的前4位数据和所述16位序列号,采用第一公式,构 造Trivium算法的20位的第一密钥,采用所述20位的第一密钥获取所述Trivium算法中 的16位的输出字段的数据;
[0014] 所述第一公式为:
[0015]

【权利要求】
1. 一种USBKey验证方法,其特征在于,包括: 获取用户输入计算机的指令信息和USBKey中的预设指令信息; 比较所述指令信息与所述预设指令信息,在所述指令信息与所述预设指令信息相同 时,读取与所述计算机连接的USBKey中的身份字段的数据和所述USBKey的序列号; 根据所述身份字段的数据和所述序列号,构造Trivium算法的第一密钥,采用所述第 一密钥获取所述Trivium算法中的输出字段的数据; 比较所述输出字段的数据与所述身份字段的数据,在所述输出字段的数据与所述身份 字段的数据相同时,则身份验证通过。
2. 根据权利要求1所述的USBKey验证方法,其特征在于, 所述身份字段的数据长度为20位,所述USBKey序列号的长度为16位; 所述根据所述身份字段的数据和所述序列号,构造Trivium算法的第一密钥,采用所 述第一密钥获取所述Trivium算法中的输出字段的数据,包括: 根据所述身份字段的数据中的前4位数据和所述16位序列号,采用第一公式,构造Trivium算法的20位的第一密钥,采用所述20位的第一密钥获取所述Trivium算法中的 16位的输出字段的数据; 所述第一公式为:
其中,Uuidi为所述身份字段的数据的前4位数据,serialNumberi_4为所述USBKey的 16位的序列号,keyl为所述20位的第一密钥。
3. 根据权利要求2所述的USBKey验证方法,其特征在于,所述方法还包括: 比较16位的输出字段的数据与所述除前4位的身份字段的16位的数据,若16位的输 出字段的数据与所述除前4位的身份字段的16位的数据相同,则身份验证成功,否则身份 验证失败。
4.一种USBKey读取方法,其特征在于,包括: 获取用户输入计算机的指令信息和所述USBKey中的预设指令信息; 比较所述指令信息与所述预设指令信息,在所述指令信息与所述预设指令信息相同 时,读取与所述计算机连接的USBKey中的身份字段的数据和所述USBKey中的第一字段 的数据; 根据所述身份字段的数据和所述第一字段的数据,构造Trivium算法的第二密钥,采 用所述第二密钥对所述第一字段的数据进行解密,以获得所述第一字段的数据的实际值。
5. 根据权利要求4所述的USBKey读取方法,其特征在于, 所述身份字段的数据长度为20位,所述第一字段的数据长度大于4位; 所述根据所述身份字段的数据和所述第一字段的数据,构造Trivium算法的第二密 钥,采用所述第二密钥对所述第一字段的数据进行解密,以获得所述第一字段的数据的实 际值,包括: 根据所述除前4位的身份字段的16位的数据与所述第一字段的数据的前4位数据,采 用第二公式,构造Trivium算法的20位的第二密钥,采用所述20位的第二密钥,对所述除 前4位的第一字段的数据进行解密,以获得所述除前4位的第一字段的数据的实际值; 所述第二公式为:
其中,UUidp4为除前4位的身份字段的16位的数据,Clatai为所述第一字段的数据的 前4位数据,key2为所述20位的第二密钥。
6.-种USBKey加密方法,其特征在于,包括: 获取用户输入计算机的指令信息和USBKey中的预设指令信息; 比较所述指令信息与所述预设指令信息,在所述指令信息与所述预设指令信息相同 时,获取所述计算机随机生成的第三密钥和读取所述USBKey中的预设的第四密钥; 根据所述第三密钥和所述第四密钥,构造Trivium算法的第五密钥,采用所述第五密 钥对输入数据进行加密,获得加密数据。
7. 根据权利要求6所述的USBKey加密方法,其特征在于, 所述第三密钥的长度为20位,所述第四密钥的长度为20位; 所述根据所述第三密钥和所述第四密钥,构造Trivium算法的第五密钥,采用所述第 五密钥对输入数据进行加密,获得加密数据,包括: 根据所述20位的第三密钥和所述20位的第四密钥,采用第三公式的异或运算,构造Trivium算法的20位的第五密钥,采用所述20位的第五密钥对所述输入数据进行加密,以 获得加密数据; 所述第三公式为:key5 =key3 ?key4 其中,key3为所述20位的第三密钥,key4为所述20位第四密钥,key5为所述20位的 第五密钥。
8. 根据权利要求7所述的USBKey加密方法,其特征在于,所述方法还包括: 创建输出数组,用于存放所述20位的第五密钥和所述加密数据; 其中,所述输出数组的存储顺序为1位计算的随机数、所述20位的第五密钥和所述加 密数据。
9.一种USBKey解密方法,其特征在于,包括: 获取用户输入计算机的指令信息和USBKey中的预设指令信息; 比较所述指令信息与所述预设指令信息,在所述指令信息与所述预设指令信息相同 时,读取所述USBKey中预设的第六密钥和待解密数据中的第七密钥; 根据所述第六密钥和所述第七密钥,构造Trivium算法的第八密钥,采用所述第八密 钥对所述待解密数据进行解密,获得解密数据。
10. 根据权利要求9所述的USB解密方法,其特征在于, 所述第六密钥的长度为20位,所述第七密钥的长度为20位; 所述根据所述第六密钥和所述第七密钥,构造Trivium算法的第八密钥,采用所述第 八密钥对所述待解密数据进行解密,获得解密数据,包括: 根据所述20位的第六密钥和所述20位的第七密钥,采用第四公式的异或运算,构造 Trivium算法的20位的第八密钥,采用所述20位的第八密钥对所述待解密数据进行解密, 获得解密数据; 所述第四公式为:key8 =key6 ?key7 其中,key6为所述20位的第六密钥,key7为所述20位第七密钥,key8为所述20位的 第八密钥。
【文档编号】H04L9/08GK104504322SQ201410738670
【公开日】2015年4月8日 申请日期:2014年12月5日 优先权日:2014年12月5日
【发明者】王思叶, 张诗永, 朱大立, 陈恭亮 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1