(Translated by https://www.hiragana.jp/)
Camellia - Wikipedia

Camellia(カメリア)とは、2000ねんNTT三菱電機みつびしでんきにより共同きょうどう開発かいはつされたブロック暗号あんごうである。名称めいしょう由来ゆらい植物しょくぶつツバキツバキぞくCamellia)。

Camellia
一般いっぱん
設計せっけいしゃ 三菱電機みつびしでんき, NTT
初版しょはん発行はっこう 2000ねん
派生はせいもと E2, MISTY1
認証にんしょう CRYPTREC, NESSIE
暗号あんごう詳細しょうさい
かぎちょう 128, 192または256ビット
ブロックちょう 128ビット
構造こうぞう Feistel構造こうぞう
ラウンドすう 18または24

CamelliaはFeistel構造こうぞう採用さいようしたブロックちょう128ビットブロック暗号あんごうで、かぎちょうとしてAESおなじ128ビット、192ビット、256ビットの3つを選択せんたくできる。また、CamelliaはAESと同等どうとう安全あんぜんせいたもちつつハードウェアでのてい消費しょうひ電力でんりょく高速こうそく暗号あんごう復号ふくごうすぐれている。

構造こうぞう

編集へんしゅう

Camelliaの入出力にゅうしゅつりょくインタフェースAES互換ごかんで、ブロックちょうは128ビット固定こていかぎちょうは128 / 192 / 256ビットの3つを選択せんたくできる。

全体ぜんたい構造こうぞうは、AESではSPN構造こうぞう採用さいようされたのとちがい、DESおなFeistel構造こうぞう採用さいようしている。ラウンド段数だんすうは、かぎちょうが128ビットのときは18だん、192ビット・256ビットのときは24だんで、6だんごとに「ふく変換へんかん」とばれるぜんたん関数かんすうFLとFL-1が挿入そうにゅうされている。また、最初さいしょ最後さいごにホワイトニング(拡大かくだいかぎとの排他はいたてき論理ろんり)がもうけられている。

ラウンド関数かんすうはバイト(8ビット)を単位たんいとした処理しょりになっていて、拡大かくだいかぎとの排他はいたてき論理ろんりのち、8ビット入力にゅうりょく-8ビット出力しゅつりょくSボックス(4種類しゅるいある)と、FEALにもたあみだくじがたのP関数かんすうによって構成こうせいされる。Sボックスは4種類しゅるいあるが、テーブル1つと、入出力にゅうしゅつりょくのビットシフトとう組合くみあわせで実装じっそうすることもできる。

かぎスケジューラは、ラウンド関数かんすう2だんで、かぎを"暗号あんごう"して中間ちゅうかんかぎ生成せいせいし、中間なかまかぎ一部分いちぶぶんすことで拡大かくだいかぎつくす。具体ぐたいてきには中間ちゅうかんかぎをラウンドごと定義ていぎされたぶんだけシフトして、みぎ64ビット(またはひだり64ビット)をす。CamelliaはFeistel構造こうぞう採用さいようして、暗号あんごう復号ふくごうちがいはラウンド関数かんすうとう使用しようされる拡大かくだいかぎ順番じゅんばんのみになるように設計せっけいされている。そこでかぎスケジューラは、拡大かくだいかぎを1番目ばんめから順番じゅんばんもとめることも、最後さいごから逆順ぎゃくじゅんもとめることも、それぞれ、どちらも同様どうよう手間てま実現じつげんできるように設計せっけいされている。

安全あんぜんせい

編集へんしゅう

Camelliaは解読かいどく可能かのうなラウンドすう最低限さいていげん安全あんぜんせいたもてるラウンドすうもとにした指標しひょうであるセキュリティーマージンにてAES上回うわまわる1.8~2.0を確保かくほしている[1]。これにくわえ、CamelliaはCRYPTRECおよびNESSIEにおいてAESと同等どうとう安全あんぜんせい効率こうりつそなえているという評価ひょうかもされている。

性能せいのう

編集へんしゅう

開発かいはつしゃ第三者だいさんしゃによる実装じっそう報告ほうこくによると、パソコンで使用しようされている汎用はんようCPUでは1 Gbps専用せんようLSIでは2 Gbpsをえるスループットがある。

一方いっぽう組込くみこ機器きき使用しようされる8ビットCPUなどの処理しょり能力のうりょくひくいプロセッサでも、極端きょくたんなメモリサイズ増加ぞうかしょうじず、ハードウェア実装じっそうした場合ばあいには、暗号あんごう復号ふくごうかぎスケジューラで回路かいろ共用きょうようできるため10,000ゲート以下いかでも実装じっそう可能かのうであることが確認かくにんされている。

ソフトウェア実装じっそう

編集へんしゅう
  • 組込くみこ機器ききとうでの性能せいのう(8ビットCPU)
    • 7.19 msec (ENC) / 7.51 msec (DEC) - Z80 (5 MHz), ROM 1,268バイト, RAM 60バイト (NTT)
    • 5.68 msec (ENC) / 1.03 msec (KeyGen) - Z80 (), ROM 1,698バイト, RAM 63バイト (NTT)
    • 10.22 msec (ENC/DEC) - 8051 (12 MHz), ROM 990バイト, RAM 32バイト (1st NESSIE Workshop)
  • パソコンなどでの性能せいのう(32/64ビットCPU)
    • 1,134.6 Mbps - Intel Pentium 4 (3.2 GHz), Windows XP SP2, かぎちょう128ビット (Oda, et al., SCIS 2006)
    • 1,158.8 Mbps - AMD Athlon 64 3500+ Winchester (2.2 GHz), Windows XP 64-Bit Edition, ビットスライス実装じっそう, かぎちょう128ビット (Fukuda, et al., SCIS 2006)

