def dec_fin

bend-collections-laws-crypto@1.0.0.0 · spec/crypto/ed25519.bend:134

import bend-collections-laws-crypto@1.0.0.0/spec/crypto/ed25519.bend as Ed25519
import Base
import bend-collections-laws-crypto@1.0.0.0/spec/crypto/curve25519/field.bend as FS
import bend-collections-laws-crypto@1.0.0.0/spec/crypto/curve25519/x25519.bend as SX

134def dec_fin(+p: Nat, +x: Nat, +y: Nat, +x0: Nat, fail: Bool) -> Maybe<&2, EPt>:
135  match fail:
136    case True{}:
137      None{}
138    case False{}:
139      +x2 = SX.cs_fst(SX.bxor(Nat.mod(x, 2n), x0), x, FS.fsub(p, 0n, x))
140      Some{EPt{x2, y, 1n, FS.fmul(p, x2, y)}}

Uses (9)

Used by (3)