SYSTEM AND METHOD OF MIXED MULTIVARIATE DIGITAL SIGNATURE

Information

  • Patent Application
  • 20170070348
  • Publication Number
    20170070348
  • Date Filed
    December 02, 2014
    9 years ago
  • Date Published
    March 09, 2017
    7 years ago
Abstract
A system of mixed multivariate digital signature is disclosed. The system includes a signature module configured to sign a message to be signed, and a verification module configured to verify a signature. The signature module includes a data input/output port, a single-pole double-throw switch, a processor, an affine transformation component, a random generator, a linear equations solving component, and an affine transformation inversion component. The verification module includes a data input/output port, a single-pole double-throw switch, a processor and a public key verification component. The system and its method disclosed, under choosing appropriate parameters, can resist known algebraic attacks of multivariate public key cryptosystems, such as the Separation Attack, the Rank Attack, the Direct Attack and the Exhaustive Search Attack, etc. The security level of the system is greater than 284 and its signing speed is quite fast.
Description
FIELD

The present disclosure relates generally to the field of information security, and particularly to a system and method of mixed multivariate digital signature.


BACKGROUND

As an important type of post quantum cryptography, a multivariate public key cryptosvstem has a public key of a set of multivariate nonlinear polynomials over a finite field F. Its security relies on the NP-hardness of the problem to solve a system of multivariate nonlinear polynomial equations


The multivariate public key cryptosystem (including encryption and signature) can be mainly divided into bipolar system, mixed system and IP system.


At present, most of the multivariate public key cryptosystems are bipolar systems, and most of schemes are insecure. For example, the well-known M1 system (also known as the C* scheme) can be broken by the Linearization Equations Attack and Kipnis-Shamir Attack, while the basic Oil-Vinegar signature scheme can be broken by the Separation Attack, and the four-level Rainbow signature scheme can be broken by the High Rank Attack and the Separation Attack, with the PMI system being broken by the Differential Attack. In addition, mixed type schemes are extremely rare. There exists Dragon system and its variants. But they are insecure. The main reason why these existing multivariate public key cryptosystems are vulnerable to algebraic attacks is that there are structural problems or defects. In other words, the trapdoor functions on which they are based is insecure.


In view of the above, there is a need to provide a more secure digital signature system.


SUMMARY

To address the deficiencies and inadequacies in the art, it is an object of the present disclosure to provide a system of mixed multivariate digital signature. The system has a mixed structure that can overcome design deficiencies in existing systems, with high security and operation efficiency as well as applicability in authentication.


It is another object of the present disclosure to provide a method of mixed multivariate digital signature.


The objects of the invention are achieved by the following technical solutions.


A system of mixed multivariate digital signature includes:


A. a signature module, configured to sign a message to be signed, the signature module including a data input/output port, a single-pole double-throw switch (SPDT switch), a processor, an affine transformation component, a random generator, a linear equations solving component, and an affine transformation inversion component; the signature module is configured to work when the SPDT switch is in a second path; the processor stores message data transmitted from the input port and transmits the message data to the affine transformation component for affine transformation, then, the affine transformation component outputs data to trigger the random generator to generate a set of random numbers, and data output by the affine transformation component together with the set of random numbers are transmitted by the random generator to the linear equations solving component for linear equations operation; if the linear equations have no solution or multiple solutions, the data output by the affine transformation component will be continually returned to the random generator, once again triggering the random generator to generate a new set of random numbers until the linear equations solving component can generate only one solution; then, the linear equations solving component transmits the only one solution and the corresponding set of random numbers to the affine transformation inversion component for affine transformation inversion operation, the affine transformation inversion component generates a desired signature and transmits it to the processor, and the processor transmits the previously stored message data and the signature to an end user eventually, the entire process being scheduled by a scheduler in the processor; and


B. a verification module, configured to verify a signature, the verification module including a data input/output port, a SPDT switch, a processor and a public key verification component; the verification module is configured to work when the SPDT switch is in a first path; the processor stores data including message data and its signature data transmitted from the input port, and transmits the message data and its signature data to the public key verification component for verification operation; if the verification is successful, the public key verification component outputs “1” indicating that the signature is valid and returns it to the processor, otherwise, the public key verification component outputs “0” indicating that the signature is invalid and returns it to the processor, and the processor eventually outputs the “1” or “0” to an end user, the entire process being scheduled by a scheduler in the processor.


