硬件技术在密码学计算中的应用与优化
在密码学计算领域,为了满足日益增长的计算需求和提高计算效率,多种硬件技术应运而生。这些技术各有特点,适用于不同的场景,下面将详细介绍几种常见的硬件技术。
1. 进位保存加法器(Carry Save Adder,CSA)
在一些算法中,额外的时钟周期可能是由特定的计算式导致的,例如:
[R[i + 1] = R[i] + xi ∗Y + qi ∗m]
为了确定各种修改算法中正确的 (X_i) 值,需要对 (X_1) 和 (X_2) 输入操作数进行全加。这里可以使用桶形寄存器全加器(Barrel Register Full Adder,BRFA)来实现。BRFA 的工作原理是动态计算正确的 (X_i) 值。只需要一个全加器将 (X_1) 和 (X_2) 的最低有效位(LSB)相加,就能在需要时得到所需的 (X_i) 值。当当前 (X_i) 值计算完成后,BRFA 会对输入参数 (X_1) 和 (X_2) 进行右移操作,以获取下一个所需的 (X_i)。这样,BRFA 避免了因算法修改以适应 CSA 而可能导致的额外关键延迟,通过在同一个时钟周期内与 CSA 同时执行单比特加法,节省了 (X_1 + X_2) 计算的额外时钟周期。
1.1 五到二进位保存加法器(Five-to-Two CSA)
这种进位保存架构有 3 级进位保存逻辑,通过以下两个步骤实现特定计算:
[
\begin{align }
\text{Sum} &= \alpha_1 \oplus \alpha_2 \oplus \alpha_3\
\text{Carry} &