block ciphers: improve CTR nonce warning
diff --git a/include/mbedtls/blowfish.h b/include/mbedtls/blowfish.h
index c0ef5a0..4b4916e 100644
--- a/include/mbedtls/blowfish.h
+++ b/include/mbedtls/blowfish.h
@@ -170,7 +170,24 @@
/**
* \brief Blowfish-CTR buffer encryption/decryption
*
- * Warning: You have to keep the maximum use of your counter in mind!
+ * \warning You must never reuse a nonce value with the same key. Doing so
+ * would void the encryption for the two messages encrypted with
+ * the same nonce and key.
+ *
+ * There are two common strategies for managing nonces with CTR:
+ *
+ * 1. Use a counter starting at 0 or a random value. With this
+ * strategy, this function will increment the counter for you, so
+ * you only need to preserve the \p nonce_counter buffer between
+ * calls. With this strategy, you must not encrypt more than
+ * 2**64 blocks of data.
+ * 2. Use a randomly-generated \p nonce_counter for each call.
+ * With this strategy, you need to ensure the nonce is generated
+ * in an unbiased way and you must not encrypt more than 2**32
+ * block of data.
+ *
+ * Note that for both stategies, the limit is in number of blocks
+ * and that a Blowfish block is 8 bytes.
*
* \param ctx Blowfish context
* \param length The length of the data