CN103780383A - 一种基于超球面的多变量公钥签名/验证系统及方法 - Google Patents

一种基于超球面的多变量公钥签名/验证系统及方法 Download PDF

Info

Publication number
CN103780383A
CN103780383A CN201410015214.6A CN201410015214A CN103780383A CN 103780383 A CN103780383 A CN 103780383A CN 201410015214 A CN201410015214 A CN 201410015214A CN 103780383 A CN103780383 A CN 103780383A
Authority
CN
China
Prior art keywords
signature
processor
parts
message
transferred
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.)
Granted
Application number
CN201410015214.6A
Other languages
English (en)
Other versions
CN103780383B (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 CN201410015214.6A priority Critical patent/CN103780383B/zh
Publication of CN103780383A publication Critical patent/CN103780383A/zh
Priority to US15/022,435 priority patent/US9948462B2/en
Priority to EP14877771.7A priority patent/EP3035587B1/en
Priority to PCT/CN2014/095592 priority patent/WO2015103932A1/zh
Application granted granted Critical
Publication of CN103780383B publication Critical patent/CN103780383B/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
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

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

Abstract

本发明公开了一种基于超球面的多变量公钥签名/验证系统,包括签名模块和验证模块,签名模块包含处理器、仿射变换求逆部件一、陷门部件和仿射变换求逆部件二,消息经各部件顺序执行相应的运算,陷门部件处理后产生一组或多组的解,随机选取一组并继续经各部件产生签名,最后和该消息一起传输给处理器;验证模块包含处理器、公钥变换部件,处理器将签名传输到公钥变换部件执行运算,然后判断所得数据是否与存储器中的消息相等:若相等,则该签名有效,否则签名无效。本发明的系统及方法,没有使用大域技术,设计的中心映射包含N组作为私钥的“球心”,实现中心隐藏,同时运行速度非常快,签名过程仅需要进行线性方程组求解。

Description

一种基于超球面的多变量公钥签名/验证系统及方法
技术领域
本发明涉及信息安全领域,特别涉及一种基于超球面的多变量公钥签名/验证系统及方法。
背景技术
在当今科技化社会里,随着计算机计算能力和网络通信技术的快速发展与广泛应用,特别是Internet的普及促使人类走进了信息时代,信息技术的发展也正在改变着传统的经营、生产和生活方式。随着信息时代的来临,人们希望通过数字通信网进行迅速的、远距离的交易。在这种数字化的信息世界,传统的手写签名和印章签名己经难以发挥作用,因此,人们迫切需要一种类似于手写签名和印签的功能的数字化签名方法。尤其是在最近几年中,数字密码技术已经有了长足的发展。事实上,如果没有这项技术,就不可能有全球化的电子商务和公司基础设施安全可靠的运作。数字签名在保证邮件发送者的身份以及文件合同签署者的身份准确无误方面如同传统的手写签名一样有效、逼真。
目前数字签名技术的安全性主要依赖于大整数分解和离散对数求解等困难问题,如RSA、ECC等。但是自提出在量子计算机上能够实现大整数分解和离散对数求解的方法后,这类传统的签名方案便受到巨大的威胁,影响到各个行业。因此,人们致力于寻找一种能够抵御量子计算机攻击的签名方案以满足信息安全的需求,并将这类方案称为后量子签名方案,而多变量公钥签名便是其中的一种。
多变量公钥签名在后量子签名方案中占据重要位置,现存的多变量方案几乎都是不安全的,原因在于随机设计的一个二次方程没有门限,因而不能用于签名和认证。而对应的中心映射生成的数学结构,一般都能推导得知其中心映射(即没有隐藏),从而使得很多多变量签名方案不仅仅基于MQ问题,还存在结构问题,因此很多方案都被完全攻破,如Sflash等等。就目前的多变量签名方案而言,一个比较常见的技术是“大域技术”,即把公钥映射到一个大域K上,然后使用向量同构(需要同构)。这种方法是一个双刃剑,因为K的结构使得解密变得容易,但是这样的结构也很容易被攻击者利用。此外,目前流行的多变量公钥签名方案包括UOV,Rainbow等等。前者的签名过程只需要一个线性方程组求解,因此签名速度非常快,但是由于其构造中心映射的过程中把油变量(对应的个数是消息的位数)和醋变量混合在私钥映射多项式中,从而使得对应的整个公钥映射的变量非常多,从而其公钥长度非常大,这是不利于实际应用的。后者实质是多层结构的UOV方案,自然避免不了UOV的缺陷。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于超球面的多变量公钥签名/验证系统。
本发明的另一目的在于提供一种基于超球面的多变量公钥签名/验证方法。
本发明的目的通过以下的技术方案实现:
一种基于超球面的多变量公钥签名/验证系统,包含:
A、签名模块,用于将待签名的消息进行签名处理,其包括处理器、仿射变换求逆部件一、陷门部件和仿射变换求逆部件二,其中陷门部件包含线性方程组构建部件和线性方程组求解部件,处理器存储待签名的消息并传输给仿射变换求逆部件一进行仿射变换求逆运算,然后传输给陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建操作、线性方程组求解运算,线性方程组求解运算得到一组或多组的解形成解集,从解集中任选一组解传输到仿射变换求逆部件二进行仿射变换求逆运算,产生所要的签名,处理器将该消息及其签名一起发送给终端用户;
B、验证模块,用于对其他用户发来的消息及其签名进行验证处理,验证该签名是否有效,其包含处理器、公钥变换部件,处理器将消息及其签名存储起来,并将签名传输到公钥变换部件里,公钥变换部件将签名代入公钥映射的各个多变量多项式,所得的数据被返回给处理器,处理器判断该数据与处理器里的消息是否相等:若相等,处理器向终端用户输出“1”,说明签名有效;若不相等,处理器向终端用户输出“0”,说明签名无效。
所述的基于超球面的多变量公钥签名/验证系统,还包含选择器,其与处理器相连,当选择器处于开状态时,系统的签名模块工作,当选择器处于闭状态时,系统的验证模块工作。在一般的签名/验证系统里,用户一用签名模块对待签名的消息进行签名处理,形成签名后,将它和原消息传输给用户二,用户二用验证模块验证签名是否有效,二者构成一个整体的签名/验证系统,反过来一样,用户二用签名模块签名,形成签名后,将它和原消息传输给用户一,用户一用验证模块验证签名是否有效,因此同一个用户需要同时具备两个不同的、独立的装置,即签名模块、验证模块,才可以满足需求,这给用户带来不便;而所述的多变量公钥签名/验证系统采用包含选择器的方案,同一用户只需要同一个装置,用户根据自己的需要选择装置进行签名或者验证,非常方便。
所述的处理器包含与选择器相连的调度器,选择器的开状态、闭状态由处理器中的调度器识别、处理,存储在处理器中的数据由调度器控制、调度到各个相应的部件进行相应的操作。
所述的处理器还包含存储器,处理器中存储数据由存储器完成。
本发明的另一目的通过以下的技术方案实现:
一种基于超球面的多变量公钥签名/验证方法,包含以下顺序的步骤:
(1)签名过程:
a、收到待签名的消息后,处理器将该消息存储并传输给仿射变换求逆部件一进行仿射变换求逆运算;
b、然后传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建操作和线性方程组求解运算,线性方程组求解运算得到一组或多组的解形成解集;
c、从解集中任选一组解传输到仿射变换求逆部件二进行仿射变换求逆运算;
d、最终所得的结果作为该消息的签名,处理器将该消息及其签名一起传输给终端用户;
(2)验证过程:
a、消息及其签名被传输到处理器,处理器存储消息及其签名后,再将签名传输到公钥变换部件;
b、公钥变换部件将签名代入公钥映射的各个多变量多项式里,所得的数据返回给处理器,处理器判断该数据与存储的的消息是否相等:若相等,处理器向终端用户输出“1”,说明签名有效;若不相等,处理器向终端用户输出“0”,说明签名无效。
所述的步骤(1)签名过程包括:
a、收到待签名的消息(y1',...,yn')∈Fn后,处理器将消息(y1',...,yn')∈Fn存储并传输给仿射变换求逆部件一进行仿射变换求逆运算
Figure BDA0000456167110000041
b、然后将
Figure BDA0000456167110000042
传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建操作和线性方程组求解运算即线性方程组构建部件利用调度器预先分配在陷门部件里的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 ~
式子一减式子二得式子三:
( 2 c 2,1 - 2 c 1,1 ) x 1 ~ + . . . + ( 2 c 2 , n - 2 c 1 , n ) x n ~ + ( c 1,1 2 - c 2,1 2 ) + . . . + ( c 1 , n 2 - c 2 , n 2 ) = y 1 ~ - y 2 ~ . . . ( 2 c m , 1 - 2 c m - 1,1 ) x 1 ~ + . . . + ( 2 c m , n - 2 c m - 1 , n ) x n ~ + ( c m - 1,1 2 - c m , 1 2 ) + . . . + ( c m - 1 , n 2 - c m , n 2 ) = y m - 1 ~ - y m ~
将式子三写成矩阵形式,得式子四:
( 2 c 2,1 - 2 c 1,1 ) . . . ( 2 c 2 , n - 2 c 1 , n ) . . . ( 2 c m , 1 - 2 c m - 1,1 ) . . . ( 2 c m , n - 2 c m - 1 , n ) x 1 ~ . . . x n ~ ( y 1 ~ - y 2 ~ ) + Σ j = 1 n ( c 2 , j 2 - c 1 , j 2 ) . . . ( y m - 1 ~ - y m ~ ) + Σ j = 1 n ( c m , j 2 - c m - 1 , j 2 )
式子四即为线性方程组构建部件构建的关于
Figure BDA0000456167110000048
的线性方程组;然后线性方程组求解部件利用高斯消元法对(4)进行求解,此解为一组或多组,设为d组,将该解集记为 ( x i 1 ~ , . . . , x in ~ ) , ( 1 ≤ i ≤ d ) ;
c、从解集中任选一个解
Figure BDA00004561671100000410
传输到仿射变换求逆部件二进行仿射变换求逆运算 ( x 1 ′ , . . . , x n ′ ) = S - 1 ( x ‾ 1 , . . . , x ‾ n ) ;
d、最终所得的结果(x1',...,xn')作为该消息的签名,处理器将该消息(y1',...,yn')及其签名(x1',...,xn')一起传输给终端用户;
所述的步骤(2)验证过程包含:
a、消息(y1',...,yn')及其签名(x1',...,xn')被传输到处理器,处理器将它们存储,再将签名(x1',...,xn')传输到公钥变换部件;
b、公钥变换部件将签名(x1',...,xn')代入公钥映射P(x1,...,xn)的各个多变量多项式,即分别计算p1(x1',...,xn'),...,pn(x1',...,xn'),其值分别记为y1'',...,yn'',公钥变换部件将y1'',...,yn''传输给处理器,处理器判断y1'',...,yn''与原存储的消息(y1',...,yn')是否相等:若相等,处理器向终端用户输出“1”,说明签名有效;若不相等,处理器向终端用户输出“0”,说明签名无效。
所述的多变量公钥签名/验证方法,在步骤(1)签名过程之前还包含以下步骤:当选择器处于开状态时,系统的签名模块工作,其中选择器与处理器相连;
在步骤(2)验证过程之前还包含以下步骤:当选择器处于闭状态时,系统的验证模块工作,其中选择器与处理器相连。
所述的处理器包含与选择器相连的调度器,选择器的开状态、闭状态由处理器中的调度器识别、处理,存储在处理器中的数据由调度器控制、调度到各个相应的部件进行相应的操作。
所述的处理器还包含存储器,处理器中存储数据由存储器完成。
本发明与现有技术相比,具有如下优点和有益效果:
1、没有使用“大域技术”,避免了使用同构部件进行向量同构,但是又能保证签名过程的方便。“大域技术”,即把公钥映射到一个大域K上,然后使用向量同构(需要同构)。这种方法是一个双刃剑,因为K的结构使得签名过程变得容易,但是这样的结构也很容易被攻击者利用。我们的方案完全摒除了这个技术,同时我们方案的签名过程又没有因为缺少同构技术而变得复杂。
2、设计的中心映射由N组作为私钥的“球心”完全隐藏,使得攻击者即使知道我们设计的结构,也不能获得任何有利的帮助。对于中心映射的设计,我们设定m个随机的n维“球心”作为隐藏参数(私钥),就签名而言,其几何意义为知道球心及距离,如何找满足条件的超球面的点,使得其签名验证的几何意义为为m个“距离平方”。
3、运行速度非常快,签名过程,仅需要进行一个线性方程组求解。目前很多签名方案,如多变量当中的Sflash方案以及几乎所有传统的ECC和RSA签名算法,都是需要进行求模运算或者标量乘法等复杂的数学运算的,因而签名速度会比较慢,而我们的方案,签名过程中只需要进行线性方程组求解,使用的高斯消元运算明显比目前大多数方案运算复杂度低。
4、公钥长度对比现有的其中某些技术更有优势。现有的一些多变量签名方案,如UOV和Rainbow,由于其构造中心映射的过程中把油变量(对应的个数是消息的位数)和醋变量混合在私钥映射多项式中,从而使得对应的整个公钥映射的变量非常多,从而其公钥长度非常大,而我们的方案只需要把消息嵌在中心映射中,因此就公钥长度而言是比这些方案更有优势的。
附图说明
图1为本发明所述的一种基于超球面的多变量公钥签名/验证系统的结构示意图。
具体实施方式
如图1,一种基于超球面的多变量公钥签名/验证系统,包含:
A、选择器,其与处理器中的调度器相连,当选择器处于开状态时,系统的签名模块工作,当选择器处于闭状态时,系统的签名模块工作;
B、签名模块,用于将待签名的消息进行签名处理,其包括处理器、仿射变换求逆部件一、陷门部件和仿射变换求逆部件二,其中陷门部件包含线性方程组构建部件和线性方程组求解部件,处理器存储待签名的消息并传输给仿射变换求逆部件一进行仿射变换求逆运算,然后传输给陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建操作、线性方程组求解运算,线性方程组求解运算得到一组或多组的解形成解集,从解集中任选一组解传输到仿射变换求逆部件二进行仿射变换求逆运算,产生所要的签名,处理器将该消息及其签名一起发送给终端用户;
C、验证模块,用于对其他用户发来的消息及其签名进行验证处理,验证该签名是否有效,其包含处理器、公钥变换部件,处理器将消息及其签名存储起来,并将签名传输到公钥变换部件里,公钥变换部件将签名代入公钥映射的各个多变量多项式,所得的数据被返回给处理器,处理器判断该数据与处理器里的消息是否相等:若相等,处理器向终端用户输出“1”,说明签名有效;若不相等,处理器向终端用户输出“0”,说明签名无效。
基于超球面的多变量公钥签名/验证系统首次使用前,需要进行初始化,如下所示:
(1)系统所有部件的算术运算都是建立在一个阶为q的有限域F上,其中q是一个奇素数;
(2)令多变量公钥密码系统的方程个数为m,变量个数为n;
(3)在仿射变换求逆部件一里,令
Figure BDA0000456167110000071
是从Fm到Fm的随机选择的可逆仿射变换,类似地,在仿射变换求逆部件二里,令
Figure BDA0000456167110000072
是从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、当选择器处于开状态时,系统的签名模块工作,选择器与处理器的调度器相连,收到待签名的消息(y1',...,yn')∈Fn后,处理器将消息(y1',...,yn')∈Fn存储并传输给仿射变换求逆部件一进行仿射变换求逆运算
Figure BDA0000456167110000073
b、然后将
Figure BDA0000456167110000074
传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建操作和线性方程组求解运算即线性方程组构建部件利用调度器预先分配在陷门部件里的m组数据(ci,1,ci,2,...,ci,n)以及
Figure BDA0000456167110000075
联立构建方程组(Ⅰ),形式如下:
( 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 ~ - - - ( II )
对(Ⅱ)式,第一式减第二式,…,第m-1式减第m式,得:
( 2 c 2,1 - 2 c 1,1 ) x 1 ~ + . . . + ( 2 c 2 , n - 2 c 1 , n ) x n ~ + ( c 1,1 2 - c 2,1 2 ) + . . . + ( c 1 , n 2 - c 2 , n 2 ) = y 1 ~ - y 2 ~ . . . ( 2 c m , 1 - 2 c m - 1,1 ) x 1 ~ + . . . + ( 2 c m , n - 2 c m - 1 , n ) x n ~ + ( c m - 1,1 2 - c m , 1 2 ) + . . . + ( c m - 1 , n 2 - c m , n 2 ) = y m - 1 ~ - y m ~ - - - ( III )
写成矩阵形式,得:
( 2 c 2,1 - 2 c 1,1 ) . . . ( 2 c 2 , n - 2 c 1 , n ) . . . ( 2 c m , 1 - 2 c m - 1,1 ) . . . ( 2 c m , n - 2 c m - 1 , n ) x 1 ~ . . . x n ~ ( y 1 ~ - y 2 ~ ) + Σ j = 1 n ( c 2 , j 2 - c 1 , j 2 ) . . . ( y m - 1 ~ - y m ~ ) + Σ j = 1 n ( c m , j 2 - c m - 1 , j 2 ) - - - ( IV )
(Ⅳ)式即为线性方程组构建部件构建的关于
Figure BDA0000456167110000085
的线性方程组;然后线性方程组求解部件利用高斯消元法对(Ⅳ)进行求解,此解为一组或多组,设为d组,将该解集记为 ( x i 1 ~ , . . . , x in ~ ) , ( 1 ≤ i ≤ d ) ;
c、从解集中任选一个解
Figure BDA0000456167110000087
传输到仿射变换求逆部件二进行仿射变换求逆运算 ( x 1 ′ , . . . , x n ′ ) = S - 1 ( x ‾ 1 , . . . , x ‾ n ) ;
d、最终所得的结果(x1',...,xn')作为该消息的签名,处理器将该消息(y1',...,yn')及其签名(x1',...,xn')一起传输给终端用户;
(2)验证过程:
a、当选择器处于闭状态时,系统的验证模块工作,选择器与处理器的调度器相连,消息(y1',...,yn')及其签名(x1',...,xn')被传输到处理器,处理器将它们保存在存储器里,再将签名(x1',...,xn')传输到公钥变换部件;
b、公钥变换部件将签名(x1',...,xn')代入公钥映射P(x1,...,xn)的各个多变量多项式,即分别计算p1(x1',...,xn'),...,pn(x1',...,xn'),其值分别记为y1'',...,yn'',公钥变换部件将y1'',...,yn''传输给处理器,处理器判断y1'',...,yn''与原存储的消息(y1',...,yn')是否相等:若相等,处理器向终端用户输出“1”,说明签名有效;若不相等,处理器向终端用户输出“0”,说明签名无效。
下面以一个具体的例子来详细介绍系统的初始化过程:
(1)所有部件的运算都是基于阶为q=3的有限域F上,其中,基域F包含3个元素,这些元素分别为{0,1,2},域上定义的加法、乘法为整数的加法、乘法之后mod3;
(2)系统里的方程个数为m=3,变量个数为n=3;
(3)在仿射变换求逆部件一里,初始化 T ( y 1 ‾ , y 2 ‾ , y 3 ‾ ) = 2 y 1 ‾ + 2 y 2 ‾ + 2 y 3 ‾ y 1 ‾ + 2 y 2 ‾ + y 3 ‾ 2 y 3 ‾ ,
在仿射变换求逆部件二里,初始化 S ( x 1 , x 2 , x 3 ) = x 3 2 x 1 + x 2 x 1 + 2 x 3 ;
(4)在陷门部件里,随机取三组“球心”,(2,0,2),(0,2,2),(0,0,1);
(5)在公钥变换部件里,首先构建中心映射F分别是:
f 1 ( x 1 ‾ , x 2 ‾ , x 3 ‾ ) = ( x 1 ‾ - 2 ) 2 + ( x 2 ‾ - 0 ) 2 + ( x 3 ‾ - 2 ) 2 ,
f 2 ( x 1 ‾ , x 2 ‾ , x 3 ‾ ) = ( x 1 ‾ - 0 ) 2 + ( x 2 ‾ - 2 ) 2 + ( x 3 ‾ - 2 ) 2 ,
f 3 ( x 1 ‾ , x 2 ‾ , x 3 ‾ ) = ( x 1 ‾ - 0 ) 2 + ( x 2 ‾ - 0 ) 2 + ( x 3 ‾ - 1 ) 2 .
容易通过式子P=TοFοS(x1,...,xn)得到公钥变换P的具体式,其分别包括以下3个式子:
p1(x1,x2,x3)=x2+1
p 2 ( x 1 , x 2 , x 3 ) = 2 x 1 2 + x 1 x 2 + x 1 x 3 + x 2 2 + x 2 + 2 x 3 2 + x 3 + 1
p 3 ( x 1 , x 2 , x 3 ) = x 1 2 + 2 x 1 x 2 + 2 x 1 x 3 + 2 x 1 + 2 x 2 2 + x 3 2 + x 3 + 2
初始化完成后,系统就可以正常使用。
下面将详细地描述对于消息(2,0,0)的签名和它的验证。
签名过程:
(1)选择器处于开状态;
(2)对于待签名的消息(2,0,0),输入端把它传输给处理器并存于存储器中,然后处理器将它传输给仿射变换求逆部件一;
(3)仿射变换求逆部件一收到数据(2,0,0)后,先与处理器进行交互,调用程序并计算T-1(2,0,0)=(2,2,0),然后将结果传输给陷门部件;
(4)陷门部件收到数据(2,2,0)后,先与处理器进行交互,然后调用线性方程组构建子部件,该子部件利用调度器预先分配在陷门部件里的3组球心数据(2,0,2),(0,2,2),(0,0,1)以及(2,2,0)联立构建方程组,即
f 1 ( x 1 ~ , x 2 ~ , x 3 ~ ) = ( x 1 ~ - 2 ) 2 + ( x 2 ~ - 0 ) 2 + ( x 3 ~ - 2 ) 2 = 2 f 2 ( x 1 ~ , x 2 ~ , x 3 ~ ) = ( x 1 - 0 ~ ) 2 + ( x 2 ~ - 2 ) 2 + ( x 3 ~ - 2 ) 2 = 2 f 3 ( x 1 ~ , x 2 ~ , x 3 ~ ) = ( x 1 ~ - 0 ) 2 + ( x 2 ~ - 0 ) 2 + ( x 3 ~ - 1 ) 2 = 0 , 把上面的三个式子展开,可得到:
x 1 2 ~ - 4 x 1 ~ + 4 + x 2 2 ~ + x 3 2 ~ - 4 x 3 ~ + 4 = 2 x 1 2 ~ + x 2 2 ~ - 4 x 2 ~ + 4 + x 3 2 ~ - 4 x 3 ~ + 4 = 2 x 1 2 ~ + x 2 2 ~ + x 3 2 ~ - 2 x 3 ~ + 1 = 0 ,
上述第一式减第二式,第二式减第三式,得:
x 1 ~ - x 2 ~ = 0 2 x 2 ~ + x 3 ~ = 1
即为该子部件构建的线性方程组,之后陷门部件调用线性方程组求解子部件,求解出方程组关于未知变量的解,即得到三组解(2,2,0),(0,0,1),(1,1,2)。最后陷门部件将其中一组解(1,1,2)传输给仿射变换求逆部件二;
(5)仿射变换求逆部件二收到数据集(1,1,2)后,与处理器进行交互,运行程序并计算S-1(1,1,2),得到结果(0,1,1),最后将此数据集返回给存储器;
(6)处理器把(0,1,1)看成消息(2,0,0)的签名,然后它将“消息‐签名对”(0,1,1)||(2,0,0)输出给用户(或设备),至此,签名过程完成;
验证过程:
(1)选择器处于闭状态;
(2)对于待验证的“消息‐签名对”(0,1,1)||(2,0,0),输入端将它传输给处理器,并保存于存储器中,然后,处理器将消息(0,1,1)传输给公钥变换部件;
(3)公钥变换部件接收到数据(0,1,1)后,与处理器进行交互,调用函数P计算(p1(0,1,1),p2(0,1,1),p3(0,1,1),得到结果res=(2,0,0),然后公钥变换部件将结果res=(2,0,0)返回存储器中;
(4)处理器验证res=(2,0,0)是否等于原“消息‐签名对”中的消息(2,0,0),显然此处是相等的,所以处理器向终端用户或设备输出“1”,表示该签名有效。
上述实施例为本发明较简单的实施方式,但本发明的实施方式并不受上述实施例的限制,本发明推荐的系统参数为:q=31,n=34和m=25,其安全级别可高于280,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (9)

1.一种基于超球面的多变量公钥签名/验证系统,其特征在于,包含:
A、签名模块,用于将待签名的消息进行签名处理,其包括处理器、仿射变换求逆部件一、陷门部件和仿射变换求逆部件二,其中陷门部件包含线性方程组构建部件和线性方程组求解部件,处理器存储待签名的消息并传输给仿射变换求逆部件一进行仿射变换求逆运算,然后传输给陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建操作、线性方程组求解运算,线性方程组求解运算得到一组或多组的解形成解集,从解集中任选一组解传输到仿射变换求逆部件二进行仿射变换求逆运算,产生所要的签名,处理器将该消息及其签名一起发送给终端用户;
B、验证模块,用于对其他用户发来的消息及其签名进行验证处理,验证该签名是否有效,其包含处理器、公钥变换部件,处理器将消息及其签名存储起来,并将签名传输到公钥变换部件里,公钥变换部件将签名代入公钥映射的各个多变量多项式,所得的数据被返回给处理器,处理器判断该数据与处理器里的消息是否相等:若相等,处理器向终端用户输出“1”,说明签名有效;若不相等,处理器向终端用户输出“0”,说明签名无效。
2.根据权利要求1所述的基于超球面的多变量公钥签名/验证系统,其特征在于,该系统还包含选择器,其与处理器相连,当选择器处于开状态时,系统的签名模块工作,当选择器处于闭状态时,系统的验证模块工作。
3.根据权利要求2所述的基于超球面的多变量公钥签名/验证系统,其特征在于,所述的处理器包含与选择器相连的调度器,选择器的开状态、闭状态由处理器中的调度器识别、处理,存储在处理器中的数据由调度器控制、调度到各个相应的部件进行相应的操作。
4.根据权利要求1所述的基于超球面的多变量公钥签名/验证系统,其特征在于,所述的处理器还包含存储器,处理器中存储数据由存储器完成。
5.一种基于超球面的多变量公钥签名/验证方法,包含以下顺序的步骤:
(1)签名过程:
a、收到待签名的消息后,处理器将该消息存储并传输给仿射变换求逆部件一进行仿射变换求逆运算;
b、然后传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建操作和线性方程组求解运算,线性方程组求解运算得到一组或多组的解形成解集;
c、从解集中任选一组解传输到仿射变换求逆部件二进行仿射变换求逆运算;
d、最终所得的结果作为该消息的签名,处理器将该消息及其签名一起传输给终端用户;
(2)验证过程:
a、消息及其签名被传输到处理器,处理器存储消息及其签名后,再将签名传输到公钥变换部件;
b、公钥变换部件将签名代入公钥映射的各个多变量多项式里,所得的数据返回给处理器,处理器判断该数据与存储的的消息是否相等:若相等,处理器向终端用户输出“1”,说明签名有效;若不相等,处理器向终端用户输出“0”,说明签名无效。
6.根据权利要求5所述的基于超球面的多变量公钥签名/验证方法,其特征在于,所述的步骤(1)签名过程包括:
a、收到待签名的消息(y1',...,yn')∈Fn后,处理器将消息(y1',...,yn')∈Fn存储并传输给仿射变换求逆部件一进行仿射变换求逆运算
Figure FDA0000456167100000021
b、然后将传输到陷门部件的线性方程组构建部件和线性方程组求解部件,分别进行线性方程组构建操作和线性方程组求解运算即线性方程组构建部件利用调度器预先分配在陷门部件里的m组数据(ci,1,ci,2,...,ci,n)以及
Figure FDA0000456167100000023
联立构建方程组式子一,形式如下:
( 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 ~
式子一减式子二得式子三:
( 2 c 2,1 - 2 c 1,1 ) x 1 ~ + . . . + ( 2 c 2 , n - 2 c 1 , n ) x n ~ + ( c 1,1 2 - c 2,1 2 ) + . . . + ( c 1 , n 2 - c 2 , n 2 ) = y 1 ~ - y 2 ~ . . . ( 2 c m , 1 - 2 c m - 1,1 ) x 1 ~ + . . . + ( 2 c m , n - 2 c m - 1 , n ) x n ~ + ( c m - 1,1 2 - c m , 1 2 ) + . . . + ( c m - 1 , n 2 - c m , n 2 ) = y m - 1 ~ - y m ~
将式子三写成矩阵形式,得式子四:
( 2 c 2,1 - 2 c 1,1 ) . . . ( 2 c 2 , n - 2 c 1 , n ) . . . ( 2 c m , 1 - 2 c m - 1,1 ) . . . ( 2 c m , n - 2 c m - 1 , n ) x 1 ~ . . . x n ~ ( y 1 ~ - y 2 ~ ) + Σ j = 1 n ( c 2 , j 2 - c 1 , j 2 ) . . . ( y m - 1 ~ - y m ~ ) + Σ j = 1 n ( c m , j 2 - c m - 1 , j 2 )
式子四即为线性方程组构建部件构建的关于
Figure FDA0000456167100000032
的线性方程组;然后线性方程组求解部件利用高斯消元法对式子四进行求解,此解为一组或多组,设为d组,将该解集记为
c、从解集中任选一个解
Figure FDA0000456167100000034
传输到仿射变换求逆部件二进行仿射变换求逆运算 ( x 1 ′ , . . . , x n ′ ) = S - 1 ( x ‾ 1 , . . . , x ‾ n ) ;
d、最终所得的结果(x1',...,xn')作为该消息的签名,处理器将该消息(y1',...,yn')及其签名(x1',...,xn')一起传输给终端用户;
所述的步骤(2)验证过程包含:
a、消息(y1',...,yn')及其签名(x1',...,xn')被传输到处理器,处理器将它们存储,再将签名(x1',...,xn')传输到公钥变换部件;
b、公钥变换部件将签名(x1',...,xn')代入公钥映射P(x1,...,xn)的各个多变量多项式,即分别计算p1(x1',...,xn'),...,pn(x1',...,xn'),其值分别记为y1'',...,yn'',公钥变换部件将y1'',...,yn''传输给处理器,处理器判断y1'',...,yn''与原存储的消息(y1',...,yn')是否相等:若相等,处理器向终端用户输出“1”,说明签名有效;若不相等,处理器向终端用户输出“0”,说明签名无效。
7.根据权利要求5所述的基于超球面的多变量公钥签名/验证方法,其特征在于,在步骤(1)签名过程之前还包含以下步骤:当选择器处于开状态时,系统的签名模块工作,其中选择器与处理器相连;
在步骤(2)验证过程之前还包含以下步骤:当选择器处于闭状态时,系统的验证模块工作,其中选择器与处理器相连。
8.根据权利要求7所述的基于超球面的多变量公钥签名/验证方法,其特征在于,所述的处理器包含调度器、存储器,选择器与调度器相连,选择器的开状态、闭状态由处理器中的调度器识别、处理,存储在处理器中的数据由调度器控制、调度到各个相应的部件进行相应的操作。
9.根据权利要求5所述的基于超球面的多变量公钥签名/验证方法,其特征在于,所述的处理器还包含存储器,处理器中存储数据由存储器完成。
CN201410015214.6A 2014-01-13 2014-01-13 一种基于超球面的多变量公钥签名/验证系统及方法 Active CN103780383B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201410015214.6A CN103780383B (zh) 2014-01-13 2014-01-13 一种基于超球面的多变量公钥签名/验证系统及方法
US15/022,435 US9948462B2 (en) 2014-01-13 2014-12-30 Hypersphere-based multivariable public key signature/verification system and method
EP14877771.7A EP3035587B1 (en) 2014-01-13 2014-12-30 Hypersphere-based multivariable public key signature/verification system and method
PCT/CN2014/095592 WO2015103932A1 (zh) 2014-01-13 2014-12-30 一种基于超球面的多变量公钥签名/验证系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410015214.6A CN103780383B (zh) 2014-01-13 2014-01-13 一种基于超球面的多变量公钥签名/验证系统及方法

Publications (2)

Publication Number Publication Date
CN103780383A true CN103780383A (zh) 2014-05-07
CN103780383B CN103780383B (zh) 2017-05-31

Family

ID=50572258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410015214.6A Active CN103780383B (zh) 2014-01-13 2014-01-13 一种基于超球面的多变量公钥签名/验证系统及方法

Country Status (4)

Country Link
US (1) US9948462B2 (zh)
EP (1) EP3035587B1 (zh)
CN (1) CN103780383B (zh)
WO (1) WO2015103932A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104009848A (zh) * 2014-05-26 2014-08-27 华南理工大学 一种混合型的多变量数字签名系统及方法
WO2015103977A1 (zh) * 2014-01-13 2015-07-16 华南理工大学 一种基于超球面的多变量公钥加密/解密系统及方法
WO2015103932A1 (zh) * 2014-01-13 2015-07-16 华南理工大学 一种基于超球面的多变量公钥签名/验证系统及方法
CN105245343A (zh) * 2015-09-22 2016-01-13 华南理工大学 一种基于多变量密码技术的在线离线签名系统及方法
CN114978537A (zh) * 2022-05-16 2022-08-30 中国人民解放军国防科技大学 一种身份识别方法、装置、设备和计算机可读存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490897B (zh) * 2013-09-17 2017-04-05 华南理工大学 一种多变量公钥签名/验证系统及签名/验证方法
US11025407B2 (en) * 2015-12-04 2021-06-01 Verisign, Inc. Hash-based digital signatures for hierarchical internet public key infrastructure
CN109525393A (zh) * 2017-09-20 2019-03-26 深圳职业技术学院 一种抗量子计算攻击的数字签名方法、验证方法及系统
US11431505B2 (en) * 2019-07-30 2022-08-30 Slack Technologies, Llc Generating a legally binding object within a group-based communication system
CN115022820B (zh) * 2022-05-31 2023-11-14 微位(深圳)网络科技有限公司 5g消息的验证方法、终端及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977109A (zh) * 2010-10-21 2011-02-16 李晨 线性混淆高次方程公钥密码算法
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 (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111512A (en) * 1991-05-14 1992-05-05 At&T Bell Laboratories Method for signature verification
ES2230814T3 (es) * 1999-04-29 2005-05-01 Cp8 Technologies Metodos y sistemas de firma de clave publica.
US7961876B2 (en) * 2005-01-11 2011-06-14 Jintai Ding Method to produce new multivariate public key cryptosystems
FR2918525A1 (fr) * 2007-07-06 2009-01-09 France Telecom Procede asymetrique de chiffrement ou de verification de signature.
CN101383705A (zh) 2007-09-05 2009-03-11 索尼(中国)有限公司 多变量公钥加密方法和装置及其解密方法和装置
CN101488849B (zh) 2009-02-18 2010-12-01 华南理工大学 一种基于n维球面的群组密钥管理方法
JP5736816B2 (ja) * 2010-05-31 2015-06-17 ソニー株式会社 認証装置、認証方法、プログラム、及び署名生成装置
IL207918A0 (en) * 2010-09-01 2011-01-31 Aviad Kipnis Attack-resistant multivariate signature scheme
JP2015501110A (ja) * 2011-12-15 2015-01-08 トムソン ライセンシングThomson Licensing グループ暗号化方法およびデバイス
CN103780383B (zh) 2014-01-13 2017-05-31 华南理工大学 一种基于超球面的多变量公钥签名/验证系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977109A (zh) * 2010-10-21 2011-02-16 李晨 线性混淆高次方程公钥密码算法
CN103457726A (zh) * 2013-08-26 2013-12-18 华南理工大学 基于矩阵的多变量公钥加密方法
CN103490883A (zh) * 2013-09-17 2014-01-01 华南理工大学 一种多变量公钥加密/解密系统及加密/解密方法
CN103490897A (zh) * 2013-09-17 2014-01-01 华南理工大学 一种多变量公钥签名/验证系统及签名/验证方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948462B2 (en) 2014-01-13 2018-04-17 South China University Of Technology Hypersphere-based multivariable public key signature/verification system and method
WO2015103977A1 (zh) * 2014-01-13 2015-07-16 华南理工大学 一种基于超球面的多变量公钥加密/解密系统及方法
WO2015103932A1 (zh) * 2014-01-13 2015-07-16 华南理工大学 一种基于超球面的多变量公钥签名/验证系统及方法
US10142105B2 (en) 2014-01-13 2018-11-27 South China University Of Technology Hypersphere-based multivariable public key encryption/decryption system and method
WO2015180441A1 (zh) * 2014-05-26 2015-12-03 华南理工大学 一种混合型的多变量数字签名系统及方法
CN104009848B (zh) * 2014-05-26 2017-09-29 华南理工大学 一种混合型的多变量数字签名系统及方法
CN104009848A (zh) * 2014-05-26 2014-08-27 华南理工大学 一种混合型的多变量数字签名系统及方法
WO2017049790A1 (zh) * 2015-09-22 2017-03-30 华南理工大学 一种基于多变量密码技术的在线离线签名系统及方法
CN105245343A (zh) * 2015-09-22 2016-01-13 华南理工大学 一种基于多变量密码技术的在线离线签名系统及方法
CN105245343B (zh) * 2015-09-22 2018-09-14 华南理工大学 一种基于多变量密码技术的在线离线签名系统及方法
US10623189B2 (en) 2015-09-22 2020-04-14 South China University Of Technology Online/offline signature system and method based on multivariate cryptography
CN114978537A (zh) * 2022-05-16 2022-08-30 中国人民解放军国防科技大学 一种身份识别方法、装置、设备和计算机可读存储介质
CN114978537B (zh) * 2022-05-16 2024-02-13 中国人民解放军国防科技大学 一种身份识别方法、装置、设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN103780383B (zh) 2017-05-31
US20160226664A1 (en) 2016-08-04
WO2015103932A1 (zh) 2015-07-16
US9948462B2 (en) 2018-04-17
EP3035587A1 (en) 2016-06-22
EP3035587B1 (en) 2019-02-20
EP3035587A4 (en) 2017-04-12

Similar Documents

Publication Publication Date Title
CN103780383A (zh) 一种基于超球面的多变量公钥签名/验证系统及方法
CN103733564B (zh) 利用隐式证书链的数字签名
CN101867474B (zh) 数字签名方法
CN103780382B (zh) 一种基于超球面的多变量公钥加密/解密系统及方法
CN103765809A (zh) 隐式认证的公钥
CN100542091C (zh) 一种基于身份的密钥生成方法及系统
CN102684885B (zh) 基于身份的门限环签名方法
CN103475473B (zh) 数字签名方法和设备、数字签名中密码运算方法和服务器
Li et al. Secure identity-based signcryption in the standard model
CN103259662A (zh) 一种新的基于整数分解问题的代理签名及验证方法
CN103095697A (zh) 一种多重签名生成与验证系统及其方法
Feng et al. Distributed signing protocol for IEEE P1363‐compliant identity‐based signature scheme
CN103490897B (zh) 一种多变量公钥签名/验证系统及签名/验证方法
CN103312707B (zh) 属性基签名的云服务器辅助验证方法
Yu et al. Identity‐Based Proxy Signcryption Protocol with Universal Composability
CN110190957A (zh) 基于无证书的多变量广播多重签名方法
CN107171788A (zh) 一种基于身份且签名长度恒定的在线离线聚合签名方法
CN103718502B (zh) 信息处理设备和信息处理方法
CN102064940B (zh) 一种在线/离线高效的数字签名方法
CN105119929A (zh) 单一恶意云服务器下的安全模指数外包方法及系统
CN105915340A (zh) 基于理想格上Gu-Map1多线性映射实例的多接收者匿名签密方法
CN103733563A (zh) 信息处理设备、签名产生设备、信息处理方法、签名产生方法和程序
CN101101675A (zh) 电子门票认证方法和系统
Yang et al. A secure scalar product protocol against malicious adversaries
CN115174052B (zh) 一种基于sm9签名的适配器签名生成方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant