| Index: nss/mozilla/security/nss/lib/freebl/rijndael.h
|
| ===================================================================
|
| --- nss/mozilla/security/nss/lib/freebl/rijndael.h (revision 162724)
|
| +++ nss/mozilla/security/nss/lib/freebl/rijndael.h (working copy)
|
| @@ -1,19 +1,16 @@
|
| /* 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/. */
|
| -/* $Id: rijndael.h,v 1.12 2012/04/25 14:49:43 gerv%gerv.net Exp $ */
|
| +/* $Id: rijndael.h,v 1.13 2012/09/28 22:46:32 rrelyea%redhat.com Exp $ */
|
|
|
| #ifndef _RIJNDAEL_H_
|
| #define _RIJNDAEL_H_ 1
|
|
|
| +#include "blapii.h"
|
| +
|
| #define RIJNDAEL_MIN_BLOCKSIZE 16 /* bytes */
|
| #define RIJNDAEL_MAX_BLOCKSIZE 32 /* bytes */
|
|
|
| -typedef SECStatus AESFunc(AESContext *cx, unsigned char *output,
|
| - unsigned int *outputLen, unsigned int maxOutputLen,
|
| - const unsigned char *input, unsigned int inputLen,
|
| - unsigned int blocksize);
|
| -
|
| typedef SECStatus AESBlockFunc(AESContext *cx,
|
| unsigned char *output,
|
| const unsigned char *input);
|
| @@ -49,15 +46,23 @@
|
| * Nb - the number of bytes in a block, specified by user
|
| * Nr - the number of rounds, specified by a table
|
| * expandedKey - the round keys in 4-byte words, the length is Nr * Nb
|
| - * worker - the encryption/decryption function to use with this context
|
| + * worker - the encryption/decryption function to use with worker_cx
|
| + * destroy - if not NULL, the destroy function to use with worker_cx
|
| + * worker_cx - the context for worker and destroy
|
| + * isBlock - is the mode of operation a block cipher or a stream cipher?
|
| */
|
| struct AESContextStr
|
| {
|
| unsigned int Nb;
|
| unsigned int Nr;
|
| - AESFunc *worker;
|
| + freeblCipherFunc worker;
|
| + /* NOTE: The offsets of iv and expandedKey are hardcoded in intel-aes.s.
|
| + * Don't add new members before them without updating intel-aes.s. */
|
| unsigned char iv[RIJNDAEL_MAX_BLOCKSIZE];
|
| PRUint32 expandedKey[RIJNDAEL_MAX_EXP_KEY_SIZE];
|
| + freeblDestroyFunc destroy;
|
| + void *worker_cx;
|
| + PRBool isBlock;
|
| };
|
|
|
| #endif /* _RIJNDAEL_H_ */
|
|
|