CBC mode is without padding

master
Reynir Björnsson 5 years ago
parent ca4407e8ec
commit cc68f6f867

@ -36,11 +36,13 @@ let xor_strings b c =
let encrypt cbc enc p =
assert (String.length p = Primitive.key_ize);
let p' = xor_strings p cbc.prev_v in
let c = enc p' in
(cbc.prev_v <- c; c)
let decrypt cbc dec c =
assert (String.length p = Primitive.key_ize);
let p = dec c in
let p' = xor_strings p cbc.prev_v in
(cbc.prev_v <- c; p')

@ -4,5 +4,8 @@ type state =
}
val init : string -> state
(** [init iv] is the initial state using [iv] a the initialization vector. *)
val encrypt : state -> (string -> string) -> string -> string
(** Encrypt a single block in CBC mode. *)
val decrypt : state -> (string -> string) -> string -> string
(** Decrypt a single block in CBC mode. *)

Loading…
Cancel
Save