| 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/3e9b9f1412f6c7435dbeb4e10692ea58f181ee51 |
| with copy_from_upstream patches |
| spdx-license-identifier: CC0-1.0 or Apache-2.0 |
| optimized-upstreams: |
| oldpqclean-aarch64: |
| source: https://github.com/PQClean/PQClean/commit/8e220a87308154d48fdfac40abbb191ac7fce06a |
| with copy_from_upstream patches |
| spdx-license-identifier: CC0-1.0 and (CC0-1.0 or Apache-2.0) and (CC0-1.0 or MIT) |
| and MIT |
| parameter-sets: |
| - name: Dilithium2 |
| oqs_alg: OQS_SIG_alg_dilithium_2 |
| 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: |
| - 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: |
| - SHA3: liboqs |
| no-secret-dependent-branching-claimed: true |
| no-secret-dependent-branching-checked-by-valgrind: true |
| large-stack-usage: false |
| - upstream: oldpqclean-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 |
| oqs_alg: OQS_SIG_alg_dilithium_3 |
| 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: |
| - 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: |
| - SHA3: liboqs |
| no-secret-dependent-branching-claimed: true |
| no-secret-dependent-branching-checked-by-valgrind: true |
| large-stack-usage: false |
| - upstream: oldpqclean-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 |
| oqs_alg: OQS_SIG_alg_dilithium_5 |
| 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: |
| - 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: |
| - SHA3: liboqs |
| no-secret-dependent-branching-claimed: true |
| no-secret-dependent-branching-checked-by-valgrind: true |
| large-stack-usage: false |
| - upstream: oldpqclean-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 |