-void seed_init(uint8_t * key, seed_ctx_t * ctx);
-void seed_enc(void * buffer, seed_ctx_t * ctx);
-void seed_dec(void * buffer, seed_ctx_t * ctx);
+/** \fn void seed_init(void * key, seed_ctx_t * ctx)
+ * \brief initializes context for SEED operation
+ *
+ * This function copys the key material into a context variable.
+ *
+ * \param key pointer to the key material (128 bit = 16 bytes)
+ * \param ctx pointer to the context (seed_ctx_t)
+ */
+void seed_init(const void * key, seed_ctx_t * ctx);
+
+/** \fn void seed_enc(void * buffer, seed_ctx_t * ctx)
+ * \brief encrypt a block with SEED
+ *
+ * This function encrypts a block of 64 bits (8 bytes) with the SEED algorithm.
+ * The round keys are computed on demand, so the context is modifyed while
+ * encrypting but the original stated is restored when the function exits.
+ *
+ * \param buffer pointer to the block (64 bit = 8 byte) which will be encrypted
+ * \param ctx pointer to the key material (seed_ctx_t)
+ */
+void seed_enc(void * buffer, const seed_ctx_t * ctx);
+
+
+/** \fn void seed_dec(void * buffer, seed_ctx_t * ctx)
+ * \brief decrypt a block with SEED
+ *
+ * This function decrypts a block of 64 bits (8 bytes) with the SEED algorithm.
+ * The round keys are computed on demand, so the context is modifyed while
+ * decrypting but the original stated is restored when the function exits.
+ *
+ * \param buffer pointer to the block (64 bit = 8 byte) which will be decrypted
+ * \param ctx pointer to the key material (seed_ctx_t)
+ */
+void seed_dec(void * buffer, const seed_ctx_t * ctx);
+