diff --git a/include/polarssl/aes.h b/include/polarssl/aes.h
index c94478b..40b3a56 100644
--- a/include/polarssl/aes.h
+++ b/include/polarssl/aes.h
@@ -127,6 +127,30 @@
                        const unsigned char *input,
                        unsigned char *output );
 
+/*
+ * \brief               AES-CTR buffer encryption/decryption
+ *
+ * Warning: You have to keep the maximum use of your counter in mind!
+ *
+ * \param length        The length of the data
+ * \param nc_off        The offset in the current stream_block (for resuming
+ *                      within current cipher stream). The offset pointer to
+ *                      should be 0 at the start of a stream.
+ * \param nonce_counter The 128-bit nonce and counter.
+ * \param stream_block  The saved stream-block for resuming. Is overwritten
+ *                      by the function.
+ * \param input         The input data stream
+ * \param output        The output data stream
+ *
+ * \return         0 if successful
+ */
+int aes_crypt_ctr( aes_context *ctx,
+                       int length,
+                       int *nc_off,
+                       unsigned char nonce_counter[16],
+                       unsigned char stream_block[16],
+                       const unsigned char *input,
+                       unsigned char *output );
 /**
  * \brief          Checkup routine
  *
diff --git a/include/polarssl/cipher.h b/include/polarssl/cipher.h
index 9bd5875..5375559 100644
--- a/include/polarssl/cipher.h
+++ b/include/polarssl/cipher.h
@@ -98,7 +98,7 @@
     /** Cipher key length, in bits (default length for variable sized ciphers) */
     int key_length;
 
-    /** Name of the message digest */
+    /** Name of the cipher */
     const char * name;
 
     /** IV size, in bytes */
diff --git a/include/polarssl/config.h b/include/polarssl/config.h
index 09807fa..79071a3 100644
--- a/include/polarssl/config.h
+++ b/include/polarssl/config.h
@@ -106,6 +106,20 @@
  */
 
 /**
+ * \def POLARSSL_CIPHER_MODE_CFB
+ *
+ * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
+ */
+#define POLARSSL_CIPHER_MODE_CFB
+
+/**
+ * \def POLARSSL_CIPHER_MODE_CTR
+ *
+ * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
+ */
+#define POLARSSL_CIPHER_MODE_CTR
+
+/**
  * \def POLARSSL_DEBUG_MSG
  *
  * Enable all SSL/TLS debugging messages.
@@ -130,7 +144,7 @@
 /**
  * \def POLARSSL_GENPRIME
  *
- * Enable the prime-number generation code.
+ * Enable the RSA prime-number generation code.
  */
 #define POLARSSL_GENPRIME
 
diff --git a/include/polarssl/xtea.h b/include/polarssl/xtea.h
index 16020d1..feb1237 100644
--- a/include/polarssl/xtea.h
+++ b/include/polarssl/xtea.h
@@ -37,6 +37,7 @@
 #define XTEA_ENCRYPT     1
 #define XTEA_DECRYPT     0
 
+#define POLARSSL_ERR_XTEA_INVALID_INPUT_LENGTH               -0x0820
 
 /**
  * \brief          XTEA context structure
@@ -74,6 +75,26 @@
 		 unsigned char input[8],
 		 unsigned char output[8] );
 
+/**
+ * \brief          XTEA CBC cipher function
+ *
+ * \param ctx      XTEA context
+ * \param mode     XTEA_ENCRYPT or XTEA_DECRYPT
+ * \param length   the length of input, multiple of 8
+ * \param iv       initialization vector for CBC mode
+ * \param input    input block
+ * \param output   output block
+ *
+ * \return         0 if successful,
+ *                 POLARSSL_ERR_XTEA_INVALID_INPUT_LENGTH if the length % 8 != 0
+ */
+int xtea_crypt_cbc( xtea_context *ctx,
+                    int mode,
+                    int length,
+                    unsigned char iv[8],
+                    unsigned char *input,
+                    unsigned char *output);
+
 /*
  * \brief          Checkup routine
  *
