zl程序教程

您现在的位置是:首页 >  其它

当前栏目

SHA3​​ RoCC 加速器

加速器
2023-09-14 09:09:27 时间

SHA3​​ 加速器是 SHA3 散列算法的基本 RoCC 加速器。我们喜欢在 Chipyard 教程内容中使用 SHA3,因为它是一个独立的、将自定义加速器集成到 Chipyard 中的简单示例。

3.9.1。介绍
安全散列算法代表一类散列函数,它提供四个属性:散列计算容易、无法从散列生成消息(单向属性)、无法更改消息而不是散列(弱无冲突属性)、并且无法找到具有相同哈希的两条消息(强无冲突属性)。美国国家标准与技术研究院 (NIST) 最近举办了一场竞赛,希望将一种新算法添加到其安全散列算法 (SHA) 中。2012 年,获胜者被确定为 Keccak 散列函数,并建立了 SHA3 的粗略规范。该算法使用海绵函数对可变长度消息进行操作,因此在将消息块吸收到一组状态位和置换状态之间交替进行。吸收是一个简单的按位异或,而置换是一个更复杂的函数,由几个运算组成,χ、θ、ρ、π、ι,它们都执行各种按位运算,包括旋转、奇偶校验计算、异或等。 Keccak 散列函数针对不同大小的状态和消息块进行参数化,但对于此加速器,我们将仅支持具有 1600 位状态和 1088 位消息块的 Keccak-256 变体。SHA3​​ 加速器的示意图如下所示。Keccak 散列函数针对不同大小的状态和消息块进行了参数化,但对于此加速器,我们将仅支持具有 1600 位状态和 1088 位消息块的 Keccak-256 变体。SHA3​​ 加速器的示意图如下所示。Keccak 散列函数针对不同大小的状态和消息块进行了参数化,但对于此加速器,我们将仅支持具有 1600 位状态和 1088 位消息块的 Keccak-256 变体。SHA3​​ 加速器的示意图如下所示。

• Accelerators don’t exist in isolation.
• RoCC for tightly-coupled accelerators
• TileLink for loosely-coupled, MMIO accelerators
• Examples:
• RoCC accelerators: SHA3
• https://github.com/ucb-bar/sha3
• RoCC + TL-UL: protobuf accelerator
• https://github.com/ucb-bar/protoacc
• RoCC + TL-UH: Gemmini accelerator
• https://github.com/ucb-bar/gemmini
• RoCC + TL-UH: Hwacha vector accelerator
• https://github.com/ucb-bar/hwacha
• TL-UH: IceNIC network interface controller for FireSim
• https://github.com/firesim/icenet