Abstract:
The present invention discloses a digital signature scheme based on braid group conjugacy problem and a verifying method thereof, wherein the signatory S selects three braids xεLB m (l), x′εB n (l), aεB n (l), and considers braid pair (x′,x) as a public key of S, braid a as a private key of S; Signatory S uses hash function h for a message M needing signature to get y=h(M)εB n (l); generating a braid bεRB n−1−m (l) randomly, then signing the message M with the own private key a and the braid b generated randomly to obtain Sign(M)=a −1 byb −1 a; a signature verifying party V obtains the public key of S, calculating the message M by employing a system parameter hash function h, obtaining the y=h(M); judging whether sign(M) and y are conjugate or not, if not, sign(M) is an illegal signature, the verification fails; if yes, sign(M) is a legal signature of message M; the present invention avoids the problem of k-CSP in SCSS signature scheme of prior art, and improves the security of signature algorithm and reduces the number of braids involved and the number for conjugacy decision without reducing security, thereby improving the operation efficiency of signature.

Description:
TECHNICAL FIELD  
       [0001]     The present relates to a digital signature scheme based on a gap between the conjugacy search problem (CSP) and the conjugacy determination problem (CDP) in the braid group and a verifying method thereof (ECSS), particularly to a method for verifying whether a file is signed by a signatory with his private key by using his public key.  
       BACKGROUND OF THE INVENTION  
       [0002]     Currently, the digital signature technique commonly used is RSA signature mechanism, and its security is established on the difficulty of large number factoring. However, with constant improvement of computer process power and sustained development of related researches, RSA has to continuously increase digits of modulus N to ensure the security, from 512 bits to 1024 bits, further to 2048 bits. Because of the excess length of key bits, the operation for generating big prime number and exponential computation becomes more complex, therefore, the efficiency of RSA is not very high. If the hardware is employed to improve the efficiency, the excess length of bits will result in more complexity and higher cost, and due to the unchangeability of hardware, the use life of hardware becomes shorter, which further increases the cost as a result.  
         [0003]     Since Ki Hyoung K O, Sang Jin Lee of Korea proposed a key exchange protocol and public encryption system based on the difficulty of braid groups conjugacy problem (K. H. Ko, S. J. Lee, J. H. Cheon, J. W. Han, J. S. Kang and C. S. Park,  New Public - Key Crytosystem Using Braid Groups, Proc. of Crypto  2000 , LNCS  1880, Springer-Verlag (2000) 166-183.), the braid public key cryptography system is widely researched. However, there has been no good solution for its digital signature scheme. Up to 2003, Ki Hyoung K O, Doo Ho Cho, the scholars of Korea, proposed and realized two signature schemes based on braid conjugacy problem (Ki Hyoung Ko and Doo Ho Choi and Mi Sung Cho and Jang Won Lee  New Signature Scheme Using Conjugacy Problem Cryptology ePrint Archive: Complete Contents  2003/168): simple conjugacy signature scheme (SCSS) and conjugacy signature scheme (CSS). We will explain the two signature schemes of SCSS and CSS.  
         [0004]     Simple conjugacy signature scheme SCSS: 
    Common parameter: braid group B n , hash function h: {0,1}*→B n       Key generation: public key: a conjugacy pair (x,x′)εB n ×B n  for considering CSP problem as a difficult problem, 
        private key: aεB n , meeting x′=a −1 xa;    
        Signature: for a given bit sequence message M, the signature of M sign(M)=a −1 ya, in which, element y=h(M);     Verify: the signature of message M sign(M) is legal when and only when: sign(M)˜y and x′ sign(M)˜xy.    
 
         [0010]     However, since a hacker may get many pairs of (y i , a −1 y i a), it may result in blowing the gab of private key a, i.e., k-CSP problem. In order to overcome the above problem, they proposed a CSS signature scheme.  
         [0011]     Conjugacy signature scheme CSS: 
    Common parameter: braid group B n , hash function h: {0,1}*→B n       Key generation: public key: a conjugacy pair (x,x)′εB n ×B n  for considering CSP problem as a difficult problem, 
        private key: aεB n , meeting x′=a −1 xa;    
        Signature: for a given message M, selecting a random braid bεB n  at random, calculating a= b     −1     xb y=h(M∥α), β= b     −1     yb , γ=b −1 aya − b, the signature of message M sign(M)=(α, β, γ). 
 
 Verify: the signature of message M sign(M)=(α, β, γ) is legal when and only when meeting α˜x, β˜y, αβ˜xy, αγ˜x′y. 
   
 
         [0016]     Due to the introduction of random braid b, CCS signature scheme overcomes the k-CSP problem well. But due to the increase of calculation and data, the overall efficiency is decreased distinctly.  
       SUMMARY OF THE INVENTION  
       [0017]     In order to overcome the problem of excess consumption of computer calculation resource in generating big prime number and dividing hack of big number, and the problem of taking excess time to generate key and verify signature due to the increased calculation and data used for CSS to resolve the k-CSP problem in the SCSS, the object of the present is to provide a digital signature scheme based on braid groups conjugacy problem and a verifying method thereof, for reducing the calculation and data, and improving the efficiency of the whole signature scheme.  
         [0018]     In order to realize the above objects, the present invention provides a digital signature scheme based on braid group conjugacy problem, in which parameters involved include a signatory S, a signature verifying party V, a message M needing signature; system parameters needed include n for the number of generators in the braid group, m for the number of generators in the left subgroup, l for the upper bound of the length of a braid, braid group B n (l), left subgroup LB m (l) of B n (l), right subgroup RB n−1−m (l) of B n (l), one way hash function h mapping from bit sequence {0,1}* to braid group B n (l); the signature scheme comprises the following steps of:  
         [0019]     Step  1 . the signatory S selecting three braids xεLB m (l), x′εB n (l), aεB n (l), and making them meet x′=a −1 xa, moreover, with known x and x′, it being impossible to find a in calculation, and considering braid pair (x′,x) as a public key of S, braid a as a private key of S;  
         [0020]     Step  2 . the signatory S using hash function h for message M needing signature to get y=h(M)εB n (l);  
         [0021]     Step  3 . generating a braid bεRB n−1−m (l) at random, then signing the message M with own private key a and the generated random braid b to obtain Sign(M)=a −1 byb −1 a; and  
         [0022]     Step  4 . the signatory S outputting message M and the signature of M Sign(M).  
         [0023]     in which, generating public key braid pair (x′,x) and private key braid a of the signatory S in said step  1  comprises the following steps of:  
         [0024]     Step  1   a . selecting the distance d between public key pairs of system parameter braid group;  
         [0025]     Step  1   b . representing x as left canonial form x=Δ u π 1 π 2  . . . π 1 ;  
         [0026]     Step  1   c . selecting a braid b at random to belong to set B n (5 l)  
         [0027]     Step  1   d . calculating x ′ = b     −1     xb , a=b;  
         [0028]     Step  1   e . generating a bit at random, if 1, calculating x ′ =decycling(x ′ ), a=aπ 1 ; otherwise, calculating x ′ =cycling(x ′ ), a=aτ u (π 1 ); and  
         [0029]     Step  1   f . judging whether x′ belongs to SSS(x) and whether l(x ′ )≦d, if all conditions are yes, outputting(x, x ′ ) as public key, a as private key; if either of them is not, performing step  1   e.    
         [0030]     The process of using hash function h for obtaining y=h(M)εB n (l) in said step  2  comprises the following steps of:  
         [0031]     Step  2   a . selecting an ordinary hash function H, with the length of its output H(M) being l [log(2,n!)], then dividing H(M) into l sections R 1 ∥R 2 ∥ . . . ∥R 1  in equal at one time; and  
         [0032]     Step  2   b . corresponding Ri to permutation braid Ai, then calculating h(A)=A1*A2 . . . Al, the h(AA) required.  
         [0033]     The present invention further provides a verifying method of the digital signature scheme based on braid group conjugacy problem, which comprises the following steps of:  
         [0034]     Step  1 . a signature verifying party V obtaining a public key of signatory S after receiving a message M and the signature of M Sign(M) transmitted from a signatory S;  
         [0035]     Step  2 . calculating the message M by employing a system parameter hash function h, to obtain y=h(M);  
         [0036]     Step  3 . judging whether sign(M) and y are conjugate or not, if not, sign(M) being not a legal signature, and the verification being failed; if yes, performing step  4 ; and  
         [0037]     Step  4 . calculating sign(M) x′ and xy by using the public key of S obtained, and judging whether they are conjugate or not, if not, then sign(M) being not a legal signature, the verification being failed; if yes, sign(M) being the legal signature of message M.  
         [0038]     In this method, the form for obtaining public key of the signatory S in step  1  is an out-band form or the form of receiving public key transmitted from the signatory S; Algorithm BCDA is employed in judging whether sign(M) and y are conjugate or not in step  3  and whether sign(M) x′ and xy are conjugate or not in step  4 .  
         [0039]     Moreover, the present invention further provides a digital signature scheme including signatory and verifying party signatures based on braid group conjugacy problem and a verifying method thereof (ECSS), in which parameters involved include a signatory S, a signature verifying party V, a message M needing signature, an integer n for the number of generators in the braid group, an integer m for the number of generators in the left subgroup, an integer l for the upper bound of the length of a braid, braid group B n (l), a left subgroup LB m (l) of B n (l), a right subgroup RB n−1−m (l) of B n (l), an one way hash function h mapping from bit sequence {0,1}* to braid groups B n (l); said signature and its verifying method comprises the following steps of:  
         [0040]     Step  1 . the signatory S selecting three braids xεLB m (l), x′εB n (l), aεB n (l), and making them meet x′=a −1 a, moreover, with known x and x,′ it being impossible to find a in calculation, and considering braid pair(x′,x) as a public key of S, braid a as a private key of S;  
         [0041]     Step  2 . signatory S using hash function h for the message M needing signature to get y=h(M)εB n (l);  
         [0042]     Step  3 . generating a braid bεRB n−1−m (l) at random, then signing the message M with own private key a and the generated random braid b to obtain Sign(M)=a −1 byb −1 a;  
         [0043]     Step  4 . the signatory S transmitting message M and the signature of M Sign(M) to the signature verifying party V;  
         [0044]     Step  5 . the signature verifying party V obtaining the public key of S after receiving the message M and signature of M Sign(M) transmitted from signatory S;  
         [0045]     Step  6 . calculating message M by employing system parameter hash function h, to obtain y=h(M);  
         [0046]     Step  7 . judging whether sign(M) and y are conjugate or not, if not, sign(M) being not a legal signature, the verification being failed; if yes, performing step  8 ; and  
         [0047]     Step  8 . calculating sign(M) x′ and xy by using the public key of obtained S, and judging whether they are conjugate or not, if not, sign(M) being not a legal signature, the verification being failed; if yes, sign(M) being the legal signature of message M.  
         [0048]     As recited in the above solution, the digital signature and the verifying method provided by the present invention have the following advantages:  
         [0049]     Because of adding random braid b, for each message M, the conjugacy element of conjugacy pair (sign(M), h(M) is b −1 a; because b is a random braid, and b selected for each signature is different, the conjugacy element for each time is also different, averting the information leakage of private a, and avoiding the k-CSP problem for only using private a as the conjugacy element of(sign(M), h(M)) in SCSS signature scheme of the prior art. The signature scheme ECSS provided by the present invention makes use of the exchangeability of the left subgroup and the right subgroup of the braid groups, and adds a random braid directly, for protecting the secret information of key and improving the security of signature algorithm. CSS protects the secret information of key by introducing two assistant braids. The biggest advantage of ECSS compared to CSS is in that it reduces the number of braids involved and the number for conjugacy decision without reducing the security, and, therefore, improves the operation efficiency of signature. The differences of these three signature schemes are listed in table 1:  
                               TABLE 1                       Signature   Calculation number   Verify number   Data quantity           scheme   of signature   of signature   of signature   Security                   SCSS   conjugacy calculation:   conjugacy decision:   1 braid   Having k-CSP problem,           1 time   2 times       low security, based           hash calculation:   hash calculation:       on MCSP problem           1 time   1 time               braid group operation:               2 times       CSS   Conjugacy calculation:   conjugacy decision:   3 braids   Introducing random           4 times   4 times       key factor, resolving           hash calculation:   hash calculation:       the k-CSP problem,           1 time   1 time       based on MTSP problem               braid group operation:               4 times       Scheme of   conjugacy calculating:   conjugacy decison:   1 braid   Introducing random key       the present   2 times   2 times       factor, resolving the       invention   hash calculating:   hash calculation:       k-CSP problem, based on       (ECSS)   1 time   1 time       MCSP problem               braid group operation:               2 times                  
 
         [0050]     The present invention uses mathematics basis with a completely different scheme compared to conventional RSA signature, and does not need generating big prime number, therefore greatly saves the digits of key and digits of signature, economizes the calculation resource, and improves the efficiency of signature and verification. The CSS signature scheme provided in prior art gets data shown in table 2 on the processor of Pentium III 866 MHz (in which, default setup parameter l=3, d=4, 2 31 &lt;p&lt;2 32 , r=3):  
                                       TABLE 2                           Number of   Number   Time for           Strength           public   of sig-   generating   Time of   Time of   of       n   key bit   nature   key   signature   verification   security                   20   370   1653   17.82 ms   18.68 ms   30.87 ms   2 220         24   478   2138   21.70 ms   22.79 ms   41.75 ms   2 356         28   591   2648   24.42 ms   25.77 ms   59.59 ms   2 530                    
 
         [0051]     Since the time of signature and verification of the present scheme will be greatly reduced compared to CSS signature, it is more efficiency than RSA. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0052]      FIG. 1  is the flowchart of a digital signature scheme based on braid group conjugacy problem of the present invention.  
         [0053]      FIG. 2  is the flowchart for generating key in a digital signature scheme based on braid group conjugacy problem of the present invention;  
         [0054]      FIG. 3  is the process flowchart of one-direction hash function h in a digital signature scheme of the present invention;  
         [0055]      FIG. 4  is the flowchart of verifying digital signature based on braid group conjugacy problem of the present invention;  
         [0056]      FIG. 5  is the process flowchart of determination algorithm BCDA of CDP problem of the present invention;  
         [0057]      FIG. 6  is the flowchart of digital signatures of signatory and verifying party and the verifying method based on braid group conjugacy problem of the present invention. 
     
    
     DETAILED DESCRIPTION OF EMBODIMENTS  
       [0058]     Because the present invention involves a series of mathematic principles, its mathematic background will be explained first in the following:  
         [0059]     Braid group B n (n is the parameter of group) is an infinite group with finite representation, generated by Artin generators σ 1 , σ 2 , . . . , σ n−1 , which meet the following equation: 
 
