1.一种基于量子重加密的区块链数据共享方法,其特征在于,包括以下步骤:S1,数据拥有者选择量子行走的初始参数,使用基于受控交替量子行走的哈希函数计算数据的量子哈希值;
S2,数据拥有者利用自己的私钥加密数据,对密文数据添加诱骗粒子生成混合序列,将混合序列发送至区块链分布式应用服务器;
S3,区块链分布式应用服务器使用重加密密钥和酉矩阵对数据做重加密处理,返回重加密密钥和酉矩阵给数据拥有者;
S4,区块链分布式应用服务器调用智能合约关联量子哈希值和密文数据,并将密文数据上传至分布式数据库,将量子哈希值上传至区块链;
S5,数据拥有者利用私钥、重加密密钥和对应的酉矩阵计算解密密钥;
S6,数据访问者发起数据访问请求,分布式应用服务器为其提供密文数据和访问授权服务,数据拥有者为其提供解密密钥和初始参数;
S7,数据访问者解密数据,计算所得到数据的量子哈希值,验证数据完整性;
步骤S1具体包括以下分步骤:
t
S11,数据拥有者选择量子行走的初始参数(n,t,θ0,θ1,α,β),其中θ0,θ1∈(0,π/t),|α|t+β=1,n表示二维空间的每个方向上的点数,T代表行走步数;
S12,将数据表示成L位长的二进制序列s0=S1St……Sl,制备初态|ψ0>=|0,0>(α|0>+β|
1>),使用θ0,θ1计算硬币算符C0,C1:S13,当sL=0,|ψ0>在由C0构造的演化算子 的控制下执行,当sL=1,|ψ0>在由C1构造的演化算子的 控制下执行,在行走t步后得到最终状态ψt>,对不同位置的量子态进行测量得到该位置概率p,并构成n×n的概率矩阵;
S14,对概率矩阵中的每个元素做放大处理并取模,得到最终的量子哈希值Hashdata。
2.如权利要求1所述的基于量子重加密的区块链数据共享方法,其特征在于,步骤S2具体包括以下分步骤:S21,数据拥有者根据初始序列S0使用基态编码制备量子序列S,当sL=0,生成量子态|0>,当sL=1,生成量子态|1>,量子态序列S表示为|s1>|st>……|sL>;
S22,利用量子随机数生成器(QRNG)生成随机的L位的量子密钥 随机的从{X,Y,Z,H,S,T}中选择L个酉矩阵(1)
S23,利用k1和 对S加密得到序列S ,表示为其中
(1) (1)′ (1)′
S24,对S 随机添加L个诱骗粒子|0>,|1>,|+>,|‑>,生成序列S ,将S 传输至区块链分布式应用服务器;
步骤S2还包括对数据拥有者与区块链分布式应用服务器通信的量子信道进行安全检测,具体为:(1)′
当区块链分布式应用服务器接收完数据拥有者传输的序列S 后,由数据拥有者公布所有诱骗粒子的位置和相应测量基;
区块链分布式应用服务器根据该测量基测量所有诱骗态粒子,并公布测量结果;
数据拥有者将诱骗态的初始态与测量结果进行对比,判断错误概率是否超过预设阈值;若是,则重启数据拥有者与区块链分布式应用服务器通信的量子信道协议;否则判断量子信道安全。
3.如权利要求1所述的基于量子重加密的区块链数据共享方法,其特征在于,步骤S3具体包括以下分步骤:S31,利用量子随机数生成器生成随机的L位的量子密钥 随机的从{X,Y,Z,H,S,T}中选择L个酉矩阵(1) (t)
S32,利用Kt和 对S 重加密,得到密文序列S ,其中
S33,首先,对{X,Y,Z,H,S,T}进行编码,编码规则具体为:将X门编码为000,将Y门编码为001,将Z门编码为010,将H门编码为011,将S门编码为
100,将T门编码为101,根据酉矩阵对应的编码将 编码成序列Ut;
S34,根据基态编码规则,将Kt、Ut编码成量子态|Kt>,Ut,|Kt>的长度为L,Ut的长度为3L;
S35,在|Kt>中随机添加L个诱骗粒子0>,1,+,‑>,生成序列|Kt>′,在ut中随机插入3L个诱骗粒子|0>,|1>,|+>,|‑>,生成|U2′,将|Kt>′,|Ut>′发送给数据拥有者;
步骤S3还包括对区块链分布式应用服务器与数据拥有者通信的量子信道进行安全检测,具体为:当数据拥有者接收完区块链分布式应用服务器传输的序列|Kt>′,Ut′后,由区块链分布式应用服务器公布所有诱骗粒子的位置和相应测量基;
数据拥有者根据测量基测量所有诱骗粒子,并测量结果;
区块链分布式应用服务器将诱骗粒子的初始态与测量结果进行对比,判断错误概率是否超过预设阈值;若是,则重启区块链分布式应用服务器与数据拥有者通信的量子信道协议;否则判断量子信道安全。
4.如权利要求1所述的基于量子重加密的区块链数据共享方法,其特征在于,步骤S4具体为:(t)
区块链分布式服务器接收量子密文哈希值Hashdata,将Hashdata与S 关联,生成数据的记录文件DataFile,该文件用于记录数据的基本信息和后续访问情况;调用“数据上传”智(t)能合约,将hashdata存储到区块链,将S 存储值分布式数据库。
5.如权利要求1所述的基于量子重加密的区块链数据共享方法,其特征在于,步骤S5具体为:S51,数据拥有者从Kt′,Ut>′中移除诱骗粒子,进行测量,恢复出Kt和
S52,根据 计算解密密钥U=(U1,
Ut,……UL),其中
S53,根据上述酉矩阵的编码规则对U1到Ui编码,得到解密密钥序列Uk;
S54,根据基态编码规则将Uk编码成量子态|Uk>,在|Uk>中随机的插入3L个诱骗粒子|0>,|1>,|+>,|‑>,生成序列|Uk>′;
步骤S5还包括对数据拥有者与数据访问者通信的量子信道进行安全检测,具体为:当数据访问者接收完数据拥有者传输的序列|Uk>′后,由数据访问者公布所有诱骗粒子的位置和相应测量基;
数据访问者根据测量基测量所有诱骗粒子,并测量结果;
数据拥有者将诱骗粒子的初始态与测量结果进行对比,判断错误概率是否超过预设阈值;若是,则重启数据拥有者与数据访问者通信的量子信道协议;否则判断量子信道安全。
6.如权利要求1所述的基于量子重加密的区块链数据共享方法,其特征在于,步骤S6具体为:当数据访问者付费购买数据后,区块链分布式应用服务器向数据访问者提供密文数据(t)S ,并为他生成唯一的访问凭证Cert。
7.如权利要求1所述的基于量子重加密的区块链数据共享方法,其特征在于,步骤S7具体包括以下分步骤:S71、使用Cert向数据拥有者申请解密密钥U;
(t)
S72、利用U解密S 得到S′,S′=|s′1>|s′t>……|s′L>,其中′
S73、对S进行测量得到S0′,使用S0′和初始化参数(n,t,θ0,θ1,α,β)控制量子行走,计算Hashdata′,判断Hashdata′是否等于Hashdata,若相等,则接收该数据,若不相等,则拒绝该数据。
8.一种实现如权利要求1~7任意一项所述基于量子重加密的区块链数据共享方法的基于量子重加密的区块链数据共享系统,其特征在于,包括:数据拥有者模块,提供数据,与网络中的其他用户共享自己的数据,加密数据并计算量子哈希值,计算并提供解密密钥;
量子哈希值计算模块,用于根据量子行走的初始参数,使用基于受控交替量子行走的哈希函数计算数据的量子哈希值;
混合序列生成模块,用于对密文数据添加诱骗粒子生成混合序列,将混合序列发送至区块链分布式应用服务器;
区块链分布式应用服务器,用于接收用户的密文数据和量子哈希值,进行重加密,将重加密密文上传至分布式数据库,将量子哈希值上传至区块链;接收并处理用户的数据访问请求,向数据拥有者提供重加密密钥,向数据访问者提供密文和访问凭证;
数据访问者模块,付费购买密文数据,使用解密密钥解密密文数据,验证数据完整性。
9.一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1~7任意一项所述的基于量子重加密的区块链数据共享方法的步骤。