mirror of
https://github.com/open-quantum-safe/liboqs.git
synced 2025-10-03 00:02:36 -04:00
* Adding cuPQC as a backend for ML-KEM. Signed-off-by: Steven Reeves <sreeves@nvidia.com> * Fixing transposition error that left out OQS_USE_CUPQC in CMake system. Signed-off-by: Steven Reeves <sreeves@nvidia.com> * Add CMake dependent options for cupqc. Fixed formatting in kem_ml_kem_####.c and kem/family/kem_scheme.c Signed-off-by: Steven Reeves <sreeves@nvidia.com> * Move cupqc_ml-kem source files to correctly named dir Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Stop piggybacking on pqcrystals-kyber-standard and move cupqc_ml-kem metadata to separate upstream repo Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Update licensing information Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Update PLATFORMS.md Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Fix kem_family cmakelists template Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Run copy_from_upsream.py and pull updated upstream Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Add cupqc build test to basic.yml Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Move cupqc build test from basic.yml to linux.yml Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Fix error in linux.yml Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * fixup! Fix error in linux.yml Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Redo cupqc build check Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Supply default CUDA arch to cupqc-buildcheck configuration stage Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Specify CUDAXX in cupqc-buildcheck Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> * Make cuPQC_DIR explicit in cupqc-buildcheck Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> --------- Signed-off-by: Steven Reeves <sreeves@nvidia.com> Signed-off-by: Pravek Sharma <sharmapravek@gmail.com> Co-authored-by: Pravek Sharma <sharmapravek@gmail.com>
157 lines
4.3 KiB
YAML
157 lines
4.3 KiB
YAML
name: ML-KEM
|
|
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/kyber/ and https://csrc.nist.gov/pubs/fips/203
|
|
nist-round: FIPS203
|
|
spec-version: ML-KEM
|
|
primary-upstream:
|
|
source: https://github.com/pq-crystals/kyber/commit/10b478fc3cc4ff6215eb0b6a11bd758bf0929cbd
|
|
with copy_from_upstream patches
|
|
spdx-license-identifier: CC0-1.0 or Apache-2.0
|
|
optimized-upstreams:
|
|
cupqc-cuda:
|
|
source: https://github.com/praveksharma/cupqc-mlkem/commit/b026f4e5475cd9c20c2082c7d9bad80e5b0ba89e
|
|
spdx-license-identifier: Apache-2.0
|
|
parameter-sets:
|
|
- name: ML-KEM-512
|
|
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: cupqc-cuda
|
|
upstream-id: cuda
|
|
supported-platforms:
|
|
- architecture: CUDA
|
|
operating_systems:
|
|
- Linux
|
|
- Darwin
|
|
no-secret-dependent-branching-claimed: false
|
|
no-secret-dependent-branching-checked-by-valgrind: false
|
|
large-stack-usage: false
|
|
- name: ML-KEM-768
|
|
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: cupqc-cuda
|
|
upstream-id: cuda
|
|
supported-platforms:
|
|
- architecture: CUDA
|
|
operating_systems:
|
|
- Linux
|
|
- Darwin
|
|
no-secret-dependent-branching-claimed: false
|
|
no-secret-dependent-branching-checked-by-valgrind: false
|
|
large-stack-usage: false
|
|
- name: ML-KEM-1024
|
|
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: cupqc-cuda
|
|
upstream-id: cuda
|
|
supported-platforms:
|
|
- architecture: CUDA
|
|
operating_systems:
|
|
- Linux
|
|
- Darwin
|
|
no-secret-dependent-branching-claimed: false
|
|
no-secret-dependent-branching-checked-by-valgrind: false
|
|
large-stack-usage: false
|