IBR-DTNSuite  0.8
ibrcommon/ibrcommon/ssl/gcm/gf128mul.cc File Reference
#include "brg_types.h"
#include "brg_endian.h"
#include "gf128mul.h"
Include dependency graph for gf128mul.cc:

Go to the source code of this file.

Defines

#define BSP_ENABLED   true
#define gf_dat(q)
#define xx(p, q)   0x##p##q /* assemble in big endian order */
#define xda(i)

Functions

void gf_mul (void *a, const void *b)
void init_8k_table (unsigned char g[], void *t)

Variables

const unsigned short gf_tab [256] = gf_dat(xda)

Define Documentation

#define BSP_ENABLED   true

Definition at line 40 of file gf128mul.cc.

#define gf_dat (   q)

Definition at line 48 of file gf128mul.cc.

#define xda (   i)
Value:
(                                              \
    (i & 0x80 ? xx(e1,00) : 0) ^ (i & 0x40 ? xx(70,80) : 0) ^ \
    (i & 0x20 ? xx(38,40) : 0) ^ (i & 0x10 ? xx(1c,20) : 0) ^ \
    (i & 0x08 ? xx(0e,10) : 0) ^ (i & 0x04 ? xx(07,08) : 0) ^ \
    (i & 0x02 ? xx(03,84) : 0) ^ (i & 0x01 ? xx(01,c2) : 0) )

Definition at line 98 of file gf128mul.cc.

#define xx (   p,
 
)    0x##p##q /* assemble in big endian order */

Definition at line 95 of file gf128mul.cc.


Function Documentation

void gf_mul ( void *  a,
const void *  b 
)

Definition at line 106 of file gf128mul.cc.

References GF_BYTE_LEN, move_block_aligned(), and xor_block_aligned().

Referenced by gcm_compute_tag().

Here is the call graph for this function:

void init_8k_table ( unsigned char  g[],
void *  t 
)

Definition at line 175 of file gf128mul.cc.

References GF_BYTE_LEN, and tab8k.

Referenced by gcm_init_and_key().


Variable Documentation

const unsigned short gf_tab[256] = gf_dat(xda)

Definition at line 104 of file gf128mul.cc.