CN109361510B - 一种支持溢出检测和大整数运算的信息处理方法及应用 - Google Patents

一种支持溢出检测和大整数运算的信息处理方法及应用 Download PDF

Info

Publication number
CN109361510B
CN109361510B CN201811318036.9A CN201811318036A CN109361510B CN 109361510 B CN109361510 B CN 109361510B CN 201811318036 A CN201811318036 A CN 201811318036A CN 109361510 B CN109361510 B CN 109361510B
Authority
CN
China
Prior art keywords
data
max
ciphertext
algorithm
multiplication
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.)
Active
Application number
CN201811318036.9A
Other languages
English (en)
Other versions
CN109361510A (zh
Inventor
丁文秀
闫峥
胡蕊
钱薪任
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201811318036.9A priority Critical patent/CN109361510B/zh
Publication of CN109361510A publication Critical patent/CN109361510A/zh
Application granted granted Critical
Publication of CN109361510B publication Critical patent/CN109361510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于数据加密技术领域,主要提出了溢出检测和密文分割算法以支持针对大整数的隐私保护乘法,采用ABE算法实现对加密数据乘法计算结果的灵活且安全的细粒度访问控制,最后扩展以支持包括有理数和浮点数在内的数据类型的基本运算。系统调用密钥生成算法KeyGen建立同态重加密系统;权威机构调用系统建立算法生成公共参数和ABE的主密钥,并向DR发布;DP调用EnkTK加密算法将数据加密后上传给DSP,DSP收到加密数据后和CP合作对数据进行处理,首先对密文执行溢出检测,如果没有溢出,则直接调用乘法运算;否则,先调用密文分割算法对大整数密文进行分割,再调用乘法运算进行求解;只有满足访问策略的DR可以解密CK获得相应的解密密钥ck,再用ck解密获得明文。

Description

一种支持溢出检测和大整数运算的信息处理方法及应用
技术领域
本发明属于数据加密技术领域,尤其涉及一种支持溢出检测和大整数运算的信息处理方法及应用。
背景技术
目前,业内常用的现有技术是这样的:云计算利用网络中的大量资源和强大的计算能力为云用户提供了各种各样的服务(例如,数据存储和海量数据分析),这些服务为本地资源受限的云用户带来了极大的便利。然而,将个人数据外包给云服务器使得云用户失去了对个人数据的完全控制,而半可信云服务器可能会向其他未授权实体泄露用户个人隐私数据,严重破坏用户隐私,威胁数据安全。因此,云用户往往选择先将数据加密然后再外包给云服务器进行分析处理。但加密数据又给数据分析和处理带来了新的挑战。首先,密文限制了原始数据的可计算性。其次,加密限制了乘法运算中原始数据的长度和数据的数量,因为乘法计算结果的长度是各原始乘数的长度之和,所以在乘法中对原始数据的长度限制显得更为严重。第三,加密使得对数据处理分析结果的访问控制变得复杂,尤其是对运算(如,乘法)结果的细粒度访问控制。物联网的发展进一步增加了大量大整数的隐私保护乘法运算的实现需求。然而,现有的研究并没有关注隐私保护的大数据乘法运算及其灵活访问控制机制。现有技术通过将数据存储和计算外包给云服务器,云用户打破了资源受限的瓶颈,但也失去了对其个人数据的完全控制并加剧了数据泄露的风险。尽管隐私保护乘法可以由全同态加密算法实现,但仍然不能有效处理乘法中的溢出问题。而数据乘法运算在各种各样的应用中扮演着一个重要的角色,例如智能城市,医疗保健等中的大数据处理。因此,如何实现大数据量的隐私保护乘法及其灵活的访问控制仍然是一个开放性问题。基于秘密共享的安全数据分析,通过引入一个半可信的聚合器实现了隐私保护数据融合。在该方案中,聚合器的密钥s0被分割并共享给多个用户(即s0=∑isi),然后每一个用户i利用其密钥份额si来隐藏自己的私有数据。安全多方计算(SMC)通过一个全局函数实现对密文的操作,不会泄漏每个单独输入,为诸如保护隐私的数据库查询、入侵检测和数据挖掘等问题提供了合理的解决,但它始终需要部署至少三台服务器。例如,基于SMC的财务分析方法需要三台服务器,仍然不能支持细粒度的访问控制。通过将秘密以乘积(s0=Πisi)形式分割,可以很容易地扩展上述以支持乘法运算。但是,上述工作都未能在保证数据提供者隐私的同时实现处理结果的灵活访问控制。基于同态加密的安全数据分析,对现有的同态加密加以改进以支持加密数据的乘法运算,代理重加密和同态加密可以用于计算多个用户的密文加法和乘法的算术函数,而无需知道输入或中间结果,但该需要解决离散对数问题,严重限制了输入数据的长度。提出了一种基于同态加密的隐私保护数据聚合,它分割解密密钥为两部分并分发给代理和医疗中心,该没有考虑考虑大整数乘法以及多用户的访问。基于加法同态加密算法提出了多密钥下的高效外包多方计算框架,但是每次访问都需要得到所有数据所有者的允许,这导致了较高的通信开销。尽管以前的工作可以支持多方访问的隐私保护的数据分析,但是要么只支持加法运算,要么需要限制每个消息mi的长度L(mi)<L(n)/N来获得N条消息的乘积。上述所有都通过直接设置数据长度的限制来避免溢出问题。一个高效且支持隐私保护的外包数据乘法计算框架,但是不能灵活处理任意数量的合法用户对数据处理结果的访问管理。给出了一个应对溢出问题的方法,但它在比特分解计算中引入了较高的开销。安全的数据访问控制,访问控制链表(Access ControlList,ACL)是数据共享最基本的方法之一,但是它的计算复杂度随着数据量和用户数量的增加呈线性增长。对称密钥密码学(SKC)作为一种典型的方式对数据加密是有效的,通过将公钥密码学(PKC)与SKC相结合可以实现原始数据的安全数据共享。但是,加密对称密钥的开销与数据请求者的数量成正比,无法支持用户撤销且不灵活。而代理重加密通过向授权用户分发重加密密钥来有效管理云中的加密数据共享。基于角色的访问控制(RBAC)可以使用一个属性来控制访问并提供部分灵活性。基于属性的加密(ABE)引入多个属性来提高灵活性并实现细粒度的访问控制。ABE被广泛应用于云存储管理,提供了灵活性,可扩展性和细粒度的访问控制,同时多属性的引入增强了云数据的安全性。除此之外,信任评估也可和ABE相结合,可以减少ABE运算的复杂性。现有技术缺点:1原始信息长度受限,不支持大数据和大整数的密文乘法计算;2不支持对密文乘法计算结果的安全细粒度访问控制;3不支持乘法运算的溢出检测。
综上所述,现有技术存在的问题是:
(1)在数据外包之前先进行加密以保护用户隐私,加密增加了数据计算和分析的复杂性,引入了较高的计算开销和通信开销。
(2)大多数现有的工作并不支持大整数的隐私保护乘法,现有技术可以实现加密数据的乘法,但只能支持有限长度的数据,且数据长度与参与计算的数据数量成反比,严重限制数据的长度和数量。
(3)在物联网中存在不止一个特定用户需要访问数据融合或分析结果,例如,若干实体(比如亲属,医生和护理人员)都可能需要访问患者的疾病诊断,并未实现乘法运算结果的灵活细粒度访问控制。
解决上述技术问题的难度和意义:
技术难度:1)传统的密码算法不支持安全的密文数据操作,无法实现安全的乘法运算。同态加密算法虽然支持针对密文的运算操作,但是却限制了明文输入的长度,而乘法运算结果的长度是各明文输入的长度之和,这增加了数据结果的溢出概率。但基于同态密码算法的乘法运算方案却难以支持溢出检测,特别是很难应对大量数据相乘时的溢出问题。如何利用同态加密算法实现支持溢出检测的安全乘法运算是一个重要难点。2)现有的研究往往忽略了数据分析结果的访问控制。而支持数据分析的同态加密算法和支持细粒度的访问控制机制往往采用不同的密码体制,这增加了算法相结合的困难度。如何巧妙地将安全的乘法分析算法与细粒度的访问控制相结合是一个关键问题。
意义:采用双服务实体的系统模型,克服了对完全可信服务提供商的依赖;针对数据计算结果的细粒度访问控制机制,增强了用户隐私,保证了数据分析安全的安全性,提高了用户对系统的认可度,将进一步促进用户数据外包的积极性以及数据分析结果的准确性;支持溢出检测的乘法运算扩展了外包数据的数值范围,增强了系统的灵活性,有助于适应当前大数据发展趋势,增强了可扩展性和实用性。
发明内容
针对现有技术存在的问题,本发明提供了一种支持溢出检测和大整数运算的信息处理方法及应用。
本发明是这样实现的,一种支持溢出检测和大整数运算的信息处理方法,所述支持溢出检测和大整数运算的信息处理方法包括:
步骤一,系统调用密钥生成算法KeyGen建立同态重加密系统;权威机构调用系统建立算法生成公共参数和ABE的主密钥,并向DR发布;
步骤二,DP调用EnkTK加密算法将数据加密后上传给DSP,DSP收到加密数据后和CP合作对数据进行处理;
步骤三,首先对密文执行溢出检测,如果没有溢出,则直接调用乘法运算;否则,先调用密文分割算法对大整数密文进行分割,再调用乘法运算进行求解;只有满足访问策略的DR可以解密CK获得相应的解密密钥ck,再用ck解密获得明文。
进一步,所述步骤一具体包括:系统调用密钥生成算法KeyGen完成同态重加密系统的建立;另外,权威机构调用系统建立算法SetupABE(λ,U)生成公共参数PK′和ABE算法的主密钥MSK′,向服务用户发布PK′。
进一步,所述步骤二具体包括:DP将个人数据加密后上传给DSP,直接调用EncTK加密长度为
Figure BDA0001856813560000051
的数据mi
Figure BDA0001856813560000052
进一步,所述步骤三具体包括:
(a)调用溢出检测算法OFDetet()检查和的长度是否大于限制长度L(n);如果没有大于限制长度,DSP和CP直接调用乘法计算,得到密文乘积
Figure BDA0001856813560000053
如果大于限制长度,执行步骤(b);
(b)调用之前工作中的最大最小值算法比较
Figure BDA0001856813560000054
Figure BDA0001856813560000055
获得密文较大值[max]和密文较小值[min];
(c)调用密文分割算法CipherSeg()将较大的密文值分割为两个密文Cmax′=([Lmax′],[max′])和Cmax″=([Lmax″],[max″]);
(d)对每一个最大值部分和最小值[min]做乘法,合并得到结果;
如果没有溢出发生(即Lmax″+Lmin<L(n)),调用基本乘法实现对结果
Figure BDA0001856813560000056
Figure BDA0001856813560000057
的灵活访问控制;DSP和CP交互产生CK=EncABE(ck1*ck2,γ,PK′)管理解密密钥ck=ck1*ck2
如果[max″]与[min]相乘发生溢出,将密文[min]分割为两部分;
密文[mi](i=1,2)的消息mi的长度小于L(n),如果Lmax″+Lmin<L(n),则不需要检查Lmax′+Lmin<L(n)。
进一步,所述步骤三具体包括:
1)没有分割计算。授权的DR通过解密可以直接得到m1*m2
2)在计算中只有一次分割,授权实体获取max′*min和max″*min,最终得到乘法结果
Figure BDA0001856813560000058
3)最大值和最小值都被分割,计算得到四个部分res1=max′*min′,res2=max′*min″,res3=max″*min′和res4=max″*min″;设最大值max的长度为n1,最小值min的长度是n2,那么乘法结果是
Figure BDA0001856813560000061
本发明的另一目的在于提供一种应用所述支持溢出检测和大整数运算的信息处理方法的信息数据分割处理方法,所述信息数据分割处理方法包括:DP在外包之前希望将原始数据分成几个块,DP将
Figure BDA0001856813560000062
分割为几个块
Figure BDA0001856813560000063
每一个块加密为
Figure BDA0001856813560000064
其中
Figure BDA0001856813560000065
Figure BDA0001856813560000066
的长度且
Figure BDA0001856813560000067
Figure BDA0001856813560000068
在m1中的比特位置;每一个块的比特长度可能是相同的或不同的,用来检测溢出;m2被分割为几个块
Figure BDA0001856813560000069
并且每一个加密为
Figure BDA00018568135600000610
在得到所有的计算模块后,授权的DR通过公式
Figure BDA00018568135600000611
恢复乘法结果。
综上所述,本发明的优点及积极效果为:设计新的数据外包加密方法以支持大整数乘法;设计溢出的预检测,然后提出相应的对策来保证大整数乘法的正确性;实现了对加密大整数乘法结果的细粒度访问控制;对大整数乘法进行了扩展,能支持其他类型的数据,包括有理数和浮点数。
与现有技术相比,本发明具有以下优势:
1)灵活性:本发明支持针对指定DR或多个DR的隐私保护乘法。它可以支持大整数和大量数据的计算,适用于物联网和大数据处理。
2)保护隐私的乘法:本发明采用同态加密来保证用户隐私和数据机密性。
3)安全和细粒度的访问控制:本发明实现了对加密数据乘法处理结果的安全细粒度访问控制机制,而现有的文献工作中很少考虑到这个问题。采用ABE加密可以实现不同的访问控制策略,以满足不同的安全需求。
4)可扩展性:扩展了现有工作,以支持小数值和大数值的计算,从而提高可扩展性。此外,可以很容易地扩展到支持包括有理数和浮点数等其他类型数据的计算。
表1
Figure BDA0001856813560000071
[1]E.Ayday,J.L.Raisaro,J.-P.Hubaux,and J.Rougemont,"Protecting andevaluating genomic privacy in medical tests and personalized medicine,"in12th ACM Workshop on Workshop on Privacy in the Electronic Society,2013,pp.95-106.
[2]A.Peter,E.Tews,and S.Katzenbeisser,“Efficiently outsourcingmultiparty computation under multiple keys,”IEEE Transactions on InformationForensics and Security(TIFS),vol.8,no.12,pp.2046-2058,2013.
[3]B.Wang,M.Li,S.S.Chow,and H.Li,"A tale oftwo clouds:Computing ondata encrypted under multiple keys,"in 2014IEEE Conference on Communicationsand Network Security(CNS),2014,pp.337-345.
[4]W.Ding,Z.Yan,and R.Deng,“Privacy-Preserving Data Processing withFlexible Access Control,”IEEE Transactions on Dependable&Secure Computing,vol.PP,no.99,pp.1-1,2017.
[5]X.Liu,R.Deng,W.Ding,R.Lu,and B.Qin,“Privacy-preserving outsourcedcalculation on floating point numbers,”IEEE Transactions on InformationForensics and Security vol.11,no.11,pp.2513-2527,2016.
附图说明
图1是本发明实施例提供的支持溢出检测和大整数运算的信息处理方法流程图。
图2是本发明实施例提供的系统模型示意图。
图3是本发明实施例提供的支持溢出检测和大整数运算的信息处理方法实现流程图。
具体实施方式
为了使本发明的目的、技术及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术引入了较高的计算开销和通信开销,严重限制数据的长度和数量,并未实现乘法运算结果的灵活细粒度访问控制的问题。设计新的数据外包加密方法以支持大整数乘法;设计溢出的预检测,然后提出相应的对策来保证大整数乘法的正确性;实现了对加密大整数乘法结果的细粒度访问控制;对大整数乘法进行了扩展,能支持其他类型的数据,包括有理数和浮点数。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的支持溢出检测和大整数运算的信息处理方法包括以下步骤:
S101:系统调用密钥生成算法KeyGen建立同态重加密系统;权威机构调用系统建立算法生成公共参数和ABE的主密钥,并向DR发布;
S102:DP调用EnkTK加密算法将数据加密后上传给DSP,DSP收到加密数据后和CP合作对数据进行处理;
S103:首先对密文执行溢出检测,如果没有溢出,则直接调用乘法运算;否则,先调用密文分割算法对大整数密文进行分割,再调用乘法运算进行求解;只有满足访问策略的DR可以解密CK获得相应的解密密钥ck,再用ck解密获得明文。
下面结合附图对本发明的应用原理作进一步的描述。
1系统模型和攻击模型
本发明主要提供大整数的隐私保护乘法运算并解决了乘法计算中的溢出问题。在本发明中,有五种类型的实体,如图2所示:
1)云服务器提供的数据服务提供商(DSP)负责数据存储和计算服务;
2)计算实体(CP)可以是私有云服务提供商或者是公司、机构的管理部门,主要负责安全数据计算和访问控制;
3)数据提供者(DP)是云服务消费者,它们收集或生成数据并将其上传到DSP以进行有效的存储和计算;
4)数据请求者(DR)作为数据消费者获取处理结果。
5)权威机构负责密钥管理,是完全可信的。
在这个系统中,DSP和CP被认为是半可信的实体,它们诚实地工作,并且永远不会共谋。除了完全可信的权威机构之外的所有实体都是好奇但诚实的,他们对数据感到好奇,但严格遵循系统协议的设计。
2加法同态加密
加法同态加密算法(比如,Paillier密码系统)通过对加密数据的操作只能实现对应明文的加法运算,即给定N个经相同密钥pk加密的数据,表示为[mi]pk(i=1,2,...,N),加法同态加密算法满足:
Figure BDA0001856813560000091
其中Dsk()是对应的同态解密算法。
3基于密钥策略的属性加密
为了支持细粒度的访问控制,引入属性加密算法。在本发明中,以基于密钥策略的属性加密(KP-ABE)为例进行描述(基于密文策略的属性加密(CP-ABE)也适用于本发明)。KP-ABE包含四种算法:系统建立算法Setup,加密算法Encrypt,密钥生成算法KeyGen和解密算法Decrypt。
SetupABE(λ,U)→(PK′,MSK′);系统建立算法中输入安全参数λ和属性集U,输出公开密钥参数PK′和主密钥MSK′;
EncABE(M,γ,PK′)→CK′;加密算法输入消息M,一组属性γ和公开密钥参数PK′,输出密文CK′;
KeyGenABE(τ,MSK′)→SK′;密钥生成算法输入访问策略树结构τ和主密钥MSK′,输出一个私钥SK′;
DecABE(CK′,PK′,SK′)→M;解密算法输入密文CK′,公共参数PK′和私钥SK′。如果这组属性满足嵌入在私钥中的访问策略树,则能正确输出消息M。
显然,如果相同的属性被用于加密两条原始数据,KP-ABE也是满足乘法同态的。也就是说,给定M1和M2在相同策略下的两个ABE密文,M1*M2的密文可以从两个密文的乘积EncABE(M1,γ,PK′)*EncABE(M2,γ,PK′)中获取到,该算法标记为HEABE。但数据M1与M2的长度受限且与系统参数高度相关。
4同态重加密系统
基于Paillier密码算法设计了一个同态重加密算法(HRES),能实现灵活的访问控制和隐私保护计算。本发明以此为基础进行设计,HRES的详细介绍如下。
密钥生成(KeyGen):令k为一个安全参数,p和q为两个大素数,且L(p)=L(q)=k(L(·)返回输入数据的比特长度)。由于安全素数的性质,存在两个素数p′和q′满足p=2p′+1,q=2q′+1。计算n=p*q并选择一个阶为λ=2p′q′的生成器g,选择一个随机数
Figure BDA0001856813560000101
计算g=-z2n。其中λ值可以被用来解密加密数据,将其隐藏并保护该值不被非授权实体获取,而只采用密钥对(sk,gsk)对数据进行加解密。在系统建立期间,每个实体i(包括DSP和CP)生成一个密钥对
Figure BDA0001856813560000102
同时,DSP和CP交互生成Diffie-Hellman密钥
Figure BDA0001856813560000111
并发送给相关用户。此外,公开的系统参数还包括{g,n,PK}。
首先,直接采用加解密算法。
加密(Enc):使用公钥pki和一个随机值r∈[1,n/4],可以将原始数据m加密为:
Figure BDA0001856813560000112
解密(Dec):收到密文后,用户i可以用私钥ski解密以获取原始数据:
Figure BDA0001856813560000113
其中L(u)=(u-1)/n。
其次,一个支持外包数据处理的灵活双层解密算法:
双密钥加密(EncTK):给出用户i的消息mi∈Zn,选取随机数r∈[1,n/4]并使用两个服务方的Diffie-Hellman密钥PK对消息加密得到密文[mi]=[mi]PK={Ti,Ti′},其中:
Ti=(1+m*n)*PKrmodn2且Ti′=grmodn2
[mi]被用来表示用PK加密mi的密文,该密文只能由DSP和CP合作解密。
用私钥SKDSP部分解密(PDec1):得到[mi]后,DSP执行算法将它转换为另一个如下可以由CP解密的密文:
Figure BDA0001856813560000114
用私钥SKCP部分解密(PDec2):在这个算法中,CP可以直接用自己的密钥解密
Figure BDA0001856813560000115
Figure BDA0001856813560000121
Figure BDA0001856813560000122
这两个解密算法必须一起执行以获取原始数据,但是解密顺序可以改变。
另外,同态重加密系统有如下性质:
加法同态:
Figure BDA0001856813560000123
Figure BDA0001856813560000124
Figure BDA0001856813560000125
不同于性质2),用
Figure BDA0001856813560000126
来表示下面的计算
Figure BDA0001856813560000127
只对密文的第一部分执行操作。
为了实现溢出检测,使用元组Cm=([L],[m])代替[m]来表示消息m的密文,其中L是数据m的长度。
5溢出检测和密文分割,除了基本的同态重加密系统,大整数的乘法实现还需要其他函数的操作。为此,在本发明中,设计了溢出检测,溢出发生后的密文分割和常数幂次三个基本操作。详细介绍如下:
溢出检测(OFDetet()):给定密文
Figure BDA0001856813560000131
Figure BDA0001856813560000132
知道(m1*m2)的乘积长度是
Figure BDA0001856813560000133
为了防止乘积超过模数n,应该首先检查乘积长度是否大于n的长度。详细描述如下:
DSP通过直接将两个密文
Figure BDA0001856813560000134
Figure BDA0001856813560000135
相乘得到加法密文
Figure BDA0001856813560000136
Figure BDA0001856813560000137
DSP和CP对
Figure BDA0001856813560000138
和L(n)进行比较:
如果
Figure BDA0001856813560000139
乘积小于n,可以直接调用之前工作中的乘法运算;
如果
Figure BDA00018568135600001310
需要执行以下的密文分割算法。
密文分割(CipherSeg()):给定一个密文Cm=([Lm],[m]),其中m=(mn-1,mn-2,...,m1,m0),密文分割算法输出两个密文Cm′=([Lm′],[m′])和Cm″=([Lm″],[m″])且满足
Figure BDA00018568135600001311
和l=Lm=Lm′+Lm″。其中
Figure BDA00018568135600001312
Figure BDA00018568135600001313
算法细节如下:
1)DSP选择一个随机数r=(rL(n)-2,rL(n)-3,...,r1,r0),其中
Figure BDA00018568135600001314
通过加密计算隐藏原始明文[m+r]=[m]*[r]和[r″],然后部分解密得到
Figure BDA00018568135600001315
并将
Figure BDA00018568135600001316
和[r″]转发给CP。
2)收到
Figure BDA00018568135600001317
和[r″]后,CP解密
Figure BDA00018568135600001318
获得m+r并将它分为两部分
Figure BDA00018568135600001319
Figure BDA0001856813560000141
计算[(m+r)″]。然后调用比较算法比较[(m+r)″]和[r″]:
如果r″≤(m+r)″,则加密获得[(m+r)′];
否则(当r″>(m+r)″),重新加密计算[(m+r)′-1]和
Figure BDA0001856813560000142
然后CP将密文{[(m+r)′],[(m+r)″]}或
Figure BDA0001856813560000143
发送给DSP。
3)DSP通过计算[m′]=[(m+r)′]*[r′]n-1和[m″]=[(m+r)″]*[r″]n-1或者[m′]=[(m+r)′-1]*[r′]n-1
Figure BDA0001856813560000144
移除密文中隐藏的随机数,最终得到[m′]和[m″]。另外,它需要计算
Figure BDA0001856813560000145
Figure BDA0001856813560000146
最后输出密文Cm′=([Lm′],[m′])和Cm″=([Lm″],[m″])。注意Lm″要比Lm′大。
常数幂次(Exponent()):给定一个常数值X和一个密文[m],输出密文Xm。具体的步骤如下:
1)DSP选择一个随机数r并计算[m+r]=[m]*[r]然后部分解密得到
Figure BDA0001856813560000147
2)CP部分解密得到m+r然后再加密Xm+r得到[Xm+r];
3)DSP计算(Xr)-1modn2,然后得到
Figure BDA0001856813560000148
6支持溢出检测的大数乘法
基于代理重加密系统和函数,设计了一个支持溢出检测和大整数计算的乘法,详细描述如下:
第一步(所有实体的系统建立):系统调用密钥生成算法KeyGen完成同态重加密系统的建立。另外,权威机构调用系统建立算法SetupABE(λ,U)生成公共参数PK′和ABE算法的主密钥MSK′,然后向数据请求者发布PK′。
第二步(数据提供者的数据上传):DP将个人数据加密后上传给DSP后,DSP直接调用EncTK加密长度为
Figure BDA0001856813560000151
的数据mi
Figure BDA0001856813560000152
第三步(在DSP和CP合作下的数据处理):针对潜在的应用要求,对来自于DP的数据进行乘法运算。在本发明中,以两个密文为例
Figure BDA0001856813560000153
Figure BDA0001856813560000154
执行以下步骤(参见图3):
a)首先调用溢出检测算法OFDetet()检查和的长度是否大于限制长度L(n)。如果没有大于限制长度,DSP和CP直接调用乘法计算,得到密文乘积
Figure BDA0001856813560000155
如果大于限制长度,执行步骤b);
b)调用之前工作中的最大最小值算法比较
Figure BDA0001856813560000156
Figure BDA0001856813560000157
获得密文较大值[max]和密文较小值[min];
c)调用密文分割算法CipherSeg()将较大的密文值分割为两个密文Cmax′=([Lmax′],[max′])和Cmax″=([Lmax″],[max″])。
d)对每一个最大值部分和最小值[min]做乘法,然后将他们合并得到结果。注意在每一次乘法执行前都要进行溢出检测。
如果没有溢出发生(即Lmax″+Lmin<L(n)),调用基本乘法实现对结果
Figure BDA0001856813560000158
Figure BDA0001856813560000159
的灵活访问控制。另外,DSP和CP交互产生CK=EncABE(ck1*ck2,γ,PK′)用来管理解密密钥ck=ck1*ck2
如果[max″]与[min]相乘发生溢出,那么需要进一步将密文[min]分割为两部分。
密文[mi](i=1,2)的消息mi的长度小于L(n),因此运算中最多需要两次分割来获得乘积m1*m2。由于Lm″大于Lm′,如果Lmax″+Lmin<L(n),则不需要检查Lmax′+Lmin<L(n)。
第四步(数据访问):收到DSP的计算结果后,满足访问策略的DR可以解密CK以获得ck,并进一步解密乘法结果的密文。有几种可能的情况:1)没有分割计算。授权的DR通过解密可以直接得到m1*m2。2)在计算中只有一次分割。授权实体可以获取max′*min和max″*min,最终得到乘法结果
Figure BDA0001856813560000161
3)最大值和最小值都被分割。计算得到四个部分res1=max′*min′,res2=max′*min″,res3=max″*min′和res4=max″*min″。假设最大值max的长度为n1,最小值min的长度是n2,那么最终的乘法结果则为
Figure BDA0001856813560000162
6其他类型数据的扩展计算
实际的应用场景中,整数有时候并不能完全地满足实际应用需求。例如,电子商务中,商家希望了解各区域群体的喜好,但是为了保护用户的隐私,大数据分析时并不方便直接提供真实数据,只希望提供一些分布概率情况;在医疗数据分析中,往往需要较高的数据精确度,而浮点数等能提高数据的精度,既能促进区域病情的大概率分析,也能提高患者疾病监测的准确度。多样化的数据类型给隐私保护的数据分析提供了如下几个优点:1)自适应各种实际需求;2)提高了数据的精确度;3)通过只提供概率而不提供真实数值的方式,一定程度上保护了隐私。
大整数的乘法:
基于上面的乘法,能处理最多L(n)比特位的数据并且能够产生最多2L(n)比特位的数据。而在实际应用场景中,数据分割也可能发生在以下情况中:
原始数据的长度大于L(n)。因此,原始数据必须分成几个块然后进行加密。
出于隐私考虑,防止云服务器或攻击者根据分割情况去窃取数据长度相关的隐私信息。因此,DP在外包之前希望将原始数据分成几个块,以混淆云服务器和敌手。
为了处理两个大整数m1和m2,DP首先将
Figure BDA0001856813560000171
(l1是m1的比特长度)分割为几个块
Figure BDA0001856813560000172
每一个块加密为
Figure BDA0001856813560000173
其中
Figure BDA0001856813560000174
Figure BDA0001856813560000175
的长度且
Figure BDA0001856813560000176
Figure BDA0001856813560000177
在m1中的比特位置。每一个块的比特长度可能是相同的或不同的,用来检测溢出。同样地,m2可以被分割为几个块
Figure BDA0001856813560000178
并且每一个加密为
Figure BDA0001856813560000179
应用算法可以实现
Figure BDA00018568135600001710
Figure BDA00018568135600001711
的乘法得到
Figure BDA00018568135600001712
在得到所有的计算模块后,授权的DR可以通过公式
Figure BDA00018568135600001713
恢复乘法结果。
有理数上的乘法:
任意有理数都可以被表示为一个分数形式m=m1/m2,可以被加密为
Figure BDA00018568135600001714
因此,使用分数来处理有理数上的乘法。给定两个有理数m1=m1,1/m1,2和m2=m2,1/m2,2,计算可能包括:
1)加法:m1+m2=m1,1/m1,2+m2,1/m2,2=(m1,1*m2,2+m2,1*m2,2)/(m1,2*m2,2);
2)减法:m1-m2=m1,1/m1,2-m2,1/m2,2=(m1,1*m2,2-m2,1*m2,2)/(m1,2*m2,2);
3)乘法:m1*m2=(m1,1*m2,1)/(m1,2*m2,2)。
有理数的计算可直接分解为整数的基本计算。为了支持大有理数的计算,在每一次乘法之前仍旧需要进行溢出检测。
浮点数的乘法:
浮点数可以表示为m=m′*2E,加密为{[m′],[E]}。给定两个浮点数
Figure BDA0001856813560000181
基本计算包括:
1)加法:
Figure BDA0001856813560000182
执行以下步骤:
·调用Maximum()算法从{[m1],[E1]}和{[m2],[E2]}得到[Emax]和[Emin],从而得到{[max],[Emax]}和{[min],[Emin]};
调用Subtraction()算法得到密文[Emax-Emin];
调用Exponent()算法得到密文
Figure BDA0001856813560000183
计算得到
Figure BDA0001856813560000184
并最终得到总和的密文
Figure BDA0001856813560000185
2)减法:
Figure BDA0001856813560000186
执行以下步骤:
调用Maximum算法从{[m1],[E1]}和{[m2],[E2]}得到[Emax]和[Emin],从而得到{[max],[Emax]}和{[min],[Emin]};如果m1≥m2,标记f=1,否则f=-1;调用Subtraction()算法得到密文[Emax-Emin];
调用Exponent()算法得到密文
Figure BDA0001856813560000187
计算得到
Figure BDA0001856813560000188
并且最终得到密文和为
Figure BDA0001856813560000189
3)乘法:
Figure BDA0001856813560000191
具体计算如下:
调用基本乘法得到[m1*m2];
调用基本加法计算得到[E1+E2];
得到乘法结果{[m1*m2],[E1+E2]}。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种支持溢出检测和大整数运算的信息处理方法,其特征在于,所述支持溢出检测和大整数运算的信息处理方法包括:
步骤一,系统调用密钥生成算法KeyGen建立同态重加密系统;权威机构调用系统建立算法生成公共参数和ABE的主密钥,并向DR发布;
步骤二,DP调用EnkTK加密算法将数据加密后上传给DSP,DSP收到加密数据后和CP合作对数据进行处理;
步骤三,首先对密文执行溢出检测,如果没有溢出,则直接调用乘法运算;否则,先调用密文分割算法对大整数密文进行分割,再调用乘法运算进行求解;只有满足访问策略的DR可以解密CK获得相应的解密密钥ck,再用ck解密获得明文;
所述步骤一具体包括:系统调用密钥生成算法KeyGen完成同态重加密系统的建立;另外,权威机构调用系统建立算法SetupABE(λ,U)生成公共参数PK′和ABE算法的主密钥MSK′,向服务用户发布PK′;
所述步骤二具体包括:DP将个人数据加密后上传给DSP,直接调用EncTK加密长度为
Figure FDA0003008730830000011
的数据mi
Figure FDA0003008730830000012
所述步骤三具体包括:
(a)调用溢出检测算法OFDetet()检查和的长度是否大于限制长度L(n);如果没有大于限制长度,DSP和CP直接调用乘法计算,得到密文乘积
Figure FDA0003008730830000013
如果大于限制长度,执行步骤(b);
(b)调用之前工作中的最大最小值算法比较
Figure FDA0003008730830000014
Figure FDA0003008730830000015
获得密文较大值[max]和密文较小值[min];
(c)调用密文分割算法CipherSeg()将较大的密文值分割为两个密文Cmax′=([Lmax′],[max′])和Cmax″=([Lmax″],[max″]);
(d)对每一个最大值部分和最小值[min]做乘法,合并得到结果;
如果没有溢出发生(即Lmax″+Lmin<L(n)),调用基本乘法实现对结果
Figure FDA0003008730830000021
Figure FDA0003008730830000022
的灵活访问控制;DSP和CP交互产生CK=EncABE(ck1*ck2,γ,PK′)管理解密密钥ck=ck1*ck2
如果[max″]与[min]相乘发生溢出,将密文[min]分割为两部分;
密文[mi](i=1,2)的消息mi的长度小于L(n),如果Lmax″+Lmin<L(n),则不需要检查Lmax′+Lmin<L(n);
所述步骤三具体包括:
1)没有分割计算;授权的DR通过解密可以直接得到m1*m2
2)在计算中只有一次分割,授权实体获取max′*min和max″*min,最终得到乘法结果
Figure FDA0003008730830000023
3)最大值和最小值都被分割,计算得到四个部分res1=max′*min′,res2=max′*min″,res3=max″*min′和res4=max″*min″;最大值max的长度为n1,最小值min的长度是n2,那么乘法结果是
Figure FDA0003008730830000024
2.如应用权利要求1所述支持溢出检测和大整数运算的信息处理方法的信息数据分割处理方法,其特征在于,所述信息数据分割处理方法包括:DP在外包之前希望将原始数据分成几个块,DP将
Figure FDA0003008730830000025
分割为几个块
Figure FDA0003008730830000026
每一个块加密为
Figure FDA0003008730830000027
其中
Figure FDA0003008730830000028
Figure FDA0003008730830000029
的长度且
Figure FDA00030087308300000210
Figure FDA00030087308300000211
在m1中的比特位置;每一个块的比特长度可能是相同的或不同的,用来检测溢出;m2被分割为几个块
Figure FDA00030087308300000212
并且每一个加密为
Figure FDA00030087308300000213
在得到所有的计算模块后,授权的DR通过公式
Figure FDA0003008730830000031
恢复乘法结果。
CN201811318036.9A 2018-11-07 2018-11-07 一种支持溢出检测和大整数运算的信息处理方法及应用 Active CN109361510B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811318036.9A CN109361510B (zh) 2018-11-07 2018-11-07 一种支持溢出检测和大整数运算的信息处理方法及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811318036.9A CN109361510B (zh) 2018-11-07 2018-11-07 一种支持溢出检测和大整数运算的信息处理方法及应用

