#
# Algorithms
#
# This file defines ciphers, hash functions, HMACs and PKCS algorithms that
# can be used.  This file can be included into different configuration files.
#
# You should not change the contents of this file unless you know what you
# are doing.
#
# The first algorithm defined is always the default one to use.
#

#
# Configured ciphers
#
# The "name" is unique name to the cipher.  The "keylength" defines the
# length of the key (bytes), and the "blocklength" defines the block size
# of the cipher (bytes).
#
cipher {
	name = "aes-256-ctr";
	keylength = 32;
	blocklength = 16;
};
cipher {
	name = "aes-256-cbc";
	keylength = 32;
	blocklength = 16;
};
cipher {
	name = "aes-192-ctr";
	keylength = 24;
	blocklength = 16;
};
cipher {
	name = "aes-192-cbc";
	keylength = 24;
	blocklength = 16;
};
cipher {
	name = "aes-128-ctr";
	keylength = 16;
	blocklength = 16;
};
cipher {
	name = "aes-128-cbc";
	keylength = 16;
	blocklength = 16;
};
cipher {
	name = "twofish-256-cbc";
	keylength = 32;
	blocklength = 16;
};
cipher {
	name = "twofish-192-cbc";
	keylength = 24;
	blocklength = 16;
};
cipher {
	name = "twofish-128-cbc";
	keylength = 16;
	blocklength = 16;
};

#
# Configured hash functions
#
hash {
	name = "sha256";
	blocklength = 64;
	digestlength = 32;
};
hash {
	name = "sha1";
	blocklength = 64;
	digestlength = 20;
};
hash {
	name = "md5";
	blocklength = 64;
	digestlength = 16;
};

#
# Configured HMAC functions. The hash function used in the HMAC must
# be configured in the hash section.
#
hmac {
	name = "hmac-sha256-96";
	hash = "sha256";
	maclength = 12;
};
hmac {
	name = "hmac-sha1-96";
	hash = "sha1";
	maclength = 12;
};
hmac {
	name = "hmac-md5-96";
	hash = "md5";
	maclength = 12;
};
hmac {
	name = "hmac-sha1";
	hash = "sha1";
	maclength = 20;
};
hmac {
	name = "hmac-md5";
	hash = "md5";
	maclength = 16;
};

#
# Configured PKCS
#
PKCS {
	name = "rsa";
};
