CN116070276A - 基于同态加密与Simhash的密文查重与存储方法 - Google Patents
基于同态加密与Simhash的密文查重与存储方法 Download PDFInfo
- Publication number
- CN116070276A CN116070276A CN202310157697.2A CN202310157697A CN116070276A CN 116070276 A CN116070276 A CN 116070276A CN 202310157697 A CN202310157697 A CN 202310157697A CN 116070276 A CN116070276 A CN 116070276A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- simhash
- follows
- file
- homomorphic encryption
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/325—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
- H04L9/0825—Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/72—Signcrypting, i.e. digital signing and encrypting simultaneously
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了基于同态加密与Simhash的密文查重与存储方法,包括RSA数据加解密、变色龙哈希计算、秘密共享计算、simhash计算和同态加密方法。可以实现密文状态验证,增强文件的安全性。在加解密和变色龙哈希计算过程中,对算法的随机数进行删除,保证同一篇文件加密后密文是相同的,并生成相同的变色龙哈希hash。将文件传到IPFS中实现分布式存储,ipfs按内容哈希寻址,可以确保文件对应唯一的存储地址。利用同态加密技术对数据密文进行计算,保证了数据的安全。
Description
技术领域
本发明属于信息安全技术领域,具体涉及基于同态加密与Simhash的密文查重与存储方法。
背景技术
在当今数据时代,对于云存储时代的数字版权总量之大,因此需要在版权数据的存储中考虑如何对处于密文状态的版权数据运算,以及如何利用验证规则高效的检索处于密文状态的版权数据。结合区块链和IPFS数据存储机制,研究基于同态加密的密文存储机制,实现个人数据版权的隐私保护是非常重要的。
传统版权数据的存储方案不能检索与查询在密文状态下的个人版权数据,且没有在版权数据的存储中引入密文处理方法,在比较大规模数据时,若利用传统加密方法加密,对版权数据检索时需要对数据密文进行解密再验证,由此带来一系列的安全风险。
发明内容
本发明的目的是提供基于同态加密与Simhash的密文查重与存储方法,能够提高对数据存储的安全性。
本发明所采用的技术方案是:基于同态加密与Simhash的密文查重与存储方法,具体按照如下步骤实施:
步骤1、系统根据RSA算法生成系统的公钥、私钥,并将系统的私钥通过shamir算法秘密共享给m个持有者;
步骤2、将RSA算法中的随机数删除作为改进的RSA算法,将文本上传给系统,系统用改进后的RSA算法对文本进行加密,得到密文;
步骤3、将密文和系统公私钥一起做变色龙哈希,计算生成变色龙哈希Hash,将密文和变色龙哈希Hash上传到IPFS;
步骤4、根据IPFS返回的地址找到密文和变色龙哈希Hash,将密文做变色龙hash运算去验证密文的正确性;
步骤5、将密文进行RSA解密得到原文件;
步骤6、对文本进行Simhash运算得到simhash签名fingerprint;
步骤7、对fingerprint进行同态加密计算得到密文ensimhash并进行存储;
步骤8、对密文ensimhash进行同态加法计算得到密文加法enaddsimhash;
步骤9、对密文加法enaddsimhash进行汉明距离计算,得到整数t,对t进行相似度计算。
本发明的特点还在于:
步骤1具体过程为:
步骤1.1、系统运行GenerateRsaKey函数生成系统密钥;
生成系统密钥的表达式如下:
步骤1.2、系统的私钥秘密共享给m个持有者,将最低子密钥的持有者阈值设为k;m个持有者分别存储一个(x,P)对,x是随机生成的整数,P是秘密共享得到的f(x);
系统私钥s秘密共享的表达式如下:
f(x)=s+a1x+a2x2+a3x3+…+ak-1xk-1mod(p)
其中,私钥s作为常数项,在1到p的有限域中随机取k-1个数,记作a1,a2,…ak-1,作为k-1多项式f(x)的系数,共m项,m个持有者记作P1,P2,…Pn,分享到的子密钥为f(i)。
步骤2具体过程为:
通过步骤1得到的系统公钥(n,e)对文件w进行加密,将RSA算法中的随机数删除作为改进的RSA算法,对文件w进行加密的具体表达式如下:
we=c(mod n)
其中,w为上传的文件,c为对文件加密后的密文,(n,e)为步骤1得到的系统公钥,用系统的公钥对文件进行加密。
步骤3具体过程为:
步骤3.1、由步骤2计算出来的密文c和步骤1生成的系统公钥、私钥一起做变色龙哈希计算,得到一个变色龙哈希hash1;
变色龙哈希的具体表达式为:
H(c)=g^c*g^n
其中,c是文件加密后的密文,g是群生成元,n是系统公钥;
步骤3.2、将密文c和哈希hash1上传到IPFS上分布式存储;
步骤3.3、IPFS将返回一个地址哈希addresshash用于用户查询文件,IPFS是使用内容寻址,内容决定地址,根据哈希的单向性与抗碰撞行,使得不同内容的文件,其IPFS存储地址不同。
步骤4具体过程为:
用户根据地址哈希addresshash获取到密文c和变色龙哈希hash1,对密文c在计算一次变色龙哈希,计算得到变色龙哈希hash2,通过变色龙哈希验证功能去计算hash1和hash2是否相等;如果相等,则执行步骤5;
变色龙哈希验证功能表达式如下:
hash2.Cmp(hash1)==0
其中,等于0代表hash1与hash2相等,即密文c没有被攻击者修改。
步骤5具体过程为:
通过秘密共享获取阈门k对(x,P)恢复系统私钥,并对密文c进行解密得到原文件,(x,P)是步骤1中m个持有者所获取的子密钥对;
其中,共享恢复系统私钥具体表达式为:
(a)当x=0时,f(0)=s,即可恢复出系统私钥s;
(b)将k组(xi,pi)带入下列公式即可恢复系统私钥s;
对密文c进行解密的具体表达式为:
cd=w(modn)
其中,c为文件加密的密文,w为密文解密后的明文,(n,d)为系统私钥。
步骤6具体过程为:
步骤6.1、对文本进行分词,采用的Porter提取算法对单词进行词干提取,将提取出来的词干整理成特征集合即向量V,根据每个词出现的次数对每个特征赋予权重;
步骤6.2、将一个64维的向量V初始化为0;64位的二进制数S初始化为0;对每一个特征:用传统的hash算法对该特征产生一个64位的签名b;
步骤6.3、在得到签名b后,对i=1,···,64:如果b的第i位为1,则V的第i个元素加上该特征的权重;否则,V的第i个元素减去该特征的权重;
步骤6.4、将上述的各个特征向量的加权结果码元累加,得到一个新的序列串V’;
步骤6.5、如果新的序列串V’的第i个元素大于0,则S的第i位为1,否则为0,并将每一位的数设置成十进制;输出S作为签名,也就是对文本进行Simhash计算得到的simhash签名值fingerprint。
步骤7中同态加密计算采用的是Paillier算法,具体表达式为:
密文simhash=gm*rnmod n2
其中公钥为(n,g),m为simhash签名,满足m<n,r是随机数,满足0<r<n。
步骤8中同态加法的具体表达式为:
密文加法enaddsimhash=c1*c2 mod n2
步骤9具体过程为:
步骤9.1、对密文加法enaddsimhash进行同态解密,具体表达式为:
明文m=L(cλmod n2)*μmod n
其中,c为密文加法enaddsimhash,λ=lcm(p-1,q-1),定义函数L(x)=(x-1)/n,并计算模反元素μ=L(gλmod n2)-1mod n;
步骤9.2、对解密内容进行汉明距离计算,得到整数t;
其中,汉明距离定义为明文m的元素中1的个数,即为整数t,计算具体表达式为:
当整数t小于等于3,则判定为相似,相似度为30%;
相似度计算具体表达式为:
当t<1,相似度为100%;
当1≤t≤3时,相似度f(i)=((65.13-i)/64.13)38*100%;
当3<t≤64时,相似度f(i)=(0.3147541-(0.3/64)*i)*100%。
本发明的有益效果是:
本发明涉及一种基于同态加密与Simhash的密文查重与存储方法,包括RSA数据加解密、变色龙哈希计算、秘密共享计算、simhash计算和同态加密方法;能够实现密文状态验证,增强文件的安全性。在加解密和变色龙哈希计算过程中,对算法的随机数进行删除,保证同一篇文件加密后密文是相同的,并生成相同的变色龙哈希hash。将文件传到IPFS中实现分布式存储,ipfs按内容哈希寻址,可以确保文件对应唯一的存储地址。利用同态加密技术对数据密文进行计算,保证了数据的安全。
附图说明
图1是本发明的文件加密存储和下载的流程图;
图2是本发明的文件数据的存储和查询流程图像;
图3是本发明的文件数据进行Simhash和变色龙哈希计算总流程图;
图4是本发明的文件数据进行Simhash运算的流程图像;
图5是本发明的simhash值进行同态加密运算的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于同态加密与Simhash的密文查重与存储方法,具体按照如下步骤实施:
步骤1、系统根据RSA算法生成系统的公钥、私钥,并将系统的私钥通过shamir算法秘密共享给m个持有者;具体过程为:
步骤1.1、系统运行GenerateRsaKey函数生成系统密钥;
生成系统密钥的表达式如下:
步骤1.2、系统的私钥秘密共享给m个持有者,将最低子密钥的持有者阈值设为k,恢复系统私钥的时候获取k对子密钥就可以恢复出系统私钥;m个持有者分别存储一个(x,P)对,x是随机生成的整数,P是秘密共享得到的f(x);
系统私钥s秘密共享的表达式如下:
f(x)=s+a1x+a2x2+a3x3+…+ak-1xk-1mod(p)
其中,私钥s作为常数项,在1到p的有限域中随机取k-1个数,记作a1,a2,…ak-1,作为k-1多项式f(x)的系数,共m项,m个持有者记作P1,P2,…Pn,分享到的子密钥为f(i)。
利用shamir算法将私钥s分割分别让多个用户来协同管理。当需要用私钥s是,需要向t-1个用户获取子密钥,将自身的子密钥与获取到的t-1个子密钥利用shamir算法重构就可以恢复私钥,这样保证了私钥泄露造成的风险。
步骤2、将RSA算法中的随机数删除作为改进的RSA算法,将文本上传给系统,系统用改进后的RSA算法对文本进行加密,得到密文;具体过程为:
通过步骤1得到的系统公钥(n,e)对文件w进行加密,将RSA算法中的随机数删除作为改进的RSA算法,对文件w进行加密的具体表达式如下:
we=c(mod n)
其中,w为上传的文件,c为对文件加密后的密文,(n,e)为步骤1得到的系统公钥,用系统的公钥对文件进行加密。
本发明使用的改进的RSA算法没有设置随机数,可以保证每次文件相同,加密后的密文也相同。方便步骤4做验证功能。因此,步骤2主要作用是对文件进行加密。
步骤3、将密文和系统公私钥一起做变色龙哈希,计算生成变色龙哈希Hash,将密文和变色龙哈希Hash上传到IPFS;具体过程为:
步骤3.1、由步骤2计算出来的密文c和步骤1生成的系统公钥、私钥一起做变色龙哈希计算,得到一个变色龙哈希hash1;
变色龙哈希的具体表达式为:
H(c)=g^c*g^n
其中,c是文件加密后的密文,g是群生成元,n是系统公钥;
步骤3.2、将密文c和哈希hash1上传到IPFS上分布式存储;
步骤3.3、IPFS将返回一个地址哈希addresshash用于用户查询文件,IPFS是使用内容寻址,内容决定地址,根据哈希的单向性与抗碰撞行,使得不同内容的文件,其IPFS存储地址不同。其机制是获取一个文件,然后以加密的方式对其进行哈希处理,这样就可以得到该文件非常小而且安全的表示形式,从而确保了某个人不能仅仅拿出具有相同哈希值的另一个文件并将其用作地址。
将密文和系统公私钥一起做变色龙哈希,这样为了方便步骤4去验证密文的正确性。防止密文存储的过程中被篡改,提高了密文的安全性。在IPFS中存储是因为存储的内容不变,IPFS返回的地址哈希就是一样的。
步骤4、根据IPFS返回的地址找到密文和变色龙哈希Hash,将密文做变色龙hash运算去验证密文的正确性,具体过程如图1所示;具体过程为:
用户根据地址哈希addresshash获取到密文c和变色龙哈希hash1,对密文c在计算一次变色龙哈希,计算得到变色龙哈希hash2,通过变色龙哈希验证功能去计算hash1和hash2是否相等;如果相等,则执行步骤5;
变色龙哈希验证功能表达式如下:
hash2.Cmp(hash1)==0
其中,等于0代表hash1与hash2相等,即密文c没有被攻击者修改。
将从IPFS中获取的密文中在进行变色龙哈希运算是为了验证密文是否被攻击者篡改。
步骤5、将密文进行RSA解密得到原文件;具体过程为:
通过秘密共享获取阈门k对(x,P)恢复系统私钥,并对密文c进行解密得到原文件,(x,P)是步骤1中m个持有者所获取的子密钥对;
其中,共享恢复系统私钥具体表达式为:
(a)当x=0时,f(0)=s,即可恢复出系统私钥s;
(b)将k组(xi,pi)带入下列公式即可恢复系统私钥s;
对密文c进行解密的具体表达式为:
cd=w(mod n)
其中,c为文件加密的密文,w为密文解密后的明文,(n,d)为系统私钥。
得到原文件后便于用户查询,过程如图2所示。
这一步骤对密文进行解密可以得到原文件,用户下载原文件的时候就可以进行查看。
步骤6、如图3、图4所示,对文本进行Simhash运算得到simhash签名fingerprint;具体过程分为5个步骤:分词、hash、加权、归并、降维,即:
步骤6.1、对文本进行分词,采用的Porter提取算法对单词进行词干提取,将提取出来的词干整理成特征集合即向量V,根据每个词出现的次数对每个特征赋予权重;
步骤6.2、将一个64维的向量V初始化为0;64位的二进制数S初始化为0;对每一个特征:用传统的hash算法对该特征产生一个64位的签名b;
步骤6.3、在得到签名b后,对i=1,···,64:如果b的第i位为1,则V的第i个元素加上该特征的权重;否则,V的第i个元素减去该特征的权重;
步骤6.4、将上述的各个特征向量的加权结果码元累加,得到一个新的序列串V’;
步骤6.5、如果新的序列串V’的第i个元素大于0,则S的第i位为1,否则为0,并将每一位的数设置成十进制;输出S作为签名,也就是对文本进行Simhash计算得到的simhash签名值fingerprint。
利用simhash算法对文本进行计算,是因为simhash是可以应用到查重中的,而其它哈希则没有这个功能。
步骤7、如图5所示,对fingerprint进行同态加密计算得到密文ensimhash并进行存储;
同态加密是指满足密文同态运算性质的加密算法,即数据经过同态加密之后,对密文进行特定的计算,得到的密文的计算结果在进行对应的同态解密后的明文等同于对明文数据直接进行相同的计算,实现数据的可算不可见。
同态加密计算采用的是Paillier算法,具体表达式为:
密文simhash=gm*rnmod n2
其中公钥为(n,g),m为simhash签名,满足m<n,r是随机数,满足0<r<n。
利用同态加密算法是为了将simhash签名值进行加密之后再存储,这样可以保证simhash签名值是密文存储,不易被泄露。
步骤8、对密文ensimhash进行同态加法计算得到密文加法enaddsimhash;
同态加法的具体表达式为:
密文加法enaddsimhash=c1*c2 mod n2
其中,c1和c2分别为密文ensimhash,即:
本步骤利用同态加法运算是因为要再密文的状态下进行运算,这样可以保证文本不被泄露并可以进行运算。并且和不加密进行运算的结果是一致的。
步骤9、对密文加法enaddsimhash进行汉明距离计算,得到整数t,对t进行相似度计算;具体过程为:
步骤9.1、对密文加法enaddsimhash进行同态解密,具体表达式为:
明文m=L(cλmod n2)*μmod n
其中,c为密文加法enaddsimhash,λ=lcm(p-1,q-1),定义函数L(x)=(x-1)/n,并计算模反元素μ=L(gλmod n2)-1mod n;
步骤9.2、对解密内容进行汉明距离计算,得到整数t;
其中,汉明距离定义为明文m的元素中1的个数,即为整数t,计算具体表达式为:
当整数t小于等于3,则判定为相似,相似度为30%;
相似度计算具体表达式为:
当t<1,相似度为100%;
当1≤t≤3时,相似度f(i)=((65.13-i)/64.13)38*100%;
当3<t≤64时,相似度f(i)=(0.3147541-(0.3/64)*i)*100%。
本步骤将步骤8的计算结果进行解密后计算相似度,可以判断文本是否和数据库中文本是否相似。
本发明基于同态加密与Simhash的密文查重与存储方法的工作原理为:
本发明包括RSA数据加解密、变色龙哈希计算、秘密共享计算、simhash计算和同态加密方法。可以实现在不对密文解密的情况下对文件进行验证,增强了文件的安全性。在加解密和变色龙哈希计算过程中,对算法的随机数进行删除,保证同一篇文件解密后的密文是相同的和生成的变色龙哈希hash也是相同的。将文件传到ipfs中实现分布式存储,ipfs按内容寻址,可以确保某个人不能仅仅拿出具有相同哈希值的另一个文件并将其用作地址。利用同态加密技术对数据进行特定的计算,得到的密文的计算结果在进行对应的同态解密后的明文等同于对明文数据直接进行相同的计算,实现了数据的可算不可见性质,保证了数据的安全。
通过上述方式,本发明基于同态加密与Simhash的密文查重与存储方法,步骤为:数据拥有者将文件上传给系统,系统用数据拥有者的公钥对文件进行加密得到密文;系统将系统的私钥进行切分颁发给其他管理员;系统将密文和系统的公私钥进行变色龙哈希计算得到变色龙哈希值;将密文和哈希值上传到IPFS中进行分布式存储;系统从IPFS中获取到哈希值和密文将哈希进行验证,若验证成功,则系统用数据拥有者的私钥对密文进行解密;将文件进行simhash计算生成simhash值fingerprint;对simhash值fingerprint进行同态加密并进行存储;对加密后的ensimhash值进行同态加法计算,继而在对计算后的值进行同态解密;得到解密的值后,对它计算汉明距离,之后转化为百分制的数。本发明可以在不对密文解密的前提下,判断用户的权限是否合格,在确保安全性前提下,显著提高了存储效率。
Claims (10)
1.基于同态加密与Simhash的密文查重与存储方法,其特征在于,具体按照如下步骤实施:
步骤1、系统根据RSA算法生成系统的公钥、私钥,并将系统的私钥通过shamir算法秘密共享给m个持有者;
步骤2、将RSA算法中的随机数删除作为改进的RSA算法,将文本上传给系统,系统用改进后的RSA算法对文本进行加密,得到密文;
步骤3、将密文和系统公私钥一起做变色龙哈希,计算生成变色龙哈希Hash,将密文和变色龙哈希Hash上传到IPFS;
步骤4、根据IPFS返回的地址找到密文和变色龙哈希Hash,将密文做变色龙hash运算去验证密文的正确性;
步骤5、将密文进行RSA解密得到原文件;
步骤6、对文本进行Simhash运算得到simhash签名fingerprint;
步骤7、对fingerprint进行同态加密计算得到密文ensimhash并进行存储;
步骤8、对密文ensimhash进行同态加法计算得到密文加法enaddsimhash;
步骤9、对密文加法enaddsimhash进行汉明距离计算,得到整数t,对t进行相似度计算。
2.根据权利要求1所述基于同态加密与Simhash的密文查重与存储方法,其特征在于,步骤1具体过程为:
步骤1.1、系统运行GenerateRsaKey函数生成系统密钥;
生成系统密钥的表达式如下:
步骤1.2、系统的私钥秘密共享给m个持有者,将最低子密钥的持有者阈值设为k;m个持有者分别存储一个(x,P)对,x是随机生成的整数,P是秘密共享得到的f(x);
系统私钥s秘密共享的表达式如下:
f(x)=s+a1x+a2x2+a3x3+…+ak-1xk-1mod(p)
其中,私钥s作为常数项,在1到p的有限域中随机取k-1个数,记作a1,a2,...ak-1,作为k-1多项式f(x)的系数,共m项,m个持有者记作P1,P2,...Pn,分享到的子密钥为f(i)。
3.根据权利要求2所述基于同态加密与Simhash的密文查重与存储方法,其特征在于,步骤2具体过程为:
通过步骤1得到的系统公钥(n,e)对文件w进行加密,将RSA算法中的随机数删除作为改进的RSA算法,对文件w进行加密的具体表达式如下:
we=c(mod 11)
其中,w为上传的文件,c为对文件加密后的密文,(n,e)为步骤1得到的系统公钥,用系统的公钥对文件进行加密。
4.根据权利要求1所述基于同态加密与Simhash的密文查重与存储方法,其特征在于,步骤3具体过程为:
步骤3.1、由步骤2计算出来的密文c和步骤1生成的系统公钥、私钥一起做变色龙哈希计算,得到一个变色龙哈希hash1;
变色龙哈希的具体表达式为:
H(c)=g^c*g^n
其中,c是文件加密后的密文,g是群生成元,n是系统公钥;
步骤3.2、将密文c和哈希hash1上传到IPFS上分布式存储;
步骤3.3、IPFS将返回一个地址哈希addresshash用于用户查询文件,IPFS是使用内容寻址,内容决定地址,根据哈希的单向性与抗碰撞行,使得不同内容的文件,其IPFS存储地址不同。
5.根据权利要求4所述基于同态加密与Simhash的密文查重与存储方法,其特征在于,步骤4具体过程为:
用户根据地址哈希addresshash获取到密文c和变色龙哈希hash1,对密文c在计算一次变色龙哈希,计算得到变色龙哈希hash2,通过变色龙哈希验证功能去计算hash1和hash2是否相等;如果相等,则执行步骤5;
变色龙哈希验证功能表达式如下:
hash2.Cmp(hash1)==0
其中,等于0代表hash1与hash2相等,即密文c没有被攻击者修改。
7.根据权利要求1所述基于同态加密与Simhash的密文查重与存储方法,其特征在于,步骤6具体过程为:
步骤6.1、对文本进行分词,采用的Porter提取算法对单词进行词干提取,将提取出来的词干整理成特征集合即向量V,根据每个词出现的次数对每个特征赋予权重;
步骤6.2、将一个64维的向量V初始化为0;64位的二进制数S初始化为0;对每一个特征:用传统的hash算法对该特征产生一个64位的签名b;
步骤6.3、在得到签名b后,对i=1,···,64:如果b的第i位为1,则V的第i个元素加上该特征的权重;否则,V的第i个元素减去该特征的权重;
步骤6.4、将上述的各个特征向量的加权结果码元累加,得到一个新的序列串V’;
步骤6.5、如果新的序列串V’的第i个元素大于0,则S的第i位为1,否则为0,并将每一位的数设置成十进制;输出S作为签名,也就是对文本进行Simhash计算得到的simhash签名值fingerprint。
8.根据权利要求1所述基于同态加密与Simhash的密文查重与存储方法,其特征在于,步骤7中所述同态加密计算采用的是Paillier算法,具体表达式为:
密文simhash=gm*rnmod n2
其中公钥为(n,g),m为simhash签名,满足m<n,r是随机数,满足0<r<n。
10.根据权利要求1所述基于同态加密与Simhash的密文查重与存储方法,其特征在于,步骤9具体过程为:
步骤9.1、对密文加法enaddsimhash进行同态解密,具体表达式为:
明文m=L(cλmod n2)*μ mod n
其中,c为密文加法enaddsimhash,λ=lcm(p-1,q-1),定义函数L(x)=(x-1)/n,并计算模反元素μ=L(gλmod n2)-1mod n;
步骤9.2、对解密内容进行汉明距离计算,得到整数t;
其中,汉明距离定义为明文m的元素中1的个数,即为整数t,计算具体表达式为:
相似度计算具体表达式为:
当t<1,相似度为100%;
当1≤t≤3时,相似度f(i)=((65.13-i)/64.13)38*100%;
当3<t≤64时,相似度f(i)=(0.3147541-(0.3/64)*i)*100%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310157697.2A CN116070276A (zh) | 2023-02-23 | 2023-02-23 | 基于同态加密与Simhash的密文查重与存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310157697.2A CN116070276A (zh) | 2023-02-23 | 2023-02-23 | 基于同态加密与Simhash的密文查重与存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116070276A true CN116070276A (zh) | 2023-05-05 |
Family
ID=86173102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310157697.2A Pending CN116070276A (zh) | 2023-02-23 | 2023-02-23 | 基于同态加密与Simhash的密文查重与存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116070276A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886268A (zh) * | 2023-08-10 | 2023-10-13 | 云海链控股股份有限公司 | 数据传输验证方法、装置、设备及计算机可读存储介质 |
CN117234457A (zh) * | 2023-11-10 | 2023-12-15 | 蓝象智联(杭州)科技有限公司 | 一种用于隐私计算的数据相减运算方法 |
CN117932685A (zh) * | 2024-03-22 | 2024-04-26 | 智慧眼科技股份有限公司 | 基于纵向联邦学习的隐私数据处理方法及相关设备 |
-
2023
- 2023-02-23 CN CN202310157697.2A patent/CN116070276A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886268A (zh) * | 2023-08-10 | 2023-10-13 | 云海链控股股份有限公司 | 数据传输验证方法、装置、设备及计算机可读存储介质 |
CN116886268B (zh) * | 2023-08-10 | 2024-04-26 | 云海链控股股份有限公司 | 数据传输验证方法、装置、设备及计算机可读存储介质 |
CN117234457A (zh) * | 2023-11-10 | 2023-12-15 | 蓝象智联(杭州)科技有限公司 | 一种用于隐私计算的数据相减运算方法 |
CN117234457B (zh) * | 2023-11-10 | 2024-01-26 | 蓝象智联(杭州)科技有限公司 | 一种用于隐私计算的数据相减运算方法 |
CN117932685A (zh) * | 2024-03-22 | 2024-04-26 | 智慧眼科技股份有限公司 | 基于纵向联邦学习的隐私数据处理方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Multiple-image encryption algorithm based on DNA encoding and chaotic system | |
US8300828B2 (en) | System and method for a derivation function for key per page | |
CN116070276A (zh) | 基于同态加密与Simhash的密文查重与存储方法 | |
Alsaidi et al. | Compression multi-level crypto stego security of texts utilizing colored email forwarding | |
WO2024077948A1 (zh) | 匿踪查询方法、装置和系统及存储介质 | |
CN110851845B (zh) | 一种轻量级单用户多数据的全同态数据封装方法 | |
CN111010266B (zh) | 消息的加解密、读写方法、装置、计算机设备和存储介质 | |
CN110263570B (zh) | 一种实现高效相似性查询和访问控制的基因数据脱敏方法 | |
Ganeshkumar et al. | Generating a digital signature based on new cryptographic scheme for user authentication and security | |
CN112737764A (zh) | 一种轻量级多用户多数据的全同态数据加密封装方法 | |
CN108270545A (zh) | 一种基于移动互联网的改进的des数据加密算法 | |
Ahmad et al. | Distributed text-to-image encryption algorithm | |
CN113098675B (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
Sharma et al. | Multi-image steganography and authentication using crypto-stego techniques | |
CN108920968B (zh) | 一种基于连接关键词的文件可搜索加密方法 | |
CN114430321B (zh) | 基于dfa自适应安全的黑盒可追踪密钥属性加密方法及装置 | |
Mohammed et al. | Implementation of new secure encryption technique for cloud computing | |
CN115765963A (zh) | 基于密文域可逆隐写的文字图像审计信息记录与提取方法 | |
Sultana et al. | Keyless lightweight encipher using homomorphic and binomial coefficients for smart computing applications | |
Soni | Performance Analysis of Cascaded Hybrid Symmetric Encryption Models | |
CN116032509A (zh) | 一种邮件加密、解密方法及装置 | |
Rachmawati et al. | New approach toward data hiding by using affine cipher and least significant bit algorithm | |
Haithem et al. | Intelligent TRIPLE DES with N Round Based on Genetic Algorithm | |
KR20100099694A (ko) | 보네-프랜크린 방식을 이용한 공개키 생성 방법 | |
Sudersan et al. | Enhanced DNA cryptosystem for secure cloud data storage |
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 |