Standardise on sentence case for titles
diff --git a/docs/api-stability.rst b/docs/api-stability.rst
index 6a2e60e..53669b0 100644
--- a/docs/api-stability.rst
+++ b/docs/api-stability.rst
@@ -1,4 +1,4 @@
-API Stability
+API stability
 =============
 
 From its first release, ``cryptography`` will have a strong API stability
diff --git a/docs/development/custom-vectors/cast5.rst b/docs/development/custom-vectors/cast5.rst
index f540027..98c5ba7 100644
--- a/docs/development/custom-vectors/cast5.rst
+++ b/docs/development/custom-vectors/cast5.rst
@@ -1,4 +1,4 @@
-CAST5 Vector Creation
+CAST5 vector creation
 =====================
 
 This page documents the code that was used to generate the CAST5 CBC, CFB, OFB,
diff --git a/docs/development/custom-vectors/idea.rst b/docs/development/custom-vectors/idea.rst
index 68c00b8..e0db58d 100644
--- a/docs/development/custom-vectors/idea.rst
+++ b/docs/development/custom-vectors/idea.rst
@@ -1,4 +1,4 @@
-IDEA Vector Creation
+IDEA vector creation
 =====================
 
 This page documents the code that was used to generate the IDEA CBC, CFB, and
diff --git a/docs/development/getting-started.rst b/docs/development/getting-started.rst
index 412f054..3d9012e 100644
--- a/docs/development/getting-started.rst
+++ b/docs/development/getting-started.rst
@@ -1,4 +1,4 @@
-Getting Started
+Getting started
 ===============
 
 Working on ``cryptography`` requires the installation of a small number of
@@ -14,7 +14,7 @@
 
 You are now ready to run the tests and build the documentation.
 
-Running Tests
+Running tests
 ~~~~~~~~~~~~~
 
 ``cryptography`` unit tests are found in the ``tests/`` directory and are
@@ -49,7 +49,7 @@
 will see one or more ``InterpreterNotFound`` errors.
 
 
-Explicit Backend Selection
+Explicit backend selection
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 While testing you may want to run tests against a subset of the backends that
@@ -63,7 +63,7 @@
     $ tox -- --backend=openssl
     $ py.test --backend=openssl,commoncrypto
 
-Building Documentation
+Building documentation
 ~~~~~~~~~~~~~~~~~~~~~~
 
 ``cryptography`` documentation is stored in the ``docs/`` directory. It is
diff --git a/docs/development/reviewing-patches.rst b/docs/development/reviewing-patches.rst
index 302c998..9147a73 100644
--- a/docs/development/reviewing-patches.rst
+++ b/docs/development/reviewing-patches.rst
@@ -1,4 +1,4 @@
-Reviewing/Merging Patches
+Reviewing/merging patches
 =========================
 
 Everyone is encouraged to review open pull requests. When reviewing a patch try
@@ -32,7 +32,7 @@
 * Does a variable need a better name?
 * Should this be a keyword argument?
 
-Merge Requirements
+Merge requirements
 ------------------
 
 Because cryptography is so complex, and the implications of getting it wrong so
diff --git a/docs/development/submitting-patches.rst b/docs/development/submitting-patches.rst
index 1797b9c..f1bf954 100644
--- a/docs/development/submitting-patches.rst
+++ b/docs/development/submitting-patches.rst
@@ -1,4 +1,4 @@
-Submitting Patches
+Submitting patches
 ==================
 
 * Always make a new branch for your work.
@@ -29,7 +29,7 @@
 
     from __future__ import absolute_import, division, print_function
 
-API Considerations
+API considerations
 ~~~~~~~~~~~~~~~~~~
 
 Most projects' APIs are designed with a philosophy of "make easy things easy,
diff --git a/docs/development/test-vectors.rst b/docs/development/test-vectors.rst
index 1d76817..164d0ab 100644
--- a/docs/development/test-vectors.rst
+++ b/docs/development/test-vectors.rst
@@ -1,4 +1,4 @@
-Test Vectors
+Test vectors
 ============
 
 Testing the correctness of the primitives implemented in each ``cryptography``
