Class Block.mac_final_triple
Build a MAC (keyed hash function) from the given block ciphers c1
, c2
and c3
. The input is run through c1
in CBC mode, as described for Cryptokit.Block.mac
. The final initialization vector is then super-enciphered by c2
, then by c3
, to provide the final MAC. This construction results in a MAC that is as nearly as fast as Cryptokit.Block.mac
c1
, but more resistant against brute-force key search because of the additional final encryption through c2
and c3
.
method add_substring : bytes -> int -> int -> unit
add_substring b pos len
addslen
characters from byte arrayb
, starting at character numberpos
, to the running hash computation.
method add_string : string -> unit
add_string str
adds all characters of stringstr
to the running hash computation.
method add_byte : int -> unit
add_byte b
adds the character having codeb
to the running hash computation.b
must be between0
and255
inclusive.
method result : string
Terminate the hash computation and return the hash value for the input data provided via the
add_*
methods. The hash value is a string of lengthhash_size
characters. After callingresult
, the hash can no longer accept additional data. Hence, do not call any of theadd_*
methods afterresult
.
method wipe : unit
Erase all internal buffers and data structures of this hash, overwriting them with zeroes. See
Cryptokit.transform.wipe
.