CAMELLIA H/W 実装評価報告東芝
2001-01-12

目次
1

はじめに

32

ハードウェア設計の方針

33回路構成

34

実装結果

854.1

ハードウエア規模

4.2

処理速度

まとめ

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :8: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :810

1 はじめに本ドキュメントは, ブロック暗号アルゴリズム Camellia のハードウェア実装評価について記述したものである.
Camellia

は, 256/192/128 ビットの暗号化鍵を持つ 128 ビットブロック暗号であるが, 評価は, 256ビット鍵の暗号化回路に対して行った.
評価は, verilog で設計し, 同一の記述に対して合成条件で速度優先の条件と面積優先の条件で合成することにより行った。

2 ハードウェア設計の方針
設計方針を以下に示す.
1.

ループアーキテクチャを採用する.

2.

パイプラインアーキテクチャは採用しない.

3.

置換表はテーブルを用い, 論理合成ツールを用いて最適化を行う.

4.

コントロール回路は鍵生成及び暗号化回路の全てのタイミング信号を生成する.

図 1に評価アルゴリズムを示す. 左側が暗号化アルゴリズムで, 右側が鍵スケジュールアルゴリズムである. 図中において, F は, F 関数, FL は, F L 関数, FLi は, F L01 を表している.

図 1において, 点線は, 1 段のループで処理される境界を示している. 鍵長が 256 ビットの場合は, 28クロックで暗号化処理が完了し, 6 クロックで鍵スケジュールが完了する.
各ループでの処理内容を表 1に示す.

3 回路構成本評価に使用した評価回路の構成を図 2に示す.
評価回路は, 暗号化回路, 鍵スケジュール回路, コントロール回路で構成される.

 暗号化回路
暗号化回路は, 一段分の暗号化のための回路である.
暗号化回路は, 入力された平文を保持する入力レジスタ (Input(M) Register), 暗号化された暗号文を保持する出力レジスタ (Output(C) Register), 暗号化を実現する組み合わせ回路 (Encryption Logic),

ループの処理結果を一時的に保持する一時レジスタ (Temporary Register)で構成される.

 鍵スケジュール回路
コントロール回路からの制御信号に従い副鍵を生成する回路. 256 ビット鍵の場合は, 6 クロッ
クで KA , KB の生成を完了する.
鍵スケジュール回路は, 入力された鍵を保持する入力レジスタ (Input(KR/KL) Register), 鍵スケジュールの中間結果を保持するレジスタ (KA/KB Register), 鍵スケジュールを実現する組み合わせ回路 (KeyScheduling Logic), 鍵スケジュールのループの処理結果を一時的に保持する一時レジスタ (Temporary Register) で構成される.
3

00F
F11F
F

22F3F4FF

35FF

46FL

FLi7FF

85F

F9F

610F11F

12F13FL

FLi14F15F16F17F18F19F20FL

FLi

21F22F

23F

24F

25F

26F

2728

図 1: 評価アルゴリズム

4表 1: 各ループにおける処理内容
1XOR + F- 関数
2F-関数

3F-関数

4F-関数

5F-関数

6F-関数

7FL-

8F-関数

9F-関数

10F-関数

11F-関数

12F-関数

13F-関数

14FL-

15F-関数

16F-関数

17F-関数

18F-関数

19F-関数

20F-関数

21FL-

22F-関数

23F-関数

24F-関数

25F-関数

26F-関数

27F-関数

28XOR関数

関数

関数

5Key

PlainText

Input(KR/KL)
Registers

Input(M)Registers

Selector

KeyScheduling
Logic

KA/KB
Registers

Temporary
Registers

Selector
Selector
Encryption
Logic

Output(C)Registers

Control
Logic

CipherText

図 2: 評価回路

6

Temporary
Registers コントロール回路
鍵生成の制御信号やタイミングの制御信号を生成する.
表 1に示した動作タイミングを図 3に示す。
1I-Regpt

E-Logic

X+F

T-Reg

2

34567891011121314151617181920

212223242526272829