@@ -10,7 +10,7 @@
 Sources
 -------
 
-Asymmetric Ciphers
+Asymmetric ciphers
 ~~~~~~~~~~~~~~~~~~
 
 * RSA PKCS #1 from the RSA FTP site (ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/
@@ -43,7 +43,7 @@
 * HMAC-RIPEMD160 from :rfc:`2286`.
 * HMAC-SHA2 (224, 256, 384, 512) from :rfc:`4231`.
 
-Key Derivation Functions
+Key derivation functions
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
 * HKDF (SHA1, SHA256) from :rfc:`5869`.
@@ -55,7 +55,7 @@
 
 * Fernet from its `specification repository`_.
 
-Symmetric Ciphers
+Symmetric ciphers
 ~~~~~~~~~~~~~~~~~
 
 * AES (CBC, CFB, ECB, GCM, OFB) from `NIST CAVP`_.
@@ -72,14 +72,14 @@
 * IDEA (CBC, CFB, OFB) generated by this project.
   See: :doc:`/development/custom-vectors/idea`
 
-Two Factor Authentication
+Two factor authentication
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
 * HOTP from :rfc:`4226`
 * TOTP from :rfc:`6238` (Note that an `errata`_ for the test vectors in RFC
   6238 exists)
 
-Creating Test Vectors
+Creating test vectors
 ---------------------
 
 When official vectors are unavailable ``cryptography`` may choose to build
diff --git a/docs/doing-a-release.rst b/docs/doing-a-release.rst
index 15583af..8b37df7 100644
--- a/docs/doing-a-release.rst
+++ b/docs/doing-a-release.rst
@@ -1,4 +1,4 @@
-Doing a Release
+Doing a release
 ===============
 
 Doing a release of ``cryptography`` is a two part process.
diff --git a/docs/faq.rst b/docs/faq.rst
index cbbb74a..0b7bdce 100644
--- a/docs/faq.rst
+++ b/docs/faq.rst
@@ -1,4 +1,4 @@
-Frequently Asked Questions
+Frequently asked questions
 ==========================
 
 How does ``cryptography`` compare to NaCl (Networking and Cryptography Library)?
diff --git a/docs/fernet.rst b/docs/fernet.rst
index 40f1a3c..f55a2d6 100644
--- a/docs/fernet.rst
+++ b/docs/fernet.rst
@@ -1,4 +1,4 @@
-Fernet (Symmetric encryption)
+Fernet (symmetric encryption)
 =============================
 
 .. currentmodule:: cryptography.fernet
diff --git a/docs/hazmat/backends/commoncrypto.rst b/docs/hazmat/backends/commoncrypto.rst
index d31391d..77d6612 100644
--- a/docs/hazmat/backends/commoncrypto.rst
+++ b/docs/hazmat/backends/commoncrypto.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-CommonCrypto Backend
+CommonCrypto backend
 ====================
 
 The `CommonCrypto`_ C library provided by Apple on OS X and iOS. The CommonCrypto
diff --git a/docs/hazmat/backends/index.rst b/docs/hazmat/backends/index.rst
index 983a44e..aec7a1e 100644
--- a/docs/hazmat/backends/index.rst
+++ b/docs/hazmat/backends/index.rst
@@ -3,7 +3,7 @@
 Backends
 ========
 
-Getting a Backend
+Getting a backend
 -----------------
 
 .. currentmodule:: cryptography.hazmat.backends
@@ -24,7 +24,7 @@
         :class:`~interfaces.CipherBackend`, :class:`~interfaces.HashBackend`, and
         :class:`~interfaces.HMACBackend`.
 
-Individual Backends
+Individual backends
 -------------------
 
 .. toctree::
diff --git a/docs/hazmat/backends/interfaces.rst b/docs/hazmat/backends/interfaces.rst
index c3ea164..c38f818 100644
--- a/docs/hazmat/backends/interfaces.rst
+++ b/docs/hazmat/backends/interfaces.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-Backend Interfaces
+Backend interfaces
 ==================
 
 .. currentmodule:: cryptography.hazmat.backends.interfaces
