aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/ntru/ntru_plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstrongswan/plugins/ntru/ntru_plugin.c')
-rw-r--r--src/libstrongswan/plugins/ntru/ntru_plugin.c75
1 files changed, 5 insertions, 70 deletions
diff --git a/src/libstrongswan/plugins/ntru/ntru_plugin.c b/src/libstrongswan/plugins/ntru/ntru_plugin.c
index 2f066ce76..5b720dd48 100644
--- a/src/libstrongswan/plugins/ntru/ntru_plugin.c
+++ b/src/libstrongswan/plugins/ntru/ntru_plugin.c
@@ -17,64 +17,9 @@
#include "ntru_ke.h"
#include <library.h>
-#include <utils/debug.h>
typedef struct private_ntru_plugin_t private_ntru_plugin_t;
-rng_t *rng;
-
-bool ntru_plugin_get_entropy(ENTROPY_CMD cmd, uint8_t *out)
-{
- switch (cmd)
- {
- case INIT:
- return TRUE;
- case GET_NUM_BYTES_PER_BYTE_OF_ENTROPY:
- /* Here we return the number of bytes needed from the entropy
- * source to obtain 8 bits of entropy. Maximum is 8.
- */
- if (!out)
- {
- return FALSE;
- }
- *out = 1; /* this is a perfectly random source */
- return TRUE;
- case GET_BYTE_OF_ENTROPY:
- if (!out)
- {
- return FALSE;
- }
- if (!rng || !rng->get_bytes(rng, 1, out))
- {
- return FALSE;
- }
- return TRUE;
- default:
- return FALSE;
- }
-}
-
-/**
- * Create/Destroy True Random Generator
- */
-static bool create_random(private_ntru_plugin_t *this,
- plugin_feature_t *feature, bool reg, void *data)
-{
- if (reg)
- {
- rng = lib->crypto->create_rng(lib->crypto, RNG_TRUE);
- if (!rng)
- {
- return FALSE;
- }
- }
- else
- {
- rng->destroy(rng);
- }
- return TRUE;
-}
-
/**
* private data of ntru_plugin
*/
@@ -95,27 +40,18 @@ METHOD(plugin_t, get_name, char*,
METHOD(plugin_t, get_features, int,
private_ntru_plugin_t *this, plugin_feature_t *features[])
{
- int count = 0;
-
- static plugin_feature_t f_ke[] = {
+ static plugin_feature_t f[] = {
PLUGIN_REGISTER(DH, ntru_ke_create),
PLUGIN_PROVIDE(DH, NTRU_112_BIT),
PLUGIN_PROVIDE(DH, NTRU_128_BIT),
PLUGIN_PROVIDE(DH, NTRU_192_BIT),
PLUGIN_PROVIDE(DH, NTRU_256_BIT),
+ PLUGIN_DEPENDS(RNG, RNG_TRUE),
+ PLUGIN_DEPENDS(SIGNER, AUTH_HMAC_SHA2_256_256),
};
- static plugin_feature_t f_rng[] = {
- PLUGIN_CALLBACK((plugin_feature_callback_t)create_random, NULL),
- PLUGIN_PROVIDE(CUSTOM, "ntru-rng"),
- PLUGIN_DEPENDS(RNG, RNG_TRUE),
- };
- static plugin_feature_t f[countof(f_ke) + countof(f_rng)] = {};
-
- plugin_features_add(f, f_ke, countof(f_ke), &count);
- plugin_features_add(f, f_rng, countof(f_rng), &count);
-
*features = f;
- return count;
+
+ return countof(f);
}
METHOD(plugin_t, destroy, void,
@@ -141,6 +77,5 @@ plugin_t *ntru_plugin_create()
},
);
-
return &this->public.plugin;
}