According to a further aspect of the disclosure, a method of mixed multivariate digital signature, including:


(1) Signature Process


a. receiving, storing and transmitting message data Y′by a processor to an affine transformation component for affine transformation operation to generate a first data;


b. transmitting the first data to a random generator, and triggering the random generator to generate a set of random numbers;


c. transmitting, by the random generator, the first data together with the set of random numbers to a linear equations solving component for linear equations solving operation, and if the linear equations have no solution or multiple solutions, the data output by the affine transformation component will be continually returned to the random generator, once again triggering the random generator to generate a new set of random numbers, i.e. repeating steps b. and c. until the linear equations solving component can generate only one solution;


d. transmitting, by the linear equations solving component, the only one solution and the corresponding set of random numbers to an affine transformation inversion component for affine transformation inversion operation to generate a second data; and


e. returning the second data to the processor as a signature of the message data, and transmitting by the processor the previously stored message data and its signature to an end user;


(2) Verification Process


a. receiving, storing and transmitting the message data and its signature data by the processor to a public key verification component for verification operation, and the public key verification component outputting “1” “0”; and


b. returning, by the public key verification component, the “1” or “0” to the processor, and the processor outputting “1” or “0” to an end user.


Specifically, the method of mixed multivariate digital signature includes the following steps.


(1) Signature Process.


a. receiving, storing and transmitting message data Y′=(y1′ . . . , yr′) ∈Fr by a processor to an affine transformation component for affine transformation operation ) {tilde over (Y)}=({tilde over (y)}1, . . . , {tilde over (y)}r) =S1(Y′) to generate a first data {tilde over (Y)};


b. transmitting, by the affine transformation component, the first data {tilde over (Y)}=({tilde over (y)}1. . . , {tilde over (y)}r) to a random generator to trigger the random generator to generates a set of random numbers t1′, . . . , tb′∈F;


c. transmitting, by the random generator, the first data {tilde over (Y)}=({tilde over (y)}1, . . . , {tilde over (y)}r) generated by the affine transformation component together with the set of random numbers t1′, . . . , tb′ to a linear equations solving component to solve linear equations W({tilde over (y)}1, . . . , {tilde over (y)}r, z1, . . . , zg, t1′, . . . , tb′)=(0 . . . , 0) in the unknown z1, . . . , zg, and if the linear equations W({tilde over (y)}1, . . . , {tilde over (y)}r, z1, . . . , zg, t1′, . . . , tb′)=(0, . . . , 0) have no solution or multiple solutions, the data {tilde over (Y)}=({tilde over (y)}1, . . . , {tilde over (y)}r) output by the affine transformation component will be continually returned to the random generator, triggering the random generator to generate a new set of random numbers t1′, . . . , ∈F, i.e. repeating steps b. and c. until the linear equations solving component can obtain only one solution Z′=(z1′, . . . , zg′);


d. transmitting, by the linear equations solving component, the only one solution Z′(z1′, . . . , zg′) and the corresponding set of random numbers t1′, . . . , tb′ to an affine transformation inversion component for affine transformation inversion operation X′=(x1′, . . . , xg+b′)=S2−1(z1, . . . , zg′, t1′, . . . , tb′) to generate a second data X (x1′, . . . , xg+b′); and


e. returning the second data X′=(x1′, . . . , xg+b′) generated by the affine transformation inversion component to the processor as a signature of the message data, and transmitting by the processor the previously stored message Y′=(y1′, . . . , yr′) and its signature X′=(x1′, . . . , xg+b′) to an end user;


(2) Verification Process:


a. receiving, storing and transmitting the message data Y′=(y1′, . . . , yr′) and its signature data X′=(x1′, . . . , xg+b′) by the processor to a public key verification component for verification operation W(y1′, . . . , yr′, x1′, . . . , xg+b′)custom-character(0, . . . , 0), and if the equality holds, outputting “1” by the public key verification component, otherwise outputting “0”; and


b. returning, by the public key verification component, the “1” or “0” to the processor, and outputting the “1” or “0” by the processor to an end user, wherein “1” indicates that the signature is valid, and “0” indicates that the signature is invalid.


The following mathematical knowledge and tools are involved in the system and method of mixed multivariate digital signature of the present disclosure.


