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# XTEA's steps for n more cycles from sum s
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)}}

Uses (8)

Used by (1)