No description
Find a file
2026-04-09 18:27:19 +02:00
LICENSE Initial commit 2026-04-09 17:10:44 +02:00
README.md Update README.md 2026-04-09 18:27:19 +02:00
test-pqc.sh Update test-pqc.sh 2026-04-09 18:25:53 +02:00

Run

bash <(curl -sSL https://code.disobey.net/yawnbox/test-pqc/raw/branch/main/test-pqc.sh)

Results

# bash <(curl -sSL https://code.disobey.net/yawnbox/test-pqc/raw/branch/main/test-pqc.sh) pq.disobey.net

Detecting supported groups in local OpenSSL build...
  usable groups: MLKEM1024 MLKEM768 MLKEM512 X25519MLKEM768 SecP384r1MLKEM1024 SecP256r1MLKEM768 X448MLKEM1024 X25519 X448 P-384 P-256
Detecting supported ML-DSA signature algorithms...
  usable sigalgs: mldsa87 mldsa65 mldsa44

Target   : pq.disobey.net
Server   : unknown
OpenSSL  : OpenSSL 3.5.5 27 Jan 2026 (Library: OpenSSL 3.5.5 27 Jan 2026)
Timeout  : 6s

EE cert  : ML-DSA-65
EE sig   : ML-DSA-65
Issuer   : CN=pq.disobey.net
Chain    : self-signed

== Pure PQ: ML-DSA (FIPS 204) + ML-KEM (FIPS 203) ==

EE Signature   Key Encap      Protocol   Cipher                                 Result
──────────────────────────────────────────────────────────────────────────────────────
ML-DSA-87      MLKEM1024      TLSv1.3    TLS_AES_256_GCM_SHA384                 OK
ML-DSA-87      MLKEM1024      TLSv1.3    TLS_CHACHA20_POLY1305_SHA256           OK
---            MLKEM1024      FAIL       TLS_AES_128_GCM_SHA256                 FAIL
---            MLKEM768       FAIL       TLS_AES_256_GCM_SHA384                 FAIL
---            MLKEM768       FAIL       TLS_CHACHA20_POLY1305_SHA256           FAIL
---            MLKEM768       FAIL       TLS_AES_128_GCM_SHA256                 FAIL
---            MLKEM512       FAIL       TLS_AES_256_GCM_SHA384                 FAIL
---            MLKEM512       FAIL       TLS_CHACHA20_POLY1305_SHA256           FAIL
---            MLKEM512       FAIL       TLS_AES_128_GCM_SHA256                 FAIL
ML-DSA-65      MLKEM1024      TLSv1.3    TLS_AES_256_GCM_SHA384                 OK
ML-DSA-65      MLKEM1024      TLSv1.3    TLS_CHACHA20_POLY1305_SHA256           OK
---            MLKEM1024      FAIL       TLS_AES_128_GCM_SHA256                 FAIL
---            MLKEM768       FAIL       TLS_AES_256_GCM_SHA384                 FAIL
---            MLKEM768       FAIL       TLS_CHACHA20_POLY1305_SHA256           FAIL
---            MLKEM768       FAIL       TLS_AES_128_GCM_SHA256                 FAIL
---            MLKEM512       FAIL       TLS_AES_256_GCM_SHA384                 FAIL
---            MLKEM512       FAIL       TLS_CHACHA20_POLY1305_SHA256           FAIL
---            MLKEM512       FAIL       TLS_AES_128_GCM_SHA256                 FAIL
ML-DSA-44      MLKEM1024      TLSv1.3    TLS_AES_256_GCM_SHA384                 OK
ML-DSA-44      MLKEM1024      TLSv1.3    TLS_CHACHA20_POLY1305_SHA256           OK
---            MLKEM1024      FAIL       TLS_AES_128_GCM_SHA256                 FAIL
---            MLKEM768       FAIL       TLS_AES_256_GCM_SHA384                 FAIL
---            MLKEM768       FAIL       TLS_CHACHA20_POLY1305_SHA256           FAIL
---            MLKEM768       FAIL       TLS_AES_128_GCM_SHA256                 FAIL
---            MLKEM512       FAIL       TLS_AES_256_GCM_SHA384                 FAIL
---            MLKEM512       FAIL       TLS_CHACHA20_POLY1305_SHA256           FAIL
---            MLKEM512       FAIL       TLS_AES_128_GCM_SHA256                 FAIL

== Hybrid Key Establishment (FIPS 203 + Classical) ==

Key        Protocol   Hybrid Key Establishment     Cipher                                 Result
──────────────────────────────────────────────────────────────────────────────────────────────────────────
ML-DSA-65  TLSv1.3    X25519MLKEM768               TLS_AES_256_GCM_SHA384                 OK
ML-DSA-65  TLSv1.3    X25519MLKEM768               TLS_CHACHA20_POLY1305_SHA256           OK
ML-DSA-65  FAIL       X25519MLKEM768               TLS_AES_128_GCM_SHA256                 FAIL
ML-DSA-65  FAIL       SecP384r1MLKEM1024           TLS_AES_256_GCM_SHA384                 FAIL
ML-DSA-65  FAIL       SecP384r1MLKEM1024           TLS_CHACHA20_POLY1305_SHA256           FAIL
ML-DSA-65  FAIL       SecP384r1MLKEM1024           TLS_AES_128_GCM_SHA256                 FAIL
ML-DSA-65  FAIL       SecP256r1MLKEM768            TLS_AES_256_GCM_SHA384                 FAIL
ML-DSA-65  FAIL       SecP256r1MLKEM768            TLS_CHACHA20_POLY1305_SHA256           FAIL
ML-DSA-65  FAIL       SecP256r1MLKEM768            TLS_AES_128_GCM_SHA256                 FAIL
ML-DSA-65  FAIL       X448MLKEM1024                TLS_AES_256_GCM_SHA384                 FAIL
ML-DSA-65  FAIL       X448MLKEM1024                TLS_CHACHA20_POLY1305_SHA256           FAIL
ML-DSA-65  FAIL       X448MLKEM1024                TLS_AES_128_GCM_SHA256                 FAIL

== Classical Key Agreement ==

Key        Protocol   Classical Key Agreement      Cipher                                 Result
──────────────────────────────────────────────────────────────────────────────────────────────────────────
ML-DSA-65  TLSv1.3    X25519                       TLS_AES_256_GCM_SHA384                 OK
ML-DSA-65  TLSv1.3    X25519                       TLS_CHACHA20_POLY1305_SHA256           OK
ML-DSA-65  FAIL       X25519                       TLS_AES_128_GCM_SHA256                 FAIL
ML-DSA-65  FAIL       X448                         TLS_AES_256_GCM_SHA384                 FAIL
ML-DSA-65  FAIL       X448                         TLS_CHACHA20_POLY1305_SHA256           FAIL
ML-DSA-65  FAIL       X448                         TLS_AES_128_GCM_SHA256                 FAIL
ML-DSA-65  FAIL       P-384                        TLS_AES_256_GCM_SHA384                 FAIL
ML-DSA-65  FAIL       P-384                        TLS_CHACHA20_POLY1305_SHA256           FAIL
ML-DSA-65  FAIL       P-384                        TLS_AES_128_GCM_SHA256                 FAIL
ML-DSA-65  FAIL       P-256                        TLS_AES_256_GCM_SHA384                 FAIL
ML-DSA-65  FAIL       P-256                        TLS_CHACHA20_POLY1305_SHA256           FAIL
ML-DSA-65  FAIL       P-256                        TLS_AES_128_GCM_SHA256                 FAIL