Keccak与RSA密码系统的高效实现与防护策略
在当今的数字安全领域,密码系统的安全性和效率至关重要。本文将详细介绍Keccak哈希函数的高效实现以及RSA密码系统针对侧信道电磁攻击的防护策略。
Keccak哈希函数的实现
无保护实现
- 并行实现 :在并行实现中,速率固定为最多1024位。Keccak - f的轮函数架构简单直接,有320个并行的χ实例。θ函数以切片方式实现,通过计算每个切片中每行的5位异或(即列奇偶性)Xi(i∈{0, …, 63}),并对Xi和Xi - 1的旋转值进行异或操作,生成一个25位的值与相应切片异或。线性层的其余部分(ρ和π)作为简单布线在整个1600位状态上执行,每轮输出写入1600位寄存器。一次Keccak - f[1600]迭代需要24个时钟周期。
- 串行实现 :串行实现以25位切片为单位操作,每个时钟周期从切片0开始取25位。输入在θ实现后写入寄存器R63,θ函数输入为每个输入切片每行的5位异或以及前一个周期的值(第一个切片除外)。经过64个周期完成初始化轮,后续轮中θ的输入是在切片R0上并行执行的五个χ函数的输出与轮常数的异或。一次Keccak - f[1600]迭代需要64×25 = 1600个时钟周期,面积约为10 kGE。
| 实现方式 | 面积(kGE) | 每轮随机比特数 | 时钟周期数 | 时钟频率(MHz) |
|---|
超级会员免费看
订阅专栏 解锁全文
797

被折叠的 条评论
为什么被折叠?