ハードウェア実装じっそう

編集へんしゅう
  • ASIC
    • 325.76 Mbps - IBM 0.13 μみゅーm, 6,511 unit, Loop arch, かぎちょう128ビット (Satoh, et al., ISC 2003)
    • 2,154.88 Mbps - IBM 0.13 μみゅーm, 29,809 unit, Loop arch, かぎちょう128ビット (Satoh, et al., ISC 2003)
  • FPGA
    • 128.58 Mbps - Xilinx Virtex-E, 908 Slice, Loop arch, かぎちょう128ビット (Satoh, et al., ISC 2003)
    • 393.24 Mbps - Xilinx Virtex-E, 2,833 Slice, Loop arch, かぎちょう128ビット (Satoh, et al., ISC 2003)
  • 2000ねん3がつ10にち Camelliaの公開こうかい:NTTと三菱電機みつびしでんきによる共同きょうどう開発かいはつがニュースリリースされる。
  • 2001ねん4がつ17にち Camelliaの基本きほん特許とっきょ無償むしょう宣言せんげんされる。
  • 2003ねん2がつ20日はつか 日本にっぽん暗号あんごう評価ひょうかプロジェクトCRYPTRECによる電子でんし政府せいふ推奨すいしょう暗号あんごうリストにCamelliaも推奨すいしょうされる。
  • 2003ねん2がつ27にち 欧州おうしゅう暗号あんごう評価ひょうかプロジェクトNESSIEにて、128ビットブロック暗号あんごうとして、AESとともにCamelliaも選定せんていされる。
  • 2005ねん7がつ15にち 国際こくさい標準ひょうじゅん規格きかくISO/IEC 18033 Part 3の128ビットブロック暗号あんごうに、の2つの暗号あんごう(AES、SEED)とともにCamelliaも採用さいようされる。(5がつ27にちにニュースリリース)
  • 2005ねん7がつ20にち SSL/TLS、S/MIME、XMLなどの標準ひょうじゅん規格きかくで、暗号あんごう方式ほうしきとしてCamelliaが追加ついかされる。
  • 2006ねん4がつ13にち Camelliaのオープンソースが公開こうかいされる。
  • 2006ねん11月8にち OpenSSLにCamelliaが追加ついかされる。
  • 2007ねん6がつ7にち FreeBSD ProjectがCamelliaへの対応たいおう発表はっぴょうする。
  • 2008ねん6がつ17にち ウェブブラウザとしてはつ採用さいようしたMozilla Firefox 3がリリースされた(のちに、バージョン33において既定きてい無効むこうされ[2]、バージョン37でサポート終了しゅうりょう[3])。
  • 2013ねん3がつ1にち CRYPTRECによって改訂かいていされた電子でんし政府せいふ推奨すいしょう暗号あんごうリストに、日本にっぽんはつのブロック暗号あんごうとして唯一ゆいいつCamelliaが推奨すいしょうされる。

標準ひょうじゅん

編集へんしゅう

Camelliaは、欧州おうしゅうNESSIEプロジェクトや日本にっぽんCRYPTREC作成さくせいした「電子でんし政府せいふ推奨すいしょう暗号あんごうリスト」に採用さいようされている。

また、TLS/SSLIPsecをはじめとして、IETFISO/IECなどおおくの標準ひょうじゅん団体だんたい採用さいようされている。おも標準ひょうじゅん実績じっせき以下いかとおりである[4]

  • CRYPTREC
  • NESSIE
  • IETF
    • アルゴリズム
      • RFC 3713: A Description of the Camellia Encryption Algorithm
      • RFC 5528: Camellia Counter Mode and Camellia Counter with CBC-MAC Mode Algorithms
    • S/MIME
      • RFC 3657: Use of the Camellia Encryption Algorithm in Cryptographic Message Syntax (CMS)
    • XML暗号あんごう
      • RFC 4051: Additional XML Security Uniform Resource Identifiers (URIs)
    • TLS/SSL
      • RFC 4132: Addition of Camellia Cipher Suites to Transport Layer Security (TLS)
      • RFC 5932: Camellia Cipher Suites for TLS
      • RFC 6367: Addition of the Camellia Cipher Suites to Transport Layer Security (TLS)
    • IPsec
      • RFC 4312: The Camellia Cipher Algorithm and Its Use With IPsec
      • RFC 5529: Modes of Operation for Camellia for Use with IPsec
    • OpenPGP
      • RFC 5581: The Camellia Cipher in OpenPGP
    • RSA-KEM in CMS
      • RFC 5990: Use of the RSA-KEM Key Transport Algorithm in the Cryptographic Message Syntax (CMS)
    • PSKC
      • RFC 6030: Portable Symmetric Key Container (PSKC)
    • スマートグリッド
      • RFC 6272: Internet Protocols for the Smart Grid
  • ISO/IEC
  • ITU-T
    • security mechanisms and procedures for NGN (Y.2704)
  • RSA Laboratories
  • TV-Anytime Forum
    • approved cipher in TV-Anytime Rights Management and Protection Information for Broadcast Applications
    • approved cipher in Bi-directional Metadata Delivery Protection

脚注きゃくちゅう

編集へんしゅう

関連かんれん項目こうもく

編集へんしゅう

外部がいぶリンク

編集へんしゅう