[发明专利]基于平衡排序树存储结构的保序加密算法有效

专利信息
申请号: 201811163799.0 申请日: 2018-10-02
公开(公告)号: CN109495446B 公开(公告)日: 2020-12-22
发明(设计)人: 汪星辰;赵运磊;朱扬勇 申请(专利权)人: 复旦大学
主分类号: H04L29/06 分类号: H04L29/06;H04L9/06;G06F21/60
代理公司: 上海正旦专利代理有限公司 31200 代理人: 陆飞;陆尤
地址: 200433 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明属于密码技术领域,具体为基于平衡排序树存储结构的保序加密算法。本发明算法中,其数据存储基本结构包括AVL树、红黑树、B树、B+树或B*树;不同的数据存储结构,其算法表述略有差异。本发明算法以AVL树结构为例,其包括基本的基于AVL树的理想安全的保序加密算法以及一些改进的的保序加密算法。各种算法都从树形结构、初始化算法、加密算法、解密算法、orderby排序算法、范围查询算法、删除算法、平衡算法、交互式查询算法进行描述。相对于大多数无法达到理想安全的保序加密,本发明中的算法安全性有绝对的优势,本发明给出的算法也进行了全方位的对比,适用于绝大多数系统,尤其适用于安全性需求较高、带宽配置足量的系统。
搜索关键词: 基于 平衡 排序 存储 结构 加密算法
【主权项】:
1.一种基于平衡排序树存储结构的保序加密算法,其特征在于,数据存储基本结构采用AVL树、红黑树、B树、B+树或B*树;不同的数据存储基本结构,其算法表述基本一致;对于AVL树数据存储结构,其包括基本的基于AVL树的理想安全的保序加密算法,以及一些改进的基于AVL树的理想安全的保序加密算法;其中,基本的基于AVL树的理想安全的保序加密算法,其密文的存储及其顺序编码是基于AVL树完成的,仅仅泄露顺序信息;该算法表示为算法元组mOPEAVL=(Init,Enc,Dec,OB,RQ,Del,Bal,IS),命名为mOPEAVL,其中,八个元素分别是Init:初始化算法,Enc:加密算法,Dec:解密算法,OB:排序查询算法,RQ:范围查询算法,Del:删除算法,Bal:树型平衡算法,IS:交互式查询算法;依据AVL树结构,树节点的存储结构为:struct Tree{Treeleft;Tree right;int bf;int counter;bitstring cipher;}其中,各元素分别表示节点的左子树节点、节点的右子树节点、平衡因子、密文计数器、密文;令m为明文;c为密文;sk为私钥;λ为安全参数;q为查询语句,若为范围查询,则包含q.cl或/和q.cr作为查询边界值密文,cl、cr分别表示查询左边界和右边界的密文;st为服务器端存储状态,可理解为树的根节点;mOPEAVL中,八个元素具体描述如下:Init(1λ),初始化算法:依据输入的安全参数λ,进行如下操作:ⅰ,sk←DET.KeyGen(1λ),客户端执行密钥生成算法产生私钥;ⅱ,服务器端初始化用于密文存储的AVL树的根节点st,申请对应空间并置空;Enc(sk,m,st),加密算法:依据输入的私钥、明文和AVL树根节点,进行如下操作:ⅰ,c←DET.Enc(sk,m),客户端利用私钥计算密文,并传输到服务器;ⅱ,p←IS(sk,c,st),服务器依据私钥、密文、AVL树根节点发起执行交互式查询算法,查询到最终插入节点;ⅲ,若p不为空,执行p.counter++;若为空,申请新节点tnew=(NULL,NULL,0,1,c),令p=tnew,并修改查询路径中节点的平衡因子bf,若执行平衡算法Bal(x);ⅳ,返回根节点st和密文c,完成加密算法;Dec(sk,c),解密算法:依据输入的私钥、密文,进行如下操作:ⅰ,m←DET.Dec(sk,c),客户端利用私钥解密密文,并返回明文;OB(st,q),order排序查询算法:依据AVL树根节点和查询语句,进行如下操作:ⅰ,服务器端执行AVL树的中序遍历,将各节点密文返回至客户端;RQ(st,q,sk),范围查询算法:依据AVL树根节点、查询语句和私钥,进行如下操作:ⅰ,o←IS(sk,q.cl,st),p←IS(sk,q.cr,st),服务器端执行交互式查询算法,获取范围查询左右边界值的密文位置;ⅱ,依据边界值位置,执行树的遍历,并将满足条件的密文数据返回客户端;Del(st,c,sk),删除算法:依据AVL树根节点、密文和私钥,进行如下操作:ⅰ,p←IS(sk,c,st),服务器端执行交互式查询算法,获取需要删除的数据的位置;ⅱ,若p为空,返回;若不为空,执行p.counter‑‑;若p.counter为0,将p的右子树链接到p左子树的最右叶子节点,将p的左子树取代p;ⅲ,更新路径上全部的平衡因子,若执行平衡算法Bal(x);ⅳ,返回根节点st和密文c,完成数据删除算法;Bal(x),平衡算法:依据输入的节点进行树型的平衡操作,保障最佳查询效率;IS(sk,c,st),交互式查询算法:依据私钥、密文和AVL树根节点,在客户端和服务器间进行交互式查询,具体进行如下操作:ⅰ,若st为空,返回st;若不为空,服务器发送st.cipher到客户端;ⅱ,客户端通过m←DET.Dec(sk,st.cipher)解密获得明文,若m小于当前数据操作中的明文,向服务器发送标志变量flag="right";若m大于当前数据操作中的明文,向服务器发送标志变量flag="left";若m等于当前数据操作中的明文,向服务器发送标志变量flag="bingo";ⅲ,若标志变量为"bingo",服务器返回当前节点st,完成交互式查询算法;若标志变量为"left",递归执行p←IS(sk,c,st→left),返回节点p,完成交互式查询算法;若标志变量为"right",递归执行p←IS(sk,c,st→right),返回节点p,完成交互式查询算法;对于红黑树、B树、B+树或B*树数据存储结构,其基本的保序加密算法,与基本的基于AVL树的保序加密算法一致。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201811163799.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top