mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-23 00:47:31 +09:00
Update NSS to 3.32.1-RTM
This commit is contained in:
parent
f29876f120
commit
c91ef9012b
512 changed files with 83203 additions and 16839 deletions
|
|
@ -6,6 +6,17 @@
|
|||
#define GCM_H 1
|
||||
|
||||
#include "blapii.h"
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef NSS_X86_OR_X64
|
||||
#include <emmintrin.h> /* __m128i */
|
||||
#endif
|
||||
|
||||
SEC_BEGIN_PROTOS
|
||||
|
||||
#ifdef HAVE_INT128_SUPPORT
|
||||
typedef unsigned __int128 uint128_t;
|
||||
#endif
|
||||
|
||||
typedef struct GCMContextStr GCMContext;
|
||||
|
||||
|
|
@ -17,7 +28,7 @@ typedef struct GCMContextStr GCMContext;
|
|||
* The cipher argument is a block cipher in the ECB encrypt mode.
|
||||
*/
|
||||
GCMContext *GCM_CreateContext(void *context, freeblCipherFunc cipher,
|
||||
const unsigned char *params, unsigned int blocksize);
|
||||
const unsigned char *params);
|
||||
void GCM_DestroyContext(GCMContext *gcm, PRBool freeit);
|
||||
SECStatus GCM_EncryptUpdate(GCMContext *gcm, unsigned char *outbuf,
|
||||
unsigned int *outlen, unsigned int maxout,
|
||||
|
|
@ -28,4 +39,34 @@ SECStatus GCM_DecryptUpdate(GCMContext *gcm, unsigned char *outbuf,
|
|||
const unsigned char *inbuf, unsigned int inlen,
|
||||
unsigned int blocksize);
|
||||
|
||||
/* These functions are here only so we can test them */
|
||||
#define GCM_HASH_LEN_LEN 8 /* gcm hash defines lengths to be 64 bits */
|
||||
typedef struct gcmHashContextStr gcmHashContext;
|
||||
typedef SECStatus (*ghash_t)(gcmHashContext *, const unsigned char *,
|
||||
unsigned int);
|
||||
pre_align struct gcmHashContextStr {
|
||||
#ifdef NSS_X86_OR_X64
|
||||
__m128i x, h;
|
||||
#endif
|
||||
uint64_t x_low, x_high, h_high, h_low;
|
||||
unsigned char buffer[MAX_BLOCK_SIZE];
|
||||
unsigned int bufLen;
|
||||
uint8_t counterBuf[16];
|
||||
uint64_t cLen;
|
||||
ghash_t ghash_mul;
|
||||
PRBool hw;
|
||||
gcmHashContext *mem;
|
||||
} post_align;
|
||||
|
||||
SECStatus gcmHash_Update(gcmHashContext *ghash, const unsigned char *buf,
|
||||
unsigned int len);
|
||||
SECStatus gcmHash_InitContext(gcmHashContext *ghash, const unsigned char *H,
|
||||
PRBool sw);
|
||||
SECStatus gcmHash_Reset(gcmHashContext *ghash, const unsigned char *AAD,
|
||||
unsigned int AADLen);
|
||||
SECStatus gcmHash_Final(gcmHashContext *ghash, unsigned char *outbuf,
|
||||
unsigned int *outlen, unsigned int maxout);
|
||||
|
||||
SEC_END_PROTOS
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue