summaryrefslogtreecommitdiff
path: root/cipher/rfc2268.c
diff options
context:
space:
mode:
authorPeter Wu <lekensteyn@gmail.com>2013-09-26 23:20:32 +0200
committerWerner Koch <wk@gnupg.org>2013-10-01 14:01:01 +0200
commit738177ec0eae05069ec61bc4f724a69d4e052e42 (patch)
tree16f6a06b43976904bf02c913210182f537f940af /cipher/rfc2268.c
parent1d85452412b65e7976bc94969fc513ff6b880ed8 (diff)
downloadlibgcrypt-738177ec0eae05069ec61bc4f724a69d4e052e42.tar.gz
cipher: Add support for 128-bit keys in RC2
* cipher/rfc2268.c (oids_rfc2268_128): New (_gcry_cipher_spec_rfc2268_128): New. * cipher/cipher.c (cipher_table_entry): Add GCRY_CIPHER_RFC2268_128. -- This patch adds support for decrypting (and encrypting) using 128-bit keys using the RC2 algorithm. Signed-off-by: Peter Wu <lekensteyn@gmail.com> Actually this is merely enabling that extra ID for 128 bit RFC2268. We should have used one id for that algorithm only, because a second identifier merely for having the OID in the code is a bad idea. My initial fault and thus I better apply this patch to make the id not entirely useless. -wk
Diffstat (limited to 'cipher/rfc2268.c')
-rw-r--r--cipher/rfc2268.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/cipher/rfc2268.c b/cipher/rfc2268.c
index 130be9b7..da0b9f40 100644
--- a/cipher/rfc2268.c
+++ b/cipher/rfc2268.c
@@ -351,8 +351,21 @@ static gcry_cipher_oid_spec_t oids_rfc2268_40[] =
{ NULL }
};
+static gcry_cipher_oid_spec_t oids_rfc2268_128[] =
+ {
+ /* pbeWithSHAAnd128BitRC2_CBC */
+ { "1.2.840.113549.1.12.1.5", GCRY_CIPHER_MODE_CBC },
+ { NULL }
+ };
+
gcry_cipher_spec_t _gcry_cipher_spec_rfc2268_40 = {
"RFC2268_40", NULL, oids_rfc2268_40,
RFC2268_BLOCKSIZE, 40, sizeof(RFC2268_context),
do_setkey, encrypt_block, decrypt_block
};
+
+gcry_cipher_spec_t _gcry_cipher_spec_rfc2268_128 = {
+ "RFC2268_128", NULL, oids_rfc2268_128,
+ RFC2268_BLOCKSIZE, 128, sizeof(RFC2268_context),
+ do_setkey, encrypt_block, decrypt_block
+};