cryptlib  3.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros
Macros | Functions
aes_via_ace.h File Reference

Go to the source code of this file.

Macros

#define NEH_GENERATE   1
 
#define NEH_LOAD   2
 
#define NEH_HYBRID   3
 
#define MAX_READ_ATTEMPTS   1000
 
#define NEH_CPU_IS_VIA   0x00000001
 
#define NEH_CPU_READ   0x00000010
 
#define NEH_CPU_MASK   0x00000011
 
#define NEH_RNG_PRESENT   0x00000004
 
#define NEH_RNG_ENABLED   0x00000008
 
#define NEH_ACE_PRESENT   0x00000040
 
#define NEH_ACE_ENABLED   0x00000080
 
#define NEH_RNG_FLAGS   (NEH_RNG_PRESENT | NEH_RNG_ENABLED)
 
#define NEH_ACE_FLAGS   (NEH_ACE_PRESENT | NEH_ACE_ENABLED)
 
#define NEH_FLAGS_MASK   (NEH_RNG_FLAGS | NEH_ACE_FLAGS)
 
#define NEH_GEN_KEY   0x00000000 /* generate key schedule */
 
#define NEH_LOAD_KEY   0x00000080 /* load schedule from memory */
 
#define NEH_ENCRYPT   0x00000000 /* encryption */
 
#define NEH_DECRYPT   0x00000200 /* decryption */
 
#define NEH_KEY128   0x00000000+0x0a /* 128 bit key */
 
#define NEH_KEY192   0x00000400+0x0c /* 192 bit key */
 
#define NEH_KEY256   0x00000800+0x0e /* 256 bit key */
 
#define NEH_ENC_GEN   (NEH_ENCRYPT | NEH_GEN_KEY)
 
#define NEH_DEC_GEN   (NEH_DECRYPT | NEH_GEN_KEY)
 
#define NEH_ENC_LOAD   (NEH_ENCRYPT | NEH_LOAD_KEY)
 
#define NEH_DEC_LOAD   (NEH_DECRYPT | NEH_LOAD_KEY)
 
#define NEH_ENC_GEN_DATA
 
#define NEH_ENC_LOAD_DATA
 
#define NEH_ENC_HYBRID_DATA
 
#define NEH_DEC_GEN_DATA
 
#define NEH_DEC_LOAD_DATA
 
#define NEH_DEC_HYBRID_DATA
 
#define neh_enc_gen_key(x)
 
#define neh_enc_load_key(x)
 
#define neh_enc_hybrid_key(x)
 
#define neh_dec_gen_key(x)
 
#define neh_dec_load_key(x)
 
#define neh_dec_hybrid_key(x)
 
#define aligned_auto(type, name, no, stride)
 
#define aligned_array(type, name, no, stride)   type name[no]
 
#define VIA_ACE_AVAILABLE
 
#define VIA_RNG_AVAILABLE
 

Functions

INLINE int via_ace_test (void)
 
INLINE int via_rng_test (void)
 
INLINE int read_via_rng (void *buf, int count)
 

Macro Definition Documentation

#define aligned_array (   type,
  name,
  no,
  stride 
)    type name[no]

Definition at line 140 of file aes_via_ace.h.

