Blinded Ed25519 #
Scalar-based Ed25519: private keys are scalars in ZMod ell, public keys are compressed Edwards
points, and the signing nonce is derived from SHA-512(sk)[32:] || message || SHA-512(sk)[33:].
The only assumption is ell_prime.
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Cryptlib.Primitives.Sign.Ed25519Blinded.verifyNative
(pk : PubBytes)
(message : ByteArray)
(sig : SigBytes)
:
Equations
- Cryptlib.Primitives.Sign.Ed25519Blinded.verifyNative pk message sig = Cryptlib.Primitives.Sign.Ed25519Math.verifyNative pk message sig
Instances For
Equations
- Cryptlib.Primitives.Sign.Ed25519Blinded.blindPriv sk factor = factor * sk
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Cryptlib.Primitives.Sign.Ed25519Blinded.inv factor = factor⁻¹
Instances For
RFC 8032 correctness of the scalar-based signer.
theorem
Cryptlib.Primitives.Sign.Ed25519Blinded.psi_injective
{P Q : Ed25519Group.W}
(h : Ed25519Group.psi P = Ed25519Group.psi Q)
:
ψ is injective: ψ P = ψ Q makes ψ (P + -Q) the Edwards identity.
The basepoint has order exactly ℓ.
theorem
Cryptlib.Primitives.Sign.Ed25519Blinded.smul_G_inj
{a b : ℕ}
(ha : a < Ed25519Math.ell)
(hb : b < Ed25519Math.ell)
(h : a • NIKE.X25519.G = b • NIKE.X25519.G)
:
Blinding a nonzero root key by different factors gives different public keys.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.