10.06.2015 Views

低功耗AES信息安全芯片设计与实现 - 中国科学院深圳先进技术研究院

低功耗AES信息安全芯片设计与实现 - 中国科学院深圳先进技术研究院

低功耗AES信息安全芯片设计与实现 - 中国科学院深圳先进技术研究院

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Vol. 3 No.4 / Apr. 2009<br />

低 功 耗 AES 信 息 安 全 芯 片 设 计 与 实 现<br />

章 成 旻 梁 允 萍 黄 墩 峰 李 烨<br />

摘 要 个 性 化 的 远 程 医 疗 是 医 疗 保 健 服 务 发 展 的 必 然 趋 势 , 远 程 信 息 处 理 对 保 护 用 户 数 据 传 输 的 安 全 性 和 设 备 的 功 耗<br />

方 面 都 提 出 了 更 高 的 要 求 。 高 级 加 密 标 准 AES 是 当 前 最 为 安 全 有 效 的 商 用 对 称 加 密 算 法 , 成 为 信 息 安 全 的 首 选 算 法 。 而 相<br />

比 于 软 件 实 现 ,AES 硬 件 芯 片 显 得 更 为 安 全 、 低 耗 、 高 效 。 我 们 综 合 运 用 资 源 共 享 、 算 法 集 成 等 手 段 , 旨 在 实 现 一 款 低 功<br />

耗 、 高 效 的 AES 硬 件 加 密 芯 片 。<br />

关 键 词 AES; 低 功 耗 ; 资 源 共 享 ; 流 水<br />

1 引 言<br />

高 级 加 密 标 准 ( A d v a n c e d E n c r y p t i o n<br />

Standard,AES), 又 称 Rijndael 加 密 法 , 是 美 国 联<br />

邦 政 府 采 用 的 一 种 区 块 加 密 标 准 。 这 个 标 准 用 来 替<br />

代 原 先 的 DES, 已 经 被 多 方 分 析 且 广 为 全 世 界 所 使<br />

用 。 经 过 五 年 的 甄 选 流 程 , 高 级 加 密 标 准 由 美 国 国<br />

家 标 准 与 技 术 研 究 院 (NIST) 于 2001 年 11 月 26 日 发 布<br />

于 FIPS PUB 197, 并 在 2002 年 5 月 26 日 确 立 为 有 效 的<br />

标 准 。2006 年 , 高 级 加 密 标 准 已 然 成 为 对 称 密 钥 加<br />

密 中 最 流 行 的 算 法 之 一 。<br />

AES 的 安 全 性 能 是 良 好 的 。 经 过 多 年 来 的 分 析 和<br />

测 试 , 至 今 没 有 发 现 AES 的 明 显 缺 点 , 也 没 有 找 到 明<br />

显 的 安 全 漏 洞 。AES 能 够 抵 抗 目 前 已 知 的 各 种 攻 击 方<br />

法 的 攻 击 。 因 此 , 普 遍 应 用 在 网 络 通 讯 和 工 业 界 ,<br />

银 行 业 和 行 政 部 门 等 场 合 。 而 AES 的 功 耗 已 成 为 日 渐<br />

突 出 的 问 题 , 必 须 进 行 低 功 耗 的 设 计 。 本 文 主 要 介<br />

绍 AES 加 密 算 法 的 原 理 及 几 种 关 于 AES 低 功 耗 的 处 理<br />

方 法 。<br />

2 AES 的 加 密 算 法 简 介<br />

AES 是 一 个 迭 代 的 、 对 称 密 钥 分 组 的 密 码 , 它<br />

可 以 使 用 128、192 和 256 位 密 钥 , 并 且 用 128 位<br />

(16 字 节 ) 分 组 加 密 和 解 密 数 据 。 与 公 共 密 钥 密 码 使<br />

用 密 钥 对 不 同 , 对 称 密 钥 密 码 使 用 相 同 的 密 钥 加 密<br />

和 解 密 数 据 。 通 过 分 组 密 码 返 回 的 加 密 数 据 的 位 数<br />

与 输 入 数 据 位 数 相 同 。 迭 代 加 密 使 用 一 个 循 环 结<br />

构 , 在 该 循 环 中 重 复 置 换 (permutations) 和 替 换<br />

