Split ECC key types into ECDSA and ECDH 38/66738/1
authorLukasz Pawelczyk <l.pawelczyk@samsung.com>
Wed, 20 Apr 2016 13:28:15 +0000 (15:28 +0200)
committerLukasz Pawelczyk <l.pawelczyk@samsung.com>
Wed, 20 Apr 2016 14:48:37 +0000 (16:48 +0200)
Change-Id: I58b90609886d529cc1b387c56dd544977e5b6803

api/yaca/types.h
examples/key_exchange.c
src/key.c

index c4e52b8..19428df 100644 (file)
@@ -60,26 +60,30 @@ typedef enum {
  * @brief Key types, IV is considered as key
  */
 typedef enum {
-       YACA_KEY_TYPE_SYMMETRIC,  /**< Generic symmetric cipher KEY */
-       YACA_KEY_TYPE_DES,        /**< DES* key - must be handled differently because of parity bits */
-       YACA_KEY_TYPE_IV,         /**< IV for symmetric algorithms */
+       YACA_KEY_TYPE_SYMMETRIC,   /**< Generic symmetric cipher KEY */
+       YACA_KEY_TYPE_DES,         /**< DES* key - must be handled differently because of parity bits */
+       YACA_KEY_TYPE_IV,          /**< Initialization Vector for symmetric algorithms */
 
-       YACA_KEY_TYPE_RSA_PUB,    /**< RSA public key */
-       YACA_KEY_TYPE_RSA_PRIV,   /**< RSA private key */
+       YACA_KEY_TYPE_RSA_PUB,     /**< RSA public key */
+       YACA_KEY_TYPE_RSA_PRIV,    /**< RSA private key */
 
-       YACA_KEY_TYPE_DSA_PUB,    /**< DSA public key */
-       YACA_KEY_TYPE_DSA_PRIV,   /**< DSA private key */
+       YACA_KEY_TYPE_DSA_PUB,     /**< Digital Signature Algorithm public key */
+       YACA_KEY_TYPE_DSA_PRIV,    /**< Digital Signature Algorithm private key */
 
-       YACA_KEY_TYPE_DH_PUB,     /**< Diffie-Hellman public key */
-       YACA_KEY_TYPE_DH_PRIV,    /**< Diffie-Hellman private key */
+       YACA_KEY_TYPE_DH_PUB,      /**< Diffie-Hellman public key */
+       YACA_KEY_TYPE_DH_PRIV,     /**< Diffie-Hellman private key */
 
-       YACA_KEY_TYPE_ECC_PUB,    /**< ECC public key */
-       YACA_KEY_TYPE_ECC_PRIV,   /**< ECC private key */
+       YACA_KEY_TYPE_ECDSA_PUB,   /**< Elliptic Curve Digital Signature Algorithm public key */
+       YACA_KEY_TYPE_ECDSA_PRIV,  /**< Elliptic Curve Digital Signature Algorithm private key */
 
-       YACA_KEY_TYPE_PAIR_RSA,   /**< Pair of RSA keys */
-       YACA_KEY_TYPE_PAIR_DSA,   /**< Pair of DSA keys */
-       YACA_KEY_TYPE_PAIR_DH,    /**< Pair of Diffie-Hellman keys */
-       YACA_KEY_TYPE_PAIR_ECC    /**< Pair of ECC keys */
+       YACA_KEY_TYPE_ECDH_PUB,    /**< Elliptic Curve Diffie-Hellman public key */
+       YACA_KEY_TYPE_ECDH_PRIV,   /**< Elliptic Curve Diffie-Hellman private key */
+
+       YACA_KEY_TYPE_PAIR_RSA,    /**< Pair of RSA keys */
+       YACA_KEY_TYPE_PAIR_DSA,    /**< Pair of DSA keys */
+       YACA_KEY_TYPE_PAIR_DH,     /**< Pair of DH keys */
+       YACA_KEY_TYPE_PAIR_ECDSA,  /**< Pair of ECDSA keys */
+       YACA_KEY_TYPE_PAIR_ECDH    /**< Pair of ECDH keys */
 } yaca_key_type_e;
 
 /**
index 2377c20..82db88a 100644 (file)
@@ -100,7 +100,7 @@ void key_exchange_ecdh(void)
        long size;
 
        // generate  private, public key
-       ret = yaca_key_gen_pair(&private_key, &public_key, YACA_KEY_TYPE_PAIR_ECC, YACA_KEY_CURVE_P256);
+       ret = yaca_key_gen_pair(&private_key, &public_key, YACA_KEY_TYPE_PAIR_ECDH, YACA_KEY_CURVE_P256);
        if (ret < 0)
                goto clean;
 
@@ -122,7 +122,7 @@ void key_exchange_ecdh(void)
        if (1 != fread(buffer, size, 1, fp))
                goto clean;
 
-       ret = yaca_key_import(&peer_key, YACA_KEY_FORMAT_RAW, YACA_KEY_TYPE_ECC_PUB, buffer, size);
+       ret = yaca_key_import(&peer_key, YACA_KEY_FORMAT_RAW, YACA_KEY_TYPE_ECDH_PUB, buffer, size);
        if (ret < 0)
                goto clean;
 
index f5aa42c..3fbd596 100644 (file)
--- a/src/key.c
+++ b/src/key.c
@@ -212,18 +212,21 @@ API int yaca_key_gen(yaca_key_h *sym_key,
        case YACA_KEY_TYPE_IV:
                break;
        case YACA_KEY_TYPE_DES:
-       case YACA_KEY_TYPE_RSA_PUB:    /**< RSA public key */
-       case YACA_KEY_TYPE_RSA_PRIV:   /**< RSA private key */
-       case YACA_KEY_TYPE_DSA_PUB:    /**< DSA public key */
-       case YACA_KEY_TYPE_DSA_PRIV:   /**< DSA private key */
-       case YACA_KEY_TYPE_DH_PUB:     /**< Diffie-Hellman public key */
-       case YACA_KEY_TYPE_DH_PRIV:    /**< Diffie-Hellman private key */
-       case YACA_KEY_TYPE_ECC_PUB:    /**< ECC public key */
-       case YACA_KEY_TYPE_ECC_PRIV:   /**< ECC private key */
-       case YACA_KEY_TYPE_PAIR_RSA:   /**< Pair of RSA keys */
-       case YACA_KEY_TYPE_PAIR_DSA:   /**< Pair of DSA keys */
-       case YACA_KEY_TYPE_PAIR_DH:    /**< Pair of Diffie-Hellman keys */
-       case YACA_KEY_TYPE_PAIR_ECC:   /**< Pair of ECC keys */
+       case YACA_KEY_TYPE_RSA_PUB:    /* RSA public key */
+       case YACA_KEY_TYPE_RSA_PRIV:   /* RSA private key */
+       case YACA_KEY_TYPE_DSA_PUB:    /* DSA public key */
+       case YACA_KEY_TYPE_DSA_PRIV:   /* DSA private key */
+       case YACA_KEY_TYPE_DH_PUB:     /* DH public key */
+       case YACA_KEY_TYPE_DH_PRIV:    /* DH private key */
+       case YACA_KEY_TYPE_ECDSA_PUB:  /* ECDSA public key */
+       case YACA_KEY_TYPE_ECDSA_PRIV: /* ECDSA private key */
+       case YACA_KEY_TYPE_ECDH_PUB:   /* ECDH public key */
+       case YACA_KEY_TYPE_ECDH_PRIV:  /* ECDH private key */
+       case YACA_KEY_TYPE_PAIR_RSA:   /* Pair of RSA keys */
+       case YACA_KEY_TYPE_PAIR_DSA:   /* Pair of DSA keys */
+       case YACA_KEY_TYPE_PAIR_DH:    /* Pair of DH keys */
+       case YACA_KEY_TYPE_PAIR_ECDSA: /* Pair of ECDSA keys */
+       case YACA_KEY_TYPE_PAIR_ECDH:  /* Pair of ECDH keys */
                return YACA_ERROR_NOT_IMPLEMENTED;
        default:
                return YACA_ERROR_INVALID_ARGUMENT;