(1) Substantially, all of the operations in the system are based on a finite field F with q elements; r, g and b are positive integers, and r+g+b=n;


(2) Two invertible affine transformations: S1:Fr→Fr and S2:Fg+b→Fg+b, and an invertible linear transformation: S3:Fg→Fg;


(3) A central map: W:Fn→Fg, which is given by


W (y1, . . . , yr, z1, . . . ,zg, t1, . . . , tb)=(w1, . . . , wg),


here w1, . . . , wg ∈F[y1, . . . , yr, z1, . . . , zg, t1, . . . , tb], which are in the form of







w
=





i
=
1

r







i


=
1

r




A

ii





y
j



y

i






+




i
=
1

r






j
=
1

g




B
ij



y
j



z
j




+




i
=
1

r






k
=
1

b




C
ik



y
i



t
k




+




j
=
1

g






k
=
1

b




D
jk



z
j



t
k




+




k
=
t

b







k


=
1

b



E
kk





,



t
k



t

k




+




i
=
1

r




G
i



y
i



+




j
=
1

g




H
j



z
j



+




k
=
1

b




L
k



t
k



+
M

,









A

ii



,

B
ij

,

C
ik

,

D
jk

,


E

kk





G
i


,

H
j

,

L
k

,

M


F
.






(4) A public key map: W:Fn→Fg, which is given by







W
(x1, . . . , xn)=S3∘W∘(S1×S2)(x1, . . . , xn)=(w1, . . . , wg), w1, . . ., wg∈F[x1, . . . , xn];


(5) The private keys of the system are S1, S2, S3 and the central map W.


(6) After system initialization, live data related to the above mappings are stored in a memory, and are controlled by a scheduler of the processor and dispatched to corresponding components for operating accordingly during the system engineering process.


Compared with the existing technologies, the present disclosure has the following advantages and benefits.


Firstly, most of the known multivariate public key cryptosystems are bipolar systems, which may be severely attacked due to the vulnerabilities or defects in their structure. In contrary, the present disclosure provides a mixed multivariate digital signature system, which mixes subtly each kind of variables in the system so as to be more complicated in structure, and thus can avoid algebraic attacks.


Secondly, there is a weakness in the known multivariate public key cryptosystems, that is, the trapdoor map has few quadratic cross terms. This often causes the system to be attacked due to structural vulnerabilities brought thereby. With regard to this, the present disclosure conceives a special and secure trapdoor map, which includes more quadratic cross terms in structure.


Thirdly, under choosing appropriate parameters, the system of the present disclosure can resist currently known algebraic attacks of multivariate public key cryptosystems, such as the Separation Attack, the Rank Attack, the Direct Attack, the Exhaustive Search Attack and so on. Its security level can be up to 284.


Fourthly, the speeds of signing and verification of the system of the present disclosure are faster than most of the existing multivariate digital signature systems, including the technical solution disclosed in the Chinese Patent Application No. 201310425390.2 entitled SYSTEM AND METHOD OF MULTIVARIATE PUBLIC KEY DIGITAL SJGNATURE/VERIFICATION. The Magma implementation of the system of the present disclosure only takes 0.190 seconds to generate a signature on an ordinary 2.50 GHz workstation under secure parameters. This can easily meet the needs of efficient signature occasions.


Fifthly, the system of the present disclosure can create a signature with low power consumption, and is suitable for low-power devices, such as smart card, wireless sensor network and radio frequency identification.


Sixthly, the present disclosure can be used for authentication as an important part of an authentication system, such as identity or attribute identification, mutual or multi-party authentication and key exchange protocol, etc.





BRIEF DESCRIPITION OF THE DRAWINGS


FIG. 1 is a schematic diagram illustrating a system of mixed multivariate digital signature according to an embodiment of the present disclosure.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description of embodiments, reference is made to the accompanying drawings which form a part hereof, and in which it is shown by way of illustration specific embodiments of the disclosure that can be practiced.


As shown in FIG. 1, a system of mixed multivariate digital signature includes:


A. a signature module, configured to sign a message to be signed, the signature module including a data input/output port, a single-pole double-throw switch (SPDT switch), a processor, an affine transformation component, a random generator, a linear equations solving component, and an affine transformation inversion component; the signature module is configured to work when the SPDT switch is in a second path: the processor stores message data transmitted from the input port and transmits the message data to the affine transformation component for affine transformation, then, the affine transformation component outputs data to trigger the random generator to generate a set of random numbers, and data output by the affine transformation component together with the set of random numbers are transmitted by the random generator to the linear equations solving component for linear equations operation; if the linear equations have no solution or multiple solutions, the data output by the affine transformation component will be continually returned to the random generator, once again triggering the random generator to generate a new set of random numbers until the linear equations solving component can generate only one solution; then, the linear equations solving component transmits the only one solution and the corresponding set of random numbers to the affine transformation inversion component for affine transformation inversion operation, the affine transformation inversion component generate a desired signature and transmits it to the processor, and the processor transmits the previously stored message data and the signature to an end user eventually, the entire process being scheduled by a scheduler in the processor; and


B. a verification module, configured to verify a signature, the verification module including a data input/output port, a SPDT switch, a processor and a public key verification component; the verification module is configured to work when the SPDT switch is in a first path: the processor stores data including message data and its signature data transmitted from the input port, and transmits the message data and its signature data to the public key verification component for verification operation; if the verification is successful, the public key verification component outputs “1” indicating that the signature is valid and returns it to the processor, otherwise, the public key verification component outputs “0” indicating that the signature is invalid and returns it to the processor, and the processor eventually outputs the “1” or “0” to an end user, the entire process being scheduled by a scheduler in the processor.


A method of mixed multivariate digital signature includes the following steps.


1. System Initialization


(1) A finite field F=GF(7), that is, the field has 7 elements, r=3, g=4, b=2 and n=9;


(2) An invertible affine transformation








S
1

=



(



1


0


5




3


4


6




1


1


0



)



(




x
1






x
2






x
3




)


+

(



4




6




3



)



,




an invertible affine transformation








S
2

=



(



2


2


6


3


5


2




4


3


2


2


5


5




3


6


1


6


3


5




0


6


6


4


0


2




3


6


5


5


5


6




4


2


5


6


2


3



)



(




x
1






x
2






x
3






x
4






x
5






x
6




)


+

(



3




0




2




4




0




4



)



,




and, an invertible linear transformation








S
3

=


(



5


3


2


3




0


5


3


5




5


2


4


6




5


1


5


0



)



(




x
1






x
2






x
3






x
4




)



;




(3) A central map W=(w1, w2, w3, w4), where w1, w2, w3, w4 ∈F[x1, . . . , x9]; for clarity, replace respectively y1, y2, y3, z1, z2, z3, z4, t1, t2 by x1, . . . , x9 to obtain








w
1

=



4


x
1



x
2


+


x
1



x
5


+

3


x
1



x
6


+

5


x
1



x
7


+

2


x
1



x
8


+

2


x
1



x
9


+

5


x
1


+

3


x
2
2


+

4


x
2



x
3


+

3


x
2



x
4


+

4


x
2



x
3


+

6


x
2



x
6


+

4


x
2



x
7


+

6


x
2



x
8


+

5


x
2



x
9


+

6


x
2


+

4


x
3
2



=


5


x
3



x
4


+

5


x
3



x
5


+

6


x
3



x
6


+

5


x
3



x
7


+

5


x
3



x
8


+

5


x
3



x
9


+

4


x
3


+

3


x
4



x
8


+

3


x
4



x
9


+

4


x
4


+

4


x
5



x
8


+

4


x
5



x
9


+

5


x
3


+

4


x
6



x
8


+

4


x
6



x
9


+

x
6

+


x
7



x
8


+

6


x
7



x
9


+

2


x
7


+

4


x
8
2


+

4


x
8



x
9


+

2


x
8


+

x
9
2

+

5


x
9


+
4



,






w
2

=


2


x
1
2


+

4


x
1



x
2


+

3


x
1



x
3


+

4


x
1



x
4


+


x
1



x
5


+

3


x
1



x
6


+

4


x
1



x
7


+

2


x
1



x
9


+

5


x
1


+

4


x
2
2


+

3


x
2



x
3


+

4


x
2



x
4


+

5


x
2



x
5


+

4


x
2



x
6


+


x
2



x
9


+

x
2

+

3


x
3
2


+

3


x
3



x
4


+

6


x
3



x
5


+

5


x
3



x
6


