[go: up one dir, main page]

CN115765980A - Decentralized data aggregation and sharing method and system based on secure inner product calculation - Google Patents

Decentralized data aggregation and sharing method and system based on secure inner product calculation Download PDF

Info

Publication number
CN115765980A
CN115765980A CN202211183953.7A CN202211183953A CN115765980A CN 115765980 A CN115765980 A CN 115765980A CN 202211183953 A CN202211183953 A CN 202211183953A CN 115765980 A CN115765980 A CN 115765980A
Authority
CN
China
Prior art keywords
sub
participants
ciphertext
data
inner product
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
Application number
CN202211183953.7A
Other languages
Chinese (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.)
Hubei University of Technology
Original Assignee
Hubei University of Technology
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 Hubei University of Technology filed Critical Hubei University of Technology
Priority to CN202211183953.7A priority Critical patent/CN115765980A/en
Publication of CN115765980A publication Critical patent/CN115765980A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a decentralized data aggregation sharing method and system based on secure inner product computation i (ii) a Firstly, KGC generates initial public parameters; then DO i Interactively generating a private key sk using common parameters i ,DO i Passing sk i After carrying out encryption calculation on the private data, uploading a ciphertext to the CS, and generating a sub-decryption key dk through the KGC yi Upload to CS, all DOs of CS to same tag i Verifying the uploaded ciphertext to obtain the uploaded sub decryption key dk yi Verifying to ensure that each participant participates effectively; then, the ciphertext is aggregated and calculated to aggregate dk yi Computationally generating a decryption key dk y CS reuse dk y Computing the aggregated ciphertext and returning the computed intermediate values to all DO' s i (ii) a And finally, recovering the intermediate value returned by the CS to obtain an aggregated data result of the safety inner product calculation. The invention adoptsThe decentralization scheme is used, and the safety is higher.

Description

去中心化的基于安全内积计算的数据聚合共享方法及系统Decentralized data aggregation and sharing method and system based on secure inner product calculation

技术领域technical field

本发明属于信息安全技术领域,涉及一种去中心化的多方基于安全内积计算的数据聚合共享方法及系统,特别涉及一种各持有一定量数据的多个参与方在隐私保护的前提下进行数据功能的聚合共享方法及系统。The invention belongs to the field of information security technology, and relates to a decentralized multi-party data aggregation and sharing method and system based on secure inner product calculation, and in particular to a method and system for multiple participants each holding a certain amount of data under the premise of privacy protection A method and system for aggregation and sharing of data functions.

背景技术Background technique

随着大数据计算环境在云上的广泛部署与应用,给云服务的用户带来了极大的便利。新兴的云服务为用户提供了持续可靠、可扩展且高吞吐量的大数据存储和计算服务。但随之也带来了隐私相关的问题,在这种外包的大数据计算环境下,因为用户的数据所有权和使用权被分离,在数据上传,计算和输出等阶段都有发生隐私数据泄露风险的可能。因此,如何在大数据环境下保护云用户敏感数据的隐私引起了学术界和工业界的大量关注,与此同时保证数据的可用性和计算的高效性成为大数据隐私保护领域的研究热点之一。其中函数加密作为公钥加密中的一种新范式,原来解密得到的结果或是明文或是不泄露任何明文信息,而函数加密进行解密后获得秘密数据的函数值。函数加密的这一特性允许使用者精细地控制密文向给定的接收者透露的信息量。这一新型密码体制能够在保证数据机密性的同时,实现有效的数据计算、检索与访问控制。With the widespread deployment and application of big data computing environments on the cloud, it has brought great convenience to users of cloud services. Emerging cloud services provide users with continuously reliable, scalable, and high-throughput big data storage and computing services. But it also brings privacy-related issues. In this outsourced big data computing environment, because the user's data ownership and use rights are separated, there is a risk of privacy data leakage in the stages of data upload, calculation, and output. possible. Therefore, how to protect the privacy of cloud users' sensitive data in a big data environment has attracted a lot of attention from academia and industry. At the same time, ensuring data availability and computing efficiency has become one of the research hotspots in the field of big data privacy protection. Among them, function encryption is a new paradigm in public key encryption. The original decryption result is either plaintext or does not reveal any plaintext information, while function encryption obtains the function value of the secret data after decryption. This property of functional encryption allows users to finely control the amount of information a ciphertext reveals to a given recipient. This new cryptographic system can realize effective data calculation, retrieval and access control while ensuring data confidentiality.

那么当有一组用户希望共享他们聚合后的数据的特定功能时,考虑到自己的私有数据不能泄露给对方和云服务器,希望加密后的数据能够让云服务器来进行特定的功能聚合计算,来减少了本地的计算负担。为了解决多用户数据共享的计算问题和隐私保护问题,函数加密的有效计算性和精细的密文访问控制是进行数据隐私计算的有效选择。通过函数加密可以让多个用户在不泄露私有数据的情况下能够聚合数据的特定功能,对数据进行安全计算,有效地解决一些数据隐私和计算问题。Then when a group of users want to share specific functions of their aggregated data, considering that their private data cannot be leaked to the other party and the cloud server, it is hoped that the encrypted data can allow the cloud server to perform specific functional aggregation calculations to reduce reduce the local computing burden. In order to solve the computing problem and privacy protection problem of multi-user data sharing, the efficient computing and fine-grained ciphertext access control of functional encryption are effective choices for data privacy computing. Through function encryption, multiple users can aggregate specific functions of data without disclosing private data, perform secure calculations on data, and effectively solve some data privacy and calculation problems.

目前也出现通过函数加密来保护数据隐私的方案,有人提出了一种外包内积计算方案,他们讨论的是数据拥有者在上传完加密数据后,数据使用者通过密钥生成中心生成解密钥后,再通过解密钥生成评估密钥给服务器解密生成中间值发送给数据使用者,然后数据使用者恢复出最终的值;但是,该方案密钥生成由密钥生成中心直接生成解密钥,这样会使得密钥生成中心的具有较高的权限,保留了恢复密文的能力,从而增加了泄漏数据内积的风险;而且该方案验证算法步骤繁琐,计算开销偏大;有的方案有在解密阶段服务器直接解密出内积结果,然后再发送给用户,这样内积结果数据也没有得到隐私保护。At present, there are also schemes to protect data privacy through function encryption. Some people have proposed an outsourced inner product calculation scheme. They are discussing that after the data owner uploads the encrypted data, the data user generates a decryption key through the key generation center. After that, the evaluation key is generated by decrypting the key to decrypt the server to generate an intermediate value and send it to the data user, and then the data user restores the final value; however, the key generation of this scheme is directly generated by the key generation center. , which will make the key generation center have a higher authority and retain the ability to recover the ciphertext, thus increasing the risk of leaking the inner product of the data; moreover, the verification algorithm steps of this scheme are cumbersome and the calculation cost is too large; some schemes have In the decryption stage, the server directly decrypts the inner product result and then sends it to the user, so that the inner product result data is not protected from privacy.

发明内容Contents of the invention

为了解决上述技术问题,本发明提供了一种去中心化的多方基于安全内积计算的数据聚合共享方法及系统。In order to solve the above technical problems, the present invention provides a decentralized multi-party data aggregation and sharing method and system based on secure inner product calculation.

本发明的方法所采用的技术方案是:一种去中心化的基于安全内积计算的数据聚合共享方法,包括密钥生成中心KGC,云服务器CS,进行安全数据聚合共享的一组数据持有者DOi;当有m个共享参与方,那么DOi则表示第i个参与方,系统内协商好的一组参与方会拥有一个相同的组内标签l,只有具有相同标签的参与方才可以参与共享并恢复出最后聚合的结果,i∈{1,2,…,m};The technical solution adopted by the method of the present invention is: a decentralized data aggregation and sharing method based on secure inner product calculation, including a key generation center KGC, a cloud server CS, and a group of data holders for secure data aggregation and sharing or DO i ; when there are m shared participants, then DO i represents the i-th participant, and a group of participants negotiated in the system will have the same label l in the group, and only participants with the same label can Participate in sharing and restore the final aggregation result, i∈{1,2,…,m};

所述方法包括以下步骤:The method comprises the steps of:

步骤1:KGC生成初始公共参数;Step 1: KGC generates initial public parameters;

步骤2:DOi利用公共参数并交互生成私钥skiStep 2: DO i utilizes public parameters and generates private key sk i interactively;

步骤3:DOi通过ski对私有数据进行加密计算后上传密文给CS;Step 3: DO i encrypts the private data through ski and uploads the ciphertext to CS;

步骤4:通过KGC生成的子解密钥

Figure BDA0003866471640000021
上传给CS;Step 4: Sub-decryption key generated by KGC
Figure BDA0003866471640000021
Upload to CS;

步骤5:CS对同标签的所有DOi上传的密文进行验证,对上传的子解密钥

Figure BDA0003866471640000022
进行验证,保证各个参与方都有效参与;Step 5: CS verifies the ciphertexts uploaded by all DO i with the same label, and decrypts the uploaded sub-keys
Figure BDA0003866471640000022
Carry out verification to ensure that all participants participate effectively;

步骤6:对密文聚合计算,聚合

Figure BDA0003866471640000023
计算生成解密钥dky,CS再利用dky对聚合的密文进行计算,把计算的中间值返还给所有DOi;Step 6: Calculate and aggregate the ciphertext
Figure BDA0003866471640000023
Calculate and generate the decryption key dk y , CS then uses dk y to calculate the aggregated ciphertext, and returns the calculated intermediate value to all DO i ;

步骤7:对CS返还的中间值进行恢复得到安全内积计算的聚合数据结果。Step 7: Recover the intermediate value returned by CS to obtain the aggregated data result of the safe inner product calculation.

本发明的系统所采用的技术方案是:一种去中心化的基于安全内积计算的数据聚合共享系统,包括密钥生成中心KGC,云服务器CS,进行安全数据聚合共享的一组数据持有者DOi;当有m个共享参与方,那么DOi则表示第i个参与方,系统内协商好的一组参与方会拥有一个相同的组内标签l,只有具有相同标签的参与方才可以参与共享并恢复出最后聚合的结果,i∈{1,2,…,m};The technical solution adopted by the system of the present invention is: a decentralized data aggregation and sharing system based on secure inner product calculation, including a key generation center KGC, a cloud server CS, and a group of data holders for secure data aggregation and sharing or DO i ; when there are m shared participants, then DO i represents the i-th participant, and a group of participants negotiated in the system will have the same label l in the group, and only participants with the same label can Participate in sharing and restore the final aggregation result, i∈{1,2,…,m};

所述系统包括以下模块:The system includes the following modules:

模块1,用于KGC生成初始公共参数;Module 1, used for KGC to generate initial public parameters;

模块2,用于DOi利用公共参数并交互生成私钥skiModule 2, used for DO i to use public parameters and generate private key sk i interactively;

模块3,用于DOi通过ski对私有数据进行加密计算后上传密文给CS;Module 3, used for DO i to encrypt and calculate private data through sk i and then upload the ciphertext to CS;

模块4,用于通过KGC生成的子解密钥

Figure BDA0003866471640000024
上传给CS;Module 4, for sub-decryption keys generated by KGC
Figure BDA0003866471640000024
Upload to CS;

模块5,用于CS对同标签的所有DOi上传的密文进行验证,对上传的子解密钥

Figure BDA0003866471640000025
进行验证,保证各个参与方都有效参与;Module 5, used for CS to verify the ciphertext uploaded by all DO i with the same label, and to upload the sub-decryption key
Figure BDA0003866471640000025
Carry out verification to ensure that all participants participate effectively;

模块6,用于对密文聚合计算,聚合

Figure BDA0003866471640000031
计算生成解密钥dky,CS再利用dky对聚合的密文进行计算,把计算的中间值返还给所有DOi;Module 6, for ciphertext aggregation calculation, aggregation
Figure BDA0003866471640000031
Calculate and generate the decryption key dk y , CS then uses dk y to calculate the aggregated ciphertext, and returns the calculated intermediate value to all DO i ;

模块7,用于对CS返还的中间值进行恢复得到安全内积计算的聚合数据结果。Module 7, used to restore the intermediate value returned by CS to obtain the aggregated data result of the safe inner product calculation.

本发明能确保参与组内安全内积计算的数据共享的参与方能够在不诚实的云服务器及外部攻击下在进行数据共享时的原始数据隐私得到保护。参与方通过安全内积计算的方式进行数据功能聚合可以确保在原始数据不被泄露下对数据进行计算,具有很高的实用性。共同参与安全内积计算的数据聚合的参与方会拥有一个相同的组内标签,只有具有相同标签的参与方最后才可以恢复出安全内积计算的数据聚合结果,这使得其他组的参与方无法参与进来。各个参与方自己生成本地密钥,用于加密和参与生成子解密钥,这与直接由密钥生成中心生成解密钥相比,解密钥生成的决定权分散到了各个参与方手中,使密钥生成中心的权威大大降低,只是负责计算生成的工作,达到了去中心化的效果。云服务器都是对密文进行操作,无法从中解读出任何有用的信息,对密文的解密结果不是最终的数据内积聚合值,只有拥有组内标签的参与方才可以恢复出最终的结果,这进一步保证了聚合结果的安全。本发明的技术还可以用于很多场景,比如一片地区范围的医院可以在不泄露病人隐私数据的前提下通过安全内积计算聚合共享病情数据,通过分析安全内积计算下的数据结果,将对地区性的一些传染疾病治疗有巨大的帮助。因此,本发明具有很高的实用性和隐私保护性。The invention can ensure that the participants participating in the data sharing of the safe inner product calculation in the group can protect the original data privacy when sharing the data under dishonest cloud servers and external attacks. Participants perform data functional aggregation through secure inner product calculations to ensure that data can be calculated without the original data being leaked, which is highly practical. Participants who jointly participate in the data aggregation of the safe inner product calculation will have the same label in the group, and only the participants with the same label can finally recover the data aggregation result of the safe inner product calculation, which makes it impossible for other groups of participants to Get involved. Each participant generates its own local key for encryption and participates in the generation of sub-decryption keys. Compared with directly generating the decryption key by the key generation center, the decision-making power for the generation of the decryption key is distributed to each participant. The authority of the key generation center is greatly reduced, and it is only responsible for the calculation and generation work, achieving the effect of decentralization. The cloud server operates on the ciphertext and cannot interpret any useful information from it. The decryption result of the ciphertext is not the final accumulated value in the data. Only the participants with the tags in the group can recover the final result. Further guarantee the security of the aggregation result. The technology of the present invention can also be used in many scenarios. For example, a hospital in an area can aggregate and share disease data through secure inner product calculation without revealing the patient's private data. By analyzing the data results under the safe inner product calculation, the Regional treatment of some infectious diseases is of great help. Therefore, the present invention has high practicality and privacy protection.

附图说明Description of drawings

