平均复杂度理想安全的保序加密的制作方法_3

文档序号:8339920阅读:来源:国知局
·,yn 是相应的密文,使得〇< y'M。下面提供如何选择M的描述。注意,在加密的过程期间,可 以修改密文yi。设...,',"和>!^,分别是不同的明文和密文的有序序列。
[0071] 考虑下面的例子:N = 16 和 M = 256。设 η = 3, X1 = 13, X2 = 5,而且 X3 = 7。然 后m = 3,yi = 128,y2 = 64,而且y3 = 96(不需要任何密文修改)。对于有序顺序,我们得 到 J1 = 2, j2 = 3 而且 j3 = 1,即,令=5, Jj1 = 64等等。
[0072] 加密算法(图3A中的算法1)的输入是明文^加密是有状态的并且存储明文-密 β 文对〈Xidi〉的有序列表。这个列表被初始化为<-1,-1>,〈Ν,Μ>。加密的输出,即,密文yi, 被发送到数据库服务器。
[0073] 更新算法(图3B中的算法2)潜在地更新到目前为止产生的所有密文。它按顺序 再加密所有的(不同的)明文,即,首先是中位数元素,然后是其它元素。因此,它产生(临 时的)平衡树。
[0074] 加密算法的状态在数据库客户端上更新。这个更新的状态被发送到数据库服务器 而且它的永久性数据被更新--潜在地更新所有数据库行。这不仅影响列存储,而且还影 响整个字典。
[0075] 解密算法(图3C中的算法3)是简单地在状态中查找。
[0076] 现在讨论安全,特别是根据实施例实现的理想安全。现在提供加密方案的 IND-OCPA安全状态的证明,尽管它是更新算法。这表明更新操作不影响安全。
[0077] 具体来说,基于允许更新操作的IND-OCPA定义来在加密者E和对手(adversary) Adv之间定义以下安全游戏。
[0078] 1)加密者E选择随机比特b。
[0079] 2)加密者E和对手Adv进行多项式数目(polynomial number)个回合,其中对手 可以是自适应的(adaptive)。在第i回合处:
[0080] a)对手Adv向加密者E发送值i/, JT11 (〇 s JT1" <喲》
[0081] b)加密者E返回加密X!%如果加密者E调用更新《押· . . ,%), 则对手可能得到更新的列表>)丨,' · ·,乃i。
[0082] 3)对手Adv输出b ',它对b的猜测。
[0083] 如果对手Adv的猜测是正确的(b = V )而且序列和X丨具有相同的顺序 关系(即,对于所有的i,j
【主权项】
1. 一种计算机实现的方法,包括: 使客户端上的引擎创建保持服务器上的数据库中存储的数据的顺序的字典拷贝; 使引擎根据所述顺序执行对字典拷贝上的数据进行加密的算法; 使引擎根据更新概率更新存储在数据库中的数据; 使引擎从加密的数据创建进一步加密的数据; 使引擎向服务器发送进一步加密的数据;以及 使引擎发送加密密钥以允许对进一步加密的数据进行解密。
2. 如权利要求1所述的计算机实现的方法,其中,所述算法包括构建包含n个节点的二 叉搜索树。
3. 如权利要求2所述的计算机实现的方法,其中,所述算法还包括将至少21og n位的 缓冲区添加到加密的数据,以减少更新概率。
4. 如权利要求1所述的计算机实现的方法,其中,所述进一步加密的数据是使用同态 加密创建的以允许在数据库上聚合。
5. 如权利要求1所述的计算机实现的方法,其中,所述进一步加密的数据是使用确定 性加密创建的以允许在数据库上选择。
6. 如权利要求1所述的计算机实现的方法,其中,所述数据库是基于结构化查询语言 (SQL)的。
7. 如权利要求1所述的计算机实现的方法,其中,所述数据库包含列存储的内存数据 库。
8. -种包含用于执行方法的计算机程序的非临时性计算机可读存储介质,所述方法包 括: 使客户端上的引擎创建保持服务器上的数据库中存储的数据的顺序的字典拷贝; 使引擎根据所述顺序执行对字典拷贝上的数据进行加密的算法; 使引擎根据更新概率更新存储在数据库中的数据; 使引擎从加密的数据创建进一步加密的数据; 使引擎向服务器发送进一步加密的数据;以及 使引擎发送加密密钥以允许对进一步加密的数据进行解密。
9. 如权利要求8所述的非临时性计算机可读存储介质,其中,所述算法包括构建包含n 个节点的二叉搜索树。
10. 如权利要求9所述的非临时性计算机可读存储介质,其中,所述算法还包括将至少 21og n位的缓冲区添加到加密的数据,以减少更新概率。
11. 如权利要求8所述的非临时性计算机可读存储介质,其中,所述进一步加密的数据 是使用同态加密创建的以允许在数据库上聚合。
12. 如权利要求8所述的非临时性计算机可读存储介质,其中,所述进一步加密的数据 是使用确定性加密创建的以允许在数据库上选择。
13. 如权利要求8所述的非临时性计算机可读存储介质,其中,所述数据库是基于结构 化查询语言(SQL)的。
14. 如权利要求8所述的非临时性计算机可读存储介质,其中,所述数据库包含列存储 的内存数据库。
15. -种计算机系统,包括: 一个或多个处理器; 可在计算机系统上执行的软件程序,该软件程序被配置为: 使客户端上的引擎创建保持服务器上的数据库中存储的数据的顺序的字典拷贝; 使引擎根据所述顺序执行对字典拷贝上的数据进行加密的算法; 使引擎根据更新概率更新存储在数据库中的数据; 使引擎从加密的数据创建进一步加密的数据; 使引擎向服务器发送进一步加密的数据;以及 使引擎发送加密密钥以允许对进一步加密的数据进行解密。
16. 如权利要求15所述的计算机实现的方法,其中,所述算法包括构建包含n个节点的 二叉搜索树。
17. 如权利要求16所述的计算机实现的方法,其中,所述算法还包括将至少21og n位 的缓冲区添加到加密的数据,以减少更新概率。
18. 如权利要求15所述的计算机实现的方法,其中,所述进一步加密的数据是使用同 态加密创建的以允许在数据库上聚合。
19. 如权利要求15所述的计算机实现的方法,其中,所述进一步加密的数据是使用确 定性加密创建的以允许在数据库上选择。
20. 如权利要求15所述的计算机实现的方法,其中,所述数据库包含列存储的内存数 据库。
【专利摘要】实施例提供了对平均复杂度的数据的理想安全的保序加密(OPE),从而允许处理加密的数据(例如,在数据库服务器处响应于接收到查询)。具体的实施例通过按照已经可用于数据库的、现有压缩字典所保持的顺序来处理明文,来实现高加密效率。加密是基于对n个节点的二叉搜索树的使用,以构造具有Ω(n)复杂度,甚至在平均情况下具有O(n)复杂度,的保序加密方案。通过利用被证明的二叉搜索树的高度倾向于紧紧围绕O(log n),计算密集型更新(这使得常规OPE对于理想安全变得不切实际)的概率被大大减少。在包括n个元素的列存储内存数据库架构的上下文中描述利用这样的加密方案的实施例。根据实施例的OPE与可调整的加密方式兼容。
【IPC分类】G06F21-62
【公开号】CN104657673
【申请号】CN201410678001
【发明人】F.克施鲍姆, A.施罗普弗, P.格罗菲格, I.汉格, M.黑特里奇, M.科勒, A.沙德, W.泰泽特
【申请人】Sap欧洲公司
【公开日】2015年5月27日
【申请日】2014年11月21日
【公告号】EP2876838A1, US9037860, US20150149773
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1