def gctr

bend-collections-laws-crypto@1.0.0.0 · spec/crypto/aes/gcm.bend:100

import bend-collections-laws-crypto@1.0.0.0/spec/crypto/aes/gcm.bend as Gcm
import Base

100def gctr(+nk: Nat, +nr: Nat, +key: List<&2, U32>, +x: List<&2, U32>, +cb: List<&2, U32>) -> List<&2, U32>:
101  match x:
102    case b0 <> b1 <> b2 <> b3 <> b4 <> b5 <> b6 <> b7 <> b8 <> b9 <> b10 <> b11 <> b12 <> b13 <> b14 <> b15 <> rest:
103      List.append(&2, U32, xor_bytes([b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15], ciph(nk, nr, key, cb)),
104        gctr(nk, nr, key, rest, inc32(cb)))
105    case _:
106      xor_bytes(x, ciph(nk, nr, key, cb))

Uses (7)

Used by (27)