+

3


x
3



x
9


+

2


x
3


+


x
4



x
8


+

4


x
4



x
9


+

4


x
4


+


x
5



x
6


+

2


x
5



x
9


+

3


x
5


+


x
6



x
8


+

5


x
6



x
9


+

6


x
6


+


x
7



x
8


+

4


x
7



x
9


+

5


x
7


+

5


x
8
2


+

4


x
8



x
9


+

2


x
8


+

5


x
9
2


+

4


x
9


+
1


,










w
3

=


x
1
2

+


x
1



x
2


+


x
1



x
3


+

2


x
1



x
4


+


x
1



x
5


+


x
1



x
6


+

4


x
1



x
7


+

2


x
1



x
8


+

5


x
1



x
9


+

2


x
1


+

2


x
2
2


+

4


x
2



x
3


+

4


x
2



x
4


+

5


x
2



x
5


+


x
2



x
6


+

2


x
2



x
9


+

4


x
2


+

5


x
3
2


+

3


x
3



x
4


+


x
3



x
5


+

3


x
3



x
6


+

2


x
3



x
7


+

5


x
3



x
8


+

6


x
3



x
9


+

x
3

+

2


x
4



x
8


+

5


x
4



x
9


+

5


x
4


+


x
5



x
9


+

6


x
5


+


x
6



x
8


+

2


x
6



x
9


+

4


x
6


+

2


x
7



x
8


+

4


x
7


+

3


x
8
2


+

5


x
8


+

x
9
2

+

3


x
9


+
1


,







w
4

=


x
1
2

+


x
1



x
2


+


x
1



x
3


+


x
1



x
5


+

2


x
1



x
6


+


x
1



x
7


+

5


x
1



x
8


+

6


x
2
2


+

4


x
2



x
3


+

2


x
2



x
4


+

2


x
2



x
6


+

6


x
2



x
7


+

2


x
2



x
8


+

5


x
2



x
9


+

4


x
2


+

4


x
3
2


+

6


x
3



x
4


+

5


x
3



x
5


+

3


x
3



x
6


+

4


x
3



x
7


+

6


x
3



x
8


+

4


x
3



x
9


+

3


x
3


+


x
4




x
8

++


3


x2x
4



x
9


+

4


x
5



x
9


+

5


x
3


+

5


x
6



x
8


+

6


x
6



x
9


+

6


x
6


+


x
7



x
9


+

4


x
7


+

4


x
8
2


+

3


x
8



x
9


+

3


x
8


+

6


x
9
2


+

6


x
9


+
5.


;





(4) It can be deduced from (1) to (3) that W=(w1, w2, w3, w4) is:









w
1

_

=


5


x
1
2


+

5


x
1



x
2


+

5


x
1



x
3


+

6


x
1



x
4


+

2


x
1



x
6


+

6


x
1



x
7


+

6


x
1


+

2


x
2
2


+

5


x
2



x
3


+

5


x
2



x
5


+

6


x
2



x
6


+

3


x
2



x
7


+

3


x
2



x
8


+

x
2

+

6


x
3
2


+

6


x
3



x
4


+

2


x
3



x
5


+


x
3



x
6


+


x
3



x
7


+

6


x
3



x
8


+

5


x
3



x
9


+

x
3

+

3


x
4
2


+

4


x
4



x
5


+

5


x
4



x
6


+

4


x
4



x
7


+

2


x
4



x
8


+

5


x
4



x
9


+

6


x
5
2


+

2


x
5



x
7


+

3


x
5



x
8


+

5


x
5



x
9


+

2


x
5


+

4


x
6
2


+

6


x
6



x
7


+

4


x
6



x
8


+

2


x
6



x
9


+

5


x
6


+

3


x
7
2


+

3


x
7
2


+

3


x
7



x
8


+

x
7

+

2


x
8
2


+

3


x
8



x
9


+

6


x
8


+

x
9
2

+

3


x
9


+
6


,







w
2

_

=


x
1
2

+

4


x
1



x
2


+

3


x
1



x
3


+


x
1



x
4


+

5


x
1



x
5


+

2


x
1



x
7


+

6


x
1



x
8


+

2


x
1



x
9


+

5


x
1


+

5


x
2



x
3


+

4


x
2



x
4


+

2


x
2



x
5


+

4


x
2



