一种量子安全的兑换数字货币的方法与流程

文档序号:34382234发布日期:2023-06-08 03:30阅读:93来源:国知局
一种量子安全的兑换数字货币的方法与流程

本发明涉及数字货币,具体涉及一种量子安全的兑换数字货币的方法。


背景技术:

1、数字货币是纸质货币的电子形式,其功能属性与纸质货币相同,只是以数字化的形态存在。随着应用领域不断拓宽,数字货币基本实现了对“吃穿住用行”等日常高频消费场景的全覆盖,能够更大范围地服务实体经济和百姓生活,带动了数字货币普惠性的提升,公众对数字货币的接受程度也变得更高;同时数字货币能够加速商业银行的数字化转型,打破各大支付平台的数据垄断,这就带动了数字货币的流通。数字货币的流通使得数字货币的需求量增大,用户需要将货币兑换为数字货币进行消费,因此保障大众兑换数字货币的安全性尤为重要。

2、然而由于数字货币衍生进化较快,在技术和管理方面发展仍然不成熟,在成本、效率、存储、安全等方面都还有很多问题没有解决;相对于现在的货币兑换系统,数字货币系统仍面临很多危险,特别是来自互联网的危险,例如黑客的入侵,数据混淆、量子计算机的超强计算能力等。目前量子计算机针对哈希算法可将攻击复杂度从o(2n)降为o(2n/2)。比如,目前采用的哈希算法piremd160算法由于输出长度只有160比特,在量子攻击下是不安全的。同时,目前已知的传统公私钥密码体制在量子计算攻击面前都是不安全的。这也就意味着,在量子计算机面前,利用传统密码学的网络通信,包括数字货币的兑换,都面临严重的安全威胁。为推进数字货币经济发展,兑换的安全性是首要关注的问题。


技术实现思路

1、发明目的:本发明提供一种量子安全的兑换数字货币的方法,解决了现在的货币兑换系统在兑换过程中存在的密码学安全问题。本发明在兑换数字货币的过程中使用量子保密通信技术,将数字货币兑换中的密码学提升到量子安全水平。

2、技术方案:本发明提供一种量子安全的兑换数字货币的方法,所述方法的参与方包括:商业银行、ca认证中心、兑换用户和数字货币发钞行;所述方法包括以下步骤:

3、(1)所述ca认证中心向所有已注册数字货币账号的所述兑换用户颁发其公开ca证书和隐私ca证书,颁发完成后,ca认证中心和兑换用户均存储有兑换用户的所述公开ca证书和所述隐私ca证书;

4、(2)所述兑换用户向所述商业银行发起兑换数字货币的请求,响应于所述兑换用户发起了所述请求,所述ca认证中心和所述兑换用户分别基于所述隐私ca证书生成与所述兑换请求对应的一次性ca证书,其中,所述兑换用户生成的一次性ca证书为otca,所述ca认证中心生成的一次性ca证书为otca’;

5、(3)所述兑换用户将所述请求、所述公开ca证书以及生成的所述一次性ca证书拼装成对应的签名文件sign,针对所述签名文件sign,所述ca认证中心、所述兑换用户和所述商业银行进行三方的量子数字签名,其中所述兑换用户为签名方,所述ca认证中心和所述商业银行为验签方,当所述ca认证中心和所述商业银行都验签通过时,进入下一步;否则验签不通过,结束此次兑换业务;

6、(4)所述商业银行根据所述请求进行相应的信息审核,若所述信息审核结果出现异常,结束此次兑换业务,随后将信息提示发送至所述兑换用户;若所述信息审核通过,所述商业银行根据所述兑换请求生成货币转移请求req,并将所述货币转移请求req发送给所述数字货币发钞行,所述商业银行和所述数字货币发钞行根据所述货币转移请求req执行兑换业务,并获取此次兑换业务的兑换结果;

7、(5)所述商业银行根据所述兑换结果,生成兑换成功或失败的信息,并将所述信息发送给所述兑换用户,在所述兑换用户反馈接收信息成功时,此次兑换业务结束。

8、进一步地,所述步骤(2)中所述兑换用户基于所述隐私ca证书生成与所述兑换请求对应的一次性ca证书otca的过程包括:

9、1)所述兑换用户从本地获取选择一组n位随机数,n位随机数用于生成n阶不可约多项式,再将不可约多项式中除最高项以外每一项系数组成的n位字符串记为;

10、2)所述兑换用户与所述ca认证中心之间共享三组量子密钥、和,其中、和长度均为n;所述兑换用户选择n阶不可约多项式和作为输入随机数的共享密钥得到基于线性反馈移位寄存器的哈希函数,再使用所述哈希函数计算隐私ca证书的哈希值,记为;所述兑换用户使用加密密钥对进行加密,得到第一加密值,所述第一加密值即为所述兑换用户生成的一次性ca证书;

11、所述步骤(2)中所述ca认证中心基于所述隐私ca证书生成与所述兑换请求对应的一次性ca证书otca’的过程包括:

12、1)基于所述兑换用户与所述ca认证中心之间共享所述三组量子密钥、和,所述兑换用户用共享密钥加密字符串,加密采用异或操作得到;

13、2)所述兑换用户把加密后的结果发给所述ca认证中心,所述ca认证中心收到后,使用共享密钥对加密结果进行解密,得到字符串,所述ca认证中心依次用字符串的每一位对应多项式中除最高项以外每一项的系数,生成gf(2)域上的一个最高阶系数为1的n阶不可约多项式,再选择所述不可约多项式和作为输入随机数的共享密钥串生成基于线性反馈移位寄存器的哈希函数,使用哈希函数计算所述ca认证中心中存储的兑换用户的隐私ca证书的哈希值,记为,随后所述ca认证中心使用共享密钥加密,加密采用异或操作得到第二加密值即为ca认证中心生成的一次性ca证书。

14、进一步地,所述兑换用户存储所述一次性ca证书,为所述一次性ca证书设定第一有效期,超过所述第一有效期即予以作废;

15、所述ca认证中心存储所述一次性ca证书,为所述一次性ca证书设定第二有效期,超过所述第二有效期即予以作废;其中,所述第二有效期与所述第一有效期相同。

16、进一步地,步骤(3)中所述ca认证中心、所述兑换用户和所述商业银行进行三方的量子数字签名的过程包括:

17、s1、所述兑换用户从本地获取一个随机数用于生成不可约多项式,再将不可约多项式中除最高项以外每一项系数组成的字符串记为;

18、s2、所述兑换用户和所述ca认证中心进行密钥协商,分别获得共享密钥和,其中和的长度均为n;所述兑换用户和所述商业银行进行密钥协商,分别获得共享密钥和,其中和的长度均为n;所述兑换用户对拥有的密钥、、和执行异或操作,得到密钥和,如下:

19、

20、

21、;

22、s3、所述兑换用户选择不可约多项式和作为输入随机数的密钥生成哈希函数,使用哈希函数对所述签名文件sign执行哈希运算,得到哈希值;随后兑换用户使用密钥和密钥分别对哈希值和字符串进行加密,得到签名消息:

23、,

24、所述兑换用户将签名消息传输给所述商业银行;

25、s4、所述商业银行收到签名消息后,将签名消息和自己拥有的密钥和一起发送给所述ca认证中心,所述ca认证中心将自己拥有的密钥和一起发送给所述商业银行,双方的信息交换通过经认证的信道进行;

26、s5、所述商业银行对其拥有的密钥、、执行异或操作,得到密钥和,其中:

27、

28、

29、;

30、所述商业银行使用密钥对签名消息中的进行解密,得到,再使用密钥对签名消息中的进行解密,得到字符串,接着所述商业银行使用字符串的每一位对应多项式除最高项以外的各项的系数,生成一个最高项系数为1的不可约多项式,选择所述不可约多项式和作为输入随机数的密钥生成哈希函数,使用哈希函数对签名消息中的执行哈希运算,得到哈希值,比较计算得到的哈希值和解密得到的是否相等,若相等,则验签通过;否则验签不通过;

31、s6、所述ca认证中心对其拥有的密钥、、执行异或操作,得到密钥和,其中:

32、

33、

34、;

35、所述ca认证中心使用密钥对签名消息中的进行解密,得到,再使用密钥对签名消息中的进行解密,得到字符串,接着ca认证中心使用字符串的每一位对应多项式除最高项以外的各项的系数,生成一个最高项系数为1的不可约多项式,选择所述不可约多项式和作为输入随机数的密钥生成哈希函数,使用哈希函数对签名消息中执行哈希运算,得到哈希值,比较计算得到的哈希值和解密得到的是否相等,若相等,则比对通过,否则比对不通过;所述ca认证中心将签名消息中内的与ca认证中心生成一次性ca证书进行比对,若相等,则比对通过,否则比对不通过;所述ca认证中心只有当哈希值比对和一次性ca证书比对均通过时,才验签通过,否则验签不通过;

36、s7、当步骤s5中的商业银行和步骤s6中的ca认证中心都验签通过时,进入所述步骤(4);否则验签不通过,结束此次兑换业务。

37、进一步地,所述请求exch_req包括所述兑换用户的身份信息、兑换明细、以及兑换时间戳;其中,所述兑换用户的身份信息进一步包括:所述兑换用户在所述商业银行的银行账户信息、以及所述兑换用户在所述数字货币发钞行的数字货币账户信息。

38、进一步地,所述步骤(4)中的信息审核包括以下一个或多个:

39、审核兑换用户在数字货币发钞行的数字货币账户是否开户,账户是否存在异常;或者,审核兑换用户在商业银行的银行账户是否存在异常;或者,根据所述请求中的兑换明细审核兑换用户的银行账户余额是否满足兑换金额要求,如果余额大于等于兑换金额,则审核通过;如果余额小于兑换金额,则审核异常。

40、进一步地,所述货币转移请求req进一步包括:所述兑换用户的银行账户中的扣减金额请求req1以及所述兑换用户的数字货币账户中的增加金额请求req2,所述步骤(4)中将所述货币转移请求req发送给所述数字货币发钞行,所述商业银行和所述数字货币发钞行根据所述货币转移请求req执行兑换业务,并获取此次兑换业务的兑换结果进一步包括:

41、所述商业银行根据所述扣减金额请求req1从兑换用户的银行账户中扣减与兑换明细相一致的账户金额;当商业银行扣减兑换用户的银行账户金额成功时,所述商业银行将所述货币转移请求req发送给所述数字货币发钞行;所述数字货币发钞行根据增加金额请求req2生成与兑换明细相一致的数字货币,并将生成的数字货币增加到所述兑换用户的数字货币账户;所述数字货币发钞行将数字货币账户增加金额成功的信息发送给所述商业银行;以及所述商业银行将银行账户扣减金额成功的信息和数字货币账户增加金额成功的信息共同构成此次兑换业务的兑换结果。

42、进一步地,所述步骤s6中,所述ca认证中心将签名消息中内的与ca认证中心生成一次性ca证书进行比对之前,所述ca认证中心先核验签名消息中内的的第一有效期,超期则核验不通过,将反馈信息发送至所述兑换用户与所述商业银行。

43、进一步地,所述方法进一步包括:

44、所述商业银行为本次兑换业务生成相应的业务编号,业务编号的结构包括所述兑换用户的身份信息、序列信息,其中,所述兑换用户的身份信息是所述公开ca证书中的证书编号;所述序列信息为从1开始的整数。

45、进一步地,前述将反馈信息发送至所述兑换用户与所述商业银行采用量子安全的消息认证码的方式进行发送;步骤(4)中将信息提示发送至所述兑换用户、将所述货币转移请求req发送给所述数字货币发钞行、以及所述步骤(5)中将所述信息发送给所述兑换用户均采用量子安全的消息认证码的方式进行发送。

46、本发明的有益效果:通过引入ca认证中心,在兑换数字货币的过程中,使用量子保密通信技术。无论是兑换用户的身份认证,还是兑换过程中数字货币的转移都提升到了量子安全水平。本发明提出的一种量子安全的兑换数字货币的方法可以有效抵御因算法、算力提升而出现的攻击,保证了兑换数字货币的安全性。

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