def cr.pbkdf2.chain

bend-osdev-crypto@0.1.0.0 · pbkdf2.bend:37

import bend-osdev-crypto@0.1.0.0/pbkdf2.bend as Pbkdf2
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B

37# acc xor U_(j+1) xor ... for c more iterations, u = U_j
38def cr.pbkdf2.chain(~K: Data, ~compute: K -> B.Octets -> B.Octets, c: Nat, +k: K, u: B.Octets, acc: List<&2, U32>) -> List<&2, U32>:
39  match c:
40    case 0n:
41      acc
42    case 1n+p:
43      +u2 = compute(k, u)
44      cr.pbkdf2.chain(~K, ~compute, p, k, u2, cr.pbkdf2.xor(acc, B.Octets.to_list(u2)))

Uses (6)

Used by (1)