### 6.4 Dedicated functions for elliptic curves. ¶

The S-expression based interface is not optimal for certain operations on elliptic curves. Thus a few special functions are implemented to support common operations on curves with one of these assigned curve ids:

`GCRY_ECC_CURVE25519`
`GCRY_ECC_CURVE448`

Function: `unsigned int` gcry_ecc_get_algo_keylen `(int curveid);` ¶

  Returns the length in bytes of a point on the curve with the id curveid. 0 is returned for curves which have no assigned id.

Function: `gpg_error_t` gcry_ecc_mul_point `(int curveid, unsigned char *result, const unsigned char *scalar, const unsigned char *point)` ¶

  This function computes the scalar multiplication on the Montgomery form of the curve with id curveid. If point is `NULL`, the base point of the curve is used. The caller needs to provide a large enough buffer for result and a valid scalar and point.