(substitutions) 输 入 数 据 。<br />

AES 加 密 过 程 是 在 一 个 4×4 的 字 节 矩 阵 上 运<br />

作 , 这 个 矩 阵 又 称 为 “ 体 (state)”, 其 初 值 就 是<br />

一 个 明 文 区 块 ( 矩 阵 中 一 个 元 素 大 小 就 是 明 文 区<br />

块 中 的 一 个 Byte)。 首 先 , 对 128 位 输 入 明 文 进 行<br />

AddRoundKey( 轮 密 钥 加 ) 操 作 。 接 着 ,AES 算 法 主<br />

体 部 分 进 行 Nr-1 次 循 环 。Nr 取 值 10 或 12 或 14, 这 取<br />

决 于 输 入 密 钥 的 长 度 是 128 位 、192 位 还 是 256 位 。<br />

最 常 用 的 是 128 位 长 度 , 本 文 讨 论 128 位 的 情 况 。 各<br />

轮 AES 加 密 循 环 [1] ( 除 最 后 一 轮 外 ) 均 包 含 4 个 步 骤 :<br />

(1) AddRoundKey — 矩 阵 中 的 每 一 个 字 节 都 与 该<br />

次 循 环 的 子 密 钥 (round key) 做 XOR 运 算 ; 每 个<br />

子 密 钥 由 密 钥 生 成 方 案 ( 即 : 密 钥 扩 展 ) 产 生 。<br />

密 钥 扩 展 (Key Expansion) [9] — AES 每 一 轮 运 算 都<br />

需 要 一 组 相 应 的 密 钥 ( 即 :AddRoundKey 步 骤 中 所<br />

需 要 的 密 钥 ), 所 以 要 对 输 入 的 初 始 密 钥 进 行 密 钥 扩<br />

展 。 具 体 步 骤 如 图 1:<br />

(2) SubBytes — 透 过 一 个 非 线 性 的 替 换 函 数 , 用 查<br />

找 表 的 方 式 把 每 个 字 节 替 换 成 对 应 的 字 节 。<br />

(3) ShiftRows — 将 矩 阵 中 的 每 个 横 列 进 行 循 环 式 移<br />

位 。<br />

(4) MixColumns — 为 了 充 分 混 合 矩 阵 中 各 个 直 行<br />

的 操 作 。 这 个 步 骤 使 用 线 性 转 换 来 混 合 每 行 内 的<br />

四 个 字 节 。<br />

其 中 :<br />

(1)<br />

Inv- MixColumns 中<br />

(2)<br />

最 后 一 个 加 密 循 环 中 省 略 MixColumns 步 骤 , 而<br />

以 另 一 个 AddRoundKey 取 代 。<br />

42


低 功 耗 AES 信 息 安 全 芯 片 设 计 与 实 现<br />

a 0,0 a 0,1 a 0,2 a 0,3<br />

b 0,0 b 0,1 b 0,2 b 0,3<br />

No<br />

change<br />

No<br />

change Shift 1<br />

<br />

Shift 1<br />

Shift 2<br />

<br />

<br />

Shift 2<br />

Shift<br />

<br />

3<br />

<br />

Shift 3<br />

<br />

b 0,1<br />

a 0,0 a 0,1 a 0,2 a 0,3<br />

a a a a<br />

a 0,0 a 0,1 a 0,2 a<br />

a 0,3<br />

1,0 a 1,1 a 1,2 a 1,3<br />

SubBytes<br />

b 0,0 b 0,1 b 0,2 b<br />

b 0,3<br />

1,0 b 1,1 b 1,2 b 1,3<br />

a 1,0 a 1,1 a 1,2 a<br />

a 1,3<br />

2,0 a 2,1 a 2,2 a 2,3<br />

SubBytes b 1,0 b 1,1 b 1,2 b<br />

b 1,3<br />

2,0 b 2,1 b 2,2 b 2,3<br />

a 2,0 a 2,1 a a<br />

a 2,2 2,3<br />

3,0 a 3,1 a 3,2 a 3,3<br />

b 2,0 b 2,1 b b<br />

b 2,2 2,3<br />

3,0 b 3,1 b 3,2 b 3,3<br />

