検索に移動この項目では、ブロック暗号について説明しています。その他の用法については「カメリア」をご覧ください。192または256ビットブロック長128ビット構造Feistel構造ラウンド数18または24Camellia(カメリア)とは、2000年にNTTと三菱電機により共同開発されたブロック暗号である。名称の由来は植物のツバキ(ツバキ属:Camellia)。CamelliaはFeistel構造を採用したブロック長128ビットのブロック暗号で、鍵長としてAESと同じ128ビット、192ビット、256ビットの3つを選択できる。CamelliaはAESと同等の安全性を保ちつつハードウェアでの低消費電力で高速な暗号化・復号に優れている。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と同等の安全性と効率を兼ね備えているという評価もされている。Gbpsを超えるスループットがある。組込み機器で使用される8ビットCPUなどの処理能力が低いプロセッサでも、極端なメモリサイズ増加は生じず、ハードウェア実装した場合には、暗号化と復号や鍵スケジューラで回路を共用できるため10,000ゲート以下でも実装可能であることが確認されている。Camelliaの公開:NTTと三菱電機による共同開発がニュースリリースされる。Camelliaの基本特許の無償化が宣言される。日本の暗号評価プロジェクトCRYPTRECによる電子政府推奨暗号リストにCamelliaも推奨される。欧州の暗号評価プロジェクトNESSIEにて、128ビットブロック暗号として、AESと共にCamelliaも選定される。3の128ビットブロック暗号に、他の2つの暗号(AES、SEED)と共にCamelliaも採用される。SSL/TLS、S/MIME、XMLなどの標準規格で、暗号方式としてCamelliaが追加される。Camelliaのオープンソースが公開される。OpenSSLにCamelliaが追加される。ProjectがCamelliaへの対応を発表する。3がリリースされた(後に、バージョン33において既定で無効化され[2]、バージョン37でサポート終了[3])。CRYPTRECによって改訂された電子政府推奨暗号リストに、日本初のブロック暗号として唯一Camelliaが推奨される。リスト」に採用されている。TLS/SSLやIPsecをはじめとして、IETFやISO/IECなど多くの標準化団体に採用されている。主な標準化実績は以下の通りである[4]。2015年2月26日閲覧。2015年2月26日閲覧。2013年11月30日閲覧。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。Cookieに関する声明モバイルビュ。