Source Codes
Update Information
- May 18,2012
- FreeBSD 9.X ports, Wireshark, Gmime, Tera Term, MIT Kerberos 5, and The Legion of the Bouncy Castle(C#) were added to Open Source Applicable to Camellia.
Camellia for Haskell and oclCrypto were added to Open Source Software (other individuals or organizations). - December 22,2010
- Camellia was adopted into MIT Kerberos 5 Release1.9.
- July 9,2010
- Open Hardware IP Core was added to Open Source Applicable to Camellia.
- December 25, 2009
- The Camellia additional patch for MIT Kerberos was added to the open source page.
- July 24, 2009
- strongSwan was added to Open Source Applicable to Camellia.
- May 15, 2009
- Beta of OpenSSL 1.0.0 was released. Camellia becomes enable by default after version 1.0.0 or later.
Open Source Software (NTT)
With the aim to reduce the burden of user’s operation for equipping Camellia into product development and test applications, NTT begins to publish NTT’s open source codes of Camellia with free of charge by multiple open source software licenses. In accordance with an agreement between NTT and Mitsubishi Electric Corporation, Camellia essential patents can be used at no charge by any Camellia user without concluding such royalty-free licensing agreement hereafter. For details, please see the Intellectual Property Information page.
<<<Important Notice>>>
- In regard to applying the open source software, although these are programmed so that it performs correct encryption and decryption based on the Camellia’s specifications and high-speed processing method for 32-bit CPUs, the modes of operation, a key management mechanism, and counter-measure technology for implementation attacks are not included, and the appropriate care should be taken. In addition, in the event that this open source software should yield any kind of damage, this software should be used with the understanding that NTT does not bear any responsibility whatsoever.
- Any product equipped with Camellia encryption algorithm (including the open sources) is a controlled product regulated under the Japanese Foreign Exchange and Foreign Trade Law, though the algorithm is public. When you plan to export or take this product out of Japan, or provide any juridical person having its main office in Japan, concerning property or business of such a juridical person which is located overseas, please obtain a permission, as required by the Law and related regulations, from the Japanese Government.
Guidance handbook
- The handbook related to Firefox
How to use Camellia for SSL communication method with Firefox3
[Japanese] CamelliaFirefoxV1.0_080619.pdf (2008-06-19, 291KB)- The handbook related to OpenSSL
How to use Camellia in OpenSSL
[Japanese] CamelliausersguideV1.0_070704.pdf (2007-07-04, 387KB)
"How to Compile and Install OpenSSL for Camellia on the UNIX(V1.1)" is included in "How to use Camellia in OpenSSL(V1.0)".How to construct SSL server using Camellia for SSL communication
[Japanese] sslserverconstructionguidev2.1_090319.pdf (2009-03-19, 275KB)- The handbook related to Linux kernel and Ipsec-tools
How to compile Ipsec-tools and Linux kernel using Camellia
[English] linux-ref-eng-1.0.pdf (2006-11-08, Version 1.0, 34KB)
[Japanese] linux-ref-jpn-1.0.pdf (2006-11-08, Version 1.0, 107KB)- The handbook related to Camellia engines
The instructional handbook of Camellia open source codes
[Japanese] CamelliaGuidance060718.pdf (2006-07-12, for C-language Version 1.1, 31KB)
Crypto Engines
Patch files for Camellia extensions
Patch files for Camellia extensions contributing to the communities. Please see the Patch files for Camellia extensions page.
Patch files for Camellia extensions adopted to the communities. Please see the Past Crypto Engine page.
Open Source Applicable to Camellia
Product lineup
(Open Source other than NTT made is also included)
Operating system kernel[updated]
Operating system | Version | Available function |
---|---|---|
Linux | After version 2.6.21 | IPsec |
Fedora Core | After version 7 | IPsec |
FreeBSD 9.x ports | crypt library (pefs) | |
FreeBSD 7.x | After version 7.0 | IPsec, partition encryption (geli) |
FreeBSD 6.x | After version 6.4 | IPsec |
Library [updated]
Product name | Version | Remarks |
---|---|---|
OpenSSL | After version 0.9.8c | Operating system, which bundles OpenSSL that enables Camellia is here. Besides, it is necessary to specify enable-camellia by the compilation option. |
NSS | After version 3.12 | |
Crypto++ | After version 5.4 | |
The GNU Transport Layer Security Library | After version 2.20 | |
The Legion of the Bouncy Castle(Java) | After version 1.30 | BouncyCastle 1.41 adopted Java-compliant Camellia engine (version 1.2.0) which is published on this website was released. |
The Legion of the Bouncy Castle(C#) | After version 1.4 |
Operating system, which bundles OpenSSL that enables Camellia
Product name | Version |
---|---|
Fedora Core | After version 9 |
OpenSUSE | After version 10.3 |
Gentoo Linux | After version 2008.0 |
FreeBSD | After version 7.0 |
FreeBSD ports | After 2007/6/12 |
Application[updated]
Product name | Version | Description | Available function |
---|---|---|---|
Firefox | After version 3.0 | Web Browser | SSL |
GnuPG | After version 2 | OpenPGP | |
ipsec-tools | After version 0.7 | IPSEC | IPsec, IKE |
strongSwan | After version 4.2.1 | IPSEC VPN | IKE |
SeaMonkey | After version 2.0 | Mozilla all-in-one internet application suite | |
Wireshark | After version 1.6.0 | network protocol analyzer | |
Gmime | After version 2.6.1 | library which may be used for the creation and parsing of message using the Multipurpose Internet Mail Extention (MIME) | |
Tera Term | After version 2.57 | Terminal Emulator | SSH2 |
MIT Kerberos 5 | After version 1.9 | Kerberos | Kerberos |
Camellia Open Source Software (other individuals or organizations)
* We greatly appreciate it if you would contact when the open source software of Camellia was made and opened to the public.
-
Camellia for Open Souce Softwares (2006.5.25 added)
Patch files for extensions such as OpenSSH, OCaml are published. Camellia for Python (2006.5.25 added)(in Japanese)
Perl Camellia encryption module(CPAN) (2006.5.25 added)
openCrypto.NET (2008.2.26 added)(in Japanese)
Ruby package (2009.1.29 update)
Package to use Camellia in Ruby.ruby-1.9.1-rc1 is supported in version 1.2.
It is registered at Ruby Application Archive (RAA),
RubyForge (Registered at RAA, Registered at RubyForge).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:741ced4247ce10582319abfb038f21271523eecdTo the Past Crypto Engine, click here.
Pascal source by Wolfgang Ehrhardt (2008.9.8 added)
TAHI Project (2008.11.7 added)
Camellia for Haskell (2012.XX.XX added) [new]
oclCrypto (2012.XX.XX added) [new]
Camellia Implementation using OpenCL.
Reference Code
-
A Reference Code (C, 3KB)
Notice:
This reference code is written for an easy understanding of the Camellia encryption algorithm and a tool for validity verification of a source code that you made.
It is not intended to be used for a specific application.
No optimized techniques are adopted at all in this code.