图1:本发明实施例的方法参与方架构图;Fig. 1: a method participant architecture diagram of an embodiment of the present invention;

图2:本发明实施例的方法流程图;Fig. 2: method flowchart of the embodiment of the present invention;

图3:本发明实施例的方法中步骤1的具体流程图;Fig. 3: the specific flowchart of step 1 in the method for the embodiment of the present invention;

图4:本发明实施例的方法中步骤3的具体流程图;Fig. 4: the specific flowchart of step 3 in the method of the embodiment of the present invention;

图5:本发明实施例的方法中步骤4的具体流程图;Fig. 5: the specific flowchart of step 4 in the method of the embodiment of the present invention;

图6:本发明实施例的方法中步骤5的具体流程图;Fig. 6: the specific flowchart of step 5 in the method of the embodiment of the present invention;

图7:本发明实施例的方法中步骤6的具体流程图。Fig. 7: a specific flowchart of step 6 in the method of the embodiment of the present invention.

具体实施方式Detailed ways

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。In order to facilitate those of ordinary skill in the art to understand and implement the present invention, the present invention will be described in further detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the implementation examples described here are only used to illustrate and explain the present invention, and are not intended to limit this invention.

请见图1,本发明一种去中心化的基于安全内积计算的数据聚合共享方法,包括以下步骤:Please see Figure 1, a decentralized data aggregation and sharing method based on safe inner product calculation in the present invention, including the following steps:

步骤1:KGC生成初始公共参数;Step 1: KGC generates initial public parameters;

请见图3,本实施例中步骤1的具体实现包括以下子步骤:See also Fig. 3, the specific realization of step 1 in the present embodiment includes the following sub-steps:

步骤1.1:KGC输入安全参数λ,数据长度参数n,消息边界参数X和向量边界参数Y,生成安全素数

Figure BDA0003866471640000041
其中p′和q′是满足p′,q′>2λ的大素数,
Figure BDA0003866471640000042
Figure BDA0003866471640000043
大素数q>2λ,消息的大小边界满足||x||<X,向量的大小边界满足||y||<Y;Step 1.1: KGC inputs security parameter λ, data length parameter n, message boundary parameter X and vector boundary parameter Y to generate a safe prime number
Figure BDA0003866471640000041
Where p' and q' are large prime numbers satisfying p', q'>2 λ ,
Figure BDA0003866471640000042
make
Figure BDA0003866471640000043
Large prime number q>2 λ , the size boundary of the message satisfies ||x||<X, and the size boundary of the vector satisfies ||y||<Y;

步骤1.2:定义一个双线性映射函数e:(G1×G2→GT),其中G1,G2和GT均为包含q个元素的循环群,其中群G1和G2的群生成元分别是g1和g2,使得G1上的数和G2上的数运算得到GT上的数,计算满足

Figure BDA0003866471640000044
其中a,b是正整数;Step 1.2: Define a bilinear mapping function e: (G 1 ×G 2 →G T ), where G 1 , G 2 and G T are all cyclic groups containing q elements, where the groups G 1 and G 2 The group generators are g 1 and g 2 respectively, so that the number on G 1 and the number on G 2 can be calculated to get the number on G T , and the calculation satisfies
Figure BDA0003866471640000044
Where a, b are positive integers;

步骤1.3:在{1,2,...,N-1}范围内随机选择m个数记为vi,计算

Figure BDA0003866471640000045
然后把vi发送给对应的参与方DOi,其中下标i对应m个参与方的下标索引,然后不再保留vi,只将V的值保留;其中,i∈{1,2,...,m};Step 1.3: Randomly select m numbers within the range of {1, 2, ..., N-1} and record them as v i , calculate
Figure BDA0003866471640000045
Then send v i to the corresponding participant DO i , where the subscript i corresponds to the subscript index of m participants, and then no longer keep v i , only keep the value of V; where, i∈{1, 2, ..., m};

步骤1.4:定义三个映射函数:H1:{0,1}n→{0,1,2,...,N2-1},H2:GT→{0,1,2,...,N2-1},Hv:{0,1}n→G1,H1是将n长比特的数映射成小于N2的正整数,H2是将GT群上的数映射成小于N2的正整数,Hv是将n长比特的数映射成G1群上的数;Step 1.4: Define three mapping functions: H 1 : {0, 1} n → {0, 1, 2, ..., N 2 -1}, H 2 : G T → {0, 1, 2, . .., N 2 -1}, H v : {0, 1} n → G 1 , H 1 maps n-bit numbers to positive integers smaller than N 2 , H 2 maps the numbers on the G T group Mapped to a positive integer smaller than N 2 , H v is to map the number of n long bits into the number on the G 1 group;

步骤1.5:从{1,2,...,q-1}中随机选取一个数记为α,计算

Figure BDA0003866471640000046
记为A,e(g1,g2)α∈GT记为B;Step 1.5: Randomly select a number from {1, 2, ..., q-1} and record it as α, calculate
Figure BDA0003866471640000046
Denote as A, e(g 1 , g 2 ) αG T denote as B;

步骤1.6:最后KGC公开参数mpk={N,X,e,g1,g2,G1,G2,GT,V,H1,Hv,H2,A,B},保留msk={α,Y}。Step 1.6: Finally KGC public parameters mpk={N, X, e, g 1 , g 2 , G 1 , G 2 , G T , V, H 1 , H v , H 2 , A, B}, keep msk= {α, Y}.

步骤2:DOi利用公共参数并交互生成私钥skiStep 2: DO i utilizes public parameters and generates private key sk i interactively;

本实施例中步骤2的具体实现包括以下子步骤:The specific implementation of step 2 in this embodiment includes the following sub-steps:

步骤2.1:参与方DOi选取n维向量si,满足

Figure BDA0003866471640000047
向量中的元素(si,1,si,2,...,si,n)为n个从正整数Z范围内随机取的数,si,j(j∈[1,n])则表示向量si中的第j个元素,
Figure BDA0003866471640000048
则表示n个正整数Z范围内的随机数且满足标准差为
Figure BDA0003866471640000049
的正整数离散高斯分布,令加密钥eki=si;Step 2.1: Participant DO i selects n-dimensional vector s i , satisfying
Figure BDA0003866471640000047
The elements in the vector (s i,1 , s i,2 ,..., s i,n ) are n randomly selected numbers from the range of positive integer Z, s i,j (j∈[1,n] ) means the jth element in the vector si ,
Figure BDA0003866471640000048
Then it means a random number within the range of n positive integers Z and the standard deviation is
Figure BDA0003866471640000049
positive integer discrete Gaussian distribution of , let encryption key ek i =s i ;

步骤2.2:参与方DOi交互生成tiStep 2.2: Participant DO i interactively generates t i ;

为每个参与方先随机生成n×m长的一个一维向量记为t′i,然后将其值随机划分为m个子值,并随机给余下的m-1个参与方各发送一个子值,发送的子向量记为t′i,j,自己保留一份记为t′i,i,其中j表示接受方的下标,即满足

Figure BDA00038664716400000410
每个DOi都会收到m-1个子向量t′j,i,j∈{1,2,...i-1,i+1,...,m};最后生成的
Figure BDA00038664716400000411
满足
Figure BDA00038664716400000412
For each participant, a one-dimensional vector of n×m length is randomly generated and recorded as t′ i , and then its value is randomly divided into m subvalues, and a subvalue is randomly sent to the remaining m-1 participants , the sent sub-vector is denoted as t′ i, j , and a copy is denoted as t′ i, i , where j represents the subscript of the receiver, that is, satisfies
Figure BDA00038664716400000410
Each DO i will receive m-1 sub-vectors t′ j, i , j∈{1,2,...i-1,i+1,...,m}; the final generated
Figure BDA00038664716400000411
satisfy
Figure BDA00038664716400000412

步骤2.3:参与方DOi最后生成的私密钥ski=(si,ti,vi)。Step 2.3: The private key sk i =(s i , t i , v i ) finally generated by the participant DO i .

步骤3:DOi通过ski对私有数据进行加密计算后上传密文给CS;Step 3: DO i encrypts the private data through ski and uploads the ciphertext to CS;

请见图4,本实施例中步骤3的具体实现包括以下子步骤:See also Fig. 4, the specific realization of step 3 in the present embodiment includes the following sub-steps:

步骤3.1:DOi进行数据的加密处理,其中隐私数据表示为一个n维向量

Figure BDA0003866471640000051
Figure BDA0003866471640000052
向量中的元素表示为[0,N]中的整数,其中组内标签l为n比特长数,计算H1(l)记为H,计算Hv(l)记为I,计算H2(Bl)记为δ;Step 3.1: DO i encrypts the data, where the private data is expressed as an n-dimensional vector
Figure BDA0003866471640000051
Figure BDA0003866471640000052
The elements in the vector are expressed as integers in [0, N], where the label l in the group is an n-bit long number, the calculation of H 1 (l) is denoted as H, the calculation of H v (l) is denoted as I, and the calculation of H 2 ( B l ) is denoted as δ;

步骤3.2:计算Cvi=vi·Hv(l)∈G1Step 3.2: Calculate Cv i =v i ·H v (l)∈G 1 ;

步骤3.3:数据加密计算

Figure BDA0003866471640000053
Step 3.3: Data encryption calculation
Figure BDA0003866471640000053

步骤3.4:DOi整理密文Ci=(Ci1,Ci2,Ci3,Ci4)=(Cvi,Cxi,H,I)并上传给CS。Step 3.4: DO i organizes the ciphertext C i = (C i1 , C i2 , C i3 , C i4 ) = (Cv i , Cxi , H, I) and uploads it to CS.

步骤4:通过KGC生成的子解密钥dkyi上传给CS;Step 4: Upload the sub-decryption key dk yi generated by KGC to CS;

请见图5,本实施例中步骤4的具体实现包括以下子步骤:See also Fig. 5, the specific realization of step 4 in the present embodiment includes the following sub-steps:

步骤4.1:DOi通过KGC生成子解密钥

Figure BDA0003866471640000054
向KGC发送私密钥和向量yi=(yi,1,yi,2,…,yi,n),其中向量yi中的元素表现为[0,N]中的整数;则KGC有y=(y1||y2||…||ym),||表示前后两部分相连接起来,向量y为一个n×m长的一个向量;Step 4.1: DO i generates a sub-decryption key through KGC
Figure BDA0003866471640000054
Send the private key and vector y i =(y i,1 ,y i,2 ,…,y i,n ) to KGC, where the elements in vector y i represent integers in [0,N]; then KGC There is y=(y 1 ||y 2 ||...||y m ), || means that the front and back parts are connected, and the vector y is a vector of n×m length;

步骤4.2:KGC计算<si,yi>+<ti,y>记为

Figure BDA0003866471640000055
Step 4.2: KGC calculates <s i ,y i >+<t i ,y> as
Figure BDA0003866471640000055

步骤4.3:计算

Figure BDA0003866471640000056
记为ki;Step 4.3: Calculation
Figure BDA0003866471640000056
denoted as k i ;

步骤4.4:整理子解密钥

Figure BDA0003866471640000057
Step 4.4: Organize sub-decryption keys
Figure BDA0003866471640000057

步骤4.5:KGC分别将子解密钥

Figure BDA0003866471640000058
发送给DOi;Step 4.5: KGC respectively decrypts the sub-keys
Figure BDA0003866471640000058
send to DO i ;

步骤4.6:DOi分别将子解密钥

Figure BDA0003866471640000059
上传给CS。Step 4.6: DO i assigns the sub-decryption keys to
Figure BDA0003866471640000059
Upload to CS.

步骤5:CS对同标签的所有DOi上传的密文进行验证,对上传的子解密钥

Figure BDA00038664716400000510
进行验证,保证各个参与方都有效参与;Step 5: CS verifies the ciphertexts uploaded by all DO i with the same label, and decrypts the uploaded sub-keys
Figure BDA00038664716400000510
Carry out verification to ensure that all participants participate effectively;

请见图6,本实施例中步骤5的具体实现包括以下子步骤:See also Fig. 6, the specific realization of step 5 in the present embodiment includes the following sub-steps:

步骤5.1:CS收到所有DOi的密文,然后对密文进行验证计算;Step 5.1: CS receives all ciphertexts of DO i , and then performs verification calculation on the ciphertexts;

CS首先对密文进行验证,检测参与方是否都发送了密文,验证计算

Figure BDA00038664716400000511
Figure BDA00038664716400000512
是否成立,验证所有Ci3,Ci4是否相等,相等则对任意i令C3=Ci3,C4=Ci4,反之则为不同标签下的参与方;若
Figure BDA00038664716400000513
不成立,则参与方未全部参与上传密文,返回进行步骤3.4,通过则进行下一步骤:CS first verifies the ciphertext, checks whether all parties have sent the ciphertext, and verifies the calculation
Figure BDA00038664716400000511
Figure BDA00038664716400000512
Whether it is established, verify whether all C i3 and C i4 are equal, and if they are equal, set C 3 =C i3 , C 4 =C i4 for any i, otherwise, they are participants under different labels; if
Figure BDA00038664716400000513
If it is not established, all participants did not participate in uploading the ciphertext, return to step 3.4, if passed, proceed to the next step:

步骤5.2:CS收到所有DOi的子解密钥,对子解密钥

Figure BDA00038664716400000514
进行验证;Step 5.2: CS receives all the sub-decryption keys of DO i , and the sub-decryption keys
Figure BDA00038664716400000514
authenticating;

CS首先验证计算

Figure BDA00038664716400000515
是否成立,若不成立,则检查是否是所有参与者全部上传,若有参与方未上传,则等待上传;若接收到m个子解密钥等式仍不成立,则有参与方未正确上传子解密密钥或者有参与方恶意上传,则终止共享;通过则继续下一步:CS first verifies the calculation
Figure BDA00038664716400000515
Whether it is true, if not, check whether all participants have uploaded it, if any participant has not uploaded, wait for the upload; if the equation of m sub-decryption keys is still not established, then some participants have not uploaded the sub-decryption key correctly key or maliciously uploaded by a participant, the sharing will be terminated; if passed, continue to the next step:

步骤5.3:CS整理

Figure BDA00038664716400000516
得向量y=(y1||y2||…||ym)。Step 5.3: CS finishing
Figure BDA00038664716400000516
Get the vector y=(y 1 ||y 2 ||...||y m ).

步骤6:对密文聚合计算,聚合

Figure BDA0003866471640000061
计算生成解密钥dky,CS再利用dky对聚合的密文进行计算,把计算的中间值返还给所有DOi;Step 6: Calculate and aggregate the ciphertext
Figure BDA0003866471640000061
Calculate and generate the decryption key dk y , CS then uses dk y to calculate the aggregated ciphertext, and returns the calculated intermediate value to all DO i ;

请见图7,本实施例中步骤6的具体实现包括以下子步骤:See also Fig. 7, the specific realization of step 6 in the present embodiment includes the following sub-steps:

步骤6.1:CS对单个参与方的密文进行计算;Step 6.1: CS calculates the ciphertext of a single participant;

Figure BDA0003866471640000062
Figure BDA0003866471640000062

对单个参与方密文计算后的结果记为di;xi表示为n维隐私数据向量,xi=(xi,1,xi,2,…,xi,n),xi,j表示为向量xi中第j个元素(j∈[1,n]);The calculated result of a single participant’s ciphertext is denoted as d i ; xi is expressed as an n-dimensional private data vector, xi = (xi ,1 , xi,2 ,…,xi ,n ), xi , j is expressed as the jth element in the vector x i (j∈[1,n]);

步骤6.2:CS对接收到的子解密密钥进行聚合生成解密密钥dkyStep 6.2: CS aggregates the received sub-decryption keys to generate a decryption key dk y ;

Figure BDA0003866471640000063
Figure BDA0003866471640000063

步骤6.3:CS对所有参与方的密文进行聚合计算;Step 6.3: CS aggregates and calculates the ciphertexts of all participants;

Figure BDA0003866471640000064
Figure BDA0003866471640000064

步骤6.4:CS对聚合计算结果进行计算D1Step 6.4: CS calculates D 1 on the aggregation calculation result;

Figure BDA0003866471640000065
Figure BDA0003866471640000065

步骤6.5:计算

Figure BDA0003866471640000066
Step 6.5: Calculation
Figure BDA0003866471640000066

步骤6.6:CS把计算结果D2发送给参与者。Step 6.6: CS sends the calculation result D 2 to the participants.

步骤7:对CS返还的中间值进行恢复得到安全内积计算的聚合数据结果;Step 7: Recover the intermediate value returned by CS to obtain the aggregated data result of the safe inner product calculation;

本实施例中步骤7的具体实现包括以下子步骤:The specific implementation of step 7 in this embodiment includes the following sub-steps:

步骤7.1:参与者通过标签l计算值δ=H2(Bl);Step 7.1: The participant calculates the value δ=H 2 (B l ) through the label l;

步骤7.2:计算D2/δ得到所有参与方的聚合内积值:

Figure BDA0003866471640000067
Step 7.2: Calculate D 2 /δ to get the aggregated inner product value of all participants:
Figure BDA0003866471640000067

本发明基于安全内积函数加密算法和DCR假设实现了一种去中心化的基于多方安全内积计算的数据聚合共享方案,该方案不仅在解密结果上不用求离散对数得到安全内积值,这将不用使得安全内积的值只能在一定的小范围里,不但减少了计算开销且增加了实用范围,还把生成解密钥的权限分散给了所有的参与方,降低了密钥生成中心的权威性,达到了去中心化的效果,还对上传的密文和密钥进行验证,保证了只有参与共享的参与方全部完整正确上传才可以正确解密,最后的解密结果只有参与方才能恢复,服务器解密的结果还是一个中间的值,不仅保护了各方数据的隐私,也保护了聚合结果的值。The present invention implements a decentralized data aggregation and sharing scheme based on multi-party secure inner product calculation based on the secure inner product function encryption algorithm and DCR assumption. This solution not only does not need to calculate the discrete logarithm on the decryption result to obtain the safe inner product value, This will not make the value of the security inner product only in a certain small range, which not only reduces the calculation overhead and increases the practical range, but also distributes the authority to generate decryption keys to all participants, reducing the key generation The authority of the center has achieved the effect of decentralization. It also verifies the uploaded ciphertext and key, ensuring that only the participants participating in the sharing are completely and correctly uploaded before they can be decrypted correctly. The final decryption result can only be obtained by the participants. Recovery, the decrypted result of the server is still an intermediate value, which not only protects the privacy of the data of all parties, but also protects the value of the aggregated result.

本发明提出的是一组用户进行安全内积计算数据功能聚合共享,且初始组内用户给有特定的标签,只有具有相同标签的用户才能参与组内共享,本发明考虑到密钥生成中心具有较高的权限,保留了恢复密文的能力,于是采用了去中心化的方案,把生成密钥的权限分配到每一个用户,需要全部用户参与生成解密密钥,并且还对上传的密钥和密文进行验证检验,保证所有用户参与共享,具有更高的安全性。The present invention proposes that a group of users carry out aggregation and sharing of secure inner product calculation data functions, and the users in the initial group are given specific labels, and only users with the same label can participate in the sharing within the group. The present invention considers that the key generation center has Higher authority retains the ability to recover ciphertext, so a decentralized scheme is adopted to assign the authority to generate keys to each user, requiring all users to participate in the generation of decryption keys, and also to upload the key Verify and check with ciphertext to ensure that all users participate in sharing, which has higher security.

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。It should be understood that the above-mentioned descriptions for the preferred embodiments are relatively detailed, and should not therefore be considered as limiting the scope of the patent protection of the present invention. Within the scope of protection, replacements or modifications can also be made, all of which fall within the protection scope of the present invention, and the scope of protection of the present invention should be based on the appended claims.

Claims (9)

