cipher: Deprecate GCRY_PK_ELG_E.
authorWerner Koch <wk@gnupg.org>
Tue, 8 Oct 2013 14:18:09 +0000 (16:18 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 8 Oct 2013 14:18:09 +0000 (16:18 +0200)
* cipher/elgamal.c (_gcry_pubkey_spec_elg_e): Remove.
* cipher/pubkey.c (pubkey_list): Remove double included
_gcry_pubkey_spec_elg.
(map_algo): MAke ELG_E to ELG.
--

It does not make sense to have different algorithm identifiers for
Elgamal encryption and the obsolete Elgamal signing.  Thus mark one of
them as deprecated and remove the useless extra spec info in
elgamal.c.  Frankly it is questionable why at all we need the
algorithm identifiers; they are a remain from the time when Libgcrypt
was part of GnuPG.  With the s-expression based API the IDs they don't
make much sense.

Signed-off-by: Werner Koch <wk@gnupg.org>
cipher/elgamal.c
cipher/pubkey.c
src/gcrypt.h.in

index c63059d..f51f907 100644 (file)
@@ -946,18 +946,3 @@ gcry_pk_spec_t _gcry_pubkey_spec_elg =
     elg_verify,
     elg_get_nbits,
   };
-
-gcry_pk_spec_t _gcry_pubkey_spec_elg_e =
-  {
-    GCRY_PK_ELG_E, { 0, 0 },
-    (GCRY_PK_USAGE_SIGN | GCRY_PK_USAGE_ENCR),
-    "ELG", elg_names,
-    "pgy", "pgyx", "ab", "rs", "pgy",
-    elg_generate,
-    elg_check_secret_key,
-    elg_encrypt,
-    elg_decrypt,
-    elg_sign,
-    elg_verify,
-    elg_get_nbits
-  };
index 1628467..50ce638 100644 (file)
@@ -48,7 +48,6 @@ static gcry_pk_spec_t *pubkey_list[] =
 #endif
 #if USE_ELGAMAL
     &_gcry_pubkey_spec_elg,
-    &_gcry_pubkey_spec_elg,
 #endif
     NULL
   };
@@ -62,6 +61,8 @@ map_algo (int algo)
    case GCRY_PK_ECDSA:
    case GCRY_PK_ECDH:
      return GCRY_PK_ECC;
+   case GCRY_PK_ELG_E:
+     return GCRY_PK_ELG;
    default:
      return algo;
    }
index 719b951..8646f43 100644 (file)
@@ -974,16 +974,16 @@ size_t gcry_cipher_get_algo_blklen (int algo);
  *                                  *
  ************************************/
 
-/* The algorithms and their IDs we support. */
+/* The algorithms and their IDs we support.  */
 enum gcry_pk_algos
   {
-    GCRY_PK_RSA   = 1,
-    GCRY_PK_RSA_E = 2,      /* (deprecated) */
-    GCRY_PK_RSA_S = 3,      /* (deprecated) */
-    GCRY_PK_ELG_E = 16,
-    GCRY_PK_DSA   = 17,
+    GCRY_PK_RSA   = 1,      /* RSA */
+    GCRY_PK_RSA_E = 2,      /* (deprecated: use 1).  */
+    GCRY_PK_RSA_S = 3,      /* (deprecated: use 1).  */
+    GCRY_PK_ELG_E = 16,     /* (deprecated: use 20). */
+    GCRY_PK_DSA   = 17,     /* Digital Signature Algorithm.  */
     GCRY_PK_ECC   = 18,     /* Generic ECC.  */
-    GCRY_PK_ELG   = 20,
+    GCRY_PK_ELG   = 20,     /* Elgamal       */
     GCRY_PK_ECDSA = 301,    /* (deprecated: use 18).  */
     GCRY_PK_ECDH  = 302     /* (deprecated: use 18).  */
   };