x
7


+

6


x
2



x
8


+

3


x
2



x
9


+

6


x
2


+

2


x
3
2


+

2


x
3



x
4


+


x
3



x
5


+

6


x
3



x
6


+

4


x
3



x
8


+


x
3



x
9


+

4


x
3


+

x
4
2

+

4


x
4



x
5


+

3


x
4



x
6


+

6


x
4



x
7


+

3


x
4



x
8


+

5


x
4



x
9


+

3


x
4


+

6


x
5
2


+

2


x
5



x
6


+

6


x
5



x
7


+

2


x
5



x
8


+

x
6
2

+

6


x
6



x
7


+


x
6



x
8


+

4


x
6



x
9


+

6


x
6


+

x
7
2

+

2


x
7



x
8


+

2


x
7



x
9


+

4


x
7


+

3


x
8
2


+

2


x
8



x
9


+

6


x
8


+

6


x
9
2


+

6


x
9


+
2


,







w
3

_

=


5


x
1



x
2


+

4


x
1



x
3


+

3


x
1



x
4


+


x
1



x
6


+

4


x
1



x
6


+

4


x
1



x
9


+

3


x
1


+

6


x
2
2


+

5


x
2



x
4


+

2


x
2



x
5


+

5


x
2



x
6


+

6


x
2



x
7


+

5


x
2



x
9


+

x
2

+

3


x
3
2


+

2


x
3



x
4


+

5


x
3



x
6


+

2


x
3



x
7


+

2


x
3



x
8


+


x
3



x
9


+

5


x
3


+

2


x
4
2


+


x
4



x
5


+

2


x
4



x
6


+


x
4



x
7


+

4


x
4



x
9


+

3


x
4


+

6


x
5
2


+

4


x
5



x
8


+

2


x
5



x
9


+

2


x
5


+

3


x
6
2


+

2


x
6



x
7


+

5


x
6



x
8


+

5


x
6


+

3


x
7
2


+

5


x
7



x
8


+

4


x
7



x
9


+

5


x
7


+

3


x
8
2


+

6


x
8



x
9


+

x
8

+

3


x
9
2


+

3


x
9


+
3


,







w
4

_

=


x
1
2

+

6


x
1



x
2


+

5


x
1



x
3


+

2


x
1



x
4


+

4


x
1



x
5


+

2


x
1



x
6


+

2


x
1



x
7


+

5


x
1



x
8


+

3


x
1



x
9


+

4


x
1


+

5


x
2
2


+

2


x
2



x
3


+

2


x
2



x
4


+

4


x
2



x
5


+

5


x
2



x
6


+

4


x
2



x
7


+


x
2



x
8


+

5


x
2



x
9


+

5


x
2


+

3


x
3
2


+

3


x
3



x
4


+

4


x
3



x
5


+


x
3



x
6


+


x
3



x
7


+

6


x
3



x
8


+

6


x
3



x
9


+

5


x
3


+

4


x
4
2


+

5


x
4



x
5


+

3


x
4



x
6


+


x
4



x
7


+

5


x
4



x
8


+

5


x
4



x
9


+

4


x
4


+

4


x
5
2


+

6


x
5



x
6


+

2


x
5



x
7


+

6


x
5



x
8


+

5


x
5


+

4


x
6
2


+

5


x
6



x
7


+

3


x
6



x
8


+


x
6



x
9


+

5


x
6


+

5


x
7
2


+

4


x
7



x
9


+

2


x
7


+

5


x
8
2


+

4


x
8



x
9


+

2


x
8


+

6


x
9
2


+

x
9

+

3.
.







2. Signature Process


After system initialization, the signature operation to a message is available when the SPDT switch is in a second path. The whole signature process will now be explained in detail with reference to an example of message data Y′=(3,4,6):


a. Upon receiving the message data Y′=(3,4,6), the processor stores and transmits the message data to an affine transformation component for affine transformation operation








S
1



(

3
,
4
,
6

)


=




(



1


0


5




3


4


6




1


1


0



)



(



3




4




6



)


+

(



4




6




3



)


=


(

2
,
4
,
3

)

=

Y
~







to generate a first data {tilde over (Y)}=(2,4,3);


b. The first data {tilde over (Y)}=(2,4,3) generated by the affine transformation component is transmitted to a random generator to trigger the random generator to generate a set of random numbers (1,2);


