230 likes | 398 Views
再構成・拡張可能なプロセッサへの共通鍵暗号 Camellia の実装. 情報工学科 阿部研究室 0411089 松尾 一慶. 発表の流れ. はじめに 再構成・拡張可能なプロセッサ 共通鍵暗号 Camellia 実験 実験方法 実験結果と考察 おわりに. はじめに (1). ネットワーク上でのプライバシー確保、 安全性確保のために、暗号技術は注目され、重要なものとなっている 特に組み込み分野では共通鍵暗号を 効率良く実装することが望まれている. はじめに (2). 高速かつ低コストな実装を 実現する手段の一つとして、
E N D
再構成・拡張可能なプロセッサへの共通鍵暗号 Camelliaの実装 情報工学科 阿部研究室 0411089 松尾 一慶
発表の流れ • はじめに • 再構成・拡張可能なプロセッサ • 共通鍵暗号Camellia • 実験 • 実験方法 • 実験結果と考察 • おわりに
はじめに (1) • ネットワーク上でのプライバシー確保、 安全性確保のために、暗号技術は注目され、重要なものとなっている • 特に組み込み分野では共通鍵暗号を 効率良く実装することが望まれている
はじめに (2) • 高速かつ低コストな実装を 実現する手段の一つとして、 再構成・拡張可能なプロセッサを 利用する方法がある [1]
はじめに (3) • 本研究では共通鍵ブロック暗号Camellia[2]に着目し、再構成・拡張可能なプロセッサ上で 実装する • 性能と電力の面から従来法と比較、評価
再構成・拡張可能なプロセッサ 汎用性を保ちつつ、特定の処理に最適な プロセッサを構成することが可能 • 再構成パラメータ • 最大命令長、キャッシュサイズ、 データバス幅、バイト順序など • 拡張 • 命令、拡張ユニット、I/O等を独自に追加可能
Camellia • NTTと三菱電機が共同で開発した国産の128bit 共通鍵ブロック暗号 [2][3] • 現在主流の共通鍵暗号AESと同等以上の 安全性を確保 • 様々な環境で効率的な実装が可能 • 各種国際標準規格・推奨暗号に採用 • 基本特許無償・オープンソース • 再構成・拡張可能なプロセッサでの実装例は これまでない
Camellia のアルゴリズム (1) • 入出力インターフェースはAES互換 • ブロック長128bit のブロック暗号 • 鍵長は 128, 192, 256bit の3種類から選択 • データ攪拌部はFeistel構造 • 鍵長に応じた 18~24段の繰り返し構造
Camellia のアルゴリズム (2) • 復号化 • 副鍵の適用順序を暗号化の逆順にするのみ 暗号化と同様の手順で実行 • 論理演算と換字置換のみから構成 高速で効率的な実装が可能
Feistel構造 (1) • ブロック暗号の代表的な構造 • DES等、多くの暗号で採用 AESはSPN構造 • アルゴリズム • 入力されたデータを2つに分割 • 片方をF関数を通して変換し、他方にXOR • 2つを入れ替える
実験の目的 • 再構成・拡張可能なプロセッサにCamelliaを実装する • 1ブロック分の処理に要するサイクル数と総消費電力値を評価する
実験方法:利用環境 • 実装 再構成・拡張可能なプロセッサ • 米Tensilica社のXtensa LX2プロセッサ [6] • 32bit のRISCプロセッサ • 評価 命令セットシミュレータXtensa ISS(Ver. 7.1.0.2)
実験方法:プロセッサの再構成 • キャッシュに着目 • ブロック暗号処理ではメモリとの間の データのやり取りが多い • 実装A, B, C では所要サイクル数が 最小になるようにキャッシュを再構成
実験方法:プロセッサの拡張 • Camellia のブロック長は128bit • データバス幅を128bit に • 128bit レジスタを4つ実装 • 鍵拡張・暗号化・復号化の専用命令を作成 • 副鍵は動的に生成(鍵拡張)
考察 • ソフトウェア的な高速化手法が施された実装Bと 本研究で拡張を行った実装Cを比較 • 所要サイクル数は約97%減 • 総消費電力値は最低でも約65%減 • スループット 実装Cのプロセッサは約300MHzで動作 →約1.3Gbps(実装Bと比較して約36倍)
まとめ • 次世代の有望な共通鍵暗号 Camelliaを 再構成・拡張可能なプロセッサへ実装した • 評価の結果、次のことが分かった • 処理の所要サイクル数と総消費電力値を 大きく削減できる • 低エネルギーで高スループットな実装を実現できる
今後の課題 • 一般的な組み込み向けプロセッサへの 実装との比較 • 並列化実装 • スループットの厳密な評価