a 3,0 a 3,1 a 3,2 a 3,3<br />

b 3,0 b 3,1 b 3,2 b 3,3<br />

S-box<br />

a 0,1<br />

a 0,0<br />

a<br />

a 0,2 a 0,3 S-box<br />

0,1<br />

b 0,0 b 0,2 b 0,3<br />

a 2,0 a 2,1 a 2,2 a 2,3<br />

b 2,0 b 2,1 b 2,2 b<br />

a 2,3<br />

3,0 a 3,2 a b 3,0 b 3,2 b<br />

a 3,3<br />

3,3<br />

3,1 b 3,1<br />

a 3,0 a 3,2 a 3,3<br />

b 3,0 b 3,2 b<br />

a 3,3<br />

3,1 × C(x) b 3,1<br />

b 0,1<br />

a 0,0 a 0,2 a 0,3<br />

b 0,0 b 0,2 b<br />

a<br />

a 1,1<br />

b 0,3<br />

1,0 a 1,2 a<br />

b<br />

1,3 MixColumns<br />

1,1 1,0 b 1,2 b 1,3<br />

a<br />

a 1,1 1,0 a 1,2 a 1,3<br />

b<br />

b<br />

MixColumns<br />

1,1 1,0 b 1,2 b<br />

a b 1,3<br />

2,0 a 2,1 a 2,2 a 2,3<br />

2,0 b 2,1 b 2,2 b 2,3<br />

a 0,0 a 0,1 a 0,2 a 0,3<br />

× C(x)<br />

a 1,0 a 1,1 a 1,2 a<br />

a 1,3<br />

2,0 a 2,1 a 2,2 a 2,3<br />

ShiftRows a 1,1 a 1,2 a 1,3 a<br />

a 1,0<br />

2,2 a 2,3 a 2,0 a 2,1<br />

a 0,0 a 0,1 a 0,2 a<br />

a 0,3<br />

1,0 a 1,1 a 1,2 a 1,3<br />

ShiftRows 0,0<br />

a 1,1<br />

0,1<br />

a 1,2<br />

0,2<br />

a 1,3<br />

0,3<br />

a 1,0<br />

a 2,0 a 2,1 a 2,2 a<br />

a 2,3<br />

3,0 a 3,1 a 3,2 a 3,3<br />

a 2,2 a 2,3 a 2,0 a<br />

a a 2,1<br />

3,3 3,0 a 3,1 a 3,2<br />

a 3,0 a 3,1 a 3,2 a 3,3<br />

a 3,3 a 3,0 a 3,1 a 3,2<br />

图 1 AES 系 统 流 程<br />

图 2 AES 加 解 密 系 统<br />

AES 解 密 过 程 [2] : 基 本 上 以 加 密 过 程 的 反 向 顺 序 还<br />

原 每 个 操 作 。 不 过 逆 向 的 操 作 ( 例 如 Inv-SubBytes)<br />

的 顺 序 并 不 是 与 加 密 过 程 中 相 应 的 操 作 的 逆 顺<br />

序 正 好 相 同 。 其 中 值 得 注 意 的 是 加 解 密 过 程 用<br />

的 是 同 一 个 A d d R o u n d K e y 操 作 步 骤 而 不 存 在<br />

InvAddRoundKey 操 作 步 骤 。 另 外 , 解 密 时 每 次 循<br />

环 所 使 用 的 密 钥 正 好 和 加 密 过 程 正 好 相 反 , 从 密 钥<br />

表 的 最 后 一 组 开 始 调 用 。<br />

以 下 为 在 解 密 过 程 中 值 得 主 要 的 两 条 原 则 :<br />

(1) 先 做 I n v M i x C o l u m n s ( 列 混 合 逆 变 换 ) 再 做<br />

A d d R o u n d K e y ( 轮 密 钥 加 ) 时 , 用 来 和 输<br />

入 的 1 2 8 位 的 密 文 做 异 或 的 密 钥 必 须 先 做<br />

InvMixColumns 变 换 。 这 样 得 出 的 结 果 跟 先 做<br />

AddRoundKey 再 做 InvMixColumns 是 一 样 的 。<br />

其 中 这 两 种 操 作 所 用 到 的 密 钥 前 后 保 持 不 变 。<br />

(2) 先 做 InvSubBytes( 字 节 反 变 换 ) 再 做 InvShiftRows( 行<br />

位 移 逆 变 换 ) 和 先 做 I n v M i x C o l u m n s 再 做<br />

InvSubBytes 得 到 的 结 果 是 一 样 的 。<br />

正 因 为 依 据 这 两 点 原 则 ,AES 解 密 过 程 的 步 骤<br />

可 以 调 整 为 跟 加 密 过 程 的 步 骤 顺 序 一 样 , 不 影 响 输<br />

出 的 结 果 。<br />

解 密 的 次 序 调 整 后 , 可 以 发 现 加 密 跟 解 密 的 过 程<br />

中 某 些 的 操 作 步 骤 是 一 样 的 , 可 以 合 并 , 从 而 简 化 电<br />

路 , 减 少 一 些 不 必 要 的 功 耗 , 具 体 示 意 图 如 图 2。<br />

3 CMOS 电 路 功 耗 的 来 源<br />

CMOS 电 路 中 有 两 种 主 要 的 功 耗 来 源 : 静 态 功<br />

耗 和 动 态 功 耗 。 其 中 , 动 态 功 耗 包 括 短 路 电 流 引 起 的<br />

功 耗 ( 称 为 直 流 开 关 功 耗 或 短 路 功 耗 , 发 生 在 跃 变 过<br />

程 中 双 管 同 时 导 通 引 起 的 瞬 态 电 流 而 形 成 的 功 耗 。 对<br />

于 信 号 上 升 ( 下 降 ) 快 的 电 路 , 短 路 电 流 功 耗 很 小 , 但<br />

对 信 号 上 升 ( 下 降 ) 较 慢 的 电 路 , 短 路 电 流 功 耗 可 能 要<br />

占 总 功 耗 的 30% 以 上 ) 和 负 载 电 容 的 功 耗 ( 称 为 交 流 开<br />

关 功 耗 , 由 对 负 载 电 容 充 放 电 电 流 引 起 的 功 耗 ) ; 静<br />

态 功 耗 主 要 是 由 漏 电 流 引 起 的 功 耗 。 一 般 来 说 , 泄 漏<br />

电 流 功 耗 在 总 功 耗 中 所 占 的 比 重 不 到 1%。<br />

43


1,0 1,1 1,2 1,3<br />

1,0 1,1 1,2 1,3<br />

a 2,0 a 2,1 a 2,2 a 2,3<br />

b 2,0 b 2,1 b 2,2 b 2,3<br />

a 3,0 a 3,1 a 3,2 a 3,3<br />

b 3,0 b 3,1 b 3,2 b 3,3<br />

4 低 功 耗 设 计<br />

SubBytes<br />

4.1 动 态 资 源 管 理<br />

b 3,1<br />

a 2,0 a 2,1 a 2,2 a 2,3<br />

b 2,0 b 2,1 b 2,2 b 2,3<br />

× C(x)<br />

a3,0 a3,1 a3,2 a3,3<br />

b3,0 b3,1 b3,2 b3,3<br />

动 No态 功 耗 管 理 是 一 种 系 统 级 低 功 耗 设 计 方 法 ,<br />

a 0,1 a 0,2 a 0,3<br />

S-box<br />

a 0,0<br />

a0,0 a0,2 a0,3<br />

a 1,0 a 1,1 a 1,2 a 1,3<br />

b0,0ShiftRows<br />

b0,2 b0,3<br />

a 1,1 a 1,2 a 1,3 a 1,0<br />

a0,1<br />

b0,1<br />

降 低 功 耗 的 主 要 思 路 是 根 据 芯 片 工 作 状 态 改 变 功 耗 管<br />

a1,1<br />

b1,1<br />

a1,0 a1,2 a1,3 MixColumns b1,0 b1,2 b1,3<br />

理 模 式<br />

Shift<br />

,<br />

2<br />

从 而 在 保 证 性 能 的 基 础 上 降 低 功 耗 。 在 不 同<br />

a<br />

a2,0 2,0 a<br />

a2,2 2,1 a<br />

a2,3 2,3<br />

a<br />

b2,0 b2,2 b2,3 2,2 a 2,3 a 2,0 a 2,1<br />

a2,1<br />

b2,1<br />

模 式 下 , 时 钟 的 频 率 可 以 进 行 调 整 , 一 些 空 闲 模 块<br />

Shift a3,0<br />

3 a3,2 a3,3<br />

b3,0 b3,2 b3,3<br />

a3,1 a 3,0 a 3,1 a 3,2 a 3,3 b3,1 a 3,3 a 3,0 a 3,1 a 3,2<br />

<br />

甚 至 整 个 芯 片 的 时 × 钟 C(x) 也 可 能 会 被 停 止 。 还 可 以 通 过 调<br />

No<br />

a<br />

整 芯 片 的<br />

0,0 a<br />

电<br />

0,1 a<br />

压<br />

0,2 a change<br />

,<br />

0,3<br />

进 一 步 降 低 功 耗 。 由 于 工 作 库 的 限<br />

Shift 1 a 1,0 a 1,1 a 1,2 a 1,3<br />

ShiftRows a 1,1 a 1,2 a 1,3 a 1,0<br />

<br />

制 , Shift 本 2 文 没 有 对 动 态 电 压 管 理 作 进 一 步 的 研 究 。<br />

<br />

Shift 3<br />

a 0,1<br />

b 0,1<br />

a 1,0 a 1,1 3,0<br />

a 1,2 a 1,3<br />

a 3,1<br />

a 3,2 a 3,3<br />

b 1,0 b 1,1 b 1,2 b 1,3<br />

a 0,0 a 0,2 a 0,3<br />

a 1,0<br />

a 1,1<br />

a 1,2 a 1,3 MixColumns<br />

b 1,1<br />

a 2,0 a a 2,3<br />

a 0,0 0,1 a 2,1 0,2 a 0,3<br />

b 0,0 b 0,1 b 0,2 b 0,3<br />

b 2,1<br />

change<br />

Shift 1<br />

<br />

a 0,0 a 0,1 a 0,2 a 0,3<br />

a 0,0 a 0,1 a 0,2 a 0,3<br />

a 2,0 a 2,1 a 2,2 a 2,3<br />

a 2,2 a 2,3 a 2,0 a 2,1<br />

a3,0 a3,1 a3,2 a3,3<br />

<br />

4.2 门 控 时 钟<br />

a3,0 a3,1 a3,2<br />

使 能 信 号 EN 有 关 闭 和 打 开 ASIC 内 部 模 块 的 作<br />

用 , 但 EN 只 是 关 闭 了 内 部 模 块 的 功 能 操 作 , 而 并 没<br />

有 把 模 块 内 的 时 钟 网 络 关 闭 , 也 就 是 说 时 钟 网 络 依<br />

然 处 于 激 活 状 态 , 而 时 钟 网 络 造 成 的 功 耗 占 总 功 耗<br />

的 很 大 部 分 , 只 有 关 闭 时 钟 网 络 才 能 同 时 达 到 关 闭<br />

[3]<br />

模 块 功 能 和 降 低 功 耗 的 目 的 。 采 用 时 钟 门 控 技 术<br />

就 可 以 达 到 关 闭 时 钟 网 络 的 目 的 。 图 3 就 是 采 用 了<br />

门 控 时 钟 ,EN 为 时 钟 的 使 能 信 号 , 只 有 当 该 信 号<br />

有 效 时 , 实 际 的 时 钟 输 入 端 才 会 产 生 脉 冲 , 将 数 据<br />

data_in 更 新 到 寄 存 器 中 。<br />

图 3 门 控 时 钟<br />

在 本 设 计 中 , 初 期 采 用 在 语 言 中 加 以 描 述 。 另<br />

外 , 也 可 以 通 过 综 合 工 具 power compiler 自 动 加 入<br />

门 控 时 钟 , 这 部 分 将 在 以 后 的 工 作 中 进 行 。<br />

当 加 入 门 控 时 钟 (clock gate) 有 以 下 作 用 :<br />

a3,3<br />

S-box<br />

b 0,0 b 0,2 b 0,3<br />

b 1,0 b 1,2 b 1,3<br />

a 2,2 b 2,0 b 2,2 b 2,3<br />

b 3,0 b 3,2 b 3,3<br />

