ark-secret-scalar

Crates.ioark-secret-scalar
lib.rsark-secret-scalar
version0.0.2
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
size9,951
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: 1113

cargo fmt