CN106961328A - 一种vhe实现方法 - Google Patents
一种vhe实现方法 Download PDFInfo
- Publication number
- CN106961328A CN106961328A CN201710175292.6A CN201710175292A CN106961328A CN 106961328 A CN106961328 A CN 106961328A CN 201710175292 A CN201710175292 A CN 201710175292A CN 106961328 A CN106961328 A CN 106961328A
- Authority
- CN
- China
- Prior art keywords
- matrix
- vhe
- vector
- implementation methods
- public key
- 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
Classifications
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种VHE实现方法,涉及VHE加密方案领域,包括如下步骤:根据要加密的明文向量x构造矩阵S′和M′,生成一可逆矩阵Ps及其逆矩阵Pm,计算私钥S和公钥M,其中,S=S′Ps,M=PmM′,然后使用公钥M对明文x进行加密操作,计算密文向量c=Mx+e,其中,e表示噪声向量,本发明解决了现有VHE实现方案因未能有效隐藏公钥和私钥的关系,而存在安全性问题。
Description
技术领域
本发明涉及整数向量同态计算领域,尤其涉及一种基于矩阵的公钥加密算法的分析与攻击的实现方法。
背景技术
VHE(Vector Homomorphic Encryption),是一个针对整数向量的同态加密方法,以下简称VHE方法。VHE方案支持整数向量的同态加法、线性变换、向量内积等运算。其处理整数向量的同态计算效率较高,在数据挖掘、云计算方面有较好的应用前景。
VHE方法在加密过程中所使用的技术被称为Key-Switching,VHE方法的安全性基于如下数学关系:Sc=wx+e,其中,S:私钥矩阵,c:密文向量,w:公共参数,x:明文向量,e:噪声向量;Key-Switching的具体步骤为:
(1)将明文进行比特化处理;比特化过程如下:对于明文向量,要将向量的每个维表示为长度为l(此处l为小写L,l代表比特化参数)的0-1比特向量,所有0-1向量比特组成比特化的明文向量,如x=(3,2),l=3,那么x*=(1,1,0,0,1,0),矩阵的比特化,取S中的每个元素si,将其扩展为si,2si,4si,然后所有的扩展向量组成S*。
(2)指定新的私钥S=[I,T],其中,I代表单位矩阵,T代表随机矩阵;
(3)构造公钥矩阵其中,A是一个随机矩阵(此处的随机矩阵A和步骤(2)中的随机矩阵T的用处和维度均不相同,T在计算私钥矩阵S和公钥矩阵M上半部分时用到,而A在计算公钥矩阵上下两部分时用到),E是随机生成的噪声矩阵,I*是进行了比特化扩展的单位矩阵;
(4)计算密文c=Mx。
相应的解密过程为:
上述步骤中,在已知某次单向加密的公钥与密文的情况下,可以通过如下方法对本次加密进行破解:
上述过程中将公钥构造为将私钥构造为S=[I,T],观察公钥结构,不难从其中得到如下内容Mm=[TA-E],如果知道算法使用的比特化参数就可以直接计算出M矩阵上半部分所占行数,然后就可以从该矩阵中得到[TA-E]的结构。如果不知道比特化参数,由于M上半部分的列数是其行数的整数(这个整数即是比特化参数)倍,所以可以从M的列数的因子中选择一个作为M上半部分的行数,然后对M进行分解。根据A尽可能多的构造矩阵Mm中向量的线性组合,并将其作为矩阵T中向量线性组合的近似值。考虑到解密操作即可由上述分析中得到的T中向量线性组合的近似值来模拟解密过程:
根据Mmin,A可以得到T中向量的若干线性组合,再考虑解密过程:
从上述步骤中我们可以看出,以T中向量线性组合的近似值及密文尽可能多的模拟解密过程,即可得到若干组明文的近似值,再考虑到M中引入的噪声和w的关系,可以推断出该近似值与真实值十分接近。
对于一个公钥加密方法而言,私钥是不允许公开的,也不允许方法中的公开部分泻露私钥、明文的相关信息,而通过上述的分析方法可以破解其单向加密,也就是说现有的VHE方法未能有效地隐藏公钥和私钥的关系,因此,该实现方法是不安全的。
发明内容
本发明的目的在于:解决现有VHE实现方法因未能有效隐藏公钥和私钥的关系,而导致的安全问题,本发明提供一种VHE实现方法。
本发明的具体方案如下:
一种VHE实现方法,包含以下步骤:
步骤一:根据要加密的明文向量构造如下矩阵 其中x代表明文向量,表示n维整数向量集合,I表示单位矩阵,表示a行b列的矩阵集合,T,A表示随机生成的整数矩阵,w表示加密算法中选取的一个大整数,S′和M′都是计算的中间产物,目的是利用这两个矩阵计算S和M。
步骤二:生成一可逆矩阵及其逆矩阵Ps,Pm表示有理数矩阵,表示a行b列的有理数矩阵集合。
步骤三:根据步骤一和步骤二得到的S′、M′、Ps、Pm的值计算私钥S和公钥M,其中,S=S′Ps,M=PmM′。
步骤四:根据步骤三中得到的公钥M进行加密操作,计算密文向量c=Mx+e,其中,e表示噪声向量。
上述步骤对应的解密操作为:计算符号表示对向量a中的元素就近取整。
进一步地,所述步骤一的具体过程为:假设明文为整数向量x=(x1,x2,x3),并生成随机矩阵
然后构造S′,M′,其中,
进一步地,所述步骤二的具体过程为:所述步骤二的具体过程为:对单位矩阵I进行多次初等行变换,得到可逆矩阵Ps,然后计算可逆矩阵Ps的左逆元得到矩阵Pm,且PsPm=I。
进一步地,所述步骤三的具体过程为:
进一步地,所述步骤四的具体过程为:假设生成的噪声矩阵为e=(e1,e2,…,e5),密文由如下计算过程得到:
c=Mx+e=(C1,C2,...,c5)。
采用上述方案后,本发明的有益效果在于:
(1)安全性:
单向加密安全性:改进后的方案加密过程为c=Mx+e=(c1,c2,…,c5),加密过程中除了计算Mx之外,还要引入噪声矩阵e,使得已知密文和公钥求明文的问题为LWE(Learnwith Error)问题,该问题被证明在量子计算的条件下是困难的,从而使该加密过程享有LWE同等的安全性。
公钥不泄露私钥信息:公钥为M=PmM′,在仅知道M的情况下要解出Pm,M′是困难的,而M不再具有M′的结构特征,故要从M分析关于T的信息也是困难的。
(2)解密正确性:考虑解密过程 对w,T,Ps,e做适当的约束,令[I,T]PSe的任意一项都小于即可正确解密。
具体实施方式
下面结合具体实施例对本发明的方案进行进一步地详细说明。
一种VHE实现方法,包含以下步骤:
步骤一:根据要加密的明文向量构造如下矩阵 其中x代表明文向量,表示n维整数向量集合,I表示单位矩阵,表示a行b列的矩阵集合,T,A表示随机生成的整数矩阵,w表示加密算法中选取的一个大整数,S′和M′都是计算的中间产物,目的是利用这两个矩阵计算S和M;假设明文为整数向量x=(x1,x2,x3),并生成随机矩阵
然后构造S′,M′,其中,
步骤二:对单位矩阵I进行多次初等行变换,得到可逆矩阵计算可逆矩阵Ps的左逆元得到矩阵且PsPm=I,Ps,Pm表示有理数矩阵,表示a行b列的有理数矩阵集合。
步骤三:根据步骤一和步骤二得到的S′、M′、Ps、Pm的值计算私钥S和公钥M,其中,
步骤四:根据步骤三中得到的公钥M进行加密操作,计算密文向量c=Mx+e,其中,e表示噪声向量;假设生成的噪声矩阵为e=(e1,e2,...,e5),密文为:c=Mx+e=(c1,c2,...,c5)。
上述步骤对应的解密操作为:计算 符号表示对向量a中的元素就近取整,对w,T,Ps,e做适当的约束,令[I,T]PSe的任意一项都小于即可正确解密。
Claims (5)
1.一种VHE实现方法,其特征在于,包含以下步骤:
步骤一:根据要加密的明文向量构造矩阵 其中x代表明文向量,表示n维整数向量集合,I表示单位矩阵,表示a行b列的矩阵集合,T,A表示随机生成的整数矩阵,w表示加密算法中选取的一个大整数,S′和M′都是计算的中间产物,目的是利用这两个矩阵计算S和M;
步骤二:对单位矩阵I进行变换,生成一可逆矩阵及Ps的逆矩阵Ps,Pm表示有理数矩阵,表示a行b列的有理数矩阵集合;
步骤三:根据步骤一和步骤二得到的S′、M′、Ps、Pm的值计算私钥S和公钥M,其中,S=S′Ps,M=PmM′;
步骤四:根据步骤三中得到的公钥M进行加密操作,计算密文向量c=Mx+e,其中,e表示噪声向量;
上述步骤对应的解密操作为:计算符号表示对向量a中的元素就近取整。
2.根据权利要求1所述的一种VHE实现方法,其特征在于,所述步骤一的具体过程为:明文为整数向量x=(x1,x2,x3),并生成随机矩阵
然后构造S′,M′,其中,
3.根据权利要求1所述的一种VHE实现方法,其特征在于,所述步骤二的具体过程为:对单位矩阵I进行多次初等行变换,得到可逆矩阵Ps,然后计算可逆矩阵Ps的左逆元得到矩阵Pm,令PsPm=I。
4.根据权利要求1所述的一种VHE实现方法,其特征在于,所述步骤三的具体过程为:
5.根据权利要求1所述的一种VHE实现方法,其特征在于,所述步骤四的具体过程为:生成的噪声矩阵为e=(e1,e2,…,e5),密文由如下计算过程得到:c=Mx+e=(c1,c2,…,c5)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710175292.6A CN106961328A (zh) | 2017-03-22 | 2017-03-22 | 一种vhe实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710175292.6A CN106961328A (zh) | 2017-03-22 | 2017-03-22 | 一种vhe实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106961328A true CN106961328A (zh) | 2017-07-18 |
Family
ID=59470931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710175292.6A Pending CN106961328A (zh) | 2017-03-22 | 2017-03-22 | 一种vhe实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106961328A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294697A (zh) * | 2017-07-21 | 2017-10-24 | 西安电子科技大学 | 基于明文相似矩阵的对称全同态加密方法 |
CN109190395A (zh) * | 2018-08-21 | 2019-01-11 | 浙江大数据交易中心有限公司 | 一种基于数据变换的全同态加密方法及系统 |
-
2017
- 2017-03-22 CN CN201710175292.6A patent/CN106961328A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107294697A (zh) * | 2017-07-21 | 2017-10-24 | 西安电子科技大学 | 基于明文相似矩阵的对称全同态加密方法 |
CN107294697B (zh) * | 2017-07-21 | 2019-08-13 | 西安电子科技大学 | 基于明文相似矩阵的对称全同态加密方法 |
CN109190395A (zh) * | 2018-08-21 | 2019-01-11 | 浙江大数据交易中心有限公司 | 一种基于数据变换的全同态加密方法及系统 |
CN109190395B (zh) * | 2018-08-21 | 2020-09-04 | 浙江大数据交易中心有限公司 | 一种基于数据变换的全同态加密方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107294697B (zh) | 基于明文相似矩阵的对称全同态加密方法 | |
CN107317666A (zh) | 一种支持浮点运算的并行全同态加解密方法 | |
CN105406966B (zh) | 一种门限秘密信息分配、还原、完整性验证方法及装置 | |
Reddy et al. | A modified hill cipher based on circulant matrices | |
CN103684742A (zh) | 一种基于循环矩阵变换的支持密文计算的加密方法 | |
CN109150923A (zh) | 基于混合加密的网络传输数据安全处理方法 | |
WO2015163822A1 (en) | Method and system for generating / decrypting ciphertext, and method and system for searching ciphertexts in a database | |
CN108881204A (zh) | 隐私保护聚类数据挖掘方法、电子设备、存储介质及系统 | |
CN104396182A (zh) | 加密数据的方法 | |
CN108111295A (zh) | 一种基于类模运算的同态加密算法 | |
CN103916248A (zh) | 一种全同态加密公钥空间压缩方法 | |
JP5689826B2 (ja) | 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム | |
CN106789053A (zh) | 随机密文生成方法及系统、解密方法及系统 | |
CN110784300B (zh) | 一种基于乘法同态加密的密钥合成方法 | |
CN106961328A (zh) | 一种vhe实现方法 | |
CN103501220B (zh) | 加密方法和装置 | |
CN116886271B (zh) | 一种用于纵向联邦XGboost模型训练的梯度聚合方法 | |
CN109714154A (zh) | 代码体积困难白盒安全模型下的白盒密码算法 | |
Dixit et al. | Image encryption using permutation and rotational XOR technique | |
CN115865307B (zh) | 一种用于联邦学习的数据点乘运算方法 | |
Mittal et al. | Cryptosystem based on modified Vigenere cipher using encryption technique | |
Tiwari et al. | Analysis and comparison of DES, AES, RSA encryption algorithms | |
CN105227308B (zh) | 一种加密、解密方法及电子设备 | |
CN106921486A (zh) | 数据加密的方法和装置 | |
CN105530091A (zh) | 一种tts签名的解密方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170718 |
|
RJ01 | Rejection of invention patent application after publication |