00001 /****************************** -*- mode: C -*- ******************************/ 00015 #ifndef C4E_MOD2N_H 00016 #define C4E_MOD2N_H 00017 00018 00019 /* INCLUDES ******************************************************************/ 00020 00021 #include "c4e_poly.h" 00022 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif 00027 00028 00029 /* TYPEDEFS ******************************************************************/ 00030 00031 00032 /* DEFINES *******************************************************************/ 00033 00034 00035 /* MACROS ********************************************************************/ 00036 00037 00038 /* PROTOTYPES ****************************************************************/ 00039 00040 00041 /* FUNCTION ******************************************************************/ 00063 void c4e_mod2n_sqr(C4E_CONST C4eElement* C4E_RESTRICT a, 00064 C4E_CONST C4eElement* C4E_RESTRICT m, 00065 C4eElement* C4E_RESTRICT c); 00066 00067 00068 /* FUNCTION ******************************************************************/ 00110 void c4e_mod2n_pow(C4E_CONST C4eElement* C4E_RESTRICT a, 00111 C4E_CONST C4eElement* C4E_RESTRICT n, 00112 C4E_CONST C4eElement* C4E_RESTRICT m, 00113 C4eElement* C4E_RESTRICT tmp, 00114 C4eElement* c); 00115 00116 00117 #ifdef __cplusplus 00118 } 00119 #endif 00120 00121 00122 #endif /* C4E_MOD2N_H */ 00123 00124 00125 /******************************************************************************/ 00126 /* END OF FILE */ 00127 /******************************************************************************/