1.一种去中心化的基于安全内积计算的数据聚合共享方法,其特征在于:包括密钥生成中心KGC,云服务器CS,进行安全数据聚合共享的一组数据持有者DOi;当有m个共享参与方,那么DOi则表示第i个参与方,系统内协商好的一组参与方会拥有一个相同的组内标签l,只有具有相同标签的参与方才可以参与共享并恢复出最后聚合的结果,i∈{1,2,...,m};1. A decentralized data aggregation and sharing method based on safe inner product calculation, characterized in that: it includes a key generation center KGC, a cloud server CS, and a group of data holders DO i for safe data aggregation and sharing; when If there are m sharing participants, then DO i represents the i-th participant. A group of participants negotiated in the system will have the same label l in the group, and only participants with the same label can participate in the sharing and resume output. The result of the final aggregation, i ∈ {1, 2, ..., m}; 所述方法包括以下步骤:The method comprises the steps of: 步骤1:KGC生成初始公共参数;Step 1: KGC generates initial public parameters; 步骤2:DOi利用公共参数并交互生成私钥skiStep 2: DO i utilizes public parameters and generates private key sk i interactively; 步骤3:DOi通过ski对私有数据进行加密计算后上传密文给CS;Step 3: DO i encrypts the private data through ski and uploads the ciphertext to CS; 步骤4:通过KGC生成的子解密钥
Figure FDA0003866471630000011
上传给CS;
Step 4: Sub-decryption key generated by KGC
Figure FDA0003866471630000011
Upload to CS;
步骤5:CS对同标签的所有DOi上传的密文进行验证,对上传的子解密钥
Figure FDA0003866471630000012
进行验证,保证各个参与方都有效参与;
Step 5: CS verifies the ciphertexts uploaded by all DO i with the same label, and decrypts the uploaded sub-keys
Figure FDA0003866471630000012
Carry out verification to ensure that all participants participate effectively;
步骤6:对密文聚合计算,聚合
Figure FDA0003866471630000013
计算生成解密钥dky,CS再利用dky对聚合的密文进行计算,把计算的中间值返还给所有DOi
Step 6: Calculate and aggregate the ciphertext
Figure FDA0003866471630000013
Calculate and generate the decryption key dk y , CS then uses dk y to calculate the aggregated ciphertext, and returns the calculated intermediate value to all DO i ;
步骤7:对CS返还的中间值进行恢复得到安全内积计算的聚合数据结果。Step 7: Recover the intermediate value returned by CS to obtain the aggregated data result of the safe inner product calculation.
2.根据权利要求1所述的去中心化的基于安全内积计算的数据聚合共享方法,其特征在于,步骤1的具体实现包括以下子步骤:2. The decentralized data aggregation and sharing method based on safe inner product calculation according to claim 1, wherein the specific implementation of step 1 includes the following sub-steps: 步骤1.1:KGC输入安全参数λ,数据长度参数n,消息边界参数X和向量边界参数Y,生成安全素数
Figure FDA0003866471630000014
其中p′和q′是满足p′,q′>2λ的大素数,
Figure FDA0003866471630000015
Figure FDA0003866471630000016
大素数q>2λ,消息的大小边界满足||x||<X,向量的大小边界满足||y||<Y;
Step 1.1: KGC inputs security parameter λ, data length parameter n, message boundary parameter X and vector boundary parameter Y to generate a safe prime number
Figure FDA0003866471630000014
Where p' and q' are large prime numbers satisfying p', q'>2 λ ,
Figure FDA0003866471630000015
make
Figure FDA0003866471630000016
Large prime number q>2 λ , the size boundary of the message satisfies ||x||<X, and the size boundary of the vector satisfies ||y||<Y;
步骤1.2:定义一个双线性映射函数e:(G1×G2→GT),其中G1,G2和GT均为包含q个元素的循环群,其中群G1和G2的群生成元分别是g1和g2,使得G1上的数和G2上的数运算得到GT上的数,计算满足
Figure FDA0003866471630000017
其中a,b是正整数;
Step 1.2: Define a bilinear mapping function e: (G 1 ×G 2 →G T ), where G 1 , G 2 and G T are all cyclic groups containing q elements, where the groups G 1 and G 2 The group generators are g 1 and g 2 respectively, so that the number on G 1 and the number on G 2 can be calculated to get the number on G T , and the calculation satisfies
Figure FDA0003866471630000017
Where a, b are positive integers;
步骤1.3:在{1,2,...,N-1}范围内随机选择m个数记为vi,计算
Figure FDA0003866471630000018
然后把vi发送给对应的参与方DOi,其中下标i对应m个参与方的下标索引,然后不再保留vi,只将y的值保留;其中,i∈{1,2,...,m};
Step 1.3: Randomly select m numbers within the range of {1, 2, ..., N-1} and record them as v i , calculate
Figure FDA0003866471630000018
Then send v i to the corresponding participant DO i , where the subscript i corresponds to the subscript index of m participants, and then no longer keep v i , but only keep the value of y; where, i∈{1, 2, ..., m};
步骤1.4:定义三个映射函数:H1:{0,1}n→{0,1,2,...,N2-1},H2:GT→{0,1,2,...,N2-1},Hv:{0,1}n→G1,H1是将n长比特的数映射成小于N2的正整数,H2是将GT群上的数映射成小于N2的正整数,Hv是将n长比特的数映射成G1群上的数;Step 1.4: Define three mapping functions: H 1 : {0, 1} n → {0, 1, 2, ..., N 2 -1}, H 2 : G T → {0, 1, 2, . .., N 2 -1}, H v : {0, 1} n → G 1 , H 1 maps n-bit numbers to positive integers smaller than N 2 , H 2 maps the numbers on the G T group Mapped to a positive integer smaller than N 2 , H v is to map the number of n long bits into the number on the G 1 group; 步骤1.5:从{1,2,...,q-1}中随机选取一个数记为α,计算
Figure FDA0003866471630000021
记为A,e(g1,g2)α∈GT记为B;
Step 1.5: Randomly select a number from {1, 2, ..., q-1} and record it as α, calculate
Figure FDA0003866471630000021
Denote as A, e(g 1 , g 2 ) αG T denote as B;
步骤1.6:最后KGC公开参数mpk={N,X,e,g1,g2,G1,G2,GT,V,H1,Hv,H2,A,B},保留msk={α,Y}。Step 1.6: Finally KGC public parameters mpk={N, X, e, g 1 , g 2 , G 1 , G 2 , G T , V, H 1 , H v , H 2 , A, B}, keep msk= {α, Y}.
3.根据权利要求2所述的去中心化的基于安全内积计算的数据聚合共享方法,其特征在于,步骤2的具体实现包括以下子步骤:3. The decentralized data aggregation and sharing method based on safe inner product calculation according to claim 2, wherein the specific implementation of step 2 includes the following sub-steps: 步骤2.1:参与方DOi选取n维向量si,满足
Figure FDA0003866471630000022
向量中的元素(si,1,si,2,...,si,n)为n个从正整数Z范围内随机取的数,si,j则表示向量si中的第j个元素,j∈[1,n],
Figure FDA0003866471630000023
则表示n个正整数Z范围内的随机数且满足标准差为
Figure FDA0003866471630000024
的正整数离散高斯分布,令加密钥eki=si
Step 2.1: Participant DO i selects n-dimensional vector s i , satisfying
Figure FDA0003866471630000022
The elements in the vector (s i, 1 , s i, 2 ,..., s i, n ) are n randomly selected numbers from the range of positive integers Z, and s i, j represent the number in the vector s i j elements, j∈[1,n],
Figure FDA0003866471630000023
Then it means a random number within the range of n positive integers Z and the standard deviation is
Figure FDA0003866471630000024
positive integer discrete Gaussian distribution of , let encryption key ek i =s i ;
步骤2.2:参与方DOi交互生成tiStep 2.2: Participant DO i interactively generates t i ; 为每个参与方先随机生成n×m长的一个一维向量记为t′i,然后将其值随机划分为m个子值,并随机给余下的m-1个参与方各发送一个子值,发送的子向量记为t′i,j,自己保留一份记为t′i,i,其中j表示接受方的下标,即满足
Figure FDA0003866471630000025
每个DOi都会收到m-1个子向量t′j,i,j∈{1,2,...i-1,i+1,...,m};最后生成的
Figure FDA0003866471630000026
满足
Figure FDA0003866471630000027
For each participant, a one-dimensional vector of n×m length is randomly generated and recorded as t′ i , and then its value is randomly divided into m subvalues, and a subvalue is randomly sent to the remaining m-1 participants , the sent sub-vector is denoted as t′ i, j , and a copy is denoted as t′ i, i , where j represents the subscript of the receiver, that is, satisfies
Figure FDA0003866471630000025
Each DO i will receive m-1 sub-vectors t′ j, i , j∈{1,2,...i-1,i+1,...,m}; the final generated
Figure FDA0003866471630000026
satisfy
Figure FDA0003866471630000027
步骤2.3:参与方DOi最后生成的私密钥ski=(si,ti,vi)。Step 2.3: The private key sk i =(s i , t i , v i ) finally generated by the participant DO i .
4.根据权利要求3所述的去中心化的基于安全内积计算的数据聚合共享方法,其特征在于,步骤3的具体实现包括以下子步骤:4. The decentralized data aggregation and sharing method based on safe inner product calculation according to claim 3, wherein the specific realization of step 3 includes the following sub-steps: 步骤3.1:DOi进行数据的加密处理,其中隐私数据表示为一个n维向量xi=(xi,1,xi,2,...,xi,n),向量中的各个元素(xi,1,xi,2,...,xi,n)表示为[0,N]中的整数,其中组内标签l为n比特长数,计算H1(l)记为H,计算Hv(l)记为I,计算H2(Bl)记为δ;Step 3.1: DO i performs data encryption processing, where the private data is expressed as an n-dimensional vector x i =(xi ,1 , xi,2 ,...,xi ,n ), each element in the vector ( xi , 1 , xi , 2 ,..., xi , n ) are expressed as integers in [0, N], where the label l in the group is a number of n bits long, and the calculation H 1 (l) is denoted as H , the calculated H v (l) is recorded as I, and the calculated H 2 (B l ) is recorded as δ; 步骤3.2:计算Cvi=vi·Hv(l)∈G1Step 3.2: Calculate Cv i =v i ·H v (l)∈G 1 ; 步骤3.3:数据加密计算
Figure FDA0003866471630000028
Step 3.3: Data encryption calculation
Figure FDA0003866471630000028
步骤3.4:DOi整理密文Ci=(Ci1,Ci2,Ci3,Ci4)=(Cvi,Cxi,H,I)并上传给CS。Step 3.4: DO i organizes the ciphertext C i =(C i1 , C i2 , C i3 , C i4 )=(Cv i , Cxi , H, I) and uploads it to CS.
5.根据权利要求4所述的去中心化的基于安全内积计算的数据聚合共享方法,其特征在于,步骤4的具体实现包括以下子步骤:5. The decentralized data aggregation and sharing method based on safe inner product calculation according to claim 4, wherein the specific implementation of step 4 includes the following sub-steps: 步骤4.1:DOi通过KGC生成子解密钥
Figure FDA0003866471630000029
向KGC发送私密钥和向量yi=(yi,1,yi,2,...,yi,n),其中向量yi中的元素表现为[0,N]中的整数;则KGC有y=(y1||y2||…||ym),||表示前后两部分相连接起来,向量y为一个n×m长的一个向量;
Step 4.1: DO i generates a sub-decryption key through KGC
Figure FDA0003866471630000029
Send the private key and the vector y i =(y i,1 ,y i,2 ,...,y i,n ) to the KGC, where the elements in the vector y i represent integers in [0,N]; Then KGC has y=(y 1 ||y 2 ||...||y m ), where || means that the front and back parts are connected, and the vector y is a vector of n×m length;
步骤4.2:KGC计算<si,yi>+<ti,y>记为
Figure FDA00038664716300000210
Step 4.2: KGC calculates <s i , y i >+<t i , y> as
Figure FDA00038664716300000210
步骤4.3:计算
Figure FDA0003866471630000031
记为ki
Step 4.3: Calculation
Figure FDA0003866471630000031
denoted as k i ;
步骤4.4:整理子解密钥
Figure FDA0003866471630000032
Step 4.4: Organize sub-decryption keys
Figure FDA0003866471630000032
步骤4.5:KGC分别将子解密钥
Figure FDA0003866471630000033
发送给DOi
Step 4.5: KGC respectively decrypts the sub-keys
Figure FDA0003866471630000033
send to DO i ;
步骤4.6:DOi分别将子解密钥
Figure FDA0003866471630000034
上传给CS。
Step 4.6: DO i assigns the sub-decryption keys to
Figure FDA0003866471630000034
Upload to CS.
6.根据权利要求5所述的去中心化的基于安全内积计算的数据聚合共享方法,其特征在于,步骤5的具体实现包括以下子步骤:6. The decentralized data aggregation and sharing method based on safe inner product calculation according to claim 5, wherein the specific implementation of step 5 includes the following sub-steps: 步骤5.1:CS收到所有DOi的密文,然后对密文进行验证计算;Step 5.1: CS receives all ciphertexts of DO i , and then performs verification calculation on the ciphertexts; CS首先对密文进行验证,检测参与方是否都发送了密文,验证计算
Figure FDA0003866471630000035
Figure FDA0003866471630000036
是否成立,验证所有Ci3,Ci4是否相等,相等则对任意i令C3=Ci3,C4=Ci4,反之则为不同标签下的参与方;若
Figure FDA0003866471630000037
不成立,则参与方未全部参与上传密文,返回进行步骤3.4,通过则进行下一步骤:
CS first verifies the ciphertext, checks whether all parties have sent the ciphertext, and verifies the calculation
Figure FDA0003866471630000035
Figure FDA0003866471630000036
Whether it is established, verify whether all C i3 and C i4 are equal, and if they are equal, set C 3 =C i3 , C 4 =C i4 for any i, otherwise, they are participants under different labels; if
Figure FDA0003866471630000037
If it is not established, all participants did not participate in uploading the ciphertext, return to step 3.4, if passed, proceed to the next step:
步骤5.2:CS收到所有DOi的子解密钥,对子解密钥
Figure FDA0003866471630000038
进行验证;
Step 5.2: CS receives all the sub-decryption keys of DO i , and the sub-decryption keys
Figure FDA0003866471630000038
authenticating;
CS首先验证计算
Figure FDA0003866471630000039
是否成立,若不成立,则检查是否是所有参与者全部上传,若有参与方未上传,则等待上传;若接收到m个子解密钥等式仍不成立,则有参与方未正确上传子解密密钥或者有参与方恶意上传,则终止共享;通过则继续下一步:
CS first verifies the calculation
Figure FDA0003866471630000039
Whether it is true, if not, check whether all participants have uploaded it, if any participant has not uploaded, wait for the upload; if the equation of m sub-decryption keys is still not established, then some participants have not uploaded the sub-decryption key correctly key or maliciously uploaded by a participant, the sharing will be terminated; if passed, continue to the next step:
步骤5.3:CS整理
Figure FDA00038664716300000310
得向量y=(y1||y2||…||ym)。
Step 5.3: CS finishing
Figure FDA00038664716300000310
Get the vector y=(y 1 ||y 2 ||...||y m ).
7.根据权利要求6所述的去中心化的基于安全内积计算的数据聚合共享方法,其特征在于,步骤6的具体实现包括以下子步骤:7. The decentralized data aggregation and sharing method based on safe inner product calculation according to claim 6, wherein the specific implementation of step 6 includes the following sub-steps: 步骤6.1:CS对单个参与方的密文进行计算;Step 6.1: CS calculates the ciphertext of a single participant;
Figure FDA00038664716300000311
Figure FDA00038664716300000311
对单个参与方密文计算后的结果记为di;xi表示为n维隐私数据向量,xi=(xi,1,xi,2,...,xi,n),xi,j表示为向量xi中第j个元素,j∈[1,n];The result after calculating the ciphertext of a single participant is recorded as d i ; x i is expressed as an n-dimensional private data vector, x i =(xi ,1 , xi,2 ,...,xi ,n ), x i, j is expressed as the jth element in the vector x i , j∈[1,n]; 步骤6.2:CS对接收到的子解密密钥进行聚合生成解密密钥dkyStep 6.2: CS aggregates the received sub-decryption keys to generate a decryption key dk y ;
Figure FDA00038664716300000312
Figure FDA00038664716300000312
步骤6.3:CS对所有参与方的密文进行聚合计算;Step 6.3: CS aggregates and calculates the ciphertexts of all participants;
Figure FDA00038664716300000313
Figure FDA00038664716300000313
其中,加密钥eki=siWherein, encryption key ek i =s i ; 步骤6.4:CS对聚合计算结果进行计算D1Step 6.4: CS calculates D 1 on the aggregation calculation result;
Figure FDA0003866471630000041
Figure FDA0003866471630000041
步骤6.5:计算
Figure FDA0003866471630000042
Step 6.5: Calculation
Figure FDA0003866471630000042
步骤6.6:CS把计算结果D2发送给参与者。Step 6.6: CS sends the calculation result D 2 to the participants.
8.根据权利要求7所述的去中心化的基于安全内积计算的数据聚合共享方法,其特征在于,步骤7的具体实现包括以下子步骤:8. The decentralized data aggregation and sharing method based on safe inner product calculation according to claim 7, wherein the specific implementation of step 7 includes the following sub-steps: 步骤7.1:参与者通过标签l计算值δ=H2(Bl);Step 7.1: The participant calculates the value δ=H 2 (B l ) through the label l; 步骤7.2:计算D2/δ得到所有参与方的聚合内积值:
Figure FDA0003866471630000043
Step 7.2: Calculate D 2 /δ to get the aggregate inner product value of all participants:
Figure FDA0003866471630000043
9.一种去中心化的基于安全内积计算的数据聚合共享系统,其特征在于:包括密钥生成中心KGC,云服务器CS,进行安全数据聚合共享的一组数据持有者DOi;当有m个共享参与方,那么DOi则表示第i个参与方,系统内协商好的一组参与方会拥有一个相同的组内标签l,只有具有相同标签的参与方才可以参与共享并恢复出最后聚合的结果,i∈{1,2,...,m};9. A decentralized data aggregation and sharing system based on secure inner product calculation, characterized in that it includes a key generation center KGC, a cloud server CS, and a group of data holders DO i for secure data aggregation and sharing; when If there are m sharing participants, then DO i represents the i-th participant. A group of participants negotiated in the system will have the same label l in the group, and only participants with the same label can participate in the sharing and resume output. The result of the final aggregation, i ∈ {1, 2, ..., m}; 所述系统包括以下模块:The system includes the following modules: 模块1,用于KGC生成初始公共参数;Module 1, used for KGC to generate initial public parameters; 模块2,用于DOi利用公共参数并交互生成私钥skiModule 2, used for DO i to use public parameters and generate private key sk i interactively; 模块3,用于DOi通过ski对私有数据进行加密计算后上传密文给CS;Module 3 is used for DO i to encrypt and calculate private data through sk i and then upload the ciphertext to CS; 模块4,用于通过KGC生成的子解密钥
Figure FDA0003866471630000044
上传给CS;
Module 4, for sub-decryption keys generated by KGC
Figure FDA0003866471630000044
Upload to CS;
模块5,用于CS对同标签的所有DOi上传的密文进行验证,对上传的子解密钥
Figure FDA0003866471630000045
进行验证,保证各个参与方都有效参与;
Module 5, used for CS to verify the ciphertext uploaded by all DO i with the same label, and to upload the sub-decryption key
Figure FDA0003866471630000045
Carry out verification to ensure that all participants participate effectively;
模块6,用于对密文聚合计算,聚合
Figure FDA0003866471630000046
计算生成解密钥dky,CS再利用dky对聚合的密文进行计算,把计算的中间值返还给所有DOi
Module 6, for ciphertext aggregation calculation, aggregation
Figure FDA0003866471630000046
Calculate and generate the decryption key dk y , CS then uses dk y to calculate the aggregated ciphertext, and returns the calculated intermediate value to all DO i ;
模块7,用于对CS返还的中间值进行恢复得到安全内积计算的聚合数据结果。Module 7, used to restore the intermediate value returned by CS to obtain the aggregated data result of the safe inner product calculation.
CN202211183953.7A 2022-09-27 2022-09-27 Decentralized data aggregation and sharing method and system based on secure inner product calculation Pending CN115765980A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211183953.7A CN115765980A (en) 2022-09-27 2022-09-27 Decentralized data aggregation and sharing method and system based on secure inner product calculation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211183953.7A CN115765980A (en) 2022-09-27 2022-09-27 Decentralized data aggregation and sharing method and system based on secure inner product calculation

