Skip to content

Commit

Permalink
Adding Missing Composite documentation
Browse files Browse the repository at this point in the history
Signed-off-by: feventura <[email protected]>
  • Loading branch information
feventura committed Aug 20, 2024
1 parent b60270c commit e6b21ad
Show file tree
Hide file tree
Showing 13 changed files with 2,440 additions and 3,966 deletions.
13 changes: 13 additions & 0 deletions ALGORITHMS.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,23 @@ As standardization for these algorithms within TLS is not done, all TLS code poi
| mldsa44 | 0xfed0 |Yes| OQS_CODEPOINT_MLDSA44
| p256_mldsa44 | 0xfed3 |Yes| OQS_CODEPOINT_P256_MLDSA44
| rsa3072_mldsa44 | 0xfed4 |Yes| OQS_CODEPOINT_RSA3072_MLDSA44
| mldsa44_pss2048 | 0xfee1 |Yes| OQS_OID_MLDSA44_pss2048
| mldsa44_rsa2048 | 0xfee2 |Yes| OQS_OID_MLDSA44_rsa2048
| mldsa44_ed25519 | 0xfee3 |Yes| OQS_OID_MLDSA44_ed25519
| mldsa44_p256 | 0xfee4 |Yes| OQS_OID_MLDSA44_p256
| mldsa44_bp256 | 0xfee5 |Yes| OQS_OID_MLDSA44_bp256
| mldsa65 | 0xfed1 |Yes| OQS_CODEPOINT_MLDSA65
| p384_mldsa65 | 0xfed5 |Yes| OQS_CODEPOINT_P384_MLDSA65
| mldsa65_pss3072 | 0xfee6 |Yes| OQS_OID_MLDSA65_pss3072
| mldsa65_rsa3072 | 0xfee7 |Yes| OQS_OID_MLDSA65_rsa3072
| mldsa65_p256 | 0xfee8 |Yes| OQS_OID_MLDSA65_p256
| mldsa65_bp256 | 0xfee9 |Yes| OQS_OID_MLDSA65_bp256
| mldsa65_ed25519 | 0xfeea |Yes| OQS_OID_MLDSA65_ed25519
| mldsa87 | 0xfed2 |Yes| OQS_CODEPOINT_MLDSA87
| p521_mldsa87 | 0xfed6 |Yes| OQS_CODEPOINT_P521_MLDSA87
| mldsa87_p384 | 0xfeeb |Yes| OQS_OID_MLDSA87_p384
| mldsa87_bp384 | 0xfeec |Yes| OQS_OID_MLDSA87_bp384
| mldsa87_ed448 | 0xfeed |Yes| OQS_OID_MLDSA87_ed448
| falcon512 | 0xfed7 |Yes| OQS_CODEPOINT_FALCON512
| p256_falcon512 | 0xfed8 |Yes| OQS_CODEPOINT_P256_FALCON512
| rsa3072_falcon512 | 0xfed9 |Yes| OQS_CODEPOINT_RSA3072_FALCON512
Expand Down
2 changes: 1 addition & 1 deletion STANDARDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ components, this provider implements the following standards:
- Hybrid post-quantum / traditional private keys:
- Simple concatenation of traditional and post-quantum components in plain binary / OCTET_STRING representations.

- For composite signatures, the implementation follows [this IETF draft](https://datatracker.ietf.org/doc/draft-ounsworth-pq-composite-sigs/) (version 13). Note that only those PQ algorithms denoted with the marker "composite" in [oqs-template/generate.yml](oqs-template/generate.yml) are provided with composite variants and not all.
- For composite signatures, the implementation follows [this IETF draft](https://datatracker.ietf.org/doc/draft-ietf-lamps-pq-composite-sigs/) (version 02). Note that only those PQ algorithms denoted with the marker "composite" in [oqs-template/generate.yml](oqs-template/generate.yml) are provided with composite variants and not all.

Note: Please heed the [documentation on the enablement of KEM encoders](CONFIGURE.md#oqs_kem_encoders) via PKCS#8 and X.509.
3 changes: 3 additions & 0 deletions oqs-template/ALGORITHMS.md/ids.fragment
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
{%- for classical_alg in variant['mix_with'] %}
| {{ classical_alg['name'] }}_{{variant['name']}} | {{ classical_alg['code_point'] }} | {%- if variant['enable'] -%} Yes {%- else -%} No {%- endif -%} | OQS_CODEPOINT_{{ classical_alg['name']|upper }}_{{ variant['name']|upper }}
{%- endfor %}
{%- for composite_alg in variant['composite'] %}
| {{variant['name']}}_{{ composite_alg['name'] }} | {{ composite_alg['code_point'] }} | {%- if variant['enable'] -%} Yes {%- else -%} No {%- endif -%} | OQS_OID_{{ variant['name']|upper }}_{{ composite_alg['name'] }}
{%- endfor %}
{%- endfor %}
{%- endfor %}

7 changes: 7 additions & 0 deletions oqs-template/generate_oid_nid_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@ def gen_sig_table(oqslibdocdir):
claimed_nist_level,
hybrid['code_point'],
hybrid['oid']])
for composite in variant['composite']:
table.append([variant['name'] + ' **composite with** ' + composite['name'],
liboqs_sigs[sig['family']]['spec-version'],
str(liboqs_sigs[sig['family']]['nist-round']),
claimed_nist_level,
composite['code_point'],
composite['oid']])
except KeyError as ke:
# Non-existant NIDs mean this alg is not supported any more
pass
Expand Down
339 changes: 176 additions & 163 deletions oqs-template/oqs-sig-info.md

Large diffs are not rendered by default.

167 changes: 57 additions & 110 deletions oqsprov/oqs_decode_der2key.c

Large diffs are not rendered by default.

Loading

0 comments on commit e6b21ad

Please sign in to comment.