Camellia-ready OpenSSL is needed for following patches.
You can investigate whether your OpenSSL supports Camellia or not by
using "openssl ciphers" command.
e.g.)
If supported you will see:
% openssl ciphers -v "CAMELLIA"
ADH-CAMELLIA256-SHA SSLv3 Kx=DH Au=None Enc=Camellia(256) Mac=SHA1
DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1
DHE-DSS-CAMELLIA256-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(256) Mac=SHA1
CAMELLIA256-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA1
ADH-CAMELLIA128-SHA SSLv3 Kx=DH Au=None Enc=Camellia(128) Mac=SHA1
DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA1
DHE-DSS-CAMELLIA128-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(128) Mac=SHA1
CAMELLIA128-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(128) Mac=SHA1
If not you will see:
% openssl ciphers -v "CAMELLIA"
(nothing will be shown)
NOTICE: the signature for camellia has changed in
OpenSSH 4.7p1 version 0.1 patch.
To use the patch, you should install security/openssl before.
Fetch patch-yng47p1.
Copy it to /usr/ports/security/openssh-portable/files.
Then, make and install it.
Note that with this patch, Camellia cipher becomes highest priority.
Camellia for PEAR - PHP Extension and Application Repository
PHP Extension and Application Repository (PEAR)
is a set of PHP library. I implemented Crypt_Camellia package for PEAR.
Since it is pure PHP implementation, you can use this package just
installing it to PEAR directory.
libmcrypt is an implementation of encryption algorithms.
It includes arcfour, blowfish, AES, and so on.
Following patch will add support for Camellia block cipher to libmcrypt.
Note that this patch includes LGPL licensed Camellia sorce code
provided by NTT through its website.
Cryptokit is a module for objective caml (aka. OCaml).
This patch will add support for Camellia block cipher to the cryptkit.
Note that this patch includes LGPL licensed Camellia sorce code
provided by NTT through its website.
Python Cryptography Toolkit (aka. PyCrypto) is
a collection of cryptographic algorithms and protocols for use from Python.
It includes hash functions, such as MD5 and SHA256,
block encryption algorithms, and so on.
Following patch will add support for Camellia block cipher to the toolkit.
Note that the patch includes modified BSD licensed Camellia source code
provided by NTT through its website.
Notice: this patch is merged to the GNU TLS, and this patch
will not be updated any more.
This patch needs libgcrypt which support the Camellia block cipher.
Because of license limitation, even libgcrypt 1.3.0 will not install Camellia
by default. You need to configure libgcrypt by --enable-cipher=camellia
and so on. If supported you will see camellia in libgcrypt-config --algorithms.
Since Free Software Foundation, Inc. has already supported camellia
for GnuPG after Camellia becomes optional cipher of OpenPGP,
I won't update followings.
Then, you can use the Camellia encription algorithm with GnuPG
after configure and make like this:
% cd gnupg-1.4.5
% ./configure
% make && make install
You can use the Camellia encription algorithm with patched gpg program
like this:
% rehash
% gpg --cipher-algo CAMELLIA -c TEST
gpg: WARNING: using insecure memory!
gpg: please see http://www.gnupg.org/faq.html for more information
gpg: WARNING: using experimental cipher algorithm CAMELLIA
Since the patch uses an algorithm number greater than 100, which represent
an algorithm for some testing, you will see following warning everytime
you use this program with the Camellia encription algorithm:
gpg: WARNING: using experimental cipher algorithm CAMELLIA
If you are the person who know the GnuPG developers, please let them know
this patch and let them give an algorithm number to the Camellia encription
algorithm.
Attention
You should have the patched GnuPG to use the Camellia encription algorithm
Moreover, you should have the patched GnuPG to decrypt the file you encrypted
with Camellia.
A camellia source code has no architecture limitation since version 1.1.0
(current version is 1.2.0).
Accoding to
the open source distribution page for Camellia by NTT, they confirmed that
a patch for OpenSSL, which is using the same camellia engine,
runs not only Windows XP on 32bit x86 but also Solaris 10 on 64bit SPARC.