Tue Aug 24 2010 19:41:33

Asterisk developer's documentation


Defines | Functions

aesopt.h File Reference

#include "asterisk/aes.h"
#include "asterisk/endian.h"
Include dependency graph for aesopt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define aes_sw32(x)   ((brot((x),8) & 0x00ff00ff) | (brot((x),24) & 0xff00ff00))
#define ALGORITHM_BYTE_ORDER   PLATFORM_BYTE_ORDER
#define ARRAYS
#define BPOLY   0x1b
#define BRG_BIG_ENDIAN   4321
#define BRG_LITTLE_ENDIAN   1234
#define brot(x, n)   (((aes_32t)(x) << n) | ((aes_32t)(x) >> (32 - n)))
#define d_1(t, n, b, v)   extern const t n[256]
#define d_4(t, n, b, v)   extern const t n[4][256]
#define dec_fmvars   aes_32t g2
#define DEC_ROUND   FOUR_TABLES
#define DEC_UNROLL   FULL
#define DECRYPTION
#define DECRYPTION_KEY_SCHEDULE
#define ENC_ROUND   FOUR_TABLES
#define ENC_UNROLL   FULL
#define ENCRYPTION
#define ENCRYPTION_KEY_SCHEDULE
#define FF_TABLES
#define FIXED_TABLES
#define FL4_SET
#define FOUR_TABLES   4
#define four_tables(x, tab, vf, rf, c)
#define FT4_SET
#define FULL   2
#define fwd_mcol(x)   (g2 = gf_mulx(x), g2 ^ upr((x) ^ g2, 3) ^ upr((x), 2) ^ upr((x), 1))
#define gf_mulx(x)   ((((x) & m2) << 1) ^ ((((x) & m1) >> 7) * BPOLY))
#define IL4_SET
#define IM4_SET
#define inv_mcol(x)   four_tables(x,t_use(i,m),vf1,rf1,0)
#define IT4_SET
#define KEY_SCHED   FOUR_TABLES
#define LAST_DEC_ROUND   FOUR_TABLES
#define LAST_ENC_ROUND   FOUR_TABLES
#define LS4_SET
#define ls_box(x, c)   four_tables(x,t_use(f,l),vf1,rf2,c)
#define m1   0x80808080
#define m2   0x7f7f7f7f
#define no_table(x, box, vf, rf, c)
#define NO_TABLES   0
#define NONE   0
#define ONE_TABLE   1
#define one_table(x, op, tab, vf, rf, c)
#define PARTIAL   1
#define RC_LENGTH   (5 * (AES_BLOCK_SIZE / 4 - 2))
#define rf1(r, c)   (r)
#define rf2(r, c)   ((8+r-c)&3)
#define s(x, c)   x[c]
#define SAFE_IO
#define t_dec(m, n)   t_##m##n
#define t_set(m, n)   t_##m##n
#define t_use(m, n)   t_##m##n
#define vf1(x, r, c)   (x)
#define word_in(x, c)
#define word_out(x, c, v)
#define WPOLY   0x011b

Functions

 d_4 (aes_32t, t_dec(f, n), sb_data, u)
 d_4 (aes_32t, t_dec(i, m), mm_data, v)
 d_4 (aes_32t, t_dec(i, l), isb_data, w)
 d_4 (aes_32t, t_dec(i, n), isb_data, v)
 d_4 (aes_32t, t_dec(f, l), sb_data, w)
const aes_32t t_dec (r, c)[RC_LENGTH]

Define Documentation

#define aes_sw32 (   x  )     ((brot((x),8) & 0x00ff00ff) | (brot((x),24) & 0xff00ff00))

Definition at line 250 of file aesopt.h.

#define ALGORITHM_BYTE_ORDER   PLATFORM_BYTE_ORDER

Definition at line 311 of file aesopt.h.

#define ARRAYS

Definition at line 384 of file aesopt.h.

#define BPOLY   0x1b

Definition at line 572 of file aesopt.h.

#define BRG_BIG_ENDIAN   4321

Definition at line 162 of file aesopt.h.

#define BRG_LITTLE_ENDIAN   1234

Definition at line 161 of file aesopt.h.

#define brot (   x,
  n 
)    (((aes_32t)(x) << n) | ((aes_32t)(x) >> (32 - n)))

Definition at line 249 of file aesopt.h.

#define d_1 (   t,
  n,
  b,
  v 
)    extern const t n[256]

Definition at line 949 of file aesopt.h.

#define d_4 (   t,
  n,
  b,
  v 
)    extern const t n[4][256]

Definition at line 950 of file aesopt.h.

#define dec_fmvars   aes_32t g2

Definition at line 692 of file aesopt.h.

#define DEC_ROUND   FOUR_TABLES

Definition at line 464 of file aesopt.h.

#define DEC_UNROLL   FULL

Definition at line 360 of file aesopt.h.

#define DECRYPTION

Definition at line 267 of file aesopt.h.

#define DECRYPTION_KEY_SCHEDULE

Definition at line 268 of file aesopt.h.

#define ENC_ROUND   FOUR_TABLES

Definition at line 448 of file aesopt.h.

#define ENC_UNROLL   FULL

Definition at line 352 of file aesopt.h.

#define ENCRYPTION

Definition at line 262 of file aesopt.h.

#define ENCRYPTION_KEY_SCHEDULE

Definition at line 263 of file aesopt.h.

#define FF_TABLES

Definition at line 373 of file aesopt.h.

#define FIXED_TABLES

Definition at line 411 of file aesopt.h.

#define FL4_SET

Definition at line 625 of file aesopt.h.

#define FOUR_TABLES   4

Definition at line 239 of file aesopt.h.

