webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Macros | Functions
gcm.c File Reference
#include <openssl/base.h>
#include <assert.h>
#include <string.h>
#include <openssl/mem.h>
#include <openssl/cpu.h>
#include "internal.h"
#include "../internal.h"

Macros

#define PACK(s)   ((size_t)(s) << (sizeof(size_t) * 8 - 16))
 
#define REDUCE1BIT(V)
 
#define GCM_MUL(ctx, Xi)   gcm_gmult_4bit((ctx)->Xi.u, (ctx)->Htable)
 

Functions

void CRYPTO_gcm128_init (GCM128_CONTEXT *ctx, const void *key, block128_f block)
 
void CRYPTO_gcm128_setiv (GCM128_CONTEXT *ctx, const void *key, const uint8_t *iv, size_t len)
 
int CRYPTO_gcm128_aad (GCM128_CONTEXT *ctx, const uint8_t *aad, size_t len)
 
int CRYPTO_gcm128_encrypt (GCM128_CONTEXT *ctx, const void *key, const unsigned char *in, unsigned char *out, size_t len)
 
int CRYPTO_gcm128_decrypt (GCM128_CONTEXT *ctx, const void *key, const unsigned char *in, unsigned char *out, size_t len)
 
int CRYPTO_gcm128_encrypt_ctr32 (GCM128_CONTEXT *ctx, const void *key, const uint8_t *in, uint8_t *out, size_t len, ctr128_f stream)
 
int CRYPTO_gcm128_decrypt_ctr32 (GCM128_CONTEXT *ctx, const void *key, const uint8_t *in, uint8_t *out, size_t len, ctr128_f stream)
 
int CRYPTO_gcm128_finish (GCM128_CONTEXT *ctx, const uint8_t *tag, size_t len)
 
void CRYPTO_gcm128_tag (GCM128_CONTEXT *ctx, unsigned char *tag, size_t len)
 

Macro Definition Documentation

◆ GCM_MUL

#define GCM_MUL (   ctx,
  Xi 
)    gcm_gmult_4bit((ctx)->Xi.u, (ctx)->Htable)

◆ PACK

#define PACK (   s)    ((size_t)(s) << (sizeof(size_t) * 8 - 16))

◆ REDUCE1BIT

#define REDUCE1BIT (   V)
Value:
do { \
if (sizeof(size_t) == 8) { \
uint64_t T = UINT64_C(0xe100000000000000) & (0 - ((V).lo & 1)); \
(V).lo = ((V).hi << 63) | ((V).lo >> 1); \
(V).hi = ((V).hi >> 1) ^ T; \
} else { \
uint32_t T = 0xe1000000U & (0 - (uint32_t)((V).lo & 1)); \
(V).lo = ((V).hi << 63) | ((V).lo >> 1); \
(V).hi = ((V).hi >> 1) ^ ((uint64_t)T << 32); \
} \
} while (0)
unsigned long long uint64_t
Definition: ptypes.h:120
double U(int64_t x, double alpha)
Definition: metric_recorder.cc:414
#define UINT64_C(c)
Definition: MathExtras.h:264
std::integral_constant< std::uint32_t, V > uint32_t
Definition: Brigand.h:441
TestSubObjConstructor T
Definition: TestTypedefs.idl:84

Function Documentation

◆ CRYPTO_gcm128_aad()

int CRYPTO_gcm128_aad ( GCM128_CONTEXT ctx,
const uint8_t aad,
size_t  len 
)

◆ CRYPTO_gcm128_decrypt()

int CRYPTO_gcm128_decrypt ( GCM128_CONTEXT ctx,
const void key,
const unsigned char *  in,
unsigned char *  out,
size_t  len 
)

◆ CRYPTO_gcm128_decrypt_ctr32()

int CRYPTO_gcm128_decrypt_ctr32 ( GCM128_CONTEXT ctx,
const void key,
const uint8_t in,
uint8_t out,
size_t  len,
ctr128_f  stream 
)

◆ CRYPTO_gcm128_encrypt()

int CRYPTO_gcm128_encrypt ( GCM128_CONTEXT ctx,
const void key,
const unsigned char *  in,
unsigned char *  out,
size_t  len 
)

◆ CRYPTO_gcm128_encrypt_ctr32()

int CRYPTO_gcm128_encrypt_ctr32 ( GCM128_CONTEXT ctx,
const void key,
const uint8_t in,
uint8_t out,
size_t  len,
ctr128_f  stream 
)

◆ CRYPTO_gcm128_finish()

int CRYPTO_gcm128_finish ( GCM128_CONTEXT ctx,
const uint8_t tag,
size_t  len 
)

◆ CRYPTO_gcm128_init()

void CRYPTO_gcm128_init ( GCM128_CONTEXT ctx,
const void key,
block128_f  block 
)

◆ CRYPTO_gcm128_setiv()

void CRYPTO_gcm128_setiv ( GCM128_CONTEXT ctx,
const void key,
const uint8_t iv,
size_t  len 
)

◆ CRYPTO_gcm128_tag()

void CRYPTO_gcm128_tag ( GCM128_CONTEXT ctx,
unsigned char *  tag,
size_t  len 
)