Page 315 - 《软件学报》2021年第9期
P. 315

俞惠芳  等:抗量子计算的多变量盲签名方案                                                            2939


         1.4   Yasuda等人提出的非满射中心映射
                                                                                       2
             设 r 是多变量方程组的个数,n 是变量的个数.这里的 r 和 n 均为有限的正整数,并且满足 n=z ,r=z(z+1)/2.
         Yasuda 等人 [23] 利用非满射来构造多变量的中心映射,具体结构如下:

                                                          T
                                               () =X  XBA B X T  ,
                                             f
                                             δ  ,B      δ

                           r
                 () : F →X  n  F 为多变量的非满射中心映射,X 是一个 z×z 的矩阵变量, B 是一个 z×z 的正规矩阵, A 是
         其中, f
               δ ,B                                                                           δ
         一个 z×z 的对称矩阵,上标 T 表示矩阵的转置.
         2    方案实例
             本节给出了一个具体的抗量子计算的多变量盲签名方案.详细算法细节如下所述.
             1.  系统初始化(Setup)
                                            l
             生成系统参数(F,p,l,r,n,H),其中,F=GF(p )是特征为 p 的有限域,r 是多变量方程组的个数,n 是变量的个数,
                           r
                       *
         哈希函数 H:{0,1} →F .这里的 p 是素数,l,r 和 n 均为有限的正整数.
             2.  密钥生成(KeyGen)
                                      −1
                                   −1
                                                            −1
                                                                 −1
                                         −1
                                                                                   n
                                                                                       r
             生成签名者 B 的私钥 sk:{L ,G ,S }和公钥 pk:{N G S,h L ,h N },公开公钥,其中,G:F →F 是非满射中
                                                        r
                                                           r
         心映射,具体结构参照本文第 1.4 节和文献[23]中的 f δ,B .L:F →F 是随机选取的非线性可逆变换,N 和 S 分别是
                n
              r
          r
                   n
         F →F ,F →F 随机选取的可逆仿射变换,h 是一个保密的单向不可逆哈希函数.
             3.  盲签名(BlindSIG)
             (1)  对消息 m 增加几个随机比特 m′      [24] ;
             下面介绍如何给消息 m 增加几个随机比特 m′:

             a)   计算W =  H  (( )H m ⊕    ) S ,其中, S 为 r-bit 字符串,值为 00…00;
             b)   令 m′=[W] 0→2 为 2-bit 字符串.
             (2)  盲化(Blind):O 随机选取盲因子 e∈F,计算 b=eH(m||m′),将盲化后的消息 b 发送给 B;
                                                                       −1
                                             −1
                                                −1
                                                  −1
                                                               −1
             (3)  签名(Sign):B 收到 b 后,用私钥 sk:{L ,G ,S }依次计算 y=L (b),x=G (y),若 y 没有与之对应的原像 x,
                                                            −1
         则返回步骤(1),并用 H(W)替换步骤 a)中的 W;否则继续计算σ′=S (x),然后将盲签名σ′发送给 O;
             现在说明一下签名失败的概率:根据文献[24]的证明,对消息 m 增加几个随机比特 m′,在签名过程中,y 没有
         与之对应的原像 x 的概率约为 2        −85 ,即签名失败的概率约为 2      −85 .这个概率是可以完全忽略不计的,因此对签名过
         程的效率影响可以忽略不计.
                                                                          −1
                                                           −1
             (4)  去盲化(MoveBlind):O 收到 B 的盲签名σ′后,先验证 h N (N G S(σ′))=h L (b)是否成立:若成立,O 对盲
                                 2
         签名σ′去盲化处理,计算σ=σ′/e ,得到签名σ;否则,签名无效.
             4.  验证(Verify)
                                                          −1
             输入系统参数、消息 m||m′和 B 的公钥,验证者计算 h L (H(m||m′)),并用公钥 N G S 和 h N              −1  验证等式
                         −1
            −1
         h L (H(m||m′))=h N (N G S(σ))是否成立:若等式成立,则签名有效;否则,签名无效.
         3    正确性分析
             根据第 1.2.1 节中盲签名的定义,只有合法的盲签名才能通过验证.在证明本文方案满足正确性之前,先介
         绍用到的相关性质.
             性质 1 [23] .  若一有限域 F,V 是有限域 F 上的 n 维向量空间.当映射ϕ:V→F 具有二次形式时,有:
                                                      2
                                                ϕ(ax)=a ϕ(x),
         其中,a∈F,x∈V.
             定理 1.  本文提出的抗量子计算的多变量盲签名方案是正确的.
             证明:对消息 m 增加几个随机比特 m′,假设对 m||m′进行盲签名交互过程,可以产生一个有效的签名.若接收
   310   311   312   313   314   315   316   317   318   319   320