def xtea.cycles
bend-osdev-legacy-ciphers@0.1.0.0 · xtea.bend:24
import bend-osdev-legacy-ciphers@0.1.0.0/xtea.bend as Xtea
import Base
import bend-osdev-legacy-ciphers@0.1.0.0/tea.bend as T
24
25def xtea.cycles(n: Nat, +s: U32, +k0: U32, +k1: U32, +k2: U32, +k3: U32) -> List<&2, T.LcTeaOp>:
26 match n:
27 case 0n:
28 Nil{}
29 case 1n+p:
30 +s1 = U32.add(s, T.tea.delta())
31 Con{T.LcXteaY{U32.add(s, xtea.kw(s, k0, k1, k2, k3))}, Con{T.LcXteaZ{U32.add(s1, xtea.kw(U32.shrn(s1, 11n), k0, k1, k2, k3))}, xtea.cycles(p, s1, k0, k1, k2, k3)}}