def step
bend-collections@1.0.0.0 · src/crypto/curve25519/x25519.bend:68
import bend-collections@1.0.0.0/src/crypto/curve25519/x25519.bend as X25519
import Base
import bend-collections@1.0.0.0/src/crypto/curve25519/field.bend as F
68
69def step(+c24: List<&2, U32>, +x1: List<&2, U32>, +x2: List<&2, U32>, +z2: List<&2, U32>, +x3: List<&2, U32>, +z3: List<&2, U32>, kt: U32) -> St:
70 +a = F.add(x2, z2)
71 +aa = F.sq(a)
72 +b = F.sub(x2, z2)
73 +bb = F.sq(b)
74 +e = F.sub(aa, bb)
75 +c = F.add(x3, z3)
76 +d = F.sub(x3, z3)
77 +da = F.mul(d, a)
78 +cb = F.mul(c, b)
79 St{F.mul(aa, bb), F.mul(e, F.add(aa, F.mul(e, c24))), F.sq(F.add(da, cb)), F.mul(x1, F.sq(F.sub(da, cb))), kt}