Publications (2)

Publication Number Publication Date
CN109361510A CN109361510A (zh) 2019-02-19
CN109361510B true CN109361510B (zh) 2021-06-11

Family

ID=65344565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811318036.9A Active CN109361510B (zh) 2018-11-07 2018-11-07 一种支持溢出检测和大整数运算的信息处理方法及应用

Country Status (1)

Country Link
CN (1) CN109361510B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992979B (zh) * 2019-03-15 2020-12-11 暨南大学 一种岭回归训练方法、计算设备、介质
CN110147681B (zh) * 2019-04-02 2022-11-29 西安电子科技大学 一种支持灵活访问控制的隐私保护大数据处理方法及系统
CN110493201B (zh) * 2019-07-29 2022-03-18 北京多思安全芯片科技有限公司 一种数据的处理方法、装置和系统
CN111526000B (zh) * 2020-04-20 2023-08-18 北京电子科技学院 一种基于混淆模投影的并行部分同态加密方法和系统
CN111586000B (zh) * 2020-04-28 2020-12-18 北京物资学院 一种全代理同态重加密传输系统及其运行机制
CN111523145B (zh) * 2020-07-03 2020-09-29 支付宝(杭州)信息技术有限公司 针对隐私数据进行安全运算的方法和装置
CN114584285B (zh) * 2022-05-05 2022-07-29 深圳市洞见智慧科技有限公司 安全多方处理方法及相关设备
CN116095174A (zh) * 2022-12-30 2023-05-09 支付宝(杭州)信息技术有限公司 一种业务处理的方法、装置、存储介质及电子设备
CN116684095B (zh) * 2023-08-02 2023-09-29 杭州希智电子有限公司 基于物联网的传感器数据加密方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841443A (zh) * 2005-03-30 2006-10-04 富士通株式会社 计算方法、计算设备以及计算机程序
CN102710661A (zh) * 2012-06-25 2012-10-03 上海交通大学 云存储与聚合架构及其数据存储与聚合方法
CN107147484A (zh) * 2017-05-12 2017-09-08 南京邮电大学 一种面向隐私保护的浮点数全同态加密方法
CN108614772A (zh) * 2018-04-10 2018-10-02 江南大学 一种并发检测堆缓冲区溢出的架构及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8861716B2 (en) * 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
WO2015116032A1 (en) * 2014-01-28 2015-08-06 Hewlett-Packard Development Company, L.P. Data and instruction set encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841443A (zh) * 2005-03-30 2006-10-04 富士通株式会社 计算方法、计算设备以及计算机程序
CN102710661A (zh) * 2012-06-25 2012-10-03 上海交通大学 云存储与聚合架构及其数据存储与聚合方法
CN107147484A (zh) * 2017-05-12 2017-09-08 南京邮电大学 一种面向隐私保护的浮点数全同态加密方法
CN108614772A (zh) * 2018-04-10 2018-10-02 江南大学 一种并发检测堆缓冲区溢出的架构及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Privacy-Preserving Outsourced Calculation on Floating Point Numbers;Ximeng Liu;《IEEE》;20160617;全文 *
二进制代码缓冲区溢出检测技术研究;俞许;《中国优秀硕士论文全文数据库.电子期刊》;20121015(第10期);全文 *

