CBC mode is without padding
This commit is contained in:
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…
Reference in a new issue