CN103425934A - 一种基于MySQL数据库的同态解密存储方法 - Google Patents
一种基于MySQL数据库的同态解密存储方法 Download PDFInfo
- Publication number
- CN103425934A CN103425934A CN201310329004XA CN201310329004A CN103425934A CN 103425934 A CN103425934 A CN 103425934A CN 201310329004X A CN201310329004X A CN 201310329004XA CN 201310329004 A CN201310329004 A CN 201310329004A CN 103425934 A CN103425934 A CN 103425934A
- Authority
- CN
- China
- Prior art keywords
- data
- deciphering
- decryption
- prime number
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于MySQL数据库的同态解密存储方法。本方法为:1)从所选数据源中获取待解密的数据,并将其转换为XML的结构化数据;2)对转换后的XML文件数据进行解密:首先初始化多个解密线程;根据线程数量对密文进行二进制拆分,分配给每一个解密线程;将解密线程解密后得到的二进制数据进行合并;将合并后的二进制数据转换为十进制数据,得到明文;3)将解密得到的明文转储到MySQL数据库中,并将转储结果记录到一配置文件中。本发明最大化的利用了计算机性能资源,提高了解密速度,并且控制了计算的噪音,既保证了数据安全性,也提高了计算速度,整体方案的性能较现有的方案相比有较大的性能提升。
Description
技术领域
本发明涉及一种数据解密存储方法,尤其涉及一种基于MySQL数据库的同态解密存储方法,属于计算机安全存储领域。
背景技术
1978年美国密码科学家提出了秘密同态的概念,秘密同态使得用户可以直接对密文进行操作变换,使得数据在一个加密的秘密空间内变换,有效遏制了对明文的攻击。经过很长时间的发展,秘密同态的概念的实施一直困扰着全世界的研究人员。随着大数据时代的到来,这一概念在加密与云计算领域非常有用。
2009年,IBM研究员Craig Gentry解决了同态加密的数学难题,使得同态数据加密成为现实。这一技术成果为同态数据加密存储、云计算提供了理论支持。
目前已经有很多发布的开源同态加密算法,IBM研究员Victor Shoup和ShaiHalevi已经发布了开源的同态加密/解密库HElib,采用C++编写。thep(The Homomorphic EncryptionProject)库,也是一个开源的同态加密/解密库,本发明采用了改良的HElib库进行解密运算。有效的提高了运算速度,为本发明提供了支撑。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了数据处理速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。因此,本发明选择MySQL数据库作为支撑。
在云计算市场成熟以后会出现以下问题,当一个用户拥有很多敏感数据需要进行运算,而自己的计算机运算能力有限,因此用户可以想到对数据进行同态加密,再交给某个云计算系统来运算。这样即保证了数据安全,又保证了运算速度。云计算系统运算结束后会把结果保存到一个同态数据库中并反馈给用户,而用户如果需要看到结果要经过几个步骤,首先要将同态数据库中数据取出来,然后通过同态解密库进行解密,最后才能存储到本地数据库中。现有的解决方案存在较低的计算机资源使用率、解密效率还很低,与实际应用存在较大差距、数据迁移转储困难等缺点。
因此,本发明解决的主要问题将同态数据库中的数据进行解密,并转储到一个MySQL数据库中。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种基于MySQL数据库的同态解密存储方法。本发明改良了现有的HElib同态加密/解密库,将同态数据库中的数据转化为一个有效的XML文档,提交给同态解密接口,解密接口将数据解密为原始数据,然后转储到MySQL数据库。
本发明的技术方案为:
一种基于MySQL数据库的同态解密存储方法,其步骤为:
1)从所选数据源中获取待解密的数据,并将其转换为XML的结构化数据;
2)对转换后的XML文件数据进行解密:
21)首先初始化多个解密线程;
22)根据线程数量对密文进行二进制拆分,分配给每一个解密线程;
23)将解密线程解密后得到的二进制数据进行合并;
24)将合并后的二进制数据转换为十进制数据,得到明文;
3)将解密得到的明文转储到MySQL数据库中,并将转储结果记录到一配置文件中。
进一步的,根据如下规则将待解密的数据转换为XML的结构化数据:
1)将一个数据库生成一个XML根节点<database>,其属性name代表数据库名;
2)将<database>节点的子节点<table>代表一个表,其属性name代表表名;
3)将<table>节点的子节点<record>代表一条记录,其属性id代表此记录id;
4)将<record>节点的子节点<field>代表一个字段,其属性name代表该字段的字段名称,属性type代表该字段的数据类型,节点值代表该字段值。
进一步的,所述解密线程采用的解密方法为:
1)解密线程选取两个素数rp、rq作为解密算法的解密干扰参数;其中rp∈Zp,rq∈Zq,并且满足rp、rq互为素数;
2)解密线程利用同态解密算法根据设置的密钥和解密干扰参数rp、rq对所分得的密文x进行解密。
进一步的,解密线程将密文x分为n份:x1,x2,…,xn;然后利用同态解密算法对每一份密文进行解密。
进一步的,所述素数rp、rq选自一素数矩阵;所述素数矩阵中的素数为大于232、小于2108。
进一步的,通过设置安全级别来加大或缩小所述素数rp、rq的选取范围。
进一步的,所述配置文件中还保存每一数据源的访问地址和访问口令。
与现有技术相比,本发明的积极效果为:
本发明创造性的提出了多线程解密概念,对密文进行二进制分拆同时进行解密,最大化的利用了计算机性能资源,提高了解密速度。并对解密算法采用参数优化手段,使得计算控制在一定的规模之内,也控制了计算的噪音,既保证了数据安全性,也提高了计算速度,整体方案的性能较现有的方案相比有较大的性能提升。
附图说明
图1为本发明的系统结构图。
图2为本发明的同态解密模块解密流程图。
具体实施方式
1.根据用户设置的同态数据库地址口令获取同态数据库的数据,同态数据库地址、口令可在本方案中连接管理模块中的Config.xml文件中(如图1)进行设置;
2.XML数据转换模块进行数据转换,将同态加密数据转换为XML的结构化数据,转换规则如下:
1)一个数据库生成一个XML根节点<database>属性name代表数据库名;
2)<database>节点的子节点<table>代表一个表,属性name代表表名;
3)<table>节点的子节点<record>代表一条记录,属性id代表此记录id;
4)<record>节点的子节点<field>代表一个字段,属性name代表该字段的字段名称,属性type代表该字段的数据类型,节点值代表该字段值。
3.同态解密模块对转换后的XML文件数据进行解密;
4.系统将解密结果转储到MySQL数据库中并返回转储结果,MySQL数据库的配置也在Config.xml文件中进行设置。
这样系统就提供了一个标准的接口来处理同态数据库中的同态数据。
系统构件说明(图1):
同态解密模块:对XML数据进行同态解密;
XML数据转换模块:对从同态数据库获取的数据进行XML文件转换;
连接管理模块:对同态数据库和MySQL数据库的连接进行管理,维护配置文件等;
同态解密过程的优化:
本发明中的解密技术是基于EHlib开发,对HELib解密过程做了进一步优化,对同一密文拆分多线程解密,更大化利用计算机计算能力,得到了更快的解密速度。解决步骤如下(图2):
1.解密开始,初始化多个解密线程,解密线程数量根据计算机性能自动设置。
2.根据第一步设置的线程数量对密文进行二进制拆分,分配给每一个解密线程。
3.解密线程获取到密文后讲密文解密为二进制数据。
4.密文转换为二进制数据完成。
5.对二进制数据进行合并。
6.将上面生成的二进制数据转换为十进制数字。
7.十进制数字转换成明文数据,解密完成。
全同态解密算法优化:
本发明中的算法是基于EHlib开发的Dk解密算法,对HELib解密算法做了进一步优化,并对噪音进行降低,调整参数,在得到了更快的解密速度同时也保证了安全性。解决步骤如下:
(1)设置密钥,密钥可在本案中进行设置,通过密钥还原出加密时设置的大素数p和q,p和q互为素数,pq为同态加密算法的公钥,加密方将公钥发布给解密方,p为同态加密算法的私钥。及由此计算m=pq(m保密);
(2)产生素数矩阵,该矩阵中的素数默认为大于232并小于2108,用户可以通过本案中设置安全级别来加大或缩小素数选取范围。
(3)选取安全参数n。
(4)从素数矩阵中选取两个素数rp、rq,分别满足rp∈Zp,rq∈Zq,并且满足rp、rq互为素数作为解密算法的解密干扰参数;
(5)确定加密密钥为K=(p,q,rp,rq);
设有一密文x,将x分为n份:x1,x2,…,xn;
(6)采用下面公开的同态解密公式进行解密:
a)第一步计算
([x1rprp -1mod p,x1rqrq -1mod q],[x2rp 2rp -2mod p,x2rq 2rq -2mod q],...,
[xnrp nrp -nmod p,xnrq nrq -nmod q])
其中rp -n和rq -n分别为rp mod p和rq mod q相应次幂的乘法逆元。rprp -1=1mod p,所以x1rprp -1mod p=x1mod p,依次计算出[x1mod p,x1mod q],[x2mod p,x2mod q],…[xn mod p,xnmod q]的结果。
b)第二步计算,对第一步计算出的结果进行求和,依次对[x1mod p,x1mod q],[x2modp,x2mod q],…[xn mod p,xn mod q]进行相加,即求出x mod p和x mod q。
c)第三步利用中国剩余定理对上一步得到的x mod p和x mod q进行相加并与m求模,求出明文。解密算法Dk(x):
Dk(x)=(xqq-1+xpp-1)mod m;
其中qq-1=1mod p,pp-1=1mod q。
通过以上三步运算即可计算出明文,该解密算法优化了所系统随机参数均取自素数矩阵(安全参数n除外),该矩阵会根据安全级别进行调整,在保证了安全性的同时加快解密速度;降低了安全参数n的取值范围,减少了算法计算步骤。同时在第三步算法中改用中国剩余定理,也加快了解密速度。
注:mod为模运算,即求余运算。
中国剩余定理:中国古代求解一次同余式组(见同余)的方法。是数论中一个重要定理。又称孙子定理。
中国剩余定理的结论:
令任意固定整数为M,当M/A余a,M/B余b,M/C余c,M/D余d,…,M/Z余z时,这里的A,B,C,D,…,Z为除数,除数为任意自然数([span]如果为0,没有任何意义,如果为1,在孙子定理中没有计算和探讨的价值,所以,不包括0和1)时;余数a,b,c,d,z为自然整数时。
1、当命题正确时,在这些除数的最小公倍数内有解,有唯一的解,每一个最小公倍数内都有唯一的解;当命题错误时,在整个自然数范围内都无解。
2、当M在两个或两个以上的除数的最小公倍数内时,这两个或两个以上的除数和余数可以定位M在最小公倍数内的具体位置,也就是M的大小。
3、正确的命题,指没有矛盾的命题:分别除以A,B,C,D,…,Z不同的余数组合个数=A,B,C,D,…,Z的最小公倍数=不同的余数组合的循环周期。
Claims (7)
1.一种基于MySQL数据库的同态解密存储方法,其步骤为:
1)从所选数据源中获取待解密的数据,并将其转换为XML的结构化数据;
2)对转换后的XML文件数据进行解密:
21)首先初始化多个解密线程;
22)根据线程数量对密文进行二进制拆分,分配给每一个解密线程;
23)将解密线程解密后得到的二进制数据进行合并;
24)将合并后的二进制数据转换为十进制数据,得到明文;
3)将解密得到的明文转储到MySQL数据库中,并将转储结果记录到一配置文件中。
2.如权利要求1所述的方法,其特征在于根据如下规则将待解密的数据转换为XML的结构化数据:
1)将一个数据库生成一个XML根节点<database>,其属性name代表数据库名;
2)将<database>节点的子节点<table>代表一个表,其属性name代表表名;
3)将<table>节点的子节点<record>代表一条记录,其属性id代表此记录id;
4)将<record>节点的子节点<field>代表一个字段,其属性name代表该字段的字段名称,属性type代表该字段的数据类型,节点值代表该字段值。
3.如权利要求1所述的方法,其特征在于所述解密线程采用的解密方法为:
1)解密线程选取两个素数rp、rq作为解密算法的解密干扰参数;其中rp∈Zp,rq∈Zq,并且满足rp、rq互为素数;
2)解密线程利用同态解密算法根据设置的密钥和解密干扰参数rp、rq对所分得的密文x进行解密。
4.如权利要求3所述的方法,其特征在于解密线程将密文x分为n份:x1,x2,…,xn;然后利用同态解密算法对每一份密文进行解密。
5.如权利要求3所述的方法,其特征在于所述素数rp、rq选自一素数矩阵;所述素数矩阵中的素数为大于232、小于2108。
6.如权利要求5所述的方法,其特征在于通过设置安全级别来加大或缩小所述素数rp、rq的选取范围。
7.如权利要求1~6任一所述的方法,其特征在于所述配置文件中还保存每一数据源的访问地址和访问口令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310329004XA CN103425934A (zh) | 2013-07-31 | 2013-07-31 | 一种基于MySQL数据库的同态解密存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310329004XA CN103425934A (zh) | 2013-07-31 | 2013-07-31 | 一种基于MySQL数据库的同态解密存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103425934A true CN103425934A (zh) | 2013-12-04 |
Family
ID=49650655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310329004XA Pending CN103425934A (zh) | 2013-07-31 | 2013-07-31 | 一种基于MySQL数据库的同态解密存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103425934A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682078A (zh) * | 2016-11-17 | 2017-05-17 | 珠海格力智能装备有限公司 | 工控机数据转储方法及系统 |
CN108650092A (zh) * | 2018-04-28 | 2018-10-12 | 广州大学 | 一种基于大素数的公钥密码体制的实现方法 |
CN108875408A (zh) * | 2018-06-22 | 2018-11-23 | 南京擎天科技有限公司 | 一种Android平台的文件快速加密以及解密方法 |
CN111538582A (zh) * | 2020-04-26 | 2020-08-14 | 中国科学技术大学 | 基于Intel QAT的同态加密卸载方法 |
CN113098675A (zh) * | 2019-12-23 | 2021-07-09 | 郑珂威 | 基于多项式完全同态的二进制数据加密系统及方法 |
CN115375464A (zh) * | 2022-10-26 | 2022-11-22 | 江西信惠链科技有限公司 | 融资授信方法、系统、计算机设备及可读存储介质 |
-
2013
- 2013-07-31 CN CN201310329004XA patent/CN103425934A/zh active Pending
Non-Patent Citations (4)
Title |
---|
卢丹华等: "《基于多核多线程的AES保密模式》", 《计算机应用》 * |
卢丹华等: "《基于多核多线程的AES保密模式》", 《计算机应用》, vol. 31, no. 4, 30 April 2011 (2011-04-30), pages 1003 - 1005 * |
钟阿林等: "《数据库加密新技术的研究》", 《河南师范大学学报(自然科学版)》 * |
韦伟等: "《多核机器上线程级并行加解密数据库数据方法》", 《广西科学院学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682078A (zh) * | 2016-11-17 | 2017-05-17 | 珠海格力智能装备有限公司 | 工控机数据转储方法及系统 |
CN106682078B (zh) * | 2016-11-17 | 2019-10-01 | 珠海格力电器股份有限公司 | 工控机数据转储方法及系统 |
CN108650092A (zh) * | 2018-04-28 | 2018-10-12 | 广州大学 | 一种基于大素数的公钥密码体制的实现方法 |
CN108875408A (zh) * | 2018-06-22 | 2018-11-23 | 南京擎天科技有限公司 | 一种Android平台的文件快速加密以及解密方法 |
CN113098675A (zh) * | 2019-12-23 | 2021-07-09 | 郑珂威 | 基于多项式完全同态的二进制数据加密系统及方法 |
CN113098675B (zh) * | 2019-12-23 | 2023-04-18 | 郑珂威 | 基于多项式完全同态的二进制数据加密系统及方法 |
CN111538582A (zh) * | 2020-04-26 | 2020-08-14 | 中国科学技术大学 | 基于Intel QAT的同态加密卸载方法 |
CN115375464A (zh) * | 2022-10-26 | 2022-11-22 | 江西信惠链科技有限公司 | 融资授信方法、系统、计算机设备及可读存储介质 |
CN115375464B (zh) * | 2022-10-26 | 2023-02-03 | 江西信惠链科技有限公司 | 融资授信方法、系统、计算机设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | An efficient non-interactive multi-client searchable encryption with support for boolean queries | |
CN103425934A (zh) | 一种基于MySQL数据库的同态解密存储方法 | |
CA2887191A1 (en) | Secure linkage of databases | |
Zhang et al. | Multi-server assisted data sharing supporting secure deduplication for metaverse healthcare systems | |
Min et al. | A privacy protection-oriented parallel fully homomorphic encryption algorithm in cyber physical systems | |
Sarfraz et al. | Dbmask: Fine-grained access control on encrypted relational databases | |
CN110413652B (zh) | 一种基于边缘计算的大数据隐私化检索方法 | |
CN103425933B (zh) | 一种多数据源的数据同态加密转存方法 | |
Wang et al. | Ciphertext-policy attribute-based encryption supporting policy-hiding and cloud auditing in smart health | |
CN110750797A (zh) | 基于组合加密的云数据库加密方法 | |
Hadavi et al. | Database as a service: towards a unified solution for security requirements | |
CN102279840B (zh) | 一种适用于信息加密技术应用的素数族快速生成方法 | |
Peng et al. | LS-RQ: A lightweight and forward-secure range query on geographically encrypted data | |
EP3959841B1 (en) | Compression and oblivious expansion of rlwe ciphertexts | |
Wang et al. | QuickN: Practical and secure nearest neighbor search on encrypted large-scale data | |
Tan et al. | Research of cloud computing data security technology | |
Salman et al. | A homomorphic cloud framework for big data analytics based on elliptic curve cryptography | |
Pise et al. | Efficient security framework for sensitive data sharing and privacy preserving on big-data and cloud platforms | |
Zhu et al. | Query with SUM aggregate function on encrypted floating-point numbers in cloud | |
Ma et al. | Practical searchable symmetric encryption supporting conjunctive queries without keyword pair result pattern leakage | |
KR101264286B1 (ko) | 데이터베이스 암호화 시스템 및 방법 | |
Martin et al. | Efran (O):" Efficient Scalar Homomorphic Scheme on MapReduce for Data Privacy Preserving" | |
Zhu et al. | Verification of boolean queries over outsourced encrypted data based on counting bloom filter | |
Mu et al. | Encrypted data retrieval scheme based on bloom filter | |
Awadh et al. | Implementing the Triple-Data Encryption Standard for Secure and Efficient Healthcare Data Storage in Cloud Computing Environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131204 |
|
RJ01 | Rejection of invention patent application after publication |