Added a generic function to check if a DH group is an EC group
authorMartin Willi <martin@revosec.ch>
Fri, 3 Sep 2010 14:22:10 +0000 (16:22 +0200)
committerMartin Willi <martin@revosec.ch>
Fri, 3 Sep 2010 14:22:10 +0000 (16:22 +0200)
src/libstrongswan/crypto/diffie_hellman.c
src/libstrongswan/crypto/diffie_hellman.h

index e367560..5f73653 100644 (file)
@@ -442,3 +442,20 @@ diffie_hellman_params_t *diffie_hellman_get_params(diffie_hellman_group_t group)
        return NULL;
 }
 
+/**
+ * See header.
+ */
+bool diffie_hellman_group_is_ec(diffie_hellman_group_t group)
+{
+       switch (group)
+       {
+               case ECP_256_BIT:
+               case ECP_384_BIT:
+               case ECP_521_BIT:
+               case ECP_192_BIT:
+               case ECP_224_BIT:
+                       return TRUE;
+               default:
+                       return FALSE;
+       }
+}
index b9816df..9ae7723 100644 (file)
@@ -147,4 +147,12 @@ struct diffie_hellman_params_t {
  */
 diffie_hellman_params_t *diffie_hellman_get_params(diffie_hellman_group_t group);
 
+/**
+ * Check if a given DH group is an ECDH group
+ *
+ * @param group                        group to check
+ * @return                             TUE if group is an ECP group
+ */
+bool diffie_hellman_group_is_ec(diffie_hellman_group_t group);
+
 #endif /** DIFFIE_HELLMAN_H_ @}*/