def rung
bend-collections-laws-crypto@1.0.0.0 · src/crypto/curve25519/x25519.bend:81
import bend-collections-laws-crypto@1.0.0.0/src/crypto/curve25519/x25519.bend as X25519
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/curve25519/field.bend as F
81
82def rung(+c24: List<&2, U32>, +x1: List<&2, U32>, st: St, +kt: U32) -> St:
83 match st:
84 case St{+x2, +z2, +x3, +z3, swap}:
85 +sw = U32.xor(swap, kt)
86 step(c24, x1, F.select(sw, x2, x3), F.select(sw, z2, z3), F.select(sw, x3, x2), F.select(sw, z3, z2), kt)