云计算的出现使得海量数据的处理正逐渐从用户本地转向云服务器,与此同时也带来了数据泄露的问题。同态加密是一种允许对加密数据进行运算的加密技术,是在保证数据安全的前提下实现数据分享的一种理想方案。因此,同态加密在隐私计算领域具有重要的地位,也被应用到了例如联邦学习、隐私数据求交等领域。

Paillier作为一种半同态加密算法,具有可以无限次进行同态加法运算的特性,同时由于其较为优秀的性能,受到了大量隐私计算开发者的青睐,但是同态计算相比明文计算性能仍然相当缓慢,而许多隐私计算的应用场景数据量非常巨大,同时又有一定实时性的要求,因此需要对其进行加速,以满足现有的应用场景。

本赛道要求参赛者使用数字电路的方式给出Paillier算法的加速系统的设计与实现,并在指定的FPGA型号上进行综合实现。初赛将根据各个参赛队伍提交的内容进行打分,选取其中表现优秀的队伍进入决赛。

2.1   功能要求

在Xilinx Virtex7 690T(xc7vx690tffg1761-2)芯片或开发板Virtex-7 VC709开发板上设计一个Paillier算法加速系统,使用PCIe(XDMA)作为数据输入接口。

使用数字电路方式安全实现半同态加密算法Paillier的计算,要求如下:

① 需要支持参数n=pxq,n为2048比特,p和q为长度为1024比特的素数;

② 支持加密、解密、同态加法、密文乘明文这4类操作。

③ 可以是单个加速核,也可以是多个加速核心

④ 可以使用DDR存储数据

⑤ 选择合适的总线结构,首要目标是获得最大吞吐量,在此基础上尽量减少输入到输出的latency。

在设计时,为简化工作,输入接口可以等效为位宽为256bit/Cycle@250MHz的AXI。需要对设计进行仿真和综合实现,不要求进行板上测试。

2.2   安全要求

在不降低算法安全性的情况下可对算法参数进行调整。

2.3   验证要求

输入格式:

AXI向0x00000000_00000000地址连续写入数据(突发模式),测试共4组,输入数据为:

第1组——加密:(2048bit明文+2048bit随机数)×100,000组;

第2组——解密:4096bit密文×100000组;

第3组——同态加法:(4096bit密文加数1+4096bit密文加数2)×100,000组;

第4组——密文乘明文:(4096bit密文+2048bit明文)×100,000组。

输出格式

数据发送完成后,AXI从0x00000001_00000000连续读出数据(突发模式),数据格式为:

第1组——加密:4096bit密文×100,000组;

第2组——解密:2048bit明文×100000组;

第3组——同态加法:4096bit密文×100,000组;

第4组——密文乘明文:4096bit密文×100,000组。

4组分开进行,每组单独统计性能和结果是否正确。

2.4   输出要求

1)书面报告,需要包括:

    a)算法调研和实现方案说明;

    b)数字电路设计说明;

    c)吞吐率及加速设计瓶颈分析。

2)RTL代码。

3)综合实现报告,包括:

    a)时序报告;

    b)资源利用率报告。

2.5   加分要求

1)使用procise且提供使用报告;

2)调研中分析或提出优化算法;

3)其它额外且有意义的工作。

初赛总分100分,评分标准如下

分类项目细则分数
书面报告总体结构完整、内容和逻辑清晰,图文规范。5
调研算法及优化调研全面,理解准确。5
设计系统方案合理,描述清晰,重点明确。5
算法模块设计合理,描述清晰。5
功能[1]加密、解密、同态加法、密文乘明文功能正确25
性能[2]加密吞吐率优秀10
解密吞吐率优秀10
同态加法吞吐率优秀10
密文乘明文吞吐率优秀10
代码风格模块划分清晰3
注释丰富2
综合报告时序时序通过,不存在违例情况5
资源资源利用充分和高效5
加分项工具试用如使用procise且提供使用报告,在调研中分析提出某些优化算法,但是基于FPGA资源无法实现(10)
合计100

(110)

注释:

[1] 加密、解密、同态加法、密文乘明文每个功能5分,全部正确得25分。

[2] 性能得分的前提是对应计算功能正确。

问题

AXI总线接口也需要设计,参考PCIE XDMA接口,地址线64bit。 加密模块寄存器自己配置,100k组数据顺序输入。 不要求UVM和覆盖率,要求仿真全 n, pq位宽固定,但是p, q值需要可配置(指令或数据) 100k组数据p q 相同x

架构设计

AXI

Xilinx-FPGA-PCIe-XDMA-Tutorial: Xilinx FPGA PCIe 保姆级教程 ——基于 PCIe XDMA IP核 (gitee.com)