# Class SSL.Cipher.CipherSpec

- Description
Cipher specification.

- Variable
**bulk_cipher_algorithm** `program`

SSL.Cipher.CipherSpec.**bulk_cipher_algorithm**- Description
The algorithm to use for the bulk of the transfered data.

- Variable
**hash_size** `int`

SSL.Cipher.CipherSpec.**hash_size**- Description
The number of bytes in the MAC hashes.

- Variable
**iv_size** `int`

SSL.Cipher.CipherSpec.**iv_size**- Description
The number of bytes of random data needed for initialization vectors.

- Variable
**key_bits** `int`

SSL.Cipher.CipherSpec.**key_bits**- Description
The effective number of bits in key_material.

This is typically

`key_material * 8`

, but for eg DES this is`key_material * 7`

.

- Variable
**key_material** `int`

SSL.Cipher.CipherSpec.**key_material**- Description
The number of bytes of key material used on initialization.

- Variable
**mac_algorithm** `program`

SSL.Cipher.CipherSpec.**mac_algorithm**- Description
The Message Authentication Code to use for the packets.

- Variable
**sign** `function`

(`object`

,`string`

,`ADT.struct`

:`ADT.struct`

) SSL.Cipher.CipherSpec.**sign**- Description
The function used to sign packets.

- Variable
**verify** `function`

(`object`

,`string`

,`ADT.struct`

,`Gmp.mpz`

:`bool`

) SSL.Cipher.CipherSpec.**verify**- Description
The function used to verify the signature for packets.