セキュアプラットフォーム研究所 情報セキュリティプロジェクト
新着情報 Camellia紹介 標準化情報等 製品情報・採用実績 技術情報・オープンソース お問い合わせ・よくある質問

カメリア A 128 Bit Block Cipher Suitable for Multiple Platforms

ソースコード

更新情報

2012年5月18日
  Camellia対応オープンソースに、FreeBSD 9系 portsWiresharkGmimeTera TermMIT Kerberos 5The Legion of the Bouncy Castle(C#)を追加しました。
その他のオープンソースに、Haskel版CamelliaエンジンoclCryptoを追加しました。
2010年12月22日
  MIT Kerberos 5 Release1.9にCamelliaが搭載されました。
2010年7月9日
  Camelliaのハードウェアオープンソース(IP Core)情報を追加しました。
2009年12月25日
  MIT KerberosへのCamellia拡張パッチをオープンソースページに追加しました。
2009年7月24日
  Camellia 対応オープンソースに strongSwan を追加しました。
2009年7月13日
  その他のオープンソースに、「ASP(Active Server Pages)&WSHなどで利用できるCOMコンポーネント」を追加しました。
更新履歴一覧へ

NTT作成のオープンソース

Camelliaを搭載する製品開発や試験運用・利用にあたっての利用者の作業負担を軽減することを目的に、CamelliaのNTT製ソースコードを、マルチプルライセンス形式のオープンソースとして無償で公開いたします。さらに、NTTと三菱電機の合意に基づき、Camelliaの利用者におかれては、基本特許無償許諾契約を締結せずともCamellia基本特許を無償にてご利用いただけることといたしました。詳しくは知的財産権情報のページをご覧ください。

【重要告知】

  1. NTT製のCamelliaオープンソースは、Camelliaの仕様および32ビットCPU用高速化手法に基づいて正しく暗号化・復号を行うようにプログラミングされていますが、暗号利用モードや鍵管理の仕組み、実装攻撃に対する対策技術などは組み込まれておりません。また、本オープンソースを利用して生じたいかなる損害についても、NTTがその責を負うことは一切ありませんので、ご了承のうえ、お使いください。
  2. Camellia技術およびそのオープンソースはいずれも「貿易関係貿易外取引等に関する省令」等により許可を要しない役務取引等に認められた公知情報に該当しますが、これらが組み込まれた暗号装置は「外国為替および外国貿易法」が定める規制貨物(輸出令別表第1の9の項(7)に掲げる貨物)に該当します。これらの暗号装置を、日本国外へ持ち出す場合、または国内外の非居住者に提供する場合には、同法に基づく輸出許可等必要な手続きをお取りください。 詳しくはこちらをご覧ください。


ガイダンス資料
Firefoxに関する資料
Firefox3.0を用いたCamelliaでのSSL通信方法
[日本語] CamelliaFirefoxV1.0_080619.pdf (2008-06-19, 291KB)

OpenSSLに関する資料
OpenSSLを用いたCamelliaの使い方
[日本語] CamelliausersguideV1.0_070704.pdf (2007-07-04, 387KB)
 「UNIX環境におけるCamelliaを含むOpenSSLのコンパイル方法(V1.1)」は、
 「OpenSSLを用いたCamelliaの使い方(V1.0)」に含まれます。
CamelliaでSSL通信できるSSLサーバの構築方法
[日本語] sslserverconstructionguidev2.1_090319.pdf (2009-03-19, 275KB)

Linuxカーネル、Ipsec-toolsに関する資料
Camelliaを使用したLinuxカーネル、IPsec-toolsのコンパイル方法
[日本語] linux-ref-jpn-1.0.pdf (2006-11-08, Version 1.0, 107KB)
[英語] linux-ref-eng-1.0.pdf (2006-11-08, Version 1.0, 34KB)

Camelliaエンジンに関する資料
Camelliaオープンソース解説資料
[日本語] CamelliaGuidance060718.pdf (2006-07-12, for C-language Version 1.1, 31KB)

暗号エンジン
Camellia暗号エンジン

Camellia拡張パッチ
コミュニティに投稿中のCamellia拡張パッチはこちら
コミュニティに採用済みのCamellia拡張パッチはこちら


Camellia対応オープンソース

プロダクト一覧
(NTT作成以外のオープンソースも含みます)
OSカーネル [updated]
OSVer利用できる機能
arrowLinux2.6.21以降IPsec
arrowFedora Core7以降IPsec
arrowFreeBSD 9系 ports暗号ライブラリ(pefs)
arrowFreeBSD 7系7.0以降IPsec、パーティション暗号化(geli)
arrowFreeBSD 6系6.4以降IPsec

ライブラリ [updated]
製品名Ver備考
arrowOpenSSL0.9.8c以降Camelliaが有効なOpenSSLが同梱されているOSはこちら
それ以外は、コンパイルオプションでenable-camelliaを指定する必要があります。
arrowNSS3.12以降 
arrowCrypto++5.4以降 
arrowThe GNU Transport Layer Security Library2.20以降 
arrowThe Legion of the Bouncy Castle(Java版)1.30以降本サイトで公開しているJava版Camelliaエンジン1.2.0が搭載されたBouncyCastle 1.41がリリースされました。
arrowThe Legion of the Bouncy Castle(C#版)1.4以降

Camelliaが有効なOpenSSLが同梱されているOS
製品名Ver
arrowFedora Core9以降
arrowOpenSUSE10.3以降
arrowGentoo Linux2008.0以降
arrowFreeBSD7.0以降
arrowFreeBSD ports2007/6/12以降

アプリケーション [updated]
製品名Ver概要利用できる機能
arrowFirefox3.0以降WebブラウザSSL
arrowGnuPG2以降電子メールOpenPGP
arrowipsec-tools0.7以降IPSECIPsec、IKE
arrowstrongSwan4.2.1以降IPSEC VPNIKE
arrowSeaMonkey2.0以降Mozilla統合型
アプリケーションスイート
 
arrowWireshark1.6.0以降ネットワークアナライザソフトウェア 
arrowGmime2.6.1以降MIMEを使用したメッセージ作成/解析ツール 
arrowTera Term2.5.7以降ターミナルエミュレーターSSH2
arrowMIT Kerberos 51.9以降Kerberos認証Kerberos


その他のオープンソース


※Camelliaのオープンソースを作成・公開された際にはこちらまで御一報いただけると幸いです。

Camellia for Open Souce Softwares (2006.5.25追加、2015.1.8リンク先更新)
 OpenSSH、OCamlなどへの拡張パッチが公開されています。

Camellia for Python (2006.5.25追加)

Perl Camellia encryption module(CPAN) (2006.5.25追加)

openCrypto.NET (2008.2.26追加、2015.1.8リンク先更新)

Ruby パッケージ (2009.1.29更新)
 RubyでCamelliaを利用するためのパッケージです。

 V1.2では、ruby-1.9.1-rc1に対応しました。
 Rubygemsにも登録しています(Rubygemsの登録先)。

 camellia-rb-1.2.tar.gz (Version 1.2, 36 KB)
 MD5:17020b76ed435d0e946581c774eeef9f
 SHA1:64360576219064ef46a0da2b1d436df7fb7a983b

 camellia-rb-1.2.gem (Version 1.2, 40 KB)
 MD5:8fd7bf6d9d577b2231df03ca0cd4db52
 SHA1:741ced4247ce10582319abfb038f21271523eecd

 旧暗号エンジンはこちらをご覧下さい。

Pascal source by Wolfgang Ehrhardt (2008.9.8追加)

TAHIプロジェクト (2008.11.7追加)

Haskell版Camelliaエンジン (2012.5.18追加)

oclCrypto (2012.5.18追加)
 OpenCLを用いた暗号アルゴリズムの実装です。


参照コード

参照コード (C, 3KB)
注: ここにある参照コードは、アルゴリズム仕様の理解を容易にすること、および別に作られたCamelliaソースの正当性検証用ツールとして使用することを前提としたものです。特定のアプリケーションでの利用を考慮したものではありません 。
なお、高速化テクニックは一切利用されていません。

ページトップ
Copyright(C)日本電信電話株式会社