diff --git a/include/psa/crypto_types.h b/include/psa/crypto_types.h
index 3ec77f2..7c560b3 100644
--- a/include/psa/crypto_types.h
+++ b/include/psa/crypto_types.h
@@ -406,28 +406,5 @@
  */
 typedef uint8_t psa_pake_primitive_type_t;
 
-/** Encoding of the bitsize for the PAKE's primitive.
- *
- * The type and family is not enough to identify the primitive to use in the
- * PAKE, the implementation needs to know the bitsize too.
- */
-typedef uint16_t psa_pake_bits_t;
-
-/** Encoding of the PAKE's primitive.
- *
- * In most of the PAKEs the primitives are prime order groups, but some of
- * them might need the ring structure or just are using completely different
- * algebraic structures (eg. SRP or PQC schemes).
- */
-typedef uint32_t psa_pake_primitive_t;
-
-/** Encoding of additional options for PAKE.
- *
- * This type is for encoding additional options into PAKE cipher suites.
- * (Options like for example EnvelopeMode in OPAQUE or "Per-User M and N" in
- * SPAKE2.)
- */
-typedef uint32_t psa_pake_cipher_suite_options_t;
-
 /**@}*/
 #endif /* PSA_CRYPTO_TYPES_H */
diff --git a/include/psa/crypto_values.h b/include/psa/crypto_values.h
index bed48f7..78d431b 100644
--- a/include/psa/crypto_values.h
+++ b/include/psa/crypto_values.h
@@ -2504,8 +2504,9 @@
 /** The PAKE uses elliptic curves.
  *
  * The corresponding family type is ::psa_ecc_family_t. In determining a
- * specific curve in the family ::psa_pake_bits_t values are interpreted in the
- * exact same way as ::psa_key_bits_t would.
+ * specific curve in the family the cipher suite (see
+ * ::psa_pake_cipher_suite_t) bits are interpreted in the exact same way
+ * as key bits are.
  *
  * Input and output during the operation can involve group elements and scalar
  * values:
@@ -2521,8 +2522,9 @@
 /** The PAKE uses finite fields based Diffie-Hellman groups.
  *
  * The corresponding family type is ::psa_dh_family_t. In determining a
- * specific group in the family ::psa_pake_bits_t values are interpreted in the
- * exact same way as ::psa_key_bits_t would.
+ * specific group in the family the cipher suite (see
+ * ::psa_pake_cipher_suite_t) bits are interpreted in the exact same way
+ * as key bits are.
  *
  * Input and output during the operation can involve group elements and scalar
  * values:
@@ -2535,28 +2537,6 @@
  */
 #define PSA_PAKE_PRIMITIVE_TYPE_DH       ((psa_pake_primitive_type_t)0x02)
 
-/** Construct a PAKE primitive from type, family and bitsize.
- *
- * \param pake_type     The type of the primitive
- *                      (value of type ::psa_pake_primitive_type_t).
- * \param pake_family   The family of the primitive
- *                      (the type and interpretation of this parameter depends
- *                      on \p type, for more information consult the
- *                      documentation of individual ::psa_pake_primitive_type_t
- *                      constants).
- * \param pake_bits     The bitsize of the primitive
- *                      (Value of type ::psa_pake_bits_t. The interpretation
- *                      of this parameter depends on \p family, for more
- *                      information consult the documentation of individual
- *                      ::psa_pake_primitive_type_t constants).
- *
- * \return The constructed primitive value.
- */
-#define PSA_PAKE_PRIMITIVE(pake_type, pake_family, pake_bits) \
-    ((psa_pake_primitive_t) (((pake_type) << 24 |             \
-            (pake_family) << 16) | (pake_bits)))
-
-
 /** The key share being sent to or received from the peer.
  *
  * Unless the documentation of the PAKE algorithm says otherwise this is a
@@ -2572,7 +2552,6 @@
  */
 #define PSA_PAKE_DATA_KEY_SHARE                 ((psa_pake_data_t)0x01)
 
-
 /** A Schnorr NIZKP public key.
  *
  * This is a group element.
@@ -2587,7 +2566,6 @@
  */
 #define PSA_PAKE_DATA_ZK_PUBLIC                 ((psa_pake_data_t)0x02)
 
-
 /** A Schnorr NIZKP proof.
  *
  * This is a scalar value.