(1) 有 效 地 降 低 时 钟 网 络 的 电 容<br />

Vol. 3 No.4 / Apr. 2009<br />

(2) 时 钟 等 效 翻 转 频 率 的 降 低 大 大 降 低 了 寄 存 器 内 部<br />

的 短 路 电 流 功 耗 和 传 输 网 络 的 翻 转 功 耗<br />

(3) D 触 发 器 的 时 钟 输 入 端 口 对 毛 刺 敏 感 , 门 控 单 元<br />

能 有 效 地 滤 除 信 号 EN 的 毛 刺 , 避 免 因 竞 争 而 导<br />

致 触 发 器 发 生 错 误 的 状 态 变 化 。<br />

4.3 流 水 线 (pipeline)<br />

[4]<br />

流 水 线 结 构 把 指 令 划 分 为 多 个 步 骤 , 充 分 利 用<br />

每 个 时 钟 周 期 由<br />

可 知 : 若 整 个 系 统 的 吞<br />

吐 量 不 变 , 则 工 作 电 压 可 以 降 低 N 倍 , 从 而 使 功 耗 降<br />

低 约 N 2 倍 。 但 是 流 水 线 结 构 设 计 的 复 杂 性 高 , 在 设 计<br />

中 插 入 的 寄 存 器 不 但 增 大 了 面 积 , 而 且 增 加 了 时 钟 负<br />

载 电 容 , 导 致 额 外 的 功 耗 浪 费 , 但 总 的 功 耗 降 低 了 。<br />

基 于 以 上 理 论 , 本 文 采 用 5 级 流 水 线 , 具 体 框 架 图 见<br />

图 5。<br />

由 于 本 设 计 刚 刚 完 成 前 端 的 设 计 工 作 , 未 对 其<br />

进 行 后 端 的 设 计 , 无 法 得 到 有 关 于 功 耗 方 面 的 具 体<br />

数 据 。 为 了 证 明 该 方 法 的 可 行 性 , 本 文 对 该 电 路 进<br />

行 如 下 的 估 算 : 假 定 该 电 路 在 5V 电 压 下 可 以 工 作<br />

在 50MHz, 如 果 采 用 如 图 4 流 水 线 使 得 电 路 可 以 工<br />

作 在 80MHz, 那 么 电 路 就 可 以 采 用 较 低 的 工 作 电 压<br />

比 如 3.3V 而 使 得 电 路 依 然 工 作 在 50MHz。 采 用 这 样<br />

的 策 略 , 主 要 目 的 是 将 电 路 的 工 作 频 率 保 持 不 变 ,<br />

使 得 电 路 的 工 作 电 压 降 低 。 假 定 电 路 原 来 的 功 耗 为<br />

, 在 使 用 了 流 水 线 策 略 后 , 因 为 增 加 了<br />

寄 存 器 , 电 路 的 有 效 电 容 增 加 为 1.22C, 此 时 :<br />

由 以 上 估 算 可<br />

见 , 通 过 改 变 电 路 的 体 系 结 构 降 低 电 路 的 工 作 电 压 ,<br />

可 以 极 大 地 降 低 该 电 路 的 功 耗 , 在 此 基 础 上 降 低 电 路<br />

的 工 作 电 压 , 同 样 可 以 提 高 电 路 的 工 作 速 度 。<br />

4.4 资 源 共 享<br />

<br />

图 4 AES 流 水 线 框 架 图<br />

<br />

44


No<br />

change<br />

Shift 1<br />

<br />

Shift 2<br />

<br />

S-box<br />

a 3,0<br />

a 3,1<br />

a 3,2 a 3,3<br />

b 3,0<br />

b 3,1<br />

b 3,2 b 3,3<br />

a 0,0<br />

a 0,1<br />

a 0,2 a 0,3<br />

b 0,0<br />

b 0,1<br />

b 0,2 b 0,3<br />

a 1,0<br />

a 1,1<br />

a 1,2 a 1,3 MixColumns b 1,0<br />

b 1,1<br />

b 1,2 b 1,3<br />

a 2,0 a 2,1 a 2,2 a 2,3<br />

b 2,0 b 2,1 b 2,2 b 2,3<br />

× C(x)<br />

a 0,0 a 0,1 a 0,2 a 0,3<br />

a 0,0 a 0,1 a 0,2 a 0,3<br />

a 2,0 a 2,1 a 2,2 a 2,3<br />

a 2,2 a 2,3 a 2,0 a 2,1<br />

a 1,0 a 1,1 a 1,2 a 1,3<br />

ShiftRows a 1,1 a 1,2 a 1,3 a 1,0<br />

基 于 加 解 密 合 并 原 则 , 加 密 跟 解 密 的 过 程 中 的 某<br />

些 操 作 步 骤 ( 如 :subbytes 和 MixColumns) 是 一 样 的<br />

Shift 3<br />

a 3,0 a 3,1 a 3,2 a 3,3<br />

a 3,3 a 3,0 a 3,1 a<br />

可 以 合 并 , 从 而 简 化 电 路 , 减 少 一 些 不 必<br />

3,2<br />

要 的 功 耗 。<br />

<br />

4.4.1 SubBytes 和 Inv-SubBytes<br />

字 节 替 换 (SubBytes) 是 AES 加 解 密 过 程 中 比 较 重<br />

要 的 部 分 , 存 在 有 比 较 大 的 组 合 逻 辑 延 迟 。 传 统 的<br />

设 计 中 , 大 多 数 运 用 有 较 大 延 迟 的 查 找 表 的 方 式 。<br />

在 文 献 [5] 中 采 用 了 二 叉 判 决 图 (BDD), 很 好 地 优 化<br />

了 subbytes 和 invSubbytes 的 设 计 , 从 而 减 少 了 功<br />

耗 及 AES 的 高 速 实 现 。 为 了 更 好 的 使 用 流 水 线 , 采 用<br />

复 合 域 来 实 现 。<br />

低 功 耗 AES 信 息 安 全 芯 片 设 计 与 实 现<br />

时 InvMixColumns 运 算 的 矩 阵 可 以 表 示 为 图 7 的 形<br />

式 , 其 中 MixColumns (Encryption) 是 加 密 时 的 运<br />

算 , 所 以 MixColumns 模 块 的 加 密 硬 件 和 解 密 的 部<br />

分 硬 件 可 以 实 现 复 用 , 从 而 减 小 计 算 复 杂 度 。 图 6<br />

是 本 文 的 MixColumns 模 块 结 构 , 加 密 时 数 据 直 接<br />

通 过 MixColumns (Encryption) 部 分 得 到 结 果 , 而<br />

在 解 密 时 数 据 先 通 过 PreProessing 部 分 , 然 后 再 通<br />

过 MixColumns (Encryption) 部 分 , 完 成 InvMix-<br />

Colums(Decryption) 运 算 。 使 用 上 述 所 描 述 的 特<br />

性 ,InvMixColumns 的 实 现 可 以 与 MixColumns 的<br />

结 构 共 享 。<br />

SubBytes 进 行 的 运 算 包 括 :<br />

(1) 在 不 可 约 多 项 式 为 有 限 域 GF(2 8 ) [5-8] 上 求 乘 逆 ;<br />

(2) 进 行 如 图 5 的 仿 射 变 换<br />

首 先 , 使 用 映 射 函 数 δ 将 域 A 的 所 有 元 素 映 射 到<br />

域 B( 该 步 骤 相 当 于 加 密 过 程 中 的 SubBytes); 其 次 ,<br />

在 域 A 上 计 算 乘 逆 最 后 , 使 用 映 射 函 数 δ -1 将 元 素 映 射<br />

回 域 A( 该 步 骤 相 当 于 解 密 过 程 中 的 Inv-SubBytes 经<br />

对 subbytes 和 inv-subbytes 过 程 )。 进 行 以 上 优 化 ,<br />

总 的 系 统 图 如 图 5。<br />

4.4.2 MixColumns 和 InvMixColumns<br />

和 S u b B y t e s 模 块 对 单 个 字 节 运 算 不 同 ,<br />

MixColumns [10] 模 块 同 时 计 算 32 位 数 据 。 本 文 的<br />

MixColumns 模 块 能 实 现 加 解 和 解 密 操 作 , 还 可<br />

以 实 现 部 分 硬 件 的 复 用 ( 即 资 源 共 享 )。 因 为 在 解 密<br />

