mirror of
https://github.com/saymrwulf/curve25519-dalek-source.git
synced 2026-09-06 20:41:14 +00:00
Merge pull request #307 from dalek-cryptography/update-nightly-note-subtle
Remove nightly recommendation now that subtle has stable optimization barriers.
This commit is contained in:
commit
0168816f04
2 changed files with 8 additions and 8 deletions
|
|
@ -39,7 +39,7 @@ harness = false
|
||||||
rand_core = { version = "0.5", default-features = false }
|
rand_core = { version = "0.5", default-features = false }
|
||||||
byteorder = { version = "^1.2.3", default-features = false, features = ["i128"] }
|
byteorder = { version = "^1.2.3", default-features = false, features = ["i128"] }
|
||||||
digest = { version = "0.8", default-features = false }
|
digest = { version = "0.8", default-features = false }
|
||||||
subtle = { version = "2", default-features = false }
|
subtle = { version = "^2.2.1", default-features = false }
|
||||||
serde = { version = "1.0", default-features = false, optional = true, features = ["derive"] }
|
serde = { version = "1.0", default-features = false, optional = true, features = ["derive"] }
|
||||||
packed_simd = { version = "0.3", features = ["into_bits"], optional = true }
|
packed_simd = { version = "0.3", features = ["into_bits"], optional = true }
|
||||||
zeroize = { version = "1", default-features = false }
|
zeroize = { version = "1", default-features = false }
|
||||||
|
|
|
||||||
14
README.md
14
README.md
|
|
@ -63,7 +63,8 @@ See `CHANGELOG.md` for more details.
|
||||||
# Backends and Features
|
# Backends and Features
|
||||||
|
|
||||||
The `nightly` feature enables features available only when using a Rust nightly
|
The `nightly` feature enables features available only when using a Rust nightly
|
||||||
compiler. **It is recommended for security**.
|
compiler. In particular, it is required for rendering documentation and for
|
||||||
|
the SIMD backends.
|
||||||
|
|
||||||
Curve arithmetic is implemented using one of the following backends:
|
Curve arithmetic is implemented using one of the following backends:
|
||||||
|
|
||||||
|
|
@ -103,11 +104,10 @@ unless specifically marked as being variable-time code.
|
||||||
We believe that our constant-time logic is lowered to constant-time
|
We believe that our constant-time logic is lowered to constant-time
|
||||||
assembly, at least on `x86_64` targets.
|
assembly, at least on `x86_64` targets.
|
||||||
|
|
||||||
As an additional guard against possible future compiler optimizations, the
|
As an additional guard against possible future compiler optimizations,
|
||||||
`nightly` feature places an optimization barrier before every
|
the `subtle` crate places an optimization barrier before every
|
||||||
conditional move or assignment. More details can be found in [the
|
conditional move or assignment. More details can be found in [the
|
||||||
documentation for the `subtle` crate][subtle_doc]. This is
|
documentation for the `subtle` crate][subtle_doc].
|
||||||
recommended, but not required.
|
|
||||||
|
|
||||||
Some functionality (e.g., multiscalar multiplication or batch
|
Some functionality (e.g., multiscalar multiplication or batch
|
||||||
inversion) requires heap allocation for temporary buffers. All
|
inversion) requires heap allocation for temporary buffers. All
|
||||||
|
|
@ -124,9 +124,9 @@ functions in other crates.
|
||||||
|
|
||||||
The implementation is memory-safe, and contains no significant
|
The implementation is memory-safe, and contains no significant
|
||||||
`unsafe` code. The SIMD backend uses `unsafe` internally to call SIMD
|
`unsafe` code. The SIMD backend uses `unsafe` internally to call SIMD
|
||||||
intrinsics. These are marked `unsafe` because invoking them on an
|
intrinsics. These are marked `unsafe` only because invoking them on an
|
||||||
inappropriate CPU would cause `SIGILL`, but the entire backend is only
|
inappropriate CPU would cause `SIGILL`, but the entire backend is only
|
||||||
compiled with appropriate `target_feature`s.
|
compiled with appropriate `target_feature`s, so this cannot occur.
|
||||||
|
|
||||||
# Performance
|
# Performance
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue