Camellia cipher, contributed by NTT
authorBodo Möller <bodo@openssl.org>
Fri, 9 Jun 2006 15:44:59 +0000 (15:44 +0000)
committerBodo Möller <bodo@openssl.org>
Fri, 9 Jun 2006 15:44:59 +0000 (15:44 +0000)
Submitted by: Masashi Fujita
Reviewed by: Bodo Moeller

40 files changed:
CHANGES
Makefile.org
apps/Makefile
apps/dsa.c
apps/gendsa.c
apps/genrsa.c
apps/openssl.c
apps/pkcs12.c
apps/progs.h
apps/progs.pl
apps/rsa.c
apps/smime.c
apps/speed.c
config
crypto/asn1/Makefile
crypto/engine/Makefile
crypto/evp/Makefile
crypto/evp/c_allc.c
crypto/evp/evp.h
crypto/evp/evp_err.c
crypto/evp/evp_test.c
crypto/evp/evptests.txt
crypto/objects/obj_dat.h
crypto/objects/obj_mac.h
crypto/objects/obj_mac.num
crypto/objects/objects.txt
crypto/pem/Makefile
doc/apps/ciphers.pod
doc/apps/smime.pod
ssl/s3_lib.c
ssl/ssl.h
ssl/ssl_algs.c
ssl/ssl_ciph.c
ssl/ssl_locl.h
ssl/tls1.h
test/Makefile
util/libeay.num
util/mk1mf.pl
util/mkdef.pl
util/mkfiles.pl

diff --git a/CHANGES b/CHANGES
index b55eba3..33c9186 100644 (file)
--- a/CHANGES
+++ b/CHANGES
   *) Add print and set support for Issuing Distribution Point CRL extension.
      [Steve Henson]
 
+  *) Change 'Configure' script to enable Camellia by default.
+     [NTT]
+
  Changes between 0.9.8b and 0.9.8c  [xx XXX xxxx]
 
+  *) Add the symmetric cipher Camellia (128-bit, 192-bit, 256-bit key
+     versions), which is now available for royalty-free use
+     (see http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html).
+     Also, add Camellia TLS ciphersuites from RFC 4132.
+
+     To minimize changes between patchlevels in the OpenSSL 0.9.8
+     series, Camellia remains excluded from compilation unless OpenSSL
+     is configured with 'enable-camellia'.
+     [NTT]
+
   *) Disable the padding bug check when compression is in use. The padding
      bug check assumes the first packet is of even length, this is not
      necessarily true if compresssion is enabled and can result in false
index cf5df2f..b55b6ba 100644 (file)
@@ -112,7 +112,7 @@ SHLIBDIRS= crypto ssl
 SDIRS=  \
        objects \
        md2 md4 md5 sha mdc2 hmac ripemd whrlpool \
-       des aes rc2 rc4 rc5 idea bf cast \
+       des aes rc2 rc4 rc5 idea bf cast camellia \
        bn ec rsa dsa ecdsa dh ecdh dso engine \
        buffer bio stack lhash rand err \
        evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
index 7167fc5..90d4517 100644 (file)
@@ -865,26 +865,27 @@ smime.o: ../include/openssl/x509v3.h apps.h smime.c
 speed.o: ../e_os.h ../include/openssl/aes.h ../include/openssl/asn1.h
 speed.o: ../include/openssl/bio.h ../include/openssl/blowfish.h
 speed.o: ../include/openssl/bn.h ../include/openssl/buffer.h
-speed.o: ../include/openssl/cast.h ../include/openssl/conf.h
-speed.o: ../include/openssl/crypto.h ../include/openssl/des.h
-speed.o: ../include/openssl/des_old.h ../include/openssl/dsa.h
-speed.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
-speed.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
-speed.o: ../include/openssl/engine.h ../include/openssl/err.h
-speed.o: ../include/openssl/evp.h ../include/openssl/hmac.h
-speed.o: ../include/openssl/idea.h ../include/openssl/lhash.h
-speed.o: ../include/openssl/md2.h ../include/openssl/md4.h
-speed.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h
-speed.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
-speed.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-speed.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
-speed.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
-speed.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
-speed.o: ../include/openssl/safestack.h ../include/openssl/sha.h
-speed.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-speed.o: ../include/openssl/txt_db.h ../include/openssl/ui.h
-speed.o: ../include/openssl/ui_compat.h ../include/openssl/x509.h
-speed.o: ../include/openssl/x509_vfy.h apps.h speed.c testdsa.h testrsa.h
+speed.o: ../include/openssl/camellia.h ../include/openssl/cast.h
+speed.o: ../include/openssl/conf.h ../include/openssl/crypto.h
+speed.o: ../include/openssl/des.h ../include/openssl/des_old.h
+speed.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h
+speed.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
+speed.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
+speed.o: ../include/openssl/err.h ../include/openssl/evp.h
+speed.o: ../include/openssl/hmac.h ../include/openssl/idea.h
+speed.o: ../include/openssl/lhash.h ../include/openssl/md2.h
+speed.o: ../include/openssl/md4.h ../include/openssl/md5.h
+speed.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+speed.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+speed.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
+speed.o: ../include/openssl/rand.h ../include/openssl/rc2.h
+speed.o: ../include/openssl/rc4.h ../include/openssl/ripemd.h
+speed.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+speed.o: ../include/openssl/sha.h ../include/openssl/stack.h
+speed.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h
+speed.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h
+speed.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h speed.c
+speed.o: testdsa.h testrsa.h
 spkac.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 spkac.o: ../include/openssl/buffer.h ../include/openssl/conf.h
 spkac.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
index 091f936..ab258eb 100644 (file)
@@ -84,6 +84,9 @@
  * -aes128     - encrypt output if PEM format
  * -aes192     - encrypt output if PEM format
  * -aes256     - encrypt output if PEM format
+ * -camellia128 - encrypt output if PEM format
+ * -camellia192 - encrypt output if PEM format
+ * -camellia256 - encrypt output if PEM format
  * -text       - print a text version
  * -modulus    - print the DSA public key
  */
@@ -219,6 +222,10 @@ bad:
 #ifndef OPENSSL_NO_AES
                BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
                BIO_printf(bio_err,"                 encrypt PEM output with cbc aes\n");
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+               BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
+               BIO_printf(bio_err,"                 encrypt PEM output with cbc camellia\n");
 #endif
                BIO_printf(bio_err," -text           print the key in text\n");
                BIO_printf(bio_err," -noout          don't print key out\n");
index 828e27f..936a42b 100644 (file)
@@ -147,6 +147,14 @@ int MAIN(int argc, char **argv)
                        enc=EVP_aes_192_cbc();
                else if (strcmp(*argv,"-aes256") == 0)
                        enc=EVP_aes_256_cbc();
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+               else if (strcmp(*argv,"-camellia128") == 0)
+                       enc=EVP_camellia_128_cbc();
+               else if (strcmp(*argv,"-camellia192") == 0)
+                       enc=EVP_camellia_192_cbc();
+               else if (strcmp(*argv,"-camellia256") == 0)
+                       enc=EVP_camellia_256_cbc();
 #endif
                else if (**argv != '-' && dsaparams == NULL)
                        {
@@ -174,6 +182,10 @@ bad:
                BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
                BIO_printf(bio_err,"                 encrypt PEM output with cbc aes\n");
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+               BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
+               BIO_printf(bio_err,"                 encrypt PEM output with cbc camellia\n");
+#endif
 #ifndef OPENSSL_NO_ENGINE
                BIO_printf(bio_err," -engine e - use engine e, possibly a hardware device.\n");
 #endif
index 4f62cfd..d716a3c 100644 (file)
@@ -167,6 +167,14 @@ int MAIN(int argc, char **argv)
                        enc=EVP_aes_192_cbc();
                else if (strcmp(*argv,"-aes256") == 0)
                        enc=EVP_aes_256_cbc();
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+               else if (strcmp(*argv,"-camellia128") == 0)
+                       enc=EVP_camellia_128_cbc();
+               else if (strcmp(*argv,"-camellia192") == 0)
+                       enc=EVP_camellia_192_cbc();
+               else if (strcmp(*argv,"-camellia256") == 0)
+                       enc=EVP_camellia_256_cbc();
 #endif
                else if (strcmp(*argv,"-passout") == 0)
                        {
@@ -190,6 +198,10 @@ bad:
 #ifndef OPENSSL_NO_AES
                BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
                BIO_printf(bio_err,"                 encrypt PEM output with cbc aes\n");
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+               BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
+               BIO_printf(bio_err,"                 encrypt PEM output with cbc camellia\n");
 #endif
                BIO_printf(bio_err," -out file       output the key to 'file\n");
                BIO_printf(bio_err," -passout arg    output file pass phrase source\n");
index a9f3df0..f996bb3 100644 (file)
@@ -56,7 +56,7 @@
  * [including the GNU Public Licence.]
  */
 /* ====================================================================
- * Copyright (c) 1998-2001 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1998-2006 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -459,7 +459,11 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
                for (fp=functions; fp->name != NULL; fp++)
                        {
                        nl=0;
+#ifdef OPENSSL_NO_CAMELLIA
                        if (((i++) % 5) == 0)
+#else
+                       if (((i++) % 4) == 0)
+#endif
                                {
                                BIO_printf(bio_err,"\n");
                                nl=1;
@@ -480,7 +484,11 @@ static int do_cmd(LHASH *prog, int argc, char *argv[])
                                        BIO_printf(bio_err,"\nCipher commands (see the `enc' command for more details)\n");
                                        }
                                }
+#ifdef OPENSSL_NO_CAMELLIA
                        BIO_printf(bio_err,"%-15s",fp->name);
+#else
+                       BIO_printf(bio_err,"%-18s",fp->name);
+#endif
                        }
                BIO_printf(bio_err,"\n\n");
                ret=0;
index 2e1c0e2..9fa33f6 100644 (file)
@@ -3,7 +3,7 @@
  * project.
  */
 /* ====================================================================
- * Copyright (c) 1999-2002 The OpenSSL Project.  All rights reserved.
+ * Copyright (c) 1999-2006 The OpenSSL Project.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -163,6 +163,11 @@ int MAIN(int argc, char **argv)
                else if (!strcmp(*args,"-aes128")) enc=EVP_aes_128_cbc();
                else if (!strcmp(*args,"-aes192")) enc=EVP_aes_192_cbc();
                else if (!strcmp(*args,"-aes256")) enc=EVP_aes_256_cbc();
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+               else if (!strcmp(*args,"-camellia128")) enc=EVP_camellia_128_cbc();
+               else if (!strcmp(*args,"-camellia192")) enc=EVP_camellia_192_cbc();
+               else if (!strcmp(*args,"-camellia256")) enc=EVP_camellia_256_cbc();
 #endif
                else if (!strcmp (*args, "-noiter")) iter = 1;
                else if (!strcmp (*args, "-maciter"))
@@ -291,6 +296,10 @@ int MAIN(int argc, char **argv)
 #ifndef OPENSSL_NO_AES
        BIO_printf (bio_err, "-aes128, -aes192, -aes256\n");
        BIO_printf (bio_err, "              encrypt PEM output with cbc aes\n");
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+       BIO_printf (bio_err, "-camellia128, -camellia192, -camellia256\n");
+       BIO_printf (bio_err, "              encrypt PEM output with cbc camellia\n");
 #endif
        BIO_printf (bio_err, "-nodes        don't encrypt private keys\n");
        BIO_printf (bio_err, "-noiter       don't use encryption iteration\n");
index 3458b11..a1a421a 100644 (file)
@@ -176,6 +176,24 @@ FUNCTION functions[] = {
 #endif
 #ifndef OPENSSL_NO_AES
        {FUNC_TYPE_CIPHER,"aes-256-ecb",enc_main},
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+       {FUNC_TYPE_CIPHER,"camellia-128-cbc",enc_main},
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+       {FUNC_TYPE_CIPHER,"camellia-128-ecb",enc_main},
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+       {FUNC_TYPE_CIPHER,"camellia-192-cbc",enc_main},
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+       {FUNC_TYPE_CIPHER,"camellia-192-ecb",enc_main},
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+       {FUNC_TYPE_CIPHER,"camellia-256-cbc",enc_main},
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+       {FUNC_TYPE_CIPHER,"camellia-256-ecb",enc_main},
 #endif
        {FUNC_TYPE_CIPHER,"base64",enc_main},
 #ifndef OPENSSL_NO_DES
index aac86a3..0238108 100644 (file)
@@ -58,6 +58,9 @@ foreach (
        "aes-128-cbc", "aes-128-ecb",
        "aes-192-cbc", "aes-192-ecb",
        "aes-256-cbc", "aes-256-ecb",
+       "camellia-128-cbc", "camellia-128-ecb",
+       "camellia-192-cbc", "camellia-192-ecb",
+       "camellia-256-cbc", "camellia-256-ecb",
        "base64",
        "des", "des3", "desx", "idea", "rc4", "rc4-40",
        "rc2", "bf", "cast", "rc5",
@@ -76,6 +79,7 @@ foreach (
        $t=sprintf("\t{FUNC_TYPE_CIPHER,\"%s\",enc_main},\n",$_);
        if    ($_ =~ /des/)  { $t="#ifndef OPENSSL_NO_DES\n${t}#endif\n"; }
        elsif ($_ =~ /aes/)  { $t="#ifndef OPENSSL_NO_AES\n${t}#endif\n"; }
+       elsif ($_ =~ /camellia/)  { $t="#ifndef OPENSSL_NO_CAMELLIA\n${t}#endif\n"; }
        elsif ($_ =~ /idea/) { $t="#ifndef OPENSSL_NO_IDEA\n${t}#endif\n"; }
        elsif ($_ =~ /rc4/)  { $t="#ifndef OPENSSL_NO_RC4\n${t}#endif\n"; }
        elsif ($_ =~ /rc2/)  { $t="#ifndef OPENSSL_NO_RC2\n${t}#endif\n"; }
index 3166c6a..f79f375 100644 (file)
@@ -84,6 +84,9 @@
  * -aes128     - encrypt output if PEM format
  * -aes192     - encrypt output if PEM format
  * -aes256     - encrypt output if PEM format
+ * -camellia128 - encrypt output if PEM format
+ * -camellia192 - encrypt output if PEM format
+ * -camellia256 - encrypt output if PEM format
  * -text       - print a text version
  * -modulus    - print the RSA key modulus
  * -check      - verify key consistency
@@ -223,6 +226,10 @@ bad:
 #ifndef OPENSSL_NO_AES
                BIO_printf(bio_err," -aes128, -aes192, -aes256\n");
                BIO_printf(bio_err,"                 encrypt PEM output with cbc aes\n");
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+               BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n");
+               BIO_printf(bio_err,"                 encrypt PEM output with cbc camellia\n");
 #endif
                BIO_printf(bio_err," -text           print the key in text\n");
                BIO_printf(bio_err," -noout          don't print key out\n");
index c5453ea..69ce280 100644 (file)
@@ -167,6 +167,14 @@ int MAIN(int argc, char **argv)
                                cipher = EVP_aes_192_cbc();
                else if (!strcmp(*args,"-aes256"))
                                cipher = EVP_aes_256_cbc();
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+               else if (!strcmp(*args,"-camellia128"))
+                               cipher = EVP_camellia_128_cbc();
+               else if (!strcmp(*args,"-camellia192"))
+                               cipher = EVP_camellia_192_cbc();
+               else if (!strcmp(*args,"-camellia256"))
+                               cipher = EVP_camellia_256_cbc();
 #endif
                else if (!strcmp (*args, "-text")) 
                                flags |= PKCS7_TEXT;
@@ -429,6 +437,10 @@ int MAIN(int argc, char **argv)
 #ifndef OPENSSL_NO_AES
                BIO_printf (bio_err, "-aes128, -aes192, -aes256\n");
                BIO_printf (bio_err, "               encrypt PEM output with cbc aes\n");
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+               BIO_printf (bio_err, "-camellia128, -camellia192, -camellia256\n");
+               BIO_printf (bio_err, "               encrypt PEM output with cbc camellia\n");
 #endif
                BIO_printf (bio_err, "-nointern      don't search certificates in message for signer\n");
                BIO_printf (bio_err, "-nosigs        don't verify message signature\n");
index 9b8365c..c53f815 100644 (file)
 #ifndef OPENSSL_NO_AES
 #include <openssl/aes.h>
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+#include <openssl/camellia.h>
+#endif
 #ifndef OPENSSL_NO_MD2
 #include <openssl/md2.h>
 #endif
@@ -195,7 +198,7 @@ static void print_result(int alg,int run_no,int count,double time_used);
 static int do_multi(int multi);
 #endif
 
-#define ALGOR_NUM      21
+#define ALGOR_NUM      24
 #define SIZE_NUM       5
 #define RSA_NUM                4
 #define DSA_NUM                3
@@ -207,7 +210,9 @@ static const char *names[ALGOR_NUM]={
   "md2","mdc2","md4","md5","hmac(md5)","sha1","rmd160","rc4",
   "des cbc","des ede3","idea cbc",
   "rc2 cbc","rc5-32/12 cbc","blowfish cbc","cast cbc",
-  "aes-128 cbc","aes-192 cbc","aes-256 cbc","evp","sha256","sha512"};
+  "aes-128 cbc","aes-192 cbc","aes-256 cbc",
+  "camellia-128 cbc","camellia-192 cbc","camellia-256 cbc",
+  "evp","sha256","sha512"};
 static double results[ALGOR_NUM][SIZE_NUM];
 static int lengths[SIZE_NUM]={16,64,256,1024,8*1024};
 static double rsa_results[RSA_NUM][2];
@@ -379,6 +384,17 @@ int MAIN(int argc, char **argv)
                 0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,
                 0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56};
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+       static const unsigned char ckey24[24]=
+               {0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
+                0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
+                0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34};
+       static const unsigned char ckey32[32]=
+               {0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
+                0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,
+                0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,
+                0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56};
+#endif
 #ifndef OPENSSL_NO_AES
 #define MAX_BLOCK_SIZE 128
 #else
@@ -398,6 +414,9 @@ int MAIN(int argc, char **argv)
 #ifndef OPENSSL_NO_AES
        AES_KEY aes_ks1, aes_ks2, aes_ks3;
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+       CAMELLIA_KEY camellia_ks1, camellia_ks2, camellia_ks3;
+#endif
 #define        D_MD2           0
 #define        D_MDC2          1
 #define        D_MD4           2
@@ -416,9 +435,12 @@ int MAIN(int argc, char **argv)
 #define D_CBC_128_AES  15
 #define D_CBC_192_AES  16
 #define D_CBC_256_AES  17
-#define D_EVP          18
-#define D_SHA256       19
-#define D_SHA512       20
+#define D_CBC_128_CML   18 
+#define D_CBC_192_CML   19
+#define D_CBC_256_CML   20 
+#define D_EVP          21
+#define D_SHA256       22      
+#define D_SHA512       23
        double d=0.0;
        long c[ALGOR_NUM][SIZE_NUM];
 #define        R_DSA_512       0
@@ -761,6 +783,12 @@ int MAIN(int argc, char **argv)
                else    if (strcmp(*argv,"aes-256-cbc") == 0) doit[D_CBC_256_AES]=1;
                else
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+                       if (strcmp(*argv,"camellia-128-cbc") == 0) doit[D_CBC_128_CML]=1;
+               else    if (strcmp(*argv,"camellia-192-cbc") == 0) doit[D_CBC_192_CML]=1;
+               else    if (strcmp(*argv,"camellia-256-cbc") == 0) doit[D_CBC_256_CML]=1;
+               else
+#endif
 #ifndef OPENSSL_NO_RSA
 #if 0 /* was: #ifdef RSAref */
                        if (strcmp(*argv,"rsaref") == 0) 
@@ -831,6 +859,15 @@ int MAIN(int argc, char **argv)
                        }
                else
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+                       if (strcmp(*argv,"camellia") == 0)
+                       {
+                       doit[D_CBC_128_CML]=1;
+                       doit[D_CBC_192_CML]=1;
+                       doit[D_CBC_256_CML]=1;
+                       }
+               else
+#endif
 #ifndef OPENSSL_NO_RSA
                        if (strcmp(*argv,"rsa") == 0)
                        {
@@ -957,6 +994,10 @@ int MAIN(int argc, char **argv)
 #ifndef OPENSSL_NO_AES
                        BIO_printf(bio_err,"aes-128-cbc aes-192-cbc aes-256-cbc ");
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+                       BIO_printf(bio_err,"\n");
+                       BIO_printf(bio_err,"camellia-128-cbc camellia-192-cbc camellia-256-cbc ");
+#endif
 #ifndef OPENSSL_NO_RC4
                        BIO_printf(bio_err,"rc4");
 #endif
@@ -994,6 +1035,9 @@ int MAIN(int argc, char **argv)
 #ifndef OPENSSL_NO_AES
                        BIO_printf(bio_err,"aes      ");
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+                       BIO_printf(bio_err,"camellia ");
+#endif
 #ifndef OPENSSL_NO_RSA
                        BIO_printf(bio_err,"rsa      ");
 #endif
@@ -1002,7 +1046,8 @@ int MAIN(int argc, char **argv)
 #endif
 #if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_RC2) || \
     !defined(OPENSSL_NO_DES) || !defined(OPENSSL_NO_RSA) || \
-    !defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_AES)
+    !defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_AES) || \
+    !defined(OPENSSL_NO_CAMELLIA) 
                        BIO_printf(bio_err,"\n");
 #endif
 
@@ -1091,6 +1136,11 @@ int MAIN(int argc, char **argv)
        AES_set_encrypt_key(key24,192,&aes_ks2);
        AES_set_encrypt_key(key32,256,&aes_ks3);
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+       Camellia_set_key(key16,128,&camellia_ks1);
+       Camellia_set_key(ckey24,192,&camellia_ks2);
+       Camellia_set_key(ckey32,256,&camellia_ks3);
+#endif
 #ifndef OPENSSL_NO_IDEA
        idea_set_encrypt_key(key16,&idea_ks);
 #endif
@@ -1144,6 +1194,9 @@ int MAIN(int argc, char **argv)
        c[D_CBC_128_AES][0]=count;
        c[D_CBC_192_AES][0]=count;
        c[D_CBC_256_AES][0]=count;
+       c[D_CBC_128_CML][0]=count;
+       c[D_CBC_192_CML][0]=count;
+       c[D_CBC_256_CML][0]=count;
        c[D_SHA256][0]=count;
        c[D_SHA512][0]=count;
 
@@ -1176,6 +1229,9 @@ int MAIN(int argc, char **argv)
                c[D_CBC_128_AES][i]=c[D_CBC_128_AES][i-1]*l0/l1;
                c[D_CBC_192_AES][i]=c[D_CBC_192_AES][i-1]*l0/l1;
                c[D_CBC_256_AES][i]=c[D_CBC_256_AES][i-1]*l0/l1;
+               c[D_CBC_128_CML][i]=c[D_CBC_128_CML][i-1]*l0/l1;
+               c[D_CBC_192_CML][i]=c[D_CBC_192_CML][i-1]*l0/l1;
+               c[D_CBC_256_CML][i]=c[D_CBC_256_CML][i-1]*l0/l1;
                }
 #ifndef OPENSSL_NO_RSA
        rsa_c[R_RSA_512][0]=count/2000;
@@ -1571,6 +1627,51 @@ int MAIN(int argc, char **argv)
                        }
                }
 
+#endif
+#ifndef OPENSSL_NO_CAMELLIA
+       if (doit[D_CBC_128_CML])
+               {
+               for (j=0; j<SIZE_NUM; j++)
+                       {
+                       print_message(names[D_CBC_128_CML],c[D_CBC_128_CML][j],lengths[j]);
+                       Time_F(START);
+                       for (count=0,run=1; COND(c[D_CBC_128_CML][j]); count++)
+                               Camellia_cbc_encrypt(buf,buf,
+                                       (unsigned long)lengths[j],&camellia_ks1,
+                                       iv,CAMELLIA_ENCRYPT);
+                       d=Time_F(STOP);
+                       print_result(D_CBC_128_CML,j,count,d);
+                       }
+               }
+       if (doit[D_CBC_192_CML])
+               {
+               for (j=0; j<SIZE_NUM; j++)
+                       {
+                       print_message(names[D_CBC_192_CML],c[D_CBC_192_CML][j],lengths[j]);
+                       Time_F(START);
+                       for (count=0,run=1; COND(c[D_CBC_192_CML][j]); count++)
+                               Camellia_cbc_encrypt(buf,buf,
+                                       (unsigned long)lengths[j],&camellia_ks2,
+                                       iv,CAMELLIA_ENCRYPT);
+                       d=Time_F(STOP);
+                       print_result(D_CBC_192_CML,j,count,d);
+                       }
+               }
+       if (doit[D_CBC_256_CML])
+               {
+               for (j=0; j<SIZE_NUM; j++)
+                       {
+                       print_message(names[D_CBC_256_CML],c[D_CBC_256_CML][j],lengths[j]);
+                       Time_F(START);
+                       for (count=0,run=1; COND(c[D_CBC_256_CML][j]); count++)
+                               Camellia_cbc_encrypt(buf,buf,
+                                       (unsigned long)lengths[j],&camellia_ks3,
+                                       iv,CAMELLIA_ENCRYPT);
+                       d=Time_F(STOP);
+                       print_result(D_CBC_256_CML,j,count,d);
+                       }
+               }
+
 #endif
 #ifndef OPENSSL_NO_IDEA
        if (doit[D_CBC_IDEA])
diff --git a/config b/config
index a0a7767..1d5fd91 100755 (executable)
--- a/config
+++ b/config
@@ -803,7 +803,7 @@ case "$GUESSOS" in
   i386-*) options="$options 386" ;;
 esac
 
-for i in bf cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 aes ripemd rsa sha
+for i in aes bf camellia cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 ripemd rsa sha
 do
   if [ ! -d crypto/$i ]
   then
index 7691d71..c8bfc1d 100644 (file)
@@ -318,9 +318,9 @@ ameth_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h
 ameth_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 ameth_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
 ameth_lib.o: ../../include/openssl/ecdh.h ../../include/openssl/ecdsa.h
-ameth_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-ameth_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-ameth_lib.o: ../../include/openssl/objects.h
+ameth_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+ameth_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+ameth_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
 ameth_lib.o: ../../include/openssl/opensslconf.h
 ameth_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 ameth_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/safestack.h
@@ -391,12 +391,13 @@ asn_pack.o: ../../include/openssl/symhacks.h ../cryptlib.h asn_pack.c
 d2i_pr.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 d2i_pr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 d2i_pr.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
-d2i_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h
-d2i_pr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
-d2i_pr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
-d2i_pr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
-d2i_pr.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-d2i_pr.o: ../../include/openssl/symhacks.h ../cryptlib.h asn1_locl.h d2i_pr.c
+d2i_pr.o: ../../include/openssl/engine.h ../../include/openssl/err.h
+d2i_pr.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+d2i_pr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+d2i_pr.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
+d2i_pr.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h
+d2i_pr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+d2i_pr.o: ../cryptlib.h asn1_locl.h d2i_pr.c
 d2i_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 d2i_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 d2i_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dsa.h
index f3d18ac..a292122 100644 (file)
@@ -219,8 +219,8 @@ tb_asnmth.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
 tb_asnmth.o: ../../include/openssl/opensslconf.h
 tb_asnmth.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 tb_asnmth.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
-tb_asnmth.o: ../../include/openssl/symhacks.h ../cryptlib.h eng_int.h
-tb_asnmth.o: tb_asnmth.c
+tb_asnmth.o: ../../include/openssl/symhacks.h ../asn1/asn1_locl.h ../cryptlib.h
+tb_asnmth.o: eng_int.h tb_asnmth.c
 tb_cipher.o: ../../e_os.h ../../include/openssl/bio.h
 tb_cipher.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 tb_cipher.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h
index dae46eb..89e2eee 100644 (file)
@@ -19,7 +19,7 @@ APPS=
 
 LIB=$(TOP)/libcrypto.a
 LIBSRC= encode.c digest.c evp_enc.c evp_key.c evp_acnf.c \
-       e_des.c e_bf.c e_idea.c e_des3.c \
+       e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c\
        e_rc4.c e_aes.c names.c \
        e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c \
        m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c m_wp.c \
@@ -31,7 +31,7 @@ LIBSRC= encode.c digest.c evp_enc.c evp_key.c evp_acnf.c \
        e_old.c pmeth_lib.c pmeth_fn.c pmeth_gn.c m_sigver.c
 
 LIBOBJ=        encode.o digest.o evp_enc.o evp_key.o evp_acnf.o \
-       e_des.o e_bf.o e_idea.o e_des3.o \
+       e_des.o e_bf.o e_idea.o e_des3.o e_camellia.o\
        e_rc4.o e_aes.o names.o \
        e_xcbc_d.o e_rc2.o e_cast.o e_rc5.o \
        m_null.o m_md2.o m_md4.o m_md5.o m_sha.o m_sha1.o m_wp.o \
@@ -195,6 +195,15 @@ e_bf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 e_bf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 e_bf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
 e_bf.o: ../../include/openssl/symhacks.h ../cryptlib.h e_bf.c evp_locl.h
+e_camellia.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
+e_camellia.o: ../../include/openssl/camellia.h ../../include/openssl/crypto.h
+e_camellia.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
+e_camellia.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
+e_camellia.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
+e_camellia.o: ../../include/openssl/opensslconf.h
+e_camellia.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+e_camellia.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
+e_camellia.o: ../../include/openssl/symhacks.h e_camellia.c evp_locl.h
 e_cast.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 e_cast.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
 e_cast.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
@@ -600,16 +609,16 @@ p_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
 p_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h
 p_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
 p_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
-p_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
-p_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-p_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-p_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-p_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h
-p_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
-p_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
-p_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
-p_lib.o: ../../include/openssl/x509_vfy.h ../asn1/asn1_locl.h ../cryptlib.h
-p_lib.o: p_lib.c
+p_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+p_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+p_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+p_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+p_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+p_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h
+p_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
+p_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
+p_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
+p_lib.o: ../asn1/asn1_locl.h ../cryptlib.h p_lib.c
 p_open.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h
 p_open.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
 p_open.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
index fc16432..68630dd 100644 (file)
@@ -183,4 +183,31 @@ void OpenSSL_add_all_ciphers(void)
        EVP_add_cipher_alias(SN_aes_256_cbc,"AES256");
        EVP_add_cipher_alias(SN_aes_256_cbc,"aes256");
 #endif
+
+#ifndef OPENSSL_NO_CAMELLIA
+       EVP_add_cipher(EVP_camellia_128_ecb());
+       EVP_add_cipher(EVP_camellia_128_cbc());
+       EVP_add_cipher(EVP_camellia_128_cfb());
+       EVP_add_cipher(EVP_camellia_128_cfb1());
+       EVP_add_cipher(EVP_camellia_128_cfb8());
+       EVP_add_cipher(EVP_camellia_128_ofb());
+       EVP_add_cipher_alias(SN_camellia_128_cbc,"CAMELLIA128");
+       EVP_add_cipher_alias(SN_camellia_128_cbc,"camellia128");
+       EVP_add_cipher(EVP_camellia_192_ecb());
+       EVP_add_cipher(EVP_camellia_192_cbc());
+       EVP_add_cipher(EVP_camellia_192_cfb());
+       EVP_add_cipher(EVP_camellia_192_cfb1());
+       EVP_add_cipher(EVP_camellia_192_cfb8());
+       EVP_add_cipher(EVP_camellia_192_ofb());
+       EVP_add_cipher_alias(SN_camellia_192_cbc,"CAMELLIA192");
+       EVP_add_cipher_alias(SN_camellia_192_cbc,"camellia192");
+       EVP_add_cipher(EVP_camellia_256_ecb());
+       EVP_add_cipher(EVP_camellia_256_cbc());
+       EVP_add_cipher(EVP_camellia_256_cfb());
+       EVP_add_cipher(EVP_camellia_256_cfb1());
+       EVP_add_cipher(EVP_camellia_256_cfb8());
+       EVP_add_cipher(EVP_camellia_256_ofb());
+       EVP_add_cipher_alias(SN_camellia_256_cbc,"CAMELLIA256");
+       EVP_add_cipher_alias(SN_camellia_256_cbc,"camellia256");
+#endif
        }
index 32a1ebe..59460fb 100644 (file)
@@ -734,6 +734,29 @@ const EVP_CIPHER *EVP_aes_256_ofb(void);
 const EVP_CIPHER *EVP_aes_256_ctr(void);
 #endif
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+const EVP_CIPHER *EVP_camellia_128_ecb(void);
+const EVP_CIPHER *EVP_camellia_128_cbc(void);
+const EVP_CIPHER *EVP_camellia_128_cfb1(void);
+const EVP_CIPHER *EVP_camellia_128_cfb8(void);
+const EVP_CIPHER *EVP_camellia_128_cfb128(void);
+# define EVP_camellia_128_cfb EVP_camellia_128_cfb128
+const EVP_CIPHER *EVP_camellia_128_ofb(void);
+const EVP_CIPHER *EVP_camellia_192_ecb(void);
+const EVP_CIPHER *EVP_camellia_192_cbc(void);
+const EVP_CIPHER *EVP_camellia_192_cfb1(void);
+const EVP_CIPHER *EVP_camellia_192_cfb8(void);
+const EVP_CIPHER *EVP_camellia_192_cfb128(void);
+# define EVP_camellia_192_cfb EVP_camellia_192_cfb128
+const EVP_CIPHER *EVP_camellia_192_ofb(void);
+const EVP_CIPHER *EVP_camellia_256_ecb(void);
+const EVP_CIPHER *EVP_camellia_256_cbc(void);
+const EVP_CIPHER *EVP_camellia_256_cfb1(void);
+const EVP_CIPHER *EVP_camellia_256_cfb8(void);
+const EVP_CIPHER *EVP_camellia_256_cfb128(void);
+# define EVP_camellia_256_cfb EVP_camellia_256_cfb128
+const EVP_CIPHER *EVP_camellia_256_ofb(void);
+#endif
 
 void OPENSSL_add_all_algorithms_noconf(void);
 void OPENSSL_add_all_algorithms_conf(void);
@@ -1091,6 +1114,7 @@ void ERR_load_EVP_strings(void);
 
 /* Function codes. */
 #define EVP_F_AES_INIT_KEY                              133
+#define EVP_F_CAMELLIA_INIT_KEY                                 159
 #define EVP_F_D2I_PKEY                                  100
 #define EVP_F_DSAPKEY2PKCS8                             134
 #define EVP_F_DSA_PKEY2PKCS8                            135
@@ -1158,6 +1182,7 @@ void ERR_load_EVP_strings(void);
 #define EVP_R_BN_DECODE_ERROR                           112
 #define EVP_R_BN_PUBKEY_ERROR                           113
 #define EVP_R_BUFFER_TOO_SMALL                          155
+#define EVP_R_CAMELLIA_KEY_SETUP_FAILED                         157
 #define EVP_R_CIPHER_PARAMETER_ERROR                    122
 #define EVP_R_COMMAND_NOT_SUPPORTED                     147
 #define EVP_R_CTRL_NOT_IMPLEMENTED                      132
index 150bfd0..448c9b8 100644 (file)
@@ -71,6 +71,7 @@
 static ERR_STRING_DATA EVP_str_functs[]=
        {
 {ERR_FUNC(EVP_F_AES_INIT_KEY), "AES_INIT_KEY"},
+{ERR_FUNC(EVP_F_CAMELLIA_INIT_KEY),    "CAMELLIA_INIT_KEY"},
 {ERR_FUNC(EVP_F_D2I_PKEY),     "D2I_PKEY"},
 {ERR_FUNC(EVP_F_DSAPKEY2PKCS8),        "DSAPKEY2PKCS8"},
 {ERR_FUNC(EVP_F_DSA_PKEY2PKCS8),       "DSA_PKEY2PKCS8"},
@@ -141,6 +142,7 @@ static ERR_STRING_DATA EVP_str_reasons[]=
 {ERR_REASON(EVP_R_BN_DECODE_ERROR)       ,"bn decode error"},
 {ERR_REASON(EVP_R_BN_PUBKEY_ERROR)       ,"bn pubkey error"},
 {ERR_REASON(EVP_R_BUFFER_TOO_SMALL)      ,"buffer too small"},
+{ERR_REASON(EVP_R_CAMELLIA_KEY_SETUP_FAILED),"camellia key setup failed"},
 {ERR_REASON(EVP_R_CIPHER_PARAMETER_ERROR),"cipher parameter error"},
 {ERR_REASON(EVP_R_COMMAND_NOT_SUPPORTED) ,"command not supported"},
 {ERR_REASON(EVP_R_CTRL_NOT_IMPLEMENTED)  ,"ctrl not implemented"},
index 3bf8e9a..6ecbecc 100644 (file)
@@ -416,6 +416,13 @@ int main(int argc,char **argv)
                fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 
                continue;
                }
+#endif
+#ifdef OPENSSL_NO_CAMELLIA
+           if (strstr(cipher, "CAMELLIA") == cipher)
+               {
+               fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 
+               continue;
+               }
 #endif
            fprintf(stderr,"Can't find %s\n",cipher);
            EXIT(3);
index 80bd9c7..193009f 100644 (file)
@@ -181,3 +181,132 @@ RC4:00000000000000000000000000000000::0000000000000000:de188941a3375d3a
 RC4:ef012345ef012345ef012345ef012345::0000000000000000000000000000000000000000:d6a141a7ec3c38dfbd615a1162e1c7ba36b67858
 RC4:0123456789abcdef0123456789abcdef::123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345678:66a0949f8af7d6891f7f832ba833c00c892ebe30143ce28740011ecf
 RC4:ef012345ef012345ef012345ef012345::00000000000000000000:d6a141a7ec3c38dfbd61