Publications (1)

Publication Number Publication Date
CN115765980A true CN115765980A (en) 2023-03-07

Family

ID=85350354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211183953.7A Pending CN115765980A (en) 2022-09-27 2022-09-27 Decentralized data aggregation and sharing method and system based on secure inner product calculation

Country Status (1)

Country Link
CN (1) CN115765980A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118659876A (en) * 2024-06-06 2024-09-17 浙江理工大学 A method and system for group-interactive multi-intelligent terminal security data aggregation
CN119766425A (en) * 2024-12-03 2025-04-04 西安电子科技大学 A verifiable cloud outsourcing inner product function encryption method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180131512A1 (en) * 2015-04-29 2018-05-10 Nec Europe Ltd. Method and system for providing encrypted data on a client
CN114760059A (en) * 2022-04-22 2022-07-15 安徽大学 Data aggregation method for protecting privacy

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180131512A1 (en) * 2015-04-29 2018-05-10 Nec Europe Ltd. Method and system for providing encrypted data on a client
CN114760059A (en) * 2022-04-22 2022-07-15 安徽大学 Data aggregation method for protecting privacy

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HUA SHEN等: "Efficient Privacy-Preserving Cube-Data Aggregation Scheme for Smart Grids", IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, 8 March 2017 (2017-03-08) *
YASI ZHU等: "Revocable-Hierarchical-Identity-Based Inner Product Function Encryption in Smart Healthcare", IEEE INTERNET OF THINGS JOURNAL, 23 May 2025 (2025-05-23) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118659876A (en) * 2024-06-06 2024-09-17 浙江理工大学 A method and system for group-interactive multi-intelligent terminal security data aggregation
CN119766425A (en) * 2024-12-03 2025-04-04 西安电子科技大学 A verifiable cloud outsourcing inner product function encryption method

