summaryrefslogtreecommitdiffstats
path: root/include/crypto/dh.h
diff options
context:
space:
mode:
authorSalvatore Benedetto <salvatore.benedetto@intel.com>2016-06-22 18:49:14 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2016-06-23 12:29:56 +0200
commit802c7f1c84e4b5a6ac78635878041023fc5831b1 (patch)
tree2dee2afffbbbb2761fd15fe94af28b93974ff0cf /include/crypto/dh.h
parentcrypto: kpp - Key-agreement Protocol Primitives API (KPP) (diff)
downloadlinux-802c7f1c84e4b5a6ac78635878041023fc5831b1.tar.xz
linux-802c7f1c84e4b5a6ac78635878041023fc5831b1.zip
crypto: dh - Add DH software implementation
* Implement MPI based Diffie-Hellman under kpp API * Test provided uses data generad by OpenSSL Signed-off-by: Salvatore Benedetto <salvatore.benedetto@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/crypto/dh.h')
-rw-r--r--include/crypto/dh.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/crypto/dh.h b/include/crypto/dh.h
new file mode 100644
index 000000000000..5102a8f282e6
--- /dev/null
+++ b/include/crypto/dh.h
@@ -0,0 +1,29 @@
+/*
+ * Diffie-Hellman secret to be used with kpp API along with helper functions
+ *
+ * Copyright (c) 2016, Intel Corporation
+ * Authors: Salvatore Benedetto <salvatore.benedetto@intel.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ */
+#ifndef _CRYPTO_DH_
+#define _CRYPTO_DH_
+
+struct dh {
+ void *key;
+ void *p;
+ void *g;
+ unsigned int key_size;
+ unsigned int p_size;
+ unsigned int g_size;
+};
+
+int crypto_dh_key_len(const struct dh *params);
+int crypto_dh_encode_key(char *buf, unsigned int len, const struct dh *params);
+int crypto_dh_decode_key(const char *buf, unsigned int len, struct dh *params);
+
+#endif