mirror of
https://github.com/open-quantum-safe/liboqs.git
synced 2025-11-27 00:04:24 -05:00
* Updated sig templates to add support for arch specific upstreams. Currently behaves as expected, but still need to test (and integrate) dilithium * Fixed a couple of build errors, and started work on dilithium integration from pqclean. Currently failing kat tests * Updated templating for both sig and kem to make them look a little better * Renamed dilithium folders so they are consistent across pqclean and pqcrystals so that copy_from_upstream script will function correctly * Added arm optimized version of dilithium[2|3|5] * Updating other signature schemes CMakeLists.txt to be the output of the updated templates * Arm optimized implementation of dilithium is added, with randomized signing patched into it. copy_from_upstream script is working properly. Still need to update the update_docs scripts before ready to merge * Finished updating docs scripts and yml files. Builds pass, so should be ready for a merge * Fixed template issue with multiple compile flags * Updated doc generation scripts so that all '_' in scheme names are replaced with '\_'
270 lines
7.2 KiB
YAML
270 lines
7.2 KiB
YAML
name: CRYSTALS-Dilithium
|
|
type: signature
|
|
principal-submitters:
|
|
- Vadim Lyubashevsky
|
|
auxiliary-submitters:
|
|
- Shi Bai
|
|
- Léo Ducas
|
|
- Eike Kiltz
|
|
- Tancrède Lepoint
|
|
- Peter Schwabe
|
|
- Gregor Seiler
|
|
- Damien Stehlé
|
|
crypto-assumption: hardness of lattice problems over module lattices
|
|
website: https://pq-crystals.org/dilithium/
|
|
nist-round: 3
|
|
spec-version: 3.1
|
|
primary-upstream:
|
|
source: https://github.com/pq-crystals/dilithium/commit/61b51a71701b8ae9f546a1e5d220e1950ed20d06
|
|
with copy_from_upstream patches
|
|
spdx-license-identifier: CC0-1.0
|
|
optimized-upstreams:
|
|
pqclean-aarch64:
|
|
source: https://github.com/PQClean/PQClean/commit/4c9e5a3aa715cc8d1d0e377e4e6e682ebd7602d6
|
|
with copy_from_upstream patches
|
|
spdx-license-identifier: CC0-1.0
|
|
parameter-sets:
|
|
- name: Dilithium2
|
|
claimed-nist-level: 2
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 1312
|
|
length-secret-key: 2528
|
|
length-signature: 2420
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: ref
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- 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:
|
|
- Darwin
|
|
- Linux
|
|
required_flags:
|
|
- avx2
|
|
- popcnt
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- 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: Dilithium3
|
|
claimed-nist-level: 3
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 1952
|
|
length-secret-key: 4000
|
|
length-signature: 3293
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: ref
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- 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:
|
|
- Darwin
|
|
- Linux
|
|
required_flags:
|
|
- avx2
|
|
- popcnt
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- 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: Dilithium5
|
|
claimed-nist-level: 5
|
|
claimed-security: EUF-CMA
|
|
length-public-key: 2592
|
|
length-secret-key: 4864
|
|
length-signature: 4595
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: ref
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- 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:
|
|
- Darwin
|
|
- Linux
|
|
required_flags:
|
|
- avx2
|
|
- popcnt
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- 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: Dilithium2-AES
|
|
claimed-security: EUF-CMA
|
|
claimed-nist-level: 2
|
|
length-public-key: 1312
|
|
length-secret-key: 2528
|
|
length-signature: 2420
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: ref
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- 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:
|
|
- Darwin
|
|
- Linux
|
|
required_flags:
|
|
- aes
|
|
- avx2
|
|
- popcnt
|
|
- sse2
|
|
- ssse3
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: Dilithium3-AES
|
|
claimed-security: EUF-CMA
|
|
claimed-nist-level: 3
|
|
length-public-key: 1952
|
|
length-secret-key: 4000
|
|
length-signature: 3293
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: ref
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- 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:
|
|
- Darwin
|
|
- Linux
|
|
required_flags:
|
|
- aes
|
|
- avx2
|
|
- popcnt
|
|
- sse2
|
|
- ssse3
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|
|
- name: Dilithium5-AES
|
|
claimed-security: EUF-CMA
|
|
claimed-nist-level: 5
|
|
length-public-key: 2592
|
|
length-secret-key: 4864
|
|
length-signature: 4595
|
|
implementations-switch-on-runtime-cpu-features: true
|
|
implementations:
|
|
- upstream: primary-upstream
|
|
upstream-id: ref
|
|
supported-platforms: all
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- 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:
|
|
- Darwin
|
|
- Linux
|
|
required_flags:
|
|
- aes
|
|
- avx2
|
|
- popcnt
|
|
- sse2
|
|
- ssse3
|
|
common-crypto:
|
|
- AES: pqcrystals
|
|
- SHA3: liboqs
|
|
no-secret-dependent-branching-claimed: true
|
|
no-secret-dependent-branching-checked-by-valgrind: true
|
|
large-stack-usage: false
|