c. The random generator transmits the first data {tilde over (Y)}=(2,4,3) generated by the affine transformation component together with the set of random numbers (1,2) to a linear equations solving component to solve linear equations W(2,4,3, x4, x5, x6, x7, 1,2)=(0, . . . 0), where x4, x5, x6, x7 are unknown variables, and the linear equations W(2,4,3, x4, x5, x6, x7, 1,2)=(0, . . . , 0) have only one solution Z′=(1,5,1,0);


d. The linear equations solving component transmits the solution Z′=(1,5,1,0) and the corresponding set of random numbers (1,2) to an affine transformation inversion component for affine transformation operation inversion








S
2

-
1




(

1
,
5
,
1
,
0
,
1
,
2

)


=




(



2


2


6


3


5


2




4


3


2


2


5


5




3


6


1


6


3


5




0


6


6


4


0


2




3


6


5


5


5


6




4


2


5


6


2


3



)


-
1


×

(




1
-
3






5
-
0






1
-
2






0
-
4






1
-
0






2
-
4




)


=


(

3
,
4
,
4
,
1
,
4
,
0

)

=

X








to generate a second data X′=(3,4,4,1,4,0);


e. The second data X′=(3,4,4,1,4,0) generated by the affine transformation inversion component is returned to the processor as a signature of the message data, and the processor transmits the previously stored message data Y′=(3,4,6) and its signature X′=(3,4,4,1,4,0) to an end user.


3. Verification Process


When the SPDT switch is in a first path, verification operation to the message is available.


a. Upon receiving the message data Y′=(3,4,6) and the signature data X′=(3,4,4,1,4,0), the processor stores and transmits these data to a public key verification component for verification operation W(3,4,6,3,4,4,1,4,0)custom-character(0, . . . , 0); it is obvious that the equality holds, so the output of the public key verification component is “1”;


b. The public key verification component returns the “1” to the processor, and the processor outputs the “1” to the end user to indicate that the signature is valid.


The above are simple embodiments of the present application and do not intend to limit the scope thereof. Any variations, modifications, alternations, combinations or simplifications that do not departing from the spirit and scope of the present application shall be within the protection of the present application as equivalents of the embodiments.

