Skip to content

Commit d68ece2

Browse files
hanno-beckermkannwischer
authored andcommitted
README: Modify introductory pitch
Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
1 parent 4aeb4ef commit d68ece2

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

README.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,17 @@
1313

1414
mldsa-native is a secure, fast, and portable C90 implementation of the ML-DSA[^FIPS204] post-quantum signature standard. It is a fork of the ML-DSA reference implementation[^REF].
1515

16-
The goal of mldsa-native is paralleling [mlkem-native](https://github.com/pq-code-package/mlkem-native) for ML-KEM.
17-
All C code in [mldsa/src/*](mldsa) and [mldsa/src/fips202/*](mldsa/src/fips202) is proved memory-safe (no memory overflow) and type-safe (no integer overflow)
18-
using [CBMC](https://github.com/diffblue/cbmc).
16+
mldsa-native is supported by the [Post-Quantum Cryptography Alliance](https://pqca.org/) as part of the [Linux Foundation](https://linuxfoundation.org/).
1917

20-
mldsa-native includes native backends for Arm (64-bit, Neon), and Intel/AMD (64-bit, AVX2). See [benchmarks](https://pq-code-package.github.io/mldsa-native/dev/bench/) for performance data.
18+
## Why mldsa-native?
2119

22-
mldsa-native is supported by the [Post-Quantum Cryptography Alliance](https://pqca.org/) as part of the [Linux Foundation](https://linuxfoundation.org/).
20+
mldsa-native allows developers to support ML-DSA with minimal performance and maintenance cost.
21+
22+
**Minimal Dependencies:** mldsa-native is written in portable C90 with minimal and configurable dependencies on the standard library.
23+
24+
**Maintainability and Safety:** Memory safety, type safety and absence of various classes of timing leakage are automatically checked on every change, using a combination of static model checking (using CBMC) and dynamic instrumentation (using valgrind). This reduces review and maintenance burden and accelerates safe code delivery. See [Formal Verification](#formal-verification) and [Security](#security).
25+
26+
**Architecture Support:** Native backends are added under a unified interface, minimizing duplicated code and reasoning. mldsa-native comes with backends for AArch64 and x86-64. See [Design](#design).
2327

2428
## Quickstart for Ubuntu
2529

@@ -68,7 +72,7 @@ mldsa-native is split into a _frontend_ and two _backends_ for arithmetic and FI
6872
fixed, written in C, and covers all routines that are not critical to performance. The backends are flexible, take care of
6973
performance-sensitive routines, and can be implemented in C or native code (assembly/intrinsics); see
7074
[mldsa/src/native/api.h](mldsa/src/native/api.h) for the arithmetic backend and
71-
[mldsa/src/fips202/native/api.h](mldsa/src/fips202/native/api.h) for the FIPS-202 backend.
75+
[mldsa/src/fips202/native/api.h](mldsa/src/fips202/native/api.h) for the FIPS-202 backend.
7276

7377
mldsa-native currently offers the following backends:
7478

0 commit comments

Comments
 (0)