Repository: ctz/hpke-py (language: python)

Issue:
Missing Suite - Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA256__AES_256_GCM ?
Is there any technical reason why this suite isn't defined?

```python
class Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA256__AES_256_GCM(_Suite):
    """
    This is DHKEM(P-256, HKDF-SHA256), HKDF-SHA256, AES-256-GCM
    """

    KEM = DHKEM_P256_HKDF_SHA256
    KDF = HKDF_SHA256
    AEAD = _AES_256_GCM
```


Discussion / hints:

Fix patch:
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..eb3a37f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.venv
+*.pyc
diff --git a/hpke/hpke.py b/hpke/hpke.py
index 590420e..ad50e00 100644
--- a/hpke/hpke.py
+++ b/hpke/hpke.py
@@ -204,6 +204,13 @@ class DHKEM_P256_HKDF_SHA256(_DHKEMWeierstrass):
     ID = 0x0010
 
 
+class DHKEM_P384_HKDF_SHA384(_DHKEMWeierstrass):
+    CURVE = ec.SECP384R1()
+    KDF = HKDF_SHA384
+    NSECRET = 48
+    ID = 0x0011
+
+
 class DHKEM_P521_HKDF_SHA512(_DHKEMWeierstrass):
     CURVE = ec.SECP521R1()
     KDF = HKDF_SHA512
@@ -571,6 +578,16 @@ class Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA256__AES_128_GCM(_Suite):
     AEAD = _AES_128_GCM
 
 
+class Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA256__AES_256_GCM(_Suite):
+    """
+    This is DHKEM(P-256, HKDF-SHA256), HKDF-SHA256, AES-256-GCM
+    """
+
+    KEM = DHKEM_P256_HKDF_SHA256
+    KDF = HKDF_SHA256
+    AEAD = _AES_256_GCM
+
+
 class Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA512__AES_128_GCM(_Suite):
     """
     This is DHKEM(P-256, HKDF-SHA256), HKDF-SHA512, AES-128-GCM
@@ -581,6 +598,16 @@ class Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA512__AES_128_GCM(_Suite):
     AEAD = _AES_128_GCM
 
 
+class Suite__DHKEM_P384_HKDF_SHA384__HKDF_SHA384__AES_256_GCM(_Suite):
+    """
+    This is DHKEM(P-384, HKDF-SHA384), HKDF-SHA384, AES-256-GCM
+    """
+
+    KEM = DHKEM_P384_HKDF_SHA384
+    KDF = HKDF_SHA384
+    AEAD = _AES_256_GCM
+
+
 class Suite__DHKEM_P521_HKDF_SHA512__HKDF_SHA512__AES_256_GCM(_Suite):
     """
     This is DHKEM(P-521, HKDF-SHA512), HKDF-SHA512, AES-256-GCM


Test patch:
diff --git a/tests/test_pairwise.py b/tests/test_pairwise.py
index 8d3bcb9..150e6db 100644
--- a/tests/test_pairwise.py
+++ b/tests/test_pairwise.py
@@ -8,7 +8,9 @@
 
 aead_suites = [
     hpke.Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA256__AES_128_GCM,
+    hpke.Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA256__AES_256_GCM,
     hpke.Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA512__AES_128_GCM,
+    hpke.Suite__DHKEM_P384_HKDF_SHA384__HKDF_SHA384__AES_256_GCM,
     hpke.Suite__DHKEM_P521_HKDF_SHA512__HKDF_SHA512__AES_256_GCM,
     hpke.Suite__DHKEM_P256_HKDF_SHA256__HKDF_SHA256__ChaCha20Poly1305,
 ]