【技术实现步骤摘要】
一种区块链交易关键字可搜索加密方法及系统
本专利技术涉及区块链
,特别涉及一种区块链交易关键字可搜索加密方法及系统。
技术介绍
在区块链系统中,任何单一节点都是平等的,可以获取相应的数据,而这些数据均以分布式存储、分布式加密以及分布式记账方式存在。为了达到共识节点的一致性,区块链数据交易记录必须公开给区块链中所有的节点,这必将引发用户交易数据泄露风险。针对这个难题,有研究者提出对交易数据加密后上传至区块链,但这样用户对区块链上交易数据的可搜索性将变差,还需要下载所有数据到本地解密后才能进行搜索,进一步增加了搜索的时间和空间复杂度。而可搜索加密技术就是为解决此问题提出的,但是当前可搜索加密技术多是针对云计算环境下的可搜索加密算法,还缺乏在区块链系统上支持可搜索加密的相关技术。另外,目前的数字签名算法普遍是基于传统的PKI(PublicKeyInfrastructure)公钥密码体系,在管理上存在一定缺陷,如证书查找、撤销、存储、颁发和验证都需要占用大量的计算、存储和网络资源。而标识密码体制可以有效解决此类问题,在 ...
【技术保护点】
1.一种区块链交易关键字可搜索加密方法,其特征在于,所述方法包括:/n获取当前用户所上传的交易单信息;其中,所述交易单信息包括当前用户要上传的文件、所述文件的关键字、身份标识公钥,以及身份标识私钥;/n对所述文件进行压缩,用所述身份标识公钥对压缩后的文件进行加密处理,用所述身份标识私钥对当前待构造的交易单的哈希值进行数字签名;并利用可搜索加密算法对所述关键字进行可搜索加密处理;以完成当前交易单的构造;/n基于构造的交易单完成交易单上链处理;并在索引结构中建立当前上链的交易单所存储的经过可搜索加密处理后的关键字和相应区块序号的映射关系;/n获取当前用户所输入的搜索关键字,并根 ...
【技术特征摘要】
1.一种区块链交易关键字可搜索加密方法,其特征在于,所述方法包括:
获取当前用户所上传的交易单信息;其中,所述交易单信息包括当前用户要上传的文件、所述文件的关键字、身份标识公钥,以及身份标识私钥;
对所述文件进行压缩,用所述身份标识公钥对压缩后的文件进行加密处理,用所述身份标识私钥对当前待构造的交易单的哈希值进行数字签名;并利用可搜索加密算法对所述关键字进行可搜索加密处理;以完成当前交易单的构造;
基于构造的交易单完成交易单上链处理;并在索引结构中建立当前上链的交易单所存储的经过可搜索加密处理后的关键字和相应区块序号的映射关系;
获取当前用户所输入的搜索关键字,并根据所述搜索关键字,利用所述索引结构搜索与所述搜索关键字对应的区块,并将搜索结果返回给当前用户。
2.如权利要求1所述的区块链交易关键字可搜索加密方法,其特征在于,所述完成当前交易单的构造包括:
将时间戳、序列化的加密文件、可搜索加密处理后的关键字、身份标识公钥、交易单哈希值的数字签名存入交易单,完成当前交易单的构造。
3.如权利要求2所述的区块链交易关键字可搜索加密方法,其特征在于,所述基于构造的交易单完成交易单上链处理,包括:
当前区块链节点将一段时间内构造的交易单打包后,添加预准备状态的投票状态码,构成投票信息;
当前区块链节点将所述投票信息发送给区块链中的其他节点进行PBFT共识验证,区块链中的其他节点接收所述投票信息并对其中的交易单依次验证,若验证通过,则选举记账节点;若验证失败,则退回当前交易单并不记入区块;
由通过PBFT共识选出的记账权节点构造新区块并广播给其他节点,收到广播信息的节点对所述新区块所包含的交易单进行验证,确认有效后,接收所述新区块,并在各自区块链的尾部添加所述新区块。
4.如权利要求1所述的区块链交易关键字可搜索加密方法,其特征在于,获取当前用户所输入的搜索关键字,并根据所述搜索关键字,利用所述索引结构搜索与所述搜索关键字对应的区块,并将搜索结果返回给当前用户,包括:
获取当前用户所输入的搜索关键字,并利用可搜索加密算法对所述搜索关键字进行可搜索加密处理,生成所述搜索关键字对应的陷门;
将所述陷门与所述索引结构进行匹配,若陷门匹配成功,则校验相应区块,再返回匹配交易单;若陷门匹配失败,则返回无对应文件。
5.如权利要求4所述的区块链交易关键字可搜索加密方法,其特征在于,获取当前用户所输入的搜索关键字,并根据所述搜索关键字,利用所述索引结构搜索与所述搜索关键字对应的区块,并将搜索结果返回给当前用户,还包括:
在返回匹配交易单后,对交易单的数字签名进行验证,在验证通过后对加密文件通过身份标识密钥解密,再解压...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。