CN103780382B - 一种基于超球面的多变量公钥加密/解密***及方法 - Google Patents

一种基于超球面的多变量公钥加密/解密***及方法 Download PDF

Info

Publication number
CN103780382B
CN103780382B CN201410015211.2A CN201410015211A CN103780382B CN 103780382 B CN103780382 B CN 103780382B CN 201410015211 A CN201410015211 A CN 201410015211A CN 103780382 B CN103780382 B CN 103780382B
Authority
CN
China
Prior art keywords
processor
data
plaintext
ciphertext
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410015211.2A
Other languages
English (en)
Other versions
CN103780382A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201410015211.2A priority Critical patent/CN103780382B/zh
Publication of CN103780382A publication Critical patent/CN103780382A/zh
Priority to US15/111,365 priority patent/US10142105B2/en
Priority to EP15735039.8A priority patent/EP3096488B1/en
Priority to PCT/CN2015/070255 priority patent/WO2015103977A1/zh
Application granted granted Critical
Publication of CN103780382B publication Critical patent/CN103780382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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/0852Quantum cryptography
    • 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
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Electromagnetism (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于超球面的多变量公钥加密/解密***,由加密模块和解密模块组成,其中加密模块包含处理器、将明文变成密文的公钥变换部件;解密模块包含处理器、仿射变换求逆部件一、陷门部件和仿射变换求逆部件二,其中陷门部件包含线性方程组构建部件和线性方程组求解部件,各部件执行相应的运算,最后得到一组数据,则将该组数据作为解密后的明文存储并输出;若解密模块没有产生数据,处理器向用户输出解密错误的警告信息。本发明的***及方法,没有使用大域技术,设计的中心映射包含N组作为私钥的“球心”,实现中心隐藏,同时运行速度非常快,解密过程仅需要进行线性方程组求解。

Description

一种基于超球面的多变量公钥加密/解密***及方法
技术领域
本发明涉及信息安全领域,特别涉及一种基于超球面的多变量公钥加密/解密***及方法。
背景技术
密码技术是信息安全的核心和基础,广泛应用于网络通信、电子商务、银行、国防军事等领域。密码技术包括对称密码和非对称密码,非对称密码也称为公钥密码。
目前公钥密码的安全性主要依赖于大整数分解和离散对数求解等困难问题,如RSA、ECC等。然而,自提出在量子计算机上能够实现大整数分解和离散对数求解的方法后,这类传统的公钥密码便受到巨大的威胁,影响到各个行业。因此,人们致力于寻找一种能够抵御量子计算机攻击的密码***以满足信息安全的需求,并将这类***称为后量子密码,而多变量公钥密码便是其中的一种。
MPKC在后量子加密方案中占据重要位置,现存的MPKC方案几乎都是不安全的,原因在于随机设计的一个二次方程没有门限,因而不能用于加密。而对应的中心映射生成的数学结构,一般都能推导得知其中心映射(即没有隐藏),从而使得很多MPKC方案不仅仅基于MQ问题,还存在结构问题,如MI,Square,三角方案等。因此,设计一个隐藏的,但又存在门限的中心映射对MPKC方案设计非常重要,目前如此设计的方案包括HFE,ABC等等。前者的中心映射虽然存在隐藏,但是由于解密的需要,使得整个映射对应的矩阵的秩非常小,因而它不能对抗秩攻击。后者而言,由于中心映射的随机性,目前并没有相关的攻击方法对其进行破解,但是同样由于中心映射的随机性,它并不能绝对的解密成功,即使它强调通过对参数的设置,可以使得解密成功的概率变得很高,但是对一个密码***而言,这仍然是不适用的。
就MPKC方案而言,一个比较常见的技术是“大域技术”,即把公钥映射到一个大域K上,然后使用向量同构(需要同构)。这种方法是一个双刃剑,因为K的结构使得解密变得容易,但是这样的结构也很容易被攻击者利用。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于超球面的多变量公钥加密/解密***。
本发明的另一目的在于提供一种基于超球面的多变量公钥加密/解密方法。
本发明的目的通过以下的技术方案实现:
一种基于超球面的多变量公钥加密/解密***,包含:
A、加密模块,用于对待加密的明文进行加密处理,形成密文、完成加密,其包括处理器、公钥变换部件,待加密的明文传输到处理器后,处理器存储明文,然后将明文数据传输至公钥变换部件中,通过将明文数据分别代入多变量多项式,得到加密后的密文,密文随后被传输到处理器中存储,处理器再将密文传输给其他用户的解密模块;
B、解密模块,用于对其他用户发来的密文数据进行解密处理,形成明文、完成解密,其包括处理器、仿射变换求逆部件一、陷门部件和仿射变换求逆部件二,其中陷门部件包含线性方程组构建部件和线性方程组求解部件,收到密文数据后,处理器先将密文传输给仿射变换求逆部件一进行仿射变换求逆运算,然后传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建运算、线性方程组求解运算,将多项式求逆运算所得的一组解传输到仿射变换求逆部件二进行仿射变换求逆运算,最终传输到处理器,对传输过来的一组或多组数据,处理器分别计算每组数据的杂凑值,若所得的某组数据杂凑值与预先存储在处理器中的明文杂凑冗余数据相等,则将该组数据作为解密后的明文存储并输出;若都不满足,处理器向用户输出解密错误的警告信息;
其中,所述加密模块、解密模块中所述的处理器为同一处理器。
所述的基于超球面的多变量公钥加密/解密***还包含选择器,其与处理器相连,当选择器处于开状态时,***的加密模块工作,当选择器处于闭状态时,***的解密模块工作。
所述的处理器包含与选择器相连的调度器,选择器的开状态、闭状态由处理器中的调度器识别、处理,存储在处理器中的数据由调度器控制、调度到各个相应的部件进行相应的操作。
所述的处理器还包含Hash探测器、存储器,处理器中计算数据的杂凑值由Hash探测器完成,处理器中存储数据由存储器完成。
本发明的另一目的通过以下的技术方案实现:
一种基于超球面的多变量公钥加密/解密方法,包含以下顺序的步骤:
(1)加密过程:
a、待加密的明文传输到处理器后,处理器计算其杂凑值,得到明文杂凑冗余数据,并存储明文和明文杂凑冗余数据;
b、将明文数据传输至公钥变换部件中,通过将明文数据代入多变量多项式,得到加密后的密文;
c、密文随后传输到处理器中存储,处理器将密文与明文杂凑冗余数据一起传输给其他用户的解密模块;
(2)解密过程:
a、收到其他用户发来的密文和明文杂凑冗余数据后,处理器先将明文杂凑冗余数据存储,再将密文传输给仿射变换求逆部件一进行仿射变换求逆运算;
b、然后将求逆后的数据传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组的构建和线性方程组的求解操作,线性方程组求解操作得一组或多组解;
c、上述得到的解将传输到仿射变换求逆部件二进行仿射变换求逆运算;
d、最终传输到处理器,对传输过来的一组或多组的数据,处理器分别计算每组数据的杂凑值,若某组数据的杂凑值与处理器存储的明文杂凑冗余数据相等,则将该组数据作为解密后的明文存储并输出;若都不满足,处理器向用户输出解密错误的警告信息。
所述的步骤(1)加密过程包含:
a、待加密的明文(x1',...,xn')∈Fn传输到处理器后,处理器计算其杂凑值(h1',...,hj')=Hash(x1',...,xn'),得到明文杂凑冗余数据(h1',...,hj'),其中Hash(·)是密码学上安全的单向函数,存储明文和明文杂凑冗余数据;
b、将明文(x1',...,xn')数据传输至公钥变换部件中,公钥变换部件将明文数据代入公钥映射P(x1,...,xn),即分别计算各个多变量多项式p1(x1',...,xn'),...,pm(x1',...,xn')的值,其值分别记为y1',...,ym',(y1',...,ym')就是加密后的密文;
c、密文(y1',...,ym')随后传输到处理器中存储,处理器将密文(y1',...,ym')和明文杂凑冗余数据(h1',...,hj')一起传输给其他用户的解密模块;
步骤(2)解密过程包含:
a、收到其他用户发来的密文(y1',...,ym')和明文杂凑冗余数据(h1',...,hj')后,处理器先将明文杂凑冗余数据(h1',...,hj')存储,再将密文(y1',...,ym')传输给仿射变换求逆部件一进行仿射变换求逆运算
b、接着将传输给陷门部件,分别进行线性方程组构建、线性方程组求解操作,即线性方程组构建部件利用调度器预先分配在陷门部件里的m组数据(ci1,ci2,...,cin)以及联立构建方程组,具体如下:
( x 1 ~ - c 1 , 1 ) 2 + ... + ( x n ~ - c 1 , n ) 2 = y 1 ~ ... ( x 1 ~ - c m , 1 ) 2 + ... + ( x n ~ - c m , n ) 2 = y m ~
记为式子一,将式子一扩展成式子二:
( x 1 ~ 2 - 2 c 1 , 1 x 1 ~ + c 1 , 1 2 ) + ... + ( x n ~ 2 - 2 c 1 , n x n ~ + c 1 , n 2 ) = y 1 ~ ... ( x 1 ~ 2 - 2 c m , 1 x 1 ~ + c m , 1 2 ) + ... + ( x n ~ 2 - 2 c m , n x n ~ + c m , n 2 ) = y m ~
根据式子二,进行系列的前一式子减去后一式子处理,即 得到式子三:
将式子三转换成矩阵形式,得式子四:
式子四即为线性方程组构建部件构建的关于的线性方程组;然后线性方程组求解部件利用高斯消元法对式子四进行求解,此解为一组或多组,设为d组,将该解集记为
c、再将所得数据传输到仿射变换求逆部件二进行仿射变换求逆运算
d、最终将(xi1',...,xin')传输到处理器,处理器计算(xi1',...,xin')的杂凑值,若某组i的数据(xi1',...,xin')的杂凑值与明文杂凑冗余数据(h1',...,hj')相等,则将该组数据(xi1',...,xin')作为解密后的明文输出;若对于所有的i都有(xi1',...,xin')≠(h1',...,hj'),则处理器向用户输出解密错误的警告信息。
所述的基于超球面的多变量公钥加密/解密方法,在步骤(1)加密过程之前还包含以下步骤:当选择器处于开状态时,***的加密模块工作,其中选择器与处理器相连;
在步骤(2)解密过程之前还包含以下步骤:当选择器处于闭状态时,***的解密模块工作,其中选择器与处理器相连。
所述的处理器包含与选择器相连的调度器,选择器的开状态、闭状态由处理器中的调度器识别、处理,存储在处理器中的数据由调度器控制、调度到各个相应的部件进行相应的操作。
所述的处理器还包含Hash探测器、存储器,处理器中计算数据的杂凑值由Hash探测器完成,处理器中存储数据由存储器完成。
本发明与现有技术相比,具有如下优点和有益效果:
1、没有使用“大域技术”,避免了使用同构部件进行向量同构,但是又能保证解密过程的方便。“大域技术”,即把公钥映射到一个大域K上,然后使用向量同构(需要同构)。这种方法是一个双刃剑,因为K的结构使得解密变得容易,但是这样的结构也很容易被攻击者利用。我们的方案完全摒除了这个技术,同时我们方案的解密过程又没有因为缺少同构技术而变得复杂。
2、设计的中心映射由N组作为私钥的“球心”完全隐藏,使得攻击者即使知道我们设计的结构,也不能获得任何有利的帮助。对于中心映射的设计,我们设定m个随机的n维“球心”作为隐藏参数(私钥),使得其加密的几何意义为为m个“距离平方”,而就解密而言,其几何意义为知道球心及距离,如何找满足条件的超球面的点。
3、运行速度非常快,尤其解密过程,仅需要进行一个线性方程组求解。目前很多加解密方案,如多变量当中的HFE,ABC方案,几乎所有传统的ECC和RSA加解密算法,解密过程都是需要进行求模运算或者标量乘法等复杂的数学运算的,因而解密速度会比较慢,而我们的方案,解密过程中只需要进行线性方程组求解,其求解需要使用的高斯消元运算明显比目前大多数方案运算复杂度低。
4、在适当的参数选择下,可以抵御多变量公钥密码目前已知的代数攻击,安全性非常高。目前大多数MPKC方案的中心映射设计都不加入隐藏的参数作为私钥,而对应的中心映射生成的数学结构,一般都能推导得知其中心映射,从而使得很多MPKC方案不仅仅基于MQ问题,还存在结构问题,如MI,Square,三角方案等,最后不能抵抗对应的代数结构攻击。如HFE方案的中心映射虽然存在隐藏,但是由于解密的需要,使得整个映射对应的矩阵的秩非常小,因而它不能对抗秩攻击。而我们的方案,中心映射同样存在隐藏的参数作为私钥,且其中心映射是满秩的,故能抵抗秩攻击。
附图说明
图1为本发明所述的一种基于超球面的多变量公钥加密/解密***的结构示意图。
具体实施方式
如图1,一种基于超球面的多变量公钥加密/解密***,包含:
A、选择器,其与处理器中的调度器相连,当选择器处于开状态时,***的加密模块工作,当选择器处于闭状态时,***的解密模块工作;
B、加密模块,用于对待加密的明文进行加密处理,形成密文、完成加密,其包括处理器、公钥变换部件,待加密的明文被传输到处理器,其中处理器包含调度器、Hash探测器、存储器,Hash探测器计算明文的杂凑值,得到明文杂凑冗余数据,并将明文及其明文杂凑冗余数据存储在存储器里,然后将该明文数据传输至公钥变换部件中,公钥变换部件将明文数据代入公钥映射,即分别计算公钥映射的各个多变量多项式的值,得到加密后的密文,密文随后传输到处理器的存储器中存储,处理器将密文和明文杂凑冗余数据一起传输给其他用户的解密模块;
C、解密模块,用于对其他用户发来的密文数据进行解密处理,形成明文、完成解密,其包括处理器、仿射变换求逆部件一、陷门部件和仿射变换求逆部件二,其中陷门部件包含线性方程组构建部件和线性方程组求解部件,收到密文数据后,处理器先将密文传输给仿射变换求逆部件一进行仿射变换求逆运算,然后传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建运算、线性方程组求解运算,将多项式求逆运算所得的一组解传输到仿射变换求逆部件二进行仿射变换求逆运算,最终传输到处理器,对传输过来的一组或多组数据,处理器分别计算每组数据的杂凑值,若所得的某组数据杂凑值与预先存储在处理器中的明文杂凑冗余数据相等,则将该组数据作为解密后的明文存储并输出;若都不满足,处理器向用户输出解密错误的警告信息。其中,所述加密模块、解密模块中所述的处理器为同一处理器。
基于超球面的多变量公钥加密/解密***首次使用前,需要进行初始化,如下所示:
(1)***所有部件的算术运算都是建立在一个阶为q的有限域F上,其中q是一个奇素数;
(2)令多变量公钥密码***的方程个数为m,变量个数为n;
(3)在仿射变换求逆部件一里,令是从Fm到Fm的随机选择的可逆仿射变换,类似地,在仿射变换求逆部件二里,令是从Fn到Fn的随机选择的可逆仿射变换;
(4)在陷门部件里,***随机选取m组球心数据(ci,1,ci,2,...,ci,n)满足ci,j∈Fq,1≤i≤m,1≤j≤n;
(5)在公钥变换部件里,初始化中心映射F=(f1,...,fm),即由m个fi构成中心映射。令fi=(x1-ci,1)2+(x2-ci,2)2+...+(xn-ci,n)2,1≤i≤m,其中(ci,1,ci,2,...,ci,n)是在陷门部件里***随机选取的m组球心数据。最后令P=TοFοS(x1,...xn)即为对应的公钥映射。
(6)以上相关映射的数据在***初始化之后是存储在存储器里,在***工作过程中,它们是由调度器控制和调度到各个相应的部件里进行相关操作的。
初始化完成后,***就可以正式使用。
一种基于超球面的多变量公钥加密/解密方法,包含以下顺序的步骤:
(1)加密过程:
a、当选择器处于开状态时,***的加密模块工作,选择器与处理器的调度器相连,其中,处理器包含调度器、Hash探测器和存储器,待加密的明文(x1',...,xn')∈Fn传输到处理器后,Hash探测器计算其杂凑值(h1',...,hj')=Hash(x1',...,xn'),得到明文杂凑冗余数据(h1',...,hj'),其中Hash(·)是密码学上安全的单向函数,然后将明文及其杂凑冗余数据存储在存储器里;
b、将该明文(x1',...,xn')传输至公钥变换部件中,公钥变换部件将数据代入公钥映射P(x1,...,xn)里,即分别计算各个多变量多项式p1(x1',...,xn'),...,pm(x1',...,xn')的值,其值分别记为y1',...,yn',数据(y1',...,yn')就是加密后的密文;
c、密文(y1',...,yn')随后传输到处理器中存储,处理器再将密文(y1',...,yn')与明文杂凑冗余数据(h1',...,hj')一起传输给其他用户的解密模块;
(2)解密过程:
a、当选择器处于闭状态时,***的解密模块工作,收到其他用户发来的密文(y1',...,ym')和明文杂凑冗余数据(h1',...,hj')后,处理器先将明文杂凑冗余数据(h1',...,hj')存储,再将密文(y1',...,ym')传输给仿射变换求逆部件一进行仿射变换求逆运算
b、然后将传输给陷门部件,分别进行线性方程组构建、线性方程组求解操作,即线性方程组构建部件利用预先分配在陷门部件里的m组数据(ci,1,ci,2,...,ci,n)以及联立构建方程组(Ⅰ)。形式如下:
( x 1 ~ - c 1 , 1 ) 2 + ... + ( x n ~ - c 1 , n ) 2 = y 1 ~ ... ( x 1 ~ - c m , 1 ) 2 + ... + ( x n ~ - c m , n ) 2 = y m ~ ... ( I )
把(Ⅰ)扩展成:
( x 1 ~ 2 - 2 c 1 , 1 x 1 ~ + c 1 , 1 2 ) + ... + ( x n ~ 2 - 2 c 1 , n x n ~ + c 1 , n 2 ) = y 1 ~ ... ( x 1 ~ 2 - 2 c m , 1 x 1 ~ + c m , 1 2 ) + ... + ( x n ~ 2 - 2 c m , n x n ~ + c m , n 2 ) = y m ~ ... ( I I )
对(Ⅱ)式,第一式减第二式,…,第m-1式减第m式,得:
写成矩阵形式,得:
(Ⅳ)式即为线性方程组构建部件构建的关于的线性方程组;然后线性方程组求解部件利用高斯消元法对(Ⅳ)进行求解,此解为一组或多组,设为d组,将该解集记为
c、再将所得数据传输到仿射变换求逆部件二进行仿射变换求逆运算
d、最终将(xi1',...,xin')传输到处理器,处理器计算(xi1',...,xin')的杂凑值,若某组i的数据(xi1',...,xin')的杂凑值与明文杂凑冗余数据(h1',...,hj')相等,则将该组数据(xi1',...,xin')作为解密后的明文输出;若对于所有的i都有(xi1',...,xin')≠(h1',...,hj'),则处理器向用户输出解密错误的警告信息。
下面以一个具体的例子来详细介绍***的初始化过程:
(1)所有部件的运算都是基于阶为q=3的有限域F上,其中,基域F包含3个元素,这些元素分别为{0,1,2},域上定义的加法、乘法为整数的加法、乘法之后mod 3;
(2)***里的方程个数为m=3,变量个数为n=2;
(3)在仿射变换求逆部件一里,初始化在仿射变换求逆部件二里,初始化
(4)在陷门部件里,随机取三组“球心”,(1,2),(2,1),(0,1);
(5)在公钥变换部件里,首先中心映射F分别是:
f 1 ( x 1 ‾ , x 2 ‾ ) = ( x 1 ‾ - 1 ) 2 + ( x 2 ‾ - 2 ) 2 ,
f 2 ( x 1 ‾ , x 2 ‾ ) = ( x 1 ‾ - 2 ) 2 + ( x 2 ‾ - 1 ) 2 ,
f 3 ( x 1 ‾ , x 2 ‾ ) = ( x 1 ‾ - 0 ) 2 + ( x 2 ‾ - 1 ) 2 .
容易通过式子P=TοFοS(x1,...,xn)得到公钥变换P的具体式,其分别包括以下3个式子:
p1(x1,x2)=x2
p 2 ( x 1 , x 2 ) = x 1 2 + x 1 + 2 x 2 + x 2 2 + 1
p3(x1,x2)=x1
在***初始化之后,下面将详细地描述对于明文(1,2)的加密和它的解密。另外,为了简单地说明整个加密和解密的过程,不失一般性可设明文(1,2)的杂凑值为(1,1,1)。
加密过程:
(1)选择器处于开状态;
(2)对于待加密的明文M=(1,2),处理器调用Hash探测器计算它的杂凑值(1,1,1)=Hash(M),即得到明文杂凑冗余数据(1,1,1),并将明文数据(1,2)和它的明文杂凑冗余数据(1,1,1)存储于存储器里,然后,处理器将明文(1,2)传输给公钥变换部件;
(3)公钥变换部件接收到数据后,与处理器进行交互,调用函数P,并分别计算p1(1,2),p2(1,2),p3(1,2),得到结果(2,2,1),并将它返回存储器中;
(4)处理器将数据(2,2,1)作为明文(1,2)的密文,然后将密文(2,2,1)和它的明文杂凑冗余数据(1,1,1)一起输出给用户(或设备);
解密过程:
(1)选择器处于闭状态;
(2)对于待解密的数据(2,2,1)和它的明文杂凑冗余数据(1,1,1),输入端把它们传输给处理器并存于存储器中,然后处理器将密文数据(2,2,1)传输给仿射变换求逆部件一;
(3)仿射变换求逆部件一收到数据(2,2,1)后,先与处理器进行交互,调用程序并计算T-1(2,2,1)=(1,1,1),然后将结果(1,1,1)传给陷门部件;
(4)陷门部件收到数据(1,1,1)后,先与处理器进行交互,然后调用线性方程组构建子部件,该子部件利用调度器预先分配在陷门部件里的3组球心数据(1,2),(2,1),(0,1)以及(1,1,1)联立构建方程组,即把上面的三个式子展开,可得到:
x 1 ~ 2 - 2 x 1 ~ + 1 + x 2 ~ 2 - 4 x 2 ~ + 4 = 1 x 1 ~ 2 - 2 x 1 ~ + 4 + x 2 ~ 2 - 2 x 2 ~ + 1 = 1 x 1 ~ 2 + x 2 ~ 2 - 2 x 2 ~ + 1 = 1 ,
上述第一式减第二式,第二式减第三式,得:
2 x 1 ~ - 3 - 2 x 2 ~ + 3 = 0 - 4 x 1 ~ + 4 = 0
即为该子部件构建的线性方程组,之后陷门部件调用线性方程组求解子部件,求解出方程组关于未知变量的解,即最后陷门部件将此解集(1,1)传输给仿射变换求逆部件二;
(5)仿射变换求逆部件二收到数据集(1,1)后,与处理器进行交互,运行程序并计算S-1(1,1),得到结果(1,2),最后将此数据集返回给存储器;
(6)处理器调用Hash探测器,计算数据(1,2)的杂凑值,发现数据(1,2)的杂凑值为(1,1,1),即Hash(1,2)=(1,1,1),它等于存储器里的明文杂凑冗余数据(1,1,1);
(7)处理器将数据(1,2)作为解密后的明文输出给用户(或设备)。
上述实施例为本发明较简单的实施方式,但本发明的实施方式并不受上述实施例的限制,本发明推荐的***参数为:q=31,n=34和m=35,其安全级别可高于280,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (9)

1.一种基于超球面的多变量公钥加密/解密***,其特征在于,包含:
A、加密模块,用于对待加密的明文进行加密处理,形成密文、完成加密,其包括处理器、公钥变换部件,待加密的明文传输到处理器后,处理器存储明文,然后将明文数据传输至公钥变换部件中,通过将明文数据分别代入多变量多项式,得到加密后的密文,密文随后被传输到处理器中存储,处理器再将密文传输给其他用户的解密模块;
B、解密模块,用于对其他用户发来的密文数据进行解密处理,形成明文、完成解密,其包括处理器、仿射变换求逆部件一、陷门部件和仿射变换求逆部件二,其中陷门部件包含线性方程组构建部件和线性方程组求解部件,收到密文数据后,处理器先将密文传输给仿射变换求逆部件一进行仿射变换求逆运算,然后传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建运算、线性方程组求解运算,将多项式求逆运算所得的一组解传输到仿射变换求逆部件二进行仿射变换求逆运算,最终传输到处理器,对传输过来的一组或多组数据,处理器分别计算每组数据的杂凑值,若所得的某组数据杂凑值与预先存储在处理器中的明文杂凑冗余数据相等,则将该组数据作为解密后的明文存储并输出;若都不满足,处理器向用户输出解密错误的警告信息;
其中,所述加密模块、解密模块中所述的处理器为同一处理器。
2.根据权利要求1所述的基于超球面的多变量公钥加密/解密***,其特征在于,还包含选择器,其与处理器相连,当选择器处于开状态时,***的加密模块工作,当选择器处于闭状态时,***的解密模块工作。
3.根据权利要求2所述的基于超球面的多变量公钥加密/解密***,其特征在于,所述的处理器包含与选择器相连的调度器,选择器的开状态、闭状态由处理器中的调度器识别、处理,存储在处理器中的数据由调度器控制、调度到各个相应的部件进行相应的操作。
4.根据权利要求1所述的基于超球面的多变量公钥加密/解密***,其特征在于,所述的处理器还包含Hash探测器、存储器,处理器中计算数据的杂凑值由Hash探测器完成,处理器中存储数据由存储器完成。
5.一种基于超球面的多变量公钥加密/解密方法,包含以下顺序的步骤:
(1)加密过程:
a、待加密的明文传输到处理器后,处理器计算其杂凑值,得到明文杂凑冗余数据,并存储明文和明文杂凑冗余数据;
b、将明文数据传输至公钥变换部件中,通过将明文数据代入多变量多项式,得到加密后的密文;
c、密文随后传输到处理器中存储,处理器将密文与明文杂凑冗余数据一起传输给其他用户的解密模块;
(2)解密过程:
a、收到其他用户发来的密文和明文杂凑冗余数据后,处理器先将明文杂凑冗余数据存储,再将密文传输给仿射变换求逆部件一进行仿射变换求逆运算;
b、然后将求逆后的数据传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组的构建和线性方程组的求解操作,线性方程组求解操作得一组或多组解;
c、上述得到的解将传输到仿射变换求逆部件二进行仿射变换求逆运算;
d、最终传输到处理器,对传输过来的一组或多组的数据,处理器分别计算每组数据的杂凑值,若某组数据的杂凑值与处理器存储的明文杂凑冗余数据相等,则将该组数据作为解密后的明文存储并输出;若都不满足,处理器向用户输出解密错误的警告信息。
6.根据权利要求5所述的基于超球面的多变量公钥加密/解密方法,其特征在于,
所述的步骤(1)加密过程包含:
a、待加密的明文(x1',...,xn')∈Fn传输到处理器后,处理器计算其杂凑值(h1',...,hj')=Hash(x1',...,xn'),得到明文杂凑冗余数据(h1',...,hj'),其中Hash(·)是密码学上安全的单向函数,存储明文和明文杂凑冗余数据;
b、将明文(x1',...,xn')数据传输至公钥变换部件中,公钥变换部件将明文数据代入公钥映射P(x1,...,xn),即分别计算各个多变量多项式p1(x1',...,xn'),...,pm(x1',...,xn')的值,其值分别记为y1',...,ym',(y1',...,ym')就是加密后的密文;
c、密文(y1',...,ym')随后传输到处理器中存储,处理器将密文(y1',...,ym')和明文杂凑冗余数据(h1',...,hj')一起传输给其他用户的解密模块;
步骤(2)解密过程包含:
a、收到其他用户发来的密文(y1',...,ym')和明文杂凑冗余数据(h1',...,hj')后,处理器先将明文杂凑冗余数据(h1',...,hj')存储,再将密文(y1',...,ym')传输给仿射变换求逆部件一进行仿射变换求逆运算
b、接着将传输给陷门部件,分别进行线性方程组构建、线性方程组求解操作,即线性方程组构建部件利用调度器预先分配在陷门部件里的m组数据(ci,1,ci,2,...,ci,n)以及联立构建方程组,具体如下:
( x 1 ~ - c 1 , 1 ) 2 + ... + ( x n ~ - c 1 , n ) 2 = y 1 ~ ... ( x 1 ~ - c m , 1 ) 2 + ... + ( x n ~ - c m , n ) 2 = y m ~
记为式子一,将式子一扩展成式子二:
( x 1 ~ 2 - 2 c 1 , 1 x 1 ~ + c 1 , 1 2 ) + ... + ( x n ~ 2 - 2 c 1 , n x n ~ + c 1 , n 2 ) = y 1 ~ ... ( x 1 ~ 2 - 2 c m , 1 x 1 ~ + c m , 1 2 ) + ... + ( x n ~ 2 - 2 c m , n x n ~ + c m , n 2 ) = y m ~
根据式子二,进行系列的前一式子减去后一式子处理,即 得到式子三:
将式子三转换成矩阵形式,得式子四:
式子四即为线性方程组构建部件构建的关于的线性方程组;然后线性方程组求解部件利用高斯消元法对式子四进行求解,此解为一组或多组,设为d组,将该解集记为
c、再将所得数据传输到仿射变换求逆部件二进行仿射变换求逆运算
d、最终将(xi1',...,xin')传输到处理器,处理器计算(xi1',...,xin')的杂凑值,若某组i的数据(xi1',...,xin')的杂凑值与明文杂凑冗余数据(h1',...,hj')相等,则将该组数据(xi1',...,xin')作为解密后的明文输出;若对于所有的i都有(xi1',...,xin')≠(h1',...,hj'),则处理器向用户输出解密错误的警告信息。
7.根据权利要求5所述的基于超球面的多变量公钥加密/解密方法,其特征在于,在步骤(1)加密过程之前还包含以下步骤:当选择器处于开状态时,***的加密模块工作,其中选择器与处理器相连;
在步骤(2)解密过程之前还包含以下步骤:当选择器处于闭状态时,***的解密模块工作,其中选择器与处理器相连。
8.根据权利要求7所述的基于超球面的多变量公钥加密/解密方法,其特征在于,所述的处理器包含与选择器相连的调度器,选择器的开状态、闭状态由处理器中的调度器识别、处理,存储在处理器中的数据由调度器控制、调度到各个相应的部件进行相应的操作。
9.根据权利要求5所述的基于超球面的多变量公钥加密/解密方法,其特征在于,所述的处理器还包含Hash探测器、存储器,处理器中计算数据的杂凑值由Hash探测器完成,处理器中存储数据由存储器完成。
CN201410015211.2A 2014-01-13 2014-01-13 一种基于超球面的多变量公钥加密/解密***及方法 Active CN103780382B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410015211.2A CN103780382B (zh) 2014-01-13 2014-01-13 一种基于超球面的多变量公钥加密/解密***及方法
US15/111,365 US10142105B2 (en) 2014-01-13 2015-01-07 Hypersphere-based multivariable public key encryption/decryption system and method
EP15735039.8A EP3096488B1 (en) 2014-01-13 2015-01-07 Hypersphere-based multivariable public key encryption/decryption system and method
PCT/CN2015/070255 WO2015103977A1 (zh) 2014-01-13 2015-01-07 一种基于超球面的多变量公钥加密/解密***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410015211.2A CN103780382B (zh) 2014-01-13 2014-01-13 一种基于超球面的多变量公钥加密/解密***及方法

Publications (2)

Publication Number Publication Date
CN103780382A CN103780382A (zh) 2014-05-07
CN103780382B true CN103780382B (zh) 2017-01-18

Family

ID=50572257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410015211.2A Active CN103780382B (zh) 2014-01-13 2014-01-13 一种基于超球面的多变量公钥加密/解密***及方法

Country Status (4)

Country Link
US (1) US10142105B2 (zh)
EP (1) EP3096488B1 (zh)
CN (1) CN103780382B (zh)
WO (1) WO2015103977A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490897B (zh) * 2013-09-17 2017-04-05 华南理工大学 一种多变量公钥签名/验证***及签名/验证方法
CN103780382B (zh) 2014-01-13 2017-01-18 华南理工大学 一种基于超球面的多变量公钥加密/解密***及方法
CN104009848B (zh) * 2014-05-26 2017-09-29 华南理工大学 一种混合型的多变量数字签名***及方法
CN106330463B (zh) * 2016-09-09 2019-08-20 华南理工大学 一种多变量公钥的签名***和方法
US11991271B2 (en) 2018-07-31 2024-05-21 International Business Machines Corporation System and method for quantum resistant public key encryption
CN109981217A (zh) * 2019-01-28 2019-07-05 北京交通大学 一种基于交织分片的安全数据传输方法
US11232210B2 (en) * 2019-03-26 2022-01-25 Western Digital Technologies, Inc. Secure firmware booting
CN110855425A (zh) * 2019-10-25 2020-02-28 武汉大学 一种轻量级多方协同sm9密钥生成、密文解密方法与介质
CN113032810A (zh) * 2021-04-07 2021-06-25 工银科技有限公司 信息处理方法、装置、电子设备、介质和程序产品
CN113657322B (zh) * 2021-08-23 2022-06-17 广东君略科技咨询有限公司 一种基于公钥可密文比对的人脸识别方法和***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457726A (zh) * 2013-08-26 2013-12-18 华南理工大学 基于矩阵的多变量公钥加密方法
CN103490883A (zh) * 2013-09-17 2014-01-01 华南理工大学 一种多变量公钥加密/解密***及加密/解密方法
CN103490897A (zh) * 2013-09-17 2014-01-01 华南理工大学 一种多变量公钥签名/验证***及签名/验证方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3788246B2 (ja) * 2001-02-13 2006-06-21 日本電気株式会社 匿名復号システム及び匿名復号方法
AU2005230066A1 (en) * 2004-03-31 2005-10-20 Nec Corporation Padding application method guaranteeing safety of encryption method
WO2006050605A1 (en) * 2004-11-11 2006-05-18 Certicom Corp. New trapdoor one-way function on elliptic curves and their applications to shorter signatures and asymmetric encryption
CN1870499B (zh) 2005-01-11 2012-01-04 丁津泰 产生新的多变量公钥密码***的方法
JP5341878B2 (ja) * 2008-04-09 2013-11-13 パナソニック株式会社 署名及び検証方法、署名生成装置並びに署名検証装置
CN101488849B (zh) * 2009-02-18 2010-12-01 华南理工大学 一种基于n维球面的群组密钥管理方法
CN103501227A (zh) * 2013-10-23 2014-01-08 西安电子科技大学 一种改进的多变量公钥密码加解密方案
CN103780382B (zh) 2014-01-13 2017-01-18 华南理工大学 一种基于超球面的多变量公钥加密/解密***及方法
CN103780383B (zh) 2014-01-13 2017-05-31 华南理工大学 一种基于超球面的多变量公钥签名/验证***及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457726A (zh) * 2013-08-26 2013-12-18 华南理工大学 基于矩阵的多变量公钥加密方法
CN103490883A (zh) * 2013-09-17 2014-01-01 华南理工大学 一种多变量公钥加密/解密***及加密/解密方法
CN103490897A (zh) * 2013-09-17 2014-01-01 华南理工大学 一种多变量公钥签名/验证***及签名/验证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵东.多变量公钥密码***的研究与应用.《中国优秀硕士学位论文全文数据库 信息科技辑(2011)》.2011,(第7期), *

Also Published As

Publication number Publication date
WO2015103977A1 (zh) 2015-07-16
CN103780382A (zh) 2014-05-07
EP3096488B1 (en) 2019-01-02
EP3096488A1 (en) 2016-11-23
US20170222807A1 (en) 2017-08-03
EP3096488A4 (en) 2017-08-23
US10142105B2 (en) 2018-11-27

Similar Documents

Publication Publication Date Title
CN103780382B (zh) 一种基于超球面的多变量公钥加密/解密***及方法
Martins et al. A survey on fully homomorphic encryption: An engineering perspective
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
Han et al. Improving privacy and security in decentralized ciphertext-policy attribute-based encryption
Nikolaenko et al. Privacy-preserving ridge regression on hundreds of millions of records
CN101374043B (zh) 密钥协商的方法、加/解密的方法及签名/验证的方法
CN103490883B (zh) 一种多变量公钥加密/解密***及加密/解密方法
CN104270247B (zh) 适用于量子密码***的高效泛Hash函数认证方法
CN103780383B (zh) 一种基于超球面的多变量公钥签名/验证***及方法
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
CN103095453A (zh) 应用私有集合交集的公钥加密的布隆过滤器
CN102449951B (zh) 用于在电子组件中执行密码任务的方法
CN106941407A (zh) 一种平台数据动态加密的方法和装置
CN109274485A (zh) 一种数据加密方法、数据认证方法及相关设备和***
CN101321058B (zh) 一种用于编码和译码数字消息的方法和***
Ma et al. Practical privacy-preserving frequent itemset mining on supermarket transactions
CN104168115B (zh) 前向安全的不可拆分数字签名方法
CN105099693B (zh) 一种传输方法及传输装置
CN101321060B (zh) 一种用于编码和译码数字消息的方法和***
CN101321059B (zh) 一种用于编码和译码数字消息的方法和***
Al-Adhami et al. A 256 bit implementation of ECC-RFID based system using Shamir secret sharing scheme and Keccak hash function
Joshi et al. A randomized approach for cryptography
Kumar et al. Chaotic dynamical systems based image encryption model
Chapman Using Graphic Based Systems to Improve Cryptographic Algorithms
Song Optimization and guess-then-solve attacks in cryptanalysis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant