diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-11-09 05:12:59 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-11-09 05:12:59 +0000 |
commit | 26c046fbc57d53136b4fb3b5e0d18298318125d4 (patch) | |
tree | 0397d2184e7fba8a51f7fb9a6fc01a82d0748411 /nss/lib/freebl/camellia.h | |
parent | c416b91e36567df4ec765a495c5a6ca6a1853f58 (diff) | |
download | nss-26c046fbc57d53136b4fb3b5e0d18298318125d4.tar.gz |
nss-3.21nss-3.21
Diffstat (limited to 'nss/lib/freebl/camellia.h')
-rw-r--r-- | nss/lib/freebl/camellia.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/nss/lib/freebl/camellia.h b/nss/lib/freebl/camellia.h new file mode 100644 index 0000000..0f76005 --- /dev/null +++ b/nss/lib/freebl/camellia.h @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef _CAMELLIA_H_ +#define _CAMELLIA_H_ 1 + +#define CAMELLIA_BLOCK_SIZE 16 /* bytes */ +#define CAMELLIA_MIN_KEYSIZE 16 /* bytes */ +#define CAMELLIA_MAX_KEYSIZE 32 /* bytes */ + +#define CAMELLIA_MAX_EXPANDEDKEY (34*2) /* 32bit unit */ + +typedef PRUint32 KEY_TABLE_TYPE[CAMELLIA_MAX_EXPANDEDKEY]; + +typedef SECStatus CamelliaFunc(CamelliaContext *cx, unsigned char *output, + unsigned int *outputLen, + unsigned int maxOutputLen, + const unsigned char *input, + unsigned int inputLen); + +typedef SECStatus CamelliaBlockFunc(const PRUint32 *subkey, + unsigned char *output, + const unsigned char *input); + +/* CamelliaContextStr + * + * Values which maintain the state for Camellia encryption/decryption. + * + * keysize - the number of key bits + * worker - the encryption/decryption function to use with this context + * iv - initialization vector for CBC mode + * expandedKey - the round keys in 4-byte words + */ +struct CamelliaContextStr +{ + PRUint32 keysize; /* bytes */ + CamelliaFunc *worker; + PRUint32 expandedKey[CAMELLIA_MAX_EXPANDEDKEY]; + PRUint8 iv[CAMELLIA_BLOCK_SIZE]; +}; + +#endif /* _CAMELLIA_H_ */ |