[发明专利]一种区块链交易关键字可搜索加密方法及系统有效
申请号: | 202010778012.2 | 申请日: | 2020-08-05 |
公开(公告)号: | CN111914027B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 陈红松;张艺潆 | 申请(专利权)人: | 北京科技大学 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23;G06F16/174;G06Q40/04;G06F21/60;G06F21/64;H04L9/32;H04L9/40;H04L67/1097 |
代理公司: | 北京市广友专利事务所有限责任公司 11237 | 代理人: | 张仲波 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 交易 关键字 搜索 加密 方法 系统 | ||
1.一种区块链交易关键字可搜索加密方法,其特征在于,所述方法包括:
获取当前用户所上传的交易单信息;其中,所述交易单信息包括当前用户要上传的文件、所述文件的关键字、身份标识公钥,以及身份标识私钥;
对所述文件进行压缩,用所述身份标识公钥对压缩后的文件进行加密处理,用所述身份标识私钥对当前待构造的交易单的哈希值进行数字签名;并利用可搜索加密算法对所述关键字进行可搜索加密处理;以完成当前交易单的构造;
基于构造的交易单完成交易单上链处理;并在索引结构中建立当前上链的交易单所存储的经过可搜索加密处理后的关键字和相应区块序号的映射关系;
获取当前用户所输入的搜索关键字,并根据所述搜索关键字,利用所述索引结构搜索与所述搜索关键字对应的区块,并将搜索结果返回给当前用户;
所述完成当前交易单的构造包括:
将时间戳、序列化的加密文件、可搜索加密处理后的关键字、身份标识公钥、交易单哈希值的数字签名存入交易单,完成当前交易单的构造;
所述基于构造的交易单完成交易单上链处理,包括:
当前区块链节点将一段时间内构造的交易单打包后,添加预准备状态的投票状态码,构成投票信息;
当前区块链节点将所述投票信息发送给区块链中的其他节点进行PBFT共识验证,区块链中的其他节点接收所述投票信息并对其中的交易单依次验证,若验证通过,则选举记账节点;若验证失败,则退回当前交易单并不记入区块;
由通过PBFT共识选出的记账权节点构造新区块并广播给其他节点,收到广播信息的节点对所述新区块所包含的交易单进行验证,确认有效后,接收所述新区块,并在各自区块链的尾部添加所述新区块;
获取当前用户所输入的搜索关键字,并根据所述搜索关键字,利用所述索引结构搜索与所述搜索关键字对应的区块,并将搜索结果返回给当前用户,包括:
获取当前用户所输入的搜索关键字,并利用可搜索加密算法对所述搜索关键字进行可搜索加密处理,生成所述搜索关键字对应的陷门;
将所述陷门与所述索引结构进行匹配,若陷门匹配成功,则校验相应区块,再返回匹配交易单;若陷门匹配失败,则返回无对应文件;
获取当前用户所输入的搜索关键字,并根据所述搜索关键字,利用所述索引结构搜索与所述搜索关键字对应的区块,并将搜索结果返回给当前用户,还包括:
在返回匹配交易单后,对交易单的数字签名进行验证,在验证通过后对加密文件通过身份标识密钥解密,再解压缩,以得到对应的明文文件。
2.一种区块链交易关键字可搜索加密系统,其特征在于,所述系统包括:
交易单信息获取模块,用于获取当前用户所上传的交易单信息;其中,所述交易单信息包括当前用户要上传的文件、所述文件的关键字、身份标识公钥,以及身份标识私钥;
数据加密模块,用于对所述文件进行压缩,用所述身份标识公钥对压缩后的文件进行加密处理,用所述身份标识私钥对当前待构造的交易单的哈希值进行数字签名;并利用可搜索加密算法对所述关键字进行可搜索加密处理;
交易单上链模块,用于完成当前交易单的构造,并基于构造的交易单完成交易单上链处理;
索引构造模块,用于在索引结构中建立当前上链的交易单所存储的经过可搜索加密处理后的关键字和相应区块序号的映射关系;
交易单下链模块,用于获取当前用户所输入的搜索关键字,并根据所述搜索关键字,利用所述索引结构搜索与所述搜索关键字对应的区块,并将搜索结果返回给当前用户;
所述交易单上链模块完成当前交易单构造的过程包括:
将时间戳、序列化的加密文件、可搜索加密处理后的关键字、身份标识公钥、交易单哈希值的数字签名存入交易单,完成当前交易单的构造;
所述交易单上链模块基于构造的交易单完成交易单上链处理的过程包括:
当前区块链节点将一段时间内构造的交易单打包后,添加预准备状态的投票状态码,构成投票信息;
当前区块链节点将所述投票信息发送给区块链中的其他节点进行PBFT共识验证,区块链中的其他节点接收所述投票信息并对其中的交易单依次验证,若验证通过,则选举记账节点;若验证失败,则退回当前交易单并不记入区块;
由通过PBFT共识选出的记账权节点构造新区块并广播给其他节点,收到广播信息的节点对所述新区块所包含的交易单进行验证,确认有效后,接收所述新区块,并在各自区块链的尾部添加所述新区块;
所述交易单下链模块具体用于:
获取当前用户所输入的搜索关键字,并利用可搜索加密算法对所述搜索关键字进行可搜索加密处理,生成所述搜索关键字对应的陷门;
将所述陷门与所述索引结构进行匹配,若陷门匹配成功,则校验相应区块,再返回匹配交易单;若陷门匹配失败,则返回无对应文件;
所述交易单下链模块还用于:
在返回匹配交易单后,对交易单的数字签名进行验证,在验证通过后对加密文件通过身份标识密钥解密,再解压缩,以得到对应的明文文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科技大学,未经北京科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010778012.2/1.html,转载请声明来源钻瓜专利网。