ark-secret-scalar

Crates.ioark-secret-scalar
lib.rsark-secret-scalar
version
sourcesrc
created_at2025-01-24 19:15:18.19527+00
updated_at2025-01-24 19:15:18.19527+00
descriptionSecret scalars for non-constant-time fields and curves
homepage
repositoryhttps://github.com/w3f/ring-vrf/tree/master/ark-secret-scalar
max_upload_size
id1529859
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Oliver Tale-Yazdi (ggwpez)

documentation

README

Arkworks secret scalar handling via key splitting

Secret scalar split into the sum of two scalars, which randomly mutate but retain the same sum. Incurs 2x penalty in scalar multiplications, but provides side channel defenses.

We support &self recievers throughout, like typical secret keys do. We choose non-thread-safe interior mutability via UnsafeCell which avoids atomics, but makes SecretScalar only Send but !Sync.

As Mutex<T: Send>: Send+Sync, one should prefer Mutex<SecretKey> over cloning SecretScalar, simply to minimize clones of secret keys.

Commit count: 0

cargo fmt