5 结 束 语<br />

图 6 MixColumns 模 块 结 构<br />

<br />

图 5 利 用 复 合 域 实 现 subbytes 结 构 框 图<br />

图 7 InvMixColumns 运 算 的 矩 阵<br />

45


Vol. 3 No.4 / Apr. 2009<br />

本 文 采 用 以 上 所 述 方 法 ,AES 前 端 设 计 已 基 本<br />

完 成 。 并 用 Synplify Pro8.2 综 合 ,Xilinx ISE 布 局 布<br />

线 。 目 标 器 件 为 xc4vx40-12ff688, 布 局 布 线 后 的 时<br />

序 报 告 显 示 最 高 工 作 频 率 (Maximum Frequency)<br />

为 135.699MHZ, 资 源 消 耗 1839 Slices,2156 个 4<br />

输 入 LUTs, 最 大 吞 吐 率 (Maximum Throughput) 为<br />

1466.3Mbps。<br />

为 专 用 集 成 电 路 与 系 统 。<br />

李 烨 作 者 简 介 见 本 期 封 2 页 。<br />

在 后 期 工 作 中 , 根 据 DC 综 合 及 时 序 报 告 等 进 行<br />

对 前 端 的 改 进 与 优 化 , 并 采 用 数 字 IC 后 端 设 计 过 程<br />

中 的 一 些 有 关 降 低 功 耗 方 面 的 方 法 , 使 AES 芯 片 在 功<br />

耗 方 面 有 所 降 低 , 真 正 实 现 一 款 低 功 耗 、 高 效 的 AES<br />

硬 件 加 密 芯 片 。<br />

参 考 文 献<br />

[1] Advanced Encryption Standard (AES) [S]. Nov. 26, 2001.<br />

[2] A lireza Hodjat, Ingrid V erbauwhede Speed-area trade-off for 10<br />

to 100 Gbits/s throughput AES processor [C].2003,2147_2150<br />

[3] 董 策 , 杨 志 家 . AES 加 密 算 法 的 高 速 低 功 耗 ASIC 设 计 . 微 计 算<br />

机 信 息 ,2005.21.(9.3)<br />

[4] A nantha P. Chandrakasan, Samuel Sheng and Robert<br />

W.Brodersen. Low power CMOS digital design(R). EECS<br />

Department Technical Report, University of CaliforniaatBerkeley,<br />

1994.<br />

[5] Morioka S, SatohA. An optimized s-box circuit architecture for<br />

low power AES design [C].2003, 1722186.<br />

[6] Paar C. Fast arithmetic architecture for public-key algorithms<br />

over galois fields GF ( (2n)m) [C]. 1997,3632378.<br />

[7] Rudra A, etal. Efficient implementation of rijndael encryption<br />

with composite field arithmetic [C]. 2001, 1752188.<br />

[8] S Morioka, ASatoh A 10 Gbps Fu11-AES Crypto Design with a<br />

Twisted-BDD S-Box Architecture.very large scale integration<br />

system ,july 2004,12(7).<br />

[9] LuCC, Tseng S Y. Integrated design of AES (advanced encryption<br />

standard)encrypter and decrypter[C].2002, 2772285.<br />

[10] KGaj and P Chodowiec. comparison of the hardware performance<br />

of the aes candidates using reconfigurable hardware. Third<br />

Advanced Encryption Standard(AES)Candidate Conf.Apr.2000.<br />

作 者 简 介<br />

章 成 旻 男 , 西 安 电 子 科 技 大 学 研 究 生 , 现 为 深 圳 先<br />

进 技 术 研 究 院 客 座 学 生 , 研 究 方 向 为 数 字 IC<br />

低 功 耗 设 计 。<br />

梁 允 萍 女 , 硕 士 , 毕 业 于 北 京 大 学 , 现 为 深 圳 先 进<br />

技 术 研 究 院 研 究 助 理 , 研 究 方 向 为 数 字 IC 低<br />

功 耗 设 计 。<br />

黄 敦 锋 男 , 电 子 科 技 大 学 硕 士 在 读 , 现 为 中 国 科 学<br />

院 深 圳 先 进 技 术 研 究 院 客 座 学 生 , 研 究 方 向<br />

46

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!