Page 80 - 《软件学报》2025年第10期
P. 80

胡跃 等: 基于  FPGA  的格基数字签名算法硬件优化                                                   4477


                 具有一定的成本优势. 文献        [30] 设计的核心运算模块具有更好的灵活性和可扩展性, 适合更加多元化且资源不敏
                 感的应用场景. 相比之下, 本文的设计方案在运算效率上具有明显的优势, 可以更好地满足高性能运算的应用场景.
                  4.3   综合性能对比分析
                    表  4  给出了本文实现方案与相关工作的对比, 包括纯硬件实现和软硬结合实现两种类型, 并分别给出详细的
                 对比分析结果. 为了更加公平和准确地体现本文方案的性能优势, 将所有的纯硬件实现方案的性能数据进行了可
                 视化处理, 如图    9  所示. 如第  1  节所述, 文献  [25] 虽然是基于  Zynq  平台设计的软硬结合方案, 但签名算法的核心
                 计算流程完全在      PL  端实现, PS  端仅负责初始的信号控制和最后的数据输出, 因此文献                 [25] 的测试数据也在图     9
                 中体现. 此外, 表   3  中提到的文献    [30] 基于  Artix-7  平台对核心的多项式运算模块进行部署和测试, 但该文献提出
                 的完整实现方案采用了基于          Rocket Core 的软硬双核设计, 并且基于      TSMC  技术进行部署和测试, 与其他实现方
                 案区别较大, 因此本文不考虑在表          4  中对文献  [30] 进行对比分析.

                                               表 4 硬件设计方案整体性能对比

                                                           KeyGen          Sign           Verify    安全
                   文献    LUT    FF   BRAM  DSP  f (MHz)
                                                        t (μs)  cycle  t (μs)  cycle  t (μs)  cycle  等级
                                                        17.9   2 348   34.4    4 508   23.8   3 123  2
                  本文 a,1  37 943  30 268  18.5  64  131  29.4  3 864   49.2    6 458   36     4 718  3
                                                        48.9   6 401    76     9 958   56.2   7 763  5
                                                        43.1   4 172   289.9  28 091   45.6   4 422  2
                  [26] a,1  29 998  10 366  11  10  96.9  60.4  5 851  461.3  44 706   63.8   6 181  3
                                                        90.5   8 765   505.6  48 996   93.9   9 039  5
                                                         19    4 875    43    10 945   26     6 582  2
                  [27] b,1  53 907  28 435  29  16  256  32    8 291    63    16 178   39     9 724  3
                                                         55    14 037   95    24 358   57    13 642  5
                         24 320  9 668  15  45    140   134    18 761  478.3  66 966   62.6   8 770  2
                     a,1
                  [24]   29 987  11 274  23  45   142   233.1  33 102  740.3  105 129  85.1  12 084  3
                         42 860  14 136  33  45   127   401.4  50 982   883   112 145  129.6  16 462  5
                         18 558  7 432  17  10    159    49    7 757    327   52 038   48     7 675  2
                  [25] c,2  19 614  8 466  21  10  159   82    12 982   561   89 213   71    11 232  3
                         20 973  9 677  28  10    159   127    20 189   589   93 708   100   15 875  5
                                                       2 325.5  167 433  8 816.2  634 763  3 187.2  229 481  2
                     2
                   [28]   -     -     -     -     72
                                                        3 101  223 272  11 328.2  815 636  3 836.4  276 221  3
                  [29] d,2  2 620  -  16    6     100    -      -      12 600   -     9 940   -      3
                                                        731   438 698  2 829  1 697 566  904  542 212  2
                    c+d,2
                  [32]   6 639  1 660  3    16    600   1 330  798 111  4 685  2 990 703  1 466  879 854  3
                                                        2 085  1 251 278  5 615  3 369 190  2 298  1 378 741  5
                                                        1 100   -      2 300    -     1 100   -      2
                  [33] c,2  13 128  11 556  14  4  150  1 500   -      3 100    -     1 600   -      3
                                                        2 200   -      4 500    -     2 300   -      5
                 注: 字母上标a、b、 c、d对应4种测试平台, a: Artix-7; b: VirtexUltraScale+; c: Zynq; d: PolarFire. 数字上标1、2对应两种设计方
                 案, 1: 纯硬件设计方案; 2: 软硬件结合设计方案

                    文献  [26] 针对第  3  轮  Dilithium  算法的参数集设计了专用化的硬件电路架构, 可支持            3  种安全等级下的数字
                 签名运算. 与本文类似, 核心的多项式运算模块同样基于延迟转向结构进行设计, 使用                          BRAM  单元实现运算级之
                 间的数据延迟, 每个蝴蝶单元可完成相邻两级的数论变换运算, 因此仅实例化                        4  个蝴蝶运算单元. 这样的电路结构
                 在一定程度上节约了硬件资源, 特别是寄存器资源的消耗, 但同时也限制了多项式运算的效率: 每个时钟周期仅支
                 持输入一个多项式系数, 一次完整的数论变换需要消耗                  296  个时钟周期, 其中包括      40  个时钟周期的固定延迟时
                 间. 本文采用了高并行度的脉动阵列的设计架构, 极大地提升了模块的数据吞吐量, 完成单次数论变换仅需要                                  32
                 个时钟周期. 同时, 辅以分段式时序状态控制逻辑, 将签名算法的核心运算步骤重构为点乘运算、INTT                              运算和模
   75   76   77   78   79   80   81   82   83   84   85