#define aligned_auto (   type,
  name,
  no,
  stride 
)
Value:
unsigned char _##name[no * sizeof(type) + stride]; \
type *name = (type*)(16 * ((((unsigned long)(_##name)) + stride - 1) / stride))

Definition at line 130 of file aes_via_ace.h.

#define MAX_READ_ATTEMPTS   1000

Definition at line 48 of file aes_via_ace.h.

#define NEH_ACE_ENABLED   0x00000080

Definition at line 59 of file aes_via_ace.h.

#define NEH_ACE_FLAGS   (NEH_ACE_PRESENT | NEH_ACE_ENABLED)

Definition at line 61 of file aes_via_ace.h.

#define NEH_ACE_PRESENT   0x00000040

Definition at line 58 of file aes_via_ace.h.

#define NEH_CPU_IS_VIA   0x00000001

Definition at line 52 of file aes_via_ace.h.

#define NEH_CPU_MASK   0x00000011

Definition at line 54 of file aes_via_ace.h.

#define NEH_CPU_READ   0x00000010

Definition at line 53 of file aes_via_ace.h.

#define NEH_DEC_GEN   (NEH_DECRYPT | NEH_GEN_KEY)

Definition at line 75 of file aes_via_ace.h.

#define NEH_DEC_GEN_DATA
Value:
{\
NEH_DEC_GEN | NEH_KEY128, 0, 0, 0,\
NEH_DEC_GEN | NEH_KEY192, 0, 0, 0,\
NEH_DEC_GEN | NEH_KEY256, 0, 0, 0 }

Definition at line 94 of file aes_via_ace.h.

#define neh_dec_gen_key (   x)
Value:
((x) == 128 ? (NEH_DEC_GEN | NEH_KEY128) : \
(x) == 192 ? (NEH_DEC_GEN | NEH_KEY192) : (NEH_DEC_GEN | NEH_KEY256))

Definition at line 118 of file aes_via_ace.h.

#define NEH_DEC_HYBRID_DATA
Value:
{\
NEH_DEC_GEN | NEH_KEY128, 0, 0, 0,\
NEH_DEC_LOAD | NEH_KEY192, 0, 0, 0,\
NEH_DEC_LOAD | NEH_KEY256, 0, 0, 0 }

Definition at line 104 of file aes_via_ace.h.

#define neh_dec_hybrid_key (   x)
Value:
((x) == 128 ? (NEH_DEC_GEN | NEH_KEY128) : \

Definition at line 124 of file aes_via_ace.h.

#define NEH_DEC_LOAD   (NEH_DECRYPT | NEH_LOAD_KEY)

Definition at line 77 of file aes_via_ace.h.

#define NEH_DEC_LOAD_DATA
Value:
{\
NEH_DEC_LOAD | NEH_KEY128, 0, 0, 0,\
NEH_DEC_LOAD | NEH_KEY192, 0, 0, 0,\
NEH_DEC_LOAD | NEH_KEY256, 0, 0, 0 }

Definition at line 99 of file aes_via_ace.h.

#define neh_dec_load_key (   x)
Value:
((x) == 128 ? (NEH_DEC_LOAD | NEH_KEY128) : \

Definition at line 121 of file aes_via_ace.h.

#define NEH_DECRYPT   0x00000200 /* decryption */

Definition at line 69 of file aes_via_ace.h.

#define NEH_ENC_GEN   (NEH_ENCRYPT | NEH_GEN_KEY)

Definition at line 74 of file aes_via_ace.h.

#define NEH_ENC_GEN_DATA
Value:
{\
NEH_ENC_GEN | NEH_KEY128, 0, 0, 0,\
NEH_ENC_GEN | NEH_KEY192, 0, 0, 0,\
NEH_ENC_GEN | NEH_KEY256, 0, 0, 0 }

Definition at line 79 of file aes_via_ace.h.

#define neh_enc_gen_key (   x)
Value:
((x) == 128 ? (NEH_ENC_GEN | NEH_KEY128) : \
(x) == 192 ? (NEH_ENC_GEN | NEH_KEY192) : (NEH_ENC_GEN | NEH_KEY256))

Definition at line 109 of file aes_via_ace.h.

#define NEH_ENC_HYBRID_DATA
Value:
{\
NEH_ENC_GEN | NEH_KEY128, 0, 0, 0,\
NEH_ENC_LOAD | NEH_KEY192, 0, 0, 0,\
NEH_ENC_LOAD | NEH_KEY256, 0, 0, 0 }

Definition at line 89 of file aes_via_ace.h.

#define neh_enc_hybrid_key (   x)
Value:
((x) == 128 ? (NEH_ENC_GEN | NEH_KEY128) : \

Definition at line 115 of file aes_via_ace.h.

#define NEH_ENC_LOAD   (NEH_ENCRYPT | NEH_LOAD_KEY)

Definition at line 76 of file aes_via_ace.h.

#define NEH_ENC_LOAD_DATA
Value:
{\
NEH_ENC_LOAD | NEH_KEY128, 0, 0, 0,\
NEH_ENC_LOAD | NEH_KEY192, 0, 0, 0,\
NEH_ENC_LOAD | NEH_KEY256, 0, 0, 0 }

Definition at line 84 of file aes_via_ace.h.

#define neh_enc_load_key (   x)
Value:
((x) == 128 ? (NEH_ENC_LOAD | NEH_KEY128) : \

Definition at line 112 of file aes_via_ace.h.

#define NEH_ENCRYPT   0x00000000 /* encryption */

Definition at line 68 of file aes_via_ace.h.

#define NEH_FLAGS_MASK   (NEH_RNG_FLAGS | NEH_ACE_FLAGS)

Definition at line 62 of file aes_via_ace.h.

#define NEH_GEN_KEY   0x00000000 /* generate key schedule */

Definition at line 66 of file aes_via_ace.h.

#define NEH_GENERATE   1

Definition at line 44 of file aes_via_ace.h.

#define NEH_HYBRID   3

Definition at line 46 of file aes_via_ace.h.

#define NEH_KEY128   0x00000000+0x0a /* 128 bit key */

Definition at line 70 of file aes_via_ace.h.

#define NEH_KEY192   0x00000400+0x0c /* 192 bit key */

Definition at line 71 of file aes_via_ace.h.

#define NEH_KEY256   0x00000800+0x0e /* 256 bit key */

Definition at line 72 of file aes_via_ace.h.

#define NEH_LOAD   2

Definition at line 45 of file aes_via_ace.h.

#define NEH_LOAD_KEY   0x00000080 /* load schedule from memory */

Definition at line 67 of file aes_via_ace.h.

#define NEH_RNG_ENABLED   0x00000008

Definition at line 57 of file aes_via_ace.h.

#define NEH_RNG_FLAGS   (NEH_RNG_PRESENT | NEH_RNG_ENABLED)

Definition at line 60 of file aes_via_ace.h.

#define NEH_RNG_PRESENT   0x00000004

Definition at line 56 of file aes_via_ace.h.

#define VIA_ACE_AVAILABLE
Value:
(((via_flags & NEH_ACE_FLAGS) == NEH_ACE_FLAGS) \
|| (via_flags & NEH_CPU_READ) && (via_flags & NEH_CPU_IS_VIA) || via_ace_test())

Definition at line 496 of file aes_via_ace.h.

#define VIA_RNG_AVAILABLE
Value:
(((via_flags & NEH_RNG_FLAGS) == NEH_RNG_FLAGS) \
|| (via_flags & NEH_CPU_READ) && (via_flags & NEH_CPU_IS_VIA) || via_rng_test())

Definition at line 504 of file aes_via_ace.h.

Function Documentation

INLINE int read_via_rng ( void *  buf,
int  count 
)

Definition at line 507 of file aes_via_ace.h.

INLINE int via_ace_test ( void  )

Definition at line 491 of file aes_via_ace.h.

INLINE int via_rng_test ( void  )

Definition at line 499 of file aes_via_ace.h.