#define four_tables (   x,
  tab,
  vf,
  rf,
  c 
)
Value:
(  tab[0][bval(vf(x,0,c),rf(0,c))] \
  ^ tab[1][bval(vf(x,1,c),rf(1,c))] \
  ^ tab[2][bval(vf(x,2,c),rf(2,c))] \
  ^ tab[3][bval(vf(x,3,c),rf(3,c))])

Definition at line 674 of file aesopt.h.

#define FT4_SET

Definition at line 618 of file aesopt.h.

#define FULL   2

Definition at line 242 of file aesopt.h.

#define fwd_mcol (   x  )     (g2 = gf_mulx(x), g2 ^ upr((x) ^ g2, 3) ^ upr((x), 2) ^ upr((x), 1))

Definition at line 693 of file aesopt.h.

#define gf_mulx (   x  )     ((((x) & m2) << 1) ^ ((((x) & m1) >> 7) * BPOLY))

Definition at line 578 of file aesopt.h.

#define IL4_SET

Definition at line 642 of file aesopt.h.

#define IM4_SET

Definition at line 654 of file aesopt.h.

#define inv_mcol (   x  )     four_tables(x,t_use(i,m),vf1,rf1,0)

Definition at line 697 of file aesopt.h.

Referenced by aes_decrypt_key128().

#define IT4_SET

Definition at line 635 of file aesopt.h.

#define KEY_SCHED   FOUR_TABLES

Definition at line 484 of file aesopt.h.

#define LAST_DEC_ROUND   FOUR_TABLES

Definition at line 472 of file aesopt.h.

#define LAST_ENC_ROUND   FOUR_TABLES

Definition at line 456 of file aesopt.h.

#define LS4_SET

Definition at line 653 of file aesopt.h.

#define ls_box (   x,
  c 
)    four_tables(x,t_use(f,l),vf1,rf2,c)

Definition at line 707 of file aesopt.h.

#define m1   0x80808080

Definition at line 576 of file aesopt.h.

Referenced by add_exten_to_pattern_tree().

#define m2   0x7f7f7f7f

Definition at line 577 of file aesopt.h.

Referenced by add_exten_to_pattern_tree().

#define no_table (   x,
  box,
  vf,
  rf,
  c 
)
Value:
bytes2word( \
    box[bval(vf(x,0,c),rf(0,c))], \
    box[bval(vf(x,1,c),rf(1,c))], \
    box[bval(vf(x,2,c),rf(2,c))], \
    box[bval(vf(x,3,c),rf(3,c))])

Definition at line 662 of file aesopt.h.

#define NO_TABLES   0

Definition at line 237 of file aesopt.h.

#define NONE   0

Definition at line 240 of file aesopt.h.

#define ONE_TABLE   1

Definition at line 238 of file aesopt.h.

#define one_table (   x,
  op,
  tab,
  vf,
  rf,
  c 
)
Value:
(     tab[bval(vf(x,0,c),rf(0,c))] \
  ^ op(tab[bval(vf(x,1,c),rf(1,c))],1) \
  ^ op(tab[bval(vf(x,2,c),rf(2,c))],2) \
  ^ op(tab[bval(vf(x,3,c),rf(3,c))],3))

Definition at line 668 of file aesopt.h.

#define PARTIAL   1

Definition at line 241 of file aesopt.h.

#define RC_LENGTH   (5 * (AES_BLOCK_SIZE / 4 - 2))

Definition at line 493 of file aesopt.h.

#define rf1 (   r,
  c 
)    (r)

Definition at line 681 of file aesopt.h.

#define rf2 (   r,
  c 
)    ((8+r-c)&3)

Definition at line 682 of file aesopt.h.

#define s (   x,
  c 
)    x[c]
#define SAFE_IO

Definition at line 337 of file aesopt.h.

#define t_dec (   m,
  n 
)    t_##m##n

Definition at line 764 of file aesopt.h.

#define t_set (   m,
  n 
)    t_##m##n

Definition at line 765 of file aesopt.h.

#define t_use (   m,
  n 
)    t_##m##n

Definition at line 766 of file aesopt.h.

#define vf1 (   x,
  r,
  c 
)    (x)

Definition at line 680 of file aesopt.h.

#define word_in (   x,
  c 
)
Value:
bytes2word(((aes_08t*)(x)+4*c)[0], ((aes_08t*)(x)+4*c)[1], \
                                   ((aes_08t*)(x)+4*c)[2], ((aes_08t*)(x)+4*c)[3])

Definition at line 552 of file aesopt.h.

Referenced by aes_decrypt_key128(), and aes_encrypt_key128().

#define word_out (   x,
  c,
  v 
)
Value:
{ ((aes_08t*)(x)+4*c)[0] = bval(v,0); ((aes_08t*)(x)+4*c)[1] = bval(v,1); \
                          ((aes_08t*)(x)+4*c)[2] = bval(v,2); ((aes_08t*)(x)+4*c)[3] = bval(v,3); }

Definition at line 554 of file aesopt.h.

#define WPOLY   0x011b

Definition at line 571 of file aesopt.h.


Function Documentation

d_4 ( aes_32t  ,
t_dec(f, n)  ,
sb_data  ,
 
)
d_4 ( aes_32t  ,
t_dec(i, m)  ,
mm_data  ,
 
)
d_4 ( aes_32t  ,
t_dec(i, l)  ,
isb_data  ,
 
)
d_4 ( aes_32t  ,
t_dec(i, n)  ,
isb_data  ,
 
)
d_4 ( aes_32t  ,
t_dec(f, l)  ,
sb_data  ,
 
)
const aes_32t t_dec ( ,
 
)