mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-11 02:10:17 +01:00
30d33aa8e8
9934c8faef29, 3c3b381c4865, 5a67f6beee9a, 1b1eb6d77728, a8b668fd72f7, bug962760, bug743700, bug857304, bug972653, bug972450, bug971358, bug903885, bug977073, bug976111, bug949939, bug947653, bug947572, bug903885, bug979106, bug966596, bug979004, bug979752, bug980848, bug938369, bug981170, bug668130, bug974693, bug975056, bug979132, bug370717, bug979070, bug985070, bug900067, bug977673, bug519255, bug989558, bug557299, bug987263, bug369802, a751a5146718, bug992343, bug952572, bug979703, bug994883, bug994869, bug993489, bug984608, bug977869, bug667371, bug672828, bug793347, bug977869
52 lines
1.6 KiB
C
52 lines
1.6 KiB
C
/* 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 CTR_H
|
|
#define CTR_H 1
|
|
|
|
#include "blapii.h"
|
|
|
|
/* This structure is defined in this header because both ctr.c and gcm.c
|
|
* need it. */
|
|
struct CTRContextStr {
|
|
freeblCipherFunc cipher;
|
|
void *context;
|
|
unsigned char counter[MAX_BLOCK_SIZE];
|
|
unsigned char buffer[MAX_BLOCK_SIZE];
|
|
unsigned long counterBits;
|
|
unsigned int bufPtr;
|
|
};
|
|
|
|
typedef struct CTRContextStr CTRContext;
|
|
|
|
SECStatus CTR_InitContext(CTRContext *ctr, void *context,
|
|
freeblCipherFunc cipher, const unsigned char *param,
|
|
unsigned int blocksize);
|
|
|
|
/*
|
|
* The context argument is the inner cipher context to use with cipher. The
|
|
* CTRContext does not own context. context needs to remain valid for as long
|
|
* as the CTRContext is valid.
|
|
*
|
|
* The cipher argument is a block cipher in the ECB encrypt mode.
|
|
*/
|
|
CTRContext * CTR_CreateContext(void *context, freeblCipherFunc cipher,
|
|
const unsigned char *param, unsigned int blocksize);
|
|
|
|
void CTR_DestroyContext(CTRContext *ctr, PRBool freeit);
|
|
|
|
SECStatus CTR_Update(CTRContext *ctr, unsigned char *outbuf,
|
|
unsigned int *outlen, unsigned int maxout,
|
|
const unsigned char *inbuf, unsigned int inlen,
|
|
unsigned int blocksize);
|
|
|
|
#ifdef USE_HW_AES
|
|
SECStatus CTR_Update_HW_AES(CTRContext *ctr, unsigned char *outbuf,
|
|
unsigned int *outlen, unsigned int maxout,
|
|
const unsigned char *inbuf, unsigned int inlen,
|
|
unsigned int blocksize);
|
|
#endif
|
|
|
|
#endif
|