Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CROSS to version 2.0 #2078

Merged
merged 6 commits into from
Feb 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
76 changes: 38 additions & 38 deletions docs/algorithms/sig/cross.md

Large diffs are not rendered by default.

78 changes: 40 additions & 38 deletions docs/algorithms/sig/cross.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@ type: signature
principal-submitters:
- Marco Baldi
- Alessandro Barenghi
- Michele Battagliola
- Sebastian Bitzer
- Patrick Karl
- Felice Manganiello
- Alessio Pavoni
- Gerardo Pelosi
- Paolo Santini
- Jonas Schupp
- Edoardo Signorini
- Freeman Slaughter
- Antonia Wachter-Zeh
- Violetta Weger
Expand All @@ -18,10 +20,10 @@ auxiliary-submitters:
crypto-assumption: hardness of the restricted syndrome decoding problem for random
linear codes on a finite field
website: https://www.cross-crypto.com/
nist-round: 1
spec-version: 1.2 + Keccak_x4 + PQClean fixes + endianness fix
nist-round: 2
spec-version: 2.0 + PQClean and OQS patches
primary-upstream:
source: https://github.com/rtjk/CROSS-PQClean/commit/d3bf2db85ba4a181418c95171d36afdca0d43464
source: https://github.com/CROSS-signature/CROSS-lib-oqs/commit/efd17279e75308b000bda7c7f58866620d652bc1
spdx-license-identifier: CC0-1.0
parameter-sets:
- name: cross-rsdp-128-balanced
Expand All @@ -30,7 +32,7 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 77
length-secret-key: 32
length-signature: 12912
length-signature: 13152
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
Expand Down Expand Up @@ -58,8 +60,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 77
length-secret-key: 32
length-signature: 19152
implementations-switch-on-runtime-cpu-features: true
length-signature: 18432
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -86,8 +88,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 77
length-secret-key: 32
length-signature: 10080
implementations-switch-on-runtime-cpu-features: true
length-signature: 12432
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -114,8 +116,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 115
length-secret-key: 48
length-signature: 28222
implementations-switch-on-runtime-cpu-features: true
length-signature: 29853
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -142,8 +144,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 115
length-secret-key: 48
length-signature: 42682
implementations-switch-on-runtime-cpu-features: true
length-signature: 41406
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -170,8 +172,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 115
length-secret-key: 48
length-signature: 23642
implementations-switch-on-runtime-cpu-features: true
length-signature: 28391
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -198,8 +200,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 153
length-secret-key: 64
length-signature: 51056
implementations-switch-on-runtime-cpu-features: true
length-signature: 53527
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -226,8 +228,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 153
length-secret-key: 64
length-signature: 76298
implementations-switch-on-runtime-cpu-features: true
length-signature: 74590
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -254,8 +256,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 153
length-secret-key: 64
length-signature: 43592
implementations-switch-on-runtime-cpu-features: true
length-signature: 50818
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -282,8 +284,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 54
length-secret-key: 32
length-signature: 9236
implementations-switch-on-runtime-cpu-features: true
length-signature: 9120
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -310,8 +312,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 54
length-secret-key: 32
length-signature: 12472
implementations-switch-on-runtime-cpu-features: true
length-signature: 11980
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -338,8 +340,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 54
length-secret-key: 32
length-signature: 7956
implementations-switch-on-runtime-cpu-features: true
length-signature: 8960
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -366,8 +368,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 83
length-secret-key: 48
length-signature: 23380
implementations-switch-on-runtime-cpu-features: true
length-signature: 22464
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -394,8 +396,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 83
length-secret-key: 48
length-signature: 27404
implementations-switch-on-runtime-cpu-features: true
length-signature: 26772
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -422,8 +424,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 83
length-secret-key: 48
length-signature: 18188
implementations-switch-on-runtime-cpu-features: true
length-signature: 20452
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -450,8 +452,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 106
length-secret-key: 64
length-signature: 40134
implementations-switch-on-runtime-cpu-features: true
length-signature: 40100
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -478,8 +480,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 106
length-secret-key: 64
length-signature: 48938
implementations-switch-on-runtime-cpu-features: true
length-signature: 48102
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand All @@ -506,8 +508,8 @@ parameter-sets:
claimed-security: EUF-CMA
length-public-key: 106
length-secret-key: 64
length-signature: 32742
implementations-switch-on-runtime-cpu-features: true
length-signature: 36454
implementations-switch-on-runtime-cpu-features: false
implementations:
- upstream: primary-upstream
upstream-id: clean
Expand Down
4 changes: 2 additions & 2 deletions scripts/copy_from_upstream/copy_from_upstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ upstreams:
patches: [pqmayo-aes.patch, pqmayo-mem.patch]
-
name: upcross
git_url: https://github.com/rtjk/CROSS-PQClean.git
git_url: https://github.com/CROSS-signature/CROSS-lib-oqs.git
git_branch: master
git_commit: d3bf2db85ba4a181418c95171d36afdca0d43464
git_commit: efd17279e75308b000bda7c7f58866620d652bc1
sig_meta_path: 'generate/crypto_sign/{pqclean_scheme}/META.yml'
sig_scheme_path: 'generate/crypto_sign/{pqclean_scheme}'
kems:
Expand Down
36 changes: 18 additions & 18 deletions src/sig/cross/sig_cross.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#if defined(OQS_ENABLE_SIG_cross_rsdp_128_balanced)
#define OQS_SIG_cross_rsdp_128_balanced_length_public_key 77
#define OQS_SIG_cross_rsdp_128_balanced_length_secret_key 32
#define OQS_SIG_cross_rsdp_128_balanced_length_signature 12912
#define OQS_SIG_cross_rsdp_128_balanced_length_signature 13152

