CoderTools

Camellia暗号化・復号化

ISO/NESSIE/CRYPTREC認定暗号 - AESと同等のセキュリティ

セキュリティ情報

CamelliaはAESと同等の優れたセキュリティを提供します。ISO/IEC標準または日本・欧州の認証が必要なアプリケーションに推奨されます。

フォーマットオプション

Camelliaについて

Camelliaについて

Camelliaは2000年に三菱電機とNTT(日本電信電話)が共同で開発した対称鍵ブロック暗号です。128ビットブロックサイズで、128・192・256ビットの鍵に対応しています。6つのラウンドを1グループとして構成し、各グループの間にFL/FL⁻¹関数を挿入しています。このFL/FL⁻¹関数は鍵依存のビット演算で、主なFeistel層の間に追加の非線形性を注入する構造的要素であり、AESにはない特徴です。

主な特徴

  • 128ビットブロックサイズと128/192/256ビット鍵に対応 — AESと同じブロック幅で、TLSやIPsecでのバイト単位の互換置換が可能
  • 128ビット鍵: 18ラウンド、192/256ビット鍵: 24ラウンド — 6ラウンド単位でグループ化し、各グループ間にFL/FL⁻¹層を配置
  • FL/FL⁻¹関数: Camellia固有の構造で、ラウンドグループ間に鍵依存のAND/OR/回転演算を適用し鍵材料の拡散を大きく向上
  • 三冠認定: ISO/IEC 18033-3(国際)、NESSIE(欧州)、CRYPTREC(日本政府推奨)— 3つの主要認証を同時に取得した唯一の非AES暗号
  • 2017年以降特許フリー; OpenSSL・GnuTLS・NSS(Firefox)・LibreSSL・Bouncy CastleでTLSおよびVPN実装に既に統合済み
  • 2017年以降特許フリー; OpenSSL・GnuTLS・NSS(Firefox)・LibreSSL・Bouncy CastleでTLSおよびVPN実装に既に統合済み

暗号化モード

暗号化モード

ECB: 電子符号表 — 各128ビットブロックは同じ鍵でFL/FL⁻¹鍵混合層を含むすべての18(または24)Camelliaラウンドを独立して処理されます。同一の128ビット平文ブロックは常に同一の暗号文を生成し、データの繰り返しパターンが可視化されます。真にユニークなナンスやランダム鍵の単一ブロック暗号化のみに許容されます。
CBC: 暗号ブロック連鎖 — 各128ビットCamelliaブロックは18/24のFeistelラウンドとFL/FL⁻¹変換の前に、前の暗号文ブロックとXORされます。Camelliaの128ビットブロック幅はAES-CBCと完全に一致しており、TLS暗号スイート(RFC 5932)内でのドロップイン置換が可能です。16バイトアラインデータには標準PKCS#7パディングのみが必要です。
CFB: 暗号フィードバック — CamelliaのFL層を含む完全な18/24ラウンド関数が前の暗号文ブロックを処理し、その出力を次の平文セグメントとXORします。自己同期型ストリーム暗号を形成し、パディングオーバーヘッドなしにバイト単位の粒度や不完全な最終ブロックが必要なストリーミングプロトコルに適しています。
OFB: 出力フィードバック — CamelliaラウンドがIVを反復暗号化して平文とは独立した鍵ストリームを生成します。エラーは対応する出力バイトにのみ影響し、連鎖しません — Camelliaのハードウェア効率的な構造でスループット優位性が得られる衛星や無線などの損失のあるチャンネルの保護に適しています。

アルゴリズム比較

アルゴリズム ブロックサイズ 鍵長 セキュリティ 標準認証 標準認証
Camellia128 bit128/192/25618/24優秀ISO/NESSIE/CRYPTREC
AES128 bit128/192/25610/12/14良好NIST
Twofish128 bit128/192/25616優秀AES Finalist
DES64 bit5616優秀弱い

セキュリティに関する考慮事項

  • Camellia-128に対する最善の既知攻撃は18ラウンドのうち12ラウンドに到達(関連鍵差分解読法); 全ラウンド版には既知の実際的な攻撃がなく、現在の解読フロンティアから6ラウンドのセキュリティマージンが残る
  • 6ラウンドグループ間のFL/FL⁻¹関数は鍵依存のビット置換を注入し、ラウンド境界を越えた差分および線形経路を破壊します — この構造的メカニズムにより、AESなどの純粋なSPN暗号より関連鍵攻撃が著しく困難になります
  • NESSIE(2003)とCRYPTRECの独立評価により、CamelliaはAES検証に使用されたのと同じ基準で、差分・線性・不可能差分・高次差分・切断差分解読法など既知のすべての攻撃族への耐性が確認されました
  • Camelliaの128ビットブロック幅は、64ビット暗号(DES・3DES・Blowfish)が直面する誕生日境界問題を解消します: 衝突閾値は鍵ごとに2⁶⁴ブロック(約147ペタバイト)後に発生し、Sweet32スタイルの攻撃は実用的な範囲から完全に外れます
  • Camelliaの128ビットブロック幅は、64ビット暗号(DES・3DES・Blowfish)が直面する誕生日境界問題を解消します: 衝突閾値は鍵ごとに2⁶⁴ブロック(約147ペタバイト)後に発生し、Sweet32スタイルの攻撃は実用的な範囲から完全に外れます

使用例

TLS/SSL暗号スイート: CamelliaはTLS 1.2でTLS_RSA_WITH_CAMELLIA_128_CBC_SHA(RFC 5932)およびTLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384(RFC 6367)として展開 — 日本の金融システムと政府サービスで広く利用
IPsec VPN: RFC 4312がIKEv1/v2とESPでのCamellia使用を定義し、CRYPTREC準拠アルゴリズムが必要な日本政府ネットワーク展開へのAES代替手段を提供
OpenPGPメールとファイル暗号化: RFC 5581がCamellia-128/192/256をOpenPGPのオプション対称アルゴリズムとして追加し、NESSIE認定暗号を必要とするユーザーやポリシードメインにAES以外の選択肢を提供
日本の政府機関と金融機関: CRYPTRECの指定によりCamelliaは日本の電子政府システムと銀行インフラで必須または強く推奨されるアルゴリズムとなっています
ハードウェアセキュリティモジュールと組み込み暗号: CamelliaのFeistel構造はFPGAゲートアレイとASIC実装に効率的にマッピングでき、コンパクトなロジックにより暗号化と鍵スケジュール計算の同時処理が可能です
ハードウェアセキュリティモジュールと組み込み暗号: CamelliaのFeistel構造はFPGAゲートアレイとASIC実装に効率的にマッピングでき、コンパクトなロジックにより暗号化と鍵スケジュール計算の同時処理が可能です

参考リンク

関連ツール

クイックメニュー

最近のツールはありません