Camellia ソースコード
更新情報
- 2012年5月18日
- Camellia対応オープンソースに、FreeBSD 9系 ports、Wireshark、Gmime、Tera Term、MIT Kerberos 5、The 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基本特許を無償にてご利用いただけることといたしました。詳しくは知的財産権情報のページをご覧ください。
【重要告知】
- NTT製のCamelliaオープンソースは、Camelliaの仕様および32ビットCPU用高速化手法に基づいて正しく暗号化・復号を行うようにプログラミングされていますが、暗号利用モードや鍵管理の仕組み、実装攻撃に対する対策技術などは組み込まれておりません。また、本オープンソースを利用して生じたいかなる損害についても、NTTがその責を負うことは一切ありませんので、ご了承のうえ、お使いください。
- 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対応オープンソース
プロダクト一覧
(NTT作成以外のオープンソースも含みます)
OSカーネル[updated]
OS | Ver | 利用できる機能 |
---|---|---|
Linux | 2.6.21以降 | IPsec |
Fedora Core | 7以降 | IPsec |
FreeBSD 9系 ports | 暗号ライブラリ(pefs) | |
FreeBSD 7系 | 7.0以降 | IPsec、パーティション暗号化(geli) |
FreeBSD 6系 | 6.4以降 | IPsec |
ライブラリ[updated]
製品名 | Ver | 備考 |
---|---|---|
OpenSSL | 0.9.8c以降 | Camelliaが有効なOpenSSLが同梱されているOSはこちら。 それ以外は、コンパイルオプションでenable-camelliaを指定する必要があります。 |
NSS | 3.12以降 | |
Crypto++ | 5.4以降 | |
The GNU Transport Layer Security Library | 2.20以降 | |
The Legion of the Bouncy Castle(Java版) | 1.30以降 | 本サイトで公開しているJava版Camelliaエンジン1.2.0が搭載されたBouncyCastle 1.41がリリースされました。 |
The Legion of the Bouncy Castle(C#版) | 1.4以降 |
Camelliaが有効なOpenSSLが同梱されているOS
製品名 | Ver |
---|---|
Fedora Core | 9以降 |
OpenSUSE | 10.3以降 |
Gentoo Linux | 2008.0以降 |
FreeBSD | 7.0以降 |
FreeBSD ports | 2007/6/12以降 |
アプリケーション[updated]
製品名 | Ver | 概要 | 利用できる機能 |
---|---|---|---|
Firefox | 3.0以降 | Webブラウザ | SSL |
GnuPG | 2以降 | 電子メール | OpenPGP |
ipsec-tools | 0.7以降 | IPSEC | IPsec、IKE |
strongSwan | 4.2.1以降 | IPSEC VPN | IKE |
SeaMonkey | 2.0以降 | Mozilla統合型アプリケーションスイート | |
Wireshark | 1.6.0以降 | ネットワークアナライザソフトウェア | |
Gmime | 2.6.1以降 | MIMEを使用したメッセージ作成/解析ツール | |
Tera Term | 2.5.7以降 | ターミナルエミュレーター | SSH2 |
MIT Kerberos 5 | 1.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:64360576219064ef46a0da2b1d436df7fb7a983bcamellia-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ソースの正当性検証用ツールとして使用することを前提としたものです。特定のアプリケーションでの利用を考慮したものではありません。
なお、高速化テクニックは一切利用されていません。