Add aesni_gcm_mult()
diff --git a/include/polarssl/aesni.h b/include/polarssl/aesni.h
index b53c0c0..f3f9fc3 100644
--- a/include/polarssl/aesni.h
+++ b/include/polarssl/aesni.h
@@ -58,13 +58,29 @@
* \param input 16-byte input block
* \param output 16-byte output block
*
- * \return 0 if success, 1 if operation failed
+ * \return 0 on success (cannot fail)
*/
int aesni_crypt_ecb( aes_context *ctx,
int mode,
const unsigned char input[16],
unsigned char output[16] );
+/**
+ * \brief GCM multiplication: c = a * b in GF(2^128)
+ *
+ * \param c Result
+ * \param a First operand
+ * \param b Second operand
+ *
+ * \note Both operands and result are bit strings interpreted as
+ * elements of GF(2^128) as per the GCM spec.
+ *
+ * \return 0 on success (cannot fail)
+ */
+int aesni_gcm_mult( unsigned char c[16],
+ const unsigned char a[16],
+ const unsigned char b[16] );
+
#endif /* POLARSSL_HAVE_X86_64 */
#endif /* POLARSSL_AESNI_H */