Eneboo - Documentación para desarrolladores
'defines' | Funciones
Referencia del Archivo src/libdigidoc/openssl/crypto/bn/bn_lcl.h
#include <openssl/bn.h>

Ir al código fuente de este archivo.

'defines'

#define BN_window_bits_for_exponent_size(b)
#define MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH   ( 64 )
#define MOD_EXP_CTIME_MIN_CACHE_LINE_MASK   (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - 1)
#define BN_window_bits_for_ctime_exponent_size(b)
#define BN_MAX_WINDOW_BITS_FOR_CTIME_EXPONENT_SIZE   (6)
#define BN_MULL_SIZE_NORMAL   (16)
#define BN_MUL_RECURSIVE_SIZE_NORMAL   (16)
#define BN_SQR_RECURSIVE_SIZE_NORMAL   (16)
#define BN_MUL_LOW_RECURSIVE_SIZE_NORMAL   (32)
#define BN_MONT_CTX_SET_SIZE_WORD   (64)
#define Lw(t)   (((BN_ULONG)(t))&BN_MASK2)
#define Hw(t)   (((BN_ULONG)((t)>>BN_BITS2))&BN_MASK2)
#define bn_clear_top2max(a)
#define LBITS(a)   ((a)&BN_MASK2l)
#define HBITS(a)   (((a)>>BN_BITS4)&BN_MASK2l)
#define L2HBITS(a)   (((a)<<BN_BITS4)&BN_MASK2)
#define LLBITS(a)   ((a)&BN_MASKl)
#define LHBITS(a)   (((a)>>BN_BITS2)&BN_MASKl)
#define LL2HBITS(a)   ((BN_ULLONG)((a)&BN_MASKl)<<BN_BITS2)
#define mul64(l, h, bl, bh)
#define sqr64(lo, ho, in)
#define mul_add(r, a, bl, bh, c)
#define mul(r, a, bl, bh, c)

Funciones

void bn_mul_normal (BN_ULONG *r, BN_ULONG *a, int na, BN_ULONG *b, int nb)
void bn_mul_comba8 (BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
void bn_mul_comba4 (BN_ULONG *r, BN_ULONG *a, BN_ULONG *b)
void bn_sqr_normal (BN_ULONG *r, const BN_ULONG *a, int n, BN_ULONG *tmp)
void bn_sqr_comba8 (BN_ULONG *r, const BN_ULONG *a)
void bn_sqr_comba4 (BN_ULONG *r, const BN_ULONG *a)
int bn_cmp_words (const BN_ULONG *a, const BN_ULONG *b, int n)
int bn_cmp_part_words (const BN_ULONG *a, const BN_ULONG *b, int cl, int dl)
void bn_mul_recursive (BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n2, int dna, int dnb, BN_ULONG *t)
void bn_mul_part_recursive (BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n, int tna, int tnb, BN_ULONG *t)
void bn_sqr_recursive (BN_ULONG *r, const BN_ULONG *a, int n2, BN_ULONG *t)
void bn_mul_low_normal (BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n)
void bn_mul_low_recursive (BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, int n2, BN_ULONG *t)
void bn_mul_high (BN_ULONG *r, BN_ULONG *a, BN_ULONG *b, BN_ULONG *l, int n2, BN_ULONG *t)
BN_ULONG bn_add_part_words (BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int cl, int dl)
BN_ULONG bn_sub_part_words (BN_ULONG *r, const BN_ULONG *a, const BN_ULONG *b, int cl, int dl)
int bn_mul_mont (BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np, const BN_ULONG *n0, int num)

Documentación de los 'defines'

#define bn_clear_top2max (   a)
#define BN_MAX_WINDOW_BITS_FOR_CTIME_EXPONENT_SIZE   (6)
#define BN_MONT_CTX_SET_SIZE_WORD   (64)
#define BN_MUL_LOW_RECURSIVE_SIZE_NORMAL   (32)
#define BN_MUL_RECURSIVE_SIZE_NORMAL   (16)
#define BN_MULL_SIZE_NORMAL   (16)
#define BN_SQR_RECURSIVE_SIZE_NORMAL   (16)
#define BN_window_bits_for_ctime_exponent_size (   b)
Valor:
((b) > 937 ? 6 : \
                 (b) > 306 ? 5 : \
                 (b) >  89 ? 4 : \
                 (b) >  22 ? 3 : 1)
#define BN_window_bits_for_exponent_size (   b)
Valor:
((b) > 671 ? 6 : \
                 (b) > 239 ? 5 : \
                 (b) >  79 ? 4 : \
                 (b) >  23 ? 3 : 1)
#define HBITS (   a)    (((a)>>BN_BITS4)&BN_MASK2l)
#define Hw (   t)    (((BN_ULONG)((t)>>BN_BITS2))&BN_MASK2)
#define L2HBITS (   a)    (((a)<<BN_BITS4)&BN_MASK2)
#define LBITS (   a)    ((a)&BN_MASK2l)
#define LHBITS (   a)    (((a)>>BN_BITS2)&BN_MASKl)
#define LL2HBITS (   a)    ((BN_ULLONG)((a)&BN_MASKl)<<BN_BITS2)
#define LLBITS (   a)    ((a)&BN_MASKl)
#define Lw (   t)    (((BN_ULONG)(t))&BN_MASK2)
#define MOD_EXP_CTIME_MIN_CACHE_LINE_MASK   (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - 1)
#define MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH   ( 64 )
#define mul (   r,
  a,
  bl,
  bh,
  c 
)
Valor:
{ \
        BN_ULONG l,h; \
 \
        h= (a); \
        l=LBITS(h); \
        h=HBITS(h); \
        mul64(l,h,(bl),(bh)); \
 \
        /* non-multiply part */ \
        l+=(c); if ((l&BN_MASK2) < (c)) h++; \
        (c)=h&BN_MASK2; \
        (r)=l&BN_MASK2; \
        }
#define mul64 (   l,
  h,
  bl,
  bh 
)
Valor:
{ \
        BN_ULONG m,m1,lt,ht; \
 \
        lt=l; \
        ht=h; \
        m =(bh)*(lt); \
        lt=(bl)*(lt); \
        m1=(bl)*(ht); \
        ht =(bh)*(ht); \
        m=(m+m1)&BN_MASK2; if (m < m1) ht+=L2HBITS((BN_ULONG)1); \
        ht+=HBITS(m); \
        m1=L2HBITS(m); \
        lt=(lt+m1)&BN_MASK2; if (lt < m1) ht++; \
        (l)=lt; \
        (h)=ht; \
        }
#define mul_add (   r,
  a,
  bl,
  bh,
  c 
)
Valor:
{ \
        BN_ULONG l,h; \
 \
        h= (a); \
        l=LBITS(h); \
        h=HBITS(h); \
        mul64(l,h,(bl),(bh)); \
 \
        /* non-multiply part */ \
        l=(l+(c))&BN_MASK2; if (l < (c)) h++; \
        (c)=(r); \
        l=(l+(c))&BN_MASK2; if (l < (c)) h++; \
        (c)=h&BN_MASK2; \
        (r)=l; \
        }
#define sqr64 (   lo,
  ho,
  in 
)
Valor:
{ \
        BN_ULONG l,h,m; \
 \
        h=(in); \
        l=LBITS(h); \
        h=HBITS(h); \
        m =(l)*(h); \
        l*=l; \
        h*=h; \
        h+=(m&BN_MASK2h1)>>(BN_BITS4-1); \
        m =(m&BN_MASK2l)<<(BN_BITS4+1); \
        l=(l+m)&BN_MASK2; if (l < m) h++; \
        (lo)=l; \
        (ho)=h; \
        }

Documentación de las funciones

BN_ULONG bn_add_part_words ( BN_ULONG *  r,
const BN_ULONG *  a,
const BN_ULONG *  b,
int  cl,
int  dl 
)
int bn_cmp_part_words ( const BN_ULONG *  a,
const BN_ULONG *  b,
int  cl,
int  dl 
)
int bn_cmp_words ( const BN_ULONG *  a,
const BN_ULONG *  b,
int  n 
)
void bn_mul_comba4 ( BN_ULONG *  r,
BN_ULONG *  a,
BN_ULONG *  b 
)
void bn_mul_comba8 ( BN_ULONG *  r,
BN_ULONG *  a,
BN_ULONG *  b 
)
void bn_mul_high ( BN_ULONG *  r,
BN_ULONG *  a,
BN_ULONG *  b,
BN_ULONG *  l,
int  n2,
BN_ULONG *  t 
)
void bn_mul_low_normal ( BN_ULONG *  r,
BN_ULONG *  a,
BN_ULONG *  b,
int  n 
)
void bn_mul_low_recursive ( BN_ULONG *  r,
BN_ULONG *  a,
BN_ULONG *  b,
int  n2,
BN_ULONG *  t 
)
int bn_mul_mont ( BN_ULONG *  rp,
const BN_ULONG *  ap,
const BN_ULONG *  bp,
const BN_ULONG *  np,
const BN_ULONG *  n0,
int  num 
)
void bn_mul_normal ( BN_ULONG *  r,
BN_ULONG *  a,
int  na,
BN_ULONG *  b,
int  nb 
)
void bn_mul_part_recursive ( BN_ULONG *  r,
BN_ULONG *  a,
BN_ULONG *  b,
int  n,
int  tna,
int  tnb,
BN_ULONG *  t 
)
void bn_mul_recursive ( BN_ULONG *  r,
BN_ULONG *  a,
BN_ULONG *  b,
int  n2,
int  dna,
int  dnb,
BN_ULONG *  t 
)
void bn_sqr_comba4 ( BN_ULONG *  r,
const BN_ULONG *  a 
)
void bn_sqr_comba8 ( BN_ULONG *  r,
const BN_ULONG *  a 
)
void bn_sqr_normal ( BN_ULONG *  r,
const BN_ULONG *  a,
int  n,
BN_ULONG *  tmp 
)
void bn_sqr_recursive ( BN_ULONG *  r,
const BN_ULONG *  a,
int  n2,
BN_ULONG *  t 
)
BN_ULONG bn_sub_part_words ( BN_ULONG *  r,
const BN_ULONG *  a,
const BN_ULONG *  b,
int  cl,
int  dl 
)
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'