F

F

F

F

F

FL

F

F

F

F

F

F

FL

F

F

F

F

F

F

FL

F

F

F

F

FFXX+FF1F2F3F4F5F6FL1F7F8F9F10 F11 F12 FL2 F13 F14 F15 F16 F17 F18 FL3 F19 F20 F21 F22 F23 F24pt
FF1CT

O-Reg

図 3: 評価回路の動作タイミング

図中において, I-Reg は, 暗号化回路の入力レジスタの出力, E-Logic は, 暗号化回路の暗号化ロジッ
クの処理内容, T-Reg は, 暗号化回路の一時レジスタの出力, O-Reg は, 暗号化回路の出力レジスタの出力である.
'1'のタイミングで, I-Reg に平文 pt が保持され, その値に X+F(XOR と F 関数) の処理が行われ,その結果 F1 が次のクロックの立ち上がりで一時レジスタに保持される.

'2'のタイミングで, 一時レジスタに保持されている値 F1 に対して F(F 関数) の処理が行われ, その結果 F2 が次のクロックの立ち上がりで一時レジスタに保持される. 同様に処理が進められ, '29' のタイミングで, 一時レジスタに保持されている値 F24 に対してその値に X(XOR) の処理が行われ, その結果の暗号文 CT が次のクロックの立ち上がりで出力レジスタに保持される. このような動作によって暗号化処理が行われる.

7

4 実装結果
Camelliaのハードウェア実装評価結果を示す.

以上の設計方針のもと, Camellia を ASIC で実装した場合について評価を行った. 評価条件を表に示す. 合成は, 速度優先の条件と面積優先の条件の 2 つで行った.

2

表 2: ハードウェア設計及び評価環境

4.1

記述言語

Verilog-HDL

シミュレータ

VCS5.1

デザインライブラリ

TOSHIBA 0.25

論理合成ツール

Design Compiler

動作条件

0μ COMSASIC Design Library． 2000.05-1〜 70℃， 3.3V ± 5 ％ハードウエア規模

ハードウェア規模の評価結果を以下に示す.
表 3: ハードウェア実装結果 (ハード規模) 単位： Gate
暗号アルゴリズム 暗号回路 鍵スケジュール コントロール回路
Triple-DES *1

4,218

1,333

151

6,496

Triple-DES *2

2,011

1,088

134

5,111

Camellia *1

16,32722,755266

39,348

Camellia *2

9,668

13,304

141

23,124*1

スピード優先にて論理合成*2

規模優先にて論理合成

4.2

TOTAL

処理速度

スループットの評価結果を以下に示す.
クリティカルパスは, 1 クロックサイクルの最大遅延時間を表している. したがって, 暗号化に要する処理時間は, クリティカルパス×処理クロック数となり, スループットは, 暗号化のブロックサイズを処理時間で割った値となる. Triple-DES では, 処理に 59 クロック要し, Camellia では, 処理に 28クロック要する.
なお, 数値は全て, ワースト条件での値である.

8表 4: ハードウェア実装結果 (スループット)
暗号アルゴリズム クリティカルパス 暗号化処理時間 スループット
Triple-DES *1

4.44ns262.0ns

244Mbps

Triple-DES *2

7.10ns419.9ns

153Mbps

Camellia *1

5.46ns152.9ns

837Mbps

Camellia *2

11.51ns322.3ns

397Mbps*1

スピード優先にて論理合成*2

規模優先にて論理合成

95 まとめ
本稿では, ハードウェア実装に対する評価結果を示した.
ハードウェア規模に関しては, Camellia は, Triple-DES に比べ 4.5 倍から 6.1 倍程度大きくなった.
また, データスケジュール部と鍵スケジュール部では, 鍵スケジュール部の方が大きくなる. これは,鍵スケジュール部がデータスケジュール部と同じ構成要素を持ち, かつ, 鍵の選択回路の規模が大きくなるためである.
スループットに関しては, Camellia は, Triple-DES に比べ 2.6 倍から 3.4 倍高速になった.

10