Claims
  • 1. A system of mixed multivariate digital signature, comprising: A. a signature module, configured to sign a message to be signed, the signature module including a data input/output port, a single-pole double-throw switch (SPDT switch), a processor, an affine transformation component, a random generator, a linear equations solving component, and an affine transformation inversion component; the signature module is configured to work when the SPDT switch is in a second path: the processor stores message data transmitted from the input port and transmits the message data to the affine transformation component for affine transformation, then, the affine transformation component outputs data to trigger the random generator to generate a set of random numbers, and data output by the affine transformation component together with the set of random numbers are transmitted by the random generator to the linear equations solving component for linear equations operation; if the linear equations have no solution or multiple solutions, the data output by the affine transformation component will be continually returned to the random generator, once again triggering the random generator to generate a new set of random numbers until the linear equations solving component can generate only one solution; then, the linear equations solving component transmits the only one solution and the corresponding set of random numbers to the affine transformation inversion component for affine transformation inversion operation, the affine transformation inversion component generates a desired signature and transmits it to the processor, and the processor transmits the previously stored message data and the signature to an end user eventually, the entire process being scheduled by a scheduler in the processor; andB. a verification module, configured to verity a signature, the verification module including a data input/output port, a SPDT switch, a processor and a public key verification component; the verification module is configured to work when the SPDT switch is in a first path: the processor stores data including message data and its signature data transmitted from the input port, and transmits the message data and its signature data to the public key verification component for verification operation; if the verification is successful, the public key verification component outputs “1” indicating that the signature is valid and returns it to the processor, otherwise, the public key verification component outputs “0” indicating that the signature is invalid and returns it to the processor, and the processor eventually outputs the “1” or “0” to an end user, the entire process being scheduled by a scheduler in the processor.
  • 2. A method of mixed multivariate digital signature, comprising: (1) Signature Processa. receiving, storing and transmitting message data by a processor to an affine transformation component for affine transformation operation to generate a first data;b. transmitting the first data to a random generator, and triggering the random generator to generate a set of random numbers;c. transmitting, by the random generator, the first data together with the set of random numbers to a linear equations solving component for linear equations solving operation, and if the linear equations have no solution or multiple solutions, the first data output by the affine transformation component will be continually returned to the random generator, once again triggering the random generator to generate a new set of random numbers, i.e. repeating steps b. and c. until the linear equations solving component can generate only one solution;d. transmitting, by the linear equations solving component, the only one solution and the corresponding set of random numbers to an affine transformation inversion component for affine transformation inversion operation to generate a second data; ande. returning the second data to the processor as a signature of the message data, and transmitting by the processor the previously stored message data and its signature to an end user;(2) Verification Processa. receiving, storing and transmitting the message data and its signature data by the processor to a public key verification component for verification operation, and the public key verification component outputting “1” or “0”; andb. returning, by the public key verification component, the “1” or “0” to the processor, and the processor outputting “1” or “0” to an end user.
  • 3. The method of claim 2, wherein the method further comprises the steps of: (1) Signature Process:a. receiving, storing and transmitting message data Y′=(y1′, . . . , yr′) ∈F′ by a processor to an affine transformation component for affine transformation operation {tilde over (Y)}=({tilde over (y)}1, . . . {tilde over (y)}r)=S1(Y′) to generate a first data {tilde over (Y)};b. transmitting, by the affine transformation component, the first data {tilde over (Y)}=({tilde over (y)}1, . . . , {tilde over (y)}r) to a random generator to trigger the random generator to generates a set of random numbers t1, . . . , tb′∈F;c. transmitting, by the random generator, the first data {tilde over (Y)}=({tilde over (y)}1, . . . , {tilde over (y)}r) generated by the affine transformation component together with the set of random numbers t1′, . . . , tb′ to a linear equations solving component to solve linear equations W({tilde over (y)}1, . . . , {tilde over (y)}r, z1, . . . , zg, t1′, . . . , tb′)=(0, . . . 0) in the unknown z1, . . . , zg, and if the linear equations W({tilde over (y)}1, . . . , {tilde over (y)}r, z1, . . . , zg, t1′, . . . , tb′)=(0, . . . , 0) have no solution or multiple solutions, the first data {tilde over (Y)}=({tilde over (y)}1, . . . , {tilde over (y)}r) output by the affine transformation component will be continually returned to the random generator, triggering the random generator to generate a new set of random numbers t1′, . . . , tb′∈F, i.e. repeating steps b. and c. until the linear equations solving component can obtain only one solution Z′=(z1′, . . . , zg′);d. transmitting, by the linear equations solving component, the only one solution Z′=(z1′, . . . , zg′) and the corresponding set of random numbers t1′, . . . , tb′ to an affine transformation inversion component for affine transformation inversion operation X′=(x1′, . . . , xg+b′)=S2−1(z1′, . . . , zg′, t1′, . . . , tb′) to generate a second data X′=(x1′, . . . , xg+b′); ande. returning the second data X′=(x1′, . . . , xg+b′) generated by the affine transformation inversion component to the processor as a signature of the message data, and transmitting by the processor the previously stored message data Y′=(y1′, . . . , yr′) and its signature X′=(x1′, . . . , xg+b′) to an end user;(2) Verification Process:a. receiving, storing and transmitting the message data Y′=(y1′, . . . , yr′) and its signature data X′=(x1′, . . . , xg+b′) by the processor to a public key verification component for verification operation W(y1′, . . . , yr′, x1′, . . . , x1′, . . . , xg+b′)(0, . . . , 0), and if the equality holds, outputting “1” by the public key verification component, otherwise outputting “0”; andb. returning, by the public key verification component, the “1” or “0” to the processor, and outputting the “1” or “0” by the processor to an end user, wherein “1” indicates that the signature is valid, and “0” indicates that the signature is invalid.
Priority Claims (1)
Number Date Country Kind
201410225208.3 May 2014 CN national
CROSS REFERENCE TO RELATED APPLICATION

This application is a National Stage of International Application PCT/CN2014/092826, filed on Dec. 2, 2014, which claims the benefit of Chinese Patent Application No. 201410225208.3. filed on May 26, 2014. The entireties of both applications are hereby incorporated by reference.

PCT Information
Filing Document Filing Date Country Kind
PCT/CN2014/092826 12/2/2014 WO 00