diff --git a/include/polarssl/pk.h b/include/polarssl/pk.h
index c14c149..b08f5e3 100644
--- a/include/polarssl/pk.h
+++ b/include/polarssl/pk.h
@@ -133,7 +133,7 @@
     /** Get key size in bits */
     size_t (*get_size)( const void * );
 
-    /** Tell if the context implements this type (eg ECKEY can do ECDSA) */
+    /** Tell if the context implements this type (e.g. ECKEY can do ECDSA) */
     int (*can_do)( pk_type_t type );
 
     /** Verify signature */
@@ -228,7 +228,7 @@
 int pk_init_ctx( pk_context *ctx, const pk_info_t *info );
 
 /**
- * \brief           Initialiaze an RSA-alt context
+ * \brief           Initialize an RSA-alt context
  *
  * \param ctx       Context to initialize. Must be empty (type NONE).
  * \param key       RSA key pointer
@@ -259,7 +259,7 @@
  * \brief           Get the length in bytes of the underlying key
  * \param ctx       Context to use
  *
- * \return          Key lenght in bytes, or 0 on error
+ * \return          Key length in bytes, or 0 on error
  */
 static inline size_t pk_get_len( const pk_context *ctx )
 {
@@ -330,7 +330,7 @@
  * \param input     Input to decrypt
  * \param ilen      Input size
  * \param output    Decrypted output
- * \param olen      Decrypted message lenght
+ * \param olen      Decrypted message length
  * \param osize     Size of the output buffer
  * \param f_rng     RNG function
  * \param p_rng     RNG parameter
@@ -367,7 +367,7 @@
  * \param ctx       Context to use
  * \param items     Place to write debug items
  *
- * \return          0 on sucess or POLARSSL_ERR_PK_BAD_INPUT_DATA
+ * \return          0 on success or POLARSSL_ERR_PK_BAD_INPUT_DATA
  */
 int pk_debug( const pk_context *ctx, pk_debug_item *items );
 
@@ -381,7 +381,7 @@
 const char * pk_get_name( const pk_context *ctx );
 
 /**
- * \brief           Get the key typee
+ * \brief           Get the key type
  *
  * \param ctx       Context to use
  *
