diff --git a/include/polarssl/aes.h b/include/polarssl/aes.h
index dc971c1..1c4fa3b 100644
--- a/include/polarssl/aes.h
+++ b/include/polarssl/aes.h
@@ -25,6 +25,8 @@
 #define AES_ENCRYPT     1
 #define AES_DECRYPT     0
 
+#define POLARSSL_ERR_AES_INVALID_KEY_LENGTH                 0x0800
+
 /**
  * \brief          AES context structure
  */
@@ -46,8 +48,10 @@
  * \param ctx      AES context to be initialized
  * \param key      encryption key
  * \param keysize  must be 128, 192 or 256
+ *
+ * \return         0 if successful, or POLARSSL_ERR_AES_INVALID_KEY_LENGTH
  */
-void aes_setkey_enc( aes_context *ctx, unsigned char *key, int keysize );
+int aes_setkey_enc( aes_context *ctx, unsigned char *key, int keysize );
 
 /**
  * \brief          AES key schedule (decryption)
@@ -55,8 +59,10 @@
  * \param ctx      AES context to be initialized
  * \param key      decryption key
  * \param keysize  must be 128, 192 or 256
+ *
+ * \return         0 if successful, or POLARSSL_ERR_AES_INVALID_KEY_LENGTH
  */
-void aes_setkey_dec( aes_context *ctx, unsigned char *key, int keysize );
+int aes_setkey_dec( aes_context *ctx, unsigned char *key, int keysize );
 
 /**
  * \brief          AES-ECB block encryption/decryption
diff --git a/include/polarssl/camellia.h b/include/polarssl/camellia.h
index 3f2e6a7..da66ceb 100644
--- a/include/polarssl/camellia.h
+++ b/include/polarssl/camellia.h
@@ -30,6 +30,8 @@
 #define CAMELLIA_ENCRYPT     1
 #define CAMELLIA_DECRYPT     0
 
+#define POLARSSL_ERR_CAMELLIA_INVALID_KEY_LENGTH            0x0a00
+
 /**
  * \brief          CAMELLIA context structure
  */
@@ -50,8 +52,10 @@
  * \param ctx      CAMELLIA context to be initialized
  * \param key      encryption key
  * \param keysize  must be 128, 192 or 256
+ * 
+ * \return         0 if successful, or POLARSSL_ERR_CAMELLIA_INVALID_KEY_LENGTH
  */
-void camellia_setkey_enc( camellia_context *ctx, unsigned char *key, int keysize );
+int camellia_setkey_enc( camellia_context *ctx, unsigned char *key, int keysize );
 
 /**
  * \brief          CAMELLIA key schedule (decryption)
@@ -59,8 +63,10 @@
  * \param ctx      CAMELLIA context to be initialized
  * \param key      decryption key
  * \param keysize  must be 128, 192 or 256
+ * 
+ * \return         0 if successful, or POLARSSL_ERR_CAMELLIA_INVALID_KEY_LENGTH
  */
-void camellia_setkey_dec( camellia_context *ctx, unsigned char *key, int keysize );
+int camellia_setkey_dec( camellia_context *ctx, unsigned char *key, int keysize );
 
 /**
  * \brief          CAMELLIA-ECB block encryption/decryption
