“华为杯”第三届中国研究生创“芯”大赛——华为企业命题
赛题一:后量子密码算法实现描述及要求:1.软硬件结合或硬件实现XMSS(RFC8391)算法或Leighton-MicaliHash-BasedSignatures(RFC8554)算法,基于SHA2/SHA3(SHA2/SHA3二选一);2.Hash算法需要硬件实现;3.工作时钟频率100MHZ以上,硬件部分需采用VHDL\VERILOG实现;评审得分点:1.功能正确实现;2.满足题目要求,方案清晰,模块划分合理;3.代码简洁,逻辑清晰,可维护性好;4.面积合理,有对资源、吞吐率、功耗的分析;5.有对功能验证的完备性分析;6.有安全性验证可加分;7.能防御常见的侧信道及故障注入攻击(如SPA、DPA、DFA)可加分;输出要求:1.算法模型代码及文档;(C\matlab等不限)2.详细设计文档和逻辑代码;3.有验证的数据和波形截图;赛题二:防DFA/SPA/DPA的x25519/x448/ED25519/ED448算法实现描述及要求:1.实现x25519/x448/ED25519/ED448点乘运算的任意一种即可,高层算法不要求实现;2.可采用软硬结合或全硬方式实现。软硬件结合实现时,采用硬件实现的运算算子个数和类型不做要求,软硬件分工自由划分;3.要求算法能够防御DFA/SPA/DPA三种攻击方式;评审得分点:1.能够防御DFA/SPA/DPA(防DFA算法不能选用计算两次方式实现),并有相应的分析以及理论推导;2.防攻击漏洞越少,得分越高;3.需要有资源、功耗、性能评估结果;4.有攻击验证报告更优,验证的方式不限;(此项为加分项,不做统一要求)输出要求:1.总体设计方案以及理论分析文档;2.详细设计文档和逻辑代码、软件代码;赛题三:高性能硬件实现蒙哥马利域模乘算法描述及要求:1.实现4096bit蒙哥马利域模乘算法;2.乘法器可以使用*实现,乘法器位宽不做要求;3.综合频率不低于300MHz,实现4096位宽模乘Cycle数不多于4000;4.逻辑门不大于200KGate,RAM空间不大于24Kbit;5.不要求在FPGA器件或ASIC器件等载体上实现,能通过综合、仿真验证即可;评审得分点:1.符合要求的基础上,性能越高,得分越高;2.需要说明所设计方案的优点和亮点,有资源、功耗评估结果;输出要求:1.算法模型设计文档和算法模型代码(C\matlab等不限);2.详细设计文档和逻辑代码、软件代码;3.算法实现合理性分析文档;赛题四:逻辑实现带防护的SHA-3-HMAC算法描述及要求:1.采用Verilog实现带防护的SHA-3-HMAC算法,工作时钟频率100MHz以上,分组运算时间小于100cycle;2.SHA-3-HMAC支持256/384/512摘要值,不同位宽摘要值可通过配置选择;3.SHA-3-HMAC算法具有全面防御常见的侧信道(如CPA等)及错误注入(如AFA等)攻击的能力;4.SHA-3模块的IV信号可单独配置,SHA-3模块可在模块内部自动完成Padding补位操作;5.模块设计时需要关注模块的面积、性能和功耗;评审得分点:1.实现算法功能正确,满足题目要求;2.设计方案文档描述清晰,模块功能划分合理;3.代码简洁,可维护性好;4.防攻击方案设计合理有效,防攻击效果越好,得分越高;5.要求有完备的验证方案和验证用例;输出要求:1.算法模型代码及文档;(C\matlab等不限)2.详细设计文档和逻辑代码;3.输出验证用例、验证数据和波形截图;赛题五:SHA3-HMAC的攻击模型建立以及比较描述及要求:1.攻击模型中至少涵盖CPA、TA(模板攻击)、CNN,其他模型可自行添加对比;2.从理论上分析对比各个模型的优缺点及适应性;3.基于SHA3-HMAC算法,进行基于FPGA/ASIC等器件的攻击实验(也可使用已公开的SHA3功耗/电磁曲线),来验证理论分析的结论;4.根据上述的攻击方式,梳理出SHA3-HMAC侧信道攻击的脆弱点。并能针对脆弱点提出相应的防御措施、方法(不要求实现,描述方法即可);评审得分点:对比模型越多,理论分析越全面透彻,得分越高;发现的脆弱点越多,得分越高;攻击实验覆盖度越高,得分越多;如能对带一定防护的曲线进行攻击对比,可加分;输出要求:1.输出攻击模型的理论分析文档及实现代码;(限C/C++/Matlab)2.输出攻击测试数据;3.输出薄弱点分析及测试报告;赛题六:逻辑实现带防护的Camellia、PRESENT等算法描述及要求:1.采用Verilog实现Camellia、PRESENT、WHIRLPOOL、CHACHAPOLY1305、Multi2、Prince中的任意一种,工作时钟频率300MHz以上;2.模块接口按照分组计算的方式实现,模块的接口可参考以下方式,实际实现时可根据具体实现进行增加或删减;Inputclk,Inputrst_n,Inputblock_input,(位宽为一个输入分组长度,例如AES为128bit分组)Inputblock_run,Inputdata_length,(位宽32bit,验证最大10MB)Inputinput_key,(位宽为输入密钥长度)Outputblock_done,Outputblock_output,(位宽为一个输出分组长度)Outputblock_busy3.输入数据只支持以Byte为单位,不支持以bit为单位,数据大小端不做要求;4.给出算法防御常见的侧信道及错误注入攻击(如CPA、DFA等)的防攻击设计方案;5.不要求在FPGA器件或ASIC器件等载体上实现,能通过代码综合、仿真验证即可;评审得分点:1.实现算法功能正确,满足题目要求;2.防攻击方案设计详细、清晰、合理有效,对防攻击效果进行详细分析,防攻击效果越好,得分越高;3.代码简洁,可维护性好;4.对于模块的面积、性能和功耗优化力度越大,得分越高;5.有完备的验证方案和验证用例;输出要求:1.算法模型代码及文档;(C\matlab等不限)2.详细设计文档和逻辑代码;3.有验证的用例、测试数据和波形截图;赛题七:侧信道泄露检测的理论分析及实际效果测评描述及要求:1.选择任意一种对称加密算法、Hmac算法或者非对称算法;2.从理论上比较泄露检测方式(如TVLA等),说明各个泄露检测方式的优缺点;3.在FPGA平台上进行实际测试对比,来验证理论分析的结论;4.实现的加密算法时钟频率不限,但需包含无防护及带防护逻辑;评审得分点:1.理论分析越全面,得分越高;2.在FPGA平台上检测场景越多得分越高;3.不同泄露检测方式比对理论分析清晰,结论越合理越全面得分越高;输出要求:1.算法IP的设计文档、实现代码以及实验数据;2.不同泄露检测方式的比较分析文档;3.不同泄露检测方式的算法文档和实现代码;赛题八:SOC安全权限隔离实现描述及要求:1.权限隔离是一种重要的安全防护手段。2.实现一个SOC系统,具备三种安全级别权限的隔离能力,三种权限之间的权限大小关系自定义;3.SOC中至少包含CPU(例如RISC-V)、总线、SRAM和一个外设接口(例如UART),能够支持三种权限。其他组件可选,不做强制要求;4.题目中未明确要求的,不做强制要求。评审得分点:1.设计方案清晰,对实现方式和性能进行详细分析;2.提供功能、性能仿真报告,每个组件功能正确;3.正确实现三种权限之间的隔离;4.SOC中支持隔离功能的组件越多,得分越高。输出要求:1.设计方案说明书;2.RTL代码(Verilog或者VHDL);3.功能、性能仿真报告。赛题九:内存安全防护实现描述及要求:1.在安卓平台中,大部分的安全漏洞都是内存安全bug,要求基于任意CPU(例如RISC-V)、总线等组件实现内存防护,能够从硬件层面缓解内存bug;2.能够缓解memoryuse-after-free攻击;3.能够缓解memoryoverflow攻击;4.题目中未明确要求的,不做强制要求。评审得分点:1.方案设计清晰,对安全性和性能开销进行详细分析;2.通过仿真说明安全防护能力;3.至少能够缓解memoryuse-after-free和memoryoverflow攻击,能够防御的内存攻击越多,得分越高;4.性能开销越小得分越高;5.面积代价合理。输出要求:1.安全方案设计文档;2.RTL代码(Verilog或者VHDL);3.功能、性能仿真报告。赛题十:安全CPU设计描述及要求:1.基于任意开源CPU核(例如RISC-V),设计改进CPU,使单核CPU能够抵抗大多数的功耗攻击、timing攻击、故障注入攻击等;2.题目中未明确要求的,不做强制要求。评审得分点:1.方案设计清晰,对各种防护方式进行说明,对整体防护能力进行分析评估;2.通过仿真说明其安全防护效果;3.防护能力越全面,得分越高;4.性能开销越小得分越高;5.面积代价合理。输出要求:1.安全CPU的设计文档;2.RTL代码(Verilog或者VHDL);3.功能、性能仿真报告。赛题十一:DDR数据安全保护模块IP设计描述及要求:1.基于标准加密算法设计一个加密模块IP,通过该模块IP,SOC对存入DDR的数据进行机密性、完整性和防重放性的保护;2.数据接口支持标准的AXI总线协议,数据位宽为128bit,参数配置接口不做要求。评审得分点:1.方案设计清晰,能够对存入DDR的数据进行机密性,完整性和防重放保护,对方案的安全性进行分析;2.对数据吞吐量影响越小,读写latency越小,得分越高;3.逻辑开销越小,得分越高。输出要求:1.模块IP设计方案文档;2.RTL代码(Verilog或者VHDL);3.功能、性能仿真报告以及功耗/性能/面积评估数据。作品提交要求:由于华为赛题的专项奖是线下评审,没有答辩环节,除按竞赛组委会要求提交PPT外,还需按华为赛题要求提供文档和代码。如果是硬件作品,需提供照片或视频,含竞赛组成员合影。华为专项奖设置:华为公司为选作华为赛题的前15名赛队设立华为专项奖,获奖赛队可同时参评竞赛组委会设立的其它竞赛奖。华为专项奖一等奖5队,每队奖金1万元,华为专项奖二等奖10队,每队奖金0.5万元。华为命题专家咨询邮箱:wangbo24@hisilicon.com