Similar Documents

Publication Publication Date Title
CN108881314B (en) Privacy protection method and system based on CP-ABE ciphertext under fog computing environment
EP2228942B1 (en) Securing communications sent by a first user to a second user
CN104168108B (en) It is a kind of to reveal the traceable attribute base mixed encryption method of key
CN111859444B (en) A blockchain data supervision method and system based on attribute encryption
CN108512662A (en) The hiding multimachine structure encryption method of support policy on a kind of lattice
CN110635909B (en) Attribute-based collusion attack resistant proxy re-encryption method
CN106487506B (en) Multi-mechanism KP-ABE method supporting pre-encryption and outsourcing decryption
CN107086912B (en) Ciphertext conversion method, decryption method and system in heterogeneous storage system
CN110933033B (en) Cross-domain access control method for multiple IoT domains in smart city environment
CN106897879A (en) Block chain encryption method based on the PKI CLC close algorithms of isomerization polymerization label
CN113901512B (en) Data sharing method and system
CN104092686B (en) The method of secret protection and Data Access Security based on SVM classifier
CN113708917B (en) APP user data access control system and method based on attribute encryption
CN111447192A (en) A Lightweight Attribute-Based Signcryption Method for Cloud-Assisted IoT
CN110535626B (en) Secret communication method and system for identity-based quantum communication service station
CN105354233A (en) Linear SVM classification service query system and method with two-way privacy protection
CN115765980A (en) Decentralized data aggregation and sharing method and system based on secure inner product calculation
CN113411323A (en) Medical record data access control system and method based on attribute encryption
CN114915401A (en) Verifiable homomorphic proxy re-encryption method and system
CN111563733A (en) Ring signature privacy protection system and method for digital wallet
JP4450969B2 (en) Key sharing system, secret key generation device, common key generation system, encryption communication method, encryption communication system, and recording medium
CN116318696B (en) A proxy re-encryption digital asset authorization method without initial trust between the two parties
CN115865531B (en) A proxy re-encryption digital asset authorization method
Suveetha et al. Ensuring confidentiality of cloud data using homomorphic encryption
CN102907041B (en) A kind of data-sharing systems, data distribution systems and data guard method

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