Also Published As

Publication number Publication date
CN109361510A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
CN109361510B (zh) 一种支持溢出检测和大整数运算的信息处理方法及应用
Samanthula et al. A secure data sharing and query processing framework via federation of cloud computing
Wenxiu et al. Privacy-preserving data processing with flexible access control
Liu et al. Achieving reliable and secure services in cloud computing environments
Ganesan Data security in cloud architecture based on Diffie Hellman and elliptical curve cryptography
CN110089071B (zh) 安全的分布式数据处理
Li et al. Low complexity multi-authority attribute based encryption scheme for mobile cloud computing
CN108111540B (zh) 一种云存储中支持数据共享的分层访问控制系统及方法
Samanthula et al. An efficient and secure data sharing framework using homomorphic encryption in the cloud
Jin et al. A secure and lightweight data access control scheme for mobile cloud computing
CN110147681A (zh) 一种支持灵活访问控制的隐私保护大数据处理方法及系统
Murugesan et al. Analysis on homomorphic technique for data security in fog computing
CN107204997A (zh) 管理云存储数据的方法和装置
CN114697042A (zh) 一种基于区块链的物联网安全数据共享代理重加密方法
Xu et al. Secure deduplication for big data with efficient dynamic ownership updates
Aljafer et al. A brief overview and an experimental evaluation of data confidentiality measures on the cloud
Yan et al. Traceable and weighted attribute-based encryption scheme in the cloud environment
Hong et al. A key-insulated CP-ABE with key exposure accountability for secure data sharing in the cloud
Sepehri et al. Secure Data Sharing in Cloud Usingan Efficient Inner-Product ProxyRe-Encryption Scheme.
Cui et al. Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database
Cao et al. Analysis of one secure anticollusion data sharing scheme for dynamic groups in the cloud
Ding et al. Computing maximum and minimum with privacy preservation and flexible access control
Qiu et al. Hierarchical Access Control with Scalable Data Sharing in Cloud Storage
Ambika et al. TAR-AFT: A Framework to Secure Shared Cloud Data with Group Management.
Hwang et al. A study on data sharing system using ACP-ABE-SE in a cloud environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant