diff --git a/scapy/layers/tls/crypto/ffdh.py b/scapy/layers/tls/crypto/ffdh.py
index 7451c96e52788284fc101ecf1b149038a66d9657..cd648519b4324238aa1e826f05d0b6d364c8cf52 100644
--- a/scapy/layers/tls/crypto/ffdh.py
+++ b/scapy/layers/tls/crypto/ffdh.py
@@ -9,8 +9,12 @@ XXX These groups (and the ones from RFC 7919) should be registered to
 the cryptography library. And this file should eventually be removed.
 """
 
-from cryptography.hazmat.backends import default_backend
-from cryptography.hazmat.primitives.asymmetric import dh
+from scapy.config import conf
+if conf.crypto_valid:
+    from cryptography.hazmat.backends import default_backend
+    from cryptography.hazmat.primitives.asymmetric import dh
+else:
+    default_backend = dh = None
 
 from scapy.utils import long_converter
 
@@ -202,10 +206,11 @@ _ffdh_raw_params = { 'modp768' : modp768,
                      'modp8192': modp8192  }
 
 FFDH_GROUPS = {}
-for name, group in _ffdh_raw_params.iteritems():
-    pn = dh.DHParameterNumbers(group.m, group.g)
-    params = pn.parameters(default_backend())
-    FFDH_GROUPS[name] = [params, group.mLen]
+if dh and default_backend:
+    for name, group in _ffdh_raw_params.iteritems():
+        pn = dh.DHParameterNumbers(group.m, group.g)
+        params = pn.parameters(default_backend())
+        FFDH_GROUPS[name] = [params, group.mLen]
 
 
 #from scapy.layers.tls.crypto.pkcs1 import pkcs_os2ip, pkcs_i2osp