Electroneum
curve25519-donna-sse2.h File Reference
#include <emmintrin.h>
Include dependency graph for curve25519-donna-sse2.h:

Go to the source code of this file.

Classes

union  packedelem8_t
 
union  packedelem32_t
 
union  packedelem64_t
 

Macros

#define curve25519_add_after_basic   curve25519_add_reduce
 
#define curve25519_square(r, n)   curve25519_square_times(r, n, 1)
 
#define carry_pass()
 
#define carry_pass_full()
 
#define carry_pass_final()
 
#define F(i, s)
 

Typedefs

typedef __m128i xmmi
 
typedef union packedelem8_t packedelem8
 
typedef union packedelem32_t packedelem32
 
typedef union packedelem64_t packedelem64
 
typedef uint32_t bignum25519[12]
 
typedef packedelem32 packed32bignum25519[5]
 
typedef packedelem64 packed64bignum25519[10]
 

Macro Definition Documentation

◆ carry_pass

#define carry_pass ( )
Value:
f[1] += f[0] >> 26; f[0] &= 0x3ffffff; \
f[2] += f[1] >> 25; f[1] &= 0x1ffffff; \
f[3] += f[2] >> 26; f[2] &= 0x3ffffff; \
f[4] += f[3] >> 25; f[3] &= 0x1ffffff; \
f[5] += f[4] >> 26; f[4] &= 0x3ffffff; \
f[6] += f[5] >> 25; f[5] &= 0x1ffffff; \
f[7] += f[6] >> 26; f[6] &= 0x3ffffff; \
f[8] += f[7] >> 25; f[7] &= 0x1ffffff; \
f[9] += f[8] >> 26; f[8] &= 0x3ffffff;

◆ carry_pass_final

#define carry_pass_final ( )
Value:
f[9] &= 0x1ffffff;
#define carry_pass()

◆ carry_pass_full

#define carry_pass_full ( )
Value:
f[0] += 19 * (f[9] >> 25); f[9] &= 0x1ffffff;
#define carry_pass()

◆ curve25519_add_after_basic

#define curve25519_add_after_basic   curve25519_add_reduce

Definition at line 99 of file curve25519-donna-sse2.h.

◆ curve25519_square

#define curve25519_square (   r,
 
)    curve25519_square_times(r, n, 1)

Definition at line 431 of file curve25519-donna-sse2.h.

◆ F

#define F (   i,
 
)
Value:
out[s+0] |= (unsigned char )(f[i] & 0xff); \
out[s+1] = (unsigned char )((f[i] >> 8) & 0xff); \
out[s+2] = (unsigned char )((f[i] >> 16) & 0xff); \
out[s+3] = (unsigned char )((f[i] >> 24) & 0xff);

Typedef Documentation

◆ bignum25519

typedef uint32_t bignum25519[12]

Definition at line 27 of file curve25519-donna-sse2.h.

◆ packed32bignum25519

typedef packedelem32 packed32bignum25519[5]

Definition at line 28 of file curve25519-donna-sse2.h.

◆ packed64bignum25519

typedef packedelem64 packed64bignum25519[10]

Definition at line 29 of file curve25519-donna-sse2.h.

◆ packedelem32

◆ packedelem64

◆ packedelem8

typedef union packedelem8_t packedelem8

◆ xmmi

typedef __m128i xmmi

Definition at line 9 of file curve25519-donna-sse2.h.