+
+
+# Camellia tests from RFC3713
+# For all ECB encrypts and decrypts, the transformed sequence is
+#   CAMELLIA-bits-ECB:key::plaintext:ciphertext:encdec
+CAMELLIA-128-ECB:0123456789abcdeffedcba9876543210::0123456789abcdeffedcba9876543210:67673138549669730857065648eabe43
+CAMELLIA-192-ECB:0123456789abcdeffedcba98765432100011223344556677::0123456789abcdeffedcba9876543210:b4993401b3e996f84ee5cee7d79b09b9
+CAMELLIA-256-ECB:0123456789abcdeffedcba987654321000112233445566778899aabbccddeeff::0123456789abcdeffedcba9876543210:9acc237dff16d76c20ef7c919e3a7509
+
+# ECB-CAMELLIA128.Encrypt
+CAMELLIA-128-ECB:000102030405060708090A0B0C0D0E0F::00112233445566778899AABBCCDDEEFF:77CF412067AF8270613529149919546F:1
+CAMELLIA-192-ECB:000102030405060708090A0B0C0D0E0F1011121314151617::00112233445566778899AABBCCDDEEFF:B22F3C36B72D31329EEE8ADDC2906C68:1
+CAMELLIA-256-ECB:000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F::00112233445566778899AABBCCDDEEFF:2EDF1F3418D53B88841FC8985FB1ECF2:1
+
+# ECB-CAMELLIA128.Encrypt and ECB-CAMELLIA128.Decrypt 
+CAMELLIA-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::6BC1BEE22E409F96E93D7E117393172A:432FC5DCD628115B7C388D770B270C96
+CAMELLIA-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::AE2D8A571E03AC9C9EB76FAC45AF8E51:0BE1F14023782A22E8384C5ABB7FAB2B
+CAMELLIA-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::30C81C46A35CE411E5FBC1191A0A52EF:A0A1ABCD1893AB6FE0FE5B65DF5F8636
+CAMELLIA-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::F69F2445DF4F9B17AD2B417BE66C3710:E61925E0D5DFAA9BB29F815B3076E51A
+
+# ECB-CAMELLIA192.Encrypt and ECB-CAMELLIA192.Decrypt 
+CAMELLIA-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::6BC1BEE22E409F96E93D7E117393172A:CCCC6C4E138B45848514D48D0D3439D3
+CAMELLIA-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::AE2D8A571E03AC9C9EB76FAC45AF8E51:5713C62C14B2EC0F8393B6AFD6F5785A
+CAMELLIA-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::30C81C46A35CE411E5FBC1191A0A52EF:B40ED2B60EB54D09D030CF511FEEF366
+CAMELLIA-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::F69F2445DF4F9B17AD2B417BE66C3710:909DBD95799096748CB27357E73E1D26
+
+# ECB-CAMELLIA256.Encrypt and ECB-CAMELLIA256.Decrypt 
+CAMELLIA-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::6BC1BEE22E409F96E93D7E117393172A:BEFD219B112FA00098919CD101C9CCFA
+CAMELLIA-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::AE2D8A571E03AC9C9EB76FAC45AF8E51:C91D3A8F1AEA08A9386CF4B66C0169EA
+CAMELLIA-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::30C81C46A35CE411E5FBC1191A0A52EF:A623D711DC5F25A51BB8A80D56397D28
+CAMELLIA-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::F69F2445DF4F9B17AD2B417BE66C3710:7960109FB6DC42947FCFE59EA3C5EB6B
+
+# For all CBC encrypts and decrypts, the transformed sequence is
+#   CAMELLIA-bits-CBC:key:IV/ciphertext':plaintext:ciphertext:encdec
+# CBC-CAMELLIA128.Encrypt and CBC-CAMELLIA128.Decrypt 
+CAMELLIA-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:1607CF494B36BBF00DAEB0B503C831AB
+CAMELLIA-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:1607CF494B36BBF00DAEB0B503C831AB:AE2D8A571E03AC9C9EB76FAC45AF8E51:A2F2CF671629EF7840C5A5DFB5074887
+CAMELLIA-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:A2F2CF671629EF7840C5A5DFB5074887:30C81C46A35CE411E5FBC1191A0A52EF:0F06165008CF8B8B5A63586362543E54
+CAMELLIA-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:36A84CDAFD5F9A85ADA0F0A993D6D577:F69F2445DF4F9B17AD2B417BE66C3710:74C64268CDB8B8FAF5B34E8AF3732980
+
+# CBC-CAMELLIA192.Encrypt and CBC-CAMELLIA192.Decrypt 
+CAMELLIA-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:2A4830AB5AC4A1A2405955FD2195CF93
+CAMELLIA-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:2A4830AB5AC4A1A2405955FD2195CF93:AE2D8A571E03AC9C9EB76FAC45AF8E51:5D5A869BD14CE54264F892A6DD2EC3D5
+CAMELLIA-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:5D5A869BD14CE54264F892A6DD2EC3D5:30C81C46A35CE411E5FBC1191A0A52EF:37D359C3349836D884E310ADDF68C449
+CAMELLIA-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:37D359C3349836D884E310ADDF68C449:F69F2445DF4F9B17AD2B417BE66C3710:01FAAA930B4AB9916E9668E1428C6B08
+
+# CBC-CAMELLIA256.Encrypt and CBC-CAMELLIA256.Decrypt 
+CAMELLIA-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:E6CFA35FC02B134A4D2C0B6737AC3EDA
+CAMELLIA-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:E6CFA35FC02B134A4D2C0B6737AC3EDA:AE2D8A571E03AC9C9EB76FAC45AF8E51:36CBEB73BD504B4070B1B7DE2B21EB50
+CAMELLIA-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:36CBEB73BD504B4070B1B7DE2B21EB50:30C81C46A35CE411E5FBC1191A0A52EF:E31A6055297D96CA3330CDF1B1860A83
+CAMELLIA-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:E31A6055297D96CA3330CDF1B1860A83:F69F2445DF4F9B17AD2B417BE66C3710:5D563F6D1CCCF236051C0C5C1C58F28F
+
+# We don't support CFB{1,8}-CAMELLIAxxx.{En,De}crypt
+# For all CFB128 encrypts and decrypts, the transformed sequence is
+#   CAMELLIA-bits-CFB:key:IV/ciphertext':plaintext:ciphertext:encdec
+# CFB128-CAMELLIA128.Encrypt 
+CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:1
+CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:A53D28BB82DF741103EA4F921A44880B:1
+CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:A53D28BB82DF741103EA4F921A44880B:30C81C46A35CE411E5FBC1191A0A52EF:9C2157A664626D1DEF9EA420FDE69B96:1
+CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:9C2157A664626D1DEF9EA420FDE69B96:F69F2445DF4F9B17AD2B417BE66C3710:742A25F0542340C7BAEF24CA8482BB09:1
+
+# CFB128-CAMELLIA128.Decrypt 
+CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:0
+CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:14F7646187817EB586599146B82BD719:AE2D8A571E03AC9C9EB76FAC45AF8E51:A53D28BB82DF741103EA4F921A44880B:0
+CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:A53D28BB82DF741103EA4F921A44880B:30C81C46A35CE411E5FBC1191A0A52EF:9C2157A664626D1DEF9EA420FDE69B96:0
+CAMELLIA-128-CFB:2B7E151628AED2A6ABF7158809CF4F3C:9C2157A664626D1DEF9EA420FDE69B96:F69F2445DF4F9B17AD2B417BE66C3710:742A25F0542340C7BAEF24CA8482BB09:0
+
+# CFB128-CAMELLIA192.Encrypt
+CAMELLIA-192-CFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:C832BB9780677DAA82D9B6860DCD565E:1
+CAMELLIA-192-CFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:C832BB9780677DAA82D9B6860DCD565E:AE2D8A571E03AC9C9EB76FAC45AF8E51:86F8491627906D780C7A6D46EA331F98:1
+CAMELLIA-192-CFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:86F8491627906D780C7A6D46EA331F98:30C81C46A35CE411E5FBC1191A0A52EF:69511CCE594CF710CB98BB63D7221F01:1
+CAMELLIA-192-CFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:69511CCE594CF710CB98BB63D7221F01:F69F2445DF4F9B17AD2B417BE66C3710:D5B5378A3ABED55803F25565D8907B84:1
+
+# CFB128-CAMELLIA192.Decrypt
+CAMELLIA-192-CFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:C832BB9780677DAA82D9B6860DCD565E:0
+CAMELLIA-192-CFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:C832BB9780677DAA82D9B6860DCD565E:AE2D8A571E03AC9C9EB76FAC45AF8E51:86F8491627906D780C7A6D46EA331F98:0
+CAMELLIA-192-CFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:86F8491627906D780C7A6D46EA331F98:30C81C46A35CE411E5FBC1191A0A52EF:69511CCE594CF710CB98BB63D7221F01:0
+CAMELLIA-192-CFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:69511CCE594CF710CB98BB63D7221F01:F69F2445DF4F9B17AD2B417BE66C3710:D5B5378A3ABED55803F25565D8907B84:0
+
+# CFB128-CAMELLIA256.Encrypt 
+CAMELLIA-256-CFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:CF6107BB0CEA7D7FB1BD31F5E7B06C93:1
+CAMELLIA-256-CFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:CF6107BB0CEA7D7FB1BD31F5E7B06C93:AE2D8A571E03AC9C9EB76FAC45AF8E51:89BEDB4CCDD864EA11BA4CBE849B5E2B:1
+CAMELLIA-256-CFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:89BEDB4CCDD864EA11BA4CBE849B5E2B:30C81C46A35CE411E5FBC1191A0A52EF:555FC3F34BDD2D54C62D9E3BF338C1C4:1
+CAMELLIA-256-CFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:555FC3F34BDD2D54C62D9E3BF338C1C4:F69F2445DF4F9B17AD2B417BE66C3710:5953ADCE14DB8C7F39F1BD39F359BFFA:1
+
+# CFB128-CAMELLIA256.Decrypt 
+CAMELLIA-256-CFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:CF6107BB0CEA7D7FB1BD31F5E7B06C93:0
+CAMELLIA-256-CFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:CF6107BB0CEA7D7FB1BD31F5E7B06C93:AE2D8A571E03AC9C9EB76FAC45AF8E51:89BEDB4CCDD864EA11BA4CBE849B5E2B:0
+CAMELLIA-256-CFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:89BEDB4CCDD864EA11BA4CBE849B5E2B:30C81C46A35CE411E5FBC1191A0A52EF:555FC3F34BDD2D54C62D9E3BF338C1C4:0
+CAMELLIA-256-CFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:555FC3F34BDD2D54C62D9E3BF338C1C4:F69F2445DF4F9B17AD2B417BE66C3710:5953ADCE14DB8C7F39F1BD39F359BFFA:0
+
+# For all OFB encrypts and decrypts, the transformed sequence is
+#   CAMELLIA-bits-OFB:key:IV/output':plaintext:ciphertext:encdec
+# OFB-CAMELLIA128.Encrypt 
+CAMELLIA-128-OFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:1
+CAMELLIA-128-OFB:2B7E151628AED2A6ABF7158809CF4F3C:50FE67CC996D32B6DA0937E99BAFEC60:AE2D8A571E03AC9C9EB76FAC45AF8E51:25623DB569CA51E01482649977E28D84:1
+CAMELLIA-128-OFB:2B7E151628AED2A6ABF7158809CF4F3C:D9A4DADA0892239F6B8B3D7680E15674:30C81C46A35CE411E5FBC1191A0A52EF:C776634A60729DC657D12B9FCA801E98:1
+CAMELLIA-128-OFB:2B7E151628AED2A6ABF7158809CF4F3C:A78819583F0308E7A6BF36B1386ABF23:F69F2445DF4F9B17AD2B417BE66C3710:D776379BE0E50825E681DA1A4C980E8E:1
+
+# OFB-CAMELLIA128.Decrypt 
+CAMELLIA-128-OFB:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:14F7646187817EB586599146B82BD719:0
+CAMELLIA-128-OFB:2B7E151628AED2A6ABF7158809CF4F3C:50FE67CC996D32B6DA0937E99BAFEC60:AE2D8A571E03AC9C9EB76FAC45AF8E51:25623DB569CA51E01482649977E28D84:0
+CAMELLIA-128-OFB:2B7E151628AED2A6ABF7158809CF4F3C:D9A4DADA0892239F6B8B3D7680E15674:30C81C46A35CE411E5FBC1191A0A52EF:C776634A60729DC657D12B9FCA801E98:0
+CAMELLIA-128-OFB:2B7E151628AED2A6ABF7158809CF4F3C:A78819583F0308E7A6BF36B1386ABF23:F69F2445DF4F9B17AD2B417BE66C3710:D776379BE0E50825E681DA1A4C980E8E:0
+
+# OFB-CAMELLIA192.Encrypt 
+CAMELLIA-192-OFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:C832BB9780677DAA82D9B6860DCD565E:1
+CAMELLIA-192-OFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:A609B38DF3B1133DDDFF2718BA09565E:AE2D8A571E03AC9C9EB76FAC45AF8E51:8ECEB7D0350D72C7F78562AEBDF99339:1
+CAMELLIA-192-OFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:52EF01DA52602FE0975F78AC84BF8A50:30C81C46A35CE411E5FBC1191A0A52EF:BDD62DBBB9700846C53B507F544696F0:1
+CAMELLIA-192-OFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:BD5286AC63AABD7EB067AC54B553F71D:F69F2445DF4F9B17AD2B417BE66C3710:E28014E046B802F385C4C2E13EAD4A72:1
+
+# OFB-CAMELLIA192.Decrypt 
+CAMELLIA-192-OFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:C832BB9780677DAA82D9B6860DCD565E:0
+CAMELLIA-192-OFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:A609B38DF3B1133DDDFF2718BA09565E:AE2D8A571E03AC9C9EB76FAC45AF8E51:8ECEB7D0350D72C7F78562AEBDF99339:0
+CAMELLIA-192-OFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:52EF01DA52602FE0975F78AC84BF8A50:30C81C46A35CE411E5FBC1191A0A52EF:BDD62DBBB9700846C53B507F544696F0:0
+CAMELLIA-192-OFB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:BD5286AC63AABD7EB067AC54B553F71D:F69F2445DF4F9B17AD2B417BE66C3710:E28014E046B802F385C4C2E13EAD4A72:0
+
+# OFB-CAMELLIA256.Encrypt 
+CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:CF6107BB0CEA7D7FB1BD31F5E7B06C93:1
+CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:B7BF3A5DF43989DD97F0FA97EBCE2F4A:AE2D8A571E03AC9C9EB76FAC45AF8E51:127AD97E8E3994E4820027D7BA109368:1
+CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:E1C656305ED1A7A6563805746FE03EDC:30C81C46A35CE411E5FBC1191A0A52EF:6BFF6265A6A6B7A535BC65A80B17214E:1
+CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:41635BE625B48AFC1666DD42A09D96E7:F69F2445DF4F9B17AD2B417BE66C3710:0A4A0404E26AA78A27CB271E8BF3CF20:1
+
+# OFB-CAMELLIA256.Decrypt 
+CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:CF6107BB0CEA7D7FB1BD31F5E7B06C93:0
+CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:B7BF3A5DF43989DD97F0FA97EBCE2F4A:AE2D8A571E03AC9C9EB76FAC45AF8E51:127AD97E8E3994E4820027D7BA109368:0
+CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:E1C656305ED1A7A6563805746FE03EDC:30C81C46A35CE411E5FBC1191A0A52EF:6BFF6265A6A6B7A535BC65A80B17214E:0
+CAMELLIA-256-OFB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:41635BE625B48AFC1666DD42A09D96E7:F69F2445DF4F9B17AD2B417BE66C3710:0A4A0404E26AA78A27CB271E8BF3CF20:0
+
index ef97651..15c40b3 100644 (file)
  * [including the GNU Public Licence.]
  */
 
-#define NUM_NID 807
-#define NUM_SN 803
-#define NUM_LN 803
-#define NUM_OBJ 765
+#define NUM_NID 825
+#define NUM_SN 821
+#define NUM_LN 821
+#define NUM_OBJ 777
 
