# Class type Cryptokit.Block.block_cipher

    class type block_cipher = object .. end

Abstract interface for a block cipher.

    method blocksize : int

The size in bytes of the blocks manipulated by the cipher.

    method transform : bytes -> int -> bytes -> int -> unit

`transform src spos dst dpos` encrypts or decrypts one block of data. The input data is read from byte array `src` at positions `spos, ..., spos + blocksize - 1`, and the output data is stored in byte array `dst` at positions `dpos, ..., dpos + blocksize - 1`.

    method wipe : unit

Erase the internal state of the block cipher, such as all key-dependent material.