fact: Definition randomPerm_bad(p : (list (Bvector n * Bvector n)) * Bvector n) : Comp (list (Bvector n * Bvector n) * Bvector n) := let (f, d) := p in match f#d with | None => r0 <-$ {0,1} ^ n; r <-$ if (negb (inRange _ f r0)) then ret r0 else getUnusedBvector f; ret (if (inRange _ f r0) then ((d, r) :: (d, r0) :: f) else ((d, r) :: f), r) | Some r => ret (f, r) end.
imports: Crypto Permutation Broken.ConstructedFunc State FCF