-static unsigned char lvalues[5385]={
+static unsigned char lvalues[5490]={
 0x00,                                        /* [  0] OBJ_undef */
 0x2A,0x86,0x48,0x86,0xF7,0x0D,               /* [  1] OBJ_rsadsi */
 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,          /* [  7] OBJ_pkcs */
@@ -833,6 +833,18 @@ static unsigned char lvalues[5385]={
 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x09,     /* [5360] OBJ_hmacWithSHA256 */
 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0A,     /* [5368] OBJ_hmacWithSHA384 */
 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0B,     /* [5376] OBJ_hmacWithSHA512 */
+0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x02,/* [5384] OBJ_camellia_128_cbc */
+0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x03,/* [5395] OBJ_camellia_192_cbc */
+0x2A,0x83,0x08,0x8C,0x9A,0x4B,0x3D,0x01,0x01,0x01,0x04,/* [5406] OBJ_camellia_256_cbc */
+0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x01,     /* [5417] OBJ_camellia_128_ecb */
+0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x15,     /* [5425] OBJ_camellia_192_ecb */
+0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x29,     /* [5433] OBJ_camellia_256_ecb */
+0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x04,     /* [5441] OBJ_camellia_128_cfb128 */
+0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x18,     /* [5449] OBJ_camellia_192_cfb128 */
+0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2C,     /* [5457] OBJ_camellia_256_cfb128 */
+0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x03,     /* [5465] OBJ_camellia_128_ofb128 */
+0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x17,     /* [5473] OBJ_camellia_192_ofb128 */
+0x03,0xA2,0x31,0x05,0x03,0x01,0x09,0x2B,     /* [5481] OBJ_camellia_256_ofb128 */
 };
 
 static ASN1_OBJECT nid_objs[NUM_NID]={
@@ -2136,6 +2148,36 @@ static ASN1_OBJECT nid_objs[NUM_NID]={
        &(lvalues[5368]),0},
 {"hmacWithSHA512","hmacWithSHA512",NID_hmacWithSHA512,8,
        &(lvalues[5376]),0},
+{"CAMELLIA-128-CBC","camellia-128-cbc",NID_camellia_128_cbc,11,
+       &(lvalues[5384]),0},
+{"CAMELLIA-192-CBC","camellia-192-cbc",NID_camellia_192_cbc,11,
+       &(lvalues[5395]),0},
+{"CAMELLIA-256-CBC","camellia-256-cbc",NID_camellia_256_cbc,11,
+       &(lvalues[5406]),0},
+{"CAMELLIA-128-ECB","camellia-128-ecb",NID_camellia_128_ecb,8,
+       &(lvalues[5417]),0},
+{"CAMELLIA-192-ECB","camellia-192-ecb",NID_camellia_192_ecb,8,
+       &(lvalues[5425]),0},
+{"CAMELLIA-256-ECB","camellia-256-ecb",NID_camellia_256_ecb,8,
+       &(lvalues[5433]),0},
+{"CAMELLIA-128-CFB","camellia-128-cfb",NID_camellia_128_cfb128,8,
+       &(lvalues[5441]),0},
+{"CAMELLIA-192-CFB","camellia-192-cfb",NID_camellia_192_cfb128,8,
+       &(lvalues[5449]),0},
+{"CAMELLIA-256-CFB","camellia-256-cfb",NID_camellia_256_cfb128,8,
+       &(lvalues[5457]),0},
+{"CAMELLIA-128-CFB1","camellia-128-cfb1",NID_camellia_128_cfb1,0,NULL,0},
+{"CAMELLIA-192-CFB1","camellia-192-cfb1",NID_camellia_192_cfb1,0,NULL,0},
+{"CAMELLIA-256-CFB1","camellia-256-cfb1",NID_camellia_256_cfb1,0,NULL,0},
+{"CAMELLIA-128-CFB8","camellia-128-cfb8",NID_camellia_128_cfb8,0,NULL,0},
+{"CAMELLIA-192-CFB8","camellia-192-cfb8",NID_camellia_192_cfb8,0,NULL,0},
+{"CAMELLIA-256-CFB8","camellia-256-cfb8",NID_camellia_256_cfb8,0,NULL,0},
+{"CAMELLIA-128-OFB","camellia-128-ofb",NID_camellia_128_ofb128,8,
+       &(lvalues[5465]),0},
+{"CAMELLIA-192-OFB","camellia-192-ofb",NID_camellia_192_ofb128,8,
+       &(lvalues[5473]),0},
+{"CAMELLIA-256-OFB","camellia-256-ofb",NID_camellia_256_ofb128,8,
+       &(lvalues[5481]),0},
 };
 
 static ASN1_OBJECT *sn_objs[NUM_SN]={
@@ -2163,6 +2205,24 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
 &(nid_objs[92]),/* "BF-ECB" */
 &(nid_objs[94]),/* "BF-OFB" */
 &(nid_objs[14]),/* "C" */
+&(nid_objs[807]),/* "CAMELLIA-128-CBC" */
+&(nid_objs[813]),/* "CAMELLIA-128-CFB" */
+&(nid_objs[816]),/* "CAMELLIA-128-CFB1" */
+&(nid_objs[819]),/* "CAMELLIA-128-CFB8" */
+&(nid_objs[810]),/* "CAMELLIA-128-ECB" */
+&(nid_objs[822]),/* "CAMELLIA-128-OFB" */
+&(nid_objs[808]),/* "CAMELLIA-192-CBC" */
+&(nid_objs[814]),/* "CAMELLIA-192-CFB" */
+&(nid_objs[817]),/* "CAMELLIA-192-CFB1" */
+&(nid_objs[820]),/* "CAMELLIA-192-CFB8" */
+&(nid_objs[811]),/* "CAMELLIA-192-ECB" */
+&(nid_objs[823]),/* "CAMELLIA-192-OFB" */
+&(nid_objs[809]),/* "CAMELLIA-256-CBC" */
+&(nid_objs[815]),/* "CAMELLIA-256-CFB" */
+&(nid_objs[818]),/* "CAMELLIA-256-CFB1" */
+&(nid_objs[821]),/* "CAMELLIA-256-CFB8" */
+&(nid_objs[812]),/* "CAMELLIA-256-ECB" */
+&(nid_objs[824]),/* "CAMELLIA-256-OFB" */
 &(nid_objs[108]),/* "CAST5-CBC" */
 &(nid_objs[110]),/* "CAST5-CFB" */
 &(nid_objs[109]),/* "CAST5-ECB" */
@@ -3128,6 +3188,24 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
 &(nid_objs[687]),/* "c2tnb359v1" */
 &(nid_objs[689]),/* "c2tnb431r1" */
 &(nid_objs[483]),/* "cNAMERecord" */
+&(nid_objs[807]),/* "camellia-128-cbc" */
+&(nid_objs[813]),/* "camellia-128-cfb" */
+&(nid_objs[816]),/* "camellia-128-cfb1" */
+&(nid_objs[819]),/* "camellia-128-cfb8" */
+&(nid_objs[810]),/* "camellia-128-ecb" */
+&(nid_objs[822]),/* "camellia-128-ofb" */
+&(nid_objs[808]),/* "camellia-192-cbc" */
+&(nid_objs[814]),/* "camellia-192-cfb" */
+&(nid_objs[817]),/* "camellia-192-cfb1" */
+&(nid_objs[820]),/* "camellia-192-cfb8" */
+&(nid_objs[811]),/* "camellia-192-ecb" */
+&(nid_objs[823]),/* "camellia-192-ofb" */
+&(nid_objs[809]),/* "camellia-256-cbc" */
+&(nid_objs[815]),/* "camellia-256-cfb" */
+&(nid_objs[818]),/* "camellia-256-cfb1" */
+&(nid_objs[821]),/* "camellia-256-cfb8" */
+&(nid_objs[812]),/* "camellia-256-ecb" */
+&(nid_objs[824]),/* "camellia-256-ofb" */
 &(nid_objs[443]),/* "caseIgnoreIA5StringSyntax" */
 &(nid_objs[108]),/* "cast5-cbc" */
 &(nid_objs[110]),/* "cast5-cfb" */
@@ -4103,6 +4181,15 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={
 &(nid_objs[507]),/* OBJ_id_hex_partial_message       1 3 6 1 7 1 1 1 */
 &(nid_objs[508]),/* OBJ_id_hex_multipart_message     1 3 6 1 7 1 1 2 */
 &(nid_objs[57]),/* OBJ_netscape                     2 16 840 1 113730 */
+&(nid_objs[810]),/* OBJ_camellia_128_ecb             0 3 4401 5 3 1 9 1 */
+&(nid_objs[822]),/* OBJ_camellia_128_ofb128          0 3 4401 5 3 1 9 3 */
+&(nid_objs[813]),/* OBJ_camellia_128_cfb128          0 3 4401 5 3 1 9 4 */
+&(nid_objs[811]),/* OBJ_camellia_192_ecb             0 3 4401 5 3 1 9 21 */
+&(nid_objs[823]),/* OBJ_camellia_192_ofb128          0 3 4401 5 3 1 9 23 */
+&(nid_objs[814]),/* OBJ_camellia_192_cfb128          0 3 4401 5 3 1 9 24 */
+&(nid_objs[812]),/* OBJ_camellia_256_ecb             0 3 4401 5 3 1 9 41 */
+&(nid_objs[824]),/* OBJ_camellia_256_ofb128          0 3 4401 5 3 1 9 43 */
+&(nid_objs[815]),/* OBJ_camellia_256_cfb128          0 3 4401 5 3 1 9 44 */
 &(nid_objs[437]),/* OBJ_pilot                        0 9 2342 19200300 100 */
 &(nid_objs[799]),/* OBJ_id_GostR3411_94_with_GostR3410_94_cc 1 2 643 2 9 1 3 3 */
 &(nid_objs[800]),/* OBJ_id_GostR3411_94_with_GostR3410_2001_cc 1 2 643 2 9 1 3 4 */
@@ -4448,6 +4535,9 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={
 &(nid_objs[138]),/* OBJ_ms_efs                       1 3 6 1 4 1 311 10 3 4 */
 &(nid_objs[648]),/* OBJ_ms_smartcard_login           1 3 6 1 4 1 311 20 2 2 */
 &(nid_objs[649]),/* OBJ_ms_upn                       1 3 6 1 4 1 311 20 2 3 */
+&(nid_objs[807]),/* OBJ_camellia_128_cbc             1 2 392 200011 61 1 1 1 2 */
+&(nid_objs[808]),/* OBJ_camellia_192_cbc             1 2 392 200011 61 1 1 1 3 */
+&(nid_objs[809]),/* OBJ_camellia_256_cbc             1 2 392 200011 61 1 1 1 4 */
 &(nid_objs[196]),/* OBJ_id_smime_mod_cms             1 2 840 113549 1 9 16 0 1 */
 &(nid_objs[197]),/* OBJ_id_smime_mod_ess             1 2 840 113549 1 9 16 0 2 */
 &(nid_objs[198]),/* OBJ_id_smime_mod_oid             1 2 840 113549 1 9 16 0 3 */
index 42b12db..f8d22bd 100644 (file)
 #define NID_id_GostR3410_2001_ParamSet_cc              801
 #define OBJ_id_GostR3410_2001_ParamSet_cc              OBJ_cryptocom,1L,8L,1L
 
+#define SN_camellia_128_cbc            "CAMELLIA-128-CBC"
+#define LN_camellia_128_cbc            "camellia-128-cbc"
+#define NID_camellia_128_cbc           807
+#define OBJ_camellia_128_cbc           1L,2L,392L,200011L,61L,1L,1L,1L,2L
+
+#define SN_camellia_192_cbc            "CAMELLIA-192-CBC"
+#define LN_camellia_192_cbc            "camellia-192-cbc"
+#define NID_camellia_192_cbc           808
+#define OBJ_camellia_192_cbc           1L,2L,392L,200011L,61L,1L,1L,1L,3L
+
+#define SN_camellia_256_cbc            "CAMELLIA-256-CBC"
+#define LN_camellia_256_cbc            "camellia-256-cbc"
+#define NID_camellia_256_cbc           809
+#define OBJ_camellia_256_cbc           1L,2L,392L,200011L,61L,1L,1L,1L,4L
+
+#define OBJ_ntt_ds             0L,3L,4401L,5L
+
+#define OBJ_camellia           OBJ_ntt_ds,3L,1L,9L
+
+#define SN_camellia_128_ecb            "CAMELLIA-128-ECB"
+#define LN_camellia_128_ecb            "camellia-128-ecb"
+#define NID_camellia_128_ecb           810
+#define OBJ_camellia_128_ecb           OBJ_camellia,1L
+
+#define SN_camellia_128_ofb128         "CAMELLIA-128-OFB"
+#define LN_camellia_128_ofb128         "camellia-128-ofb"
+#define NID_camellia_128_ofb128                822
+#define OBJ_camellia_128_ofb128                OBJ_camellia,3L
+
+#define SN_camellia_128_cfb128         "CAMELLIA-128-CFB"
+#define LN_camellia_128_cfb128         "camellia-128-cfb"
+#define NID_camellia_128_cfb128                813
+#define OBJ_camellia_128_cfb128                OBJ_camellia,4L
+
+#define SN_camellia_192_ecb            "CAMELLIA-192-ECB"
+#define LN_camellia_192_ecb            "camellia-192-ecb"
+#define NID_camellia_192_ecb           811
+#define OBJ_camellia_192_ecb           OBJ_camellia,21L
+
+#define SN_camellia_192_ofb128         "CAMELLIA-192-OFB"
+#define LN_camellia_192_ofb128         "camellia-192-ofb"
+#define NID_camellia_192_ofb128                823
+#define OBJ_camellia_192_ofb128                OBJ_camellia,23L
+
+#define SN_camellia_192_cfb128         "CAMELLIA-192-CFB"
+#define LN_camellia_192_cfb128         "camellia-192-cfb"
+#define NID_camellia_192_cfb128                814
+#define OBJ_camellia_192_cfb128                OBJ_camellia,24L
+
+#define SN_camellia_256_ecb            "CAMELLIA-256-ECB"
+#define LN_camellia_256_ecb            "camellia-256-ecb"
+#define NID_camellia_256_ecb           812
+#define OBJ_camellia_256_ecb           OBJ_camellia,41L
+
+#define SN_camellia_256_ofb128         "CAMELLIA-256-OFB"
+#define LN_camellia_256_ofb128         "camellia-256-ofb"
+#define NID_camellia_256_ofb128                824
+#define OBJ_camellia_256_ofb128                OBJ_camellia,43L
+
+#define SN_camellia_256_cfb128         "CAMELLIA-256-CFB"
+#define LN_camellia_256_cfb128         "camellia-256-cfb"
+#define NID_camellia_256_cfb128                815
+#define OBJ_camellia_256_cfb128                OBJ_camellia,44L
+
+#define SN_camellia_128_cfb1           "CAMELLIA-128-CFB1"
+#define LN_camellia_128_cfb1           "camellia-128-cfb1"
+#define NID_camellia_128_cfb1          816
+
+#define SN_camellia_192_cfb1           "CAMELLIA-192-CFB1"
+#define LN_camellia_192_cfb1           "camellia-192-cfb1"
+#define NID_camellia_192_cfb1          817
+
+#define SN_camellia_256_cfb1           "CAMELLIA-256-CFB1"
+#define LN_camellia_256_cfb1           "camellia-256-cfb1"
+#define NID_camellia_256_cfb1          818
+
+#define SN_camellia_128_cfb8           "CAMELLIA-128-CFB8"
+#define LN_camellia_128_cfb8           "camellia-128-cfb8"
+#define NID_camellia_128_cfb8          819
+
+#define SN_camellia_192_cfb8           "CAMELLIA-192-CFB8"
+#define LN_camellia_192_cfb8           "camellia-192-cfb8"
+#define NID_camellia_192_cfb8          820
+
+#define SN_camellia_256_cfb8           "CAMELLIA-256-CFB8"
+#define LN_camellia_256_cfb8           "camellia-256-cfb8"
+#define NID_camellia_256_cfb8          821
+
index dab08d3..5646deb 100644 (file)
@@ -804,3 +804,21 @@ hmacWithSHA224             803
 hmacWithSHA256         804
 hmacWithSHA384         805
 hmacWithSHA512         806
+camellia_128_cbc               807
+camellia_192_cbc               808
+camellia_256_cbc               809
+camellia_128_ecb               810
+camellia_192_ecb               811
+camellia_256_ecb               812
+camellia_128_cfb128            813
+camellia_192_cfb128            814
+camellia_256_cfb128            815
+camellia_128_cfb1              816
+camellia_192_cfb1              817
+camellia_256_cfb1              818
+camellia_128_cfb8              819
+camellia_192_cfb8              820
+camellia_256_cfb8              821
+camellia_128_ofb128            822
+camellia_192_ofb128            823
+camellia_256_ofb128            824
index d2dcea2..97b520d 100644 (file)
@@ -1134,3 +1134,41 @@ cryptocom 1 3 3          : id-GostR3411-94-with-GostR3410-94-cc : GOST R 34.11-94 with G
 cryptocom 1 3 4                : id-GostR3411-94-with-GostR3410-2001-cc : GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom
 
 cryptocom 1 8 1                : id-GostR3410-2001-ParamSet-cc : GOST R 3410-2001 Parameter Set Cryptocom
+
+# Definitions for Camellia cipher - CBC MODE
+
+1 2 392 200011 61 1 1 1 2 : CAMELLIA-128-CBC           : camellia-128-cbc
+1 2 392 200011 61 1 1 1 3 : CAMELLIA-192-CBC           : camellia-192-cbc
+1 2 392 200011 61 1 1 1 4 : CAMELLIA-256-CBC           : camellia-256-cbc
+
+# Definitions for Camellia cipher - ECB, CFB, OFB MODE
+
+!Alias ntt-ds 0 3 4401 5
+!Alias camellia ntt-ds 3 1 9 
+
+camellia 1             : CAMELLIA-128-ECB              : camellia-128-ecb
+!Cname camellia-128-ofb128
+camellia 3             : CAMELLIA-128-OFB              : camellia-128-ofb
+!Cname camellia-128-cfb128
+camellia 4             : CAMELLIA-128-CFB              : camellia-128-cfb
+
+camellia 21            : CAMELLIA-192-ECB              : camellia-192-ecb
+!Cname camellia-192-ofb128
+camellia 23            : CAMELLIA-192-OFB              : camellia-192-ofb
+!Cname camellia-192-cfb128
+camellia 24            : CAMELLIA-192-CFB              : camellia-192-cfb
+
+camellia 41            : CAMELLIA-256-ECB              : camellia-256-ecb
+!Cname camellia-256-ofb128
+camellia 43            : CAMELLIA-256-OFB              : camellia-256-ofb
+!Cname camellia-256-cfb128
+camellia 44            : CAMELLIA-256-CFB              : camellia-256-cfb
+
+# There are no OIDs for these modes...
+
+                       : CAMELLIA-128-CFB1             : camellia-128-cfb1
+                       : CAMELLIA-192-CFB1             : camellia-192-cfb1
+                       : CAMELLIA-256-CFB1             : camellia-256-cfb1
+                       : CAMELLIA-128-CFB8             : camellia-128-cfb8
+                       : CAMELLIA-192-CFB8             : camellia-192-cfb8
+                       : CAMELLIA-256-CFB8             : camellia-256-cfb8
index 03976ff..306b2eb 100644 (file)
@@ -125,18 +125,19 @@ pem_lib.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 pem_lib.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
 pem_lib.o: ../../include/openssl/des_old.h ../../include/openssl/e_os2.h
 pem_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
-pem_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
-pem_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
-pem_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h
-pem_lib.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs12.h
-pem_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
-pem_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
-pem_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
-pem_lib.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h
-pem_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
-pem_lib.o: ../asn1/asn1_locl.h ../cryptlib.h pem_lib.c
+pem_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+pem_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
+pem_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
+pem_lib.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
+pem_lib.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
+pem_lib.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h
+pem_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
+pem_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h
+pem_lib.o: ../../include/openssl/ui_compat.h ../../include/openssl/x509.h
+pem_lib.o: ../../include/openssl/x509_vfy.h ../asn1/asn1_locl.h ../cryptlib.h
+pem_lib.o: pem_lib.c
 pem_oth.o: ../../e_os.h ../../include/openssl/asn1.h
 pem_oth.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 pem_oth.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
@@ -170,10 +171,10 @@ pem_pkey.o: ../../e_os.h ../../include/openssl/asn1.h
 pem_pkey.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
 pem_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
 pem_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdh.h
-pem_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h
-pem_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h
-pem_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
-pem_pkey.o: ../../include/openssl/opensslconf.h
+pem_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h
+pem_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
+pem_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h
+pem_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
 pem_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
 pem_pkey.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h
 pem_pkey.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
index 00d4cb1..2643a1e 100644 (file)
@@ -240,6 +240,10 @@ cipher suites using MD5.
 
 cipher suites using SHA1.
 
+=item B<Camellia>
+
+cipher suites using Camellia.
+
 =back
 
 =head1 CIPHER SUITE NAMES
@@ -335,6 +339,24 @@ e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.
  TLS_DH_anon_WITH_AES_128_CBC_SHA        ADH-AES128-SHA
  TLS_DH_anon_WITH_AES_256_CBC_SHA        ADH-AES256-SHA
 
+=head2 Camellia ciphersuites from RFC4132, extending TLS v1.0
+
+ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA      CAMELLIA128-SHA
+ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA      CAMELLIA256-SHA
+
+ TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA   Not implemented.
+ TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA   Not implemented.
+ TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA   Not implemented.
+ TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA   Not implemented.
+
+ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA  DHE-DSS-CAMELLIA128-SHA
+ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA  DHE-DSS-CAMELLIA256-SHA
+ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA  DHE-RSA-CAMELLIA128-SHA
+ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA  DHE-RSA-CAMELLIA256-SHA
+
+ TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA  ADH-CAMELLIA128-SHA
+ TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA  ADH-CAMELLIA256-SHA
+
 =head2 Additional Export 1024 and other cipher suites
 
 Note: these ciphers can also be used in SSL v3.
index 84b673f..caf2d26 100644 (file)
@@ -20,6 +20,9 @@ B<openssl> B<smime>
 [B<-aes128>]
 [B<-aes192>]
 [B<-aes256>]
+[B<-camellia128>]
+[B<-camellia192>]
+[B<-camellia256>]
 [B<-in file>]
 [B<-certfile file>]
 [B<-signer file>]
@@ -129,10 +132,10 @@ B<-verify>. This directory must be a standard certificate directory: that
 is a hash of each subject name (using B<x509 -hash>) should be linked
 to each certificate.
 
-=item B<-des -des3 -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256>
+=item B<-des -des3 -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256 -camellia128 -camellia192 -camellia256>
 
 the encryption algorithm to use. DES (56 bits), triple DES (168 bits),
-40, 64 or 128 bit RC2 or 128, 192 or 256 bit AES respectively.  If not
+40, 64 or 128 bit RC2, 128, 192 or 256 bit AES, or 128, 192 or 256 bit Camellia respectively.  If not
 specified 40 bit RC2 is used. Only used with B<-encrypt>.
 
 =item B<-nointern>
@@ -354,6 +357,10 @@ alternatively you can base64 decode the signature and use
 
  openssl smime -verify -inform DER -in signature.der -content content.txt
 
+Create an encrypted message using 128 bit Camellia:
+
+ openssl smime -encrypt -in plain.txt -camellia128 -out mail.msg cert.pem
+
 =head1 BUGS
 
 The MIME parser isn't very clever: it seems to handle most messages that I've thrown
index bfb7051..63edc36 100644 (file)
@@ -932,6 +932,89 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
        SSL_ALL_STRENGTHS,
        },
 
+#ifndef OPENSSL_NO_CAMELLIA
+       /* Camellia ciphersuites from RFC4132 (128-bit portion) */
+
+       /* Cipher 41 */
+       {
+       1,
+       TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA,
+       TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA,
+       SSL_kRSA|SSL_aRSA|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       128,
+       128,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 42 */
+       {
+       0, /* not implemented (non-ephemeral DH) */
+       TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA,
+       TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA,
+       SSL_kDHd|SSL_aDH|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       128,
+       128,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 43 */
+       {
+       0, /* not implemented (non-ephemeral DH) */
+       TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA,
+       TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA,
+       SSL_kDHr|SSL_aDH|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       128,
+       128,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 44 */
+       {
+       1,
+       TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
+       TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA,
+       SSL_kEDH|SSL_aDSS|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       128,
+       128,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 45 */
+       {
+       1,
+       TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
+       TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
+       SSL_kEDH|SSL_aRSA|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       128,
+       128,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 46 */
+       {
+       1,
+       TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA,
+       TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA,
+       SSL_kEDH|SSL_aNULL|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       128,
+       128,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+#endif /* OPENSSL_NO_CAMELLIA */
+
 #if TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES
        /* New TLS Export CipherSuites from expired ID */
 #if 0
@@ -1028,6 +1111,90 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
            SSL_ALL_STRENGTHS
            },
 #endif
+
+#ifndef OPENSSL_NO_CAMELLIA
+       /* Camellia ciphersuites from RFC4132 (256-bit portion) */
+
+       /* Cipher 84 */
+       {
+       1,
+       TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA,
+       TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA,
+       SSL_kRSA|SSL_aRSA|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       256,
+       256,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 85 */
+       {
+       0, /* not implemented (non-ephemeral DH) */
+       TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA,
+       TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA,
+       SSL_kDHd|SSL_aDH|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       256,
+       256,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 86 */
+       {
+       0, /* not implemented (non-ephemeral DH) */
+       TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA,
+       TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA,
+       SSL_kDHr|SSL_aDH|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       256,
+       256,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 87 */
+       {
+       1,
+       TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
+       TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA,
+       SSL_kEDH|SSL_aDSS|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       256,
+       256,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 88 */
+       {
+       1,
+       TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
+       TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
+       SSL_kEDH|SSL_aRSA|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       256,
+       256,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+       /* Cipher 89 */
+       {
+       1,
+       TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA,
+       TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA,
+       SSL_kEDH|SSL_aNULL|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1,
+       SSL_NOT_EXP|SSL_HIGH,
+       0,
+       256,
+       256,
+       SSL_ALL_CIPHERS,
+       SSL_ALL_STRENGTHS
+       },
+#endif /* OPENSSL_NO_CAMELLIA */
+
 #ifndef OPENSSL_NO_PSK
        /* Cipher 8A */
        {
@@ -1437,6 +1604,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
             },
 #endif /* OPENSSL_NO_ECDH */
 
+
 /* end of list */
        };
 
index 7e89b0a..96ba10d 100644 (file)
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -308,6 +308,7 @@ extern "C" {
 #define SSL_TXT_RC2            "RC2"
 #define SSL_TXT_IDEA           "IDEA"
 #define SSL_TXT_AES            "AES"
+#define SSL_TXT_CAMELLIA       "CAMELLIA"
 #define SSL_TXT_MD5            "MD5"
 #define SSL_TXT_SHA1           "SHA1"
 #define SSL_TXT_SHA            "SHA"
index ac82d45..052e939 100644 (file)
@@ -82,6 +82,11 @@ int SSL_library_init(void)
        EVP_add_cipher(EVP_aes_192_cbc());
        EVP_add_cipher(EVP_aes_256_cbc());
 #endif
+#ifndef OPENSSL_NO_CAMELLIA
+       EVP_add_cipher(EVP_camellia_128_cbc());
+       EVP_add_cipher(EVP_camellia_256_cbc());
+#endif
+
 #ifndef OPENSSL_NO_MD2
        EVP_add_digest(EVP_md2());
 #endif
index dd4c956..6bf337b 100644 (file)
 #define SSL_ENC_AES128_IDX     7
 #define SSL_ENC_AES256_IDX     8
 #define SSL_ENC_NUM_IDX                9
+#define SSL_ENC_CAMELLIA128_IDX        9
+#define SSL_ENC_CAMELLIA256_IDX        10
+#undef  SSL_ENC_NUM_IDX
+#define SSL_ENC_NUM_IDX                11
+
 
 static const EVP_CIPHER *ssl_cipher_methods[SSL_ENC_NUM_IDX]={
        NULL,NULL,NULL,NULL,NULL,NULL,
@@ -170,6 +175,7 @@ static const SSL_CIPHER cipher_aliases[]={
        {0,SSL_TXT_eNULL,0,SSL_eNULL,0,0,0,0,SSL_ENC_MASK,0},
        {0,SSL_TXT_eFZA,0,SSL_eFZA,  0,0,0,0,SSL_ENC_MASK,0},
        {0,SSL_TXT_AES, 0,SSL_AES,   0,0,0,0,SSL_ENC_MASK,0},
+       {0,SSL_TXT_CAMELLIA,    0,SSL_CAMELLIA,   0,0,0,0,SSL_ENC_MASK,0},
 
        {0,SSL_TXT_MD5, 0,SSL_MD5,   0,0,0,0,SSL_MAC_MASK,0},
        {0,SSL_TXT_SHA1,0,SSL_SHA1,  0,0,0,0,SSL_MAC_MASK,0},
@@ -215,6 +221,10 @@ void ssl_load_ciphers(void)
          EVP_get_cipherbyname(SN_aes_128_cbc);
        ssl_cipher_methods[SSL_ENC_AES256_IDX]=
          EVP_get_cipherbyname(SN_aes_256_cbc);
+       ssl_cipher_methods[SSL_ENC_CAMELLIA128_IDX]=
+         EVP_get_cipherbyname(SN_camellia_128_cbc);
+       ssl_cipher_methods[SSL_ENC_CAMELLIA256_IDX]=
+         EVP_get_cipherbyname(SN_camellia_256_cbc);
 
        ssl_digest_methods[SSL_MD_MD5_IDX]=
                EVP_get_digestbyname(SN_md5);
@@ -323,6 +333,15 @@ int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc,
                default: i=-1; break;
                        }
                break;
+       case SSL_CAMELLIA:
+               switch(c->alg_bits)
+                       {
+               case 128: i=SSL_ENC_CAMELLIA128_IDX; break;
+               case 256: i=SSL_ENC_CAMELLIA256_IDX; break;
+               default: i=-1; break;
+                       }
+               break;
+
        default:
                i= -1;
                break;
@@ -414,6 +433,7 @@ static unsigned long ssl_cipher_get_disabled(void)
        mask |= (ssl_cipher_methods[SSL_ENC_IDEA_IDX] == NULL) ? SSL_IDEA:0;
        mask |= (ssl_cipher_methods[SSL_ENC_eFZA_IDX] == NULL) ? SSL_eFZA:0;
        mask |= (ssl_cipher_methods[SSL_ENC_AES128_IDX] == NULL) ? SSL_AES:0;
+       mask |= (ssl_cipher_methods[SSL_ENC_CAMELLIA128_IDX] == NULL) ? SSL_CAMELLIA:0;
 
        mask |= (ssl_digest_methods[SSL_MD_MD5_IDX ] == NULL) ? SSL_MD5 :0;
        mask |= (ssl_digest_methods[SSL_MD_SHA1_IDX] == NULL) ? SSL_SHA1:0;
@@ -1106,6 +1126,15 @@ char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int len)
                default: enc="AES(?""?""?)"; break;
                        }
                break;
+       case SSL_CAMELLIA:
+               switch(cipher->strength_bits)
+                       {
+               case 128: enc="Camellia(128)"; break;
+               case 256: enc="Camellia(256)"; break;
+               default: enc="Camellia(?""?""?)"; break;
+                       }
+               break;
+               
        default:
                enc="unknown";
                break;
index f98ac77..b85861b 100644 (file)
@@ -1,4 +1,3 @@
-
 /* ssl/ssl_locl.h */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  * that the different entities within are mutually exclusive:
  * ONLY ONE BIT PER MASK CAN BE SET AT A TIME.
  */
-#define SSL_MKEY_MASK          0x080000FFL
+#define SSL_MKEY_MASK          0x200000FFL
 #define SSL_kRSA               0x00000001L /* RSA key exchange */
 #define SSL_kDHr               0x00000002L /* DH cert RSA CA cert */
 #define SSL_kDHd               0x00000004L /* DH cert DSA CA cert */
 #define SSL_kECDH               0x00000040L /* ECDH w/ long-term keys */
 #define SSL_kECDHE              0x00000080L /* ephemeral ECDH */
 #define SSL_EDH                        (SSL_kEDH|(SSL_AUTH_MASK^SSL_aNULL))
-#define SSL_kPSK                0x08000000L /* PSK */
+#define SSL_kPSK                0x20000000L /* PSK */
 
 #define SSL_AUTH_MASK          0x10007f00L
 #define SSL_aRSA               0x00000100L /* Authenticate with RSA */
 #define SSL_KRB5                (SSL_kKRB5|SSL_aKRB5)
 #define SSL_PSK                 (SSL_kPSK|SSL_aPSK)
 
-#define SSL_ENC_MASK           0x043F8000L
+#define SSL_ENC_MASK           0x0C3F8000L
 #define SSL_DES                        0x00008000L
 #define SSL_3DES               0x00010000L
 #define SSL_RC4                        0x00020000L
 #define SSL_eFZA               0x00100000L
 #define SSL_eNULL              0x00200000L
 #define SSL_AES                        0x04000000L
+#define SSL_CAMELLIA           0x08000000L
 
 #define SSL_MAC_MASK           0x00c00000L
 #define SSL_MD5                        0x00400000L
 #define SSL_SSLV3              0x02000000L
 #define SSL_TLSV1              SSL_SSLV3       /* for now */
 
-/* we have used 1fffffff - 3 bits left to go. */
+/* we have used 3fffffff - 2 bits left to go. */
 
 /*
  * Export and cipher strength information. For each cipher we have to decide
index fbe80e9..1c1ca15 100644 (file)
@@ -260,6 +260,21 @@ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg)
 #define TLS1_CK_DHE_RSA_WITH_AES_256_SHA               0x03000039
 #define TLS1_CK_ADH_WITH_AES_256_SHA                   0x0300003A
 
+/* Camellia ciphersuites form RFC4132 */
+#define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA          0x03000041
+#define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA       0x03000042
+#define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA       0x03000043
+#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA      0x03000044
+#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA      0x03000045
+#define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA          0x03000046
+
+#define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA          0x03000084
+#define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA       0x03000085
+#define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA       0x03000086
+#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA      0x03000087
+#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA      0x03000088
+#define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA          0x03000089
+
 /* ECC ciphersuites from draft-ietf-tls-ecc-12.txt with changes soon to be in draft 13 */
 #define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA                0x0300C001
 #define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA             0x0300C002
@@ -358,6 +373,22 @@ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg)
 #define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA              "PSK-AES128-CBC-SHA"
 #define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA              "PSK-AES256-CBC-SHA"
 
+/* Camellia ciphersuites from RFC4132 */
+#define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA         "CAMELLIA128-SHA"
+#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA      "DH-DSS-CAMELLIA128-SHA"
+#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA      "DH-RSA-CAMELLIA128-SHA"
+#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA     "DHE-DSS-CAMELLIA128-SHA"
+#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA     "DHE-RSA-CAMELLIA128-SHA"
+#define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA         "ADH-CAMELLIA128-SHA"
+
+#define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA         "CAMELLIA256-SHA"
+#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA      "DH-DSS-CAMELLIA256-SHA"
+#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA      "DH-RSA-CAMELLIA256-SHA"
+#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA     "DHE-DSS-CAMELLIA256-SHA"
+#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA     "DHE-RSA-CAMELLIA256-SHA"
+#define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA         "ADH-CAMELLIA256-SHA"
+
+
 #define TLS_CT_RSA_SIGN                        1
 #define TLS_CT_DSS_SIGN                        2
 #define TLS_CT_RSA_FIXED_DH            3
index 398de38..e7e171a 100644 (file)
@@ -561,11 +561,8 @@ md5test.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
 md5test.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
 md5test.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
 md5test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h md5test.c
-mdc2test.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
-mdc2test.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
-mdc2test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-mdc2test.o: ../include/openssl/safestack.h ../include/openssl/stack.h
-mdc2test.o: ../include/openssl/symhacks.h mdc2test.c
+mdc2test.o: ../e_os.h ../include/openssl/e_os2.h
+mdc2test.o: ../include/openssl/opensslconf.h mdc2test.c
 randtest.o: ../e_os.h ../include/openssl/e_os2.h
 randtest.o: ../include/openssl/opensslconf.h ../include/openssl/ossl_typ.h
 randtest.o: ../include/openssl/rand.h randtest.c
@@ -574,11 +571,8 @@ rc2test.o: ../include/openssl/opensslconf.h ../include/openssl/rc2.h rc2test.c
 rc4test.o: ../e_os.h ../include/openssl/e_os2.h
 rc4test.o: ../include/openssl/opensslconf.h ../include/openssl/rc4.h
 rc4test.o: ../include/openssl/sha.h rc4test.c
-rc5test.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
-rc5test.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h
-rc5test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
-rc5test.o: ../include/openssl/safestack.h ../include/openssl/stack.h
-rc5test.o: ../include/openssl/symhacks.h rc5test.c
+rc5test.o: ../e_os.h ../include/openssl/e_os2.h
+rc5test.o: ../include/openssl/opensslconf.h rc5test.c
 rmdtest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 rmdtest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
 rmdtest.o: ../include/openssl/evp.h ../include/openssl/obj_mac.h
index 6b36fc4..6d067e0 100755 (executable)
@@ -3380,348 +3380,384 @@ get_rfc2409_prime_768                   3780  EXIST::FUNCTION:
 X509_VERIFY_PARAM_get_flags             3781   EXIST::FUNCTION:
 EVP_CIPHER_CTX_new                      3782   EXIST::FUNCTION:
 EVP_CIPHER_CTX_free                     3783   EXIST::FUNCTION:
-ASN1_item_print                         3784   EXIST::FUNCTION:
-ASN1_PCTX_get_cert_flags                3785   EXIST::FUNCTION:
-b2i_PublicKey_bio                       3786   EXIST::FUNCTION:
-d2i_NETSCAPE_X509                       3787   EXIST::FUNCTION:
-ASN1_PCTX_get_flags                     3788   EXIST::FUNCTION:
-i2d_ISSUING_DIST_POINT                  3789   EXIST::FUNCTION:
-ASN1_PCTX_get_nm_flags                  3790   EXIST::FUNCTION:
-NETSCAPE_X509_free                      3791   EXIST::FUNCTION:
-i2b_PVK_bio                             3792   EXIST::FUNCTION:
-b2i_PVK_bio                             3793   EXIST::FUNCTION:
-ISSUING_DIST_POINT_new                  3794   EXIST::FUNCTION:
-ASN1_PCTX_get_oid_flags                 3795   EXIST::FUNCTION:
-d2i_ISSUING_DIST_POINT                  3796   EXIST::FUNCTION:
-i2b_PrivateKey_bio                      3797   EXIST::FUNCTION:
-b2i_PublicKey                           3798   EXIST::FUNCTION:
-ASN1_PCTX_set_nm_flags                  3799   EXIST::FUNCTION:
-i2b_PublicKey_bio                       3800   EXIST::FUNCTION:
-b2i_PrivateKey                          3801   EXIST::FUNCTION:
-b2i_PrivateKey_bio                      3802   EXIST::FUNCTION:
-PKCS7_print_ctx                         3803   EXIST::FUNCTION:
-EVP_whirlpool                           3804   EXIST::FUNCTION:WHIRLPOOL
-ASN1_PCTX_set_flags                     3805   EXIST::FUNCTION:
-NETSCAPE_X509_it                        3806   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
-NETSCAPE_X509_it                        3806   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
-ASN1_PCTX_set_str_flags                 3807   EXIST::FUNCTION:
-ISSUING_DIST_POINT_free                 3808   EXIST::FUNCTION:
-i2d_NETSCAPE_X509                       3809   EXIST::FUNCTION:
-ISSUING_DIST_POINT_it                   3810   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
-ISSUING_DIST_POINT_it                   3810   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
-ASN1_PCTX_set_oid_flags                 3811   EXIST::FUNCTION:
-ASN1_PCTX_new                           3812   EXIST::FUNCTION:
-NETSCAPE_X509_new                       3813   EXIST::FUNCTION:
-ASN1_PCTX_get_str_flags                 3814   EXIST::FUNCTION:
-ASN1_PCTX_free                          3815   EXIST::FUNCTION:
-DSO_pathbyaddr                          3816   EXIST::FUNCTION:
-ASN1_PCTX_set_cert_flags                3817   EXIST::FUNCTION:
-WHIRLPOOL_Init                          3818   EXIST::FUNCTION:WHIRLPOOL
-WHIRLPOOL                               3819   EXIST::FUNCTION:WHIRLPOOL
-WHIRLPOOL_BitUpdate                     3820   EXIST::FUNCTION:WHIRLPOOL
-WHIRLPOOL_Final                         3821   EXIST::FUNCTION:WHIRLPOOL
-WHIRLPOOL_Update                        3822   EXIST::FUNCTION:WHIRLPOOL
-DSO_global_lookup                       3823   EXIST::FUNCTION:
-TS_RESP_CTX_free                        3824   EXIST::FUNCTION:
-i2d_TS_ACCURACY                         3825   EXIST::FUNCTION:
-i2d_TS_MSG_IMPRINT_fp                   3826   EXIST::FUNCTION:
-i2d_TS_MSG_IMPRINT                      3827   EXIST::FUNCTION:
-i2d_TS_TST_INFO                         3828   EXIST::FUNCTION:
-TS_CONF_load_cert                       3829   EXIST::FUNCTION:
-TS_REQ_get_ext                          3830   EXIST::FUNCTION:
-TS_TST_INFO_set_nonce                   3831   EXIST::FUNCTION:
-TS_RESP_dup                             3832   EXIST::FUNCTION:
-i2d_TS_TST_INFO_fp                      3833   EXIST::FUNCTION:
-TS_TST_INFO_set_time                    3834   EXIST::FUNCTION:
-TS_REQ_set_policy_id                    3835   EXIST::FUNCTION:
-d2i_TS_RESP_fp                          3836   EXIST::FUNCTION:
-TS_RESP_set_status_info                 3837   EXIST::FUNCTION:
-TS_ACCURACY_set_millis                  3838   EXIST::FUNCTION:
-TS_REQ_dup                              3839   EXIST::FUNCTION:
-GENERAL_NAME_dup                        3840   EXIST::FUNCTION:
-TS_MSG_IMPRINT_set_algo                 3841   EXIST::FUNCTION:
-i2d_TS_TST_INFO_bio                     3842   EXIST::FUNCTION:
-TS_TST_INFO_set_ordering                3843   EXIST::FUNCTION:
-TS_TST_INFO_get_ext_by_OBJ              3844   EXIST::FUNCTION:
-TS_CONF_get_tsa_section                 3845   EXIST::FUNCTION:
-TS_RESP_CTX_set_signer_key              3846   EXIST::FUNCTION:
-i2d_ESS_SIGNING_CERT                    3847   EXIST::FUNCTION:
-TS_CONF_load_key                        3848   EXIST::FUNCTION:
-d2i_TS_MSG_IMPRINT_bio                  3849   EXIST::FUNCTION:
-TS_REQ_ext_free                         3850   EXIST::FUNCTION:
-TS_RESP_CTX_set_status_info             3851   EXIST::FUNCTION:
-TS_MSG_IMPRINT_get_algo                 3852   EXIST::FUNCTION:
-TS_REQ_print_bio                        3853   EXIST::FUNCTION:
-TS_MSG_IMPRINT_print_bio                3854   EXIST::FUNCTION:
-TS_REQ_get_policy_id                    3855   EXIST::FUNCTION:
-d2i_TS_ACCURACY                         3856   EXIST::FUNCTION:
-TS_CONF_set_tsa_name                    3857   EXIST::FUNCTION:
-TS_TST_INFO_get_ext_by_NID              3858   EXIST::FUNCTION:
-TS_RESP_new                             3859   EXIST::FUNCTION:
-ESS_CERT_ID_dup                         3860   EXIST::FUNCTION:
-TS_STATUS_INFO_dup                      3861   EXIST::FUNCTION:
-TS_REQ_delete_ext                       3862   EXIST::FUNCTION:
-TS_REQ_get_msg_imprint                  3863   EXIST::FUNCTION:
-TS_TST_INFO_get_serial                  3864   EXIST::FUNCTION:
-TS_REQ_get_nonce                        3865   EXIST::FUNCTION:
-TS_STATUS_INFO_print_bio                3866   EXIST::FUNCTION:
-d2i_TS_TST_INFO                         3867   EXIST::FUNCTION:
-d2i_TS_RESP_bio                         3868   EXIST::FUNCTION:
-OTHERNAME_cmp                           3869   EXIST::FUNCTION:
-TS_RESP_CTX_new                         3870   EXIST::FUNCTION:
-TS_RESP_set_tst_info                    3871   EXIST::FUNCTION:
-TS_RESP_CTX_set_signer_cert             3872   EXIST::FUNCTION:
-TS_REQ_set_msg_imprint                  3873   EXIST::FUNCTION:
-TS_CONF_set_digests                     3874   EXIST::FUNCTION:
-d2i_TS_MSG_IMPRINT                      3875   EXIST::FUNCTION:
-TS_REQ_get_ext_by_NID                   3876   EXIST::FUNCTION:
-TS_ACCURACY_new                         3877   EXIST::FUNCTION:
-TS_TST_INFO_new                         3878   EXIST::FUNCTION:
-TS_CONF_set_default_engine              3879   EXIST::FUNCTION:
-TS_ACCURACY_set_seconds                 3880   EXIST::FUNCTION:
-TS_TST_INFO_get_time                    3881   EXIST::FUNCTION:
-d2i_ESS_ISSUER_SERIAL                   3882   EXIST::FUNCTION:
-TS_OBJ_print_bio                        3883   EXIST::FUNCTION:
-TS_RESP_get_status_info                 3884   EXIST::FUNCTION:
-PKCS7_to_TS_TST_INFO                    3885   EXIST::FUNCTION:
-TS_TST_INFO_add_ext                     3886   EXIST::FUNCTION:
-i2d_TS_RESP_fp                          3887   EXIST::FUNCTION:
-i2d_TS_MSG_IMPRINT_bio                  3888   EXIST::FUNCTION:
-TS_RESP_CTX_set_accuracy                3889   EXIST::FUNCTION:
-TS_REQ_set_nonce                        3890   EXIST::FUNCTION:
-ESS_CERT_ID_new                         3891   EXIST::FUNCTION:
-TS_REQ_get_ext_count                    3892   EXIST::FUNCTION:
-TS_TST_INFO_print_bio                   3893   EXIST::FUNCTION:
-i2d_TS_RESP                             3894   EXIST::FUNCTION:
-TS_VERIFY_CTX_cleanup                   3895   EXIST::FUNCTION:
-TS_STATUS_INFO_free                     3896   EXIST::FUNCTION:
-TS_RESP_verify_token                    3897   EXIST::FUNCTION:
-TS_TST_INFO_get_policy_id               3898   EXIST::FUNCTION:
-TS_REQ_get_cert_req                     3899   EXIST::FUNCTION:
-d2i_TS_TST_INFO_fp                      3900   EXIST::FUNCTION:
-TS_TST_INFO_get_ext_d2i                 3901   EXIST::FUNCTION:
-TS_RESP_CTX_add_policy                  3902   EXIST::FUNCTION:
-d2i_TS_RESP                             3903   EXIST::FUNCTION:
-TS_CONF_load_certs                      3904   EXIST::FUNCTION:
-TS_TST_INFO_get_msg_imprint             3905   EXIST::FUNCTION:
-ERR_load_TS_strings                     3906   EXIST::FUNCTION:
-TS_TST_INFO_get_version                 3907   EXIST::FUNCTION:
-TS_CONF_set_certs                       3908   EXIST::FUNCTION:
-TS_VERIFY_CTX_free                      3909   EXIST::FUNCTION:
-TS_REQ_get_ext_by_critical              3910   EXIST::FUNCTION:
-TS_RESP_CTX_set_serial_cb               3911   EXIST::FUNCTION:
-TS_RESP_CTX_set_time_cb                 3912   EXIST::FUNCTION:
-TS_MSG_IMPRINT_get_msg                  3913   EXIST::FUNCTION:
-TS_TST_INFO_ext_free                    3914   EXIST::FUNCTION:
-TS_REQ_get_version                      3915   EXIST::FUNCTION:
-TS_REQ_add_ext                          3916   EXIST::FUNCTION:
-d2i_TS_TST_INFO_bio                     3917   EXIST::FUNCTION:
-TS_TST_INFO_get_ordering                3918   EXIST::FUNCTION:
-TS_RESP_print_bio                       3919   EXIST::FUNCTION:
-TS_TST_INFO_get_exts                    3920   EXIST::FUNCTION:
-TS_REQ_set_cert_req                     3921   EXIST::FUNCTION:
-TS_CONF_set_serial                      3922   EXIST::FUNCTION:
-TS_TST_INFO_free                        3923   EXIST::FUNCTION:
-d2i_TS_REQ_fp                           3924   EXIST::FUNCTION:
-TS_RESP_verify_response                 3925   EXIST::FUNCTION:
-i2d_ESS_ISSUER_SERIAL                   3926   EXIST::FUNCTION:
-TS_ACCURACY_get_seconds                 3927   EXIST::FUNCTION:
-TS_MSG_IMPRINT_dup                      3928   EXIST::FUNCTION:
-i2d_TS_REQ_bio                          3929   EXIST::FUNCTION:
-i2d_ESS_CERT_ID                         3930   EXIST::FUNCTION:
-TS_VERIFY_CTX_new                       3931   EXIST::FUNCTION:
-TS_RESP_CTX_set_extension_cb            3932   EXIST::FUNCTION:
-TS_RESP_CTX_set_status_info_cond        3933   EXIST:!VMS:FUNCTION:
-TS_RESP_CTX_set_stat_info_cond          3933   EXIST:VMS:FUNCTION:
-TS_RESP_CTX_set_def_policy              3934   EXIST::FUNCTION:
-TS_RESP_create_response                 3935   EXIST::FUNCTION:
-TS_TST_INFO_get_nonce                   3936   EXIST::FUNCTION:
-TS_TST_INFO_set_policy_id               3937   EXIST::FUNCTION:
-TS_CONF_set_ess_cert_id_chain           3938   EXIST::FUNCTION:
-d2i_TS_REQ                              3939   EXIST::FUNCTION:
-ESS_SIGNING_CERT_new                    3940   EXIST::FUNCTION:
-i2d_TS_REQ                              3941   EXIST::FUNCTION:
-TS_TST_INFO_delete_ext                  3942   EXIST::FUNCTION:
-ESS_ISSUER_SERIAL_free                  3943   EXIST::FUNCTION:
-TS_CONF_set_signer_key                  3944   EXIST::FUNCTION:
-TS_ACCURACY_get_millis                  3945   EXIST::FUNCTION:
-TS_RESP_get_token                       3946   EXIST::FUNCTION:
-TS_ACCURACY_dup                         3947   EXIST::FUNCTION:
-TS_RESP_free                            3948   EXIST::FUNCTION:
-ESS_ISSUER_SERIAL_new                   3949   EXIST::FUNCTION:
-TS_RESP_CTX_add_md                      3950   EXIST::FUNCTION:
-TS_TST_INFO_dup                         3951   EXIST::FUNCTION:
-TS_TST_INFO_get_accuracy                3952   EXIST::FUNCTION:
-TS_TST_INFO_set_version                 3953   EXIST::FUNCTION:
-TS_RESP_CTX_get_tst_info                3954   EXIST::FUNCTION:
-TS_RESP_verify_signature                3955   EXIST::FUNCTION:
-TS_TST_INFO_get_tsa                     3956   EXIST::FUNCTION:
-TS_STATUS_INFO_new                      3957   EXIST::FUNCTION:
-TS_REQ_get_ext_d2i                      3958   EXIST::FUNCTION:
-TS_TST_INFO_get_ext_count               3959   EXIST::FUNCTION:
-TS_RESP_CTX_get_request                 3960   EXIST::FUNCTION:
-ASN1_TYPE_cmp                           3961   EXIST::FUNCTION:
-d2i_TS_MSG_IMPRINT_fp                   3962   EXIST::FUNCTION:
-d2i_ESS_SIGNING_CERT                    3963   EXIST::FUNCTION:
-TS_CONF_set_ordering                    3964   EXIST::FUNCTION:
-TS_REQ_set_version                      3965   EXIST::FUNCTION:
-i2d_TS_STATUS_INFO                      3966   EXIST::FUNCTION:
-TS_TST_INFO_set_accuracy                3967   EXIST::FUNCTION:
-TS_TST_INFO_set_tsa                     3968   EXIST::FUNCTION:
-TS_CONF_set_accuracy                    3969   EXIST::FUNCTION:
-ESS_SIGNING_CERT_dup                    3970   EXIST::FUNCTION:
-d2i_TS_REQ_bio                          3971   EXIST::FUNCTION:
-TS_RESP_CTX_add_flags                   3972   EXIST::FUNCTION:
-d2i_TS_STATUS_INFO                      3973   EXIST::FUNCTION:
-TS_MSG_IMPRINT_set_msg                  3974   EXIST::FUNCTION:
-TS_REQ_free                             3975   EXIST::FUNCTION:
-TS_REQ_get_exts                         3976   EXIST::FUNCTION:
-TS_RESP_CTX_set_clock_precision_digits  3977   EXIST:!VMS:FUNCTION:
-TS_RESP_CTX_set_clk_prec_digits         3977   EXIST:VMS:FUNCTION:
-TS_RESP_CTX_add_failure_info            3978   EXIST::FUNCTION:
-i2d_TS_RESP_bio                         3979   EXIST::FUNCTION:
-TS_REQ_new                              3980   EXIST::FUNCTION:
-TS_MSG_IMPRINT_new                      3981   EXIST::FUNCTION:
-TS_TST_INFO_set_serial                  3982   EXIST::FUNCTION:
-TS_CONF_set_crypto_device               3983   EXIST::FUNCTION:
-TS_CONF_set_policies                    3984   EXIST::FUNCTION:
-ESS_CERT_ID_free                        3985   EXIST::FUNCTION:
-TS_MSG_IMPRINT_free                     3986   EXIST::FUNCTION:
-TS_VERIFY_CTX_init                      3987   EXIST::FUNCTION:
-TS_RESP_CTX_set_certs                   3988   EXIST::FUNCTION:
-TS_CONF_set_def_policy                  3989   EXIST::FUNCTION:
-TS_ACCURACY_free                        3990   EXIST::FUNCTION:
-TS_RESP_get_tst_info                    3991   EXIST::FUNCTION:
-TS_CONF_set_clock_precision_digits      3992   EXIST:!VMS:FUNCTION:
-TS_CONF_set_clk_prec_digits             3992   EXIST:VMS:FUNCTION:
-ESS_ISSUER_SERIAL_dup                   3993   EXIST::FUNCTION:
-TS_ACCURACY_get_micros                  3994   EXIST::FUNCTION:
-ASN1_BIT_STRING_check                   3995   EXIST::FUNCTION:
-TS_X509_ALGOR_print_bio                 3996   EXIST::FUNCTION:
-ESS_SIGNING_CERT_free                   3997   EXIST::FUNCTION:
-TS_TST_INFO_set_msg_imprint             3998   EXIST::FUNCTION:
-GENERAL_NAME_cmp                        3999   EXIST::FUNCTION:
-i2d_TS_REQ_fp                           4000   EXIST::FUNCTION:
-d2i_ESS_CERT_ID                         4001   EXIST::FUNCTION:
-TS_ext_print_bio                        4002   EXIST::FUNCTION:
-TS_ASN1_INTEGER_print_bio               4003   EXIST::FUNCTION:
-TS_ACCURACY_set_micros                  4004   EXIST::FUNCTION:
-TS_REQ_to_TS_VERIFY_CTX                 4005   EXIST::FUNCTION:
-TS_TST_INFO_get_ext                     4006   EXIST::FUNCTION:
-TS_TST_INFO_get_ext_by_critical         4007   EXIST::FUNCTION:
-TS_REQ_get_ext_by_OBJ                   4008   EXIST::FUNCTION:
-TS_CONF_set_signer_cert                 4009   EXIST::FUNCTION:
-EVP_PKEY_print_public                   4010   EXIST::FUNCTION:
-EVP_PKEY_CTX_new                        4011   EXIST::FUNCTION:
-EVP_PKEY_asn1_find                      4012   EXIST::FUNCTION:
-DSO_METHOD_beos                         4013   EXIST::FUNCTION:
-EVP_PKEY_sign_init                      4014   EXIST::FUNCTION:
-EVP_PKEY_asn1_add0                      4015   EXIST::FUNCTION:
-EVP_PKEY_meth_set_decrypt               4016   EXIST::FUNCTION:
-EVP_PKEY_CTX_get_keygen_info            4017   EXIST::FUNCTION:
-EVP_PKEY_keygen                         4018   EXIST::FUNCTION:
-EVP_PKEY_asn1_new                       4019   EXIST::FUNCTION:
-EVP_PKEY_encrypt_old                    4020   EXIST::FUNCTION:
-EVP_PKEY_encrypt_init                   4021   EXIST::FUNCTION:
-EVP_PKEY_asn1_set_public                4022   EXIST::FUNCTION:
-EVP_PKEY_asn1_set_free                  4023   EXIST::FUNCTION:
-EVP_PKEY_verify_recover_init            4024   EXIST::FUNCTION:
-EVP_PKEY_CTX_set_data                   4025   EXIST::FUNCTION:
-EVP_PKEY_keygen_init                    4026   EXIST::FUNCTION:
-EVP_PKEY_CTX_ctrl_str                   4027   EXIST::FUNCTION:
-BN_asc2bn                               4028   EXIST::FUNCTION:
-X509_ALGOR_get0                         4029   EXIST::FUNCTION:
-EVP_PKEY_print_params                   4030   EXIST::FUNCTION:
-X509_PUBKEY_set0_param                  4031   EXIST::FUNCTION:
-X509_ALGOR_set0                         4032   EXIST::FUNCTION:
-EVP_PKEY_CTX_get_data                   4033   EXIST::FUNCTION:
-EVP_PKEY_derive_init                    4034   EXIST::FUNCTION:
-EVP_PKEY_asn1_add_alias                 4035   EXIST::FUNCTION:
-EVP_PKEY_CTX_ctrl                       4036   EXIST::FUNCTION:
-EVP_PKEY_meth_set_ctrl                  4037   EXIST::FUNCTION:
-EVP_PKEY_meth_set_sign                  4038   EXIST::FUNCTION:
-EVP_PKEY_decrypt_init                   4039   EXIST::FUNCTION:
-EVP_PKEY_print_private                  4040   EXIST::FUNCTION:
-PKCS8_pkey_get0                         4041   EXIST::FUNCTION:
-EVP_PKEY_asn1_get0                      4042   EXIST::FUNCTION:
-EVP_PKEY_paramgen_init                  4043   EXIST::FUNCTION:
-EVP_PKEY_sign                           4044   EXIST::FUNCTION:
-EVP_PKEY_meth_set_init                  4045   EXIST::FUNCTION:
-EVP_PKEY_meth_set_verify_recover        4046   EXIST:!VMS:FUNCTION:
-EVP_PKEY_meth_set_vrfy_recover          4046   EXIST:VMS:FUNCTION:
-EVP_PKEY_CTX_set_cb                     4047   EXIST::FUNCTION:
-EVP_PKEY_meth_set_derive                4048   EXIST::FUNCTION:
-BUF_reverse                             4049   EXIST::FUNCTION:
-ASN1_bn_print                           4050   EXIST::FUNCTION:BIO
-EVP_PKEY_asn1_get_count                 4051   EXIST::FUNCTION:
-PKCS8_pkey_set0                         4052   EXIST::FUNCTION:
-EVP_PKEY_asn1_set_private               4053   EXIST::FUNCTION:
-EVP_PKEY_meth_set_verify                4054   EXIST::FUNCTION:
-EVP_PKEY_asn1_get0_info                 4055   EXIST::FUNCTION:
-EVP_PKEY_CTX_set_app_data               4056   EXIST::FUNCTION:
-EVP_PKEY_meth_set_verifyctx             4057   EXIST::FUNCTION:
-EVP_PKEY_CTX_get_app_data               4058   EXIST::FUNCTION:
-X509_PUBKEY_get0_param                  4059   EXIST::FUNCTION:
-EVP_PKEY_asn1_set_param                 4060   EXIST::FUNCTION:
-EVP_PKEY_meth_set_encrypt               4061   EXIST::FUNCTION:
-EVP_PKEY_verify                         4062   EXIST::FUNCTION:
-EVP_PKEY_decrypt_old                    4063   EXIST::FUNCTION:
-EVP_PKEY_asn1_find_str                  4064   EXIST::FUNCTION:
-EVP_PKEY_derive                         4065   EXIST::FUNCTION:
-PEM_write_bio_Parameters                4066   EXIST::FUNCTION:
-EVP_PKEY_meth_set_signctx               4067   EXIST::FUNCTION:
-EVP_PKEY_CTX_free                       4068   EXIST::FUNCTION:
-EVP_PKEY_get0                           4069   EXIST::FUNCTION:
-EVP_PKEY_meth_find                      4070   EXIST::FUNCTION:
-EVP_PKEY_verify_init                    4071   EXIST::FUNCTION:
-EVP_PKEY_derive_set_peer                4072   EXIST::FUNCTION:
-PEM_read_bio_Parameters                 4073   EXIST::FUNCTION:
-EVP_PKEY_meth_set_cleanup               4074   EXIST::FUNCTION:
-EVP_PKEY_asn1_free                      4075   EXIST::FUNCTION:
-EVP_PKEY_meth_set_keygen                4076   EXIST::FUNCTION:
-EVP_PKEY_paramgen                       4077   EXIST::FUNCTION:
-EVP_PKEY_meth_set_paramgen              4078   EXIST::FUNCTION:
-EVP_PKEY_verify_recover                 4079   EXIST::FUNCTION:
-EVP_PKEY_asn1_set_ctrl                  4080   EXIST::FUNCTION:
-EVP_PKEY_CTX_new_id                     4081   EXIST::FUNCTION:
-EVP_PKEY_get_default_digest_nid         4082   EXIST::FUNCTION:
-OBJ_find_sigid_by_algs                  4083   EXIST::FUNCTION:
-PKCS7_RECIP_INFO_get0_alg               4084   EXIST::FUNCTION:
-EVP_PKEY_base_id                        4085   EXIST::FUNCTION:
-PKCS7_SIGNER_INFO_get0_algs             4086   EXIST::FUNCTION:
-EVP_PKEY_CTX_get0_pkey                  4087   EXIST::FUNCTION:
-EVP_PKEY_meth_add0                      4088   EXIST::FUNCTION:
-EVP_PKEY_meth_new                       4089   EXIST::FUNCTION:
-ASN1_STRING_set0                        4090   EXIST::FUNCTION:
-EVP_PKEY_id                             4091   EXIST::FUNCTION:
-OBJ_find_sigid_algs                     4092   EXIST::FUNCTION:
-PKCS7_add0_attrib_signing_time          4093   EXIST::FUNCTION:
-PKCS7_final                             4094   EXIST::FUNCTION:
-PKCS7_SIGNER_INFO_sign                  4095   EXIST::FUNCTION:
-PKCS7_sign_add_signer                   4096   EXIST::FUNCTION:
-PKCS5_pbe2_set_iv                       4097   EXIST::FUNCTION:
-EVP_PBE_find                            4098   EXIST::FUNCTION:
-PKCS7_add1_attrib_digest                4099   EXIST::FUNCTION:
-EVP_PBE_alg_add_type                    4100   EXIST::FUNCTION:
-PKCS7_add_attrib_content_type           4101   EXIST::FUNCTION:
-EVP_DigestSignInit                      4102   EXIST::FUNCTION:
-EVP_DigestVerifyFinal                   4103   EXIST::FUNCTION:
-EVP_DigestVerifyInit                    4104   EXIST::FUNCTION:
-EVP_DigestSignFinal                     4105   EXIST::FUNCTION:
-EVP_PKEY_CTX_dup                        4106   EXIST::FUNCTION:
-EVP_PKEY_meth_free                      4107   EXIST::FUNCTION:
-EVP_PKEY_meth_set_copy                  4108   EXIST::FUNCTION:
-ENGINE_register_pkey_meths              4109   EXIST::FUNCTION:ENGINE
-ENGINE_get_pkey_meth                    4110   EXIST::FUNCTION:ENGINE
-EVP_PKEY_CTX_set0_keygen_info           4111   EXIST::FUNCTION:
-ENGINE_get_pkey_meths                   4112   EXIST::FUNCTION:ENGINE
-ENGINE_register_all_pkey_meths          4113   EXIST::FUNCTION:ENGINE
-EVP_PKEY_CTX_get_cb                     4114   EXIST::FUNCTION:
-EVP_PKEY_CTX_get_operation              4115   EXIST::FUNCTION:
-ENGINE_unregister_pkey_meths            4116   EXIST::FUNCTION:ENGINE
-ENGINE_set_pkey_meths                   4117   EXIST::FUNCTION:ENGINE
-ENGINE_get_pkey_asn1_meth               4118   EXIST::FUNCTION:ENGINE
-ENGINE_set_default_pkey_meths           4119   EXIST::FUNCTION:ENGINE
-ENGINE_get_pkey_asn1_meths              4120   EXIST::FUNCTION:ENGINE
-ENGINE_set_pkey_asn1_meths              4121   EXIST::FUNCTION:ENGINE
-ENGINE_get_pkey_meth_engine             4122   EXIST::FUNCTION:ENGINE
+Camellia_cbc_encrypt                    3784   EXIST::FUNCTION:CAMELLIA
+Camellia_cfb128_encrypt                 3785   EXIST::FUNCTION:CAMELLIA
+Camellia_cfb1_encrypt                   3786   EXIST::FUNCTION:CAMELLIA
+Camellia_cfb8_encrypt                   3787   EXIST::FUNCTION:CAMELLIA
+Camellia_ctr128_encrypt                 3788   EXIST::FUNCTION:CAMELLIA
+Camellia_cfbr_encrypt_block             3789   EXIST::FUNCTION:CAMELLIA
+Camellia_decrypt                        3790   EXIST::FUNCTION:CAMELLIA
+Camellia_ecb_encrypt                    3791   EXIST::FUNCTION:CAMELLIA
+Camellia_encrypt                        3792   EXIST::FUNCTION:CAMELLIA
+Camellia_ofb128_encrypt                 3793   EXIST::FUNCTION:CAMELLIA
+Camellia_set_key                        3794   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_128_cbc                    3795   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_128_cfb128                 3796   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_128_cfb1                   3797   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_128_cfb8                   3798   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_128_ecb                    3799   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_128_ofb                    3800   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_192_cbc                    3801   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_192_cfb128                 3802   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_192_cfb1                   3803   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_192_cfb8                   3804   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_192_ecb                    3805   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_192_ofb                    3806   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_256_cbc                    3807   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_256_cfb128                 3808   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_256_cfb1                   3809   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_256_cfb8                   3810   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_256_ecb                    3811   EXIST::FUNCTION:CAMELLIA
+EVP_camellia_256_ofb                    3812   EXIST::FUNCTION:CAMELLIA
+TS_RESP_CTX_free                        3813   EXIST::FUNCTION:
+i2d_TS_ACCURACY                         3814   EXIST::FUNCTION:
+i2d_TS_MSG_IMPRINT_fp                   3815   EXIST::FUNCTION:
+i2d_TS_MSG_IMPRINT                      3816   EXIST::FUNCTION:
+EVP_PKEY_print_public                   3817   EXIST::FUNCTION:
+EVP_PKEY_CTX_new                        3818   EXIST::FUNCTION:
+i2d_TS_TST_INFO                         3819   EXIST::FUNCTION:
+EVP_PKEY_asn1_find                      3820   EXIST::FUNCTION:
+DSO_METHOD_beos                         3821   EXIST::FUNCTION:
+TS_CONF_load_cert                       3822   EXIST::FUNCTION:
+TS_REQ_get_ext                          3823   EXIST::FUNCTION:
+EVP_PKEY_sign_init                      3824   EXIST::FUNCTION:
+ASN1_item_print                         3825   EXIST::FUNCTION:
+TS_TST_INFO_set_nonce                   3826   EXIST::FUNCTION:
+TS_RESP_dup                             3827   EXIST::FUNCTION:
+ENGINE_register_pkey_meths              3828   EXIST::FUNCTION:ENGINE
+EVP_PKEY_asn1_add0                      3829   EXIST::FUNCTION:
+PKCS7_add0_attrib_signing_time          3830   EXIST::FUNCTION:
+i2d_TS_TST_INFO_fp                      3831   EXIST::FUNCTION:
+TS_TST_INFO_set_time                    3832   EXIST::FUNCTION:
+EVP_PKEY_meth_set_decrypt               3833   EXIST::FUNCTION:
+EVP_PKEY_set_type_str                   3834   EXIST::FUNCTION:
+EVP_PKEY_CTX_get_keygen_info            3835   EXIST::FUNCTION:
+TS_REQ_set_policy_id                    3836   EXIST::FUNCTION:
+d2i_TS_RESP_fp                          3837   EXIST::FUNCTION:
+ENGINE_get_pkey_asn1_meth_engine        3838   EXIST:!VMS:FUNCTION:ENGINE
+ENGINE_get_pkey_asn1_meth_eng           3838   EXIST:VMS:FUNCTION:ENGINE
+WHIRLPOOL_Init                          3839   EXIST::FUNCTION:WHIRLPOOL
+TS_RESP_set_status_info                 3840   EXIST::FUNCTION:
+EVP_PKEY_keygen                         3841   EXIST::FUNCTION:
+EVP_DigestSignInit                      3842   EXIST::FUNCTION:
+TS_ACCURACY_set_millis                  3843   EXIST::FUNCTION:
+TS_REQ_dup                              3844   EXIST::FUNCTION:
+GENERAL_NAME_dup                        3845   EXIST::FUNCTION:
+WHIRLPOOL                               3846   EXIST::FUNCTION:WHIRLPOOL
+ENGINE_get_pkey_asn1_meth               3847   EXIST::FUNCTION:ENGINE
+EVP_PKEY_asn1_new                       3848   EXIST::FUNCTION:
+ENGINE_get_pkey_meth                    3849   EXIST::FUNCTION:ENGINE
+TS_MSG_IMPRINT_set_algo                 3850   EXIST::FUNCTION:
+i2d_TS_TST_INFO_bio                     3851   EXIST::FUNCTION:
+TS_TST_INFO_set_ordering                3852   EXIST::FUNCTION:
+TS_TST_INFO_get_ext_by_OBJ              3853   EXIST::FUNCTION:
+TS_CONF_get_tsa_section                 3854   EXIST::FUNCTION:
+TS_RESP_CTX_set_signer_key              3855   EXIST::FUNCTION:
+EVP_PKEY_encrypt_old                    3856   EXIST::FUNCTION:
+EVP_PKEY_encrypt_init                   3857   EXIST::FUNCTION:
+ASN1_PCTX_get_cert_flags                3858   EXIST::FUNCTION:
+i2d_ESS_SIGNING_CERT                    3859   EXIST::FUNCTION:
+TS_CONF_load_key                        3860   EXIST::FUNCTION:
+d2i_TS_MSG_IMPRINT_bio                  3861   EXIST::FUNCTION:
+EVP_PKEY_asn1_set_public                3862   EXIST::FUNCTION:
+b2i_PublicKey_bio                       3863   EXIST::FUNCTION:
+TS_REQ_ext_free                         3864   EXIST::FUNCTION:
+EVP_PKEY_asn1_set_free                  3865   EXIST::FUNCTION:
+d2i_NETSCAPE_X509                       3866   EXIST::FUNCTION:
+EVP_PKEY_verify_recover_init            3867   EXIST::FUNCTION:
+EVP_PKEY_CTX_set_data                   3868   EXIST::FUNCTION:
+EVP_PKEY_keygen_init                    3869   EXIST::FUNCTION:
+TS_RESP_CTX_set_status_info             3870   EXIST::FUNCTION:
+TS_MSG_IMPRINT_get_algo                 3871   EXIST::FUNCTION:
+TS_REQ_print_bio                        3872   EXIST::FUNCTION:
+EVP_PKEY_CTX_ctrl_str                   3873   EXIST::FUNCTION:
+EVP_PKEY_get_default_digest_nid         3874   EXIST::FUNCTION:
+TS_MSG_IMPRINT_print_bio                3875   EXIST::FUNCTION:
+BN_asc2bn                               3876   EXIST::FUNCTION:
+TS_REQ_get_policy_id                    3877   EXIST::FUNCTION:
+ENGINE_set_default_pkey_asn1_meths      3878   EXIST:!VMS:FUNCTION:ENGINE
+ENGINE_set_def_pkey_asn1_meths          3878   EXIST:VMS:FUNCTION:ENGINE
+d2i_TS_ACCURACY                         3879   EXIST::FUNCTION:
+X509_ALGOR_get0                         3880   EXIST::FUNCTION:
+DSO_global_lookup                       3881   EXIST::FUNCTION:
+TS_CONF_set_tsa_name                    3882   EXIST::FUNCTION:
+WHIRLPOOL_BitUpdate                     3883   EXIST::FUNCTION:WHIRLPOOL
+ASN1_PCTX_get_flags                     3884   EXIST::FUNCTION:
+TS_TST_INFO_get_ext_by_NID              3885   EXIST::FUNCTION:
+TS_RESP_new                             3886   EXIST::FUNCTION:
+ESS_CERT_ID_dup                         3887   EXIST::FUNCTION:
+TS_STATUS_INFO_dup                      3888   EXIST::FUNCTION:
+TS_REQ_delete_ext                       3889   EXIST::FUNCTION:
+EVP_DigestVerifyFinal                   3890   EXIST::FUNCTION:
+EVP_PKEY_print_params                   3891   EXIST::FUNCTION:
+TS_REQ_get_msg_imprint                  3892   EXIST::FUNCTION:
+OBJ_find_sigid_by_algs                  3893   EXIST::FUNCTION:
+TS_TST_INFO_get_serial                  3894   EXIST::FUNCTION:
+TS_REQ_get_nonce                        3895   EXIST::FUNCTION:
+X509_PUBKEY_set0_param                  3896   EXIST::FUNCTION:
+EVP_PKEY_CTX_set0_keygen_info           3897   EXIST::FUNCTION:
+i2d_ISSUING_DIST_POINT                  3898   EXIST::FUNCTION:
+X509_ALGOR_set0                         3899   EXIST::FUNCTION:
+EVP_PKEY_CTX_get_data                   3900   EXIST::FUNCTION:
+TS_STATUS_INFO_print_bio                3901   EXIST::FUNCTION:
+EVP_PKEY_derive_init                    3902   EXIST::FUNCTION:
+d2i_TS_TST_INFO                         3903   EXIST::FUNCTION:
+EVP_PKEY_asn1_add_alias                 3904   EXIST::FUNCTION:
+d2i_TS_RESP_bio                         3905   EXIST::FUNCTION:
+OTHERNAME_cmp                           3906   EXIST::FUNCTION:
+PKCS7_RECIP_INFO_get0_alg               3907   EXIST::FUNCTION:
+TS_RESP_CTX_new                         3908   EXIST::FUNCTION:
+TS_RESP_set_tst_info                    3909   EXIST::FUNCTION:
+PKCS7_final                             3910   EXIST::FUNCTION:
+EVP_PKEY_base_id                        3911   EXIST::FUNCTION:
+TS_RESP_CTX_set_signer_cert             3912   EXIST::FUNCTION:
+TS_REQ_set_msg_imprint                  3913   EXIST::FUNCTION:
+EVP_PKEY_CTX_ctrl                       3914   EXIST::FUNCTION:
+TS_CONF_set_digests                     3915   EXIST::FUNCTION:
+d2i_TS_MSG_IMPRINT                      3916   EXIST::FUNCTION:
+EVP_PKEY_meth_set_ctrl                  3917   EXIST::FUNCTION:
+TS_REQ_get_ext_by_NID                   3918   EXIST::FUNCTION:
+TS_ACCURACY_new                         3919   EXIST::FUNCTION:
+ASN1_PCTX_get_nm_flags                  3920   EXIST::FUNCTION:
+EVP_PKEY_meth_set_sign                  3921   EXIST::FUNCTION:
+EVP_PKEY_decrypt_init                   3922   EXIST::FUNCTION:
+NETSCAPE_X509_free                      3923   EXIST::FUNCTION:
+i2b_PVK_bio                             3924   EXIST::FUNCTION:
+EVP_PKEY_print_private                  3925   EXIST::FUNCTION:
+b2i_PVK_bio                             3926   EXIST::FUNCTION:
+TS_TST_INFO_new                         3927   EXIST::FUNCTION:
+TS_CONF_set_default_engine              3928   EXIST::FUNCTION:
+TS_ACCURACY_set_seconds                 3929   EXIST::FUNCTION:
+TS_TST_INFO_get_time                    3930   EXIST::FUNCTION:
+PKCS8_pkey_get0                         3931   EXIST::FUNCTION:
+EVP_PKEY_asn1_get0                      3932   EXIST::FUNCTION:
+PKCS7_SIGNER_INFO_sign                  3933   EXIST::FUNCTION:
+EVP_PKEY_paramgen_init                  3934   EXIST::FUNCTION:
+EVP_PKEY_sign                           3935   EXIST::FUNCTION:
+EVP_PKEY_meth_set_init                  3936   EXIST::FUNCTION:
+d2i_ESS_ISSUER_SERIAL                   3937   EXIST::FUNCTION:
+ISSUING_DIST_POINT_new                  3938   EXIST::FUNCTION:
+TS_OBJ_print_bio                        3939   EXIST::FUNCTION:
+EVP_PKEY_meth_set_verify_recover        3940   EXIST:!VMS:FUNCTION:
+EVP_PKEY_meth_set_vrfy_recover          3940   EXIST:VMS:FUNCTION:
+TS_RESP_get_status_info                 3941   EXIST::FUNCTION:
+EVP_PKEY_CTX_set_cb                     3942   EXIST::FUNCTION:
+PKCS7_to_TS_TST_INFO                    3943   EXIST::FUNCTION:
+ASN1_PCTX_get_oid_flags                 3944   EXIST::FUNCTION:
+TS_TST_INFO_add_ext                     3945   EXIST::FUNCTION:
+EVP_PKEY_meth_set_derive                3946   EXIST::FUNCTION:
+i2d_TS_RESP_fp                          3947   EXIST::FUNCTION:
+i2d_TS_MSG_IMPRINT_bio                  3948   EXIST::FUNCTION:
+TS_RESP_CTX_set_accuracy                3949   EXIST::FUNCTION:
+TS_REQ_set_nonce                        3950   EXIST::FUNCTION:
+ESS_CERT_ID_new                         3951   EXIST::FUNCTION:
+TS_REQ_get_ext_count                    3952   EXIST::FUNCTION:
+BUF_reverse                             3953   EXIST::FUNCTION:
+TS_TST_INFO_print_bio                   3954   EXIST::FUNCTION:
+d2i_ISSUING_DIST_POINT                  3955   EXIST::FUNCTION:
+ENGINE_get_pkey_meths                   3956   EXIST::FUNCTION:ENGINE
+i2b_PrivateKey_bio                      3957   EXIST::FUNCTION:
+i2d_TS_RESP                             3958   EXIST::FUNCTION:
+b2i_PublicKey                           3959   EXIST::FUNCTION:
+TS_VERIFY_CTX_cleanup                   3960   EXIST::FUNCTION:
+TS_STATUS_INFO_free                     3961   EXIST::FUNCTION:
+TS_RESP_verify_token                    3962   EXIST::FUNCTION:
+ASN1_bn_print                           3963   EXIST::FUNCTION:BIO
+EVP_PKEY_asn1_get_count                 3964   EXIST::FUNCTION:
+ASN1_PCTX_set_nm_flags                  3965   EXIST::FUNCTION:
+EVP_DigestVerifyInit                    3966   EXIST::FUNCTION:
+ENGINE_set_default_pkey_meths           3967   EXIST::FUNCTION:ENGINE
+TS_TST_INFO_get_policy_id               3968   EXIST::FUNCTION:
+TS_REQ_get_cert_req                     3969   EXIST::FUNCTION:
+PKCS8_pkey_set0                         3970   EXIST::FUNCTION:
+d2i_TS_TST_INFO_fp                      3971   EXIST::FUNCTION:
+EVP_PKEY_asn1_set_private               3972   EXIST::FUNCTION:
+TS_TST_INFO_get_ext_d2i                 3973   EXIST::FUNCTION:
+TS_RESP_CTX_add_policy                  3974   EXIST::FUNCTION:
+d2i_TS_RESP                             3975   EXIST::FUNCTION:
+TS_CONF_load_certs                      3976   EXIST::FUNCTION:
+TS_TST_INFO_get_msg_imprint             3977   EXIST::FUNCTION:
+ERR_load_TS_strings                     3978   EXIST::FUNCTION:
+TS_TST_INFO_get_version                 3979   EXIST::FUNCTION:
+EVP_PKEY_CTX_dup                        3980   EXIST::FUNCTION:
+EVP_PKEY_meth_set_verify                3981   EXIST::FUNCTION:
+i2b_PublicKey_bio                       3982   EXIST::FUNCTION:
+TS_CONF_set_certs                       3983   EXIST::FUNCTION:
+EVP_PKEY_asn1_get0_info                 3984   EXIST::FUNCTION:
+TS_VERIFY_CTX_free                      3985   EXIST::FUNCTION:
+TS_REQ_get_ext_by_critical              3986   EXIST::FUNCTION:
+TS_RESP_CTX_set_serial_cb               3987   EXIST::FUNCTION:
+TS_RESP_CTX_set_time_cb                 3988   EXIST::FUNCTION:
+TS_MSG_IMPRINT_get_msg                  3989   EXIST::FUNCTION:
+TS_TST_INFO_ext_free                    3990   EXIST::FUNCTION:
+TS_REQ_get_version                      3991   EXIST::FUNCTION:
+TS_REQ_add_ext                          3992   EXIST::FUNCTION:
+EVP_PKEY_CTX_set_app_data               3993   EXIST::FUNCTION:
+EVP_PKEY_meth_set_verifyctx             3994   EXIST::FUNCTION:
+PKCS7_sign_add_signer                   3995   EXIST::FUNCTION:
+d2i_TS_TST_INFO_bio                     3996   EXIST::FUNCTION:
+TS_TST_INFO_get_ordering                3997   EXIST::FUNCTION:
+TS_RESP_print_bio                       3998   EXIST::FUNCTION:
+TS_TST_INFO_get_exts                    3999   EXIST::FUNCTION:
+PKCS5_pbe2_set_iv                       4000   EXIST::FUNCTION:
+ENGINE_get_pkey_asn1_meths              4001   EXIST::FUNCTION:ENGINE
+b2i_PrivateKey                          4002   EXIST::FUNCTION:
+EVP_PKEY_CTX_get_app_data               4003   EXIST::FUNCTION:
+TS_REQ_set_cert_req                     4004   EXIST::FUNCTION:
+TS_CONF_set_serial                      4005   EXIST::FUNCTION:
+TS_TST_INFO_free                        4006   EXIST::FUNCTION:
+d2i_TS_REQ_fp                           4007   EXIST::FUNCTION:
+TS_RESP_verify_response                 4008   EXIST::FUNCTION:
+i2d_ESS_ISSUER_SERIAL                   4009   EXIST::FUNCTION:
+TS_ACCURACY_get_seconds                 4010   EXIST::FUNCTION:
+b2i_PrivateKey_bio                      4011   EXIST::FUNCTION:
+X509_PUBKEY_get0_param                  4012   EXIST::FUNCTION:
+TS_MSG_IMPRINT_dup                      4013   EXIST::FUNCTION:
+PKCS7_print_ctx                         4014   EXIST::FUNCTION:
+i2d_TS_REQ_bio                          4015   EXIST::FUNCTION:
+EVP_whirlpool                           4016   EXIST::FUNCTION:WHIRLPOOL
+EVP_PKEY_asn1_set_param                 4017   EXIST::FUNCTION:
+EVP_PKEY_meth_set_encrypt               4018   EXIST::FUNCTION:
+ASN1_PCTX_set_flags                     4019   EXIST::FUNCTION:
+i2d_ESS_CERT_ID                         4020   EXIST::FUNCTION:
+TS_VERIFY_CTX_new                       4021   EXIST::FUNCTION:
+TS_RESP_CTX_set_extension_cb            4022   EXIST::FUNCTION:
+ENGINE_register_all_pkey_meths          4023   EXIST::FUNCTION:ENGINE
+TS_RESP_CTX_set_status_info_cond        4024   EXIST:!VMS:FUNCTION:
+TS_RESP_CTX_set_stat_info_cond          4024   EXIST:VMS:FUNCTION:
+EVP_PKEY_verify                         4025   EXIST::FUNCTION:
+WHIRLPOOL_Final                         4026   EXIST::FUNCTION:WHIRLPOOL
+EVP_DigestSignFinal                     4027   EXIST::FUNCTION:
+TS_RESP_CTX_set_def_policy              4028   EXIST::FUNCTION:
+NETSCAPE_X509_it                        4029   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+NETSCAPE_X509_it                        4029   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+TS_RESP_create_response                 4030   EXIST::FUNCTION:
+PKCS7_SIGNER_INFO_get0_algs             4031   EXIST::FUNCTION:
+TS_TST_INFO_get_nonce                   4032   EXIST::FUNCTION:
+EVP_PKEY_decrypt_old                    4033   EXIST::FUNCTION:
+TS_TST_INFO_set_policy_id               4034   EXIST::FUNCTION:
+TS_CONF_set_ess_cert_id_chain           4035   EXIST::FUNCTION:
+EVP_PKEY_CTX_get0_pkey                  4036   EXIST::FUNCTION:
+d2i_TS_REQ                              4037   EXIST::FUNCTION:
+EVP_PKEY_asn1_find_str                  4038   EXIST::FUNCTION:
+ESS_SIGNING_CERT_new                    4039   EXIST::FUNCTION:
+EVP_PBE_find                            4040   EXIST::FUNCTION:
+EVP_PKEY_derive                         4041   EXIST::FUNCTION:
+i2d_TS_REQ                              4042   EXIST::FUNCTION:
+TS_TST_INFO_delete_ext                  4043   EXIST::FUNCTION:
+ESS_ISSUER_SERIAL_free                  4044   EXIST::FUNCTION:
+ASN1_PCTX_set_str_flags                 4045   EXIST::FUNCTION:
+ENGINE_get_pkey_asn1_meth_str           4046   EXIST::FUNCTION:ENGINE
+TS_CONF_set_signer_key                  4047   EXIST::FUNCTION:
+TS_ACCURACY_get_millis                  4048   EXIST::FUNCTION:
+TS_RESP_get_token                       4049   EXIST::FUNCTION:
+TS_ACCURACY_dup                         4050   EXIST::FUNCTION:
+TS_RESP_free                            4051   EXIST::FUNCTION:
+ISSUING_DIST_POINT_free                 4052   EXIST::FUNCTION:
+ESS_ISSUER_SERIAL_new                   4053   EXIST::FUNCTION:
+PKCS7_add1_attrib_digest                4054   EXIST::FUNCTION:
+TS_RESP_CTX_add_md                      4055   EXIST::FUNCTION:
+TS_TST_INFO_dup                         4056   EXIST::FUNCTION:
+ENGINE_set_pkey_asn1_meths              4057   EXIST::FUNCTION:ENGINE
+PEM_write_bio_Parameters                4058   EXIST::FUNCTION:
+TS_TST_INFO_get_accuracy                4059   EXIST::FUNCTION:
+TS_TST_INFO_set_version                 4060   EXIST::FUNCTION:
+TS_RESP_CTX_get_tst_info                4061   EXIST::FUNCTION:
+TS_RESP_verify_signature                4062   EXIST::FUNCTION:
+TS_TST_INFO_get_tsa                     4063   EXIST::FUNCTION:
+TS_STATUS_INFO_new                      4064   EXIST::FUNCTION:
+EVP_PKEY_CTX_get_cb                     4065   EXIST::FUNCTION:
+TS_REQ_get_ext_d2i                      4066   EXIST::FUNCTION:
+TS_TST_INFO_get_ext_count               4067   EXIST::FUNCTION:
+TS_RESP_CTX_get_request                 4068   EXIST::FUNCTION:
+i2d_NETSCAPE_X509                       4069   EXIST::FUNCTION:
+ENGINE_get_pkey_meth_engine             4070   EXIST::FUNCTION:ENGINE
+EVP_PKEY_meth_set_signctx               4071   EXIST::FUNCTION:
+ASN1_TYPE_cmp                           4072   EXIST::FUNCTION:
+EVP_PKEY_CTX_free                       4073   EXIST::FUNCTION:
+ISSUING_DIST_POINT_it                   4074   EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
+ISSUING_DIST_POINT_it                   4074   EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
+d2i_TS_MSG_IMPRINT_fp                   4075   EXIST::FUNCTION:
+EVP_PKEY_CTX_get_operation              4076   EXIST::FUNCTION:
+d2i_ESS_SIGNING_CERT                    4077   EXIST::FUNCTION:
+TS_CONF_set_ordering                    4078   EXIST::FUNCTION:
+EVP_PBE_alg_add_type                    4079   EXIST::FUNCTION:
+TS_REQ_set_version                      4080   EXIST::FUNCTION:
+EVP_PKEY_get0                           4081   EXIST::FUNCTION:
+i2d_TS_STATUS_INFO                      4082   EXIST::FUNCTION:
+TS_TST_INFO_set_accuracy                4083   EXIST::FUNCTION:
+PKCS7_add_attrib_content_type           4084   EXIST::FUNCTION:
+EVP_PKEY_meth_add0                      4085   EXIST::FUNCTION:
+TS_TST_INFO_set_tsa                     4086   EXIST::FUNCTION:
+EVP_PKEY_meth_new                       4087   EXIST::FUNCTION:
+WHIRLPOOL_Update                        4088   EXIST::FUNCTION:WHIRLPOOL
+TS_CONF_set_accuracy                    4089   EXIST::FUNCTION:
+ASN1_PCTX_set_oid_flags                 4090   EXIST::FUNCTION:
+ESS_SIGNING_CERT_dup                    4091   EXIST::FUNCTION:
+d2i_TS_REQ_bio                          4092   EXIST::FUNCTION:
+TS_RESP_CTX_add_flags                   4093   EXIST::FUNCTION:
+d2i_TS_STATUS_INFO                      4094   EXIST::FUNCTION:
+TS_MSG_IMPRINT_set_msg                  4095   EXIST::FUNCTION:
+TS_REQ_free                             4096   EXIST::FUNCTION:
+EVP_PKEY_meth_free                      4097   EXIST::FUNCTION:
+TS_REQ_get_exts                         4098   EXIST::FUNCTION:
+TS_RESP_CTX_set_clock_precision_digits  4099   EXIST:!VMS:FUNCTION:
+TS_RESP_CTX_set_clk_prec_digits         4099   EXIST:VMS:FUNCTION:
+TS_RESP_CTX_add_failure_info            4100   EXIST::FUNCTION:
+i2d_TS_RESP_bio                         4101   EXIST::FUNCTION:
+ASN1_STRING_set0                        4102   EXIST::FUNCTION:
+TS_REQ_new                              4103   EXIST::FUNCTION:
+TS_MSG_IMPRINT_new                      4104   EXIST::FUNCTION:
+EVP_PKEY_meth_find                      4105   EXIST::FUNCTION:
+EVP_PKEY_id                             4106   EXIST::FUNCTION:
+TS_TST_INFO_set_serial                  4107   EXIST::FUNCTION:
+TS_CONF_set_crypto_device               4108   EXIST::FUNCTION:
+EVP_PKEY_verify_init                    4109   EXIST::FUNCTION:
+TS_CONF_set_policies                    4110   EXIST::FUNCTION:
+ASN1_PCTX_new                           4111   EXIST::FUNCTION:
+ESS_CERT_ID_free                        4112   EXIST::FUNCTION:
+ENGINE_unregister_pkey_meths            4113   EXIST::FUNCTION:ENGINE
+TS_MSG_IMPRINT_free                     4114   EXIST::FUNCTION:
+TS_VERIFY_CTX_init                      4115   EXIST::FUNCTION:
+TS_RESP_CTX_set_certs                   4116   EXIST::FUNCTION:
+TS_CONF_set_def_policy                  4117   EXIST::FUNCTION:
+NETSCAPE_X509_new                       4118   EXIST::FUNCTION:
+TS_ACCURACY_free                        4119   EXIST::FUNCTION:
+TS_RESP_get_tst_info                    4120   EXIST::FUNCTION:
+EVP_PKEY_derive_set_peer                4121   EXIST::FUNCTION:
+PEM_read_bio_Parameters                 4122   EXIST::FUNCTION:
+TS_CONF_set_clock_precision_digits      4123   EXIST:!VMS:FUNCTION:
+TS_CONF_set_clk_prec_digits             4123   EXIST:VMS:FUNCTION:
+ESS_ISSUER_SERIAL_dup                   4124   EXIST::FUNCTION:
+TS_ACCURACY_get_micros                  4125   EXIST::FUNCTION:
+ASN1_PCTX_get_str_flags                 4126   EXIST::FUNCTION:
+ASN1_BIT_STRING_check                   4127   EXIST::FUNCTION:
+ASN1_PCTX_free                          4128   EXIST::FUNCTION:
+TS_X509_ALGOR_print_bio                 4129   EXIST::FUNCTION:
+EVP_PKEY_meth_set_cleanup               4130   EXIST::FUNCTION:
+EVP_PKEY_asn1_free                      4131   EXIST::FUNCTION:
+ESS_SIGNING_CERT_free                   4132   EXIST::FUNCTION:
+TS_TST_INFO_set_msg_imprint             4133   EXIST::FUNCTION:
+GENERAL_NAME_cmp                        4134   EXIST::FUNCTION:
+ENGINE_set_pkey_meths                   4135   EXIST::FUNCTION:ENGINE
+i2d_TS_REQ_fp                           4136   EXIST::FUNCTION:
+d2i_ESS_CERT_ID                         4137   EXIST::FUNCTION:
+OBJ_find_sigid_algs                     4138   EXIST::FUNCTION:
+EVP_PKEY_meth_set_keygen                4139   EXIST::FUNCTION:
+EVP_PKEY_paramgen                       4140   EXIST::FUNCTION:
+EVP_PKEY_meth_set_paramgen              4141   EXIST::FUNCTION:
+EVP_PKEY_verify_recover                 4142   EXIST::FUNCTION:
+TS_ext_print_bio                        4143   EXIST::FUNCTION:
+TS_ASN1_INTEGER_print_bio               4144   EXIST::FUNCTION:
+DSO_pathbyaddr                          4145   EXIST::FUNCTION:
+EVP_PKEY_set_type                       4146   EXIST::FUNCTION:
+TS_ACCURACY_set_micros                  4147   EXIST::FUNCTION:
+TS_REQ_to_TS_VERIFY_CTX                 4148   EXIST::FUNCTION:
+EVP_PKEY_meth_set_copy                  4149   EXIST::FUNCTION:
+ASN1_PCTX_set_cert_flags                4150   EXIST::FUNCTION:
+TS_TST_INFO_get_ext                     4151   EXIST::FUNCTION:
+EVP_PKEY_asn1_set_ctrl                  4152   EXIST::FUNCTION:
+TS_TST_INFO_get_ext_by_critical         4153   EXIST::FUNCTION:
+EVP_PKEY_CTX_new_id                     4154   EXIST::FUNCTION:
+TS_REQ_get_ext_by_OBJ                   4155   EXIST::FUNCTION:
+TS_CONF_set_signer_cert                 4156   EXIST::FUNCTION:
index fe99d49..24a5f25 100755 (executable)
@@ -65,7 +65,7 @@ and [options] can be one of
        no-md2 no-md4 no-md5 no-sha no-mdc2     - Skip this digest
        no-ripemd
        no-rc2 no-rc4 no-rc5 no-idea no-des     - Skip this symetric cipher
-       no-bf no-cast no-aes
+       no-bf no-cast no-aes no-camellia
        no-rsa no-dsa no-dh                     - Skip this public key cipher
        no-ssl2 no-ssl3                         - Skip this version of SSL
        just-ssl                                - remove all non-ssl keys/digest
@@ -199,6 +199,7 @@ $cflags= "$xcflags$cflags" if $xcflags ne "";
 
 $cflags.=" -DOPENSSL_NO_IDEA" if $no_idea;
 $cflags.=" -DOPENSSL_NO_AES"  if $no_aes;
+$cflags.=" -DOPENSSL_NO_CAMELLIA"  if $no_camellia;
 $cflags.=" -DOPENSSL_NO_RC2"  if $no_rc2;
 $cflags.=" -DOPENSSL_NO_RC4"  if $no_rc4;
 $cflags.=" -DOPENSSL_NO_RC5"  if $no_rc5;
@@ -741,6 +742,7 @@ sub var_add
        return("") if $no_hw   && $dir =~ /\/hw/;
        return("") if $no_idea && $dir =~ /\/idea/;
        return("") if $no_aes  && $dir =~ /\/aes/;
+       return("") if $no_camellia  && $dir =~ /\/camellia/;
        return("") if $no_rc2  && $dir =~ /\/rc2/;
        return("") if $no_rc4  && $dir =~ /\/rc4/;
        return("") if $no_rc5  && $dir =~ /\/rc5/;
@@ -775,6 +777,7 @@ sub var_add
        @a=grep(!/^e_.*_bf$/,@a) if $no_bf;
        @a=grep(!/^e_.*_c$/,@a) if $no_cast;
        @a=grep(!/^e_rc4$/,@a) if $no_rc4;
+       @a=grep(!/^e_camellia$/,@a) if $no_camellia;
 
        @a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2;
        @a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3;
@@ -987,6 +990,7 @@ sub read_options
                "no-rc5" => \$no_rc5,
                "no-idea" => \$no_idea,
                "no-aes" => \$no_aes,
+               "no-camellia" => \$no_camellia,
                "no-des" => \$no_des,
                "no-bf" => \$no_bf,
                "no-cast" => \$no_cast,
@@ -1005,6 +1009,7 @@ sub read_options
                "no-dh" => \$no_dh,
                "no-hmac" => \$no_hmac,
                "no-aes" => \$no_aes,
+               "no-camellia" => \$no_camellia,
                "no-asm" => \$no_asm,
                "nasm" => \$nasm,
                "nw-nasm" => \$nw_nasm,
@@ -1024,7 +1029,7 @@ sub read_options
                        [\$no_rc2, \$no_idea, \$no_des, \$no_bf, \$no_cast,
                          \$no_md2, \$no_sha, \$no_mdc2, \$no_dsa, \$no_dh,
                          \$no_ssl2, \$no_err, \$no_ripemd, \$no_rc5,
-                         \$no_aes],
+                         \$no_aes, \$no_camellia],
                "rsaref" => 0,
                "gcc" => \$gcc,
                "debug" => \$debug,
index 1e337ce..b6fc979 100755 (executable)
@@ -85,7 +85,7 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF",
                         "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1",
                         "SHA256", "SHA512", "RIPEMD",
                         "MDC2", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA",
-                        "HMAC", "AES", "WHIRLPOOL",
+                        "HMAC", "AES", "WHIRLPOOL", "CAMELLIA",
                         # Envelope "algorithms"
                         "EVP", "X509", "ASN1_TYPEDEFS",
                         # Helper "algorithms"
@@ -111,7 +111,7 @@ close(IN);
 # defined with ifndef(NO_XXX) are not included in the .def file, and everything
 # in directory xxx is ignored.
 my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf;
-my $no_cast; my $no_whirlpool;
+my $no_cast; my $no_whirlpool; my $no_camellia;
 my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2;
 my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5;
 my $no_ec; my $no_ecdsa; my $no_ecdh; my $no_engine; my $no_hw;
@@ -180,6 +180,7 @@ foreach (@ARGV, split(/ /, $options))
        elsif (/^no-ecdh$/)     { $no_ecdh=1; }
        elsif (/^no-hmac$/)     { $no_hmac=1; }
        elsif (/^no-aes$/)      { $no_aes=1; }
+       elsif (/^no-camellia$/) { $no_camellia=1; }
        elsif (/^no-evp$/)      { $no_evp=1; }
        elsif (/^no-lhash$/)    { $no_lhash=1; }
        elsif (/^no-stack$/)    { $no_stack=1; }
@@ -247,6 +248,7 @@ $crypto.=" crypto/mdc2/mdc2.h" ; # unless $no_mdc2;
 $crypto.=" crypto/sha/sha.h" ; # unless $no_sha;
 $crypto.=" crypto/ripemd/ripemd.h" ; # unless $no_ripemd;
 $crypto.=" crypto/aes/aes.h" ; # unless $no_aes;
+$crypto.=" crypto/camellia/camellia.h" ; # unless $no_camellia;
 
 $crypto.=" crypto/bn/bn.h";
 $crypto.=" crypto/rsa/rsa.h" ; # unless $no_rsa;
@@ -1097,6 +1099,7 @@ sub is_valid
                        if ($keyword eq "ECDH" && $no_ecdh) { return 0; }
                        if ($keyword eq "HMAC" && $no_hmac) { return 0; }
                        if ($keyword eq "AES" && $no_aes) { return 0; }
+                       if ($keyword eq "CAMELLIA" && $no_camellia) { return 0; }
                        if ($keyword eq "EVP" && $no_evp) { return 0; }
                        if ($keyword eq "LHASH" && $no_lhash) { return 0; }
                        if ($keyword eq "STACK" && $no_stack) { return 0; }
index 56bf179..45e9e24 100755 (executable)
@@ -24,6 +24,7 @@ my @dirs = (
 "crypto/bf",
 "crypto/cast",
 "crypto/aes",
+"crypto/camellia",
 "crypto/bn",
 "crypto/rsa",
 "crypto/dsa",