# Index of class methods

A
add_byte [Cryptokit.hash] | `add_byte b` adds the character having code `b` to the running hash computation.
add_char [Cryptokit.hash] | `add_char c` adds character `c` to the running hash computation.
add_string [Cryptokit.hash] | `add_string str` adds all characters of string `str` to the running hash computation.
add_substring [Cryptokit.hash] | `add_substring b pos len` adds `len` characters from byte array `b`, starting at character number `pos`, to the running hash computation.
available_output [Cryptokit.transform] | Return the number of characters of output currently available.
B
blocksize [Cryptokit.Block.block_cipher] | The size in bytes of the blocks manipulated by the cipher.
F
finish [Cryptokit.transform] | Call method `finish` to indicate that no further data will be processed through the transform.
flush [Cryptokit.transform] | `flush` causes the transform to flush its internal buffers and make all output processed up to this point available through the `get_*` methods.
G
get_byte [Cryptokit.transform] | Return the code of the first character of output, and remove it from the internal output buffer.
get_char [Cryptokit.transform] | Return the first character of output, and remove it from the internal output buffer.
get_string [Cryptokit.transform] | Return a character string containing all output characters available at this point.
get_substring [Cryptokit.transform] | Return a triple `(buf,pos,len)`, where `buf` is the internal output buffer for the transform, `pos` the position of the first character of available output, and `len` the number of characters of available output.
H
hash_size [Cryptokit.hash] | Return the size of hash values produced by this hash function, in bytes.
I
input_block_size [Cryptokit.transform] | Some transforms (e.g.
O
output_block_size [Cryptokit.transform] | Some transforms (e.g.
P
pad [Cryptokit.Padding.scheme] | `pad buf used` is called with a byte array `buf` containing valid input data at positions `0, ..., used-1`.
put_byte [Cryptokit.transform] | `put_byte b` processes the character having code `b` through the transform.
put_char [Cryptokit.transform] | `put_char c` processes character `c` through the transform.
put_string [Cryptokit.transform] | `put_string str` processes all characters of string `str` through the transform.
put_substring [Cryptokit.transform] | `put_substring b pos len` processes `len` characters of byte sequence `b`, starting at character number `pos`, through the transform.
R
random_bytes [Cryptokit.Random.rng] | `random_bytes buf pos len` stores `len` random bytes in byte array `buf`, starting at position `pos`.
result [Cryptokit.hash] | Terminate the hash computation and return the hash value for the input data provided via the `add_*` methods.
S
strip [Cryptokit.Padding.scheme] | This is the converse of the `pad` operation: from a padded byte array `buf` as built by method `pad`, `strip buf` determines and returns the starting position of the padding data, or equivalently the length of valid, non-padded input data in `buf`.
T
transform [Cryptokit.Stream.stream_cipher] | `transform src spos dst dpos len` encrypts or decrypts `len` characters, read from byte array `src` starting at position `spos`.
transform [Cryptokit.Block.block_cipher] | `transform src spos dst dpos` encrypts or decrypts one block of data.
W
wipe [Cryptokit.Stream.stream_cipher] | Erase the internal state of the stream cipher, such as all key-dependent material.
wipe [Cryptokit.Block.block_cipher] | Erase the internal state of the block cipher, such as all key-dependent material.
wipe [Cryptokit.hash] | Erase all internal buffers and data structures of this hash, overwriting them with zeroes.
wipe [Cryptokit.transform] | Erase all internal buffers and data structures of this transform, overwriting them with zeroes.
wipe [Cryptokit.Random.rng] | Erases the internal state of the generator.