mirror of
https://github.com/open-quantum-safe/liboqs.git
synced 2025-10-04 00:02:01 -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>
164 lines
4.4 KiB
YAML
164 lines
4.4 KiB
YAML
name: Kyber
|
|
type: kem
|
|
principal-submitters:
|
|
- Peter Schwabe
|
|
auxiliary-submitters:
|
|
- Roberto Avanzi
|
|
- Joppe Bos
|
|
- Léo Ducas
|
|
- Eike Kiltz
|
|
- Tancrède Lepoint
|
|
- Vadim Lyubashevsky
|
|
- John M. Schanck
|
|
- Gregor Seiler
|
|
- Damien Stehlé
|
|
crypto-assumption: Module LWE+R with base ring Z[x]/(3329, x^256+1)
|
|
website: https://pq-crystals.org/
|
|
nist-round: 3
|
|
spec-version: NIST Round 3 submission
|
|
primary-upstream:
|
|
source: https://github.com/pq-crystals/kyber/commit/518de2414a85052bb91349bcbcc347f391292d5b
|
|
with copy_from_upstream patches
|
|
spdx-license-identifier: CC0-1.0 or Apache-2.0
|
|
optimized-upstreams:
|
|
pqclean-aarch64:
|
|
source: https://github.com/PQClean/PQClean/commit/c1b19a865de329e87e9b3e9152362fcb709da8ab
|
|
with copy_from_upstream patches
|
|
spdx-license-identifier: CC0-1.0
|
|
parameter-sets:
|
|
- name: Kyber512
|
|
claimed-nist-level: 1
|
|
claimed-security: IND-CCA2
|
|
length-public-key: 800
|
|
length-ciphertext: 768
|
|
length-secret-key: 1632
|
|
length-shared-secret: 32
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: ref
|
|
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
|
|
operating_systems:
|
|
- Linux
|
|
- Darwin
|
|
required_flags:
|
|
- avx2
|
|
- bmi2
|
|
- popcnt
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: pqclean-aarch64
|
|
upstream-id: aarch64
|
|
supported-platforms:
|
|
- architecture: ARM64_V8
|
|
operating_systems:
|
|
- Linux
|
|
- Darwin
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: false
|
|
large-stack-usage: false
|
|
- name: Kyber768
|
|
claimed-nist-level: 3
|
|
claimed-security: IND-CCA2
|
|
length-public-key: 1184
|
|
length-ciphertext: 1088
|
|
length-secret-key: 2400
|
|
length-shared-secret: 32
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: ref
|
|
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
|
|
operating_systems:
|
|
- Linux
|
|
- Darwin
|
|
required_flags:
|
|
- avx2
|
|
- bmi2
|
|
- popcnt
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: pqclean-aarch64
|
|
upstream-id: aarch64
|
|
supported-platforms:
|
|
- architecture: ARM64_V8
|
|
operating_systems:
|
|
- Linux
|
|
- Darwin
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: false
|
|
large-stack-usage: false
|
|
- name: Kyber1024
|
|
claimed-nist-level: 5
|
|
claimed-security: IND-CCA2
|
|
length-public-key: 1568
|
|
length-ciphertext: 1568
|
|
length-secret-key: 3168
|
|
length-shared-secret: 32
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: ref
|
|
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
|
|
operating_systems:
|
|
- Linux
|
|
- Darwin
|
|
required_flags:
|
|
- avx2
|
|
- bmi2
|
|
- popcnt
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- upstream: pqclean-aarch64
|
|
upstream-id: aarch64
|
|
supported-platforms:
|
|
- architecture: ARM64_V8
|
|
operating_systems:
|
|
- Linux
|
|
- Darwin
|
|
common-crypto:
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: false
|
|
large-stack-usage: false
|