CN106961328A - 一种vhe实现方法 - Google Patents

一种vhe实现方法 Download PDF

Info

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
Application number
CN201710175292.6A
Other languages
English (en)
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201710175292.6A priority Critical patent/CN106961328A/zh
Publication of CN106961328A publication Critical patent/CN106961328A/zh
Pending legal-status Critical Current

Links

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
    • 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)
    • H04L9/0825Key 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
    • 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/30Public 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实现方法
技术领域
本发明涉及整数向量同态计算领域,尤其涉及一种基于矩阵的公钥加密算法的分析与攻击的实现方法。
背景技术
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),并生成随机矩阵
T = t 11 , t 12 t 21 , t 22 t 31 , t 32 , A = a 11 , a 12 , a 13 a 21 , a 22 , a 23 ,
然后构造S′,M′,其中,
S ′ = 1 , 0 , 0 , t 11 , t 12 0 , 1 , 0 , t 21 , t 22 0 , 0 , 1 , t 31 , t 32 ,
M ′ = w - t 11 a 11 - t 12 a 21 , - t 11 a 12 - t 12 a 22 , - t 11 a 13 - t 12 a 23 - t 21 a 11 - t 22 a 21 , w - t 21 a 12 - t 22 a 22 , - t 21 a 13 - t 22 a 23 - t 31 a 11 - t 32 a 21 , - t 31 a 12 - t 32 a 22 , w - t 31 a 13 - t 32 a 23 a 11 , a 12 , a 13 a 21 , a 22 , a 23 .
3.根据权利要求1所述的一种VHE实现方法,其特征在于,所述步骤二的具体过程为:对单位矩阵I进行多次初等行变换,得到可逆矩阵Ps,然后计算可逆矩阵Ps的左逆元得到矩阵Pm,令PsPm=I。
4.根据权利要求1所述的一种VHE实现方法,其特征在于,所述步骤三的具体过程为:
S = S ′ P s = 1 , 0 , 0 , t 11 , t 12 0 , 1 , 0 , t 21 , t 22 0 , 0 , 1 , t 31 , t 32 P s ,
M = P m M ′ = P m w - t 11 a 11 - t 12 a 21 , - t 11 a 12 - t 12 a 22 , - t 11 a 13 - t 12 a 23 - t 21 a 11 - t 22 a 21 , w - t 21 a 12 - t 22 a 22 , - t 21 a 13 - t 22 a 23 - t 31 a 11 - t 32 a 21 , - t 31 a 12 - t 32 a 22 , w - t 31 a 13 - t 32 a 23 a 11 , a 12 , a 13 a 21 , a 22 , a 23 .
5.根据权利要求1所述的一种VHE实现方法,其特征在于,所述步骤四的具体过程为:生成的噪声矩阵为e=(e1,e2,…,e5),密文由如下计算过程得到:c=Mx+e=(c1,c2,…,c5)。
CN201710175292.6A 2017-03-22 2017-03-22 一种vhe实现方法 Pending CN106961328A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107294697A (zh) * 2017-07-21 2017-10-24 西安电子科技大学 基于明文相似矩阵的对称全同态加密方法
CN109190395A (zh) * 2018-08-21 2019-01-11 浙江大数据交易中心有限公司 一种基于数据变换的全同态加密方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
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