OQS_SIG *OQS_SIG_cross_rsdp_128_balanced_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_balanced_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -21,7 +21,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_balanced_verify_with_ctx_str(const uin
#if defined(OQS_ENABLE_SIG_cross_rsdp_128_fast)
#define OQS_SIG_cross_rsdp_128_fast_length_public_key 77
#define OQS_SIG_cross_rsdp_128_fast_length_secret_key 32
#define OQS_SIG_cross_rsdp_128_fast_length_signature 19152
#define OQS_SIG_cross_rsdp_128_fast_length_signature 18432

OQS_SIG *OQS_SIG_cross_rsdp_128_fast_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_fast_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -34,7 +34,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_fast_verify_with_ctx_str(const uint8_t
#if defined(OQS_ENABLE_SIG_cross_rsdp_128_small)
#define OQS_SIG_cross_rsdp_128_small_length_public_key 77
#define OQS_SIG_cross_rsdp_128_small_length_secret_key 32
#define OQS_SIG_cross_rsdp_128_small_length_signature 10080
#define OQS_SIG_cross_rsdp_128_small_length_signature 12432

OQS_SIG *OQS_SIG_cross_rsdp_128_small_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_small_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -47,7 +47,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_128_small_verify_with_ctx_str(const uint8_
#if defined(OQS_ENABLE_SIG_cross_rsdp_192_balanced)
#define OQS_SIG_cross_rsdp_192_balanced_length_public_key 115
#define OQS_SIG_cross_rsdp_192_balanced_length_secret_key 48
#define OQS_SIG_cross_rsdp_192_balanced_length_signature 28222
#define OQS_SIG_cross_rsdp_192_balanced_length_signature 29853

OQS_SIG *OQS_SIG_cross_rsdp_192_balanced_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_balanced_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -60,7 +60,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_balanced_verify_with_ctx_str(const uin
#if defined(OQS_ENABLE_SIG_cross_rsdp_192_fast)
#define OQS_SIG_cross_rsdp_192_fast_length_public_key 115
#define OQS_SIG_cross_rsdp_192_fast_length_secret_key 48
#define OQS_SIG_cross_rsdp_192_fast_length_signature 42682
#define OQS_SIG_cross_rsdp_192_fast_length_signature 41406

OQS_SIG *OQS_SIG_cross_rsdp_192_fast_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_fast_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -73,7 +73,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_fast_verify_with_ctx_str(const uint8_t
#if defined(OQS_ENABLE_SIG_cross_rsdp_192_small)
#define OQS_SIG_cross_rsdp_192_small_length_public_key 115
#define OQS_SIG_cross_rsdp_192_small_length_secret_key 48
#define OQS_SIG_cross_rsdp_192_small_length_signature 23642
#define OQS_SIG_cross_rsdp_192_small_length_signature 28391

OQS_SIG *OQS_SIG_cross_rsdp_192_small_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_small_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -86,7 +86,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_192_small_verify_with_ctx_str(const uint8_
#if defined(OQS_ENABLE_SIG_cross_rsdp_256_balanced)
#define OQS_SIG_cross_rsdp_256_balanced_length_public_key 153
#define OQS_SIG_cross_rsdp_256_balanced_length_secret_key 64
#define OQS_SIG_cross_rsdp_256_balanced_length_signature 51056
#define OQS_SIG_cross_rsdp_256_balanced_length_signature 53527

OQS_SIG *OQS_SIG_cross_rsdp_256_balanced_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_balanced_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -99,7 +99,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_balanced_verify_with_ctx_str(const uin
#if defined(OQS_ENABLE_SIG_cross_rsdp_256_fast)
#define OQS_SIG_cross_rsdp_256_fast_length_public_key 153
#define OQS_SIG_cross_rsdp_256_fast_length_secret_key 64
#define OQS_SIG_cross_rsdp_256_fast_length_signature 76298
#define OQS_SIG_cross_rsdp_256_fast_length_signature 74590

OQS_SIG *OQS_SIG_cross_rsdp_256_fast_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_fast_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -112,7 +112,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_fast_verify_with_ctx_str(const uint8_t
#if defined(OQS_ENABLE_SIG_cross_rsdp_256_small)
#define OQS_SIG_cross_rsdp_256_small_length_public_key 153
#define OQS_SIG_cross_rsdp_256_small_length_secret_key 64
#define OQS_SIG_cross_rsdp_256_small_length_signature 43592
#define OQS_SIG_cross_rsdp_256_small_length_signature 50818

OQS_SIG *OQS_SIG_cross_rsdp_256_small_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_small_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -125,7 +125,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdp_256_small_verify_with_ctx_str(const uint8_
#if defined(OQS_ENABLE_SIG_cross_rsdpg_128_balanced)
#define OQS_SIG_cross_rsdpg_128_balanced_length_public_key 54
#define OQS_SIG_cross_rsdpg_128_balanced_length_secret_key 32
#define OQS_SIG_cross_rsdpg_128_balanced_length_signature 9236
#define OQS_SIG_cross_rsdpg_128_balanced_length_signature 9120

OQS_SIG *OQS_SIG_cross_rsdpg_128_balanced_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_balanced_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -138,7 +138,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_balanced_verify_with_ctx_str(const ui
#if defined(OQS_ENABLE_SIG_cross_rsdpg_128_fast)
#define OQS_SIG_cross_rsdpg_128_fast_length_public_key 54
#define OQS_SIG_cross_rsdpg_128_fast_length_secret_key 32
#define OQS_SIG_cross_rsdpg_128_fast_length_signature 12472
#define OQS_SIG_cross_rsdpg_128_fast_length_signature 11980

OQS_SIG *OQS_SIG_cross_rsdpg_128_fast_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_fast_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -151,7 +151,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_fast_verify_with_ctx_str(const uint8_
#if defined(OQS_ENABLE_SIG_cross_rsdpg_128_small)
#define OQS_SIG_cross_rsdpg_128_small_length_public_key 54
#define OQS_SIG_cross_rsdpg_128_small_length_secret_key 32
#define OQS_SIG_cross_rsdpg_128_small_length_signature 7956
#define OQS_SIG_cross_rsdpg_128_small_length_signature 8960

OQS_SIG *OQS_SIG_cross_rsdpg_128_small_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_small_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -164,7 +164,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_128_small_verify_with_ctx_str(const uint8
#if defined(OQS_ENABLE_SIG_cross_rsdpg_192_balanced)
#define OQS_SIG_cross_rsdpg_192_balanced_length_public_key 83
#define OQS_SIG_cross_rsdpg_192_balanced_length_secret_key 48
#define OQS_SIG_cross_rsdpg_192_balanced_length_signature 23380
#define OQS_SIG_cross_rsdpg_192_balanced_length_signature 22464

OQS_SIG *OQS_SIG_cross_rsdpg_192_balanced_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_balanced_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -177,7 +177,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_balanced_verify_with_ctx_str(const ui
#if defined(OQS_ENABLE_SIG_cross_rsdpg_192_fast)
#define OQS_SIG_cross_rsdpg_192_fast_length_public_key 83
#define OQS_SIG_cross_rsdpg_192_fast_length_secret_key 48
#define OQS_SIG_cross_rsdpg_192_fast_length_signature 27404
#define OQS_SIG_cross_rsdpg_192_fast_length_signature 26772

OQS_SIG *OQS_SIG_cross_rsdpg_192_fast_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_fast_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -190,7 +190,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_fast_verify_with_ctx_str(const uint8_
#if defined(OQS_ENABLE_SIG_cross_rsdpg_192_small)
#define OQS_SIG_cross_rsdpg_192_small_length_public_key 83
#define OQS_SIG_cross_rsdpg_192_small_length_secret_key 48
#define OQS_SIG_cross_rsdpg_192_small_length_signature 18188
#define OQS_SIG_cross_rsdpg_192_small_length_signature 20452

OQS_SIG *OQS_SIG_cross_rsdpg_192_small_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_small_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -203,7 +203,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_192_small_verify_with_ctx_str(const uint8
#if defined(OQS_ENABLE_SIG_cross_rsdpg_256_balanced)
#define OQS_SIG_cross_rsdpg_256_balanced_length_public_key 106
#define OQS_SIG_cross_rsdpg_256_balanced_length_secret_key 64
#define OQS_SIG_cross_rsdpg_256_balanced_length_signature 40134
#define OQS_SIG_cross_rsdpg_256_balanced_length_signature 40100

OQS_SIG *OQS_SIG_cross_rsdpg_256_balanced_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_balanced_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -216,7 +216,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_balanced_verify_with_ctx_str(const ui
#if defined(OQS_ENABLE_SIG_cross_rsdpg_256_fast)
#define OQS_SIG_cross_rsdpg_256_fast_length_public_key 106
#define OQS_SIG_cross_rsdpg_256_fast_length_secret_key 64
#define OQS_SIG_cross_rsdpg_256_fast_length_signature 48938
#define OQS_SIG_cross_rsdpg_256_fast_length_signature 48102

OQS_SIG *OQS_SIG_cross_rsdpg_256_fast_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_fast_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand All @@ -229,7 +229,7 @@ OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_fast_verify_with_ctx_str(const uint8_
#if defined(OQS_ENABLE_SIG_cross_rsdpg_256_small)
#define OQS_SIG_cross_rsdpg_256_small_length_public_key 106
#define OQS_SIG_cross_rsdpg_256_small_length_secret_key 64
#define OQS_SIG_cross_rsdpg_256_small_length_signature 32742
#define OQS_SIG_cross_rsdpg_256_small_length_signature 36454

OQS_SIG *OQS_SIG_cross_rsdpg_256_small_new(void);
OQS_API OQS_STATUS OQS_SIG_cross_rsdpg_256_small_keypair(uint8_t *public_key, uint8_t *secret_key);
Expand Down
Loading