diff --git a/cryptography/hazmat/bindings/interfaces.py b/cryptography/hazmat/bindings/interfaces.py
index e9c8fef..43563d1 100644
--- a/cryptography/hazmat/bindings/interfaces.py
+++ b/cryptography/hazmat/bindings/interfaces.py
@@ -22,36 +22,92 @@
     @abc.abstractproperty
     def ciphers(self):
         """
+        An instance of CiphersProvider
         """
 
 
 class CiphersProvider(six.with_metaclass(abc.ABCMeta)):
-    """
-    wat
-    """
+    @abc.abstractmethod
+    def supported(self, cipher, mode):
+        """
+        """
+
+    @abc.abstractmethod
+    def register_cipher_adapter(self, cipher, mode):
+        """
+        """
+
+    @abc.abstractmethod
+    def create_encrypt_ctx(self, cipher, mode):
+        """
+        """
+
+    @abc.abstractmethod
+    def create_decrypt_ctx(self, cipher, mode):
+        """
+        """
 
 
 class HashesProviderBackend(six.with_metaclass(abc.ABCMeta)):
     @abc.abstractproperty
     def hashes(self):
         """
+        An instance of HashesProvider
         """
 
 
 class HashesProvider(six.with_metaclass(abc.ABCMeta)):
-    """
-    wat
-    """
+    @abc.abstractmethod
+    def supported(self, algorithm):
+        """
+        """
+
+    @abc.abstractmethod
+    def create_ctx(self, algorithm):
+        """
+        """
+
+    @abc.abstractmethod
+    def update_ctx(self, ctx, data):
+        """
+        """
+
+    @abc.abstractmethod
+    def finalize_ctx(self, ctx, digest_size):
+        """
+        """
+
+    @abc.abstractmethod
+    def copy_ctx(self, ctx):
+        """
+        """
 
 
 class HMACsProviderBackend(six.with_metaclass(abc.ABCMeta)):
     @abc.abstractproperty
     def hmacs(self):
         """
+        An instance of HMACsProvider
         """
 
 
 class HMACsProvider(six.with_metaclass(abc.ABCMeta)):
-    """
-    wat
-    """
+    @abc.abstractmethod
+    def create_ctx(self, key, algorithm):
+        """
+        """
+
+    @abc.abstractmethod
+    def update_ctx(self, ctx, data):
+        """
+        """
+
+    @abc.abstractmethod
+    def finalize_ctx(self, ctx, digest_size):
+        """
+        """
+
+    @abc.abstractmethod
+    def copy_ctx(self, ctx):
+        """
+        """