diff --git a/docs/hazmat/backends/openssl.rst b/docs/hazmat/backends/openssl.rst
index 547fe76..fdfadf0 100644
--- a/docs/hazmat/backends/openssl.rst
+++ b/docs/hazmat/backends/openssl.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-OpenSSL Backend
+OpenSSL backend
 ===============
 
 The `OpenSSL`_ C library. Cryptography supports version ``0.9.8e`` (present in
@@ -34,7 +34,7 @@
 
         This will activate the default OpenSSL CSPRNG.
 
-OS Random Engine
+OS random engine
 ----------------
 
 OpenSSL uses a user-space CSPRNG that is seeded from system random (
@@ -58,7 +58,7 @@
 **not activated**.
 
 
-OS Random Sources
+OS random sources
 -----------------
 
 On OS X and FreeBSD ``/dev/urandom`` is an alias for ``/dev/random`` and
diff --git a/docs/hazmat/bindings/commoncrypto.rst b/docs/hazmat/bindings/commoncrypto.rst
index e5a673b..9484cfa 100644
--- a/docs/hazmat/bindings/commoncrypto.rst
+++ b/docs/hazmat/bindings/commoncrypto.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-CommonCrypto Binding
+CommonCrypto binding
 ====================
 
 .. currentmodule:: cryptography.hazmat.bindings.commoncrypto.binding
diff --git a/docs/hazmat/bindings/index.rst b/docs/hazmat/bindings/index.rst
index caab8d6..ccd36e3 100644
--- a/docs/hazmat/bindings/index.rst
+++ b/docs/hazmat/bindings/index.rst
@@ -13,7 +13,7 @@
 managing memory allocation, locking and other resources.
 
 
-Individual Bindings
+Individual bindings
 -------------------
 
 .. toctree::
diff --git a/docs/hazmat/bindings/openssl.rst b/docs/hazmat/bindings/openssl.rst
index 9fce8f7..a6d1c48 100644
--- a/docs/hazmat/bindings/openssl.rst
+++ b/docs/hazmat/bindings/openssl.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-OpenSSL Binding
+OpenSSL binding
 ===============
 
 .. currentmodule:: cryptography.hazmat.bindings.openssl.binding
diff --git a/docs/hazmat/primitives/asymmetric/index.rst b/docs/hazmat/primitives/asymmetric/index.rst
index 10319fa..7ec1c5f 100644
--- a/docs/hazmat/primitives/asymmetric/index.rst
+++ b/docs/hazmat/primitives/asymmetric/index.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-Asymmetric Algorithms
+Asymmetric algorithms
 =====================
 
 .. toctree::
diff --git a/docs/hazmat/primitives/asymmetric/padding.rst b/docs/hazmat/primitives/asymmetric/padding.rst
index ab676b0..2a5de3c 100644
--- a/docs/hazmat/primitives/asymmetric/padding.rst
+++ b/docs/hazmat/primitives/asymmetric/padding.rst
@@ -28,8 +28,7 @@
     PKCS1 v1.5 (also known as simply PKCS1) is a simple padding scheme
     developed for use with RSA keys. It is defined in :rfc:`3447`.
 
-
-Mask Generation Functions
+Mask generation functions
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
 .. class:: MGF1(algorithm, salt_length)
diff --git a/docs/hazmat/primitives/cryptographic-hashes.rst b/docs/hazmat/primitives/cryptographic-hashes.rst
index b7eee2f..c318fee 100644
--- a/docs/hazmat/primitives/cryptographic-hashes.rst
+++ b/docs/hazmat/primitives/cryptographic-hashes.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-Message Digests
+Message digests
 ===============
 
 .. currentmodule:: cryptography.hazmat.primitives.hashes
@@ -90,7 +90,7 @@
     SHA-1 is a cryptographic hash function standardized by NIST. It produces an
     160-bit message digest.
 
-SHA-2 Family
+SHA-2 family
 ~~~~~~~~~~~~
 
 .. class:: SHA224()
diff --git a/docs/hazmat/primitives/hmac.rst b/docs/hazmat/primitives/hmac.rst
index ce4e880..5d511bc 100644
--- a/docs/hazmat/primitives/hmac.rst
+++ b/docs/hazmat/primitives/hmac.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-Hash-based Message Authentication Codes
+Hash-based message authentication codes
 =======================================
 
 .. currentmodule:: cryptography.hazmat.primitives.hmac
diff --git a/docs/hazmat/primitives/interfaces.rst b/docs/hazmat/primitives/interfaces.rst
index cefd81a..9a1f330 100644
--- a/docs/hazmat/primitives/interfaces.rst
+++ b/docs/hazmat/primitives/interfaces.rst
@@ -12,7 +12,7 @@
 .. _`Abstract Base Classes`: http://docs.python.org/3.2/library/abc.html
 
 
-Symmetric Ciphers
+Symmetric ciphers
 ~~~~~~~~~~~~~~~~~
 
 .. currentmodule:: cryptography.hazmat.primitives.interfaces
@@ -47,7 +47,7 @@
         The number of bits in a block.
 
 
-Cipher Modes
+Cipher modes
 ------------
 
 Interfaces used by the symmetric cipher modes described in
@@ -103,7 +103,7 @@
         Exact requirements of the nonce are described by the documentation of
         individual modes.
 
-Asymmetric Interfaces
+Asymmetric interfaces
 ~~~~~~~~~~~~~~~~~~~~~
 
 .. class:: RSAPrivateKey
@@ -377,7 +377,7 @@
 
     .. attribute:: name
 
-Hash Algorithms
+Hash algorithms
 ~~~~~~~~~~~~~~~
 
 .. class:: HashAlgorithm
@@ -402,7 +402,7 @@
         The internal block size of the hash algorithm in bytes.
 
 
-Key Derivation Functions
+Key derivation functions
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
 .. class:: KeyDerivationFunction
diff --git a/docs/hazmat/primitives/key-derivation-functions.rst b/docs/hazmat/primitives/key-derivation-functions.rst
index 174b68d..6196d95 100644
--- a/docs/hazmat/primitives/key-derivation-functions.rst
+++ b/docs/hazmat/primitives/key-derivation-functions.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-Key Derivation Functions
+Key derivation functions
 ========================
 
 .. currentmodule:: cryptography.hazmat.primitives.kdf
diff --git a/docs/hazmat/primitives/symmetric-encryption.rst b/docs/hazmat/primitives/symmetric-encryption.rst
index 71a1064..f7e8d5b 100644
--- a/docs/hazmat/primitives/symmetric-encryption.rst
+++ b/docs/hazmat/primitives/symmetric-encryption.rst
@@ -1,7 +1,7 @@
 .. hazmat:: /fernet
 
 
-Symmetric Encryption
+Symmetric encryption
 ====================
 
 .. currentmodule:: cryptography.hazmat.primitives.ciphers
@@ -130,7 +130,7 @@
     :param bytes key: The secret key, This must be kept secret. 40 to 128 bits
         in length in increments of 8 bits.
 
-Weak Ciphers
+Weak ciphers
 ------------
 
 .. warning::
@@ -372,7 +372,7 @@
         a secret message!
 
 
-Insecure Modes
+Insecure modes
 --------------
 
 .. warning::
diff --git a/docs/hazmat/primitives/twofactor.rst b/docs/hazmat/primitives/twofactor.rst
index 124d0ef..e9f5c7f 100644
--- a/docs/hazmat/primitives/twofactor.rst
+++ b/docs/hazmat/primitives/twofactor.rst
@@ -1,6 +1,6 @@
 .. hazmat::
 
-Two-factor Authentication
+Two-factor authentication
 =========================
 
 .. currentmodule:: cryptography.hazmat.primitives.twofactor
@@ -79,7 +79,7 @@
 The number of allowed attempts should be as low as possible while still
 ensuring that usability is not significantly impacted.
 
-Re-synchronization of the Counter
+Re-synchronization of the counter
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The server's counter value should only be incremented on a successful HOTP