【技术实现步骤摘要】
【国外来华专利技术】用于数据库查询的同态加密
本公开涉及用于数据库查询的同态加密。本公开包括用于对要存储在数据库中的数值进行加密、对数据库中存储的密文进行解密、对存储密文的数据库执行聚合和乘法查询、在数据库中创建表格以存储密文、以及插入包括密文的记录的计算机实现的方法。其他方面包括数据库、软件和计算机系统。本领域的技术人员(除了其他的以外)已经知道通用计算机系统,包括硬件和软件。
技术介绍
在诸如金融应用和医疗电子健康应用之类的许多应用中,数据库是集成的部分。数据库可能非常敏感,其包含对企业或个人有价值的数据。对个人、企业和政府而言,偷窃敏感数据越来越受到关注。通过使用诸如OracleDatabase、MySQL、MicrosoftSQLServer等之类的数据库管理系统(DBMSs)来管理数据库。数据库可以部署在企业内的服务器上、云中的虚拟服务器上、或云中的DBMS服务上。对于部署的每一种类型,数据偷窃都是关注点。当在企业的经营场所内的服务器上部署数据库时,服务器物理上在企业的控制之下。如果服务器受到恶意软件或病毒的入侵或感染,则攻击者可能能够通过绕过任何企业访问控制机制,来访问原始数据库数据文件并偷窃数据。在另一方面,由于企业中的数据库管理员能够访问所存储的数据以执行数据库管理任务,因此其有机会(故意地或者意外地)违反数据的隐私和完整性。数据库系统也可以被企业部署在虚拟服务器上,其运行在像AmazonElasticComputeCloud(AmazonEC2)的云上。在该情况下,在数据库底层的虚拟服务器在物理上处于云提供商的控制之下,且企业在虚拟服务器上安装DBMS来管理 ...
【技术保护点】
一种计算机实现的方法,其用于加密要存储在数据库中的数值,所述方法包括:使用加法同态加密确定针对所述数值的密文,其中所述密文包括两个或更多个子密文;以及使每一子密文单独地并在单个记录中存储在所述数据库中。
【技术特征摘要】
【国外来华专利技术】2012.06.22 AU 20129026531.一种计算机实现的方法,其用于对数据库执行查询,其中,所述查询的数值对象被表示为使用加法同态加密确定的密文,并且所述密文包括多个部分,所述多个部分包括至少第一子密文和第二子密文,所述方法包括:将所述第一子密文和所述第二子密文存储在所述数据库中,其中,所述第一子密文和所述第二子密文是所述密文的部分分量,以使得对所述密文的解密需要至少所述第一子密文和所述第二子密文,所述第一子密文和所述第二子密文在所述数据库中在单独的属性中存储,并且所述第一子密文和所述第二子密文中的每个是基于整个数值来确定的,其中,对所述第二子密文进行确定是独立于对所述第一子密文的确定的;生成查询,所述查询涉及要对存储在所述数据库中的所述第一子密文和所述第二子密文执行的计算;以及对所述第一子密文和所述第二子密文执行所述计算以确定针对所述查询的加密答案,而不需要解密所述第一子密文和所述第二子密文。2.根据权利要求1所述的计算机实现的方法,其中所述加法同态加密也是乘法同态的。3.根据权利要求1所述的计算机实现的方法,其中所述方法还包括以下步骤:基于包括一组密钥分量的密钥来确定所述密文,其中在该组密钥分量中的密钥分量的数目等于子密文的数目。4.根据权利要求3所述的计算机实现的方法,其中所述方法还包括:基于子密文的数目确定该组密钥分量。5.根据权利要求3所述的计算机实现的方法,其中所述密钥满足以下等式:其中,V是所述数值,n是子密文的数目,K(n)是所述密钥,fi是所述密钥的第i个函数,且Valuei是K(n)和V的第i个函数。6.根据权利要求3所述的计算机实现的方法,其中确定所述密文包括确定满足以下等式的子密文:其中,V是所述数值,n是子密文的数目,K(n)是所述密钥,fi是所述密钥的第i个函数,且Vi是第i个子密文。7.根据权利要求3所述的计算机实现的方法,其中确定所述密文包括确定满足以下等式的子密文:Vi=Valuei(K(n),V)+Noisei(K(n),R)其中,V是所述数值,n是子密文的数目,K(n)是所述密钥,R是一组随机数,Vi是第i个子密文,Valuei是K(n)和V的第i个函数,且Noisei是K(n)和R的第i个函数。8.根据权利要求1所述的计算机实现的方法,其中所述方法包括以下步骤:通过以下来确定所述密文:针对每一子密文,将第一结果和第二结果相加,其中所述第一结果是基于与该子密文相关联的密钥和所述数值的函数的值,且所述第二结果是基于与该子密文相关联的所述密钥和一个或多个随机数的函数的值。9.根据权利要求1所述的计算机实现的方法,其中所述方法包括以下步骤:确定所述密文,其不包括使用取模或地板算术运算。10.根据权利要求1所述的计算机实现的方法,其中所述方法还包括如下步骤:确定一组随机数分量;以及基于该组随机数分量确定所述密文。11.根据权利要求10所述的计算机实现的方法,其中确定所述密文基于包括一组密钥分量的密钥,其中该组密钥分量中的密钥分量的数目等于子密文的数目,且确定该组随机数分量包括确定满足如下等式的一组随机数:其中,n是子密文的数目,K(n)是所述密钥,fi是所述密钥的第i个函数,R是一组随机数分量;且Noisei是K(n)和R的第i个函数。12.根据权利要求11所述的计算机实现的方法,其中所述等式可组合且所述方法还包括:将所述密钥的多个实例融合以创建新的密钥实例。13.根据权利要求1所述的计算机实现的方法,其中所述方法还包括:基于用于对数值进行加密的密钥来解密针对所述查询的加密的答案。14.根据权利要求1所述的计算机实现的方法,其中所述计算是基于乘法的对所述数据库的查询,所...
【专利技术属性】
技术研发人员:刘东喜,
申请(专利权)人:联邦科学技术研究组织,
类型:发明
国别省市:澳大利亚;AU
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。