σ i σ j =σ j σ i ( |i−j|&gt; 1,1 &lt;i,j&lt;n )  (1) 
 
σ i σ j σ i =σ j σ i σ j (| i−j|&gt; 1,1 &lt;i,j&lt;n )  (2) 
 
         [0060]     The group generated by m generators σ 1 , σ 2  . . . σ m−1  of left is called left subgroup of B n , labeled as LB m ; and the subgroup generated by n−1−m generators σ m+1 , σ m+2  . . . σ n−1  of right is called right subgroup of B n , labeled as RB n−1−m . It is obviously known from (1) that selecting (x,y)εLB m ×RB n−1−m  arbitrarily, there is always xy=yx. As for a braid b, if it only contains σ 1 , σ 2  . . . σ n−1  instead of σ 1   −1 , σ 2   −1  . . . , σ n−1   −1 , b is called a positive element. As for positive element b, a, if there is a positive element or trivial element c that makes b=ac, then a is called subword of b. The braid Δ=(σ 1 σ 2  . . . σ n−1 ) (σ 1 σ 2  . . . σ n−2 ) . . . (σ 1 σ 2 )(σ 1 ) is called fundamental braid of B n . Δ meets Δb=τ(b)Δ, where τ(σ i )=σ n−i  and the subword of Δ is called permutation braid. The set of all permutation braids is corresponded one to one with Σn of permutations on {0,1,L n−1}.Therefore, the sub-word Δ can be represented by a permutation π: {0,1, . . . , n−1}→{0,1, . . . ,n−1}. Any one of braid b has a unique left canonial representation form: b=Δ u π 1 π 2  . . . π 1 , in which, π i  is a permutation braid. Several lengths of b are defined as: inf(b)=u, sup(b)=u+l, l(b)=l.  
         [0061]     In a braid group B n , if for two braids x,yεB n , there is a braid aεB n  that makes y=a −1 xa, then braids x, y are conjugate, which is denoted as x˜y, and braid a is called conjugator of conjugacy pair (x,y), obviously, “˜” indicates an equivalent relationship. The basic conjugacy problems of braid group include conjugacy decision problem CDP and conjugacy search problem CSP. The called CDP means: for an arbitrarily given braid pair (x,y)εB n ×B n , judging whether x˜y is right. A method is given in the existing signature scheme based on braid group conjugacy problem, which can solve the CDP problem with any high probability in multinomial time. The called CSP problem means: for a given conjugacy pair(x,y)εB n ×B n (x˜y), finding a braid aεB n , which makes y=a −1 xa. For braid group, there is no efficient arithmetic which can solve the CSP problem in multinomial time currently, therefore, for a conjugacy pair (x,y)εB n ×B n  selected randomly, their CSP problem will be a difficult problem with high probability. While the security of the signature scheme proposed in this description is established on the difficulty of MCSP problem (matching conjugacy search problem), which is proved to have a same difficulty with CSP problem. The called MCSP problem is described in the following:  
         [0062]     known: a conjugacy pair (x,x′)εB n ×B n  of B n ; a braid yεB n    
         [0063]     problem: finding a y′εB n  meeting: y˜y′ xy˜′x′y′ 
         [0064]     Next, the method described in the appended drawings of the present invention is illustrated in details:  
         [0065]     The common parameter required: braid group B n , left braid group LB m , right braid group RB n−1−m , hash function h, in which the generators of B n  are σ 1 σ 2  . . . σ n−1 , the left braid group LB m  is the subgroup of B n  generated by generator σ 1 ,σ 2  . . . σ m−1 , and the right braid group RB n−1−m  is the subgroup of B n  generated by σ m+1 ,σ m+2  . . . σ n−1 .  
         [0066]     Its public key is a conjugacy pair (x,x′)εLB m ×B n  which considers CSP problem as a difficult problem, and its private key is aεB n , meeting x′=a −1 xa;  
         [0067]     The flowchart for signatory signing message M is shown in  FIG. 1 . For a given message M, first calculate and obtain y=h(M) by using hash function h, select a secret random braid bεRB n−1−m  randomly by using arithmetic PBG, and calculate byb −1  and the signature of message M sign(M)=a −1 byb −1 a, then, signatory S outputs M and its signature Sign(M).  
         [0068]     However, for a hacker, if he wants to forge a signature of message M, what he can know is only the public key(x,x′) and y=h(M), if he wants the forged signature sign(AM) to meet sign(M)˜y. x′ sign(M)˜xy, it equals to solve the MCSP problem obviously, therefore, it would not be successful. However, for message signature pair(y i , b −1 ay i a −1 b) that can be analyzed by intercepting and capturing, because of the adding of the random braid b, they can avoid the k-CSP problem. The called k-CSP problem is described in the following:  
         [0069]     known: k pairs of conjugacy pair(x 1 , x 1 ′), . . . , (x k , x k ′)εB n ×B n  and x i =a −1 x i a=(i=1 . . . k);  
         [0070]     problem: finding bεB n , which makes x i =b −1 x i b(i=1,2 . . . k),  
         [0071]     in which, in order to generate key safely, first define some concepts, for a braid xεB n (l) its super summit set is defined as: SSS(X)={yεB n (l)|y˜x, inf(y)=Maxinf(x), sup(y)=Minsup(x)}. The security strength of overall signature arithmetic is |SSS(x)|, about  
           (     n   4     )         n   ⁡     (     n   -   1     )       /   2       .       
 
 If y˜x, then define the distance between x and y as d(x,y)=min{l(b)|=b −1 ab}, then defines(x,d)={yεSSS(x)|d(x,y)≦d}. Select xεs(x,d), then the CSP problem of conjugacy pair(x′,x) becomes a difficult problem, and can be public key. Specifically, the flowchart of key generation is shown in  FIG. 2 . The following is the detailed description of the process for generating key, wherein by using RSSBG(x,d)=(x ′ ,a), x ′ εs(x,d) is generated randomly and x ′ =a −1 xa, therefore, giving the safe public key(x ′ ,x) and private key a: 
 
         [0072]     Step  11 . determining the distance d between braid group public key pair;  
         [0073]     Step  12 . representing braid x as left canonical form x=Δ u π 1 π 2  . . . π 1 ;  
         [0074]     Step  13 . selecting a braid b randomly which belongs to the set B n (5 l);  
         [0075]     Step  14 . calculating x ′ =b −1 xb, a=b;  
         [0076]     Step  15 . genetating a bit randomly, if 1, then calculating x ′ =decycling(x ′ ), a=aπ 1 ; otherwise, calculating x ′ =cycling(x ′ ), a=aτ u (π 1 ); and  
         [0077]     Step  16 . judging whether x ′  belongs to the set SSS(x) and whether l(x ′ )≦d is yes, if all the results being yes, then outputting(x, x′) as public key, a as private key; if either of them is no, then performing step  15 .  
         [0078]     Calculating and obtaining y=h(M) by using hash function h, with its flowchart shown in  FIG. 3 :  
         [0079]     For a hash function h mapping from bit sequence {0,1}* to braid group B n (l), first compress {0,1}* to obtain a bit sequence {0,1} N  with fixed length by using an ordinary hash function, wherein N=l[log 2   n! ]. Then divide {0,1} N  into l sections r 1 ∥r 2 ∥ . . . ∥r 1 , the length of each section is [log 2   n! ]. Because the number of permutation braid of B n (l) is n!, a one to one map can be established between the permutation braid and the integer set [0,n!−1], and transform r k  into a certain integer in [0,n!−1], which in turn is further transformed into a permutation braid P k , at last, obtain  
         h   ⁡     (   M   )       =       ∏     k   =   1     l     ⁢           ⁢       P   k     .           
 
         [0080]     The verifying flowchart of the present invention for a digital signature scheme based on braid group conjugacy problem is shown in  FIG. 4 , including the following steps of:  
         [0081]     Step  20 . the signature verifying party V obtaining the public key S after receiving the message M and the signature of M Sign(M) transmitted by signatory S;  
         [0082]     Step  21 . calculating message M by using system parameter hash function h, obtaining y=h(M);  
         [0083]     Step  22 . judging whether sign(M) and y are conjugate, if not, sign(M) is not a legal signature, the verification is failed; if yes, performing step  23 ; and  
         [0084]     Step  23 . calculating sign(M) x′ and xy by using the obtained public key of S, and judging whether they are conjugate, if not, then sign(M) is not a legal signature, verification is failed; if yes, then sign(M) is the legal signature of message M  
         [0085]     In the method, the form of obtaining public key of S in step  20  is an out-band form, or it is transmitted to verifying part V by signatory S directly.  
         [0086]     The arithmetic of BCDA is employed in judging whether sign(M) and y are conjugate in step  22  and judging whether sign(M) x′ and xy are conjugate in step  23 . This arithmetic of BCDA is shown in  FIG. 5 :  
         [0087]     For any non-abelian group, they all have a function from group to ring, which is invariant under conjugacy, and is called character. Defining a function from B n (l) to Laurent multinomial ring Z[t,f 1 ]:g→det(Φ(g)−I), wherein gεB n (l), Φ(g) is the Burau representation of g, I is unity matrix, det( ) is the determinant of the matrix, it is obvious that the function is the character of B n (l). det(Φ(g)−I) is called Alexander multinomial of braid g, called P g (t). Obviously, for a gεB n (l),the degree of its Alexander multinomial P g (t): ∂(P g (t))≦l(n−1)n/2. Judging whether the two braids a,bεB n (l) are conjugate, and perform the following Alexander test: determine system parameter prime number p and positive integer r, select r different value t 1 ,t 2  . . . t r  on the finite field Z/pZ freely, if for all the t i (i=1,2 . . . r), there is always P a (t i )=P b (t i ), then output  1 , otherwise output  0 . Because ∂(P a (t)−P b (t))≦l(n−1)n/2, the equation P a (t)−P b (t)=0 has only l(n−1)n/2 roots. So the probability  
           Pr   ⁡     [         P   a     ⁡     (   t   )       ≠         P   b     ⁡     (   t   )       ⁢     ❘     ⁢   the   ⁢           ⁢   output   ⁢           ⁢   of   ⁢           ⁢   Alexander   ⁢           ⁢   test   ⁢           ⁢   is   ⁢           ⁢   1       ]       ⁢           ≤       (         l   ⁡     (     n   -   1     )       ⁢   n       2   ⁢   p       )     r       ,       
 
 and obviously, with the increase of p and r, this probability can be decreased freely. The complexity of Alexander test calculation is O(rn 3 ). 
 
         [0088]     Maxinf-Minsuptest. For xεB n (l) of braid, define Maxinf(x)=Max{inf(y)|y˜x,yεB n (l)},Minsup(x)=Min{sup(y)|y˜x,yεB n (l)}. The called Maxinf-Minsup test is, for braid a,bεB n (l), judgeing whether Maxinf(a)=Maxinf(b), Minsup(a)=Minsup(b) is yes, if yes, then output  1 , if no, then output  0 . Next, the arithmetic for calculating Maxinf(x) and Minsup(x) is described. Firstly, define two operations, if x=Δ u π 1 π 2  . . . π 1 , cycling(x)=(τ u (π 1 )) −1 xτ u (π 1 ), decycling(x)=π 1   −1 xπ 1 . Perform cycling(decycling) operation for x circularly, until the value of inf begins to increase (sup value begins to reduce), then consider the currently obtained braid as new braid, repeat the circular operation, and the count of circular times is reset to 1; if the circular times are counted until m=n(n−1)/2, the inf value does not increase any more(sup value does not reduce any more), then the inf value of current braid is Maxinf(x)(Minsup(x). As for the theory analysis of arithmetic, please refer to the following quotations: J. S. Birman, K. H. Ko and S. J. Lee,  The in.mum, supremum and geodesic length of a braid conjugacy class, to appear in Advances in Mathematics . The arithmetic complexity of the arithmetic is O(l 2 nlog n).  
         [0089]     If braids a, b pass the Alexander test and Maxinf-Minsup test, then determine that a˜b is right, with one exception of a˜b −1 . However, for a and b selected randomly, this exception is nearly impossible, and for hacker, it is also impossible to use such excluded situation, as for its analysis, please refer to the following quotations: K. H. Ko, S. J. Lee, J. H. Cheon, J. W. Han, J. S. Kang and C. S. Park,  New Public - Key Crytosystem Using Braid Groups, Proc. of Crypto  2000,  LNCS  1880, Springer-Verlag (2000) 166-183.  
         [0090]     For a legal signature sign(M), because sign(M)=a −1 byb −1 a=(b −1 a) −1 yb −1 a, sign(M)˜y is right; while for x′sign(M)=a −1 xa a −1 byb −1 a=a −1 xbyb −1 a, because xεLB m , bεRB n−1−m , xb=bx, therefore x ′  sign(M)=a −1 xa a −1 byb −1 a=a −1 xbyb −1 a=a −1  bxyb −1 a=(b −1 a) −1 (x y)(b −1 a), and x′ sign(M)˜xy, therefore, a legal signature can always pass the verification at last.  
         [0091]     The present invention also provides a digital signature scheme including signatory and verifying party signatures and a verification thereof, see  FIG. 6 . As the digital signature scheme and its verifying method of the present based on braid conjugacy problem, the signatory uses hash function h for message M needing signature, obtaining y=h(M)εB n (l), and generating key, generating bεRB n−1−m (l) randomly, the signatory transmits the message M and signature of M Sign(M) to the verifying party after obtaining Sign(M)=a −1 byb −1 a by signing message M with its own private a and the generated braid b, the verifying party obtains y=h(M) and the public key verification signature message M by calculating message M by hash function h, the detailed process is as follows:  
         [0092]     Step  1 . the signature S selecting three braids xεLBm(l), x′εB n (l), aεB n (l), making them meeting x′=a −1 xa. and with the known x and x′, it is impossible to find a on calculation, and considering braid pair (x′,x) as public key of S, and braid a as private key of S;  
         [0093]     Step  2 . signatory S obtaining y=h(M)εB n (l) by using hash function h for message M needing signature;  
         [0094]     Step  3 . generating a braid bεRB n−1−m (l) randomly, then obtaining Sign(M)=a −1 byb −1 a by signing the message M with its own private key a and the generated random braid b;  
         [0095]     Step  4 . the signatory S transmitting message M and its signature Sign(M) to the signature verifying party V;  
         [0096]     Step  5 . the signature verifying party V obtaining the public key of S after receiving the message M and its signature Sign(M) transmitted by signatory S;  
         [0097]     Step  6 . calculating message M by using system parameter hash function h, obtaining y=h(M);  
         [0098]     Step  7 . judging whether sign(M) and y are conjugate, if not, sign(M) is not a legal signature, the verification is failed; if yes, performing step  8 ; and  
         [0099]     Step  8 . calculating sign(M) x′ and xy by using the obtained public key of S, and judging whether they are conjugate, if not, sign(M) is not a legal signature, the verification is failed; if yes, sign(M) is the legal signature of message M;  
         [0100]     Because the braid group is infinite group, in order to realize by computer, system parameter has to be set. First set system parameters n, l, d (preferred l=3,d=4). Make B n (l)={bεB n |0≦inf(b), sup(b)≦l}, then |B n (l)|&lt;(n!) 1  is finite. For the same reason, LB m (l)={bεLB m |0≦inf(b), sup(b)≦I},RB n−1−m (l)={bεRB n−1−m |0≦inf(b), sup(b)≦l}. For a braid, it is denoted by Burau representation which currently is acknowledged to have the fastest calculation speed on computer, that is, denoted by a (n−1)×(n−1) order matrix on the Laurent multinomial ring Z[t,t −1 ], the specified permutation rule is as follows:  
         [0101]     Perform the following permutation:  
         σ   1     =     [           -   t                                                             1       1                                                                       O                                                                       O                                                                       1         ]         
         σ   2     =       [         1       t                                                             -   t                                                             1       1                                                                       O                                                                       1         ]     ⁢           ⁢   …         
           σ   i     =     [         O                                                                       1       t                                                             -   t                                                                       ⁢   1           1   ⁢                                                                                 O         ]       ⁢               
 
         σ     n   -   1       =     [         1                                                                         O   ⁢                                                                                 O                                                           1       t                                                                         -   t           ]         
 
 the calculation complexity for a braid belonging to B n (l) transforming to a Burau representation is O(ln). With the above representation, the group operation and converse operation are transformed to the multiplication of matrix and converse operation, all of which can be solved by efficient mathematics tool, their calculation complexity is O(ln). 
 
         [0102]     The method of the present invention can be realized by software. In order to improve speed, the arithmetic BCDA can also be realized by hardware, in which, the determined system parameter discloses: braid group parameters n, l, d, p (preferred n between 20˜30, l=3, d=4, p between 2 31 ˜2 32 ), and the size of the left braid group m (preferred n−m is about 4); determining the hash function h used in hash message; the process of signatory S is as following:  
         [0103]     Key Generation: 
        1. generating a braid xεLB m  by using arithmetic PBG at random;     2. obtaining public key (x ′ ,x) and private a by using arithmetic RSSBG(x,d).        
 
         [0106]     The signature process:  
         [0107]     1. applying hash function h to message M needing signature, obtaining y=h(M)  
         [0108]     2. generating a braid b randomly, then calculating  byb     −1   ; and  
         [0109]     3. calculating sign(M)= a     −1     byb     −1     a  by using private key.  
         [0110]     The process of verifying party V:  
         [0111]     1. applying hash function h to the message M needing its signature verified, obtaining y=h(M);  
         [0112]     2. judging whether sign(M)˜y is right by using arithmetic BCDA, if not, the verification is failed, ending; if yes, performing step  3 ; and  
         [0113]     3. calculating x′ sign(M) and xy; judging whether x′ sign(M)˜xy is right by using arithmetic BCDA, if yes, the verification is passed, ending, otherwise, the verification is failed, ending.  
         [0114]     At last, it should be noted that the above embodiment is only to illustrate the technical scheme of the present invention without any limitation. Although the present invention is described in detail with reference to the preferred embodiment, the ordinary skilled person in the art should understand that the scheme of the present invention can be modified or substituted, without departing from the spirit and scope of the technical scheme of the present invention, all of which should be covered in the following claims.