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
.
add_substring b pos len
adds len
characters from byte array b
, starting at character number pos
, to the running hash computation.
add_string str
adds all characters of string str
to the running hash computation.
add_byte b
adds the character having code b
to the running hash computation. b
must be between 0
and 255
inclusive.
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 length hash_size
characters. After calling result
, the hash can no longer accept additional data. Hence, do not call any of the add_*
methods after result
.