mirror of
https://github.com/open-quantum-safe/liboqs.git
synced 2025-10-05 00:05:12 -04:00
* Switch to new PQClean commit for SPHINCS+ and remove old patch file * Improve "compilability" on Apple M1 (ARM) (#1421) * correct ARM SHA3 extension addition * correct compile option for ARM SHA * correct SHA3 enablement * Remove SPHINCS+ robust and Haraka variants * Fix SHA2 block sizes in OpenSSL wrapper * enable Keccak for Sphincs even if OpenSSL shall provide SHA3 * properly handle xkcp enablement if only specific algorithms are selected * correct conditional setting * re-enable XKCP for other platforms * Windows support * alternate pqcrystals-AES removal --------- Co-authored-by: Michael Baentsch <57787676+baentsch@users.noreply.github.com>
361 lines
10 KiB
YAML
361 lines
10 KiB
YAML
name: SPHINCS+
|
|
type: signature
|
|
principal-submitters:
|
|
- Andreas Hülsing
|
|
auxiliary-submitters:
|
|
- Jean-Philippe Aumasson
|
|
- Daniel J. Bernstein,
|
|
- Ward Beullens
|
|
- Christoph Dobraunig
|
|
- Maria Eichlseder
|
|
- Scott Fluhrer
|
|
- Stefan-Lukas Gazdag
|
|
- Panos Kampanakis
|
|
- Stefan Kölbl
|
|
- Tanja Lange
|
|
- Martin M. Lauridsen
|
|
- Florian Mendel
|
|
- Ruben Niederhagen
|
|
- Christian Rechberger
|
|
- Joost Rijneveld
|
|
- Peter Schwabe
|
|
- Bas Westerbaan
|
|
crypto-assumption: hash-based signatures
|
|
website: https://sphincs.org/
|
|
nist-round: 3
|
|
spec-version: NIST Round 3 submission
|
|
spdx-license-identifier: CC0-1.0
|
|
primary-upstream:
|
|
source: https://github.com/PQClean/PQClean/commit/c1b19a865de329e87e9b3e9152362fcb709da8ab
|
|
with copy_from_upstream patches
|
|
spdx-license-identifier: CC0-1.0
|
|
upstream-ancestors:
|
|
- https://github.com/sphincs/sphincsplus
|
|
advisories:
|
|
- This algorithm is not tested under Windows.
|
|
parameter-sets:
|
|
- name: SPHINCS+-SHA256-128f-simple
|
|
claimed-nist-level: 1
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 32
|
|
length-secret-key: 64
|
|
length-signature: 17088
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHA256-128s-simple
|
|
claimed-nist-level: 1
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 32
|
|
length-secret-key: 64
|
|
length-signature: 7856
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHA256-192f-simple
|
|
claimed-nist-level: 3
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 48
|
|
length-secret-key: 96
|
|
length-signature: 35664
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHA256-192s-simple
|
|
claimed-nist-level: 3
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 48
|
|
length-secret-key: 96
|
|
length-signature: 16224
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHA256-256f-simple
|
|
claimed-nist-level: 5
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 64
|
|
length-secret-key: 128
|
|
length-signature: 49856
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHA256-256s-simple
|
|
claimed-nist-level: 5
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 64
|
|
length-secret-key: 128
|
|
length-signature: 29792
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA2: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHAKE256-128f-simple
|
|
claimed-nist-level: 1
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 32
|
|
length-secret-key: 64
|
|
length-signature: 17088
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHAKE256-128s-simple
|
|
claimed-nist-level: 1
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 32
|
|
length-secret-key: 64
|
|
length-signature: 7856
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHAKE256-192f-simple
|
|
claimed-nist-level: 3
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 48
|
|
length-secret-key: 96
|
|
length-signature: 35664
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHAKE256-192s-simple
|
|
claimed-nist-level: 3
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 48
|
|
length-secret-key: 96
|
|
length-signature: 16224
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHAKE256-256f-simple
|
|
claimed-nist-level: 5
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 64
|
|
length-secret-key: 128
|
|
length-signature: 49856
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: SPHINCS+-SHAKE256-256s-simple
|
|
claimed-nist-level: 5
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 64
|
|
length-secret-key: 128
|
|
length-signature: 29792
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: clean
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: primary-upstream
|
|
upstream-id: avx2
|
|
supported-platforms:
|
|
- architecture: x86_64
|
|
required_flags:
|
|
- avx2
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|